From 8ef931c3c2a1f28e4bc68efe5a0582e3ec32f2ac Mon Sep 17 00:00:00 2001 From: AWS SDK for Go v2 automation user Date: Mon, 27 Nov 2023 03:44:34 +0000 Subject: [PATCH] Update API model --- .../aws-models/accessanalyzer.json | 1076 +++- codegen/sdk-codegen/aws-models/amp.json | 1340 +++- .../aws-models/bcm-data-exports.json | 2294 +++++++ .../sdk-codegen/aws-models/cloudtrail.json | 335 +- .../aws-models/cloudwatch-logs.json | 1229 +++- .../aws-models/codestar-connections.json | 2735 ++++++++- .../aws-models/compute-optimizer.json | 999 ++- .../aws-models/config-service.json | 161 +- .../sdk-codegen/aws-models/controltower.json | 1043 +++- .../aws-models/cost-optimization-hub.json | 3504 +++++++++++ codegen/sdk-codegen/aws-models/detective.json | 1601 ++++- codegen/sdk-codegen/aws-models/ecs.json | 37 +- codegen/sdk-codegen/aws-models/efs.json | 248 +- codegen/sdk-codegen/aws-models/eks-auth.json | 746 +++ codegen/sdk-codegen/aws-models/eks.json | 682 +- .../aws-models/elastic-load-balancing-v2.json | 1356 +++- codegen/sdk-codegen/aws-models/freetier.json | 1002 +++ codegen/sdk-codegen/aws-models/fsx.json | 560 +- codegen/sdk-codegen/aws-models/guardduty.json | 267 +- .../sdk-codegen/aws-models/iotfleetwise.json | 777 ++- .../sdk-codegen/aws-models/lakeformation.json | 412 +- .../sdk-codegen/aws-models/lex-models-v2.json | 891 ++- .../aws-models/lex-runtime-v2.json | 101 +- .../aws-models/managedblockchain.json | 114 +- .../aws-models/personalize-events.json | 331 +- .../aws-models/personalize-runtime.json | 208 +- .../sdk-codegen/aws-models/personalize.json | 169 +- .../sdk-codegen/aws-models/quicksight.json | 348 ++ codegen/sdk-codegen/aws-models/redshift.json | 24 + .../sdk-codegen/aws-models/repostspace.json | 2250 +++++++ .../sdk-codegen/aws-models/s3-control.json | 5467 ++++++++++++----- codegen/sdk-codegen/aws-models/s3.json | 215 +- .../aws-models/secrets-manager.json | 216 +- .../sdk-codegen/aws-models/securityhub.json | 799 ++- codegen/sdk-codegen/aws-models/sfn.json | 355 +- .../sdk-codegen/aws-models/transcribe.json | 453 +- .../aws-models/workspaces-thin-client.json | 3371 ++++++++++ .../sdk-codegen/aws-models/workspaces.json | 96 +- 38 files changed, 34816 insertions(+), 2996 deletions(-) create mode 100644 codegen/sdk-codegen/aws-models/bcm-data-exports.json create mode 100644 codegen/sdk-codegen/aws-models/cost-optimization-hub.json create mode 100644 codegen/sdk-codegen/aws-models/eks-auth.json create mode 100644 codegen/sdk-codegen/aws-models/freetier.json create mode 100644 codegen/sdk-codegen/aws-models/repostspace.json create mode 100644 codegen/sdk-codegen/aws-models/workspaces-thin-client.json diff --git a/codegen/sdk-codegen/aws-models/accessanalyzer.json b/codegen/sdk-codegen/aws-models/accessanalyzer.json index 64d9d8f3abb..1575af48db3 100644 --- a/codegen/sdk-codegen/aws-models/accessanalyzer.json +++ b/codegen/sdk-codegen/aws-models/accessanalyzer.json @@ -1,6 +1,24 @@ { "smithy": "2.0", "shapes": { + "com.amazonaws.accessanalyzer#Access": { + "type": "structure", + "members": { + "actions": { + "target": "com.amazonaws.accessanalyzer#ActionsList", + "traits": { + "smithy.api#documentation": "

A list of actions for the access permissions.

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

Contains information about actions that define permissions to check against a\n policy.

" + } + }, "com.amazonaws.accessanalyzer#AccessAnalyzer": { "type": "service", "version": "2019-11-01", @@ -11,6 +29,12 @@ { "target": "com.amazonaws.accessanalyzer#CancelPolicyGeneration" }, + { + "target": "com.amazonaws.accessanalyzer#CheckAccessNotGranted" + }, + { + "target": "com.amazonaws.accessanalyzer#CheckNoNewAccess" + }, { "target": "com.amazonaws.accessanalyzer#CreateAccessPreview" }, @@ -23,6 +47,9 @@ { "target": "com.amazonaws.accessanalyzer#GetFinding" }, + { + "target": "com.amazonaws.accessanalyzer#GetFindingV2" + }, { "target": "com.amazonaws.accessanalyzer#GetGeneratedPolicy" }, @@ -38,6 +65,9 @@ { "target": "com.amazonaws.accessanalyzer#ListFindings" }, + { + "target": "com.amazonaws.accessanalyzer#ListFindingsV2" + }, { "target": "com.amazonaws.accessanalyzer#ListPolicyGenerations" }, @@ -79,7 +109,7 @@ }, "aws.protocols#restJson1": {}, "smithy.api#cors": {}, - "smithy.api#documentation": "

Identity and Access Management Access Analyzer helps identify potential resource-access risks by enabling you to\n identify any policies that grant access to an external principal. It does this by using\n logic-based reasoning to analyze resource-based policies in your Amazon Web Services environment. An\n external principal can be another Amazon Web Services account, a root user, an IAM user or role, a\n federated user, an Amazon Web Services service, or an anonymous user. You can also use IAM Access Analyzer to\n preview and validate public and cross-account access to your resources before deploying\n permissions changes. This guide describes the Identity and Access Management Access Analyzer operations that you can\n call programmatically. For general information about IAM Access Analyzer, see Identity and Access Management Access Analyzer in the IAM User Guide.

\n

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

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

Identity and Access Management Access Analyzer helps you to set, verify, and refine your IAM policies by providing\n a suite of capabilities. Its features include findings for external and unused access,\n basic and custom policy checks for validating policies, and policy generation to generate\n fine-grained policies. To start using IAM Access Analyzer to identify external or unused access,\n you first need to create an analyzer.

\n

\n External access analyzers help identify potential risks\n of accessing resources by enabling you to identify any resource policies that grant access\n to an external principal. It does this by using logic-based reasoning to analyze\n resource-based policies in your Amazon Web Services environment. An external principal can be another\n Amazon Web Services account, a root user, an IAM user or role, a federated user, an Amazon Web Services service, or an\n anonymous user. You can also use IAM Access Analyzer to preview public and cross-account access\n to your resources before deploying permissions changes.

\n

\n Unused access analyzers help identify potential\n identity access risks by enabling you to identify unused IAM roles, unused access keys,\n unused console passwords, and IAM principals with unused service and action-level\n permissions.

\n

Beyond findings, IAM Access Analyzer provides basic and custom policy checks to validate IAM\n policies before deploying permissions changes. You can use policy generation to refine\n permissions by attaching a policy generated using access activity logged in CloudTrail logs.

\n

This guide describes the IAM Access Analyzer operations that you can call programmatically.\n For general information about IAM Access Analyzer, see Identity and Access Management Access Analyzer in the\n IAM User Guide.

", "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", @@ -128,7 +158,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -171,7 +200,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -184,7 +214,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -198,7 +227,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -221,7 +249,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -256,7 +283,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -267,14 +293,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -288,14 +316,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -304,18 +330,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -324,7 +349,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -344,14 +370,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -365,7 +393,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -385,7 +412,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -396,14 +422,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -414,9 +442,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -1105,6 +1135,27 @@ } } }, + "com.amazonaws.accessanalyzer#AccessCheckPolicyDocument": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.accessanalyzer#AccessCheckPolicyType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "IDENTITY_POLICY", + "name": "IDENTITY_POLICY" + }, + { + "value": "RESOURCE_POLICY", + "name": "RESOURCE_POLICY" + } + ] + } + }, "com.amazonaws.accessanalyzer#AccessDeniedException": { "type": "structure", "members": { @@ -1121,6 +1172,12 @@ "smithy.api#httpError": 403 } }, + "com.amazonaws.accessanalyzer#AccessList": { + "type": "list", + "member": { + "target": "com.amazonaws.accessanalyzer#Access" + } + }, "com.amazonaws.accessanalyzer#AccessPointArn": { "type": "string", "traits": { @@ -1445,12 +1502,21 @@ "com.amazonaws.accessanalyzer#AclUri": { "type": "string" }, + "com.amazonaws.accessanalyzer#Action": { + "type": "string" + }, "com.amazonaws.accessanalyzer#ActionList": { "type": "list", "member": { "target": "smithy.api#String" } }, + "com.amazonaws.accessanalyzer#ActionsList": { + "type": "list", + "member": { + "target": "com.amazonaws.accessanalyzer#Action" + } + }, "com.amazonaws.accessanalyzer#AnalyzedResource": { "type": "structure", "members": { @@ -1604,6 +1670,20 @@ "smithy.api#pattern": "^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:analyzer/.{1,255}$" } }, + "com.amazonaws.accessanalyzer#AnalyzerConfiguration": { + "type": "union", + "members": { + "unusedAccess": { + "target": "com.amazonaws.accessanalyzer#UnusedAccessConfiguration", + "traits": { + "smithy.api#documentation": "

Specifies the configuration of an unused access analyzer for an Amazon Web Services organization or\n account. External access analyzers do not support any configuration.

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

Contains information about the configuration of an unused access analyzer for an Amazon Web Services\n organization or account.

" + } + }, "com.amazonaws.accessanalyzer#AnalyzerStatus": { "type": "string", "traits": { @@ -1688,6 +1768,12 @@ "traits": { "smithy.api#documentation": "

The statusReason provides more details about the current status of the\n analyzer. For example, if the creation for the analyzer fails, a Failed status\n is returned. For an analyzer with organization as the type, this failure can be due to an\n issue with creating the service-linked roles required in the member accounts of the Amazon Web Services\n organization.

" } + }, + "configuration": { + "target": "com.amazonaws.accessanalyzer#AnalyzerConfiguration", + "traits": { + "smithy.api#documentation": "

Specifies whether the analyzer is an external access or unused access analyzer.

" + } } }, "traits": { @@ -1887,6 +1973,231 @@ "type": "structure", "members": {} }, + "com.amazonaws.accessanalyzer#CheckAccessNotGranted": { + "type": "operation", + "input": { + "target": "com.amazonaws.accessanalyzer#CheckAccessNotGrantedRequest" + }, + "output": { + "target": "com.amazonaws.accessanalyzer#CheckAccessNotGrantedResponse" + }, + "errors": [ + { + "target": "com.amazonaws.accessanalyzer#AccessDeniedException" + }, + { + "target": "com.amazonaws.accessanalyzer#InternalServerException" + }, + { + "target": "com.amazonaws.accessanalyzer#InvalidParameterException" + }, + { + "target": "com.amazonaws.accessanalyzer#ThrottlingException" + }, + { + "target": "com.amazonaws.accessanalyzer#UnprocessableEntityException" + }, + { + "target": "com.amazonaws.accessanalyzer#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Checks whether the specified access isn't allowed by a policy.

", + "smithy.api#http": { + "uri": "/policy/check-access-not-granted", + "method": "POST", + "code": 200 + }, + "smithy.api#readonly": {}, + "smithy.api#suppress": [ + "HttpMethodSemantics" + ] + } + }, + "com.amazonaws.accessanalyzer#CheckAccessNotGrantedRequest": { + "type": "structure", + "members": { + "policyDocument": { + "target": "com.amazonaws.accessanalyzer#AccessCheckPolicyDocument", + "traits": { + "smithy.api#documentation": "

The JSON policy document to use as the content for the policy.

", + "smithy.api#required": {} + } + }, + "access": { + "target": "com.amazonaws.accessanalyzer#AccessList", + "traits": { + "smithy.api#documentation": "

An access object containing the permissions that shouldn't be granted by the specified\n policy.

", + "smithy.api#length": { + "max": 1 + }, + "smithy.api#required": {} + } + }, + "policyType": { + "target": "com.amazonaws.accessanalyzer#AccessCheckPolicyType", + "traits": { + "smithy.api#documentation": "

The type of policy. Identity policies grant permissions to IAM principals. Identity\n policies include managed and inline policies for IAM roles, users, and groups.

\n

Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust\n policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic\n input such as identity policy or resource policy or a specific input such as managed policy\n or Amazon S3 bucket policy.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.accessanalyzer#CheckAccessNotGrantedResponse": { + "type": "structure", + "members": { + "result": { + "target": "com.amazonaws.accessanalyzer#CheckAccessNotGrantedResult", + "traits": { + "smithy.api#documentation": "

The result of the check for whether the access is allowed. If the result is\n PASS, the specified policy doesn't allow any of the specified permissions\n in the access object. If the result is FAIL, the specified policy might allow\n some or all of the permissions in the access object.

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

The message indicating whether the specified access is allowed.

" + } + }, + "reasons": { + "target": "com.amazonaws.accessanalyzer#ReasonSummaryList", + "traits": { + "smithy.api#documentation": "

A description of the reasoning of the result.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.accessanalyzer#CheckAccessNotGrantedResult": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PASS", + "name": "PASS" + }, + { + "value": "FAIL", + "name": "FAIL" + } + ] + } + }, + "com.amazonaws.accessanalyzer#CheckNoNewAccess": { + "type": "operation", + "input": { + "target": "com.amazonaws.accessanalyzer#CheckNoNewAccessRequest" + }, + "output": { + "target": "com.amazonaws.accessanalyzer#CheckNoNewAccessResponse" + }, + "errors": [ + { + "target": "com.amazonaws.accessanalyzer#AccessDeniedException" + }, + { + "target": "com.amazonaws.accessanalyzer#InternalServerException" + }, + { + "target": "com.amazonaws.accessanalyzer#InvalidParameterException" + }, + { + "target": "com.amazonaws.accessanalyzer#ThrottlingException" + }, + { + "target": "com.amazonaws.accessanalyzer#UnprocessableEntityException" + }, + { + "target": "com.amazonaws.accessanalyzer#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Checks whether new access is allowed for an updated policy when compared to the existing\n policy.

\n

You can find examples for reference policies and learn how to set up and run a custom\n policy check for new access in the IAM Access Analyzer custom policy checks samples repository on GitHub. The reference\n policies in this repository are meant to be passed to the\n existingPolicyDocument request parameter.

", + "smithy.api#http": { + "uri": "/policy/check-no-new-access", + "method": "POST", + "code": 200 + }, + "smithy.api#readonly": {}, + "smithy.api#suppress": [ + "HttpMethodSemantics" + ] + } + }, + "com.amazonaws.accessanalyzer#CheckNoNewAccessRequest": { + "type": "structure", + "members": { + "newPolicyDocument": { + "target": "com.amazonaws.accessanalyzer#AccessCheckPolicyDocument", + "traits": { + "smithy.api#documentation": "

The JSON policy document to use as the content for the updated policy.

", + "smithy.api#required": {} + } + }, + "existingPolicyDocument": { + "target": "com.amazonaws.accessanalyzer#AccessCheckPolicyDocument", + "traits": { + "smithy.api#documentation": "

The JSON policy document to use as the content for the existing policy.

", + "smithy.api#required": {} + } + }, + "policyType": { + "target": "com.amazonaws.accessanalyzer#AccessCheckPolicyType", + "traits": { + "smithy.api#documentation": "

The type of policy to compare. Identity policies grant permissions to IAM principals.\n Identity policies include managed and inline policies for IAM roles, users, and\n groups.

\n

Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust\n policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic\n input such as identity policy or resource policy or a specific input such as managed policy\n or Amazon S3 bucket policy.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.accessanalyzer#CheckNoNewAccessResponse": { + "type": "structure", + "members": { + "result": { + "target": "com.amazonaws.accessanalyzer#CheckNoNewAccessResult", + "traits": { + "smithy.api#documentation": "

The result of the check for new access. If the result is PASS, no new\n access is allowed by the updated policy. If the result is FAIL, the updated\n policy might allow new access.

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

The message indicating whether the updated policy allows new access.

" + } + }, + "reasons": { + "target": "com.amazonaws.accessanalyzer#ReasonSummaryList", + "traits": { + "smithy.api#documentation": "

A description of the reasoning of the result.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.accessanalyzer#CheckNoNewAccessResult": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PASS", + "name": "PASS" + }, + { + "value": "FAIL", + "name": "FAIL" + } + ] + } + }, "com.amazonaws.accessanalyzer#CloudTrailArn": { "type": "string", "traits": { @@ -2212,7 +2523,7 @@ "type": { "target": "com.amazonaws.accessanalyzer#Type", "traits": { - "smithy.api#documentation": "

The type of analyzer to create. Only ACCOUNT and ORGANIZATION analyzers are supported.\n You can create only one analyzer per account per Region. You can create up to 5 analyzers\n per organization per Region.

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

The type of analyzer to create. Only ACCOUNT, ORGANIZATION,\n ACCOUNT_UNUSED_ACCESS, and ORGANIZTAION_UNUSED_ACCESS\n analyzers are supported. You can create only one analyzer per account per Region. You can\n create up to 5 analyzers per organization per Region.

", "smithy.api#required": {} } }, @@ -2225,7 +2536,7 @@ "tags": { "target": "com.amazonaws.accessanalyzer#TagsMap", "traits": { - "smithy.api#documentation": "

The tags to apply to the analyzer.

" + "smithy.api#documentation": "

An array of key-value pairs to apply to the analyzer.

" } }, "clientToken": { @@ -2234,6 +2545,12 @@ "smithy.api#documentation": "

A client token.

", "smithy.api#idempotencyToken": {} } + }, + "configuration": { + "target": "com.amazonaws.accessanalyzer#AnalyzerConfiguration", + "traits": { + "smithy.api#documentation": "

Specifies the configuration of the analyzer. If the analyzer is an unused access\n analyzer, the specified scope of unused access is used for the configuration. If the\n analyzer is an external access analyzer, this field is not used.

" + } } }, "traits": { @@ -2361,7 +2678,7 @@ } }, "traits": { - "smithy.api#documentation": "

The criteria to use in the filter that defines the archive rule. For more information on\n available filter keys, see IAM Access Analyzer\n filter keys.

" + "smithy.api#documentation": "

The criteria to use in the filter that defines the archive rule. For more information on\n available filter keys, see IAM Access Analyzer filter\n keys.

" } }, "com.amazonaws.accessanalyzer#DeleteAnalyzer": { @@ -2571,19 +2888,58 @@ "com.amazonaws.accessanalyzer#EfsFileSystemPolicy": { "type": "string" }, - "com.amazonaws.accessanalyzer#FilterCriteriaMap": { - "type": "map", - "key": { - "target": "smithy.api#String" - }, - "value": { - "target": "com.amazonaws.accessanalyzer#Criterion" - } - }, - "com.amazonaws.accessanalyzer#Finding": { + "com.amazonaws.accessanalyzer#ExternalAccessDetails": { "type": "structure", "members": { - "id": { + "action": { + "target": "com.amazonaws.accessanalyzer#ActionList", + "traits": { + "smithy.api#documentation": "

The action in the analyzed policy statement that an external principal has permission to\n use.

" + } + }, + "condition": { + "target": "com.amazonaws.accessanalyzer#ConditionKeyMap", + "traits": { + "smithy.api#documentation": "

The condition in the analyzed policy statement that resulted in an external access\n finding.

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

Specifies whether the external access finding is public.

" + } + }, + "principal": { + "target": "com.amazonaws.accessanalyzer#PrincipalMap", + "traits": { + "smithy.api#documentation": "

The external principal that has access to a resource within the zone of trust.

" + } + }, + "sources": { + "target": "com.amazonaws.accessanalyzer#FindingSourceList", + "traits": { + "smithy.api#documentation": "

The sources of the external access finding. This indicates how the access that generated\n the finding is granted. It is populated for Amazon S3 bucket findings.

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

Contains information about an external access finding.

" + } + }, + "com.amazonaws.accessanalyzer#FilterCriteriaMap": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "com.amazonaws.accessanalyzer#Criterion" + } + }, + "com.amazonaws.accessanalyzer#Finding": { + "type": "structure", + "members": { + "id": { "target": "com.amazonaws.accessanalyzer#FindingId", "traits": { "smithy.api#documentation": "

The ID of the finding.

", @@ -2593,7 +2949,7 @@ "principal": { "target": "com.amazonaws.accessanalyzer#PrincipalMap", "traits": { - "smithy.api#documentation": "

The external principal that access to a resource within the zone of trust.

" + "smithy.api#documentation": "

The external principal that has access to a resource within the zone of trust.

" } }, "action": { @@ -2699,6 +3055,50 @@ ] } }, + "com.amazonaws.accessanalyzer#FindingDetails": { + "type": "union", + "members": { + "externalAccessDetails": { + "target": "com.amazonaws.accessanalyzer#ExternalAccessDetails", + "traits": { + "smithy.api#documentation": "

The details for an external access analyzer finding.

" + } + }, + "unusedPermissionDetails": { + "target": "com.amazonaws.accessanalyzer#UnusedPermissionDetails", + "traits": { + "smithy.api#documentation": "

The details for an unused access analyzer finding with an unused permission finding\n type.

" + } + }, + "unusedIamUserAccessKeyDetails": { + "target": "com.amazonaws.accessanalyzer#UnusedIamUserAccessKeyDetails", + "traits": { + "smithy.api#documentation": "

The details for an unused access analyzer finding with an unused IAM user access key\n finding type.

" + } + }, + "unusedIamRoleDetails": { + "target": "com.amazonaws.accessanalyzer#UnusedIamRoleDetails", + "traits": { + "smithy.api#documentation": "

The details for an unused access analyzer finding with an unused IAM role finding\n type.

" + } + }, + "unusedIamUserPasswordDetails": { + "target": "com.amazonaws.accessanalyzer#UnusedIamUserPasswordDetails", + "traits": { + "smithy.api#documentation": "

The details for an unused access analyzer finding with an unused IAM user password\n finding type.

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

Contains information about an external access or unused access finding. Only one\n parameter can be used in a FindingDetails object.

" + } + }, + "com.amazonaws.accessanalyzer#FindingDetailsList": { + "type": "list", + "member": { + "target": "com.amazonaws.accessanalyzer#FindingDetails" + } + }, "com.amazonaws.accessanalyzer#FindingId": { "type": "string" }, @@ -2912,12 +3312,120 @@ "smithy.api#documentation": "

Contains information about a finding.

" } }, + "com.amazonaws.accessanalyzer#FindingSummaryV2": { + "type": "structure", + "members": { + "analyzedAt": { + "target": "com.amazonaws.accessanalyzer#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the resource-based policy or IAM entity that generated the finding\n was analyzed.

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

The time at which the finding was created.

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

The error that resulted in an Error finding.

" + } + }, + "id": { + "target": "com.amazonaws.accessanalyzer#FindingId", + "traits": { + "smithy.api#documentation": "

The ID of the finding.

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

The resource that the external principal has access to.

" + } + }, + "resourceType": { + "target": "com.amazonaws.accessanalyzer#ResourceType", + "traits": { + "smithy.api#documentation": "

The type of the resource that the external principal has access to.

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

The Amazon Web Services account ID that owns the resource.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.accessanalyzer#FindingStatus", + "traits": { + "smithy.api#documentation": "

The status of the finding.

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

The time at which the finding was most recently updated.

", + "smithy.api#required": {} + } + }, + "findingType": { + "target": "com.amazonaws.accessanalyzer#FindingType", + "traits": { + "smithy.api#documentation": "

The type of the external access or unused access finding.

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

Contains information about a finding.

" + } + }, + "com.amazonaws.accessanalyzer#FindingType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ExternalAccess", + "name": "EXTERNAL_ACCESS" + }, + { + "value": "UnusedIAMRole", + "name": "UNUSED_IAM_ROLE" + }, + { + "value": "UnusedIAMUserAccessKey", + "name": "UNUSED_IAM_USER_ACCESS_KEY" + }, + { + "value": "UnusedIAMUserPassword", + "name": "UNUSED_IAM_USER_PASSWORD" + }, + { + "value": "UnusedPermission", + "name": "UNUSED_PERMISSION" + } + ] + } + }, "com.amazonaws.accessanalyzer#FindingsList": { "type": "list", "member": { "target": "com.amazonaws.accessanalyzer#FindingSummary" } }, + "com.amazonaws.accessanalyzer#FindingsListV2": { + "type": "list", + "member": { + "target": "com.amazonaws.accessanalyzer#FindingSummaryV2" + } + }, "com.amazonaws.accessanalyzer#GeneratedPolicy": { "type": "structure", "members": { @@ -3308,36 +3816,200 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

The ARN of\n the analyzer that generated the finding.

", - "smithy.api#httpQuery": "analyzerArn", + "smithy.api#documentation": "

The ARN of\n the analyzer that generated the finding.

", + "smithy.api#httpQuery": "analyzerArn", + "smithy.api#required": {} + } + }, + "id": { + "target": "com.amazonaws.accessanalyzer#FindingId", + "traits": { + "smithy.api#documentation": "

The ID of the finding to retrieve.

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

Retrieves a finding.

" + } + }, + "com.amazonaws.accessanalyzer#GetFindingResponse": { + "type": "structure", + "members": { + "finding": { + "target": "com.amazonaws.accessanalyzer#Finding", + "traits": { + "smithy.api#documentation": "

A finding object that contains finding details.

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

The response to the request.

" + } + }, + "com.amazonaws.accessanalyzer#GetFindingV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.accessanalyzer#GetFindingV2Request" + }, + "output": { + "target": "com.amazonaws.accessanalyzer#GetFindingV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.accessanalyzer#AccessDeniedException" + }, + { + "target": "com.amazonaws.accessanalyzer#InternalServerException" + }, + { + "target": "com.amazonaws.accessanalyzer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.accessanalyzer#ThrottlingException" + }, + { + "target": "com.amazonaws.accessanalyzer#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves information about the specified finding.

", + "smithy.api#http": { + "uri": "/findingv2/{id}", + "method": "GET", + "code": 200 + }, + "smithy.api#paginated": { + "items": "findingDetails" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.accessanalyzer#GetFindingV2Request": { + "type": "structure", + "members": { + "analyzerArn": { + "target": "com.amazonaws.accessanalyzer#AnalyzerArn", + "traits": { + "smithy.api#documentation": "

The ARN of\n the analyzer that generated the finding.

", + "smithy.api#httpQuery": "analyzerArn", + "smithy.api#required": {} + } + }, + "id": { + "target": "com.amazonaws.accessanalyzer#FindingId", + "traits": { + "smithy.api#documentation": "

The ID of the finding to retrieve.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return in the response.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.accessanalyzer#Token", + "traits": { + "smithy.api#documentation": "

A token used for pagination of results returned.

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.accessanalyzer#GetFindingV2Response": { + "type": "structure", + "members": { + "analyzedAt": { + "target": "com.amazonaws.accessanalyzer#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the resource-based policy or IAM entity that generated the finding\n was analyzed.

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

The time at which the finding was created.

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

An error.

" + } + }, + "id": { + "target": "com.amazonaws.accessanalyzer#FindingId", + "traits": { + "smithy.api#documentation": "

The ID of the finding to retrieve.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.accessanalyzer#Token", + "traits": { + "smithy.api#documentation": "

A token used for pagination of results returned.

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

The resource that generated the finding.

" + } + }, + "resourceType": { + "target": "com.amazonaws.accessanalyzer#ResourceType", + "traits": { + "smithy.api#documentation": "

The type of the resource identified in the finding.

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

Tye Amazon Web Services account ID that owns the resource.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.accessanalyzer#FindingStatus", + "traits": { + "smithy.api#documentation": "

The status of the finding.

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

The time at which the finding was updated.

", "smithy.api#required": {} } }, - "id": { - "target": "com.amazonaws.accessanalyzer#FindingId", + "findingDetails": { + "target": "com.amazonaws.accessanalyzer#FindingDetailsList", "traits": { - "smithy.api#documentation": "

The ID of the finding to retrieve.

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

A localized message that explains the finding and provides guidance on how to address\n it.

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

Retrieves a finding.

" - } - }, - "com.amazonaws.accessanalyzer#GetFindingResponse": { - "type": "structure", - "members": { - "finding": { - "target": "com.amazonaws.accessanalyzer#Finding", + }, + "findingType": { + "target": "com.amazonaws.accessanalyzer#FindingType", "traits": { - "smithy.api#documentation": "

A finding object that contains finding details.

" + "smithy.api#documentation": "

The type of the finding. For external access analyzers, the type is\n ExternalAccess. For unused access analyzers, the type can be\n UnusedIAMRole, UnusedIAMUserAccessKey,\n UnusedIAMUserPassword, or UnusedPermission.

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

The response to the request.

" + "smithy.api#output": {} } }, "com.amazonaws.accessanalyzer#GetGeneratedPolicy": { @@ -3497,6 +4169,22 @@ "smithy.api#documentation": "

This configuration sets the network origin for the Amazon S3 access point or multi-region\n access point to Internet.

" } }, + "com.amazonaws.accessanalyzer#InvalidParameterException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The specified parameter is invalid.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.accessanalyzer#IssueCode": { "type": "string" }, @@ -4351,6 +5039,104 @@ "smithy.api#documentation": "

The response to the request.

" } }, + "com.amazonaws.accessanalyzer#ListFindingsV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.accessanalyzer#ListFindingsV2Request" + }, + "output": { + "target": "com.amazonaws.accessanalyzer#ListFindingsV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.accessanalyzer#AccessDeniedException" + }, + { + "target": "com.amazonaws.accessanalyzer#InternalServerException" + }, + { + "target": "com.amazonaws.accessanalyzer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.accessanalyzer#ThrottlingException" + }, + { + "target": "com.amazonaws.accessanalyzer#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves a list of findings generated by the specified analyzer.

\n

To learn about filter keys that you can use to retrieve a list of findings, see IAM Access Analyzer filter keys in the IAM User Guide.

", + "smithy.api#http": { + "uri": "/findingv2", + "method": "POST", + "code": 200 + }, + "smithy.api#paginated": { + "items": "findings" + }, + "smithy.api#readonly": {}, + "smithy.api#suppress": [ + "HttpMethodSemantics" + ] + } + }, + "com.amazonaws.accessanalyzer#ListFindingsV2Request": { + "type": "structure", + "members": { + "analyzerArn": { + "target": "com.amazonaws.accessanalyzer#AnalyzerArn", + "traits": { + "smithy.api#documentation": "

The ARN of\n the analyzer to retrieve findings from.

", + "smithy.api#required": {} + } + }, + "filter": { + "target": "com.amazonaws.accessanalyzer#FilterCriteriaMap", + "traits": { + "smithy.api#documentation": "

A filter to match for the findings to return.

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

The maximum number of results to return in the response.

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

A token used for pagination of results returned.

" + } + }, + "sort": { + "target": "com.amazonaws.accessanalyzer#SortCriteria" + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.accessanalyzer#ListFindingsV2Response": { + "type": "structure", + "members": { + "findings": { + "target": "com.amazonaws.accessanalyzer#FindingsListV2", + "traits": { + "smithy.api#documentation": "

A list of findings retrieved from the analyzer that match the filter criteria specified,\n if any.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.accessanalyzer#Token", + "traits": { + "smithy.api#documentation": "

A token used for pagination of results returned.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.accessanalyzer#ListPolicyGenerations": { "type": "operation", "input": { @@ -4923,6 +5709,38 @@ ] } }, + "com.amazonaws.accessanalyzer#ReasonSummary": { + "type": "structure", + "members": { + "description": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

A description of the reasoning of a result of checking for access.

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

The index number of the reason statement.

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

The identifier for the reason statement.

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

Contains information about the reasoning why a check for access passed or failed.

" + } + }, + "com.amazonaws.accessanalyzer#ReasonSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.accessanalyzer#ReasonSummary" + } + }, "com.amazonaws.accessanalyzer#RegionList": { "type": "list", "member": { @@ -5661,10 +6479,35 @@ { "value": "ORGANIZATION", "name": "ORGANIZATION" + }, + { + "value": "ACCOUNT_UNUSED_ACCESS", + "name": "ACCOUNT_UNUSED_ACCESS" + }, + { + "value": "ORGANIZATION_UNUSED_ACCESS", + "name": "ORGANIZATION_UNUSED_ACCESS" } ] } }, + "com.amazonaws.accessanalyzer#UnprocessableEntityException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The specified entity could not be processed.

", + "smithy.api#error": "client", + "smithy.api#httpError": 422, + "smithy.api#retryable": {} + } + }, "com.amazonaws.accessanalyzer#UntagResource": { "type": "operation", "input": { @@ -5730,6 +6573,123 @@ "smithy.api#documentation": "

The response to the request.

" } }, + "com.amazonaws.accessanalyzer#UnusedAccessConfiguration": { + "type": "structure", + "members": { + "unusedAccessAge": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The specified access age in days for which to generate findings for unused access. For\n example, if you specify 90 days, the analyzer will generate findings for IAM entities\n within the accounts of the selected organization for any access that hasn't been used in 90\n or more days since the analyzer's last scan. You can choose a value between 1 and 180\n days.

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

Contains information about an unused access analyzer.

" + } + }, + "com.amazonaws.accessanalyzer#UnusedAction": { + "type": "structure", + "members": { + "action": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The action for which the unused access finding was generated.

", + "smithy.api#required": {} + } + }, + "lastAccessed": { + "target": "com.amazonaws.accessanalyzer#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the action was last accessed.

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

Contains information about an unused access finding for an action. IAM Access Analyzer charges\n for unused access analysis based on the number of IAM roles and users analyzed per month.\n For more details on pricing, see IAM Access Analyzer\n pricing.

" + } + }, + "com.amazonaws.accessanalyzer#UnusedActionList": { + "type": "list", + "member": { + "target": "com.amazonaws.accessanalyzer#UnusedAction" + } + }, + "com.amazonaws.accessanalyzer#UnusedIamRoleDetails": { + "type": "structure", + "members": { + "lastAccessed": { + "target": "com.amazonaws.accessanalyzer#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the role was last accessed.

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

Contains information about an unused access finding for an IAM role. IAM Access Analyzer\n charges for unused access analysis based on the number of IAM roles and users analyzed\n per month. For more details on pricing, see IAM Access Analyzer\n pricing.

" + } + }, + "com.amazonaws.accessanalyzer#UnusedIamUserAccessKeyDetails": { + "type": "structure", + "members": { + "accessKeyId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ID of the access key for which the unused access finding was generated.

", + "smithy.api#required": {} + } + }, + "lastAccessed": { + "target": "com.amazonaws.accessanalyzer#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the access key was last accessed.

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

Contains information about an unused access finding for an IAM user access key.\n IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and\n users analyzed per month. For more details on pricing, see IAM Access Analyzer\n pricing.

" + } + }, + "com.amazonaws.accessanalyzer#UnusedIamUserPasswordDetails": { + "type": "structure", + "members": { + "lastAccessed": { + "target": "com.amazonaws.accessanalyzer#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the password was last accessed.

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

Contains information about an unused access finding for an IAM user password.\n IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and\n users analyzed per month. For more details on pricing, see IAM Access Analyzer\n pricing.

" + } + }, + "com.amazonaws.accessanalyzer#UnusedPermissionDetails": { + "type": "structure", + "members": { + "actions": { + "target": "com.amazonaws.accessanalyzer#UnusedActionList", + "traits": { + "smithy.api#documentation": "

A list of unused actions for which the unused access finding was generated.

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

The namespace of the Amazon Web Services service that contains the unused actions.

", + "smithy.api#required": {} + } + }, + "lastAccessed": { + "target": "com.amazonaws.accessanalyzer#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the permission last accessed.

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

Contains information about an unused access finding for a permission. IAM Access Analyzer\n charges for unused access analysis based on the number of IAM roles and users analyzed\n per month. For more details on pricing, see IAM Access Analyzer\n pricing.

" + } + }, "com.amazonaws.accessanalyzer#UpdateArchiveRule": { "type": "operation", "input": { @@ -6022,7 +6982,7 @@ "policyType": { "target": "com.amazonaws.accessanalyzer#PolicyType", "traits": { - "smithy.api#documentation": "

The type of policy to validate. Identity policies grant permissions to IAM principals.\n Identity policies include managed and inline policies for IAM roles, users, and groups.\n They also include service-control policies (SCPs) that are attached to an Amazon Web Services\n organization, organizational unit (OU), or an account.

\n

Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust\n policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic\n input such as identity policy or resource policy or a specific input such as managed policy\n or Amazon S3 bucket policy.

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

The type of policy to validate. Identity policies grant permissions to IAM principals.\n Identity policies include managed and inline policies for IAM roles, users, and\n groups.

\n

Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust\n policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic\n input such as identity policy or resource policy or a specific input such as managed policy\n or Amazon S3 bucket policy.

\n

Service control policies (SCPs) are a type of organization policy attached to an Amazon Web Services\n organization, organizational unit (OU), or an account.

", "smithy.api#required": {} } }, diff --git a/codegen/sdk-codegen/aws-models/amp.json b/codegen/sdk-codegen/aws-models/amp.json index c08e681ff37..e1b09eacfb2 100644 --- a/codegen/sdk-codegen/aws-models/amp.json +++ b/codegen/sdk-codegen/aws-models/amp.json @@ -149,6 +149,9 @@ "type": "service", "version": "2020-08-01", "operations": [ + { + "target": "com.amazonaws.amp#GetDefaultScraperConfiguration" + }, { "target": "com.amazonaws.amp#ListTagsForResource" }, @@ -160,6 +163,9 @@ } ], "resources": [ + { + "target": "com.amazonaws.amp#Scraper" + }, { "target": "com.amazonaws.amp#Workspace" } @@ -241,7 +247,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -284,7 +289,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -297,7 +303,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -311,7 +316,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -334,7 +338,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -369,7 +372,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -380,14 +382,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -401,14 +405,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -417,11 +419,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -432,14 +434,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -453,7 +457,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -473,7 +476,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -484,14 +486,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -502,9 +506,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -946,6 +952,31 @@ } } }, + "com.amazonaws.amp#AmpConfiguration": { + "type": "structure", + "members": { + "workspaceArn": { + "target": "com.amazonaws.amp#WorkspaceArn", + "traits": { + "smithy.api#documentation": "The ARN of an AMP workspace.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "A representation of an AMP destination." + } + }, + "com.amazonaws.amp#ClusterArn": { + "type": "string", + "traits": { + "aws.api#arnReference": { + "type": "AWS::EKS::Cluster" + }, + "smithy.api#documentation": "The ARN of an EKS cluster.", + "smithy.api#pattern": "^arn:aws[-a-z]*:eks:[-a-z0-9]+:[0-9]{12}:cluster/.+$" + } + }, "com.amazonaws.amp#ConflictException": { "type": "structure", "members": { @@ -1259,6 +1290,173 @@ "smithy.api#documentation": "Represents the output of a CreateRuleGroupsNamespace operation." } }, + "com.amazonaws.amp#CreateScraper": { + "type": "operation", + "input": { + "target": "com.amazonaws.amp#CreateScraperRequest" + }, + "output": { + "target": "com.amazonaws.amp#CreateScraperResponse" + }, + "errors": [ + { + "target": "com.amazonaws.amp#AccessDeniedException" + }, + { + "target": "com.amazonaws.amp#ConflictException" + }, + { + "target": "com.amazonaws.amp#InternalServerException" + }, + { + "target": "com.amazonaws.amp#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.amp#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.amp#ThrottlingException" + }, + { + "target": "com.amazonaws.amp#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "Create a scraper.", + "smithy.api#examples": [ + { + "title": "CreateScraper with optional alias input, optional clientToken input, and one set of tags", + "input": { + "alias": "alias", + "scrapeConfiguration": { + "configurationBlob": "blob" + }, + "source": { + "eksConfiguration": { + "clusterArn": "arn:aws:eks:us-west-2:123456789012:cluster/example", + "securityGroupIds": [ + "sg-abc123" + ], + "subnetIds": [ + "subnet-abc123" + ] + } + }, + "destination": { + "ampConfiguration": { + "workspaceArn": "arn:aws:aps:us-west-2:123456789012:workspace/ws-ogh2u499-ce12-hg89-v6c7-123412341234" + } + }, + "clientToken": "token", + "tags": { + "exampleTag": "exampleValue" + } + }, + "output": { + "scraperId": "scraper-123", + "arn": "arn:aws:aps:us-west-2:123456789012:scraper/scraper-123", + "status": { + "statusCode": "CREATING" + }, + "tags": { + "exampleTag": "exampleValue" + } + } + } + ], + "smithy.api#http": { + "code": 202, + "method": "POST", + "uri": "/scrapers" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.amp#CreateScraperRequest": { + "type": "structure", + "members": { + "alias": { + "target": "com.amazonaws.amp#ScraperAlias", + "traits": { + "smithy.api#documentation": "An optional user-assigned alias for this scraper. This alias is for user reference and does not need to be unique." + } + }, + "scrapeConfiguration": { + "target": "com.amazonaws.amp#ScrapeConfiguration", + "traits": { + "smithy.api#documentation": "The configuration used to create the scraper.", + "smithy.api#required": {} + } + }, + "source": { + "target": "com.amazonaws.amp#Source", + "traits": { + "smithy.api#documentation": "The source that the scraper will be discovering and collecting metrics from.", + "smithy.api#required": {} + } + }, + "destination": { + "target": "com.amazonaws.amp#Destination", + "traits": { + "smithy.api#documentation": "The destination that the scraper will be producing metrics to.", + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.amp#IdempotencyToken", + "traits": { + "smithy.api#documentation": "Optional, unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.", + "smithy.api#idempotencyToken": {} + } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#documentation": "Optional, user-provided tags for this scraper." + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the input of a CreateScraper operation.", + "smithy.api#input": {} + } + }, + "com.amazonaws.amp#CreateScraperResponse": { + "type": "structure", + "members": { + "scraperId": { + "target": "com.amazonaws.amp#ScraperId", + "traits": { + "smithy.api#documentation": "The generated ID of the scraper that was just created.", + "smithy.api#required": {} + } + }, + "arn": { + "target": "com.amazonaws.amp#ScraperArn", + "traits": { + "smithy.api#documentation": "The ARN of the scraper that was just created.", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.amp#ScraperStatus", + "traits": { + "smithy.api#documentation": "The status of the scraper that was just created (usually CREATING).", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#documentation": "The tags of this scraper." + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the output of a CreateScraper operation.", + "smithy.api#output": {} + } + }, "com.amazonaws.amp#CreateWorkspace": { "type": "operation", "input": { @@ -1550,6 +1748,107 @@ "smithy.api#documentation": "Represents the input of a DeleteRuleGroupsNamespace operation." } }, + "com.amazonaws.amp#DeleteScraper": { + "type": "operation", + "input": { + "target": "com.amazonaws.amp#DeleteScraperRequest" + }, + "output": { + "target": "com.amazonaws.amp#DeleteScraperResponse" + }, + "errors": [ + { + "target": "com.amazonaws.amp#AccessDeniedException" + }, + { + "target": "com.amazonaws.amp#ConflictException" + }, + { + "target": "com.amazonaws.amp#InternalServerException" + }, + { + "target": "com.amazonaws.amp#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.amp#ThrottlingException" + }, + { + "target": "com.amazonaws.amp#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "Deletes a scraper.", + "smithy.api#examples": [ + { + "title": "DeleteScraper with optional clientToken input", + "input": { + "scraperId": "scraper-123", + "clientToken": "token" + }, + "output": { + "scraperId": "scraper-123", + "status": { + "statusCode": "DELETING" + } + } + } + ], + "smithy.api#http": { + "code": 202, + "method": "DELETE", + "uri": "/scrapers/{scraperId}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.amp#DeleteScraperRequest": { + "type": "structure", + "members": { + "scraperId": { + "target": "com.amazonaws.amp#ScraperId", + "traits": { + "smithy.api#documentation": "The ID of the scraper to delete.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.amp#IdempotencyToken", + "traits": { + "smithy.api#documentation": "Optional, unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.", + "smithy.api#httpQuery": "clientToken", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the input of a DeleteScraper operation.", + "smithy.api#input": {} + } + }, + "com.amazonaws.amp#DeleteScraperResponse": { + "type": "structure", + "members": { + "scraperId": { + "target": "com.amazonaws.amp#ScraperId", + "traits": { + "smithy.api#documentation": "The ID of the scraper that was deleted.", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.amp#ScraperStatus", + "traits": { + "smithy.api#documentation": "The status of the scraper that is being deleted.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the output of a DeleteScraper operation.", + "smithy.api#output": {} + } + }, "com.amazonaws.amp#DeleteWorkspace": { "type": "operation", "input": { @@ -1815,13 +2114,13 @@ "smithy.api#documentation": "Represents the output of a DescribeRuleGroupsNamespace operation." } }, - "com.amazonaws.amp#DescribeWorkspace": { + "com.amazonaws.amp#DescribeScraper": { "type": "operation", "input": { - "target": "com.amazonaws.amp#DescribeWorkspaceRequest" + "target": "com.amazonaws.amp#DescribeScraperRequest" }, "output": { - "target": "com.amazonaws.amp#DescribeWorkspaceResponse" + "target": "com.amazonaws.amp#DescribeScraperResponse" }, "errors": [ { @@ -1841,42 +2140,201 @@ } ], "traits": { - "smithy.api#documentation": "Describes an existing AMP workspace.", + "smithy.api#documentation": "Describe an existing scraper.", + "smithy.api#examples": [ + { + "title": "DescribeScraper, with no statusReason to report", + "input": { + "scraperId": "scraper-123" + }, + "output": { + "scraper": { + "alias": "alias", + "scraperId": "scraper-123", + "arn": "arn:aws:aps:us-west-2:123456789012:scraper/scraper-123", + "roleArn": "arn:aws:iam::123456789012:role/exampleRole", + "status": { + "statusCode": "ACTIVE" + }, + "createdAt": "2023-01-01T00:00:00Z", + "lastModifiedAt": "2020-01-02T00:00:00Z", + "tags": { + "exampleTag": "exampleValue" + }, + "scrapeConfiguration": { + "configurationBlob": "blob" + }, + "source": { + "eksConfiguration": { + "clusterArn": "arn:aws:eks:us-west-2:123456789012:cluster/example", + "securityGroupIds": [ + "sg-abc123" + ], + "subnetIds": [ + "subnet-abc123" + ] + } + }, + "destination": { + "ampConfiguration": { + "workspaceArn": "arn:aws:aps:us-west-2:123456789012:workspace/ws-ogh2u499-ce12-hg89-v6c7-123412341234" + } + } + } + } + } + ], "smithy.api#http": { "code": 200, "method": "GET", - "uri": "/workspaces/{workspaceId}" + "uri": "/scrapers/{scraperId}" }, "smithy.api#readonly": {}, "smithy.waiters#waitable": { - "WorkspaceActive": { - "documentation": "Wait until a workspace reaches ACTIVE status", + "ScraperActive": { + "documentation": "Wait until a scraper reaches ACTIVE status", "acceptors": [ { "state": "success", "matcher": { "output": { - "path": "workspace.status.statusCode", + "path": "scraper.status.statusCode", "expected": "ACTIVE", "comparator": "stringEquals" } } }, { - "state": "retry", + "state": "failure", "matcher": { "output": { - "path": "workspace.status.statusCode", - "expected": "UPDATING", + "path": "scraper.status.statusCode", + "expected": "CREATION_FAILED", "comparator": "stringEquals" } } + } + ] + }, + "ScraperDeleted": { + "documentation": "Wait until a scraper reaches DELETED status", + "acceptors": [ + { + "state": "success", + "matcher": { + "errorType": "ResourceNotFoundException" + } }, { - "state": "retry", + "state": "failure", "matcher": { "output": { - "path": "workspace.status.statusCode", + "path": "scraper.status.statusCode", + "expected": "DELETION_FAILED", + "comparator": "stringEquals" + } + } + } + ] + } + } + } + }, + "com.amazonaws.amp#DescribeScraperRequest": { + "type": "structure", + "members": { + "scraperId": { + "target": "com.amazonaws.amp#ScraperId", + "traits": { + "smithy.api#documentation": "The IDs of the scraper to describe.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the input of a DescribeScraper operation.", + "smithy.api#input": {} + } + }, + "com.amazonaws.amp#DescribeScraperResponse": { + "type": "structure", + "members": { + "scraper": { + "target": "com.amazonaws.amp#ScraperDescription", + "traits": { + "smithy.api#documentation": "The properties of the selected scrapers.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the output of a DescribeScraper operation.", + "smithy.api#output": {} + } + }, + "com.amazonaws.amp#DescribeWorkspace": { + "type": "operation", + "input": { + "target": "com.amazonaws.amp#DescribeWorkspaceRequest" + }, + "output": { + "target": "com.amazonaws.amp#DescribeWorkspaceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.amp#AccessDeniedException" + }, + { + "target": "com.amazonaws.amp#InternalServerException" + }, + { + "target": "com.amazonaws.amp#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.amp#ThrottlingException" + }, + { + "target": "com.amazonaws.amp#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "Describes an existing AMP workspace.", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/workspaces/{workspaceId}" + }, + "smithy.api#readonly": {}, + "smithy.waiters#waitable": { + "WorkspaceActive": { + "documentation": "Wait until a workspace reaches ACTIVE status", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "workspace.status.statusCode", + "expected": "ACTIVE", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "workspace.status.statusCode", + "expected": "UPDATING", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "workspace.status.statusCode", "expected": "CREATING", "comparator": "stringEquals" } @@ -1939,6 +2397,152 @@ "smithy.api#documentation": "Represents the output of a DescribeWorkspace operation." } }, + "com.amazonaws.amp#Destination": { + "type": "union", + "members": { + "ampConfiguration": { + "target": "com.amazonaws.amp#AmpConfiguration", + "traits": { + "smithy.api#documentation": "A representation of an AMP destination." + } + } + }, + "traits": { + "smithy.api#documentation": "A representation of a destination that a scraper can produce metrics to." + } + }, + "com.amazonaws.amp#EksConfiguration": { + "type": "structure", + "members": { + "clusterArn": { + "target": "com.amazonaws.amp#ClusterArn", + "traits": { + "smithy.api#documentation": "The ARN of an EKS cluster.", + "smithy.api#required": {} + } + }, + "securityGroupIds": { + "target": "com.amazonaws.amp#SecurityGroupIds", + "traits": { + "smithy.api#documentation": "A list of security group IDs specified for VPC configuration." + } + }, + "subnetIds": { + "target": "com.amazonaws.amp#SubnetIds", + "traits": { + "smithy.api#documentation": "A list of subnet IDs specified for VPC configuration.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "A representation of an EKS source." + } + }, + "com.amazonaws.amp#FilterKey": { + "type": "string", + "traits": { + "smithy.api#documentation": "The name of the key to filter by.", + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.amp#FilterValue": { + "type": "string", + "traits": { + "smithy.api#documentation": "The value of a given key to filter by.", + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.amp#FilterValues": { + "type": "list", + "member": { + "target": "com.amazonaws.amp#FilterValue" + }, + "traits": { + "smithy.api#documentation": "A list of scraper filter values.", + "smithy.api#length": { + "min": 1, + "max": 20 + } + } + }, + "com.amazonaws.amp#GetDefaultScraperConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.amp#GetDefaultScraperConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.amp#GetDefaultScraperConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.amp#AccessDeniedException" + }, + { + "target": "com.amazonaws.amp#InternalServerException" + }, + { + "target": "com.amazonaws.amp#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "Gets a default configuration.", + "smithy.api#examples": [ + { + "title": "GetDefaultScraperConfiguration", + "input": {}, + "output": { + "configuration": "blob" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/scraperconfiguration" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.amp#GetDefaultScraperConfigurationRequest": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "Represents the input of a GetDefaultScraperConfiguration operation.", + "smithy.api#input": {} + } + }, + "com.amazonaws.amp#GetDefaultScraperConfigurationResponse": { + "type": "structure", + "members": { + "configuration": { + "target": "smithy.api#Blob", + "traits": { + "smithy.api#documentation": "The default configuration.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the output of a GetDefaultScraperConfiguration operation.", + "smithy.api#output": {} + } + }, + "com.amazonaws.amp#IamRoleArn": { + "type": "string", + "traits": { + "aws.api#arnReference": { + "type": "AWS::IAM::Role" + }, + "smithy.api#documentation": "An ARN identifying an IAM role used by the scraper." + } + }, "com.amazonaws.amp#IdempotencyToken": { "type": "string", "traits": { @@ -2078,13 +2682,13 @@ "smithy.api#documentation": "Represents the output of a ListRuleGroupsNamespaces operation." } }, - "com.amazonaws.amp#ListTagsForResource": { + "com.amazonaws.amp#ListScrapers": { "type": "operation", "input": { - "target": "com.amazonaws.amp#ListTagsForResourceRequest" + "target": "com.amazonaws.amp#ListScrapersRequest" }, "output": { - "target": "com.amazonaws.amp#ListTagsForResourceResponse" + "target": "com.amazonaws.amp#ListScrapersResponse" }, "errors": [ { @@ -2093,9 +2697,6 @@ { "target": "com.amazonaws.amp#InternalServerException" }, - { - "target": "com.amazonaws.amp#ResourceNotFoundException" - }, { "target": "com.amazonaws.amp#ThrottlingException" }, @@ -2104,30 +2705,250 @@ } ], "traits": { - "smithy.api#documentation": "Lists the tags you have assigned to the resource.", + "smithy.api#documentation": "Lists all scrapers in a customer account, including scrapers being created or deleted. You may provide filters to return a more specific list of results.", + "smithy.api#examples": [ + { + "title": "ListScrapers, with a max result of 2, using a pagination token from a previous call to ListScrapers", + "input": { + "maxResults": 2, + "nextToken": "previouslyGeneratedToken" + }, + "output": { + "scrapers": [ + { + "alias": "alias1", + "scraperId": "scraper-123", + "arn": "arn:aws:aps:us-west-2:123456789012:scraper/scraper-123", + "roleArn": "arn:aws:iam::123456789012:role/exampleRole", + "status": { + "statusCode": "ACTIVE" + }, + "createdAt": "2023-01-01T00:00:00Z", + "lastModifiedAt": "2020-01-02T00:00:00Z", + "tags": { + "exampleTag": "exampleValue" + }, + "source": { + "eksConfiguration": { + "clusterArn": "arn:aws:eks:us-west-2:123456789012:cluster/example1", + "securityGroupIds": [ + "sg-abc123" + ], + "subnetIds": [ + "subnet-abc123" + ] + } + }, + "destination": { + "ampConfiguration": { + "workspaceArn": "arn:aws:aps:us-west-2:123456789012:workspace/ws-ogh2u499-ce12-hg89-v6c7-123412341234" + } + } + }, + { + "alias": "alias2", + "scraperId": "scraper-456", + "arn": "arn:aws:aps:us-west-2:123456789012:scraper/scraper-456", + "roleArn": "arn:aws:iam::123456789012:role/exampleRole", + "status": { + "statusCode": "CREATING" + }, + "createdAt": "2023-01-01T00:00:00Z", + "lastModifiedAt": "2020-01-02T00:00:00Z", + "tags": { + "exampleTag": "exampleValue" + }, + "source": { + "eksConfiguration": { + "clusterArn": "arn:aws:eks:us-west-2:123456789012:cluster/example2", + "securityGroupIds": [ + "sg-abc456" + ], + "subnetIds": [ + "subnet-abc456" + ] + } + }, + "destination": { + "ampConfiguration": { + "workspaceArn": "arn:aws:aps:us-west-2:123456789012:workspace/ws-ogh2u499-ce12-hg89-v6c7-123412341234" + } + } + } + ] + } + }, + { + "title": "ListScrapers, with filters", + "input": { + "filters": { + "status": [ + "ACTIVE" + ], + "sourceArn": [ + "arn:aws:eks:us-west-2:123456789012:cluster/example1" + ], + "alias": [ + "alias1" + ] + } + }, + "output": { + "scrapers": [ + { + "alias": "alias1", + "scraperId": "scraper-123", + "arn": "arn:aws:aps:us-west-2:123456789012:scraper/scraper-123", + "roleArn": "arn:aws:iam::123456789012:role/exampleRole", + "status": { + "statusCode": "ACTIVE" + }, + "createdAt": "2023-01-01T00:00:00Z", + "lastModifiedAt": "2020-01-02T00:00:00Z", + "tags": { + "exampleTag": "exampleValue" + }, + "source": { + "eksConfiguration": { + "clusterArn": "arn:aws:eks:us-west-2:123456789012:cluster/example1", + "securityGroupIds": [ + "sg-abc123" + ], + "subnetIds": [ + "subnet-abc123" + ] + } + }, + "destination": { + "ampConfiguration": { + "workspaceArn": "arn:aws:aps:us-west-2:123456789012:workspace/ws-ogh2u499-ce12-hg89-v6c7-123412341234" + } + } + } + ] + } + } + ], "smithy.api#http": { + "code": 200, "method": "GET", - "uri": "/tags/{resourceArn}" + "uri": "/scrapers" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "scrapers" }, "smithy.api#readonly": {} } }, - "com.amazonaws.amp#ListTagsForResourceRequest": { + "com.amazonaws.amp#ListScrapersRequest": { "type": "structure", "members": { - "resourceArn": { - "target": "smithy.api#String", + "filters": { + "target": "com.amazonaws.amp#ScraperFilters", "traits": { - "smithy.api#documentation": "The ARN of the resource.", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "A list of scraper filters.", + "smithy.api#httpQueryParams": {} } - } - } - }, - "com.amazonaws.amp#ListTagsForResourceResponse": { - "type": "structure", - "members": { + }, + "nextToken": { + "target": "com.amazonaws.amp#PaginationToken", + "traits": { + "smithy.api#documentation": "Pagination token to request the next page in a paginated list. This token is obtained from the output of the previous ListScrapers request.", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Maximum results to return in response (default=100, maximum=1000).", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the input of a ListScrapers operation.", + "smithy.api#input": {} + } + }, + "com.amazonaws.amp#ListScrapersResponse": { + "type": "structure", + "members": { + "scrapers": { + "target": "com.amazonaws.amp#ScraperSummaryList", + "traits": { + "smithy.api#documentation": "The list of scrapers, filtered down if a set of filters was provided in the request.", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.amp#PaginationToken", + "traits": { + "smithy.api#documentation": "Pagination token to use when requesting the next page in this list." + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the output of a ListScrapers operation.", + "smithy.api#output": {} + } + }, + "com.amazonaws.amp#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.amp#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.amp#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.amp#AccessDeniedException" + }, + { + "target": "com.amazonaws.amp#InternalServerException" + }, + { + "target": "com.amazonaws.amp#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.amp#ThrottlingException" + }, + { + "target": "com.amazonaws.amp#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "Lists the tags you have assigned to the resource.", + "smithy.api#http": { + "method": "GET", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.amp#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The ARN of the resource.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.amp#ListTagsForResourceResponse": { + "type": "structure", + "members": { "tags": { "target": "com.amazonaws.amp#TagMap" } @@ -2365,7 +3186,10 @@ "com.amazonaws.amp#PaginationToken": { "type": "string", "traits": { - "smithy.api#documentation": "A token used to access the next page in a paginated result set." + "smithy.api#documentation": "A token used to access the next page in a paginated result set.", + "smithy.api#length": { + "max": 1000 + } } }, "com.amazonaws.amp#PutAlertManagerDefinition": { @@ -2832,6 +3656,363 @@ "smithy.api#documentation": "A list of rule groups namespace summary." } }, + "com.amazonaws.amp#ScrapeConfiguration": { + "type": "union", + "members": { + "configurationBlob": { + "target": "smithy.api#Blob", + "traits": { + "smithy.api#documentation": "Binary data representing a Prometheus configuration file." + } + } + }, + "traits": { + "smithy.api#documentation": "A representation of a Prometheus configuration file." + } + }, + "com.amazonaws.amp#Scraper": { + "type": "resource", + "identifiers": { + "scraperId": { + "target": "com.amazonaws.amp#ScraperId" + } + }, + "create": { + "target": "com.amazonaws.amp#CreateScraper" + }, + "read": { + "target": "com.amazonaws.amp#DescribeScraper" + }, + "delete": { + "target": "com.amazonaws.amp#DeleteScraper" + }, + "list": { + "target": "com.amazonaws.amp#ListScrapers" + }, + "traits": { + "aws.api#arn": { + "template": "scraper/{scraperId}" + }, + "smithy.api#documentation": "A scraper is a logical and isolated Prometheus server dedicated to discovering and collecting metrics and producing them to an AMP workspace." + } + }, + "com.amazonaws.amp#ScraperAlias": { + "type": "string", + "traits": { + "smithy.api#documentation": "A user-assigned scraper alias.", + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^[0-9A-Za-z][-.0-9A-Z_a-z]*$" + } + }, + "com.amazonaws.amp#ScraperArn": { + "type": "string", + "traits": { + "aws.api#arnReference": { + "type": "AWS::APS::Scraper", + "service": "ManagedPrometheusCP", + "resource": "Scraper" + }, + "smithy.api#documentation": "An ARN identifying a scrape configuration." + } + }, + "com.amazonaws.amp#ScraperDescription": { + "type": "structure", + "members": { + "alias": { + "target": "com.amazonaws.amp#ScraperAlias", + "traits": { + "smithy.api#documentation": "Alias of this scraper." + } + }, + "scraperId": { + "target": "com.amazonaws.amp#ScraperId", + "traits": { + "smithy.api#documentation": "Unique string identifying this scraper.", + "smithy.api#required": {} + } + }, + "arn": { + "target": "com.amazonaws.amp#ScraperArn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of this scraper.", + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.amp#IamRoleArn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role that provides permissions for the scraper to dsicover, collect, and produce metrics on your behalf.", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.amp#ScraperStatus", + "traits": { + "smithy.api#documentation": "The status of this scraper.", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "The time when the scraper was created.", + "smithy.api#required": {} + } + }, + "lastModifiedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "The time when the scraper was last modified.", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#documentation": "The tags of this scraper." + } + }, + "statusReason": { + "target": "com.amazonaws.amp#StatusReason", + "traits": { + "smithy.api#documentation": "The reason for failure if any." + } + }, + "scrapeConfiguration": { + "target": "com.amazonaws.amp#ScrapeConfiguration", + "traits": { + "smithy.api#documentation": "The configuration used to create the scraper.", + "smithy.api#required": {} + } + }, + "source": { + "target": "com.amazonaws.amp#Source", + "traits": { + "smithy.api#documentation": "The source that the scraper is discovering and collecting metrics from.", + "smithy.api#required": {} + } + }, + "destination": { + "target": "com.amazonaws.amp#Destination", + "traits": { + "smithy.api#documentation": "The destination that the scraper is producing metrics to.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the properties of a scraper.", + "smithy.api#references": [ + { + "resource": "com.amazonaws.amp#Scraper" + } + ] + } + }, + "com.amazonaws.amp#ScraperFilters": { + "type": "map", + "key": { + "target": "com.amazonaws.amp#FilterKey", + "traits": { + "smithy.api#documentation": "The name of the key to filter by. Currently supported filter keys are 'status', 'sourceArn', 'destinationArn', and 'alias'." + } + }, + "value": { + "target": "com.amazonaws.amp#FilterValues", + "traits": { + "smithy.api#documentation": "The values of the given key to filter by." + } + }, + "traits": { + "smithy.api#documentation": "A list of scraper filters.", + "smithy.api#length": { + "min": 1, + "max": 4 + } + } + }, + "com.amazonaws.amp#ScraperId": { + "type": "string", + "traits": { + "smithy.api#documentation": "A scraper ID.", + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[0-9A-Za-z][-.0-9A-Z_a-z]*$" + } + }, + "com.amazonaws.amp#ScraperStatus": { + "type": "structure", + "members": { + "statusCode": { + "target": "com.amazonaws.amp#ScraperStatusCode", + "traits": { + "smithy.api#documentation": "Status code of this scraper.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the status of a scraper." + } + }, + "com.amazonaws.amp#ScraperStatusCode": { + "type": "string", + "traits": { + "smithy.api#documentation": "State of a scraper.", + "smithy.api#enum": [ + { + "name": "CREATING", + "value": "CREATING", + "documentation": "Scraper is being created. Deletion is disallowed until status is ACTIVE." + }, + { + "name": "ACTIVE", + "value": "ACTIVE", + "documentation": "Scraper has been created and is usable." + }, + { + "name": "DELETING", + "value": "DELETING", + "documentation": "Scraper is being deleted. Deletions are allowed only when status is ACTIVE." + }, + { + "name": "CREATION_FAILED", + "value": "CREATION_FAILED", + "documentation": "Scraper creation failed." + }, + { + "name": "DELETION_FAILED", + "value": "DELETION_FAILED", + "documentation": "Scraper deletion failed." + } + ] + } + }, + "com.amazonaws.amp#ScraperSummary": { + "type": "structure", + "members": { + "alias": { + "target": "com.amazonaws.amp#ScraperAlias", + "traits": { + "smithy.api#documentation": "Alias of this scraper." + } + }, + "scraperId": { + "target": "com.amazonaws.amp#ScraperId", + "traits": { + "smithy.api#documentation": "Unique string identifying this scraper.", + "smithy.api#required": {} + } + }, + "arn": { + "target": "com.amazonaws.amp#ScraperArn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of this scraper.", + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.amp#IamRoleArn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role that provides permissions for the scraper to dsicover, collect, and produce metrics on your behalf.", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.amp#ScraperStatus", + "traits": { + "smithy.api#documentation": "The status of this scraper.", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "The time when the scraper was created.", + "smithy.api#required": {} + } + }, + "lastModifiedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "The time when the scraper was last modified.", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#documentation": "The tags of this scraper." + } + }, + "statusReason": { + "target": "com.amazonaws.amp#StatusReason", + "traits": { + "smithy.api#documentation": "The reason for failure if any." + } + }, + "source": { + "target": "com.amazonaws.amp#Source", + "traits": { + "smithy.api#documentation": "The source that the scraper is discovering and collecting metrics from.", + "smithy.api#required": {} + } + }, + "destination": { + "target": "com.amazonaws.amp#Destination", + "traits": { + "smithy.api#documentation": "The destination that the scraper is producing metrics to.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Represents a summary of the properties of a scraper.", + "smithy.api#references": [ + { + "resource": "com.amazonaws.amp#Scraper" + } + ] + } + }, + "com.amazonaws.amp#ScraperSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.amp#ScraperSummary" + }, + "traits": { + "smithy.api#documentation": "A list of scraper summaries." + } + }, + "com.amazonaws.amp#SecurityGroupId": { + "type": "string", + "traits": { + "smithy.api#documentation": "ID of a VPC security group.", + "smithy.api#length": { + "min": 0, + "max": 255 + }, + "smithy.api#pattern": "^sg-[0-9a-z]+$" + } + }, + "com.amazonaws.amp#SecurityGroupIds": { + "type": "list", + "member": { + "target": "com.amazonaws.amp#SecurityGroupId" + }, + "traits": { + "smithy.api#documentation": "A list of security group IDs specified for VPC configuration.", + "smithy.api#length": { + "min": 1, + "max": 5 + } + } + }, "com.amazonaws.amp#ServiceQuotaExceededException": { "type": "structure", "members": { @@ -2877,6 +4058,54 @@ "smithy.api#httpError": 402 } }, + "com.amazonaws.amp#Source": { + "type": "union", + "members": { + "eksConfiguration": { + "target": "com.amazonaws.amp#EksConfiguration", + "traits": { + "smithy.api#documentation": "A representation of an EKS source." + } + } + }, + "traits": { + "smithy.api#documentation": "A representation of a source that a scraper can discover and collect metrics from." + } + }, + "com.amazonaws.amp#StatusReason": { + "type": "string", + "traits": { + "smithy.api#documentation": "The reason for failure if any.", + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.amp#SubnetId": { + "type": "string", + "traits": { + "smithy.api#documentation": "ID of a VPC subnet.", + "smithy.api#length": { + "min": 0, + "max": 255 + }, + "smithy.api#pattern": "^subnet-[0-9a-z]+$" + } + }, + "com.amazonaws.amp#SubnetIds": { + "type": "list", + "member": { + "target": "com.amazonaws.amp#SubnetId" + }, + "traits": { + "smithy.api#documentation": "A list of subnet IDs specified for VPC configuration.", + "smithy.api#length": { + "min": 1, + "max": 5 + } + } + }, "com.amazonaws.amp#TagKey": { "type": "string", "traits": { @@ -3378,7 +4607,8 @@ "service": "ManagedPrometheusCP", "resource": "Workspace" }, - "smithy.api#documentation": "An ARN identifying a Workspace." + "smithy.api#documentation": "An ARN identifying a Workspace.", + "smithy.api#pattern": "^arn:aws[-a-z]*:aps:[-a-z0-9]+:[0-9]{12}:workspace/.+$" } }, "com.amazonaws.amp#WorkspaceDescription": { diff --git a/codegen/sdk-codegen/aws-models/bcm-data-exports.json b/codegen/sdk-codegen/aws-models/bcm-data-exports.json new file mode 100644 index 00000000000..566693af40c --- /dev/null +++ b/codegen/sdk-codegen/aws-models/bcm-data-exports.json @@ -0,0 +1,2294 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.bcmdataexports#AWSBillingAndCostManagementDataExports": { + "type": "service", + "version": "2023-11-26", + "operations": [ + { + "target": "com.amazonaws.bcmdataexports#CreateExport" + }, + { + "target": "com.amazonaws.bcmdataexports#DeleteExport" + }, + { + "target": "com.amazonaws.bcmdataexports#GetExecution" + }, + { + "target": "com.amazonaws.bcmdataexports#GetExport" + }, + { + "target": "com.amazonaws.bcmdataexports#GetTable" + }, + { + "target": "com.amazonaws.bcmdataexports#ListExecutions" + }, + { + "target": "com.amazonaws.bcmdataexports#ListExports" + }, + { + "target": "com.amazonaws.bcmdataexports#ListTables" + }, + { + "target": "com.amazonaws.bcmdataexports#ListTagsForResource" + }, + { + "target": "com.amazonaws.bcmdataexports#TagResource" + }, + { + "target": "com.amazonaws.bcmdataexports#UntagResource" + }, + { + "target": "com.amazonaws.bcmdataexports#UpdateExport" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "BCM Data Exports", + "arnNamespace": "bcm-data-exports", + "cloudTrailEventSource": "bcm-data-exports.amazonaws.com", + "endpointPrefix": "bcm-data-exports" + }, + "aws.auth#sigv4": { + "name": "bcm-data-exports" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

You can use the Data Exports API to create customized exports from multiple Amazon Web Services cost management and billing datasets, such as cost and usage data and cost\n optimization recommendations.

\n

The Data Exports API provides the following endpoint:

\n ", + "smithy.api#title": "AWS Billing and Cost Management Data Exports", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "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" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bcm-data-exports-fips.{Region}.api.aws", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://bcm-data-exports.us-east-1.api.aws", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "bcm-data-exports", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bcm-data-exports-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://bcm-data-exports.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bcm-data-exports-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://bcm-data-exports.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region aws-global with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "bcm-data-exports", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://bcm-data-exports.us-east-1.api.aws" + } + }, + "params": { + "Region": "aws-global", + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bcm-data-exports-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "bcm-data-exports", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://bcm-data-exports.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bcm-data-exports-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bcm-data-exports.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bcm-data-exports-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bcm-data-exports.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "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": { + "Region": "us-east-1", + "UseFIPS": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.bcmdataexports#Arn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws[-a-z0-9]*:[-a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+$" + } + }, + "com.amazonaws.bcmdataexports#Column": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The column name.

" + } + }, + "Type": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The kind of data a column stores.

" + } + }, + "Description": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The description for a column.

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

Includes basic information for a data column such as its description, name, and\n type.

" + } + }, + "com.amazonaws.bcmdataexports#ColumnList": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmdataexports#Column" + } + }, + "com.amazonaws.bcmdataexports#CompressionOption": { + "type": "enum", + "members": { + "GZIP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GZIP" + } + }, + "PARQUET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PARQUET" + } + } + } + }, + "com.amazonaws.bcmdataexports#CreateExport": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmdataexports#CreateExportRequest" + }, + "output": { + "target": "com.amazonaws.bcmdataexports#CreateExportResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmdataexports#InternalServerException" + }, + { + "target": "com.amazonaws.bcmdataexports#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.bcmdataexports#ThrottlingException" + }, + { + "target": "com.amazonaws.bcmdataexports#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a data export and specifies the data query, the delivery preference, and any\n optional resource tags.

\n

A DataQuery consists of both a QueryStatement and\n TableConfigurations.

\n

The QueryStatement is an SQL statement. Data Exports only supports a limited\n subset of the SQL syntax. For more information on the SQL syntax that is supported, see Data query. To\n view the available tables and columns, see the Data Exports table\n dictionary.

\n

The TableConfigurations is a collection of specified\n TableProperties for the table being queried in the QueryStatement.\n TableProperties are additional configurations you can provide to change the data and schema of\n a table. Each table can have different TableProperties. However, tables are not required to\n have any TableProperties. Each table property has a default value that it assumes if not\n specified. For more information on table configurations, see Data query. To\n view the table properties available for each table, see the Data Exports table\n dictionary or use the ListTables API to get a response of all tables\n and their available properties.

" + } + }, + "com.amazonaws.bcmdataexports#CreateExportRequest": { + "type": "structure", + "members": { + "Export": { + "target": "com.amazonaws.bcmdataexports#Export", + "traits": { + "smithy.api#documentation": "

The details of the export, including data query, name, description, and destination\n configuration.

", + "smithy.api#required": {} + } + }, + "ResourceTags": { + "target": "com.amazonaws.bcmdataexports#ResourceTagList", + "traits": { + "smithy.api#documentation": "

An optional list of tags to associate with the specified export. Each tag consists of a\n key and a value, and each key must be unique for the resource.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmdataexports#CreateExportResponse": { + "type": "structure", + "members": { + "ExportArn": { + "target": "com.amazonaws.bcmdataexports#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for this export.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmdataexports#DataQuery": { + "type": "structure", + "members": { + "QueryStatement": { + "target": "com.amazonaws.bcmdataexports#QueryStatement", + "traits": { + "smithy.api#documentation": "

The query statement.

", + "smithy.api#required": {} + } + }, + "TableConfigurations": { + "target": "com.amazonaws.bcmdataexports#TableConfigurations", + "traits": { + "smithy.api#documentation": "

The table configuration.

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

The SQL query of column selections and row filters from the data table you want.

" + } + }, + "com.amazonaws.bcmdataexports#DeleteExport": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmdataexports#DeleteExportRequest" + }, + "output": { + "target": "com.amazonaws.bcmdataexports#DeleteExportResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmdataexports#InternalServerException" + }, + { + "target": "com.amazonaws.bcmdataexports#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bcmdataexports#ThrottlingException" + }, + { + "target": "com.amazonaws.bcmdataexports#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an existing data export.

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bcmdataexports#DeleteExportRequest": { + "type": "structure", + "members": { + "ExportArn": { + "target": "com.amazonaws.bcmdataexports#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for this export.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmdataexports#DeleteExportResponse": { + "type": "structure", + "members": { + "ExportArn": { + "target": "com.amazonaws.bcmdataexports#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for this export.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmdataexports#DestinationConfigurations": { + "type": "structure", + "members": { + "S3Destination": { + "target": "com.amazonaws.bcmdataexports#S3Destination", + "traits": { + "smithy.api#documentation": "

An object that describes the destination of the data exports file.

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

The destinations used for data exports.

" + } + }, + "com.amazonaws.bcmdataexports#ExecutionReference": { + "type": "structure", + "members": { + "ExecutionId": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The ID for this specific execution.

", + "smithy.api#required": {} + } + }, + "ExecutionStatus": { + "target": "com.amazonaws.bcmdataexports#ExecutionStatus", + "traits": { + "smithy.api#documentation": "

The status of this specific execution.

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

The reference for the data export update.

" + } + }, + "com.amazonaws.bcmdataexports#ExecutionReferenceList": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmdataexports#ExecutionReference" + } + }, + "com.amazonaws.bcmdataexports#ExecutionStatus": { + "type": "structure", + "members": { + "StatusCode": { + "target": "com.amazonaws.bcmdataexports#ExecutionStatusCode", + "traits": { + "smithy.api#documentation": "

The code for the status of the execution.

" + } + }, + "StatusReason": { + "target": "com.amazonaws.bcmdataexports#ExecutionStatusReason", + "traits": { + "smithy.api#documentation": "

The reason for the failed status.

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

The time when the execution was created.

", + "smithy.api#timestampFormat": "date-time" + } + }, + "CompletedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The time when the execution was completed.

", + "smithy.api#timestampFormat": "date-time" + } + }, + "LastUpdatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The time when the execution was last updated.

", + "smithy.api#timestampFormat": "date-time" + } + } + }, + "traits": { + "smithy.api#documentation": "

The status of the execution.

" + } + }, + "com.amazonaws.bcmdataexports#ExecutionStatusCode": { + "type": "enum", + "members": { + "INITIATION_IN_PROCESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INITIATION_IN_PROCESS" + } + }, + "QUERY_QUEUED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "QUERY_QUEUED" + } + }, + "QUERY_IN_PROCESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "QUERY_IN_PROCESS" + } + }, + "QUERY_FAILURE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "QUERY_FAILURE" + } + }, + "DELIVERY_IN_PROCESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELIVERY_IN_PROCESS" + } + }, + "DELIVERY_SUCCESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELIVERY_SUCCESS" + } + }, + "DELIVERY_FAILURE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELIVERY_FAILURE" + } + } + } + }, + "com.amazonaws.bcmdataexports#ExecutionStatusReason": { + "type": "enum", + "members": { + "INSUFFICIENT_PERMISSION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INSUFFICIENT_PERMISSION" + } + }, + "BILL_OWNER_CHANGED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BILL_OWNER_CHANGED" + } + }, + "INTERNAL_FAILURE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_FAILURE" + } + } + } + }, + "com.amazonaws.bcmdataexports#Export": { + "type": "structure", + "members": { + "ExportArn": { + "target": "com.amazonaws.bcmdataexports#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for this export.

" + } + }, + "Name": { + "target": "com.amazonaws.bcmdataexports#ExportName", + "traits": { + "smithy.api#documentation": "

The name of this specific data export.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The description for this specific data export.

" + } + }, + "DataQuery": { + "target": "com.amazonaws.bcmdataexports#DataQuery", + "traits": { + "smithy.api#documentation": "

The data query for this specific data export.

", + "smithy.api#required": {} + } + }, + "DestinationConfigurations": { + "target": "com.amazonaws.bcmdataexports#DestinationConfigurations", + "traits": { + "smithy.api#documentation": "

The destination configuration for this specific data export.

", + "smithy.api#required": {} + } + }, + "RefreshCadence": { + "target": "com.amazonaws.bcmdataexports#RefreshCadence", + "traits": { + "smithy.api#documentation": "

The cadence for Amazon Web Services to update the export in your S3 bucket.

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

The details that are available for an export.

" + } + }, + "com.amazonaws.bcmdataexports#ExportName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[0-9A-Za-z!\\-_.*\\'()]+$" + } + }, + "com.amazonaws.bcmdataexports#ExportReference": { + "type": "structure", + "members": { + "ExportArn": { + "target": "com.amazonaws.bcmdataexports#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for this export.

", + "smithy.api#required": {} + } + }, + "ExportName": { + "target": "com.amazonaws.bcmdataexports#ExportName", + "traits": { + "smithy.api#documentation": "

The name of this specific data export.

", + "smithy.api#required": {} + } + }, + "ExportStatus": { + "target": "com.amazonaws.bcmdataexports#ExportStatus", + "traits": { + "smithy.api#documentation": "

The status of this specific data export.

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

The reference details for a given export.

" + } + }, + "com.amazonaws.bcmdataexports#ExportReferenceList": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmdataexports#ExportReference" + } + }, + "com.amazonaws.bcmdataexports#ExportStatus": { + "type": "structure", + "members": { + "StatusCode": { + "target": "com.amazonaws.bcmdataexports#ExportStatusCode", + "traits": { + "smithy.api#documentation": "

The status code for the request.

" + } + }, + "StatusReason": { + "target": "com.amazonaws.bcmdataexports#ExecutionStatusReason", + "traits": { + "smithy.api#documentation": "

The description for the status code.

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

The timestamp of when the export was created.

", + "smithy.api#timestampFormat": "date-time" + } + }, + "LastUpdatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the export was updated.

", + "smithy.api#timestampFormat": "date-time" + } + }, + "LastRefreshedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the export was last generated.

", + "smithy.api#timestampFormat": "date-time" + } + } + }, + "traits": { + "smithy.api#documentation": "

The status of the data export.

" + } + }, + "com.amazonaws.bcmdataexports#ExportStatusCode": { + "type": "enum", + "members": { + "HEALTHY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HEALTHY" + } + }, + "UNHEALTHY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNHEALTHY" + } + } + } + }, + "com.amazonaws.bcmdataexports#FormatOption": { + "type": "enum", + "members": { + "TEXT_OR_CSV": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TEXT_OR_CSV" + } + }, + "PARQUET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PARQUET" + } + } + } + }, + "com.amazonaws.bcmdataexports#FrequencyOption": { + "type": "enum", + "members": { + "SYNCHRONOUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SYNCHRONOUS" + } + } + } + }, + "com.amazonaws.bcmdataexports#GenericString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + }, + "smithy.api#pattern": "^[\\S\\s]*$" + } + }, + "com.amazonaws.bcmdataexports#GenericStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmdataexports#GenericString" + } + }, + "com.amazonaws.bcmdataexports#GetExecution": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmdataexports#GetExecutionRequest" + }, + "output": { + "target": "com.amazonaws.bcmdataexports#GetExecutionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmdataexports#InternalServerException" + }, + { + "target": "com.amazonaws.bcmdataexports#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bcmdataexports#ThrottlingException" + }, + { + "target": "com.amazonaws.bcmdataexports#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Exports data based on the source data update.

", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmdataexports#GetExecutionRequest": { + "type": "structure", + "members": { + "ExportArn": { + "target": "com.amazonaws.bcmdataexports#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Export object that generated this specific\n execution.

", + "smithy.api#required": {} + } + }, + "ExecutionId": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The ID for this specific execution.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmdataexports#GetExecutionResponse": { + "type": "structure", + "members": { + "ExecutionId": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The ID for this specific execution.

" + } + }, + "Export": { + "target": "com.amazonaws.bcmdataexports#Export", + "traits": { + "smithy.api#documentation": "

The export data for this specific execution. This export data is a snapshot from when the\n execution was generated. The data could be different from the current export data if the\n export was updated since the execution was generated.

" + } + }, + "ExecutionStatus": { + "target": "com.amazonaws.bcmdataexports#ExecutionStatus", + "traits": { + "smithy.api#documentation": "

The status of this specific execution.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmdataexports#GetExport": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmdataexports#GetExportRequest" + }, + "output": { + "target": "com.amazonaws.bcmdataexports#GetExportResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmdataexports#InternalServerException" + }, + { + "target": "com.amazonaws.bcmdataexports#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bcmdataexports#ThrottlingException" + }, + { + "target": "com.amazonaws.bcmdataexports#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Views the definition of an existing data export.

", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmdataexports#GetExportRequest": { + "type": "structure", + "members": { + "ExportArn": { + "target": "com.amazonaws.bcmdataexports#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for this export.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmdataexports#GetExportResponse": { + "type": "structure", + "members": { + "Export": { + "target": "com.amazonaws.bcmdataexports#Export", + "traits": { + "smithy.api#documentation": "

The data for this specific export.

" + } + }, + "ExportStatus": { + "target": "com.amazonaws.bcmdataexports#ExportStatus", + "traits": { + "smithy.api#documentation": "

The status of this specific export.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmdataexports#GetTable": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmdataexports#GetTableRequest" + }, + "output": { + "target": "com.amazonaws.bcmdataexports#GetTableResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmdataexports#InternalServerException" + }, + { + "target": "com.amazonaws.bcmdataexports#ThrottlingException" + }, + { + "target": "com.amazonaws.bcmdataexports#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns the metadata for the specified table and table properties. This includes the list\n of columns in the table schema, their data types, and column descriptions.

", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmdataexports#GetTableRequest": { + "type": "structure", + "members": { + "TableName": { + "target": "com.amazonaws.bcmdataexports#TableName", + "traits": { + "smithy.api#documentation": "

The name of the table.

", + "smithy.api#required": {} + } + }, + "TableProperties": { + "target": "com.amazonaws.bcmdataexports#TableProperties", + "traits": { + "smithy.api#documentation": "

TableProperties are additional configurations you can provide to change the data and\n schema of a table. Each table can have different TableProperties. Tables are not required to\n have any TableProperties. Each table property has a default value that it assumes if not\n specified.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmdataexports#GetTableResponse": { + "type": "structure", + "members": { + "TableName": { + "target": "com.amazonaws.bcmdataexports#TableName", + "traits": { + "smithy.api#documentation": "

The name of the table.

" + } + }, + "Description": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The table description.

" + } + }, + "TableProperties": { + "target": "com.amazonaws.bcmdataexports#TableProperties", + "traits": { + "smithy.api#documentation": "

TableProperties are additional configurations you can provide to change the data and\n schema of a table. Each table can have different TableProperties. Tables are not required to\n have any TableProperties. Each table property has a default value that it assumes if not\n specified.

" + } + }, + "Schema": { + "target": "com.amazonaws.bcmdataexports#ColumnList", + "traits": { + "smithy.api#documentation": "

The schema of the table.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmdataexports#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.bcmdataexports#ListExecutions": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmdataexports#ListExecutionsRequest" + }, + "output": { + "target": "com.amazonaws.bcmdataexports#ListExecutionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmdataexports#InternalServerException" + }, + { + "target": "com.amazonaws.bcmdataexports#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bcmdataexports#ThrottlingException" + }, + { + "target": "com.amazonaws.bcmdataexports#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the historical executions for the export.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "Executions" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmdataexports#ListExecutionsRequest": { + "type": "structure", + "members": { + "ExportArn": { + "target": "com.amazonaws.bcmdataexports#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for this export.

", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.bcmdataexports#MaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The maximum number of objects that are returned for the request.

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

The token to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmdataexports#ListExecutionsResponse": { + "type": "structure", + "members": { + "Executions": { + "target": "com.amazonaws.bcmdataexports#ExecutionReferenceList", + "traits": { + "smithy.api#documentation": "

The list of executions.

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

The token to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmdataexports#ListExports": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmdataexports#ListExportsRequest" + }, + "output": { + "target": "com.amazonaws.bcmdataexports#ListExportsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmdataexports#InternalServerException" + }, + { + "target": "com.amazonaws.bcmdataexports#ThrottlingException" + }, + { + "target": "com.amazonaws.bcmdataexports#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists all data export definitions.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "Exports" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmdataexports#ListExportsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.bcmdataexports#MaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The maximum number of objects that are returned for the request.

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

The token to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmdataexports#ListExportsResponse": { + "type": "structure", + "members": { + "Exports": { + "target": "com.amazonaws.bcmdataexports#ExportReferenceList", + "traits": { + "smithy.api#documentation": "

The details of the exports, including name and export status.

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

The token to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmdataexports#ListTables": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmdataexports#ListTablesRequest" + }, + "output": { + "target": "com.amazonaws.bcmdataexports#ListTablesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmdataexports#InternalServerException" + }, + { + "target": "com.amazonaws.bcmdataexports#ThrottlingException" + }, + { + "target": "com.amazonaws.bcmdataexports#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists all available tables in data exports.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "Tables" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmdataexports#ListTablesRequest": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.bcmdataexports#NextPageToken", + "traits": { + "smithy.api#documentation": "

The token to retrieve the next set of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.bcmdataexports#MaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The maximum number of objects that are returned for the request.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmdataexports#ListTablesResponse": { + "type": "structure", + "members": { + "Tables": { + "target": "com.amazonaws.bcmdataexports#TableList", + "traits": { + "smithy.api#documentation": "

The list of tables.

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

The token to retrieve the next set of results.

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

List tags associated with an existing data export.

", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bcmdataexports#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.bcmdataexports#Arn", + "traits": { + "smithy.api#documentation": "

The unique identifier for the resource.

", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.bcmdataexports#MaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The maximum number of objects that are returned for the request.

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

The token to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmdataexports#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "ResourceTags": { + "target": "com.amazonaws.bcmdataexports#ResourceTagList", + "traits": { + "smithy.api#documentation": "

An optional list of tags to associate with the specified export. Each tag consists of a\n key and a value, and each key must be unique for the resource.

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

The token to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmdataexports#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.bcmdataexports#NextPageToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 8192 + }, + "smithy.api#pattern": "^[\\S\\s]*$" + } + }, + "com.amazonaws.bcmdataexports#OverwriteOption": { + "type": "enum", + "members": { + "CREATE_NEW_REPORT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATE_NEW_REPORT" + } + }, + "OVERWRITE_REPORT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OVERWRITE_REPORT" + } + } + } + }, + "com.amazonaws.bcmdataexports#QueryStatement": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 36000 + }, + "smithy.api#pattern": "^[\\S\\s]*$" + } + }, + "com.amazonaws.bcmdataexports#RefreshCadence": { + "type": "structure", + "members": { + "Frequency": { + "target": "com.amazonaws.bcmdataexports#FrequencyOption", + "traits": { + "smithy.api#documentation": "

The frequency that data exports are updated. The export refreshes each time the source\n data updates, up to three times daily.

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

The cadence for Amazon Web Services to update the data export in your S3 bucket.

" + } + }, + "com.amazonaws.bcmdataexports#ResourceNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#required": {} + } + }, + "ResourceId": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The identifier of the resource that was not found.

", + "smithy.api#required": {} + } + }, + "ResourceType": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The type of the resource that was not found.

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

The specified Amazon Resource Name (ARN) in the request doesn't exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.bcmdataexports#ResourceTag": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.bcmdataexports#ResourceTagKey", + "traits": { + "smithy.api#documentation": "

The key that's associated with the tag.

", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.bcmdataexports#ResourceTagValue", + "traits": { + "smithy.api#documentation": "

The value that's associated with the tag.

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

The tag structure that contains a tag key and value.

" + } + }, + "com.amazonaws.bcmdataexports#ResourceTagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.bcmdataexports#ResourceTagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmdataexports#ResourceTagKey" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.bcmdataexports#ResourceTagList": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmdataexports#ResourceTag" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.bcmdataexports#ResourceTagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + } + } + }, + "com.amazonaws.bcmdataexports#S3Destination": { + "type": "structure", + "members": { + "S3Bucket": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The name of the Amazon S3 bucket used as the destination of a data export file.

", + "smithy.api#required": {} + } + }, + "S3Prefix": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The S3 path prefix you want prepended to the name of your data export.

", + "smithy.api#required": {} + } + }, + "S3Region": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The S3 bucket Region.

", + "smithy.api#required": {} + } + }, + "S3OutputConfigurations": { + "target": "com.amazonaws.bcmdataexports#S3OutputConfigurations", + "traits": { + "smithy.api#documentation": "

The output configuration for the data export.

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

Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and object\n keys of a data exports file.

" + } + }, + "com.amazonaws.bcmdataexports#S3OutputConfigurations": { + "type": "structure", + "members": { + "OutputType": { + "target": "com.amazonaws.bcmdataexports#S3OutputType", + "traits": { + "smithy.api#documentation": "

The output type for the data export.

", + "smithy.api#required": {} + } + }, + "Format": { + "target": "com.amazonaws.bcmdataexports#FormatOption", + "traits": { + "smithy.api#documentation": "

The file format for the data export.

", + "smithy.api#required": {} + } + }, + "Compression": { + "target": "com.amazonaws.bcmdataexports#CompressionOption", + "traits": { + "smithy.api#documentation": "

The compression type for the data export.

", + "smithy.api#required": {} + } + }, + "Overwrite": { + "target": "com.amazonaws.bcmdataexports#OverwriteOption", + "traits": { + "smithy.api#documentation": "

The rule to follow when generating a version of the data export file. You have the choice\n to overwrite the previous version or to be delivered in addition to the previous versions.\n Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows\n you to track the changes in cost and usage data over time.

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

The compression type, file format, and overwrite preference for the data export.

" + } + }, + "com.amazonaws.bcmdataexports#S3OutputType": { + "type": "enum", + "members": { + "CUSTOM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOM" + } + } + } + }, + "com.amazonaws.bcmdataexports#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#required": {} + } + }, + "ResourceId": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The identifier of the resource that exceeded quota.

" + } + }, + "ResourceType": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The type of the resource that exceeded quota.

" + } + }, + "QuotaCode": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The quota code that was exceeded.

", + "smithy.api#required": {} + } + }, + "ServiceCode": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The service code that exceeded quota. It will always be\n “AWSBillingAndCostManagementDataExports”.

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

You've reached the limit on the number of resources you can create, or exceeded the size\n of an individual resource.

", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.bcmdataexports#Table": { + "type": "structure", + "members": { + "TableName": { + "target": "com.amazonaws.bcmdataexports#TableName", + "traits": { + "smithy.api#documentation": "

The name of the table.

" + } + }, + "Description": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The description for the table.

" + } + }, + "TableProperties": { + "target": "com.amazonaws.bcmdataexports#TablePropertyDescriptionList", + "traits": { + "smithy.api#documentation": "

The properties for the table.

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

The details for the data export table.

" + } + }, + "com.amazonaws.bcmdataexports#TableConfigurations": { + "type": "map", + "key": { + "target": "com.amazonaws.bcmdataexports#TableName" + }, + "value": { + "target": "com.amazonaws.bcmdataexports#TableProperties" + } + }, + "com.amazonaws.bcmdataexports#TableList": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmdataexports#Table" + } + }, + "com.amazonaws.bcmdataexports#TableName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + }, + "smithy.api#pattern": "^[\\S\\s]*$" + } + }, + "com.amazonaws.bcmdataexports#TableProperties": { + "type": "map", + "key": { + "target": "com.amazonaws.bcmdataexports#TableProperty" + }, + "value": { + "target": "com.amazonaws.bcmdataexports#GenericString" + } + }, + "com.amazonaws.bcmdataexports#TableProperty": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + }, + "smithy.api#pattern": "^[\\S\\s]*$" + } + }, + "com.amazonaws.bcmdataexports#TablePropertyDescription": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The name of the table.

" + } + }, + "ValidValues": { + "target": "com.amazonaws.bcmdataexports#GenericStringList", + "traits": { + "smithy.api#documentation": "

The valid values for the table.

" + } + }, + "DefaultValue": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The default value for the table.

" + } + }, + "Description": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The description for the table.

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

The properties for the data export table.

" + } + }, + "com.amazonaws.bcmdataexports#TablePropertyDescriptionList": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmdataexports#TablePropertyDescription" + } + }, + "com.amazonaws.bcmdataexports#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmdataexports#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.bcmdataexports#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmdataexports#InternalServerException" + }, + { + "target": "com.amazonaws.bcmdataexports#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bcmdataexports#ThrottlingException" + }, + { + "target": "com.amazonaws.bcmdataexports#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Adds tags for an existing data export definition.

" + } + }, + "com.amazonaws.bcmdataexports#TagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.bcmdataexports#Arn", + "traits": { + "smithy.api#documentation": "

The unique identifier for the resource.

", + "smithy.api#required": {} + } + }, + "ResourceTags": { + "target": "com.amazonaws.bcmdataexports#ResourceTagList", + "traits": { + "smithy.api#documentation": "

The tags to associate with the resource. Each tag consists of a key and a value, and each\n key must be unique for the resource.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmdataexports#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmdataexports#ThrottlingException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#required": {} + } + }, + "QuotaCode": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The quota code that exceeded the throttling limit.

" + } + }, + "ServiceCode": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The service code that exceeded the throttling limit. It will always be\n “AWSBillingAndCostManagementDataExports”.

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

The request was denied due to request throttling.

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

Deletes tags associated with an existing data export definition.

" + } + }, + "com.amazonaws.bcmdataexports#UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.bcmdataexports#Arn", + "traits": { + "smithy.api#documentation": "

The unique identifier for the resource.

", + "smithy.api#required": {} + } + }, + "ResourceTagKeys": { + "target": "com.amazonaws.bcmdataexports#ResourceTagKeyList", + "traits": { + "smithy.api#documentation": "

The tag keys that are associated with the resource ARN.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmdataexports#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmdataexports#UpdateExport": { + "type": "operation", + "input": { + "target": "com.amazonaws.bcmdataexports#UpdateExportRequest" + }, + "output": { + "target": "com.amazonaws.bcmdataexports#UpdateExportResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bcmdataexports#InternalServerException" + }, + { + "target": "com.amazonaws.bcmdataexports#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bcmdataexports#ThrottlingException" + }, + { + "target": "com.amazonaws.bcmdataexports#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates an existing data export by overwriting all export parameters. All export\n parameters must be provided in the UpdateExport request.

" + } + }, + "com.amazonaws.bcmdataexports#UpdateExportRequest": { + "type": "structure", + "members": { + "ExportArn": { + "target": "com.amazonaws.bcmdataexports#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for this export.

", + "smithy.api#required": {} + } + }, + "Export": { + "target": "com.amazonaws.bcmdataexports#Export", + "traits": { + "smithy.api#documentation": "

The name and query details for the export.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bcmdataexports#UpdateExportResponse": { + "type": "structure", + "members": { + "ExportArn": { + "target": "com.amazonaws.bcmdataexports#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for this export.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bcmdataexports#ValidationException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#required": {} + } + }, + "Reason": { + "target": "com.amazonaws.bcmdataexports#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "

The reason for the validation exception.

" + } + }, + "Fields": { + "target": "com.amazonaws.bcmdataexports#ValidationExceptionFieldList", + "traits": { + "smithy.api#documentation": "

The list of fields that are invalid.

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

The input fails to satisfy the constraints specified by an Amazon Web Services\n service.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.bcmdataexports#ValidationExceptionField": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

The field name where the invalid entry was detected.

", + "smithy.api#required": {} + } + }, + "Message": { + "target": "com.amazonaws.bcmdataexports#GenericString", + "traits": { + "smithy.api#documentation": "

A message with the reason for the validation exception error.

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

The input failed to meet the constraints specified by the Amazon Web Services service in a\n specified field.

" + } + }, + "com.amazonaws.bcmdataexports#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.bcmdataexports#ValidationExceptionField" + } + }, + "com.amazonaws.bcmdataexports#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" + } + } + } + } + } +} \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/cloudtrail.json b/codegen/sdk-codegen/aws-models/cloudtrail.json index 75a32c14951..92a3b9c32cd 100644 --- a/codegen/sdk-codegen/aws-models/cloudtrail.json +++ b/codegen/sdk-codegen/aws-models/cloudtrail.json @@ -29,6 +29,26 @@ ] }, "shapes": { + "com.amazonaws.cloudtrail#AccessDeniedException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.cloudtrail#ErrorMessage", + "traits": { + "smithy.api#documentation": "

Brief description of the exception returned by the request.

" + } + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ResourceAccessDenied", + "httpResponseCode": 403 + }, + "smithy.api#documentation": "

\n You do not have sufficient access to perform this action.\n

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, "com.amazonaws.cloudtrail#AccountHasOngoingImportException": { "type": "structure", "members": { @@ -682,6 +702,12 @@ { "target": "com.amazonaws.cloudtrail#DescribeTrails" }, + { + "target": "com.amazonaws.cloudtrail#DisableFederation" + }, + { + "target": "com.amazonaws.cloudtrail#EnableFederation" + }, { "target": "com.amazonaws.cloudtrail#GetChannel" }, @@ -1854,6 +1880,26 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.cloudtrail#ConcurrentModificationException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.cloudtrail#ErrorMessage", + "traits": { + "smithy.api#documentation": "

Brief description of the exception returned by the request.

" + } + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ConcurrentModification", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

\n You are trying to update a resource when another request is in progress. Allow sufficient wait time for the previous request to complete, then retry your request. \n

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.cloudtrail#ConflictException": { "type": "structure", "members": { @@ -2602,9 +2648,15 @@ { "target": "com.amazonaws.cloudtrail#ChannelExistsForEDSException" }, + { + "target": "com.amazonaws.cloudtrail#ConflictException" + }, { "target": "com.amazonaws.cloudtrail#EventDataStoreARNInvalidException" }, + { + "target": "com.amazonaws.cloudtrail#EventDataStoreFederationEnabledException" + }, { "target": "com.amazonaws.cloudtrail#EventDataStoreHasOngoingImportException" }, @@ -2637,7 +2689,7 @@ } ], "traits": { - "smithy.api#documentation": "

Disables the event data store specified by EventDataStore, which accepts an\n event data store ARN. After you run DeleteEventDataStore, the event data store\n enters a PENDING_DELETION state, and is automatically deleted after a wait\n period of seven days. TerminationProtectionEnabled must be set to\n False on the event data store; this operation cannot work if\n TerminationProtectionEnabled is True.

\n

After you run DeleteEventDataStore on an event data store, you cannot run\n ListQueries, DescribeQuery, or GetQueryResults on\n queries that are using an event data store in a PENDING_DELETION state. An\n event data store in the PENDING_DELETION state does not incur costs.

" + "smithy.api#documentation": "

Disables the event data store specified by EventDataStore, which accepts an\n event data store ARN. After you run DeleteEventDataStore, the event data store\n enters a PENDING_DELETION state, and is automatically deleted after a wait\n period of seven days. TerminationProtectionEnabled must be set to\n False on the event data store and the FederationStatus must be DISABLED. \n You cannot delete an event data store if TerminationProtectionEnabled \n is True or the FederationStatus is ENABLED.

\n

After you run DeleteEventDataStore on an event data store, you cannot run\n ListQueries, DescribeQuery, or GetQueryResults on\n queries that are using an event data store in a PENDING_DELETION state. An\n event data store in the PENDING_DELETION state does not incur costs.

" } }, "com.amazonaws.cloudtrail#DeleteEventDataStoreRequest": { @@ -3162,6 +3214,204 @@ } } }, + "com.amazonaws.cloudtrail#DisableFederation": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudtrail#DisableFederationRequest" + }, + "output": { + "target": "com.amazonaws.cloudtrail#DisableFederationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.cloudtrail#AccessDeniedException" + }, + { + "target": "com.amazonaws.cloudtrail#CloudTrailAccessNotEnabledException" + }, + { + "target": "com.amazonaws.cloudtrail#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.cloudtrail#EventDataStoreARNInvalidException" + }, + { + "target": "com.amazonaws.cloudtrail#EventDataStoreNotFoundException" + }, + { + "target": "com.amazonaws.cloudtrail#InactiveEventDataStoreException" + }, + { + "target": "com.amazonaws.cloudtrail#InsufficientDependencyServiceAccessPermissionException" + }, + { + "target": "com.amazonaws.cloudtrail#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudtrail#NoManagementAccountSLRExistsException" + }, + { + "target": "com.amazonaws.cloudtrail#NotOrganizationMasterAccountException" + }, + { + "target": "com.amazonaws.cloudtrail#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.cloudtrail#OrganizationNotInAllFeaturesModeException" + }, + { + "target": "com.amazonaws.cloudtrail#OrganizationsNotInUseException" + }, + { + "target": "com.amazonaws.cloudtrail#UnsupportedOperationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Disables Lake query federation on the specified event data store. When you disable federation, CloudTrail \n removes the metadata associated with the federated event data store in the Glue Data Catalog and removes registration for\n the federation role ARN and event data store in Lake Formation. No CloudTrail Lake data is deleted \n when you disable federation.\n

" + } + }, + "com.amazonaws.cloudtrail#DisableFederationRequest": { + "type": "structure", + "members": { + "EventDataStore": { + "target": "com.amazonaws.cloudtrail#EventDataStoreArn", + "traits": { + "smithy.api#documentation": "

\n The ARN (or ID suffix of the ARN) of the event data store for which you want to disable Lake query federation.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.cloudtrail#DisableFederationResponse": { + "type": "structure", + "members": { + "EventDataStoreArn": { + "target": "com.amazonaws.cloudtrail#EventDataStoreArn", + "traits": { + "smithy.api#documentation": "

\n The ARN of the event data store for which you disabled Lake query federation.\n

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

\n The federation status.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.cloudtrail#EnableFederation": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudtrail#EnableFederationRequest" + }, + "output": { + "target": "com.amazonaws.cloudtrail#EnableFederationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.cloudtrail#AccessDeniedException" + }, + { + "target": "com.amazonaws.cloudtrail#CloudTrailAccessNotEnabledException" + }, + { + "target": "com.amazonaws.cloudtrail#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.cloudtrail#EventDataStoreARNInvalidException" + }, + { + "target": "com.amazonaws.cloudtrail#EventDataStoreFederationEnabledException" + }, + { + "target": "com.amazonaws.cloudtrail#EventDataStoreNotFoundException" + }, + { + "target": "com.amazonaws.cloudtrail#InactiveEventDataStoreException" + }, + { + "target": "com.amazonaws.cloudtrail#InsufficientDependencyServiceAccessPermissionException" + }, + { + "target": "com.amazonaws.cloudtrail#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudtrail#NoManagementAccountSLRExistsException" + }, + { + "target": "com.amazonaws.cloudtrail#NotOrganizationMasterAccountException" + }, + { + "target": "com.amazonaws.cloudtrail#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.cloudtrail#OrganizationNotInAllFeaturesModeException" + }, + { + "target": "com.amazonaws.cloudtrail#OrganizationsNotInUseException" + }, + { + "target": "com.amazonaws.cloudtrail#UnsupportedOperationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Enables Lake query federation on the specified event data store. Federating an event data store lets you view the metadata associated with the event data store in the Glue \n Data Catalog and run \n SQL queries against your event data using Amazon Athena. The table metadata stored in the Glue Data Catalog \n lets the Athena query engine know how to find, read, and process the data that you want to query.

\n

When you enable Lake query federation, CloudTrail\n creates a federated database named aws:cloudtrail (if the database doesn't already exist) and a federated table in\n the Glue Data Catalog. The event data store ID is used for the table name. CloudTrail registers the role ARN and event data store in\n Lake Formation, the service responsible for revoking or granting permissions\n to the federated resources in the Glue Data Catalog.\n

\n

For more information about Lake query federation, see Federate an event data store.

" + } + }, + "com.amazonaws.cloudtrail#EnableFederationRequest": { + "type": "structure", + "members": { + "EventDataStore": { + "target": "com.amazonaws.cloudtrail#EventDataStoreArn", + "traits": { + "smithy.api#documentation": "

The ARN (or ID suffix of the ARN) of the event data store for which you want to enable Lake query federation.

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

\n The ARN of the federation role to use for the event data store. Amazon Web Services services like Lake Formation use this federation role to access data for the federated event \n data store. The federation role must exist in your account and provide the required minimum permissions.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.cloudtrail#EnableFederationResponse": { + "type": "structure", + "members": { + "EventDataStoreArn": { + "target": "com.amazonaws.cloudtrail#EventDataStoreArn", + "traits": { + "smithy.api#documentation": "

\n The ARN of the event data store for which you enabled Lake query federation.\n

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

\n The federation status.\n

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

\n The ARN of the federation role.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.cloudtrail#ErrorMessage": { "type": "string", "traits": { @@ -3387,6 +3637,26 @@ "smithy.api#pattern": "^[a-zA-Z0-9._/\\-:]+$" } }, + "com.amazonaws.cloudtrail#EventDataStoreFederationEnabledException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.cloudtrail#ErrorMessage", + "traits": { + "smithy.api#documentation": "

Brief description of the exception returned by the request.

" + } + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "EventDataStoreFederationEnabled", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

\n You cannot delete the event data store because Lake query federation is enabled. To delete the event data store, run the DisableFederation operation to \n disable Lake query federation on the event data store. \n

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.cloudtrail#EventDataStoreHasOngoingImportException": { "type": "structure", "members": { @@ -3584,6 +3854,45 @@ "target": "com.amazonaws.cloudtrail#String" } }, + "com.amazonaws.cloudtrail#FederationRoleArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 125 + }, + "smithy.api#pattern": "^[a-zA-Z0-9._/\\-:@=\\+,\\.]+$" + } + }, + "com.amazonaws.cloudtrail#FederationStatus": { + "type": "enum", + "members": { + "ENABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLING" + } + }, + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLING" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, "com.amazonaws.cloudtrail#GetChannel": { "type": "operation", "input": { @@ -3792,6 +4101,18 @@ "traits": { "smithy.api#documentation": "

The billing mode for the event data store.

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

\n Indicates the Lake query federation status. The status is \n ENABLED if Lake query federation is enabled, or DISABLED if Lake query federation is disabled. You cannot delete an event data store if the FederationStatus is ENABLED.\n

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

\n If Lake query federation is enabled, provides the ARN of the federation role used to access the resources for the federated event data store.\n

" + } } }, "traits": { @@ -9117,6 +9438,18 @@ "traits": { "smithy.api#documentation": "

The billing mode for the event data store.

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

\n Indicates the Lake query federation status. The status is \n ENABLED if Lake query federation is enabled, or DISABLED if Lake query federation is disabled. You cannot delete an event data store if the FederationStatus is ENABLED.\n

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

\n If Lake query federation is enabled, provides the ARN of the federation role used to access the resources for the federated event data store.\n

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/cloudwatch-logs.json b/codegen/sdk-codegen/aws-models/cloudwatch-logs.json index b14f40bd2ff..bc1d606327e 100644 --- a/codegen/sdk-codegen/aws-models/cloudwatch-logs.json +++ b/codegen/sdk-codegen/aws-models/cloudwatch-logs.json @@ -134,6 +134,292 @@ "smithy.api#pattern": "^[\\w+=/:,.@-]*$" } }, + "com.amazonaws.cloudwatchlogs#Anomalies": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudwatchlogs#Anomaly" + } + }, + "com.amazonaws.cloudwatchlogs#Anomaly": { + "type": "structure", + "members": { + "anomalyId": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyId", + "traits": { + "smithy.api#documentation": "

The unique ID that CloudWatch Logs assigned to this anomaly.

", + "smithy.api#required": {} + } + }, + "patternId": { + "target": "com.amazonaws.cloudwatchlogs#PatternId", + "traits": { + "smithy.api#documentation": "

The ID of the pattern used to help identify this anomaly.

", + "smithy.api#required": {} + } + }, + "anomalyDetectorArn": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyDetectorArn", + "traits": { + "smithy.api#documentation": "

The ARN of the anomaly detector that identified this anomaly.

", + "smithy.api#required": {} + } + }, + "patternString": { + "target": "com.amazonaws.cloudwatchlogs#PatternString", + "traits": { + "smithy.api#documentation": "

The pattern used to help identify this anomaly, in string format.

", + "smithy.api#required": {} + } + }, + "patternRegex": { + "target": "com.amazonaws.cloudwatchlogs#PatternRegex", + "traits": { + "smithy.api#documentation": "

The pattern used to help identify this anomaly, in regular expression format.

" + } + }, + "priority": { + "target": "com.amazonaws.cloudwatchlogs#Priority", + "traits": { + "smithy.api#documentation": "

The priority level of this anomaly, as determined by CloudWatch Logs. Priority is computed based on log \n severity labels such as FATAL and ERROR and the amount of deviation from the baseline.\n Possible values are\n HIGH, MEDIUM, and LOW.

" + } + }, + "firstSeen": { + "target": "com.amazonaws.cloudwatchlogs#EpochMillis", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The date and time when the anomaly detector first saw this anomaly. \n It is specified as epoch time, which is the number of seconds\n since January 1, 1970, 00:00:00 UTC.

", + "smithy.api#required": {} + } + }, + "lastSeen": { + "target": "com.amazonaws.cloudwatchlogs#EpochMillis", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The date and time when the anomaly detector most recently saw this anomaly. \n It is specified as epoch time, which is the number of seconds\n since January 1, 1970, 00:00:00 UTC.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.cloudwatchlogs#Description", + "traits": { + "smithy.api#documentation": "

A human-readable description of the anomaly. This description is generated by\n CloudWatch Logs.

", + "smithy.api#required": {} + } + }, + "active": { + "target": "com.amazonaws.cloudwatchlogs#Boolean", + "traits": { + "smithy.api#documentation": "

Specifies whether this anomaly is still ongoing.

", + "smithy.api#required": {} + } + }, + "state": { + "target": "com.amazonaws.cloudwatchlogs#State", + "traits": { + "smithy.api#documentation": "

Indicates the current state of this anomaly. If it is still being treated as an anomaly, the value\n is Active. If you have suppressed this anomaly by using the UpdateAnomaly operation,\n the value is Suppressed. If this behavior is now considered to be normal, the value\n is Baseline.

", + "smithy.api#required": {} + } + }, + "histogram": { + "target": "com.amazonaws.cloudwatchlogs#Histogram", + "traits": { + "smithy.api#documentation": "

A map showing times when the anomaly detector ran, and the number of occurrences of this anomaly that \n were detected at each of those runs. The times are specified in epoch time, which is the number of seconds\n since January 1, 1970, 00:00:00 UTC.

", + "smithy.api#required": {} + } + }, + "logSamples": { + "target": "com.amazonaws.cloudwatchlogs#LogSamples", + "traits": { + "smithy.api#documentation": "

An array of sample log event messages that are considered to be part of this anomaly.

", + "smithy.api#required": {} + } + }, + "patternTokens": { + "target": "com.amazonaws.cloudwatchlogs#PatternTokens", + "traits": { + "smithy.api#documentation": "

An array of structures where each structure contains information about one token that makes up the pattern.

", + "smithy.api#required": {} + } + }, + "logGroupArnList": { + "target": "com.amazonaws.cloudwatchlogs#LogGroupArnList", + "traits": { + "smithy.api#documentation": "

An array of ARNS of the log groups that contained log events considered to be part of this anomaly.

", + "smithy.api#required": {} + } + }, + "suppressed": { + "target": "com.amazonaws.cloudwatchlogs#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether this anomaly is currently suppressed. To suppress an anomaly, \n use UpdateAnomaly.

" + } + }, + "suppressedDate": { + "target": "com.amazonaws.cloudwatchlogs#EpochMillis", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

If the anomaly is suppressed, this indicates when it was suppressed.

" + } + }, + "suppressedUntil": { + "target": "com.amazonaws.cloudwatchlogs#EpochMillis", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

If the anomaly is suppressed, this indicates when the suppression will end. If this value is 0, \n the anomaly was suppressed with no expiration, with the INFINITE value.

" + } + }, + "isPatternLevelSuppression": { + "target": "com.amazonaws.cloudwatchlogs#Boolean", + "traits": { + "smithy.api#documentation": "

If this anomaly is suppressed, this field is true if the suppression is because the \n pattern is suppressed. If false, then only this particular anomaly is suppressed.

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

This structure represents one anomaly that has been found by a logs anomaly detector.

\n

For more information about patterns and anomalies, see CreateLogAnomalyDetector.\n

" + } + }, + "com.amazonaws.cloudwatchlogs#AnomalyDetector": { + "type": "structure", + "members": { + "anomalyDetectorArn": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyDetectorArn", + "traits": { + "smithy.api#documentation": "

The ARN of the anomaly detector.

" + } + }, + "detectorName": { + "target": "com.amazonaws.cloudwatchlogs#DetectorName", + "traits": { + "smithy.api#documentation": "

The name of the anomaly detector.

" + } + }, + "logGroupArnList": { + "target": "com.amazonaws.cloudwatchlogs#LogGroupArnList", + "traits": { + "smithy.api#documentation": "

A list of the ARNs of the log groups that this anomaly detector watches.

" + } + }, + "evaluationFrequency": { + "target": "com.amazonaws.cloudwatchlogs#EvaluationFrequency", + "traits": { + "smithy.api#documentation": "

Specifies how often the anomaly detector runs and look for anomalies.

" + } + }, + "filterPattern": { + "target": "com.amazonaws.cloudwatchlogs#FilterPattern" + }, + "anomalyDetectorStatus": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyDetectorStatus", + "traits": { + "smithy.api#documentation": "

Specifies the current status of the anomaly detector. To pause an anomaly detector, use\n the enabled parameter in the UpdateLogAnomalyDetector \n operation.

" + } + }, + "kmsKeyId": { + "target": "com.amazonaws.cloudwatchlogs#KmsKeyId", + "traits": { + "smithy.api#documentation": "

The ID of the KMS key assigned to this anomaly detector, if any.

" + } + }, + "creationTimeStamp": { + "target": "com.amazonaws.cloudwatchlogs#EpochMillis", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The date and time when this anomaly detector was created.

" + } + }, + "lastModifiedTimeStamp": { + "target": "com.amazonaws.cloudwatchlogs#EpochMillis", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The date and time when this anomaly detector was most recently modified.

" + } + }, + "anomalyVisibilityTime": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyVisibilityTime", + "traits": { + "smithy.api#documentation": "

The number of days used as the life cycle of anomalies. After this time, anomalies are automatically baselined \n and the anomaly detector model will treat new occurrences of similar event as normal.

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

Contains information about one anomaly detector in the account.

" + } + }, + "com.amazonaws.cloudwatchlogs#AnomalyDetectorArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + }, + "smithy.api#pattern": "^[\\w#+=/:,.@-]*$" + } + }, + "com.amazonaws.cloudwatchlogs#AnomalyDetectorStatus": { + "type": "enum", + "members": { + "INITIALIZING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INITIALIZING" + } + }, + "TRAINING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TRAINING" + } + }, + "ANALYZING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ANALYZING" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETED" + } + }, + "PAUSED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PAUSED" + } + } + } + }, + "com.amazonaws.cloudwatchlogs#AnomalyDetectors": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyDetector" + } + }, + "com.amazonaws.cloudwatchlogs#AnomalyId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 36, + "max": 36 + } + } + }, + "com.amazonaws.cloudwatchlogs#AnomalyVisibilityTime": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 7, + "max": 90 + } + } + }, "com.amazonaws.cloudwatchlogs#Arn": { "type": "string" }, @@ -190,6 +476,9 @@ "smithy.api#input": {} } }, + "com.amazonaws.cloudwatchlogs#Boolean": { + "type": "boolean" + }, "com.amazonaws.cloudwatchlogs#CancelExportTask": { "type": "operation", "input": { @@ -253,6 +542,12 @@ "smithy.api#error": "client" } }, + "com.amazonaws.cloudwatchlogs#Count": { + "type": "long", + "traits": { + "smithy.api#default": 0 + } + }, "com.amazonaws.cloudwatchlogs#CreateDelivery": { "type": "operation", "input": { @@ -285,7 +580,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a delivery. A delivery is a connection between a logical delivery source and a logical\n delivery destination\n that you have already created.

\n

Only some Amazon Web Services services support being configured as a delivery source using this operation. These services are listed\n as Supported [V2 Permissions] in the table at \n Enabling \n logging from Amazon Web Services services.\n

\n

A delivery destination can represent a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Kinesis Data Firehose.

\n

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

\n \n

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You \n can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

\n

You can't update an existing delivery. You can only create and delete deliveries.

" + "smithy.api#documentation": "

Creates a delivery. A delivery is a connection between a logical delivery source and a logical\n delivery destination\n that you have already created.

\n

Only some Amazon Web Services services support being configured as a delivery source using this operation. These services are listed\n as Supported [V2 Permissions] in the table at \n Enabling \n logging from Amazon Web Services services.\n

\n

A delivery destination can represent a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Kinesis Data Firehose.

\n

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

\n \n

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You \n can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

\n

You can't update an existing delivery. You can only create and delete deliveries.

" } }, "com.amazonaws.cloudwatchlogs#CreateDeliveryRequest": { @@ -430,6 +725,100 @@ "smithy.api#output": {} } }, + "com.amazonaws.cloudwatchlogs#CreateLogAnomalyDetector": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudwatchlogs#CreateLogAnomalyDetectorRequest" + }, + "output": { + "target": "com.amazonaws.cloudwatchlogs#CreateLogAnomalyDetectorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.cloudwatchlogs#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#LimitExceededException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#OperationAbortedException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an anomaly detector that regularly scans one or more \n log groups and look for patterns\n and anomalies in the logs.

\n

An anomaly detector can help surface issues by automatically discovering anomalies in your log event traffic. \n An anomaly detector uses machine learning algorithms to scan log events and find patterns.\n \n A pattern is a shared text structure that recurs among your log fields. Patterns provide a useful tool for \n analyzing large sets of logs because a large number of log events can often be\n compressed into a few patterns.

\n

The anomaly detector uses pattern recognition to find anomalies, which are unusual log \n events. It uses the evaluationFrequency to compare current log events and patterns\n with trained baselines.

\n

Fields within a pattern are called tokens.\n Fields that vary within a pattern, such as a \n request ID or timestamp, are referred to as dynamic tokens and\n represented by <*>.

\n

The following is an example of a pattern:

\n

\n [INFO] Request time: <*> ms\n

\n

This pattern\n represents log events like [INFO] Request time: 327 ms and other similar log events\n that differ only by the number, in this csse 327. When the pattern is displayed, the different numbers are replaced\n by <*>\n

\n \n

Any parts of log events that are masked as sensitive data are not scanned for anomalies. For more information\n about masking sensitive data, see \n Help protect sensitive log data with\n masking.\n

\n
" + } + }, + "com.amazonaws.cloudwatchlogs#CreateLogAnomalyDetectorRequest": { + "type": "structure", + "members": { + "logGroupArnList": { + "target": "com.amazonaws.cloudwatchlogs#LogGroupArnList", + "traits": { + "smithy.api#documentation": "

An array containing the ARNs of the log groups that this anomaly detector will watch. You must specify\n at least one ARN.

", + "smithy.api#required": {} + } + }, + "detectorName": { + "target": "com.amazonaws.cloudwatchlogs#DetectorName", + "traits": { + "smithy.api#documentation": "

A name for this anomaly detector.

" + } + }, + "evaluationFrequency": { + "target": "com.amazonaws.cloudwatchlogs#EvaluationFrequency", + "traits": { + "smithy.api#documentation": "

Specifies how often the anomaly detector is to run and look for anomalies. Set this value\n according to the frequency that the log group receives new logs. For example, if the log group\n receives new log events every 10 minutes, then 15 minutes might be a good setting for \n evaluationFrequency .

" + } + }, + "filterPattern": { + "target": "com.amazonaws.cloudwatchlogs#FilterPattern", + "traits": { + "smithy.api#documentation": "

You can use this parameter to limit the anomaly detection model to examine only log events\n that match the pattern you specify here. For more information, see Filter and Pattern Syntax.

" + } + }, + "kmsKeyId": { + "target": "com.amazonaws.cloudwatchlogs#KmsKeyId", + "traits": { + "smithy.api#documentation": "

Optionally assigns a KMS key to secure this anomaly detector and its findings. If a key is \n assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If \n a key is assigned to an anomaly detector, a user must have permissions for both this key and for the \n anomaly detector to retrieve information about the anomalies that it finds.

\n

For more information about using a KMS key and to see the required IAM\n policy, see Use a KMS key with an anomaly detector.

" + } + }, + "anomalyVisibilityTime": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyVisibilityTime", + "traits": { + "smithy.api#documentation": "

The number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, \n it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as \n normal. Therefore, \n if you do not correct the cause of an \n anomaly during the time period specified in anomalyVisibilityTime, it will be considered normal \n going forward and will not be detected as an anomaly.

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

An optional list of key-value pairs to associate with the resource.

\n

For more information about tagging, see \n Tagging Amazon Web Services resources\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.cloudwatchlogs#CreateLogAnomalyDetectorResponse": { + "type": "structure", + "members": { + "anomalyDetectorArn": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyDetectorArn", + "traits": { + "smithy.api#documentation": "

The ARN of the log anomaly detector that you just created.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.cloudwatchlogs#CreateLogGroup": { "type": "operation", "input": { @@ -465,7 +854,7 @@ "logGroupName": { "target": "com.amazonaws.cloudwatchlogs#LogGroupName", "traits": { - "smithy.api#documentation": "

The name of the log group.

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

A name for the log group.

", "smithy.api#required": {} } }, @@ -480,6 +869,12 @@ "traits": { "smithy.api#documentation": "

The key-value pairs to use for the tags.

\n

You can grant users access to certain log groups while preventing them from accessing other log groups.\n To do so, tag your groups and use IAM policies that refer to those tags. To assign tags when \n you create a log group, you must have either the logs:TagResource or logs:TagLogGroup\n permission. For more information about tagging, see \n Tagging Amazon Web Services resources.\n For more information about using tags to control access, see \n Controlling access to Amazon Web Services resources using tags.

" } + }, + "logGroupClass": { + "target": "com.amazonaws.cloudwatchlogs#LogGroupClass", + "traits": { + "smithy.api#documentation": "

Use this parameter to specify the log group class for this log group. There are two classes:

\n \n

If you omit this parameter, the default of STANDARD is used.

\n

For details about the features supported by each class, see \n Log classes\n

" + } } }, "traits": { @@ -902,6 +1297,47 @@ "smithy.api#input": {} } }, + "com.amazonaws.cloudwatchlogs#DeleteLogAnomalyDetector": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudwatchlogs#DeleteLogAnomalyDetectorRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.cloudwatchlogs#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#OperationAbortedException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the specified CloudWatch Logs anomaly detector.

" + } + }, + "com.amazonaws.cloudwatchlogs#DeleteLogAnomalyDetectorRequest": { + "type": "structure", + "members": { + "anomalyDetectorArn": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyDetectorArn", + "traits": { + "smithy.api#documentation": "

The ARN of the anomaly detector to delete. You can find the ARNs of log anomaly detectors \n in your account by using the ListLogAnomalyDetectors\n operation.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.cloudwatchlogs#DeleteLogGroup": { "type": "operation", "input": { @@ -1309,7 +1745,7 @@ } }, "traits": { - "smithy.api#documentation": "

This structure contains information about one delivery destination in your account. \n A delivery destination is an Amazon Web Services resource that represents an \n shared id=\"AWS\"/> service that logs can be sent to. CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.

\n

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

\n \n

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You \n can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

" + "smithy.api#documentation": "

This structure contains information about one delivery destination in your account. \n A delivery destination is an Amazon Web Services resource that represents an \n Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.

\n

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

\n \n

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You \n can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

" } }, "com.amazonaws.cloudwatchlogs#DeliveryDestinationConfiguration": { @@ -1426,7 +1862,7 @@ } }, "traits": { - "smithy.api#documentation": "

This structure contains information about one delivery source in your account. \n A delivery source is an Amazon Web Services resource that sends logs to an\n Amazon Web Services destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

\n

Only some Amazon Web Services services support being configured as a delivery source. These services are listed\n as Supported [V2 Permissions] in the table at \n Enabling \n logging from Amazon Web Services services.\n

\n

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

\n \n

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You \n can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

" + "smithy.api#documentation": "

This structure contains information about one delivery source in your account. \n A delivery source is an Amazon Web Services resource that sends logs to an\n Amazon Web Services destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

\n

Only some Amazon Web Services services support being configured as a delivery source. These services are listed\n as Supported [V2 Permissions] in the table at \n Enabling \n logging from Amazon Web Services services.\n

\n

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

\n \n

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You \n can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

" } }, "com.amazonaws.cloudwatchlogs#DeliverySourceName": { @@ -1924,6 +2360,12 @@ "traits": { "smithy.api#documentation": "

If you are using a monitoring account, set this to True to have the operation\n return log groups in \n the accounts listed in accountIdentifiers.

\n

If this parameter is set to true and accountIdentifiers\n\n contains a null value, the operation returns all log groups in the monitoring account\n and all log groups in all source accounts that are linked to the monitoring account.

" } + }, + "logGroupClass": { + "target": "com.amazonaws.cloudwatchlogs#LogGroupClass", + "traits": { + "smithy.api#documentation": "

Specifies the log group class for this log group. There are two classes:

\n \n

For details about the features supported by each class, see \n Log classes\n

" + } } }, "traits": { @@ -2404,6 +2846,14 @@ "smithy.api#output": {} } }, + "com.amazonaws.cloudwatchlogs#Description": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.cloudwatchlogs#Destination": { "type": "structure", "members": { @@ -2472,6 +2922,14 @@ "target": "com.amazonaws.cloudwatchlogs#Destination" } }, + "com.amazonaws.cloudwatchlogs#DetectorName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.cloudwatchlogs#Dimensions": { "type": "map", "key": { @@ -2565,6 +3023,12 @@ "smithy.api#documentation": "

The method used to distribute log data to the destination, which can be either\n random or grouped by log stream.

" } }, + "com.amazonaws.cloudwatchlogs#DynamicTokenPosition": { + "type": "integer", + "traits": { + "smithy.api#default": 0 + } + }, "com.amazonaws.cloudwatchlogs#EncryptionKey": { "type": "string", "traits": { @@ -2574,6 +3038,65 @@ } } }, + "com.amazonaws.cloudwatchlogs#Enumerations": { + "type": "map", + "key": { + "target": "com.amazonaws.cloudwatchlogs#TokenString" + }, + "value": { + "target": "com.amazonaws.cloudwatchlogs#TokenValue" + } + }, + "com.amazonaws.cloudwatchlogs#EpochMillis": { + "type": "long", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.cloudwatchlogs#EvaluationFrequency": { + "type": "enum", + "members": { + "ONE_MIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ONE_MIN" + } + }, + "FIVE_MIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FIVE_MIN" + } + }, + "TEN_MIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TEN_MIN" + } + }, + "FIFTEEN_MIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FIFTEEN_MIN" + } + }, + "THIRTY_MIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "THIRTY_MIN" + } + }, + "ONE_HOUR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ONE_HOUR" + } + } + } + }, "com.amazonaws.cloudwatchlogs#EventId": { "type": "string" }, @@ -3289,6 +3812,108 @@ "smithy.api#output": {} } }, + "com.amazonaws.cloudwatchlogs#GetLogAnomalyDetector": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudwatchlogs#GetLogAnomalyDetectorRequest" + }, + "output": { + "target": "com.amazonaws.cloudwatchlogs#GetLogAnomalyDetectorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.cloudwatchlogs#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#OperationAbortedException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves information about the log anomaly detector that you specify.

" + } + }, + "com.amazonaws.cloudwatchlogs#GetLogAnomalyDetectorRequest": { + "type": "structure", + "members": { + "anomalyDetectorArn": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyDetectorArn", + "traits": { + "smithy.api#documentation": "

The ARN of the anomaly detector to retrieve information about. You can find the ARNs of log anomaly detectors \n in your account by using the ListLogAnomalyDetectors\n operation.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.cloudwatchlogs#GetLogAnomalyDetectorResponse": { + "type": "structure", + "members": { + "detectorName": { + "target": "com.amazonaws.cloudwatchlogs#DetectorName", + "traits": { + "smithy.api#documentation": "

The name of the log anomaly detector

" + } + }, + "logGroupArnList": { + "target": "com.amazonaws.cloudwatchlogs#LogGroupArnList", + "traits": { + "smithy.api#documentation": "

An array of structures, where each structure contains the ARN of a log group\n associated with this anomaly detector.

" + } + }, + "evaluationFrequency": { + "target": "com.amazonaws.cloudwatchlogs#EvaluationFrequency", + "traits": { + "smithy.api#documentation": "

Specifies how often the anomaly detector runs and look for anomalies. Set this value\n according to the frequency that the log group receives new logs. For example, if the log group\n receives new log events every 10 minutes, then setting evaluationFrequency to\n FIFTEEN_MIN might be appropriate.

" + } + }, + "filterPattern": { + "target": "com.amazonaws.cloudwatchlogs#FilterPattern" + }, + "anomalyDetectorStatus": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyDetectorStatus", + "traits": { + "smithy.api#documentation": "

Specifies whether the anomaly detector is currently active. To change its status, use\n the enabled parameter in the UpdateLogAnomalyDetector \n operation.

" + } + }, + "kmsKeyId": { + "target": "com.amazonaws.cloudwatchlogs#KmsKeyId", + "traits": { + "smithy.api#documentation": "

The ID of the KMS key assigned to this anomaly detector, if any.

" + } + }, + "creationTimeStamp": { + "target": "com.amazonaws.cloudwatchlogs#EpochMillis", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The date and time when this anomaly detector was created.

" + } + }, + "lastModifiedTimeStamp": { + "target": "com.amazonaws.cloudwatchlogs#EpochMillis", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The date and time when this anomaly detector was most recently modified.

" + } + }, + "anomalyVisibilityTime": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyVisibilityTime", + "traits": { + "smithy.api#documentation": "

The number of days used as the life cycle of anomalies. After this time, anomalies are automatically baselined \n and the anomaly detector model will treat new occurrences of similar event as normal.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.cloudwatchlogs#GetLogEvents": { "type": "operation", "input": { @@ -3606,6 +4231,15 @@ "smithy.api#output": {} } }, + "com.amazonaws.cloudwatchlogs#Histogram": { + "type": "map", + "key": { + "target": "com.amazonaws.cloudwatchlogs#Time" + }, + "value": { + "target": "com.amazonaws.cloudwatchlogs#Count" + } + }, "com.amazonaws.cloudwatchlogs#IncludeLinkedAccounts": { "type": "boolean" }, @@ -3672,6 +4306,12 @@ } } }, + "com.amazonaws.cloudwatchlogs#Integer": { + "type": "integer", + "traits": { + "smithy.api#default": 0 + } + }, "com.amazonaws.cloudwatchlogs#Interleaved": { "type": "boolean" }, @@ -3735,6 +4375,174 @@ "smithy.api#error": "client" } }, + "com.amazonaws.cloudwatchlogs#ListAnomalies": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudwatchlogs#ListAnomaliesRequest" + }, + "output": { + "target": "com.amazonaws.cloudwatchlogs#ListAnomaliesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.cloudwatchlogs#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#OperationAbortedException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of anomalies that log anomaly detectors have found. For details about the structure format of\n each anomaly object that is returned, see the example in this section.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "anomalies", + "pageSize": "limit" + } + } + }, + "com.amazonaws.cloudwatchlogs#ListAnomaliesLimit": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.cloudwatchlogs#ListAnomaliesRequest": { + "type": "structure", + "members": { + "anomalyDetectorArn": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyDetectorArn", + "traits": { + "smithy.api#documentation": "

Use this to optionally limit the results to only the anomalies found by a certain \n anomaly detector.

" + } + }, + "suppressionState": { + "target": "com.amazonaws.cloudwatchlogs#SuppressionState", + "traits": { + "smithy.api#documentation": "

You can specify this parameter if you want to the operation to return only anomalies that \n are currently either suppressed or unsuppressed.

" + } + }, + "limit": { + "target": "com.amazonaws.cloudwatchlogs#ListAnomaliesLimit", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return. If you don't specify a value, the default maximum value of \n 50 items is used.

" + } + }, + "nextToken": { + "target": "com.amazonaws.cloudwatchlogs#NextToken" + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.cloudwatchlogs#ListAnomaliesResponse": { + "type": "structure", + "members": { + "anomalies": { + "target": "com.amazonaws.cloudwatchlogs#Anomalies", + "traits": { + "smithy.api#documentation": "

An array of structures, where each structure contains information about one anomaly that a log\n anomaly detector has found.

" + } + }, + "nextToken": { + "target": "com.amazonaws.cloudwatchlogs#NextToken" + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.cloudwatchlogs#ListLogAnomalyDetectors": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudwatchlogs#ListLogAnomalyDetectorsRequest" + }, + "output": { + "target": "com.amazonaws.cloudwatchlogs#ListLogAnomalyDetectorsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.cloudwatchlogs#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#OperationAbortedException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves a list of the log anomaly detectors in the account.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "anomalyDetectors", + "pageSize": "limit" + } + } + }, + "com.amazonaws.cloudwatchlogs#ListLogAnomalyDetectorsLimit": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.cloudwatchlogs#ListLogAnomalyDetectorsRequest": { + "type": "structure", + "members": { + "filterLogGroupArn": { + "target": "com.amazonaws.cloudwatchlogs#LogGroupArn", + "traits": { + "smithy.api#documentation": "

Use this to optionally filter the results to only include anomaly detectors that are associated with the \n specified log group.

" + } + }, + "limit": { + "target": "com.amazonaws.cloudwatchlogs#ListLogAnomalyDetectorsLimit", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return. If you don't specify a value, the default maximum value of \n 50 items is used.

" + } + }, + "nextToken": { + "target": "com.amazonaws.cloudwatchlogs#NextToken" + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.cloudwatchlogs#ListLogAnomalyDetectorsResponse": { + "type": "structure", + "members": { + "anomalyDetectors": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyDetectors", + "traits": { + "smithy.api#documentation": "

An array of structures, where each structure in the array contains information about one anomaly detector.

" + } + }, + "nextToken": { + "target": "com.amazonaws.cloudwatchlogs#NextToken" + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.cloudwatchlogs#ListTagsForResource": { "type": "operation", "input": { @@ -3845,6 +4653,14 @@ "smithy.api#output": {} } }, + "com.amazonaws.cloudwatchlogs#LogEvent": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.cloudwatchlogs#LogEventIndex": { "type": "integer" }, @@ -3899,12 +4715,51 @@ "inheritedProperties": { "target": "com.amazonaws.cloudwatchlogs#InheritedProperties", "traits": { - "smithy.api#documentation": "

Displays all the properties that this log group has inherited from account-level \n settings.

" + "smithy.api#documentation": "

Displays all the properties that this log group has inherited from account-level \n settings.

" + } + }, + "logGroupClass": { + "target": "com.amazonaws.cloudwatchlogs#LogGroupClass", + "traits": { + "smithy.api#documentation": "

This specifies the log group class for this log group. There are two classes:

\n \n

For details about the features supported by each class, see \n Log classes\n

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

Represents a log group.

" + } + }, + "com.amazonaws.cloudwatchlogs#LogGroupArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^[\\w#+=/:,.@-]*$" + } + }, + "com.amazonaws.cloudwatchlogs#LogGroupArnList": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudwatchlogs#LogGroupArn" + } + }, + "com.amazonaws.cloudwatchlogs#LogGroupClass": { + "type": "enum", + "members": { + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STANDARD" + } + }, + "INFREQUENT_ACCESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INFREQUENT_ACCESS" } } - }, - "traits": { - "smithy.api#documentation": "

Represents a log group.

" } }, "com.amazonaws.cloudwatchlogs#LogGroupField": { @@ -3994,6 +4849,12 @@ "com.amazonaws.cloudwatchlogs#LogRecordPointer": { "type": "string" }, + "com.amazonaws.cloudwatchlogs#LogSamples": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudwatchlogs#LogEvent" + } + }, "com.amazonaws.cloudwatchlogs#LogStream": { "type": "structure", "members": { @@ -4098,6 +4959,9 @@ { "target": "com.amazonaws.cloudwatchlogs#CreateExportTask" }, + { + "target": "com.amazonaws.cloudwatchlogs#CreateLogAnomalyDetector" + }, { "target": "com.amazonaws.cloudwatchlogs#CreateLogGroup" }, @@ -4125,6 +4989,9 @@ { "target": "com.amazonaws.cloudwatchlogs#DeleteDestination" }, + { + "target": "com.amazonaws.cloudwatchlogs#DeleteLogAnomalyDetector" + }, { "target": "com.amazonaws.cloudwatchlogs#DeleteLogGroup" }, @@ -4206,6 +5073,9 @@ { "target": "com.amazonaws.cloudwatchlogs#GetDeliverySource" }, + { + "target": "com.amazonaws.cloudwatchlogs#GetLogAnomalyDetector" + }, { "target": "com.amazonaws.cloudwatchlogs#GetLogEvents" }, @@ -4218,6 +5088,12 @@ { "target": "com.amazonaws.cloudwatchlogs#GetQueryResults" }, + { + "target": "com.amazonaws.cloudwatchlogs#ListAnomalies" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ListLogAnomalyDetectors" + }, { "target": "com.amazonaws.cloudwatchlogs#ListTagsForResource" }, @@ -4283,6 +5159,12 @@ }, { "target": "com.amazonaws.cloudwatchlogs#UntagResource" + }, + { + "target": "com.amazonaws.cloudwatchlogs#UpdateAnomaly" + }, + { + "target": "com.amazonaws.cloudwatchlogs#UpdateLogAnomalyDetector" } ], "traits": { @@ -5622,6 +6504,70 @@ "target": "com.amazonaws.cloudwatchlogs#OutputLogEvent" } }, + "com.amazonaws.cloudwatchlogs#PatternId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 32, + "max": 32 + } + } + }, + "com.amazonaws.cloudwatchlogs#PatternRegex": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.cloudwatchlogs#PatternString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.cloudwatchlogs#PatternToken": { + "type": "structure", + "members": { + "dynamicTokenPosition": { + "target": "com.amazonaws.cloudwatchlogs#DynamicTokenPosition", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

For a dynamic token, this indicates where in the pattern that this token appears, related\n to other dynamic tokens. The dynamic token that appears first has a value of 1, the \n one that appears second is 2, and so on.

" + } + }, + "isDynamic": { + "target": "com.amazonaws.cloudwatchlogs#Boolean", + "traits": { + "smithy.api#documentation": "

Specifies whether this is a dynamic token.

" + } + }, + "tokenString": { + "target": "com.amazonaws.cloudwatchlogs#TokenString", + "traits": { + "smithy.api#documentation": "

The string represented by this token. If this is a dynamic token, the\n value will be <*>\n

" + } + }, + "enumerations": { + "target": "com.amazonaws.cloudwatchlogs#Enumerations", + "traits": { + "smithy.api#documentation": "

Contains the values found for a dynamic token, and the number of times each value was found.

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

A tructures that contains information about one pattern token related to \n an anomaly.

\n

For more information about patterns and tokens, see CreateLogAnomalyDetector.\n

" + } + }, + "com.amazonaws.cloudwatchlogs#PatternTokens": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudwatchlogs#PatternToken" + } + }, "com.amazonaws.cloudwatchlogs#Percentage": { "type": "integer", "traits": { @@ -5669,6 +6615,14 @@ } } }, + "com.amazonaws.cloudwatchlogs#Priority": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.cloudwatchlogs#PutAccountPolicy": { "type": "operation", "input": { @@ -5850,7 +6804,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates or updates a logical delivery destination. A delivery destination is an Amazon Web Services resource that represents an \n Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, and\n Kinesis Data Firehose are supported as logs delivery destinations.

\n

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

\n \n

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You \n can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

\n

Only some Amazon Web Services services support being configured as a delivery source. These services are listed\n as Supported [V2 Permissions] in the table at \n Enabling \n logging from Amazon Web Services services.\n

\n

If you use this operation to update an existing delivery destination, all the current delivery destination parameters are overwritten\n with the new parameter values that you specify.

" + "smithy.api#documentation": "

Creates or updates a logical delivery destination. A delivery destination is an Amazon Web Services resource that represents an \n Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, and\n Kinesis Data Firehose are supported as logs delivery destinations.

\n

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

\n \n

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You \n can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

\n

Only some Amazon Web Services services support being configured as a delivery source. These services are listed\n as Supported [V2 Permissions] in the table at \n Enabling \n logging from Amazon Web Services services.\n

\n

If you use this operation to update an existing delivery destination, all the current delivery destination parameters are overwritten\n with the new parameter values that you specify.

" } }, "com.amazonaws.cloudwatchlogs#PutDeliveryDestinationPolicy": { @@ -5876,7 +6830,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates and assigns an IAM policy that grants permissions to CloudWatch Logs to deliver \n logs cross-account to a specified destination in this account. To configure the delivery of logs from an \n Amazon Web Services service in another account to a logs delivery destination in the current account, you must do the following:

\n \n

Only some Amazon Web Services services support being configured as a delivery source. These services are listed\n as Supported [V2 Permissions] in the table at \n Enabling \n logging from Amazon Web Services services.\n

\n

The contents of the policy must include two statements. One statement enables general logs delivery, and the other\n allows delivery to the chosen destination. See the examples for the needed policies.

" + "smithy.api#documentation": "

Creates and assigns an IAM policy that grants permissions to CloudWatch Logs to deliver \n logs cross-account to a specified destination in this account. To configure the delivery of logs from an \n Amazon Web Services service in another account to a logs delivery destination in the current account, you must do the following:

\n \n

Only some Amazon Web Services services support being configured as a delivery source. These services are listed\n as Supported [V2 Permissions] in the table at \n Enabling \n logging from Amazon Web Services services.\n

\n

The contents of the policy must include two statements. One statement enables general logs delivery, and the other\n allows delivery to the chosen destination. See the examples for the needed policies.

" } }, "com.amazonaws.cloudwatchlogs#PutDeliveryDestinationPolicyRequest": { @@ -5992,7 +6946,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates or updates a logical delivery source. A delivery source represents an Amazon Web Services resource that sends logs to an\n logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

\n

To configure logs delivery between a delivery destination and an Amazon Web Services service that is supported as a delivery source, you must do the following:

\n \n

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You \n can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

\n

Only some Amazon Web Services services support being configured as a delivery source. These services are listed\n as Supported [V2 Permissions] in the table at \n Enabling \n logging from Amazon Web Services services.\n

\n

If you use this operation to update an existing delivery source, all the current delivery source parameters are overwritten\n with the new parameter values that you specify.

" + "smithy.api#documentation": "

Creates or updates a logical delivery source. A delivery source represents an Amazon Web Services resource that sends logs to an\n logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

\n

To configure logs delivery between a delivery destination and an Amazon Web Services service that is supported as a delivery source, you must do the following:

\n \n

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You \n can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

\n

Only some Amazon Web Services services support being configured as a delivery source. These services are listed\n as Supported [V2 Permissions] in the table at \n Enabling \n logging from Amazon Web Services services.\n

\n

If you use this operation to update an existing delivery source, all the current delivery source parameters are overwritten\n with the new parameter values that you specify.

" } }, "com.amazonaws.cloudwatchlogs#PutDeliverySourceRequest": { @@ -6377,7 +7331,7 @@ "clientToken": { "target": "com.amazonaws.cloudwatchlogs#ClientToken", "traits": { - "smithy.api#documentation": "

Used as an idempotency token, to avoid returning an exception if the service receives the same request twice because of a network\n error.

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

Used as an idempotency token, to avoid returning an exception if the service receives the same \n request twice because of a network\n\n error.

", "smithy.api#idempotencyToken": {} } } @@ -7316,6 +8270,29 @@ "smithy.api#output": {} } }, + "com.amazonaws.cloudwatchlogs#State": { + "type": "enum", + "members": { + "Active": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Active" + } + }, + "Suppressed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Suppressed" + } + }, + "Baseline": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Baseline" + } + } + } + }, "com.amazonaws.cloudwatchlogs#StatsValue": { "type": "double", "traits": { @@ -7439,6 +8416,84 @@ "smithy.api#default": false } }, + "com.amazonaws.cloudwatchlogs#SuppressionPeriod": { + "type": "structure", + "members": { + "value": { + "target": "com.amazonaws.cloudwatchlogs#Integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

Specifies the number of seconds, minutes or hours to suppress this anomaly. There is no maximum.

" + } + }, + "suppressionUnit": { + "target": "com.amazonaws.cloudwatchlogs#SuppressionUnit", + "traits": { + "smithy.api#documentation": "

Specifies whether the value of value is in seconds, minutes, or hours.

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

If you are suppressing an anomaly temporariliy, this structure defines how long the suppression period\n is to be.

" + } + }, + "com.amazonaws.cloudwatchlogs#SuppressionState": { + "type": "enum", + "members": { + "SUPPRESSED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUPPRESSED" + } + }, + "UNSUPPRESSED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNSUPPRESSED" + } + } + } + }, + "com.amazonaws.cloudwatchlogs#SuppressionType": { + "type": "enum", + "members": { + "LIMITED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LIMITED" + } + }, + "INFINITE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INFINITE" + } + } + } + }, + "com.amazonaws.cloudwatchlogs#SuppressionUnit": { + "type": "enum", + "members": { + "SECONDS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SECONDS" + } + }, + "MINUTES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MINUTES" + } + }, + "HOURS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HOURS" + } + } + } + }, "com.amazonaws.cloudwatchlogs#TagKey": { "type": "string", "traits": { @@ -7680,6 +8735,14 @@ "smithy.api#error": "client" } }, + "com.amazonaws.cloudwatchlogs#Time": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.cloudwatchlogs#Timestamp": { "type": "long", "traits": { @@ -7691,6 +8754,20 @@ "com.amazonaws.cloudwatchlogs#Token": { "type": "string" }, + "com.amazonaws.cloudwatchlogs#TokenString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.cloudwatchlogs#TokenValue": { + "type": "long", + "traits": { + "smithy.api#default": 0 + } + }, "com.amazonaws.cloudwatchlogs#TooManyTagsException": { "type": "structure", "members": { @@ -7818,6 +8895,134 @@ "smithy.api#input": {} } }, + "com.amazonaws.cloudwatchlogs#UpdateAnomaly": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudwatchlogs#UpdateAnomalyRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.cloudwatchlogs#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#OperationAbortedException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Use this operation to suppress anomaly detection for a specified anomaly or pattern. If you suppress \n an anomaly, CloudWatch Logs won’t report new occurrences of that anomaly and won't\n update that anomaly \n with new data. If you suppress a pattern, CloudWatch Logs won’t report any anomalies related to that pattern.

\n

You must specify either anomalyId or patternId, but you can't specify both parameters in the \n same operation.

\n

If you have previously used this operation to suppress detection of a pattern or anomaly, you can use it again to cause\n CloudWatch Logs to end the suppression. To do this, use this operation and specify the anomaly or pattern to \n stop suppressing, and omit the suppressionType and suppressionPeriod parameters.

" + } + }, + "com.amazonaws.cloudwatchlogs#UpdateAnomalyRequest": { + "type": "structure", + "members": { + "anomalyId": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyId", + "traits": { + "smithy.api#documentation": "

If you are suppressing or unsuppressing an anomaly, specify its unique ID here. You can find anomaly IDs by\n using the ListAnomalies operation.

" + } + }, + "patternId": { + "target": "com.amazonaws.cloudwatchlogs#PatternId", + "traits": { + "smithy.api#documentation": "

If you are suppressing or unsuppressing an pattern, specify its unique ID here. You can find pattern IDs by\n using the ListAnomalies operation.

" + } + }, + "anomalyDetectorArn": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyDetectorArn", + "traits": { + "smithy.api#documentation": "

The ARN of the anomaly detector that this operation is to act on.

", + "smithy.api#required": {} + } + }, + "suppressionType": { + "target": "com.amazonaws.cloudwatchlogs#SuppressionType", + "traits": { + "smithy.api#documentation": "

Use this to specify whether the suppression to be temporary or infinite. If you specify LIMITED,\n you must also specify a suppressionPeriod. If you specify INFINITE,\n any value for suppressionPeriod is ignored.

" + } + }, + "suppressionPeriod": { + "target": "com.amazonaws.cloudwatchlogs#SuppressionPeriod", + "traits": { + "smithy.api#documentation": "

If you are temporarily suppressing an anomaly or pattern, use this structure to specify\n how long the suppression is to last.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.cloudwatchlogs#UpdateLogAnomalyDetector": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudwatchlogs#UpdateLogAnomalyDetectorRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.cloudwatchlogs#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#OperationAbortedException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates an existing log anomaly detector.

" + } + }, + "com.amazonaws.cloudwatchlogs#UpdateLogAnomalyDetectorRequest": { + "type": "structure", + "members": { + "anomalyDetectorArn": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyDetectorArn", + "traits": { + "smithy.api#documentation": "

The ARN of the anomaly detector that you want to update.

", + "smithy.api#required": {} + } + }, + "evaluationFrequency": { + "target": "com.amazonaws.cloudwatchlogs#EvaluationFrequency", + "traits": { + "smithy.api#documentation": "

Specifies how often the anomaly detector runs and look for anomalies. Set this value\n according to the frequency that the log group receives new logs. For example, if the log group\n receives new log events every 10 minutes, then setting evaluationFrequency to\n FIFTEEN_MIN might be appropriate.

" + } + }, + "filterPattern": { + "target": "com.amazonaws.cloudwatchlogs#FilterPattern" + }, + "anomalyVisibilityTime": { + "target": "com.amazonaws.cloudwatchlogs#AnomalyVisibilityTime", + "traits": { + "smithy.api#documentation": "

The number of days to use as the life cycle of anomalies. After this time, anomalies are automatically baselined \n and the anomaly detector model will treat new occurrences of similar event as normal. Therefore, if you do not correct the cause of an \n anomaly during this time, it will be considered normal going forward and will not be detected.

" + } + }, + "enabled": { + "target": "com.amazonaws.cloudwatchlogs#Boolean", + "traits": { + "smithy.api#documentation": "

Use this parameter to pause or restart the anomaly detector.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.cloudwatchlogs#ValidationException": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/codestar-connections.json b/codegen/sdk-codegen/aws-models/codestar-connections.json index 5322f8bb8ed..f3c2002f478 100644 --- a/codegen/sdk-codegen/aws-models/codestar-connections.json +++ b/codegen/sdk-codegen/aws-models/codestar-connections.json @@ -29,6 +29,19 @@ ] }, "shapes": { + "com.amazonaws.codestarconnections#AccessDeniedException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

You do not have sufficient access to perform this action.

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, "com.amazonaws.codestarconnections#AccountId": { "type": "string", "traits": { @@ -49,6 +62,44 @@ "smithy.api#pattern": "^arn:aws(-[\\w]+)*:.+:.+:[0-9]{12}:.+$" } }, + "com.amazonaws.codestarconnections#BlockerStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "RESOLVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RESOLVED" + } + } + } + }, + "com.amazonaws.codestarconnections#BlockerType": { + "type": "enum", + "members": { + "AUTOMATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AUTOMATED" + } + } + } + }, + "com.amazonaws.codestarconnections#BranchName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^.*$" + } + }, "com.amazonaws.codestarconnections#CodeStar_connections_20191201": { "type": "service", "version": "2019-12-01", @@ -59,24 +110,60 @@ { "target": "com.amazonaws.codestarconnections#CreateHost" }, + { + "target": "com.amazonaws.codestarconnections#CreateRepositoryLink" + }, + { + "target": "com.amazonaws.codestarconnections#CreateSyncConfiguration" + }, { "target": "com.amazonaws.codestarconnections#DeleteConnection" }, { "target": "com.amazonaws.codestarconnections#DeleteHost" }, + { + "target": "com.amazonaws.codestarconnections#DeleteRepositoryLink" + }, + { + "target": "com.amazonaws.codestarconnections#DeleteSyncConfiguration" + }, { "target": "com.amazonaws.codestarconnections#GetConnection" }, { "target": "com.amazonaws.codestarconnections#GetHost" }, + { + "target": "com.amazonaws.codestarconnections#GetRepositoryLink" + }, + { + "target": "com.amazonaws.codestarconnections#GetRepositorySyncStatus" + }, + { + "target": "com.amazonaws.codestarconnections#GetResourceSyncStatus" + }, + { + "target": "com.amazonaws.codestarconnections#GetSyncBlockerSummary" + }, + { + "target": "com.amazonaws.codestarconnections#GetSyncConfiguration" + }, { "target": "com.amazonaws.codestarconnections#ListConnections" }, { "target": "com.amazonaws.codestarconnections#ListHosts" }, + { + "target": "com.amazonaws.codestarconnections#ListRepositoryLinks" + }, + { + "target": "com.amazonaws.codestarconnections#ListRepositorySyncDefinitions" + }, + { + "target": "com.amazonaws.codestarconnections#ListSyncConfigurations" + }, { "target": "com.amazonaws.codestarconnections#ListTagsForResource" }, @@ -88,6 +175,15 @@ }, { "target": "com.amazonaws.codestarconnections#UpdateHost" + }, + { + "target": "com.amazonaws.codestarconnections#UpdateRepositoryLink" + }, + { + "target": "com.amazonaws.codestarconnections#UpdateSyncBlocker" + }, + { + "target": "com.amazonaws.codestarconnections#UpdateSyncConfiguration" } ], "traits": { @@ -929,6 +1025,32 @@ } } }, + "com.amazonaws.codestarconnections#ConcurrentModificationException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

Exception thrown as a result of concurrent modification to an application. For example, two individuals attempting to edit the same application at the same time.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.codestarconnections#ConditionalCheckFailedException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

The conditional check failed. Try again later.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, "com.amazonaws.codestarconnections#ConflictException": { "type": "structure", "members": { @@ -1160,7 +1282,10 @@ } }, "Tags": { - "target": "com.amazonaws.codestarconnections#TagList" + "target": "com.amazonaws.codestarconnections#TagList", + "traits": { + "smithy.api#documentation": "

Tags for the host to be created.

" + } } }, "traits": { @@ -1177,79 +1302,184 @@ } }, "Tags": { - "target": "com.amazonaws.codestarconnections#TagList" + "target": "com.amazonaws.codestarconnections#TagList", + "traits": { + "smithy.api#documentation": "

Tags for the created host.

" + } } }, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.codestarconnections#DeleteConnection": { + "com.amazonaws.codestarconnections#CreateRepositoryLink": { "type": "operation", "input": { - "target": "com.amazonaws.codestarconnections#DeleteConnectionInput" + "target": "com.amazonaws.codestarconnections#CreateRepositoryLinkInput" }, "output": { - "target": "com.amazonaws.codestarconnections#DeleteConnectionOutput" + "target": "com.amazonaws.codestarconnections#CreateRepositoryLinkOutput" }, "errors": [ { - "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + "target": "com.amazonaws.codestarconnections#AccessDeniedException" + }, + { + "target": "com.amazonaws.codestarconnections#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.codestarconnections#InternalServerException" + }, + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" + }, + { + "target": "com.amazonaws.codestarconnections#LimitExceededException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceAlreadyExistsException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" } ], "traits": { - "smithy.api#documentation": "

The connection to be deleted.

" + "smithy.api#documentation": "

Creates a link to a specified external Git repository. A repository link allows Git sync to monitor and sync changes to files in a specified Git repository.

" } }, - "com.amazonaws.codestarconnections#DeleteConnectionInput": { + "com.amazonaws.codestarconnections#CreateRepositoryLinkInput": { "type": "structure", "members": { "ConnectionArn": { "target": "com.amazonaws.codestarconnections#ConnectionArn", "traits": { - "smithy.api#documentation": "

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

\n \n

The ARN is never reused if the connection is deleted.

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

The Amazon Resource Name (ARN) of the connection to be associated with the repository link.

", + "smithy.api#required": {} + } + }, + "OwnerId": { + "target": "com.amazonaws.codestarconnections#OwnerId", + "traits": { + "smithy.api#documentation": "

The owner ID for the repository associated with a specific sync configuration, such as\n the owner ID in GitHub.

", + "smithy.api#required": {} + } + }, + "RepositoryName": { + "target": "com.amazonaws.codestarconnections#RepositoryName", + "traits": { + "smithy.api#documentation": "

The name of the repository to be associated with the repository link.

", "smithy.api#required": {} } + }, + "EncryptionKeyArn": { + "target": "com.amazonaws.codestarconnections#KmsKeyArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) encryption key for the repository to be associated with the repository link.

" + } + }, + "Tags": { + "target": "com.amazonaws.codestarconnections#TagList", + "traits": { + "smithy.api#documentation": "

The tags for the repository to be associated with the repository link.

" + } } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.codestarconnections#DeleteConnectionOutput": { + "com.amazonaws.codestarconnections#CreateRepositoryLinkOutput": { "type": "structure", - "members": {}, + "members": { + "RepositoryLinkInfo": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkInfo", + "traits": { + "smithy.api#documentation": "

The returned information about the created repository link.

", + "smithy.api#required": {} + } + } + }, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.codestarconnections#DeleteHost": { + "com.amazonaws.codestarconnections#CreateSyncConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.codestarconnections#DeleteHostInput" + "target": "com.amazonaws.codestarconnections#CreateSyncConfigurationInput" }, "output": { - "target": "com.amazonaws.codestarconnections#DeleteHostOutput" + "target": "com.amazonaws.codestarconnections#CreateSyncConfigurationOutput" }, "errors": [ { - "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + "target": "com.amazonaws.codestarconnections#AccessDeniedException" }, { - "target": "com.amazonaws.codestarconnections#ResourceUnavailableException" + "target": "com.amazonaws.codestarconnections#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.codestarconnections#InternalServerException" + }, + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" + }, + { + "target": "com.amazonaws.codestarconnections#LimitExceededException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceAlreadyExistsException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" } ], "traits": { - "smithy.api#documentation": "

The host to be deleted. Before you delete a host, all connections associated to the host must be deleted.

\n \n

A host cannot be deleted if it is in the VPC_CONFIG_INITIALIZING or VPC_CONFIG_DELETING state.

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

Creates a sync configuration which allows Amazon Web Services to sync content from a Git\n repository to update a specified Amazon Web Services resource. Parameters for the sync\n configuration are determined by the sync type.

" } }, - "com.amazonaws.codestarconnections#DeleteHostInput": { + "com.amazonaws.codestarconnections#CreateSyncConfigurationInput": { "type": "structure", "members": { - "HostArn": { - "target": "com.amazonaws.codestarconnections#HostArn", + "Branch": { + "target": "com.amazonaws.codestarconnections#BranchName", "traits": { - "smithy.api#documentation": "

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

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

The branch in the repository from which changes will be synced.

", + "smithy.api#required": {} + } + }, + "ConfigFile": { + "target": "com.amazonaws.codestarconnections#DeploymentFilePath", + "traits": { + "smithy.api#documentation": "

The file name of the configuration file that manages syncing between the connection and the repository. This configuration file is stored in the repository.

", + "smithy.api#required": {} + } + }, + "RepositoryLinkId": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkId", + "traits": { + "smithy.api#documentation": "

The ID of the repository link created for the connection. A repository link allows Git\n sync to monitor and sync changes to files in a specified Git repository.

", + "smithy.api#required": {} + } + }, + "ResourceName": { + "target": "com.amazonaws.codestarconnections#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the Amazon Web Services resource (for example, a CloudFormation stack in the\n case of CFN_STACK_SYNC) that will be synchronized from the linked repository.

", + "smithy.api#required": {} + } + }, + "RoleArn": { + "target": "com.amazonaws.codestarconnections#IamRoleArn", + "traits": { + "smithy.api#documentation": "

The ARN of the IAM role that grants permission for Amazon Web Services to use Git sync to\n update a given Amazon Web Services resource on your behalf.

", + "smithy.api#required": {} + } + }, + "SyncType": { + "target": "com.amazonaws.codestarconnections#SyncConfigurationType", + "traits": { + "smithy.api#documentation": "

The type of sync configuration.

", "smithy.api#required": {} } } @@ -1258,49 +1488,48 @@ "smithy.api#input": {} } }, - "com.amazonaws.codestarconnections#DeleteHostOutput": { + "com.amazonaws.codestarconnections#CreateSyncConfigurationOutput": { "type": "structure", - "members": {}, + "members": { + "SyncConfiguration": { + "target": "com.amazonaws.codestarconnections#SyncConfiguration", + "traits": { + "smithy.api#documentation": "

The created sync configuration for the connection. A sync configuration allows Amazon Web Services to sync content from a Git repository to update a specified Amazon Web Services\n resource.

", + "smithy.api#required": {} + } + } + }, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.codestarconnections#ErrorMessage": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 600 - } - } + "com.amazonaws.codestarconnections#CreatedReason": { + "type": "string" }, - "com.amazonaws.codestarconnections#GetConnection": { + "com.amazonaws.codestarconnections#DeleteConnection": { "type": "operation", "input": { - "target": "com.amazonaws.codestarconnections#GetConnectionInput" + "target": "com.amazonaws.codestarconnections#DeleteConnectionInput" }, "output": { - "target": "com.amazonaws.codestarconnections#GetConnectionOutput" + "target": "com.amazonaws.codestarconnections#DeleteConnectionOutput" }, "errors": [ { "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.codestarconnections#ResourceUnavailableException" } ], "traits": { - "smithy.api#documentation": "

Returns the connection ARN and details such as status, owner, and provider type.

" + "smithy.api#documentation": "

The connection to be deleted.

" } }, - "com.amazonaws.codestarconnections#GetConnectionInput": { + "com.amazonaws.codestarconnections#DeleteConnectionInput": { "type": "structure", "members": { "ConnectionArn": { "target": "com.amazonaws.codestarconnections#ConnectionArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a connection.

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

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

\n \n

The ARN is never reused if the connection is deleted.

\n
", "smithy.api#required": {} } } @@ -1309,27 +1538,20 @@ "smithy.api#input": {} } }, - "com.amazonaws.codestarconnections#GetConnectionOutput": { + "com.amazonaws.codestarconnections#DeleteConnectionOutput": { "type": "structure", - "members": { - "Connection": { - "target": "com.amazonaws.codestarconnections#Connection", - "traits": { - "smithy.api#documentation": "

The connection details, such as status, owner, and provider type.

" - } - } - }, + "members": {}, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.codestarconnections#GetHost": { + "com.amazonaws.codestarconnections#DeleteHost": { "type": "operation", "input": { - "target": "com.amazonaws.codestarconnections#GetHostInput" + "target": "com.amazonaws.codestarconnections#DeleteHostInput" }, "output": { - "target": "com.amazonaws.codestarconnections#GetHostOutput" + "target": "com.amazonaws.codestarconnections#DeleteHostOutput" }, "errors": [ { @@ -1340,16 +1562,16 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the host ARN and details such as status, provider type, endpoint, and, if\n applicable, the VPC configuration.

" + "smithy.api#documentation": "

The host to be deleted. Before you delete a host, all connections associated to the host must be deleted.

\n \n

A host cannot be deleted if it is in the VPC_CONFIG_INITIALIZING or VPC_CONFIG_DELETING state.

\n
" } }, - "com.amazonaws.codestarconnections#GetHostInput": { + "com.amazonaws.codestarconnections#DeleteHostInput": { "type": "structure", "members": { "HostArn": { "target": "com.amazonaws.codestarconnections#HostArn", "traits": { - "smithy.api#documentation": "

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

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

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

", "smithy.api#required": {} } } @@ -1358,194 +1580,183 @@ "smithy.api#input": {} } }, - "com.amazonaws.codestarconnections#GetHostOutput": { + "com.amazonaws.codestarconnections#DeleteHostOutput": { "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.codestarconnections#HostName", - "traits": { - "smithy.api#documentation": "

The name of the requested host.

" - } + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codestarconnections#DeleteRepositoryLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#DeleteRepositoryLinkInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#DeleteRepositoryLinkOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#AccessDeniedException" }, - "Status": { - "target": "com.amazonaws.codestarconnections#HostStatus", - "traits": { - "smithy.api#documentation": "

The status of the requested host.

" - } + { + "target": "com.amazonaws.codestarconnections#ConcurrentModificationException" }, - "ProviderType": { - "target": "com.amazonaws.codestarconnections#ProviderType", - "traits": { - "smithy.api#documentation": "

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

" - } + { + "target": "com.amazonaws.codestarconnections#InternalServerException" }, - "ProviderEndpoint": { - "target": "com.amazonaws.codestarconnections#Url", - "traits": { - "smithy.api#documentation": "

The endpoint of the infrastructure represented by the requested host.

" - } + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" }, - "VpcConfiguration": { - "target": "com.amazonaws.codestarconnections#VpcConfiguration", - "traits": { - "smithy.api#documentation": "

The VPC configuration of the requested host.

" - } + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#SyncConfigurationStillExistsException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" + }, + { + "target": "com.amazonaws.codestarconnections#UnsupportedProviderTypeException" } - }, + ], "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "

Deletes the association between your connection and a specified external Git repository.

" } }, - "com.amazonaws.codestarconnections#Host": { + "com.amazonaws.codestarconnections#DeleteRepositoryLinkInput": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.codestarconnections#HostName", + "RepositoryLinkId": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkId", "traits": { - "smithy.api#documentation": "

The name of the host.

" + "smithy.api#documentation": "

The ID of the repository link to be deleted.

", + "smithy.api#required": {} } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codestarconnections#DeleteRepositoryLinkOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codestarconnections#DeleteSyncConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#DeleteSyncConfigurationInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#DeleteSyncConfigurationOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#AccessDeniedException" }, - "HostArn": { - "target": "com.amazonaws.codestarconnections#HostArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the host.

" - } + { + "target": "com.amazonaws.codestarconnections#ConcurrentModificationException" }, - "ProviderType": { - "target": "com.amazonaws.codestarconnections#ProviderType", - "traits": { - "smithy.api#documentation": "

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

" - } + { + "target": "com.amazonaws.codestarconnections#InternalServerException" }, - "ProviderEndpoint": { - "target": "com.amazonaws.codestarconnections#Url", - "traits": { - "smithy.api#documentation": "

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

" - } + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" }, - "VpcConfiguration": { - "target": "com.amazonaws.codestarconnections#VpcConfiguration", - "traits": { - "smithy.api#documentation": "

The VPC configuration provisioned for the host.

" - } + { + "target": "com.amazonaws.codestarconnections#LimitExceededException" }, - "Status": { - "target": "com.amazonaws.codestarconnections#HostStatus", + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the sync configuration for a specified repository and connection.

" + } + }, + "com.amazonaws.codestarconnections#DeleteSyncConfigurationInput": { + "type": "structure", + "members": { + "SyncType": { + "target": "com.amazonaws.codestarconnections#SyncConfigurationType", "traits": { - "smithy.api#documentation": "

The status of the host, such as PENDING, AVAILABLE, VPC_CONFIG_DELETING, VPC_CONFIG_INITIALIZING, and VPC_CONFIG_FAILED_INITIALIZATION.

" + "smithy.api#documentation": "

The type of sync configuration to be deleted.

", + "smithy.api#required": {} } }, - "StatusMessage": { - "target": "com.amazonaws.codestarconnections#HostStatusMessage", + "ResourceName": { + "target": "com.amazonaws.codestarconnections#ResourceName", "traits": { - "smithy.api#documentation": "

The status description for the host.

" + "smithy.api#documentation": "

The name of the Amazon Web Services resource associated with the sync configuration to be\n deleted.

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

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

\n \n

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

\n
" + "smithy.api#input": {} } }, - "com.amazonaws.codestarconnections#HostArn": { - "type": "string", + "com.amazonaws.codestarconnections#DeleteSyncConfigurationOutput": { + "type": "structure", + "members": {}, "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - }, - "smithy.api#pattern": "^arn:aws(-[\\w]+)*:codestar-connections:.+:[0-9]{12}:host\\/.+$" + "smithy.api#output": {} } }, - "com.amazonaws.codestarconnections#HostList": { - "type": "list", - "member": { - "target": "com.amazonaws.codestarconnections#Host" - } + "com.amazonaws.codestarconnections#DeploymentFilePath": { + "type": "string" }, - "com.amazonaws.codestarconnections#HostName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 64 - }, - "smithy.api#pattern": ".*" - } + "com.amazonaws.codestarconnections#Directory": { + "type": "string" }, - "com.amazonaws.codestarconnections#HostStatus": { + "com.amazonaws.codestarconnections#ErrorMessage": { "type": "string", "traits": { "smithy.api#length": { - "min": 1, - "max": 64 - }, - "smithy.api#pattern": ".*" + "min": 0, + "max": 600 + } } }, - "com.amazonaws.codestarconnections#HostStatusMessage": { + "com.amazonaws.codestarconnections#Event": { "type": "string" }, - "com.amazonaws.codestarconnections#LimitExceededException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.codestarconnections#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

Exceeded the maximum limit for connections.

", - "smithy.api#error": "client", - "smithy.api#httpError": 429 - } + "com.amazonaws.codestarconnections#ExternalId": { + "type": "string" }, - "com.amazonaws.codestarconnections#ListConnections": { + "com.amazonaws.codestarconnections#GetConnection": { "type": "operation", "input": { - "target": "com.amazonaws.codestarconnections#ListConnectionsInput" + "target": "com.amazonaws.codestarconnections#GetConnectionInput" }, "output": { - "target": "com.amazonaws.codestarconnections#ListConnectionsOutput" + "target": "com.amazonaws.codestarconnections#GetConnectionOutput" }, "errors": [ { "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceUnavailableException" } ], "traits": { - "smithy.api#documentation": "

Lists the connections associated with your account.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Returns the connection ARN and details such as status, owner, and provider type.

" } }, - "com.amazonaws.codestarconnections#ListConnectionsInput": { + "com.amazonaws.codestarconnections#GetConnectionInput": { "type": "structure", "members": { - "ProviderTypeFilter": { - "target": "com.amazonaws.codestarconnections#ProviderType", - "traits": { - "smithy.api#documentation": "

Filters the list of connections to those associated with a specified provider, such as\n Bitbucket.

" - } - }, - "HostArnFilter": { - "target": "com.amazonaws.codestarconnections#HostArn", - "traits": { - "smithy.api#documentation": "

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

" - } - }, - "MaxResults": { - "target": "com.amazonaws.codestarconnections#MaxResults", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

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

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

The token that was returned from the previous ListConnections call, which\n can be used to return the next set of connections in the list.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a connection.

", + "smithy.api#required": {} } } }, @@ -1553,19 +1764,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.codestarconnections#ListConnectionsOutput": { + "com.amazonaws.codestarconnections#GetConnectionOutput": { "type": "structure", "members": { - "Connections": { - "target": "com.amazonaws.codestarconnections#ConnectionList", - "traits": { - "smithy.api#documentation": "

A list of connections and the details for each connection, such as status, owner, and\n provider type.

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

A token that can be used in the next ListConnections call. To view all\n items in the list, continue to call this operation with each subsequent token until no more\n nextToken values are returned.

" + "smithy.api#documentation": "

The connection details, such as status, owner, and provider type.

" } } }, @@ -1573,37 +1778,34 @@ "smithy.api#output": {} } }, - "com.amazonaws.codestarconnections#ListHosts": { + "com.amazonaws.codestarconnections#GetHost": { "type": "operation", "input": { - "target": "com.amazonaws.codestarconnections#ListHostsInput" + "target": "com.amazonaws.codestarconnections#GetHostInput" }, "output": { - "target": "com.amazonaws.codestarconnections#ListHostsOutput" + "target": "com.amazonaws.codestarconnections#GetHostOutput" }, - "traits": { - "smithy.api#documentation": "

Lists the hosts associated with your account.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" + "errors": [ + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceUnavailableException" } + ], + "traits": { + "smithy.api#documentation": "

Returns the host ARN and details such as status, provider type, endpoint, and, if\n applicable, the VPC configuration.

" } }, - "com.amazonaws.codestarconnections#ListHostsInput": { + "com.amazonaws.codestarconnections#GetHostInput": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.codestarconnections#MaxResults", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

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

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

The token that was returned from the previous ListHosts call, which can be\n used to return the next set of hosts in the list.

" + "smithy.api#documentation": "

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

", + "smithy.api#required": {} } } }, @@ -1611,19 +1813,37 @@ "smithy.api#input": {} } }, - "com.amazonaws.codestarconnections#ListHostsOutput": { + "com.amazonaws.codestarconnections#GetHostOutput": { "type": "structure", "members": { - "Hosts": { - "target": "com.amazonaws.codestarconnections#HostList", + "Name": { + "target": "com.amazonaws.codestarconnections#HostName", "traits": { - "smithy.api#documentation": "

A list of hosts and the details for each host, such as status, endpoint, and provider\n type.

" + "smithy.api#documentation": "

The name of the requested host.

" } }, - "NextToken": { - "target": "com.amazonaws.codestarconnections#NextToken", + "Status": { + "target": "com.amazonaws.codestarconnections#HostStatus", "traits": { - "smithy.api#documentation": "

A token that can be used in the next ListHosts call. To view all items in the\n list, continue to call this operation with each subsequent token until no more\n nextToken values are returned.

" + "smithy.api#documentation": "

The status of the requested host.

" + } + }, + "ProviderType": { + "target": "com.amazonaws.codestarconnections#ProviderType", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "ProviderEndpoint": { + "target": "com.amazonaws.codestarconnections#Url", + "traits": { + "smithy.api#documentation": "

The endpoint of the infrastructure represented by the requested host.

" + } + }, + "VpcConfiguration": { + "target": "com.amazonaws.codestarconnections#VpcConfiguration", + "traits": { + "smithy.api#documentation": "

The VPC configuration of the requested host.

" } } }, @@ -1631,30 +1851,45 @@ "smithy.api#output": {} } }, - "com.amazonaws.codestarconnections#ListTagsForResource": { + "com.amazonaws.codestarconnections#GetRepositoryLink": { "type": "operation", "input": { - "target": "com.amazonaws.codestarconnections#ListTagsForResourceInput" + "target": "com.amazonaws.codestarconnections#GetRepositoryLinkInput" }, "output": { - "target": "com.amazonaws.codestarconnections#ListTagsForResourceOutput" + "target": "com.amazonaws.codestarconnections#GetRepositoryLinkOutput" }, "errors": [ + { + "target": "com.amazonaws.codestarconnections#AccessDeniedException" + }, + { + "target": "com.amazonaws.codestarconnections#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.codestarconnections#InternalServerException" + }, + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" + }, { "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" } ], "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

Returns details about a repository link. A repository link allows Git sync to monitor\n and sync changes from files in a specified Git repository.

" } }, - "com.amazonaws.codestarconnections#ListTagsForResourceInput": { + "com.amazonaws.codestarconnections#GetRepositoryLinkInput": { "type": "structure", "members": { - "ResourceArn": { - "target": "com.amazonaws.codestarconnections#AmazonResourceName", + "RepositoryLinkId": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkId", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource for which you want to get information about tags, if any.

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

The ID of the repository link to get.

", "smithy.api#required": {} } } @@ -1663,13 +1898,14 @@ "smithy.api#input": {} } }, - "com.amazonaws.codestarconnections#ListTagsForResourceOutput": { + "com.amazonaws.codestarconnections#GetRepositoryLinkOutput": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.codestarconnections#TagList", + "RepositoryLinkInfo": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkInfo", "traits": { - "smithy.api#documentation": "

A list of tag key and value pairs associated with the specified resource.

" + "smithy.api#documentation": "

The information returned for a specified repository link.

", + "smithy.api#required": {} } } }, @@ -1677,122 +1913,1701 @@ "smithy.api#output": {} } }, - "com.amazonaws.codestarconnections#MaxResults": { - "type": "integer", + "com.amazonaws.codestarconnections#GetRepositorySyncStatus": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#GetRepositorySyncStatusInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#GetRepositorySyncStatusOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#AccessDeniedException" + }, + { + "target": "com.amazonaws.codestarconnections#InternalServerException" + }, + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" + } + ], "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0, - "max": 100 + "smithy.api#documentation": "

Returns details about the sync status for a repository. A repository sync uses Git sync\n to push and pull changes from your remote repository.

" + } + }, + "com.amazonaws.codestarconnections#GetRepositorySyncStatusInput": { + "type": "structure", + "members": { + "Branch": { + "target": "com.amazonaws.codestarconnections#BranchName", + "traits": { + "smithy.api#documentation": "

The branch of the repository link for the requested repository sync status.

", + "smithy.api#required": {} + } + }, + "RepositoryLinkId": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkId", + "traits": { + "smithy.api#documentation": "

The repository link ID for the requested repository sync status.

", + "smithy.api#required": {} + } + }, + "SyncType": { + "target": "com.amazonaws.codestarconnections#SyncConfigurationType", + "traits": { + "smithy.api#documentation": "

The sync type of the requested sync status.

", + "smithy.api#required": {} + } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.codestarconnections#NextToken": { - "type": "string", + "com.amazonaws.codestarconnections#GetRepositorySyncStatusOutput": { + "type": "structure", + "members": { + "LatestSync": { + "target": "com.amazonaws.codestarconnections#RepositorySyncAttempt", + "traits": { + "smithy.api#documentation": "

The status of the latest sync returned for a specified repository and branch.

", + "smithy.api#required": {} + } + } + }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 + "smithy.api#output": {} + } + }, + "com.amazonaws.codestarconnections#GetResourceSyncStatus": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#GetResourceSyncStatusInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#GetResourceSyncStatusOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#AccessDeniedException" }, - "smithy.api#pattern": ".*" + { + "target": "com.amazonaws.codestarconnections#InternalServerException" + }, + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns the status of the sync with the Git repository for a specific Amazon Web Services\n resource.

" } }, - "com.amazonaws.codestarconnections#ProviderType": { - "type": "enum", + "com.amazonaws.codestarconnections#GetResourceSyncStatusInput": { + "type": "structure", "members": { - "BITBUCKET": { - "target": "smithy.api#Unit", + "ResourceName": { + "target": "com.amazonaws.codestarconnections#ResourceName", "traits": { - "smithy.api#enumValue": "Bitbucket" + "smithy.api#documentation": "

The name of the Amazon Web Services resource for the sync status with the Git\n repository.

", + "smithy.api#required": {} } }, - "GITHUB": { - "target": "smithy.api#Unit", + "SyncType": { + "target": "com.amazonaws.codestarconnections#SyncConfigurationType", "traits": { - "smithy.api#enumValue": "GitHub" + "smithy.api#documentation": "

The sync type for the sync status with the Git repository.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codestarconnections#GetResourceSyncStatusOutput": { + "type": "structure", + "members": { + "DesiredState": { + "target": "com.amazonaws.codestarconnections#Revision", + "traits": { + "smithy.api#documentation": "

The desired state of the Amazon Web Services resource for the sync status with the Git\n repository.

" } }, - "GITHUB_ENTERPRISE_SERVER": { - "target": "smithy.api#Unit", + "LatestSuccessfulSync": { + "target": "com.amazonaws.codestarconnections#ResourceSyncAttempt", "traits": { - "smithy.api#enumValue": "GitHubEnterpriseServer" + "smithy.api#documentation": "

The latest successful sync for the sync status with the Git repository.

" } }, - "GITLAB": { - "target": "smithy.api#Unit", + "LatestSync": { + "target": "com.amazonaws.codestarconnections#ResourceSyncAttempt", "traits": { - "smithy.api#enumValue": "GitLab" + "smithy.api#documentation": "

The latest sync for the sync status with the Git repository, whether successful or not.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.codestarconnections#ResourceNotFoundException": { + "com.amazonaws.codestarconnections#GetSyncBlockerSummary": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#GetSyncBlockerSummaryInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#GetSyncBlockerSummaryOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#AccessDeniedException" + }, + { + "target": "com.amazonaws.codestarconnections#InternalServerException" + }, + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of the most recent sync blockers.

" + } + }, + "com.amazonaws.codestarconnections#GetSyncBlockerSummaryInput": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.codestarconnections#ErrorMessage" + "SyncType": { + "target": "com.amazonaws.codestarconnections#SyncConfigurationType", + "traits": { + "smithy.api#documentation": "

The sync type for the sync blocker summary.

", + "smithy.api#required": {} + } + }, + "ResourceName": { + "target": "com.amazonaws.codestarconnections#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the Amazon Web Services resource currently blocked from automatically being synced from a Git repository.

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

Resource not found. Verify the connection resource ARN and try again.

", - "smithy.api#error": "client", - "smithy.api#httpError": 404 + "smithy.api#input": {} } }, - "com.amazonaws.codestarconnections#ResourceUnavailableException": { + "com.amazonaws.codestarconnections#GetSyncBlockerSummaryOutput": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.codestarconnections#ErrorMessage" + "SyncBlockerSummary": { + "target": "com.amazonaws.codestarconnections#SyncBlockerSummary", + "traits": { + "smithy.api#documentation": "

The list of sync blockers for a specified resource.

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

Resource not found. Verify the ARN for the host resource and try again.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 + "smithy.api#output": {} } }, - "com.amazonaws.codestarconnections#SecurityGroupId": { - "type": "string", + "com.amazonaws.codestarconnections#GetSyncConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#GetSyncConfigurationInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#GetSyncConfigurationOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#AccessDeniedException" + }, + { + "target": "com.amazonaws.codestarconnections#InternalServerException" + }, + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" + } + ], "traits": { - "smithy.api#length": { - "min": 11, - "max": 20 + "smithy.api#documentation": "

Returns details about a sync configuration, including the sync type and resource name. A sync configuration allows the configuration to sync (push and pull) changes from the remote repository for a specified branch in a Git repository.

" + } + }, + "com.amazonaws.codestarconnections#GetSyncConfigurationInput": { + "type": "structure", + "members": { + "SyncType": { + "target": "com.amazonaws.codestarconnections#SyncConfigurationType", + "traits": { + "smithy.api#documentation": "

The sync type for the sync configuration for which you want to retrieve information.

", + "smithy.api#required": {} + } }, - "smithy.api#pattern": "^sg-\\w{8}(\\w{9})?$" + "ResourceName": { + "target": "com.amazonaws.codestarconnections#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the Amazon Web Services resource for the sync configuration for which you\n want to retrieve information.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.codestarconnections#SecurityGroupIds": { - "type": "list", - "member": { - "target": "com.amazonaws.codestarconnections#SecurityGroupId" + "com.amazonaws.codestarconnections#GetSyncConfigurationOutput": { + "type": "structure", + "members": { + "SyncConfiguration": { + "target": "com.amazonaws.codestarconnections#SyncConfiguration", + "traits": { + "smithy.api#documentation": "

The details about the sync configuration for which you want to retrieve information.

", + "smithy.api#required": {} + } + } }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 10 + "smithy.api#output": {} + } + }, + "com.amazonaws.codestarconnections#Host": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.codestarconnections#HostName", + "traits": { + "smithy.api#documentation": "

The name of the host.

" + } + }, + "HostArn": { + "target": "com.amazonaws.codestarconnections#HostArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the host.

" + } + }, + "ProviderType": { + "target": "com.amazonaws.codestarconnections#ProviderType", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "ProviderEndpoint": { + "target": "com.amazonaws.codestarconnections#Url", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "VpcConfiguration": { + "target": "com.amazonaws.codestarconnections#VpcConfiguration", + "traits": { + "smithy.api#documentation": "

The VPC configuration provisioned for the host.

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

The status of the host, such as PENDING, AVAILABLE, VPC_CONFIG_DELETING, VPC_CONFIG_INITIALIZING, and VPC_CONFIG_FAILED_INITIALIZATION.

" + } + }, + "StatusMessage": { + "target": "com.amazonaws.codestarconnections#HostStatusMessage", + "traits": { + "smithy.api#documentation": "

The status description for the host.

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

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

\n \n

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

\n
" + } + }, + "com.amazonaws.codestarconnections#HostArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^arn:aws(-[\\w]+)*:codestar-connections:.+:[0-9]{12}:host\\/.+$" + } + }, + "com.amazonaws.codestarconnections#HostList": { + "type": "list", + "member": { + "target": "com.amazonaws.codestarconnections#Host" + } + }, + "com.amazonaws.codestarconnections#HostName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": ".*" + } + }, + "com.amazonaws.codestarconnections#HostStatus": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": ".*" + } + }, + "com.amazonaws.codestarconnections#HostStatusMessage": { + "type": "string" + }, + "com.amazonaws.codestarconnections#IamRoleArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^arn:aws(-[\\w]+)*:iam::\\d{12}:role/[a-zA-Z_0-9+=,.@\\-_/]+$" + } + }, + "com.amazonaws.codestarconnections#Id": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.codestarconnections#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

Received an internal server exception. Try again later.

", + "smithy.api#error": "server", + "smithy.api#httpError": 503 + } + }, + "com.amazonaws.codestarconnections#InvalidInputException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

The input is not valid. Verify that the action is typed correctly.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.codestarconnections#KmsKeyArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^arn:aws(-[\\w]+)*:kms:[a-z\\-0-9]+:\\d{12}:key/[a-zA-Z0-9\\-]+$" + } + }, + "com.amazonaws.codestarconnections#LatestSyncBlockerList": { + "type": "list", + "member": { + "target": "com.amazonaws.codestarconnections#SyncBlocker" + } + }, + "com.amazonaws.codestarconnections#LimitExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

Exceeded the maximum limit for connections.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.codestarconnections#ListConnections": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#ListConnectionsInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#ListConnectionsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the connections associated with your account.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.codestarconnections#ListConnectionsInput": { + "type": "structure", + "members": { + "ProviderTypeFilter": { + "target": "com.amazonaws.codestarconnections#ProviderType", + "traits": { + "smithy.api#documentation": "

Filters the list of connections to those associated with a specified provider, such as\n Bitbucket.

" + } + }, + "HostArnFilter": { + "target": "com.amazonaws.codestarconnections#HostArn", + "traits": { + "smithy.api#documentation": "

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

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

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

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

The token that was returned from the previous ListConnections call, which\n can be used to return the next set of connections in the list.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codestarconnections#ListConnectionsOutput": { + "type": "structure", + "members": { + "Connections": { + "target": "com.amazonaws.codestarconnections#ConnectionList", + "traits": { + "smithy.api#documentation": "

A list of connections and the details for each connection, such as status, owner, and\n provider type.

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

A token that can be used in the next ListConnections call. To view all\n items in the list, continue to call this operation with each subsequent token until no more\n nextToken values are returned.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codestarconnections#ListHosts": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#ListHostsInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#ListHostsOutput" + }, + "traits": { + "smithy.api#documentation": "

Lists the hosts associated with your account.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.codestarconnections#ListHostsInput": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.codestarconnections#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

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

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

The token that was returned from the previous ListHosts call, which can be\n used to return the next set of hosts in the list.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codestarconnections#ListHostsOutput": { + "type": "structure", + "members": { + "Hosts": { + "target": "com.amazonaws.codestarconnections#HostList", + "traits": { + "smithy.api#documentation": "

A list of hosts and the details for each host, such as status, endpoint, and provider\n type.

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

A token that can be used in the next ListHosts call. To view all items in the\n list, continue to call this operation with each subsequent token until no more\n nextToken values are returned.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codestarconnections#ListRepositoryLinks": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#ListRepositoryLinksInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#ListRepositoryLinksOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#AccessDeniedException" + }, + { + "target": "com.amazonaws.codestarconnections#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.codestarconnections#InternalServerException" + }, + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the repository links created for connections in your account.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.codestarconnections#ListRepositoryLinksInput": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.codestarconnections#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\nA non-zero, non-negative integer used to limit the number of returned results.

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

\nAn enumeration token that, when provided in a request, returns the next batch of the results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codestarconnections#ListRepositoryLinksOutput": { + "type": "structure", + "members": { + "RepositoryLinks": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkList", + "traits": { + "smithy.api#documentation": "

Lists the repository links called by the list repository links operation.

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

An enumeration token that allows the operation to batch the results of the operation.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codestarconnections#ListRepositorySyncDefinitions": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#ListRepositorySyncDefinitionsInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#ListRepositorySyncDefinitionsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#AccessDeniedException" + }, + { + "target": "com.amazonaws.codestarconnections#InternalServerException" + }, + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the repository sync definitions for repository links in your account.

" + } + }, + "com.amazonaws.codestarconnections#ListRepositorySyncDefinitionsInput": { + "type": "structure", + "members": { + "RepositoryLinkId": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkId", + "traits": { + "smithy.api#documentation": "

The ID of the repository link for the sync definition for which you want to retrieve information.

", + "smithy.api#required": {} + } + }, + "SyncType": { + "target": "com.amazonaws.codestarconnections#SyncConfigurationType", + "traits": { + "smithy.api#documentation": "

The sync type of the repository link for the the sync definition for which you want to retrieve information.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codestarconnections#ListRepositorySyncDefinitionsOutput": { + "type": "structure", + "members": { + "RepositorySyncDefinitions": { + "target": "com.amazonaws.codestarconnections#RepositorySyncDefinitionList", + "traits": { + "smithy.api#documentation": "

The list of repository sync definitions returned by the request. A\n RepositorySyncDefinition is a mapping from a repository branch to all the\n Amazon Web Services resources that are being synced from that branch.

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

An enumeration token that, when provided in a request, returns the next batch of the\n results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codestarconnections#ListSyncConfigurations": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#ListSyncConfigurationsInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#ListSyncConfigurationsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#AccessDeniedException" + }, + { + "target": "com.amazonaws.codestarconnections#InternalServerException" + }, + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of sync configurations for a specified repository.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.codestarconnections#ListSyncConfigurationsInput": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.codestarconnections#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

A non-zero, non-negative integer used to limit the number of returned results.

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

An enumeration token that allows the operation to batch the results of the operation.

" + } + }, + "RepositoryLinkId": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkId", + "traits": { + "smithy.api#documentation": "

The ID of the repository link for the requested list of sync configurations.

", + "smithy.api#required": {} + } + }, + "SyncType": { + "target": "com.amazonaws.codestarconnections#SyncConfigurationType", + "traits": { + "smithy.api#documentation": "

The sync type for the requested list of sync configurations.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codestarconnections#ListSyncConfigurationsOutput": { + "type": "structure", + "members": { + "SyncConfigurations": { + "target": "com.amazonaws.codestarconnections#SyncConfigurationList", + "traits": { + "smithy.api#documentation": "

The list of repository sync definitions returned by the request.

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

An enumeration token that allows the operation to batch the next results of the operation.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codestarconnections#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#ListTagsForResourceInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#ListTagsForResourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "com.amazonaws.codestarconnections#ListTagsForResourceInput": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.codestarconnections#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource for which you want to get information about tags, if any.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codestarconnections#ListTagsForResourceOutput": { + "type": "structure", + "members": { + "Tags": { + "target": "com.amazonaws.codestarconnections#TagList", + "traits": { + "smithy.api#documentation": "

A list of tag key and value pairs associated with the specified resource.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codestarconnections#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 100 + } + } + }, + "com.amazonaws.codestarconnections#NextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^.*$" + } + }, + "com.amazonaws.codestarconnections#OwnerId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^.*$" + } + }, + "com.amazonaws.codestarconnections#Parent": { + "type": "string" + }, + "com.amazonaws.codestarconnections#ProviderType": { + "type": "enum", + "members": { + "BITBUCKET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Bitbucket" + } + }, + "GITHUB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GitHub" + } + }, + "GITHUB_ENTERPRISE_SERVER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GitHubEnterpriseServer" + } + }, + "GITLAB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GitLab" + } + } + } + }, + "com.amazonaws.codestarconnections#RepositoryLinkArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:aws(?:-[a-z]+)*:codestar-connections:[a-z\\-0-9]+:\\d{12}:repository-link\\/[a-zA-Z0-9\\-:/]+$" + } + }, + "com.amazonaws.codestarconnections#RepositoryLinkId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$" + } + }, + "com.amazonaws.codestarconnections#RepositoryLinkInfo": { + "type": "structure", + "members": { + "ConnectionArn": { + "target": "com.amazonaws.codestarconnections#ConnectionArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the connection associated with the repository link.

", + "smithy.api#required": {} + } + }, + "EncryptionKeyArn": { + "target": "com.amazonaws.codestarconnections#KmsKeyArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the encryption key for the repository associated with the repository link.

" + } + }, + "OwnerId": { + "target": "com.amazonaws.codestarconnections#OwnerId", + "traits": { + "smithy.api#documentation": "

The owner ID for the repository associated with the repository link, such as the owner\n ID in GitHub.

", + "smithy.api#required": {} + } + }, + "ProviderType": { + "target": "com.amazonaws.codestarconnections#ProviderType", + "traits": { + "smithy.api#documentation": "

The provider type for the connection, such as GitHub, associated with the repository link.

", + "smithy.api#required": {} + } + }, + "RepositoryLinkArn": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the repository link.

", + "smithy.api#required": {} + } + }, + "RepositoryLinkId": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkId", + "traits": { + "smithy.api#documentation": "

The ID of the repository link.

", + "smithy.api#required": {} + } + }, + "RepositoryName": { + "target": "com.amazonaws.codestarconnections#RepositoryName", + "traits": { + "smithy.api#documentation": "

The name of the repository associated with the repository link.

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

Information about the repository link resource, such as the repository link ARN, the associated connection ARN, encryption key ARN, and owner ID.

" + } + }, + "com.amazonaws.codestarconnections#RepositoryLinkList": { + "type": "list", + "member": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkInfo" + } + }, + "com.amazonaws.codestarconnections#RepositoryName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^.*$" + } + }, + "com.amazonaws.codestarconnections#RepositorySyncAttempt": { + "type": "structure", + "members": { + "StartedAt": { + "target": "com.amazonaws.codestarconnections#Timestamp", + "traits": { + "smithy.api#documentation": "

The start time of a specific sync attempt.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.codestarconnections#RepositorySyncStatus", + "traits": { + "smithy.api#documentation": "

The status of a specific sync attempt. The following are valid statuses:

\n ", + "smithy.api#required": {} + } + }, + "Events": { + "target": "com.amazonaws.codestarconnections#RepositorySyncEventList", + "traits": { + "smithy.api#documentation": "

The events associated with a specific sync attempt.

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

Information about a repository sync attempt for a repository with a sync configuration.

" + } + }, + "com.amazonaws.codestarconnections#RepositorySyncDefinition": { + "type": "structure", + "members": { + "Branch": { + "target": "com.amazonaws.codestarconnections#BranchName", + "traits": { + "smithy.api#documentation": "

The branch specified for a repository sync definition.

", + "smithy.api#required": {} + } + }, + "Directory": { + "target": "com.amazonaws.codestarconnections#Directory", + "traits": { + "smithy.api#documentation": "

The configuration file for a repository sync definition. This value comes from creating\n or updating the config-file field of a sync-configuration.

", + "smithy.api#required": {} + } + }, + "Parent": { + "target": "com.amazonaws.codestarconnections#Parent", + "traits": { + "smithy.api#documentation": "

The parent resource specified for a repository sync definition.

", + "smithy.api#required": {} + } + }, + "Target": { + "target": "com.amazonaws.codestarconnections#Target", + "traits": { + "smithy.api#documentation": "

The target resource specified for a repository sync definition. In some cases, such as CFN_STACK_SYNC, the parent and target resource are the same.

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

The definition for a repository with a sync configuration.

" + } + }, + "com.amazonaws.codestarconnections#RepositorySyncDefinitionList": { + "type": "list", + "member": { + "target": "com.amazonaws.codestarconnections#RepositorySyncDefinition" + } + }, + "com.amazonaws.codestarconnections#RepositorySyncEvent": { + "type": "structure", + "members": { + "Event": { + "target": "com.amazonaws.codestarconnections#Event", + "traits": { + "smithy.api#documentation": "

A description of a repository sync event.

", + "smithy.api#required": {} + } + }, + "ExternalId": { + "target": "com.amazonaws.codestarconnections#ExternalId", + "traits": { + "smithy.api#documentation": "

The ID for a repository sync event.

" + } + }, + "Time": { + "target": "com.amazonaws.codestarconnections#Timestamp", + "traits": { + "smithy.api#documentation": "

The time that a repository sync event occurred.

", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.codestarconnections#Type", + "traits": { + "smithy.api#documentation": "

The event type for a repository sync event.

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

Information about a repository sync event.

" + } + }, + "com.amazonaws.codestarconnections#RepositorySyncEventList": { + "type": "list", + "member": { + "target": "com.amazonaws.codestarconnections#RepositorySyncEvent" + } + }, + "com.amazonaws.codestarconnections#RepositorySyncStatus": { + "type": "enum", + "members": { + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "INITIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INITIATED" + } + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "SUCCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUCCEEDED" + } + }, + "QUEUED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "QUEUED" + } + } + } + }, + "com.amazonaws.codestarconnections#ResolvedReason": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 250 + } + } + }, + "com.amazonaws.codestarconnections#ResourceAlreadyExistsException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

Unable to create resource. Resource already exists.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.codestarconnections#ResourceName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^[0-9A-Za-z]+[0-9A-Za-z_\\\\-]*$" + } + }, + "com.amazonaws.codestarconnections#ResourceNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

Resource not found. Verify the connection resource ARN and try again.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.codestarconnections#ResourceSyncAttempt": { + "type": "structure", + "members": { + "Events": { + "target": "com.amazonaws.codestarconnections#ResourceSyncEventList", + "traits": { + "smithy.api#documentation": "

The events related to a resource sync attempt.

", + "smithy.api#required": {} + } + }, + "InitialRevision": { + "target": "com.amazonaws.codestarconnections#Revision", + "traits": { + "smithy.api#documentation": "

The current state of the resource as defined in the resource's config-file\n in the linked repository.

", + "smithy.api#required": {} + } + }, + "StartedAt": { + "target": "com.amazonaws.codestarconnections#Timestamp", + "traits": { + "smithy.api#documentation": "

The start time for a resource sync attempt.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.codestarconnections#ResourceSyncStatus", + "traits": { + "smithy.api#documentation": "

The status for a resource sync attempt. The follow are valid statuses:

\n ", + "smithy.api#required": {} + } + }, + "TargetRevision": { + "target": "com.amazonaws.codestarconnections#Revision", + "traits": { + "smithy.api#documentation": "

The desired state of the resource as defined in the resource's config-file\n in the linked repository. Git sync attempts to update the resource to this state.

", + "smithy.api#required": {} + } + }, + "Target": { + "target": "com.amazonaws.codestarconnections#Target", + "traits": { + "smithy.api#documentation": "

The name of the Amazon Web Services resource that is attempted to be synchronized.

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

Information about a resource sync attempt.

" + } + }, + "com.amazonaws.codestarconnections#ResourceSyncEvent": { + "type": "structure", + "members": { + "Event": { + "target": "com.amazonaws.codestarconnections#Event", + "traits": { + "smithy.api#documentation": "

The event for a resource sync event.

", + "smithy.api#required": {} + } + }, + "ExternalId": { + "target": "com.amazonaws.codestarconnections#ExternalId", + "traits": { + "smithy.api#documentation": "

The ID for a resource sync event.

" + } + }, + "Time": { + "target": "com.amazonaws.codestarconnections#Timestamp", + "traits": { + "smithy.api#documentation": "

The time that a resource sync event occurred.

", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.codestarconnections#Type", + "traits": { + "smithy.api#documentation": "

The type of resource sync event.

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

Information about a resource sync event for the resource associated with a sync configuration.

" + } + }, + "com.amazonaws.codestarconnections#ResourceSyncEventList": { + "type": "list", + "member": { + "target": "com.amazonaws.codestarconnections#ResourceSyncEvent" + } + }, + "com.amazonaws.codestarconnections#ResourceSyncStatus": { + "type": "enum", + "members": { + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "INITIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INITIATED" + } + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "SUCCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUCCEEDED" + } + } + } + }, + "com.amazonaws.codestarconnections#ResourceUnavailableException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

Resource not found. Verify the ARN for the host resource and try again.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.codestarconnections#RetryLatestCommitFailedException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

Retrying the latest commit failed. Try again later.

", + "smithy.api#error": "server", + "smithy.api#httpError": 503 + } + }, + "com.amazonaws.codestarconnections#Revision": { + "type": "structure", + "members": { + "Branch": { + "target": "com.amazonaws.codestarconnections#BranchName", + "traits": { + "smithy.api#documentation": "

The branch name for a specific revision.

", + "smithy.api#required": {} + } + }, + "Directory": { + "target": "com.amazonaws.codestarconnections#Directory", + "traits": { + "smithy.api#documentation": "

The directory, if any, for a specific revision.

", + "smithy.api#required": {} + } + }, + "OwnerId": { + "target": "com.amazonaws.codestarconnections#OwnerId", + "traits": { + "smithy.api#documentation": "

The owner ID for a specific revision, such as the GitHub owner ID for a GitHub repository.

", + "smithy.api#required": {} + } + }, + "RepositoryName": { + "target": "com.amazonaws.codestarconnections#RepositoryName", + "traits": { + "smithy.api#documentation": "

The repository name for a specific revision.

", + "smithy.api#required": {} + } + }, + "ProviderType": { + "target": "com.amazonaws.codestarconnections#ProviderType", + "traits": { + "smithy.api#documentation": "

The provider type for a revision, such as GitHub.

", + "smithy.api#required": {} + } + }, + "Sha": { + "target": "com.amazonaws.codestarconnections#SHA", + "traits": { + "smithy.api#documentation": "

The SHA, such as the commit ID, for a specific revision.

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

Information about the revision for a specific sync event, such as the branch, owner ID, and name of the repository.

" + } + }, + "com.amazonaws.codestarconnections#SHA": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + } + } + }, + "com.amazonaws.codestarconnections#SecurityGroupId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 11, + "max": 20 + }, + "smithy.api#pattern": "^sg-\\w{8}(\\w{9})?$" + } + }, + "com.amazonaws.codestarconnections#SecurityGroupIds": { + "type": "list", + "member": { + "target": "com.amazonaws.codestarconnections#SecurityGroupId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.codestarconnections#SharpNextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^.*$" + } + }, + "com.amazonaws.codestarconnections#SubnetId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 15, + "max": 24 + }, + "smithy.api#pattern": "^subnet-\\w{8}(\\w{9})?$" + } + }, + "com.amazonaws.codestarconnections#SubnetIds": { + "type": "list", + "member": { + "target": "com.amazonaws.codestarconnections#SubnetId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.codestarconnections#SyncBlocker": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.codestarconnections#Id", + "traits": { + "smithy.api#documentation": "

The ID for a specific sync blocker.

", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.codestarconnections#BlockerType", + "traits": { + "smithy.api#documentation": "

The sync blocker type.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.codestarconnections#BlockerStatus", + "traits": { + "smithy.api#documentation": "

The status for a specific sync blocker.

", + "smithy.api#required": {} + } + }, + "CreatedReason": { + "target": "com.amazonaws.codestarconnections#CreatedReason", + "traits": { + "smithy.api#documentation": "

The provided reason for a specific sync blocker.

", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.codestarconnections#Timestamp", + "traits": { + "smithy.api#documentation": "

The creation time for a specific sync blocker.

", + "smithy.api#required": {} + } + }, + "Contexts": { + "target": "com.amazonaws.codestarconnections#SyncBlockerContextList", + "traits": { + "smithy.api#documentation": "

The contexts for a specific sync blocker.

" + } + }, + "ResolvedReason": { + "target": "com.amazonaws.codestarconnections#ResolvedReason", + "traits": { + "smithy.api#documentation": "

The resolved reason for a specific sync blocker.

" + } + }, + "ResolvedAt": { + "target": "com.amazonaws.codestarconnections#Timestamp", + "traits": { + "smithy.api#documentation": "

The time that a specific sync blocker was resolved.

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

Information about a blocker for a sync event.

" + } + }, + "com.amazonaws.codestarconnections#SyncBlockerContext": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.codestarconnections#SyncBlockerContextKey", + "traits": { + "smithy.api#documentation": "

The key provided for a context key-value pair for a specific sync blocker.

", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.codestarconnections#SyncBlockerContextValue", + "traits": { + "smithy.api#documentation": "

The value provided for a context key-value pair for a specific sync blocker.

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

The context for a specific sync blocker.

" + } + }, + "com.amazonaws.codestarconnections#SyncBlockerContextKey": { + "type": "string" + }, + "com.amazonaws.codestarconnections#SyncBlockerContextList": { + "type": "list", + "member": { + "target": "com.amazonaws.codestarconnections#SyncBlockerContext" + } + }, + "com.amazonaws.codestarconnections#SyncBlockerContextValue": { + "type": "string" + }, + "com.amazonaws.codestarconnections#SyncBlockerDoesNotExistException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

Unable to continue. The sync blocker does not exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.codestarconnections#SyncBlockerSummary": { + "type": "structure", + "members": { + "ResourceName": { + "target": "com.amazonaws.codestarconnections#ResourceName", + "traits": { + "smithy.api#documentation": "

The resource name for sync blocker summary.

", + "smithy.api#required": {} + } + }, + "ParentResourceName": { + "target": "com.amazonaws.codestarconnections#ResourceName", + "traits": { + "smithy.api#documentation": "

The parent resource name for a sync blocker summary.

" + } + }, + "LatestBlockers": { + "target": "com.amazonaws.codestarconnections#LatestSyncBlockerList", + "traits": { + "smithy.api#documentation": "

The latest events for a sync blocker summary.

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

A summary for sync blockers.

" + } + }, + "com.amazonaws.codestarconnections#SyncConfiguration": { + "type": "structure", + "members": { + "Branch": { + "target": "com.amazonaws.codestarconnections#BranchName", + "traits": { + "smithy.api#documentation": "

The branch associated with a specific sync configuration.

", + "smithy.api#required": {} + } + }, + "ConfigFile": { + "target": "com.amazonaws.codestarconnections#DeploymentFilePath", + "traits": { + "smithy.api#documentation": "

The file path to the configuration file associated with a specific sync configuration. The path should point to an actual file in the sync configurations linked repository.

" + } + }, + "OwnerId": { + "target": "com.amazonaws.codestarconnections#OwnerId", + "traits": { + "smithy.api#documentation": "

The owner ID for the repository associated with a specific sync configuration, such as\n the owner ID in GitHub.

", + "smithy.api#required": {} + } + }, + "ProviderType": { + "target": "com.amazonaws.codestarconnections#ProviderType", + "traits": { + "smithy.api#documentation": "

The connection provider type associated with a specific sync configuration, such as\n GitHub.

", + "smithy.api#required": {} + } + }, + "RepositoryLinkId": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkId", + "traits": { + "smithy.api#documentation": "

The ID of the repository link associated with a specific sync configuration.

", + "smithy.api#required": {} + } + }, + "RepositoryName": { + "target": "com.amazonaws.codestarconnections#RepositoryName", + "traits": { + "smithy.api#documentation": "

The name of the repository associated with a specific sync configuration.

", + "smithy.api#required": {} + } + }, + "ResourceName": { + "target": "com.amazonaws.codestarconnections#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the connection resource associated with a specific sync configuration.

", + "smithy.api#required": {} + } + }, + "RoleArn": { + "target": "com.amazonaws.codestarconnections#IamRoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role associated with a specific sync configuration.

", + "smithy.api#required": {} + } + }, + "SyncType": { + "target": "com.amazonaws.codestarconnections#SyncConfigurationType", + "traits": { + "smithy.api#documentation": "

The type of sync for a specific sync configuration.

", + "smithy.api#required": {} + } } - } - }, - "com.amazonaws.codestarconnections#SubnetId": { - "type": "string", + }, "traits": { - "smithy.api#length": { - "min": 15, - "max": 24 - }, - "smithy.api#pattern": "^subnet-\\w{8}(\\w{9})?$" + "smithy.api#documentation": "

Information, such as repository, branch, provider, and resource names for a specific sync configuration.

" } }, - "com.amazonaws.codestarconnections#SubnetIds": { + "com.amazonaws.codestarconnections#SyncConfigurationList": { "type": "list", "member": { - "target": "com.amazonaws.codestarconnections#SubnetId" + "target": "com.amazonaws.codestarconnections#SyncConfiguration" + } + }, + "com.amazonaws.codestarconnections#SyncConfigurationStillExistsException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 10 + "smithy.api#documentation": "

Unable to continue. The sync blocker still exists.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.codestarconnections#SyncConfigurationType": { + "type": "enum", + "members": { + "CFN_STACK_SYNC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CFN_STACK_SYNC" + } } } }, @@ -1911,6 +3726,25 @@ "smithy.api#pattern": ".*" } }, + "com.amazonaws.codestarconnections#Target": { + "type": "string" + }, + "com.amazonaws.codestarconnections#ThrottlingException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

The request was denied due to request throttling.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.codestarconnections#Timestamp": { + "type": "timestamp" + }, "com.amazonaws.codestarconnections#TlsCertificate": { "type": "string", "traits": { @@ -1921,6 +3755,9 @@ "smithy.api#pattern": "^[\\s\\S]*$" } }, + "com.amazonaws.codestarconnections#Type": { + "type": "string" + }, "com.amazonaws.codestarconnections#UnsupportedOperationException": { "type": "structure", "members": { @@ -1934,6 +3771,19 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.codestarconnections#UnsupportedProviderTypeException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

The specified provider type is not supported for connections.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.codestarconnections#UntagResource": { "type": "operation", "input": { @@ -2040,6 +3890,291 @@ "smithy.api#output": {} } }, + "com.amazonaws.codestarconnections#UpdateOutOfSyncException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.codestarconnections#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

The update is out of sync. Try syncing again.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.codestarconnections#UpdateRepositoryLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#UpdateRepositoryLinkInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#UpdateRepositoryLinkOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#AccessDeniedException" + }, + { + "target": "com.amazonaws.codestarconnections#ConditionalCheckFailedException" + }, + { + "target": "com.amazonaws.codestarconnections#InternalServerException" + }, + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" + }, + { + "target": "com.amazonaws.codestarconnections#UpdateOutOfSyncException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the association between your connection and a specified external Git repository.\n A repository link allows Git sync to monitor and sync changes to files in a specified Git\n repository.

" + } + }, + "com.amazonaws.codestarconnections#UpdateRepositoryLinkInput": { + "type": "structure", + "members": { + "ConnectionArn": { + "target": "com.amazonaws.codestarconnections#ConnectionArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the connection for the repository link to be updated. The updated connection ARN must have the same providerType (such as GitHub) as the original connection ARN for the repo link.

" + } + }, + "EncryptionKeyArn": { + "target": "com.amazonaws.codestarconnections#KmsKeyArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the encryption key for the repository link to be updated.

" + } + }, + "RepositoryLinkId": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkId", + "traits": { + "smithy.api#documentation": "

The ID of the repository link to be updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codestarconnections#UpdateRepositoryLinkOutput": { + "type": "structure", + "members": { + "RepositoryLinkInfo": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkInfo", + "traits": { + "smithy.api#documentation": "

Information about the repository link to be updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codestarconnections#UpdateSyncBlocker": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#UpdateSyncBlockerInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#UpdateSyncBlockerOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#AccessDeniedException" + }, + { + "target": "com.amazonaws.codestarconnections#InternalServerException" + }, + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#RetryLatestCommitFailedException" + }, + { + "target": "com.amazonaws.codestarconnections#SyncBlockerDoesNotExistException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Allows you to update the status of a sync blocker, resolving the blocker and allowing syncing to continue.

" + } + }, + "com.amazonaws.codestarconnections#UpdateSyncBlockerInput": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.codestarconnections#Id", + "traits": { + "smithy.api#documentation": "

The ID of the sync blocker to be updated.

", + "smithy.api#required": {} + } + }, + "SyncType": { + "target": "com.amazonaws.codestarconnections#SyncConfigurationType", + "traits": { + "smithy.api#documentation": "

The sync type of the sync blocker to be updated.

", + "smithy.api#required": {} + } + }, + "ResourceName": { + "target": "com.amazonaws.codestarconnections#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the resource for the sync blocker to be updated.

", + "smithy.api#required": {} + } + }, + "ResolvedReason": { + "target": "com.amazonaws.codestarconnections#ResolvedReason", + "traits": { + "smithy.api#documentation": "

The reason for resolving the sync blocker.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codestarconnections#UpdateSyncBlockerOutput": { + "type": "structure", + "members": { + "ResourceName": { + "target": "com.amazonaws.codestarconnections#ResourceName", + "traits": { + "smithy.api#documentation": "

The resource name for the sync blocker.

", + "smithy.api#required": {} + } + }, + "ParentResourceName": { + "target": "com.amazonaws.codestarconnections#ResourceName", + "traits": { + "smithy.api#documentation": "

The parent resource name for the sync blocker.

" + } + }, + "SyncBlocker": { + "target": "com.amazonaws.codestarconnections#SyncBlocker", + "traits": { + "smithy.api#documentation": "

Information about the sync blocker to be updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codestarconnections#UpdateSyncConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.codestarconnections#UpdateSyncConfigurationInput" + }, + "output": { + "target": "com.amazonaws.codestarconnections#UpdateSyncConfigurationOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codestarconnections#AccessDeniedException" + }, + { + "target": "com.amazonaws.codestarconnections#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.codestarconnections#InternalServerException" + }, + { + "target": "com.amazonaws.codestarconnections#InvalidInputException" + }, + { + "target": "com.amazonaws.codestarconnections#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codestarconnections#ThrottlingException" + }, + { + "target": "com.amazonaws.codestarconnections#UpdateOutOfSyncException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the sync configuration for your connection and a specified external Git repository.

" + } + }, + "com.amazonaws.codestarconnections#UpdateSyncConfigurationInput": { + "type": "structure", + "members": { + "Branch": { + "target": "com.amazonaws.codestarconnections#BranchName", + "traits": { + "smithy.api#documentation": "

The branch for the sync configuration to be updated.

" + } + }, + "ConfigFile": { + "target": "com.amazonaws.codestarconnections#DeploymentFilePath", + "traits": { + "smithy.api#documentation": "

The configuration file for the sync configuration to be updated.

" + } + }, + "RepositoryLinkId": { + "target": "com.amazonaws.codestarconnections#RepositoryLinkId", + "traits": { + "smithy.api#documentation": "

The ID of the repository link for the sync configuration to be updated.

" + } + }, + "ResourceName": { + "target": "com.amazonaws.codestarconnections#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the Amazon Web Services resource for the sync configuration to be\n updated.

", + "smithy.api#required": {} + } + }, + "RoleArn": { + "target": "com.amazonaws.codestarconnections#IamRoleArn", + "traits": { + "smithy.api#documentation": "

The ARN of the IAM role for the sync configuration to be updated.

" + } + }, + "SyncType": { + "target": "com.amazonaws.codestarconnections#SyncConfigurationType", + "traits": { + "smithy.api#documentation": "

The sync type for the sync configuration to be updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codestarconnections#UpdateSyncConfigurationOutput": { + "type": "structure", + "members": { + "SyncConfiguration": { + "target": "com.amazonaws.codestarconnections#SyncConfiguration", + "traits": { + "smithy.api#documentation": "

The information returned for the sync configuration to be updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.codestarconnections#Url": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/compute-optimizer.json b/codegen/sdk-codegen/aws-models/compute-optimizer.json index bc358ead1d9..cf79677c257 100644 --- a/codegen/sdk-codegen/aws-models/compute-optimizer.json +++ b/codegen/sdk-codegen/aws-models/compute-optimizer.json @@ -150,6 +150,27 @@ "smithy.api#documentation": "

Describes the configuration of an Auto Scaling group.

" } }, + "com.amazonaws.computeoptimizer#AutoScalingGroupEstimatedMonthlySavings": { + "type": "structure", + "members": { + "currency": { + "target": "com.amazonaws.computeoptimizer#Currency", + "traits": { + "smithy.api#documentation": "

\n The currency of the estimated monthly savings.\n

" + } + }, + "value": { + "target": "com.amazonaws.computeoptimizer#Value", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The value of the estimated monthly savings.\n

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

\n An object that describes the estimated monthly savings possible by adopting Compute Optimizer’s Auto Scaling group recommendations. This is based on the \n Savings Plans and Reserved Instances discounts.\n

" + } + }, "com.amazonaws.computeoptimizer#AutoScalingGroupName": { "type": "string" }, @@ -286,6 +307,12 @@ "traits": { "smithy.api#documentation": "

\n Describes the GPU accelerator settings for the recommended instance type of the Auto Scaling group.\n

" } + }, + "savingsOpportunityAfterDiscounts": { + "target": "com.amazonaws.computeoptimizer#AutoScalingGroupSavingsOpportunityAfterDiscounts", + "traits": { + "smithy.api#documentation": "

\n An object that describes the savings opportunity for the Auto Scaling group recommendation option that includes Savings Plans and Reserved Instances discounts. \n Savings opportunity includes the estimated monthly savings and percentage.\n

" + } } }, "traits": { @@ -304,6 +331,27 @@ "target": "com.amazonaws.computeoptimizer#AutoScalingGroupRecommendation" } }, + "com.amazonaws.computeoptimizer#AutoScalingGroupSavingsOpportunityAfterDiscounts": { + "type": "structure", + "members": { + "savingsOpportunityPercentage": { + "target": "com.amazonaws.computeoptimizer#SavingsOpportunityPercentage", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The estimated monthly savings possible as a percentage of monthly cost after applying the Savings Plans and Reserved Instances discounts. This saving can be \n achieved by adopting Compute Optimizer’s Auto Scaling group recommendations.\n

" + } + }, + "estimatedMonthlySavings": { + "target": "com.amazonaws.computeoptimizer#AutoScalingGroupEstimatedMonthlySavings", + "traits": { + "smithy.api#documentation": "

\n An object that describes the estimated monthly savings possible by adopting Compute Optimizer’s Auto Scaling group recommendations. This is based on the \n Savings Plans and Reserved Instances pricing discounts.\n

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

\n Describes the savings opportunity for Auto Scaling group recommendations after applying the Savings Plans and Reserved Instances discounts.\n

\n

Savings opportunity represents the estimated monthly savings you can achieve by implementing Compute Optimizer recommendations.

" + } + }, "com.amazonaws.computeoptimizer#Code": { "type": "string" }, @@ -437,7 +485,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -480,7 +527,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -493,7 +541,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -507,7 +554,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -530,7 +576,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -565,7 +610,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -576,14 +620,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -597,14 +643,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -613,11 +657,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -628,14 +672,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -649,7 +695,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -669,7 +714,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -680,14 +724,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -698,9 +744,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -1417,6 +1465,83 @@ "smithy.api#documentation": "

Describes the performance risk ratings for a given resource type.

\n

Resources with a high or medium rating are at risk of not\n meeting the performance needs of their workloads, while resources with a\n low rating are performing well in their workloads.

" } }, + "com.amazonaws.computeoptimizer#CustomizableMetricHeadroom": { + "type": "enum", + "members": { + "PERCENT_30": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PERCENT_30" + } + }, + "PERCENT_20": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PERCENT_20" + } + }, + "PERCENT_0": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PERCENT_0" + } + } + } + }, + "com.amazonaws.computeoptimizer#CustomizableMetricName": { + "type": "enum", + "members": { + "CPU_UTILIZATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CpuUtilization" + } + } + } + }, + "com.amazonaws.computeoptimizer#CustomizableMetricParameters": { + "type": "structure", + "members": { + "threshold": { + "target": "com.amazonaws.computeoptimizer#CustomizableMetricThreshold", + "traits": { + "smithy.api#documentation": "

\n The threshold value used for the specified metric parameter.\n

" + } + }, + "headroom": { + "target": "com.amazonaws.computeoptimizer#CustomizableMetricHeadroom", + "traits": { + "smithy.api#documentation": "

\n The headroom threshold value in percentage used for the specified metric parameter.\n

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

\n Defines the various metric parameters that can be customized, such as threshold and headroom.\n

" + } + }, + "com.amazonaws.computeoptimizer#CustomizableMetricThreshold": { + "type": "enum", + "members": { + "P90": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "P90" + } + }, + "P95": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "P95" + } + }, + "P99_5": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "P99_5" + } + } + } + }, "com.amazonaws.computeoptimizer#DeleteRecommendationPreferences": { "type": "operation", "input": { @@ -1601,6 +1726,41 @@ "com.amazonaws.computeoptimizer#DestinationKeyPrefix": { "type": "string" }, + "com.amazonaws.computeoptimizer#EBSEffectiveRecommendationPreferences": { + "type": "structure", + "members": { + "savingsEstimationMode": { + "target": "com.amazonaws.computeoptimizer#EBSSavingsEstimationMode", + "traits": { + "smithy.api#documentation": "

\n Describes the savings estimation mode preference applied for calculating savings opportunity for Amazon EBS volumes.\n

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

\n Describes the effective recommendation preferences for Amazon EBS volumes.\n

" + } + }, + "com.amazonaws.computeoptimizer#EBSEstimatedMonthlySavings": { + "type": "structure", + "members": { + "currency": { + "target": "com.amazonaws.computeoptimizer#Currency", + "traits": { + "smithy.api#documentation": "

\n The currency of the estimated monthly savings.\n

" + } + }, + "value": { + "target": "com.amazonaws.computeoptimizer#Value", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The value of the estimated monthly savings.\n

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

\n An object that describes the estimated monthly savings possible by adopting Compute Optimizer’s Amazon EBS volume \n recommendations. This includes any applicable discounts.\n

" + } + }, "com.amazonaws.computeoptimizer#EBSFilter": { "type": "structure", "members": { @@ -1684,6 +1844,64 @@ } } }, + "com.amazonaws.computeoptimizer#EBSSavingsEstimationMode": { + "type": "structure", + "members": { + "source": { + "target": "com.amazonaws.computeoptimizer#EBSSavingsEstimationModeSource", + "traits": { + "smithy.api#documentation": "

\n Describes the source for calculating the savings opportunity for Amazon EBS volumes.\n

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

\n Describes the savings estimation mode used for calculating savings opportunity for Amazon EBS volumes.\n

" + } + }, + "com.amazonaws.computeoptimizer#EBSSavingsEstimationModeSource": { + "type": "enum", + "members": { + "PUBLIC_PRICING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PublicPricing" + } + }, + "COST_EXPLORER_RIGHTSIZING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CostExplorerRightsizing" + } + }, + "COST_OPTIMIZATION_HUB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CostOptimizationHub" + } + } + } + }, + "com.amazonaws.computeoptimizer#EBSSavingsOpportunityAfterDiscounts": { + "type": "structure", + "members": { + "savingsOpportunityPercentage": { + "target": "com.amazonaws.computeoptimizer#SavingsOpportunityPercentage", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The estimated monthly savings possible as a percentage of monthly cost after applying the specific discounts. \n This saving can be achieved by adopting Compute Optimizer’s Amazon EBS volume recommendations.\n

" + } + }, + "estimatedMonthlySavings": { + "target": "com.amazonaws.computeoptimizer#EBSEstimatedMonthlySavings", + "traits": { + "smithy.api#documentation": "

\n The estimated monthly savings possible as a percentage of monthly cost by adopting Compute Optimizer’s Amazon EBS volume \n recommendations. This saving includes any applicable discounts.\n

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

\n Describes the savings opportunity for Amazon EBS volume recommendations after applying specific discounts.\n

" + } + }, "com.amazonaws.computeoptimizer#EBSUtilizationMetric": { "type": "structure", "members": { @@ -1717,6 +1935,99 @@ "target": "com.amazonaws.computeoptimizer#EBSUtilizationMetric" } }, + "com.amazonaws.computeoptimizer#ECSEffectiveRecommendationPreferences": { + "type": "structure", + "members": { + "savingsEstimationMode": { + "target": "com.amazonaws.computeoptimizer#ECSSavingsEstimationMode", + "traits": { + "smithy.api#documentation": "

\n Describes the savings estimation mode preference applied for calculating savings opportunity for Amazon ECS services.\n

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

\n Describes the effective recommendation preferences for Amazon ECS services.\n

" + } + }, + "com.amazonaws.computeoptimizer#ECSEstimatedMonthlySavings": { + "type": "structure", + "members": { + "currency": { + "target": "com.amazonaws.computeoptimizer#Currency", + "traits": { + "smithy.api#documentation": "

\n The currency of the estimated monthly savings.\n

" + } + }, + "value": { + "target": "com.amazonaws.computeoptimizer#Value", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The value of the estimated monthly savings for Amazon ECS services.\n

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

\n Describes the estimated monthly savings possible for Amazon ECS services by adopting Compute Optimizer recommendations. \n This is based on Amazon ECS service pricing after applying Savings Plans discounts.\n

" + } + }, + "com.amazonaws.computeoptimizer#ECSSavingsEstimationMode": { + "type": "structure", + "members": { + "source": { + "target": "com.amazonaws.computeoptimizer#ECSSavingsEstimationModeSource", + "traits": { + "smithy.api#documentation": "

\n Describes the source for calculating the savings opportunity for Amazon ECS services.\n

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

\n Describes the savings estimation mode used for calculating savings opportunity for Amazon ECS services.\n

" + } + }, + "com.amazonaws.computeoptimizer#ECSSavingsEstimationModeSource": { + "type": "enum", + "members": { + "PUBLIC_PRICING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PublicPricing" + } + }, + "COST_EXPLORER_RIGHTSIZING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CostExplorerRightsizing" + } + }, + "COST_OPTIMIZATION_HUB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CostOptimizationHub" + } + } + } + }, + "com.amazonaws.computeoptimizer#ECSSavingsOpportunityAfterDiscounts": { + "type": "structure", + "members": { + "savingsOpportunityPercentage": { + "target": "com.amazonaws.computeoptimizer#SavingsOpportunityPercentage", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The estimated monthly savings possible as a percentage of monthly cost by adopting Compute Optimizer’s \n Amazon ECS service recommendations. This includes any applicable Savings Plans discounts.\n

" + } + }, + "estimatedMonthlySavings": { + "target": "com.amazonaws.computeoptimizer#ECSEstimatedMonthlySavings", + "traits": { + "smithy.api#documentation": "

\n The estimated monthly savings possible by adopting Compute Optimizer’s Amazon ECS service recommendations. \n This includes any applicable Savings Plans discounts.\n

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

\n Describes the savings opportunity for Amazon ECS service recommendations after applying Savings Plans discounts.\n

\n

Savings opportunity represents the estimated monthly savings after applying Savings Plans discounts. \n You can achieve this by implementing a given Compute Optimizer recommendation.

" + } + }, "com.amazonaws.computeoptimizer#ECSServiceLaunchType": { "type": "enum", "members": { @@ -1921,6 +2232,12 @@ "traits": { "smithy.api#documentation": "

\n A list of tags assigned to your Amazon ECS service recommendations.\n

" } + }, + "effectiveRecommendationPreferences": { + "target": "com.amazonaws.computeoptimizer#ECSEffectiveRecommendationPreferences", + "traits": { + "smithy.api#documentation": "

\n Describes the effective recommendation preferences for Amazon ECS services.\n

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

\n The CPU and memory size recommendations for the containers within the task of your Amazon ECS service.\n

" } + }, + "savingsOpportunityAfterDiscounts": { + "target": "com.amazonaws.computeoptimizer#ECSSavingsOpportunityAfterDiscounts", + "traits": { + "smithy.api#documentation": "

\n Describes the savings opportunity for Amazon ECS service recommendations or for the recommendation option.\n

\n

Savings opportunity represents the estimated monthly savings after applying Savings Plans discounts. \n You can achieve this by implementing a given Compute Optimizer recommendation.

" + } } }, "traits": { @@ -2142,6 +2465,44 @@ "target": "com.amazonaws.computeoptimizer#ECSServiceUtilizationMetric" } }, + "com.amazonaws.computeoptimizer#EffectivePreferredResource": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.computeoptimizer#PreferredResourceName", + "traits": { + "smithy.api#documentation": "

\n The name of the preferred resource list.\n

" + } + }, + "includeList": { + "target": "com.amazonaws.computeoptimizer#PreferredResourceValues", + "traits": { + "smithy.api#documentation": "

\n The list of preferred resource values that you want considered as rightsizing recommendation candidates.\n

" + } + }, + "effectiveIncludeList": { + "target": "com.amazonaws.computeoptimizer#PreferredResourceValues", + "traits": { + "smithy.api#documentation": "

\n The expanded version of your preferred resource's include list.\n

" + } + }, + "excludeList": { + "target": "com.amazonaws.computeoptimizer#PreferredResourceValues", + "traits": { + "smithy.api#documentation": "

\n The list of preferred resources values that you want excluded from rightsizing recommendation candidates.\n

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

\n Describes the effective preferred resources that Compute Optimizer considers as rightsizing recommendation candidates.\n

\n \n

Compute Optimizer only supports Amazon EC2 instance types.

\n
" + } + }, + "com.amazonaws.computeoptimizer#EffectivePreferredResources": { + "type": "list", + "member": { + "target": "com.amazonaws.computeoptimizer#EffectivePreferredResource" + } + }, "com.amazonaws.computeoptimizer#EffectiveRecommendationPreferences": { "type": "structure", "members": { @@ -2168,6 +2529,30 @@ "traits": { "smithy.api#documentation": "

An object that describes the external metrics recommendation preference.

\n

If the preference is applied in the latest recommendation refresh, an object with a\n valid source value appears in the response. If the preference isn't applied\n to the recommendations already, then this object doesn't appear in the response.

" } + }, + "lookBackPeriod": { + "target": "com.amazonaws.computeoptimizer#LookBackPeriodPreference", + "traits": { + "smithy.api#documentation": "

\n The number of days the utilization metrics of the Amazon Web Services resource are analyzed.\n

" + } + }, + "utilizationPreferences": { + "target": "com.amazonaws.computeoptimizer#UtilizationPreferences", + "traits": { + "smithy.api#documentation": "

\n The resource’s CPU utilization threshold preferences, such as threshold and headroom, that \n are used to generate rightsizing recommendations. \n

\n \n

This preference is only available for the Amazon EC2 instance resource type.

\n
" + } + }, + "preferredResources": { + "target": "com.amazonaws.computeoptimizer#EffectivePreferredResources", + "traits": { + "smithy.api#documentation": "

\n The resource type values that are considered as candidates when generating rightsizing recommendations.\n

" + } + }, + "savingsEstimationMode": { + "target": "com.amazonaws.computeoptimizer#InstanceSavingsEstimationMode", + "traits": { + "smithy.api#documentation": "

\n Describes the savings estimation mode applied for calculating savings opportunity for a resource.\n

" + } } }, "traits": { @@ -3248,6 +3633,42 @@ "traits": { "smithy.api#enumValue": "RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum" } + }, + "EFFECTIVE_RECOMMENDATION_PREFERENCES_SAVINGS_ESTIMATION_MODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EffectiveRecommendationPreferencesSavingsEstimationMode" + } + }, + "RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_AFTER_DISCOUNTS_PERCENTAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage" + } + }, + "RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY_AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts" + } + }, + "RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE_AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts" + } + }, + "EFFECTIVE_RECOMMENDATION_PREFERENCES_PREFERRED_RESOURCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EffectiveRecommendationPreferencesPreferredResources" + } + }, + "EFFECTIVE_RECOMMENDATION_PREFERENCES_LOOKBACK_PERIOD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EffectiveRecommendationPreferencesLookBackPeriod" + } } } }, @@ -3403,6 +3824,30 @@ "traits": { "smithy.api#enumValue": "Tags" } + }, + "EFFECTIVE_RECOMMENDATION_PREFERENCES_SAVINGS_ESTIMATION_MODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EffectiveRecommendationPreferencesSavingsEstimationMode" + } + }, + "RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_AFTER_DISCOUNTS_PERCENTAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage" + } + }, + "RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY_AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts" + } + }, + "RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE_AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts" + } } } }, @@ -3798,6 +4243,48 @@ "traits": { "smithy.api#enumValue": "Idle" } + }, + "EFFECTIVE_RECOMMENDATION_PREFERENCES_PREFERRED_RESOURCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EffectiveRecommendationPreferencesPreferredResources" + } + }, + "EFFECTIVE_RECOMMENDATION_PREFERENCES_LOOKBACK_PERIOD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EffectiveRecommendationPreferencesLookBackPeriod" + } + }, + "EFFECTIVE_RECOMMENDATION_PREFERENCES_UTILIZATION_PREFERENCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EffectiveRecommendationPreferencesUtilizationPreferences" + } + }, + "EFFECTIVE_RECOMMENDATION_PREFERENCES_SAVINGS_ESTIMATION_MODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EffectiveRecommendationPreferencesSavingsEstimationMode" + } + }, + "RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_AFTER_DISCOUNTS_PERCENTAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage" + } + }, + "RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY_AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts" + } + }, + "RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE_AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts" + } } } }, @@ -3971,6 +4458,30 @@ "traits": { "smithy.api#enumValue": "Tags" } + }, + "EFFECTIVE_RECOMMENDATION_PREFERENCES_SAVINGS_ESTIMATION_MODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EffectiveRecommendationPreferencesSavingsEstimationMode" + } + }, + "RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_AFTER_DISCOUNTS_PERCENTAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage" + } + }, + "RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY_AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts" + } + }, + "RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE_AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts" + } } } }, @@ -4305,6 +4816,30 @@ "traits": { "smithy.api#enumValue": "CurrentConfigurationRootVolume" } + }, + "EFFECTIVE_RECOMMENDATION_PREFERENCES_SAVINGS_ESTIMATION_MODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EffectiveRecommendationPreferencesSavingsEstimationMode" + } + }, + "RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_AFTER_DISCOUNTS_PERCENTAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage" + } + }, + "RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY_AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts" + } + }, + "RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE_AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts" + } } } }, @@ -5266,6 +5801,24 @@ "traits": { "smithy.api#documentation": "

The provider of the external metrics recommendation preference. Considers all\n applicable preferences that you might have set at the account and organization\n level.

\n

If the preference is applied in the latest recommendation refresh, an object with a\n valid source value appears in the response. If the preference isn't applied\n to the recommendations already, then this object doesn't appear in the response.

\n

To validate whether the preference is applied to your last generated set of\n recommendations, review the effectiveRecommendationPreferences value in the\n response of the GetEC2InstanceRecommendations actions.

\n

For more information, see Enhanced\n infrastructure metrics in the Compute Optimizer User\n Guide.

" } + }, + "lookBackPeriod": { + "target": "com.amazonaws.computeoptimizer#LookBackPeriodPreference", + "traits": { + "smithy.api#documentation": "

\n The number of days the utilization metrics of the Amazon Web Services resource are analyzed. \n

\n

To validate that the preference is applied to your last generated set of recommendations, review \n the effectiveRecommendationPreferences value in the response of the \n GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

" + } + }, + "utilizationPreferences": { + "target": "com.amazonaws.computeoptimizer#UtilizationPreferences", + "traits": { + "smithy.api#documentation": "

\n The resource’s CPU utilization threshold preferences, such as threshold and headroom, \n that were used to generate rightsizing recommendations. It considers all applicable preferences \n that you set at the resource, account, and organization level.\n

\n

To validate that the preference is applied to your last generated set of recommendations, review the \n effectiveRecommendationPreferences value in the response of the \n GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

" + } + }, + "preferredResources": { + "target": "com.amazonaws.computeoptimizer#EffectivePreferredResources", + "traits": { + "smithy.api#documentation": "

\n The resource type values that are considered as candidates when generating rightsizing recommendations. \n This object resolves any wildcard expressions and returns the effective list of candidate resource type \n values. It also considers all applicable preferences that you set at the resource, account, and \n organization level.\n

\n

To validate that the preference is applied to your last generated set of recommendations, review the \n effectiveRecommendationPreferences value in the response of the GetAutoScalingGroupRecommendations \n or GetEC2InstanceRecommendations actions.

" + } } }, "traits": { @@ -6026,18 +6579,39 @@ "INACTIVE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "Inactive" + "smithy.api#enumValue": "Inactive" + } + } + } + }, + "com.amazonaws.computeoptimizer#InstanceArn": { + "type": "string" + }, + "com.amazonaws.computeoptimizer#InstanceArns": { + "type": "list", + "member": { + "target": "com.amazonaws.computeoptimizer#InstanceArn" + } + }, + "com.amazonaws.computeoptimizer#InstanceEstimatedMonthlySavings": { + "type": "structure", + "members": { + "currency": { + "target": "com.amazonaws.computeoptimizer#Currency", + "traits": { + "smithy.api#documentation": "

\n The currency of the estimated monthly savings.\n

" + } + }, + "value": { + "target": "com.amazonaws.computeoptimizer#Value", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The value of the estimated monthly savings.\n

" } } - } - }, - "com.amazonaws.computeoptimizer#InstanceArn": { - "type": "string" - }, - "com.amazonaws.computeoptimizer#InstanceArns": { - "type": "list", - "member": { - "target": "com.amazonaws.computeoptimizer#InstanceArn" + }, + "traits": { + "smithy.api#documentation": "

\n An object that describes the estimated monthly savings possible by adopting Compute Optimizer’s Amazon EC2 instance \n recommendations. This is based on the Savings Plans and Reserved Instances pricing discounts.\n

" } }, "com.amazonaws.computeoptimizer#InstanceIdle": { @@ -6366,6 +6940,12 @@ "traits": { "smithy.api#documentation": "

\n Describes the GPU accelerator settings for the recommended instance type.\n

" } + }, + "savingsOpportunityAfterDiscounts": { + "target": "com.amazonaws.computeoptimizer#InstanceSavingsOpportunityAfterDiscounts", + "traits": { + "smithy.api#documentation": "

\n An object that describes the savings opportunity for the instance recommendation option that includes Savings Plans and Reserved Instances \n discounts. Savings opportunity includes the estimated monthly savings and percentage.\n

" + } } }, "traits": { @@ -6378,6 +6958,64 @@ "target": "com.amazonaws.computeoptimizer#InstanceRecommendation" } }, + "com.amazonaws.computeoptimizer#InstanceSavingsEstimationMode": { + "type": "structure", + "members": { + "source": { + "target": "com.amazonaws.computeoptimizer#InstanceSavingsEstimationModeSource", + "traits": { + "smithy.api#documentation": "

\n Describes the source for calculating the savings opportunity for Amazon EC2 instances.\n

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

\n Describes the savings estimation mode used for calculating savings opportunity for Amazon EC2 instances.\n

" + } + }, + "com.amazonaws.computeoptimizer#InstanceSavingsEstimationModeSource": { + "type": "enum", + "members": { + "PUBLIC_PRICING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PublicPricing" + } + }, + "COST_EXPLORER_RIGHTSIZING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CostExplorerRightsizing" + } + }, + "COST_OPTIMIZATION_HUB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CostOptimizationHub" + } + } + } + }, + "com.amazonaws.computeoptimizer#InstanceSavingsOpportunityAfterDiscounts": { + "type": "structure", + "members": { + "savingsOpportunityPercentage": { + "target": "com.amazonaws.computeoptimizer#SavingsOpportunityPercentage", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The estimated monthly savings possible as a percentage of monthly cost after applying the Savings Plans and Reserved Instances discounts. \n This saving can be achieved by adopting Compute Optimizer’s EC2 instance recommendations.\n

" + } + }, + "estimatedMonthlySavings": { + "target": "com.amazonaws.computeoptimizer#InstanceEstimatedMonthlySavings", + "traits": { + "smithy.api#documentation": "

\n An object that describes the estimated monthly savings possible by adopting Compute Optimizer’s Amazon EC2 instance recommendations. This is \n based on pricing after applying the Savings Plans and Reserved Instances discounts.\n

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

\n Describes the savings opportunity for instance recommendations after applying the Savings Plans and Reserved Instances discounts.\n

\n

Savings opportunity after discounts represents the estimated monthly savings you can achieve by \n implementing Compute Optimizer recommendations.

" + } + }, "com.amazonaws.computeoptimizer#InstanceState": { "type": "enum", "members": { @@ -6529,6 +7167,41 @@ } } }, + "com.amazonaws.computeoptimizer#LambdaEffectiveRecommendationPreferences": { + "type": "structure", + "members": { + "savingsEstimationMode": { + "target": "com.amazonaws.computeoptimizer#LambdaSavingsEstimationMode", + "traits": { + "smithy.api#documentation": "

\n Describes the savings estimation mode applied for calculating savings opportunity for Lambda functions.\n

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

\n Describes the effective recommendation preferences for Lambda functions.\n

" + } + }, + "com.amazonaws.computeoptimizer#LambdaEstimatedMonthlySavings": { + "type": "structure", + "members": { + "currency": { + "target": "com.amazonaws.computeoptimizer#Currency", + "traits": { + "smithy.api#documentation": "

\n The currency of the estimated monthly savings.\n

" + } + }, + "value": { + "target": "com.amazonaws.computeoptimizer#Value", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The value of the estimated monthly savings.\n

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

\n Describes the estimated monthly savings possible for Lambda functions by adopting Compute Optimizer recommendations. This is based \n on Lambda functions pricing after applying Savings Plans discounts.\n

" + } + }, "com.amazonaws.computeoptimizer#LambdaFunctionMemoryMetricName": { "type": "enum", "members": { @@ -6624,6 +7297,12 @@ "traits": { "smithy.api#documentation": "

An object that describes the savings opportunity for the Lambda function\n recommendation option. Savings opportunity includes the estimated monthly savings amount\n and percentage.

" } + }, + "savingsOpportunityAfterDiscounts": { + "target": "com.amazonaws.computeoptimizer#LambdaSavingsOpportunityAfterDiscounts", + "traits": { + "smithy.api#documentation": "

\n An object that describes the savings opportunity for the Lambda recommendation option which includes Saving Plans \n discounts. Savings opportunity includes the estimated monthly savings and percentage.\n

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

\n A list of tags assigned to your Lambda function recommendations.\n

" } + }, + "effectiveRecommendationPreferences": { + "target": "com.amazonaws.computeoptimizer#LambdaEffectiveRecommendationPreferences", + "traits": { + "smithy.api#documentation": "

\n Describes the effective recommendation preferences for Lambda functions.\n

" + } } }, "traits": { @@ -6899,6 +7584,64 @@ "target": "com.amazonaws.computeoptimizer#LambdaFunctionUtilizationMetric" } }, + "com.amazonaws.computeoptimizer#LambdaSavingsEstimationMode": { + "type": "structure", + "members": { + "source": { + "target": "com.amazonaws.computeoptimizer#LambdaSavingsEstimationModeSource", + "traits": { + "smithy.api#documentation": "

\n Describes the source for calculation of savings opportunity for Lambda functions.\n

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

\n Describes the savings estimation used for calculating savings opportunity for Lambda functions.\n

" + } + }, + "com.amazonaws.computeoptimizer#LambdaSavingsEstimationModeSource": { + "type": "enum", + "members": { + "PUBLIC_PRICING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PublicPricing" + } + }, + "COST_EXPLORER_RIGHTSIZING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CostExplorerRightsizing" + } + }, + "COST_OPTIMIZATION_HUB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CostOptimizationHub" + } + } + } + }, + "com.amazonaws.computeoptimizer#LambdaSavingsOpportunityAfterDiscounts": { + "type": "structure", + "members": { + "savingsOpportunityPercentage": { + "target": "com.amazonaws.computeoptimizer#SavingsOpportunityPercentage", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The estimated monthly savings possible as a percentage of monthly cost by adopting Compute Optimizer’s Lambda \n function recommendations. This includes any applicable Savings Plans discounts.\n

" + } + }, + "estimatedMonthlySavings": { + "target": "com.amazonaws.computeoptimizer#LambdaEstimatedMonthlySavings", + "traits": { + "smithy.api#documentation": "

\n The estimated monthly savings possible by adopting Compute Optimizer’s Lambda function recommendations. This \n includes any applicable Savings Plans discounts.\n

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

\n Describes the savings opportunity for Lambda functions recommendations after applying Savings Plans discounts.\n

\n

Savings opportunity represents the estimated monthly savings after applying Savings Plans discounts. \n You can achieve this by implementing a given Compute Optimizer recommendation.

" + } + }, "com.amazonaws.computeoptimizer#LastRefreshTimestamp": { "type": "timestamp" }, @@ -7259,6 +8002,29 @@ "smithy.api#default": 0 } }, + "com.amazonaws.computeoptimizer#LookBackPeriodPreference": { + "type": "enum", + "members": { + "DAYS_14": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DAYS_14" + } + }, + "DAYS_32": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DAYS_32" + } + }, + "DAYS_93": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DAYS_93" + } + } + } + }, "com.amazonaws.computeoptimizer#Low": { "type": "long", "traits": { @@ -7654,6 +8420,58 @@ "target": "com.amazonaws.computeoptimizer#PlatformDifference" } }, + "com.amazonaws.computeoptimizer#PreferredResource": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.computeoptimizer#PreferredResourceName", + "traits": { + "smithy.api#documentation": "

\n The type of preferred resource to customize.\n

\n \n

Compute Optimizer only supports the customization of Ec2InstanceTypes.

\n
" + } + }, + "includeList": { + "target": "com.amazonaws.computeoptimizer#PreferredResourceValues", + "traits": { + "smithy.api#documentation": "

\n The preferred resource type values to include in the recommendation candidates. You can specify the exact resource type value, \n such as m5.large, or use wild card expressions, such as m5. If this isn’t specified, all supported resources are included by default. \n You can specify up to 1000 values in this list.\n

" + } + }, + "excludeList": { + "target": "com.amazonaws.computeoptimizer#PreferredResourceValues", + "traits": { + "smithy.api#documentation": "

\n The preferred resource type values to exclude from the recommendation candidates. If this isn’t specified, all supported \n resources are included by default. You can specify up to 1000 values in this list.\n

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

\n The preference to control which resource type values are considered when generating rightsizing recommendations. \n You can specify this preference as a combination of include and exclude lists. You must specify either an \n includeList or excludeList. If the preference is an empty set of resource type values, \n an error occurs. For more information, see \n Rightsizing recommendation preferences in the Compute Optimizer User\n Guide.\n

\n \n \n " + } + }, + "com.amazonaws.computeoptimizer#PreferredResourceName": { + "type": "enum", + "members": { + "EC2_INSTANCE_TYPES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Ec2InstanceTypes" + } + } + } + }, + "com.amazonaws.computeoptimizer#PreferredResourceValue": { + "type": "string" + }, + "com.amazonaws.computeoptimizer#PreferredResourceValues": { + "type": "list", + "member": { + "target": "com.amazonaws.computeoptimizer#PreferredResourceValue" + } + }, + "com.amazonaws.computeoptimizer#PreferredResources": { + "type": "list", + "member": { + "target": "com.amazonaws.computeoptimizer#PreferredResource" + } + }, "com.amazonaws.computeoptimizer#ProjectedMetric": { "type": "structure", "members": { @@ -7763,6 +8581,30 @@ "traits": { "smithy.api#documentation": "

The provider of the external metrics recommendation preference to create or\n update.

\n

Specify a valid provider in the source field to activate the preference.\n To delete this preference, see the DeleteRecommendationPreferences\n action.

\n

This preference can only be set for the Ec2Instance resource type.

\n

For more information, see External metrics\n ingestion in the Compute Optimizer User\n Guide.

" } + }, + "lookBackPeriod": { + "target": "com.amazonaws.computeoptimizer#LookBackPeriodPreference", + "traits": { + "smithy.api#documentation": "

\n The preference to control the number of days the utilization metrics of the Amazon Web Services resource are analyzed. \n When this preference isn't specified, we use the default value DAYS_14.\n

\n \n

You can only set this preference for the Amazon EC2 instance and Auto Scaling group resource types.

\n
" + } + }, + "utilizationPreferences": { + "target": "com.amazonaws.computeoptimizer#UtilizationPreferences", + "traits": { + "smithy.api#documentation": "

\n The preference to control the resource’s CPU utilization thresholds - threshold and headroom. When this \n preference isn't specified, we use the following default values:\n

\n \n \n

You can only set this preference for the Amazon EC2 instance resource type.

\n
" + } + }, + "preferredResources": { + "target": "com.amazonaws.computeoptimizer#PreferredResources", + "traits": { + "smithy.api#documentation": "

\n The preference to control which resource type values are considered when generating rightsizing recommendations. \n You can specify this preference as a combination of include and exclude lists. You must specify either an \n includeList or excludeList. If the preference is an empty set of resource type values, \n an error occurs.\n

\n \n

You can only set this preference for the Amazon EC2 instance and Auto Scaling group resource types.

\n
" + } + }, + "savingsEstimationMode": { + "target": "com.amazonaws.computeoptimizer#SavingsEstimationMode", + "traits": { + "smithy.api#documentation": "

\n The status of the savings estimation mode preference to create or update.\n

\n

Specify the AfterDiscounts status to activate the preference, or specify BeforeDiscounts to deactivate the preference.

\n

Only the account manager or delegated administrator of your organization can activate this preference.

\n

For more information, see \n Savings estimation mode in the Compute Optimizer User Guide.

" + } } }, "traits": { @@ -7891,6 +8733,24 @@ "traits": { "smithy.api#enumValue": "ExternalMetricsPreference" } + }, + "LOOKBACK_PERIOD_PREFERENCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LookBackPeriodPreference" + } + }, + "PREFERRED_RESOURCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PreferredResources" + } + }, + "UTILIZATION_PREFERENCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UtilizationPreferences" + } } } }, @@ -7946,6 +8806,30 @@ "traits": { "smithy.api#documentation": "

An object that describes the external metrics recommendation preference.

\n

If the preference is applied in the latest recommendation refresh, an object with a\n valid source value appears in the response. If the preference isn't applied\n to the recommendations already, then this object doesn't appear in the response.

" } + }, + "lookBackPeriod": { + "target": "com.amazonaws.computeoptimizer#LookBackPeriodPreference", + "traits": { + "smithy.api#documentation": "

\n The preference to control the number of days the utilization metrics of the Amazon Web Services resource are analyzed. \n If the preference isn’t set, this object is null.\n

" + } + }, + "utilizationPreferences": { + "target": "com.amazonaws.computeoptimizer#UtilizationPreferences", + "traits": { + "smithy.api#documentation": "

\n The preference to control the resource’s CPU utilization thresholds - threshold and headroom. \n If the preference isn’t set, this object is null. \n

\n \n

This preference is only available for the Amazon EC2 instance resource type.

\n
" + } + }, + "preferredResources": { + "target": "com.amazonaws.computeoptimizer#EffectivePreferredResources", + "traits": { + "smithy.api#documentation": "

\n The preference to control which resource type values are considered when generating rightsizing recommendations. \n This object resolves any wildcard expressions and returns the effective list of candidate resource type values. \n If the preference isn’t set, this object is null.\n

" + } + }, + "savingsEstimationMode": { + "target": "com.amazonaws.computeoptimizer#SavingsEstimationMode", + "traits": { + "smithy.api#documentation": "

\n Describes the savings estimation mode used for calculating savings opportunity. \n

\n

Only the account manager or delegated administrator of your organization can activate this preference.

" + } } }, "traits": { @@ -8232,6 +9116,23 @@ "smithy.api#documentation": "

Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and\n key prefix for a recommendations export job.

\n

You must create the destination Amazon S3 bucket for your recommendations\n export before you create the export job. Compute Optimizer does not create the S3 bucket\n for you. After you create the S3 bucket, ensure that it has the required permission\n policy to allow Compute Optimizer to write the export file to it. If you plan to specify\n an object prefix when you create the export job, you must include the object prefix in\n the policy that you add to the S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute Optimizer in the\n Compute Optimizer User Guide.

" } }, + "com.amazonaws.computeoptimizer#SavingsEstimationMode": { + "type": "enum", + "members": { + "AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AfterDiscounts" + } + }, + "BEFORE_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BeforeDiscounts" + } + } + } + }, "com.amazonaws.computeoptimizer#SavingsOpportunity": { "type": "structure", "members": { @@ -8609,6 +9510,32 @@ "target": "com.amazonaws.computeoptimizer#UtilizationMetric" } }, + "com.amazonaws.computeoptimizer#UtilizationPreference": { + "type": "structure", + "members": { + "metricName": { + "target": "com.amazonaws.computeoptimizer#CustomizableMetricName", + "traits": { + "smithy.api#documentation": "

\n The name of the resource utilization metric name to customize. \n

\n \n

Compute Optimizer only supports CpuUtilization.

\n
" + } + }, + "metricParameters": { + "target": "com.amazonaws.computeoptimizer#CustomizableMetricParameters", + "traits": { + "smithy.api#documentation": "

\n The parameters to set when customizing the resource utilization thresholds.\n

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

\n The preference to control the resource’s CPU utilization thresholds - threshold and headroom.\n

\n \n

This preference is only available for the Amazon EC2 instance resource type.

\n
" + } + }, + "com.amazonaws.computeoptimizer#UtilizationPreferences": { + "type": "list", + "member": { + "target": "com.amazonaws.computeoptimizer#UtilizationPreference" + } + }, "com.amazonaws.computeoptimizer#Value": { "type": "double", "traits": { @@ -8772,6 +9699,12 @@ "traits": { "smithy.api#documentation": "

\n A list of tags assigned to your Amazon EBS volume recommendations.\n

" } + }, + "effectiveRecommendationPreferences": { + "target": "com.amazonaws.computeoptimizer#EBSEffectiveRecommendationPreferences", + "traits": { + "smithy.api#documentation": "

\n Describes the effective recommendation preferences for Amazon EBS volume.\n

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

An object that describes the savings opportunity for the EBS volume recommendation\n option. Savings opportunity includes the estimated monthly savings amount and\n percentage.

" } + }, + "savingsOpportunityAfterDiscounts": { + "target": "com.amazonaws.computeoptimizer#EBSSavingsOpportunityAfterDiscounts", + "traits": { + "smithy.api#documentation": "

\n An object that describes the savings opportunity for the Amazon EBS volume recommendation option with specific discounts. Savings \n opportunity includes the estimated monthly savings and percentage.\n

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/config-service.json b/codegen/sdk-codegen/aws-models/config-service.json index 7ab3db4e379..2a1346fc23a 100644 --- a/codegen/sdk-codegen/aws-models/config-service.json +++ b/codegen/sdk-codegen/aws-models/config-service.json @@ -669,13 +669,13 @@ "configurationItemCaptureTime": { "target": "com.amazonaws.configservice#ConfigurationItemCaptureTime", "traits": { - "smithy.api#documentation": "

The time when the configuration recording was initiated.

" + "smithy.api#documentation": "

The time when the recording of configuration changes was initiated for the resource.

" } }, "configurationItemStatus": { "target": "com.amazonaws.configservice#ConfigurationItemStatus", "traits": { - "smithy.api#documentation": "

The configuration item status. The valid values are:

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

The configuration item status. Valid values include:

\n " } }, "configurationStateId": { @@ -737,10 +737,22 @@ "traits": { "smithy.api#documentation": "

Configuration attributes that Config returns for certain\n\t\t\tresource types to supplement the information returned for the\n\t\t\tconfiguration parameter.

" } + }, + "recordingFrequency": { + "target": "com.amazonaws.configservice#RecordingFrequency", + "traits": { + "smithy.api#documentation": "

The recording frequency that Config uses to record configuration changes for the resource.

" + } + }, + "configurationItemDeliveryTime": { + "target": "com.amazonaws.configservice#ConfigurationItemDeliveryTime", + "traits": { + "smithy.api#documentation": "

The time when configuration changes for the resource were delivered.

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

The detailed configuration of a specified resource.

" + "smithy.api#documentation": "

The detailed configurations of a specified resource.

" } }, "com.amazonaws.configservice#BaseConfigurationItems": { @@ -1625,13 +1637,13 @@ "configurationItemCaptureTime": { "target": "com.amazonaws.configservice#ConfigurationItemCaptureTime", "traits": { - "smithy.api#documentation": "

The time when the configuration recording was\n\t\t\tinitiated.

" + "smithy.api#documentation": "

The time when the recording of configuration changes was\n\t\t\tinitiated for the resource.

" } }, "configurationItemStatus": { "target": "com.amazonaws.configservice#ConfigurationItemStatus", "traits": { - "smithy.api#documentation": "

The configuration item status. The valid values are:

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

The configuration item status. Valid values include:

\n " } }, "configurationStateId": { @@ -1717,6 +1729,18 @@ "traits": { "smithy.api#documentation": "

Configuration attributes that Config returns for certain\n\t\t\tresource types to supplement the information returned for the\n\t\t\t\tconfiguration parameter.

" } + }, + "recordingFrequency": { + "target": "com.amazonaws.configservice#RecordingFrequency", + "traits": { + "smithy.api#documentation": "

The recording frequency that Config uses to record configuration changes for the resource.

" + } + }, + "configurationItemDeliveryTime": { + "target": "com.amazonaws.configservice#ConfigurationItemDeliveryTime", + "traits": { + "smithy.api#documentation": "

The time when configuration changes for the resource were delivered.

" + } } }, "traits": { @@ -1726,6 +1750,9 @@ "com.amazonaws.configservice#ConfigurationItemCaptureTime": { "type": "timestamp" }, + "com.amazonaws.configservice#ConfigurationItemDeliveryTime": { + "type": "timestamp" + }, "com.amazonaws.configservice#ConfigurationItemList": { "type": "list", "member": { @@ -1776,13 +1803,13 @@ "name": { "target": "com.amazonaws.configservice#RecorderName", "traits": { - "smithy.api#documentation": "

The name of the configuration recorder. Config automatically assigns the name of \"default\" when creating the configuration recorder.

\n

You cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.

" + "smithy.api#documentation": "

The name of the configuration recorder. Config automatically assigns the name of \"default\" when creating the configuration recorder.

\n \n

You cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.

\n
" } }, "roleARN": { "target": "com.amazonaws.configservice#String", "traits": { - "smithy.api#documentation": "

Amazon Resource Name (ARN) of the IAM role assumed by Config and used by the configuration recorder.

\n \n

While the API model does not require this field, the server will reject a request without a defined roleARN for the configuration recorder.

\n
\n \n

\n Pre-existing Config role\n

\n

If you have used an Amazon Web Services service that uses Config, such as Security Hub or\n\t\t\t\tControl Tower, and an Config role has already been created, make sure that the\n\t\t\t\tIAM role that you use when setting up Config keeps the same minimum\n\t\t\t\tpermissions as the already created Config role. You must do this so that the\n\t\t\t\tother Amazon Web Services service continues to run as expected.

\n

For example, if Control Tower has an IAM role that allows Config to read\n\t\t\t\tAmazon Simple Storage Service (Amazon S3) objects, make sure that the same permissions are granted\n\t\t\t\twithin the IAM role you use when setting up Config. Otherwise, it may\n\t\t\t\tinterfere with how Control Tower operates. For more information about IAM\n\t\t\t\troles for Config,\n\t\t\t\tsee \n Identity and Access Management for Config\n in the Config Developer Guide.\n\t\t\t

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

Amazon Resource Name (ARN) of the IAM role assumed by Config and used by the configuration recorder.

\n \n

While the API model does not require this field, the server will reject a request without a defined roleARN for the configuration recorder.

\n
\n \n

\n Pre-existing Config role\n

\n

If you have used an Amazon Web Services service that uses Config, such as Security Hub or\n\t\t\t\tControl Tower, and an Config role has already been created, make sure that the\n\t\t\t\tIAM role that you use when setting up Config keeps the same minimum\n\t\t\t\tpermissions as the already created Config role. You must do this so that the\n\t\t\t\tother Amazon Web Services service continues to run as expected.

\n

For example, if Control Tower has an IAM role that allows Config to read\n\t\t\t\tAmazon Simple Storage Service (Amazon S3) objects, make sure that the same permissions are granted\n\t\t\t\twithin the IAM role you use when setting up Config. Otherwise, it may\n\t\t\t\tinterfere with how Control Tower operates. For more information about IAM\n\t\t\t\troles for Config,\n\t\t\t\tsee \n Identity and Access Management for Config\n in the Config Developer Guide.\n\t\t\t

\n
" } }, "recordingGroup": { @@ -1790,10 +1817,16 @@ "traits": { "smithy.api#documentation": "

Specifies which resource types Config\n\t\t\trecords for configuration changes.

\n \n

\n High Number of Config Evaluations\n

\n

You may notice increased activity in your account during your initial month recording with Config when compared to subsequent months. During the\n\t\t\t\tinitial bootstrapping process, Config runs evaluations on all the resources in your account that you have selected\n\t\t\t\tfor Config to record.

\n

If you are running ephemeral workloads, you may see increased activity from Config as it records configuration changes associated with creating and deleting these\n\t\t\t\ttemporary resources. An ephemeral workload is a temporary use of computing resources that are loaded\n\t\t\t\tand run when needed. Examples include Amazon Elastic Compute Cloud (Amazon EC2)\n\t\t\t\tSpot Instances, Amazon EMR jobs, and Auto Scaling. If you want\n\t\t\t\tto avoid the increased activity from running ephemeral workloads, you can run these\n\t\t\t\ttypes of workloads in a separate account with Config turned off to avoid\n\t\t\t\tincreased configuration recording and rule evaluations.

\n
" } + }, + "recordingMode": { + "target": "com.amazonaws.configservice#RecordingMode", + "traits": { + "smithy.api#documentation": "

Specifies the default recording frequency that Config uses to record configuration changes.\n\t\t\t\n\t\t\tConfig supports Continuous recording and Daily recording.

\n \n \n

Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager,\n\t\t\tit is recommended that you set the recording frequency to Continuous.

\n
\n

You can also override the recording frequency for specific resource types.

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

Records configuration changes to specified resource types.\n\t\t\tFor more information about the configuration recorder,\n\t\t\tsee \n Managing the Configuration Recorder\n in the Config Developer Guide.

" + "smithy.api#documentation": "

Records configuration changes to your specified resource types.\n\t\t\tFor more information about the configuration recorder,\n\t\t\tsee \n Managing the Configuration Recorder\n in the Config Developer Guide.

" } }, "com.amazonaws.configservice#ConfigurationRecorderList": { @@ -5157,6 +5190,15 @@ "smithy.api#output": {} } }, + "com.amazonaws.configservice#Description": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, "com.amazonaws.configservice#DiscoveredResourceIdentifierList": { "type": "list", "member": { @@ -5465,7 +5507,7 @@ } }, "traits": { - "smithy.api#documentation": "

Specifies whether the configuration recorder excludes certain resource types from being recorded.\n\t\t\tUse the resourceTypes field to enter a comma-separated list of resource types you want to exclude from recording.

\n

By default, when Config adds support for a new resource type in the Region where you set up the configuration recorder,\n\t\t\tincluding global resource types, Config starts recording resources of that type automatically.

\n \n

\n How to use\n

\n

To use this option, you must set the useOnly\n\t\t\t\tfield of RecordingStrategy\n\t\t\t\tto EXCLUSION_BY_RESOURCE_TYPES.

\n

Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.

\n

\n Globally recorded resources\n

\n

Unless specifically listed as exclusions,\n\t\t\t\tAWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.\n\t\t\t\tIAM users, groups, roles, and customer managed policies will be recorded automatically in all enabled Config Regions where Config was available before February 2022.\n\t\t\t\tThis list does not include the following Regions:

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

Specifies whether the configuration recorder excludes certain resource types from being recorded.\n\t\t\tUse the resourceTypes field to enter a comma-separated list of resource types you want to exclude from recording.

\n

By default, when Config adds support for a new resource type in the Region where you set up the configuration recorder,\n\t\t\tincluding global resource types, Config starts recording resources of that type automatically.

\n \n

\n How to use the exclusion recording strategy \n

\n

To use this option, you must set the useOnly\n\t\t\t\tfield of RecordingStrategy\n\t\t\t\tto EXCLUSION_BY_RESOURCE_TYPES.

\n

Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.

\n

\n Global resource types and the exclusion recording strategy \n

\n

Unless specifically listed as exclusions,\n\t\t\t\tAWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

\n

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022.\n\t\t\t\tYou cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

\n \n
" } }, "com.amazonaws.configservice#ExecutionControls": { @@ -9738,6 +9780,9 @@ }, { "target": "com.amazonaws.configservice#MaxNumberOfConfigurationRecordersExceededException" + }, + { + "target": "com.amazonaws.configservice#ValidationException" } ], "traits": { @@ -10612,6 +10657,23 @@ } } }, + "com.amazonaws.configservice#RecordingFrequency": { + "type": "enum", + "members": { + "CONTINUOUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTINUOUS" + } + }, + "DAILY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DAILY" + } + } + } + }, "com.amazonaws.configservice#RecordingGroup": { "type": "structure", "members": { @@ -10619,37 +10681,104 @@ "target": "com.amazonaws.configservice#AllSupported", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether Config records configuration changes for all supported regionally recorded resource types.

\n

If you set this field to true, when Config\n\t\t\tadds support for a new regionally recorded resource type, Config starts recording resources of that type automatically.

\n

If you set this field to true,\n\t\t\tyou cannot enumerate specific resource types to record in the resourceTypes field of RecordingGroup, or to exclude in the resourceTypes field of ExclusionByResourceTypes.

\n \n

\n Region Availability\n

\n

Check Resource Coverage by Region Availability\n\t\t\t\tto see if a resource type is supported in the Amazon Web Services Region where you set up Config.

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

Specifies whether Config records configuration changes for all supported resource types, excluding the global IAM resource types.

\n

If you set this field to true, when Config\n\t\t\tadds support for a new resource type, Config starts recording resources of that type automatically.

\n

If you set this field to true,\n\t\t\tyou cannot enumerate specific resource types to record in the resourceTypes field of RecordingGroup, or to exclude in the resourceTypes field of ExclusionByResourceTypes.

\n \n

\n Region availability\n

\n

Check Resource Coverage by Region Availability\n\t\t\t\tto see if a resource type is supported in the Amazon Web Services Region where you set up Config.

\n
" } }, "includeGlobalResourceTypes": { "target": "com.amazonaws.configservice#IncludeGlobalResourceTypes", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

A legacy field which only applies to the globally recorded IAM resource types: IAM users, groups, roles, and customer managed policies.\n\t\t\tIf you select this option, these resource types will be recorded in all enabled Config regions where Config was available before February 2022.\n\t\t\tThis list does not include the following Regions:

\n \n \n

\n Aurora global clusters are automatically globally recorded\n

\n

The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if includeGlobalResourceTypes is not set to true.\n\t\t\t\tincludeGlobalResourceTypes is a legacy field which only applies to IAM users, groups, roles, and customer managed policies.\n\t\t\t

\n

If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies:

\n
    \n
  1. \n

    \n Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

    \n
  2. \n
  3. \n

    \n Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

    \n
  4. \n
\n

For more information, see Selecting Which Resources are Recorded in the Config developer guide.

\n
\n \n

\n Required and optional fields\n

\n

Before you set this field to true,\n\t\t\tset the allSupported field of RecordingGroup to\n\t\t\ttrue. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.

\n
\n \n

\n Overriding fields\n

\n

If you set this field to false but list globally recorded IAM resource types in the resourceTypes field of RecordingGroup,\n\t\t\tConfig will still record configuration changes for those specified resource types regardless of if you set the includeGlobalResourceTypes field to false.

\n

If you do not want to record configuration changes to the globally recorded IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the resourceTypes field\n\t\t\tin addition to setting the includeGlobalResourceTypes field to false.

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

This option is a bundle which only applies to the global IAM resource types:\n\t\t\tIAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded\n\t\t\tby Config in Regions where Config was available before February 2022.\n\t\t\tYou cannot be record the global IAM resouce types in Regions supported by Config after February 2022.\n\t\t\tThis list where you cannot record the global IAM resource types includes the following Regions:

\n \n \n

\n Aurora global clusters are recorded in all enabled Regions\n

\n

The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if includeGlobalResourceTypes is not set to true.\n\t\t\t\tThe includeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.\n\t\t\t

\n

If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies:

\n
    \n
  1. \n

    \n Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

    \n
  2. \n
  3. \n

    \n Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

    \n
  4. \n
\n

For more information, see Selecting Which Resources are Recorded in the Config developer guide.

\n
\n \n

Before you set this field to true,\n\t\t\tset the allSupported field of RecordingGroup to\n\t\t\ttrue. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.

\n
\n \n

\n Overriding fields\n

\n

If you set this field to false but list global IAM resource types in the resourceTypes field of RecordingGroup,\n\t\t\tConfig will still record configuration changes for those specified resource types regardless of if you set the includeGlobalResourceTypes field to false.

\n

If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the resourceTypes field\n\t\t\tin addition to setting the includeGlobalResourceTypes field to false.

\n
" } }, "resourceTypes": { "target": "com.amazonaws.configservice#ResourceTypeList", "traits": { - "smithy.api#documentation": "

A comma-separated list that specifies which resource types Config\n\t\t\trecords.

\n

Optionally, you can set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES.

\n

To record all configuration changes,\n\t\t\t\tset the allSupported field of RecordingGroup to\n\t\t\t\ttrue, and either omit this field or don't specify any resource types in this field. If you set the allSupported field to false and specify values for resourceTypes,\n\t\t\t\t\twhen Config adds support for a new type of resource,\n\t\t\t\t\tit will not record resources of that type unless you manually add that type to your recording group.

\n

For a list of valid resourceTypes values, see the\n\t\t\t\tResource Type Value column in\n\t\t\t\tSupported Amazon Web Services resource Types in the Config developer guide.

\n \n

\n Region Availability\n

\n

Before specifying a resource type for Config to track,\n\t\t\t\tcheck Resource Coverage by Region Availability\n\t\t\t\tto see if the resource type is supported in the Amazon Web Services Region where you set up Config.\n\t\t\t\tIf a resource type is supported by Config in at least one Region,\n\t\t\t\tyou can enable the recording of that resource type in all Regions supported by Config,\n\t\t\t\teven if the specified resource type is not supported in the Amazon Web Services Region where you set up Config.

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

A comma-separated list that specifies which resource types Config\n\t\t\trecords.

\n

For a list of valid resourceTypes values, see the\n\t\t\t\tResource Type Value column in\n\t\t\t\tSupported Amazon Web Services resource Types in the Config developer guide.

\n \n

\n Required and optional fields\n

\n

Optionally, you can set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES.

\n

To record all configuration changes,\n\t\t\t\tset the allSupported field of RecordingGroup to\n\t\t\t\ttrue, and either omit this field or don't specify any resource types in this field. If you set the allSupported field to false and specify values for resourceTypes,\n\t\t\t\twhen Config adds support for a new type of resource,\n\t\t\t\tit will not record resources of that type unless you manually add that type to your recording group.

\n
\n \n

\n Region availability\n

\n

Before specifying a resource type for Config to track,\n\t\t\t\tcheck Resource Coverage by Region Availability\n\t\t\t\tto see if the resource type is supported in the Amazon Web Services Region where you set up Config.\n\t\t\t\tIf a resource type is supported by Config in at least one Region,\n\t\t\t\tyou can enable the recording of that resource type in all Regions supported by Config,\n\t\t\t\teven if the specified resource type is not supported in the Amazon Web Services Region where you set up Config.

\n
" } }, "exclusionByResourceTypes": { "target": "com.amazonaws.configservice#ExclusionByResourceTypes", "traits": { - "smithy.api#documentation": "

An object that specifies how Config excludes resource types from being recorded by the configuration recorder.

\n

To use this option, you must set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

" + "smithy.api#documentation": "

An object that specifies how Config excludes resource types from being recorded by the configuration recorder.

\n \n

\n Required fields\n

\n

To use this option, you must set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

\n
" } }, "recordingStrategy": { "target": "com.amazonaws.configservice#RecordingStrategy", "traits": { - "smithy.api#documentation": "

An object that specifies the recording strategy for the configuration recorder.

\n \n \n

\n Required and optional fields\n

\n

The recordingStrategy field is optional when you set the\n\t\t\tallSupported field of RecordingGroup to true.

\n

The recordingStrategy field is optional when you list resource types in the\n\t\t\t\tresourceTypes field of RecordingGroup.

\n

The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

\n
\n \n

\n Overriding fields\n

\n

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

\n

For example, even if you set includeGlobalResourceTypes to false, globally recorded IAM resource types will still be automatically\n\t\t\trecorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

\n
\n \n

\n Global resources types and the resource exclusion recording strategy\n

\n

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy,\n\t\t\twhen Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types,\n\t\t\tConfig starts recording resources of that type automatically.

\n

In addition, unless specifically listed as exclusions,\n\t\t\t\tAWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.\n\t\t\t\tIAM users, groups, roles, and customer managed policies will be recorded automatically in all enabled Config Regions where Config was available before February 2022.\n\t\t\t\tThis list does not include the following Regions:

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

An object that specifies the recording strategy for the configuration recorder.

\n \n \n

\n Required and optional fields\n

\n

The recordingStrategy field is optional when you set the\n\t\t\tallSupported field of RecordingGroup to true.

\n

The recordingStrategy field is optional when you list resource types in the\n\t\t\t\tresourceTypes field of RecordingGroup.

\n

The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

\n
\n \n

\n Overriding fields\n

\n

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

\n

For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically\n\t\t\trecorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

\n
\n \n

\n Global resources types and the resource exclusion recording strategy\n

\n

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy,\n\t\t\twhen Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types,\n\t\t\tConfig starts recording resources of that type automatically.

\n

Unless specifically listed as exclusions,\n\t\t\t\tAWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

\n

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022.\n\t\t\t\tYou cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

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

Specifies which resource types Config\n\t\t\trecords for configuration changes. By default, Config records configuration changes for all current and future supported resource types in the Amazon Web Services Region where you have enabled Config,\n\t\t\texcluding the global IAM resource types: IAM users, groups, roles, and customer managed policies.

\n

In the recording group, you specify whether you want to record all supported current and future supported resource types or to include or exclude specific resources types.\n\t\t\tFor a list of supported resource types, see Supported Resource Types in the Config developer guide.

\n

If you don't want Config to record all current and future supported resource types (excluding the global IAM resource types), use one of the following recording strategies:

\n
    \n
  1. \n

    \n Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

    \n
  2. \n
  3. \n

    \n Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

    \n
  4. \n
\n

If you use the recording strategy to Record all current and future resource types (ALL_SUPPORTED_RESOURCE_TYPES),\n\t\t\tyou can use the flag includeGlobalResourceTypes to include the global IAM resource types in your recording.

\n \n

\n Aurora global clusters are recorded in all enabled Regions\n

\n

The AWS::RDS::GlobalCluster resource type\n\t\t\t\twill be recorded in all supported Config Regions where the configuration recorder is enabled.

\n

If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use the EXCLUSION_BY_RESOURCE_TYPES or INCLUSION_BY_RESOURCE_TYPES recording strategy.

\n
" + } + }, + "com.amazonaws.configservice#RecordingMode": { + "type": "structure", + "members": { + "recordingFrequency": { + "target": "com.amazonaws.configservice#RecordingFrequency", + "traits": { + "smithy.api#documentation": "

The default recording frequency that Config uses to record configuration changes.

\n \n

Daily recording is not supported for the following resource types:

\n \n

For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) recording strategy, these resource types will be set to Continuous recording.

\n
", + "smithy.api#required": {} + } + }, + "recordingModeOverrides": { + "target": "com.amazonaws.configservice#RecordingModeOverrides", + "traits": { + "smithy.api#documentation": "

An array of recordingModeOverride objects for you to specify your overrides for the recording mode.\n\t\t\tThe recordingModeOverride object in the recordingModeOverrides array consists of three fields: a description, the new recordingFrequency, and an array of resourceTypes to override.

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

Specifies which resource types Config\n\t\t\trecords for configuration changes. By default, Config records configuration changes for all current and future supported resource types in the Amazon Web Services Region where you have enabled Config\n\t\t\t(excluding the globally recorded IAM resource types: IAM users, groups, roles, and customer managed policies).

\n

In the recording group, you specify whether you want to record all supported current and future supported resource types or to include or exclude specific resources types.\n\t\t\tFor a list of supported resource types, see Supported Resource Types in the Config developer guide.

\n

If you don't want Config to record all current and future supported resource types, use one of the following recording strategies:

\n
    \n
  1. \n

    \n Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

    \n
  2. \n
  3. \n

    \n Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

    \n
  4. \n
\n \n

\n Aurora global clusters are automatically globally recorded\n

\n

The AWS::RDS::GlobalCluster resource type\n\t\t\t\twill be recorded in all supported Config Regions where the configuration recorder is enabled.

\n

If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use the EXCLUSION_BY_RESOURCE_TYPES or INCLUSION_BY_RESOURCE_TYPES recording strategy.

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

Specifies the default recording frequency that Config uses to record configuration changes.\n\t\t\t\n\t\t\tConfig supports Continuous recording and Daily recording.

\n \n \n

Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager,\n\t\t\tit is recommended that you set the recording frequency to Continuous.

\n
\n

You can also override the recording frequency for specific resource types.

" + } + }, + "com.amazonaws.configservice#RecordingModeOverride": { + "type": "structure", + "members": { + "description": { + "target": "com.amazonaws.configservice#Description", + "traits": { + "smithy.api#documentation": "

A description that you provide for the override.

" + } + }, + "resourceTypes": { + "target": "com.amazonaws.configservice#RecordingModeResourceTypesList", + "traits": { + "smithy.api#documentation": "

A comma-separated list that specifies which resource types Config\n\t\t\tincludes in the override.

\n \n

Daily recording is not supported for the following resource types:

\n \n
", + "smithy.api#required": {} + } + }, + "recordingFrequency": { + "target": "com.amazonaws.configservice#RecordingFrequency", + "traits": { + "smithy.api#documentation": "

The recording frequency that will be applied to all the resource types specified in the override.

\n \n \n

Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager,\n\t\t\tit is recommended that you set the recording frequency to Continuous.

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

An object for you to specify your overrides for the recording mode.

" + } + }, + "com.amazonaws.configservice#RecordingModeOverrides": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#RecordingModeOverride" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1 + } + } + }, + "com.amazonaws.configservice#RecordingModeResourceTypesList": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#ResourceType" } }, "com.amazonaws.configservice#RecordingStrategy": { @@ -10658,7 +10787,7 @@ "useOnly": { "target": "com.amazonaws.configservice#RecordingStrategyType", "traits": { - "smithy.api#documentation": "

The recording strategy for the configuration recorder.

\n \n \n

\n Required and optional fields\n

\n

The recordingStrategy field is optional when you set the\n\t\t\tallSupported field of RecordingGroup to true.

\n

The recordingStrategy field is optional when you list resource types in the\n\t\t\t\tresourceTypes field of RecordingGroup.

\n

The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

\n
\n \n

\n Overriding fields\n

\n

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

\n

For example, even if you set includeGlobalResourceTypes to false, globally recorded IAM resource types will still be automatically\n\t\t\trecorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

\n
\n \n

\n Global resource types and the exclusion recording strategy\n

\n

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy,\n\t\t\t\twhen Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types,\n\t\t\t\tConfig starts recording resources of that type automatically.

\n

In addition, unless specifically listed as exclusions,\n\t\t\t\tAWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.\n\t\t\t\tIAM users, groups, roles, and customer managed policies will be recorded automatically in all enabled Config Regions where Config was available before February 2022.\n\t\t\t\tThis list does not include the following Regions:

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

The recording strategy for the configuration recorder.

\n \n \n

\n Required and optional fields\n

\n

The recordingStrategy field is optional when you set the\n\t\t\tallSupported field of RecordingGroup to true.

\n

The recordingStrategy field is optional when you list resource types in the\n\t\t\t\tresourceTypes field of RecordingGroup.

\n

The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

\n
\n \n

\n Overriding fields\n

\n

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

\n

For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically\n\t\t\trecorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

\n
\n \n

\n Global resource types and the exclusion recording strategy\n

\n

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy,\n\t\t\t\twhen Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types,\n\t\t\t\tConfig starts recording resources of that type automatically.

\n

Unless specifically listed as exclusions,\n\t\t\t\tAWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

\n

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022.\n\t\t\t\tYou cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

\n \n
" } } }, diff --git a/codegen/sdk-codegen/aws-models/controltower.json b/codegen/sdk-codegen/aws-models/controltower.json index 3672896ffbf..a274e87e101 100644 --- a/codegen/sdk-codegen/aws-models/controltower.json +++ b/codegen/sdk-codegen/aws-models/controltower.json @@ -30,9 +30,15 @@ "target": "com.amazonaws.controltower#UntagResource" } ], + "resources": [ + { + "target": "com.amazonaws.controltower#LandingZoneResource" + } + ], "traits": { "aws.api#service": { "sdkId": "ControlTower", + "cloudFormationName": "ControlTower", "arnNamespace": "controltower", "endpointPrefix": "controltower", "cloudTrailEventSource": "controltower.amazonaws.com" @@ -61,7 +67,7 @@ "x-amzn-trace-id" ] }, - "smithy.api#documentation": "

These interfaces allow you to apply the AWS library of pre-defined\n controls to your organizational units, programmatically. In AWS Control Tower, the terms \"control\" and \"guardrail\" are synonyms.

\n

To call these APIs, you'll need to know:

\n \n

\n To get the controlIdentifier for your AWS Control Tower\n control:\n

\n

The controlIdentifier is an ARN that is specified for each\n control. You can view the controlIdentifier in the console on the Control details page, as well as in the documentation.

\n

The controlIdentifier is unique in each AWS Region for each control. You can\n find the controlIdentifier for each Region and control in the Tables of control metadata in the AWS Control Tower User Guide.\n

\n

A quick-reference list of control identifers for the AWS Control Tower legacy Strongly recommended and\n Elective controls is given in Resource identifiers for\n APIs and controls in the Controls reference guide section\n of the AWS Control Tower User Guide. Remember that Mandatory controls\n cannot be added or removed.

\n \n

\n ARN format:\n arn:aws:controltower:{REGION}::control/{CONTROL_NAME}\n

\n

\n Example:\n

\n

\n arn:aws:controltower:us-west-2::control/AWS-GR_AUTOSCALING_LAUNCH_CONFIG_PUBLIC_IP_DISABLED\n

\n
\n

\n To get the targetIdentifier:\n

\n

The targetIdentifier is the ARN for an OU.

\n

In the AWS Organizations console, you can find the ARN for the OU on the Organizational unit details page associated with that OU.

\n \n

\n OU ARN format:\n

\n

\n arn:${Partition}:organizations::${MasterAccountId}:ou/o-${OrganizationId}/ou-${OrganizationalUnitId}\n

\n
\n

\n Details and examples\n

\n \n

To view the open source resource repository on GitHub, see aws-cloudformation/aws-cloudformation-resource-providers-controltower\n

\n

\n Recording API Requests\n

\n

AWS Control Tower supports AWS CloudTrail, a service that records AWS API calls for your\n AWS account and delivers log files to an Amazon S3 bucket. By using information collected by\n CloudTrail, you can determine which requests the AWS Control Tower service received, who made\n the request and when, and so on. For more about AWS Control Tower and its support for\n CloudTrail, see Logging AWS Control Tower\n Actions with AWS CloudTrail in the AWS Control Tower User Guide. To learn more about\n CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User\n Guide.

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

These interfaces allow you to apply the Amazon Web Services library of pre-defined\n controls to your organizational units, programmatically. In Amazon Web Services Control Tower, the terms \"control\" and \"guardrail\" are synonyms.

\n

To call these APIs, you'll need to know:

\n \n

\n To get the controlIdentifier for your AWS Control Tower\n control:\n

\n

The controlIdentifier is an ARN that is specified for each\n control. You can view the controlIdentifier in the console on the Control details page, as well as in the documentation.

\n

The controlIdentifier is unique in each Amazon Web Services Region for each control. You can\n find the controlIdentifier for each Region and control in the Tables of control metadata in the Amazon Web Services Control Tower User Guide.\n

\n

A quick-reference list of control identifers for the Amazon Web Services Control Tower legacy Strongly recommended and\n Elective controls is given in Resource identifiers for\n APIs and controls in the Controls reference guide section\n of the Amazon Web Services Control Tower User Guide. Remember that Mandatory controls\n cannot be added or removed.

\n \n

\n ARN format:\n arn:aws:controltower:{REGION}::control/{CONTROL_NAME}\n

\n

\n Example:\n

\n

\n arn:aws:controltower:us-west-2::control/AWS-GR_AUTOSCALING_LAUNCH_CONFIG_PUBLIC_IP_DISABLED\n

\n
\n

\n To get the targetIdentifier:\n

\n

The targetIdentifier is the ARN for an OU.

\n

In the Amazon Web Services Organizations console, you can find the ARN for the OU on the Organizational unit details page associated with that OU.

\n \n

\n OU ARN format:\n

\n

\n arn:${Partition}:organizations::${MasterAccountId}:ou/o-${OrganizationId}/ou-${OrganizationalUnitId}\n

\n
\n

\n Details and examples\n

\n \n

To view the open source resource repository on GitHub, see aws-cloudformation/aws-cloudformation-resource-providers-controltower\n

\n

\n Recording API Requests\n

\n

Amazon Web Services Control Tower supports Amazon Web Services CloudTrail, a service that records Amazon Web Services API calls for your\n Amazon Web Services account and delivers log files to an Amazon S3 bucket. By using information collected by\n CloudTrail, you can determine which requests the Amazon Web Services Control Tower service received, who made\n the request and when, and so on. For more about Amazon Web Services Control Tower and its support for\n CloudTrail, see Logging Amazon Web Services Control Tower\n Actions with Amazon Web Services CloudTrail in the Amazon Web Services Control Tower User Guide. To learn more about\n CloudTrail, including how to turn it on and find your log files, see the Amazon Web Services CloudTrail User\n Guide.

", "smithy.api#title": "AWS Control Tower", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -908,17 +914,6 @@ "expect": { "error": "Invalid Configuration: Missing Region" } - }, - { - "documentation": "Partition doesn't support DualStack", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": true - } } ], "version": "1.0" @@ -936,7 +931,7 @@ } }, "traits": { - "smithy.api#documentation": "

User does not have sufficient access to perform this action.

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

You do not have sufficient access to perform this action.

", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -1051,6 +1046,159 @@ ] } }, + "com.amazonaws.controltower#CreateLandingZone": { + "type": "operation", + "input": { + "target": "com.amazonaws.controltower#CreateLandingZoneInput" + }, + "output": { + "target": "com.amazonaws.controltower#CreateLandingZoneOutput" + }, + "errors": [ + { + "target": "com.amazonaws.controltower#AccessDeniedException" + }, + { + "target": "com.amazonaws.controltower#ConflictException" + }, + { + "target": "com.amazonaws.controltower#InternalServerException" + }, + { + "target": "com.amazonaws.controltower#ThrottlingException" + }, + { + "target": "com.amazonaws.controltower#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a new landing zone. This starts an asynchronous operation that creates and configures a landing zone \n based on the parameters specified in the manifest JSON file.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/create-landingzone" + } + } + }, + "com.amazonaws.controltower#CreateLandingZoneInput": { + "type": "structure", + "members": { + "version": { + "target": "com.amazonaws.controltower#LandingZoneVersion", + "traits": { + "smithy.api#documentation": "

The landing zone version.

", + "smithy.api#required": {} + } + }, + "manifest": { + "target": "com.amazonaws.controltower#Manifest", + "traits": { + "smithy.api#documentation": "

The manifest.yaml file is a text file that describes your Amazon Web Services resources. For examples, review \n The manifest file.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.controltower#TagMap", + "traits": { + "aws.cloudformation#cfnMutability": "write", + "smithy.api#documentation": "

Tags to be applied to the landing zone.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.controltower#CreateLandingZoneOutput": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.controltower#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the landing zone.

", + "smithy.api#required": {} + } + }, + "operationIdentifier": { + "target": "com.amazonaws.controltower#OperationIdentifier", + "traits": { + "smithy.api#documentation": "

A unique identifier assigned to a CreateLandingZone operation. You can use this \n identifier as an input of GetLandingZoneOperation to check the operation's status.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.controltower#DeleteLandingZone": { + "type": "operation", + "input": { + "target": "com.amazonaws.controltower#DeleteLandingZoneInput" + }, + "output": { + "target": "com.amazonaws.controltower#DeleteLandingZoneOutput" + }, + "errors": [ + { + "target": "com.amazonaws.controltower#AccessDeniedException" + }, + { + "target": "com.amazonaws.controltower#ConflictException" + }, + { + "target": "com.amazonaws.controltower#InternalServerException" + }, + { + "target": "com.amazonaws.controltower#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.controltower#ThrottlingException" + }, + { + "target": "com.amazonaws.controltower#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This decommissions a landing zone. This starts an asynchronous operation that deletes Amazon Web Services Control Tower \n resources deployed in Amazon Web Services Control Tower managed accounts.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/delete-landingzone" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.controltower#DeleteLandingZoneInput": { + "type": "structure", + "members": { + "landingZoneIdentifier": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique identifier of the landing zone.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.controltower#DeleteLandingZoneOutput": { + "type": "structure", + "members": { + "operationIdentifier": { + "target": "com.amazonaws.controltower#OperationIdentifier", + "traits": { + "smithy.api#documentation": "

A unique identifier assigned to a DeleteLandingZone operation. You can use this \n identifier as an input of GetLandingZoneOperation to check the operation's status.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.controltower#DisableControl": { "type": "operation", "input": { @@ -1083,7 +1231,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API call turns off a control. It starts an asynchronous operation that deletes AWS\n resources on the specified organizational unit and the accounts it contains. The resources\n will vary according to the control that you specify. For usage examples, see \n the AWS Control Tower User Guide\n .

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

This API call turns off a control. It starts an asynchronous operation that deletes Amazon Web Services\n resources on the specified organizational unit and the accounts it contains. The resources\n will vary according to the control that you specify. For usage examples, see \n the Amazon Web Services Control Tower User Guide\n .

", "smithy.api#http": { "code": 200, "method": "POST", @@ -1123,26 +1271,32 @@ } }, "com.amazonaws.controltower#DriftStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "name": "DRIFTED", - "value": "DRIFTED" - }, - { - "name": "IN_SYNC", - "value": "IN_SYNC" - }, - { - "name": "NOT_CHECKING", - "value": "NOT_CHECKING" - }, - { - "name": "UNKNOWN", - "value": "UNKNOWN" + "type": "enum", + "members": { + "DRIFTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DRIFTED" } - ] + }, + "IN_SYNC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_SYNC" + } + }, + "NOT_CHECKING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_CHECKING" + } + }, + "UNKNOWN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNKNOWN" + } + } } }, "com.amazonaws.controltower#DriftStatusSummary": { @@ -1151,12 +1305,12 @@ "driftStatus": { "target": "com.amazonaws.controltower#DriftStatus", "traits": { - "smithy.api#documentation": "

The drift status of the enabled control.

\n

Valid values:

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

The drift status of the enabled control.

\n

Valid values:

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

The drift summary of the enabled control.

\n

AWS Control Tower expects the enabled control\n configuration to include all supported and governed Regions. If the enabled control differs\n from the expected configuration, it is defined to be in a state of drift. You can repair this drift by resetting the enabled control.

" + "smithy.api#documentation": "

The drift summary of the enabled control.

\n

Amazon Web Services Control Tower expects the enabled control\n configuration to include all supported and governed Regions. If the enabled control differs\n from the expected configuration, it is defined to be in a state of drift. You can repair this drift by resetting the enabled control.

" } }, "com.amazonaws.controltower#EnableControl": { @@ -1191,7 +1345,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API call activates a control. It starts an asynchronous operation that creates AWS\n resources on the specified organizational unit and the accounts it contains. The resources\n created will vary according to the control that you specify. For usage examples, see \n the AWS Control Tower User Guide\n .

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

This API call activates a control. It starts an asynchronous operation that creates Amazon Web Services\n resources on the specified organizational unit and the accounts it contains. The resources\n created will vary according to the control that you specify. For usage examples, see \n the Amazon Web Services Control Tower User Guide\n .

", "smithy.api#http": { "code": 200, "method": "POST", @@ -1266,7 +1420,7 @@ "targetRegions": { "target": "com.amazonaws.controltower#TargetRegions", "traits": { - "smithy.api#documentation": "

Target AWS Regions for the enabled control.

" + "smithy.api#documentation": "

Target Amazon Web Services Regions for the enabled control.

" } }, "statusSummary": { @@ -1331,22 +1485,26 @@ } }, "com.amazonaws.controltower#EnablementStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "name": "SUCCEEDED", - "value": "SUCCEEDED" - }, - { - "name": "FAILED", - "value": "FAILED" - }, - { - "name": "UNDER_CHANGE", - "value": "UNDER_CHANGE" + "type": "enum", + "members": { + "SUCCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUCCEEDED" } - ] + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "UNDER_CHANGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNDER_CHANGE" + } + } } }, "com.amazonaws.controltower#EnablementStatusSummary": { @@ -1395,7 +1553,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the status of a particular EnableControl or\n DisableControl operation. Displays a message in case of error. Details for an\n operation are available for 90 days. For usage examples, see \n the AWS Control Tower User Guide\n .

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

Returns the status of a particular EnableControl or\n DisableControl operation. Displays a message in case of error. Details for an\n operation are available for 90 days. For usage examples, see \n the Amazon Web Services Control Tower User Guide\n .

", "smithy.api#http": { "code": 200, "method": "POST", @@ -1454,7 +1612,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves details about an enabled control. For usage examples, see \n the AWS Control Tower User Guide\n .

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

Retrieves details about an enabled control. For usage examples, see \n the Amazon Web Services Control Tower User Guide\n .

", "smithy.api#http": { "code": 200, "method": "POST", @@ -1493,30 +1651,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.controltower#InternalServerException": { - "type": "structure", - "members": { - "message": { - "target": "smithy.api#String", - "traits": { - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Unexpected error during processing of request.

", - "smithy.api#error": "server", - "smithy.api#httpError": 500, - "smithy.api#retryable": {} - } - }, - "com.amazonaws.controltower#ListEnabledControls": { + "com.amazonaws.controltower#GetLandingZone": { "type": "operation", "input": { - "target": "com.amazonaws.controltower#ListEnabledControlsInput" + "target": "com.amazonaws.controltower#GetLandingZoneInput" }, "output": { - "target": "com.amazonaws.controltower#ListEnabledControlsOutput" + "target": "com.amazonaws.controltower#GetLandingZoneOutput" }, "errors": [ { @@ -1536,88 +1677,585 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the controls enabled by AWS Control Tower on the specified organizational unit and\n the accounts it contains. For usage examples, see \n the AWS Control Tower User Guide\n .

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

Returns details about the landing zone. Displays a message in case of error.

", "smithy.api#http": { "code": 200, "method": "POST", - "uri": "/list-enabled-controls" - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "enabledControls" + "uri": "/get-landingzone" }, "smithy.api#readonly": {} } }, - "com.amazonaws.controltower#ListEnabledControlsInput": { + "com.amazonaws.controltower#GetLandingZoneInput": { "type": "structure", "members": { - "targetIdentifier": { - "target": "com.amazonaws.controltower#TargetIdentifier", - "traits": { - "smithy.api#documentation": "

The ARN of the organizational unit. For information on how to find the targetIdentifier, see the overview page.

", - "smithy.api#required": {} - } - }, - "nextToken": { + "landingZoneIdentifier": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The token to continue the list from a previous API call with the same parameters.

" - } - }, - "maxResults": { - "target": "com.amazonaws.controltower#MaxResults", - "traits": { - "smithy.api#documentation": "

How many results to return per API call.

" - } - } - } - }, - "com.amazonaws.controltower#ListEnabledControlsOutput": { - "type": "structure", - "members": { - "enabledControls": { - "target": "com.amazonaws.controltower#EnabledControls", - "traits": { - "smithy.api#documentation": "

Lists the controls enabled by AWS Control Tower on the specified organizational unit and\n the accounts it contains.

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

The unique identifier of the landing zone.

", "smithy.api#required": {} } - }, - "nextToken": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

Retrieves the next page of results. If the string is empty, the current response is the\n end of the results.

" - } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.controltower#ListTagsForResource": { + "com.amazonaws.controltower#GetLandingZoneOperation": { "type": "operation", "input": { - "target": "com.amazonaws.controltower#ListTagsForResourceInput" + "target": "com.amazonaws.controltower#GetLandingZoneOperationInput" }, "output": { - "target": "com.amazonaws.controltower#ListTagsForResourceOutput" + "target": "com.amazonaws.controltower#GetLandingZoneOperationOutput" }, "errors": [ + { + "target": "com.amazonaws.controltower#AccessDeniedException" + }, { "target": "com.amazonaws.controltower#InternalServerException" }, { "target": "com.amazonaws.controltower#ResourceNotFoundException" }, + { + "target": "com.amazonaws.controltower#ThrottlingException" + }, { "target": "com.amazonaws.controltower#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Returns a list of tags associated with the resource. For usage examples, see \n the AWS Control Tower User Guide\n .

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

Returns the status of the specified landing zone operation. Details for an operation are available for \n X days.

", "smithy.api#http": { "code": 200, - "method": "GET", - "uri": "/tags/{resourceArn}" + "method": "POST", + "uri": "/get-landingzone-operation" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.controltower#GetLandingZoneOperationInput": { + "type": "structure", + "members": { + "operationIdentifier": { + "target": "com.amazonaws.controltower#OperationIdentifier", + "traits": { + "smithy.api#documentation": "

A unique identifier assigned to a landing zone operation.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.controltower#GetLandingZoneOperationOutput": { + "type": "structure", + "members": { + "operationDetails": { + "target": "com.amazonaws.controltower#LandingZoneOperationDetail", + "traits": { + "smithy.api#documentation": "

The landing zone operation details.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.controltower#GetLandingZoneOutput": { + "type": "structure", + "members": { + "landingZone": { + "target": "com.amazonaws.controltower#LandingZoneDetail", + "traits": { + "smithy.api#documentation": "

Information about the landing zone.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.controltower#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Unexpected error during processing of request.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.controltower#LandingZoneDetail": { + "type": "structure", + "members": { + "version": { + "target": "com.amazonaws.controltower#LandingZoneVersion", + "traits": { + "smithy.api#documentation": "

The landing zone's current deployed version.

", + "smithy.api#required": {} + } + }, + "manifest": { + "target": "com.amazonaws.controltower#Manifest", + "traits": { + "smithy.api#documentation": "

The landing zone manifest.yaml text file that specifies the landing zone configurations.

", + "smithy.api#required": {} + } + }, + "arn": { + "target": "com.amazonaws.controltower#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the landing zone.

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

The landing zone deployment status.

\n

Valid values:

\n " + } + }, + "latestAvailableVersion": { + "target": "com.amazonaws.controltower#LandingZoneVersion", + "traits": { + "smithy.api#documentation": "

The latest available version of the landing zone.

" + } + }, + "driftStatus": { + "target": "com.amazonaws.controltower#LandingZoneDriftStatusSummary", + "traits": { + "smithy.api#documentation": "

The drift status of the landing zone.

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

Information about the landing zone.

" + } + }, + "com.amazonaws.controltower#LandingZoneDriftStatus": { + "type": "enum", + "members": { + "DRIFTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DRIFTED" + } + }, + "IN_SYNC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_SYNC" + } + } + } + }, + "com.amazonaws.controltower#LandingZoneDriftStatusSummary": { + "type": "structure", + "members": { + "status": { + "target": "com.amazonaws.controltower#LandingZoneDriftStatus", + "traits": { + "smithy.api#documentation": "

The drift status of the landing zone.

\n

Valid values:

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

The drift status summary of the landing zone.

\n

If the landing zone differs from the expected configuration, it is defined to be in a state of \n drift. You can repair this drift by resetting the landing zone.

" + } + }, + "com.amazonaws.controltower#LandingZoneOperationDetail": { + "type": "structure", + "members": { + "operationType": { + "target": "com.amazonaws.controltower#LandingZoneOperationType", + "traits": { + "smithy.api#documentation": "

The landing zone operation type.

\n

Valid values:

\n " + } + }, + "startTime": { + "target": "com.amazonaws.controltower#Timestamp", + "traits": { + "smithy.api#documentation": "

The landing zone operation start time.

" + } + }, + "endTime": { + "target": "com.amazonaws.controltower#Timestamp", + "traits": { + "smithy.api#documentation": "

The landing zone operation end time.

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

The landing zone operation status.

\n

Valid values:

\n " + } + }, + "statusMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

If the operation result is FAILED, this string contains a message explaining why the operation failed.

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

Information about a landing zone operation.

" + } + }, + "com.amazonaws.controltower#LandingZoneOperationStatus": { + "type": "enum", + "members": { + "SUCCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUCCEEDED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + } + } + }, + "com.amazonaws.controltower#LandingZoneOperationType": { + "type": "enum", + "members": { + "DELETE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE" + } + }, + "CREATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATE" + } + }, + "UPDATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATE" + } + }, + "RESET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RESET" + } + } + } + }, + "com.amazonaws.controltower#LandingZoneResource": { + "type": "resource", + "identifiers": { + "landingZoneIdentifier": { + "target": "smithy.api#String" + } + }, + "create": { + "target": "com.amazonaws.controltower#CreateLandingZone" + }, + "read": { + "target": "com.amazonaws.controltower#GetLandingZone" + }, + "update": { + "target": "com.amazonaws.controltower#UpdateLandingZone" + }, + "delete": { + "target": "com.amazonaws.controltower#DeleteLandingZone" + }, + "list": { + "target": "com.amazonaws.controltower#ListLandingZones" + }, + "operations": [ + { + "target": "com.amazonaws.controltower#ResetLandingZone" + } + ], + "collectionOperations": [ + { + "target": "com.amazonaws.controltower#GetLandingZoneOperation" + } + ], + "traits": { + "aws.cloudformation#cfnResource": { + "name": "LandingZone" + } + } + }, + "com.amazonaws.controltower#LandingZoneStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "PROCESSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROCESSING" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } + } + }, + "com.amazonaws.controltower#LandingZoneSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.controltower#LandingZoneSummary" + } + }, + "com.amazonaws.controltower#LandingZoneSummary": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.controltower#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the landing zone.

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

Returns a summary of information about a landing zone.

" + } + }, + "com.amazonaws.controltower#LandingZoneVersion": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 10 + }, + "smithy.api#pattern": "^\\d+.\\d+$" + } + }, + "com.amazonaws.controltower#ListEnabledControls": { + "type": "operation", + "input": { + "target": "com.amazonaws.controltower#ListEnabledControlsInput" + }, + "output": { + "target": "com.amazonaws.controltower#ListEnabledControlsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.controltower#AccessDeniedException" + }, + { + "target": "com.amazonaws.controltower#InternalServerException" + }, + { + "target": "com.amazonaws.controltower#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.controltower#ThrottlingException" + }, + { + "target": "com.amazonaws.controltower#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the controls enabled by Amazon Web Services Control Tower on the specified organizational unit and\n the accounts it contains. For usage examples, see \n the Amazon Web Services Control Tower User Guide\n .

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/list-enabled-controls" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "enabledControls" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.controltower#ListEnabledControlsInput": { + "type": "structure", + "members": { + "targetIdentifier": { + "target": "com.amazonaws.controltower#TargetIdentifier", + "traits": { + "smithy.api#documentation": "

The ARN of the organizational unit. For information on how to find the targetIdentifier, see the overview page.

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

The token to continue the list from a previous API call with the same parameters.

" + } + }, + "maxResults": { + "target": "com.amazonaws.controltower#MaxResults", + "traits": { + "smithy.api#documentation": "

How many results to return per API call.

" + } + } + } + }, + "com.amazonaws.controltower#ListEnabledControlsOutput": { + "type": "structure", + "members": { + "enabledControls": { + "target": "com.amazonaws.controltower#EnabledControls", + "traits": { + "smithy.api#documentation": "

Lists the controls enabled by Amazon Web Services Control Tower on the specified organizational unit and\n the accounts it contains.

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

Retrieves the next page of results. If the string is empty, the current response is the\n end of the results.

" + } + } + } + }, + "com.amazonaws.controltower#ListLandingZones": { + "type": "operation", + "input": { + "target": "com.amazonaws.controltower#ListLandingZonesInput" + }, + "output": { + "target": "com.amazonaws.controltower#ListLandingZonesOutput" + }, + "errors": [ + { + "target": "com.amazonaws.controltower#AccessDeniedException" + }, + { + "target": "com.amazonaws.controltower#InternalServerException" + }, + { + "target": "com.amazonaws.controltower#ThrottlingException" + }, + { + "target": "com.amazonaws.controltower#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns the landing zone ARN for the landing zone deployed in your managed account. This API also \n creates an ARN for existing accounts that do not yet have a landing zone ARN.

\n

The return limit is one landing zone ARN.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/list-landingzones" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "landingZones" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.controltower#ListLandingZonesInput": { + "type": "structure", + "members": { + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token to continue the list from a previous API call with the same parameters.

" + } + }, + "maxResults": { + "target": "com.amazonaws.controltower#ListLandingZonesMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of returned landing zone ARNs.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.controltower#ListLandingZonesMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 1 + } + } + }, + "com.amazonaws.controltower#ListLandingZonesOutput": { + "type": "structure", + "members": { + "landingZones": { + "target": "com.amazonaws.controltower#LandingZoneSummaries", + "traits": { + "smithy.api#documentation": "

The ARN of the landing zone.

", + "smithy.api#length": { + "min": 0, + "max": 1 + }, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Retrieves the next page of results. If the string is empty, the current response is the end of the results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.controltower#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.controltower#ListTagsForResourceInput" + }, + "output": { + "target": "com.amazonaws.controltower#ListTagsForResourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.controltower#InternalServerException" + }, + { + "target": "com.amazonaws.controltower#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.controltower#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of tags associated with the resource. For usage examples, see \n the Amazon Web Services Control Tower User Guide\n .

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/tags/{resourceArn}" }, "smithy.api#readonly": {} } @@ -1653,6 +2291,9 @@ "smithy.api#output": {} } }, + "com.amazonaws.controltower#Manifest": { + "type": "document" + }, "com.amazonaws.controltower#MaxResults": { "type": "integer", "traits": { @@ -1678,12 +2319,12 @@ "name": { "target": "com.amazonaws.controltower#RegionName", "traits": { - "smithy.api#documentation": "

The AWS Region name.

" + "smithy.api#documentation": "

The Amazon Web Services Region name.

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

An AWS Region in which AWS Control Tower expects to find the control deployed.

\n

The expected Regions are based on the Regions that are governed by the landing zone. In\n certain cases, a control is not actually enabled in the Region as expected, such as during\n drift, or mixed governance.

" + "smithy.api#documentation": "

An Amazon Web Services Region in which Amazon Web Services Control Tower expects to find the control deployed.

\n

The expected Regions are based on the Regions that are governed by the landing zone. In\n certain cases, a control is not actually enabled in the Region as expected, such as during\n drift, or mixed governance.

" } }, "com.amazonaws.controltower#RegionName": { @@ -1695,6 +2336,73 @@ } } }, + "com.amazonaws.controltower#ResetLandingZone": { + "type": "operation", + "input": { + "target": "com.amazonaws.controltower#ResetLandingZoneInput" + }, + "output": { + "target": "com.amazonaws.controltower#ResetLandingZoneOutput" + }, + "errors": [ + { + "target": "com.amazonaws.controltower#AccessDeniedException" + }, + { + "target": "com.amazonaws.controltower#ConflictException" + }, + { + "target": "com.amazonaws.controltower#InternalServerException" + }, + { + "target": "com.amazonaws.controltower#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.controltower#ThrottlingException" + }, + { + "target": "com.amazonaws.controltower#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This API call resets a landing zone. It starts an asynchronous operation that resets the \n landing zone to the parameters specified in its original configuration.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/reset-landingzone" + } + } + }, + "com.amazonaws.controltower#ResetLandingZoneInput": { + "type": "structure", + "members": { + "landingZoneIdentifier": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique identifier of the landing zone.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.controltower#ResetLandingZoneOutput": { + "type": "structure", + "members": { + "operationIdentifier": { + "target": "com.amazonaws.controltower#OperationIdentifier", + "traits": { + "smithy.api#documentation": "

A unique identifier assigned to a ResetLandingZone operation. You can use this \n identifier as an input of GetLandingZoneOperation to check the operation's status.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.controltower#ResourceNotFoundException": { "type": "structure", "members": { @@ -1783,7 +2491,7 @@ } ], "traits": { - "smithy.api#documentation": "

Applies tags to a resource. For usage examples, see \n the AWS Control Tower User Guide\n .

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

Applies tags to a resource. For usage examples, see \n the Amazon Web Services Control Tower User Guide\n .

", "smithy.api#http": { "code": 204, "method": "POST", @@ -1876,7 +2584,7 @@ } }, "traits": { - "smithy.api#documentation": "

Request was denied due to request throttling.

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

Request was denied due to request throttling.

", "smithy.api#error": "client", "smithy.api#httpError": 429, "smithy.api#retryable": { @@ -1910,7 +2618,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes tags from a resource. For usage examples, see \n the AWS Control Tower User Guide\n .

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

Removes tags from a resource. For usage examples, see \n the Amazon Web Services Control Tower User Guide\n .

", "smithy.api#http": { "code": 204, "method": "DELETE", @@ -1949,6 +2657,87 @@ "smithy.api#output": {} } }, + "com.amazonaws.controltower#UpdateLandingZone": { + "type": "operation", + "input": { + "target": "com.amazonaws.controltower#UpdateLandingZoneInput" + }, + "output": { + "target": "com.amazonaws.controltower#UpdateLandingZoneOutput" + }, + "errors": [ + { + "target": "com.amazonaws.controltower#AccessDeniedException" + }, + { + "target": "com.amazonaws.controltower#ConflictException" + }, + { + "target": "com.amazonaws.controltower#InternalServerException" + }, + { + "target": "com.amazonaws.controltower#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.controltower#ThrottlingException" + }, + { + "target": "com.amazonaws.controltower#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This API call updates the landing zone. It starts an asynchronous operation that updates the \n landing zone based on the new landing zone version or the updated parameters specified in the \n updated manifest file.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/update-landingzone" + } + } + }, + "com.amazonaws.controltower#UpdateLandingZoneInput": { + "type": "structure", + "members": { + "version": { + "target": "com.amazonaws.controltower#LandingZoneVersion", + "traits": { + "smithy.api#documentation": "

The landing zone version.

", + "smithy.api#required": {} + } + }, + "manifest": { + "target": "com.amazonaws.controltower#Manifest", + "traits": { + "smithy.api#documentation": "

The manifest.yaml file is a text file that describes your Amazon Web Services resources. For examples, review \n The manifest file\n

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

The unique identifier of the landing zone.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.controltower#UpdateLandingZoneOutput": { + "type": "structure", + "members": { + "operationIdentifier": { + "target": "com.amazonaws.controltower#OperationIdentifier", + "traits": { + "smithy.api#documentation": "

A unique identifier assigned to a UpdateLandingZone operation. You can use this \n identifier as an input of GetLandingZoneOperation to check the operation's status.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.controltower#ValidationException": { "type": "structure", "members": { @@ -1960,7 +2749,7 @@ } }, "traits": { - "smithy.api#documentation": "

The input fails to satisfy the constraints specified by an AWS service.

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

The input fails to satisfy the constraints specified by an Amazon Web Services service.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } diff --git a/codegen/sdk-codegen/aws-models/cost-optimization-hub.json b/codegen/sdk-codegen/aws-models/cost-optimization-hub.json new file mode 100644 index 00000000000..a143deddb27 --- /dev/null +++ b/codegen/sdk-codegen/aws-models/cost-optimization-hub.json @@ -0,0 +1,3504 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.costoptimizationhub#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

You are not authorized to use this operation with the given parameters.

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.costoptimizationhub#AccountEnrollmentStatus": { + "type": "structure", + "members": { + "accountId": { + "target": "com.amazonaws.costoptimizationhub#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID.

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

The account enrollment status.

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

The time when the account enrollment status was last updated.

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

The time when the account enrollment status was created.

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

Describes the enrollment status of an organization's member accounts in Cost Optimization\n Hub.

" + } + }, + "com.amazonaws.costoptimizationhub#AccountEnrollmentStatuses": { + "type": "list", + "member": { + "target": "com.amazonaws.costoptimizationhub#AccountEnrollmentStatus" + } + }, + "com.amazonaws.costoptimizationhub#AccountId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[0-9]{12}$" + } + }, + "com.amazonaws.costoptimizationhub#AccountIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.costoptimizationhub#AccountId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.costoptimizationhub#ActionType": { + "type": "enum", + "members": { + "RIGHTSIZE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Rightsize" + } + }, + "STOP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Stop" + } + }, + "UPGRADE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Upgrade" + } + }, + "PURCHASE_SAVINGS_PLANS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PurchaseSavingsPlans" + } + }, + "PURCHASE_RESERVED_INSTANCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PurchaseReservedInstances" + } + }, + "MIGRATE_TO_GRAVITON": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MigrateToGraviton" + } + } + } + }, + "com.amazonaws.costoptimizationhub#ActionTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.costoptimizationhub#ActionType" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.costoptimizationhub#BlockStoragePerformanceConfiguration": { + "type": "structure", + "members": { + "iops": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The number of I/O operations per second.

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

The throughput that the volume supports.

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

Describes the Amazon Elastic Block Store performance configuration of the current and\n recommended resource configuration for a recommendation.

" + } + }, + "com.amazonaws.costoptimizationhub#ComputeConfiguration": { + "type": "structure", + "members": { + "vCpu": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The number of vCPU cores in the resource.

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

The memory size of the resource.

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

The architecture of the resource.

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

The platform of the resource. The platform is the specific combination of operating\n system, license model, and software on an instance.

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

Describes the performance configuration for compute services such as Amazon EC2, Lambda,\n and ECS.

" + } + }, + "com.amazonaws.costoptimizationhub#ComputeSavingsPlans": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#ComputeSavingsPlansConfiguration", + "traits": { + "smithy.api#documentation": "

Configuration details of the Compute Savings Plans to purchase.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#SavingsPlansCostCalculation", + "traits": { + "smithy.api#documentation": "

Cost impact of the Savings Plans purchase recommendation.

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

The Compute Savings Plans recommendation details.

" + } + }, + "com.amazonaws.costoptimizationhub#ComputeSavingsPlansConfiguration": { + "type": "structure", + "members": { + "accountScope": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The account scope that you want your recommendations for. Amazon Web Services calculates\n recommendations including the management account and member accounts if the value is set to\n PAYER. If the value is LINKED, recommendations are calculated for\n individual member accounts only.

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

The Savings Plans recommendation term in years.

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

The payment option for the commitment.

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

The hourly commitment for the Savings Plans type.

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

The Compute Savings Plans configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#CostOptimizationHubService": { + "type": "service", + "version": "2022-07-26", + "operations": [ + { + "target": "com.amazonaws.costoptimizationhub#GetPreferences" + }, + { + "target": "com.amazonaws.costoptimizationhub#GetRecommendation" + }, + { + "target": "com.amazonaws.costoptimizationhub#ListEnrollmentStatuses" + }, + { + "target": "com.amazonaws.costoptimizationhub#ListRecommendations" + }, + { + "target": "com.amazonaws.costoptimizationhub#ListRecommendationSummaries" + }, + { + "target": "com.amazonaws.costoptimizationhub#UpdateEnrollmentStatus" + }, + { + "target": "com.amazonaws.costoptimizationhub#UpdatePreferences" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "Cost Optimization Hub", + "endpointPrefix": "cost-optimization-hub" + }, + "aws.auth#sigv4": { + "name": "cost-optimization-hub" + }, + "aws.protocols#awsJson1_0": {}, + "smithy.api#documentation": "

You can use the Cost Optimization Hub API to programmatically identify, filter, aggregate,\n and quantify savings for your cost optimization recommendations across multiple Amazon Web Services Regions and Amazon Web Services accounts in your organization.

\n

The Cost Optimization Hub API provides the following endpoint:

\n ", + "smithy.api#title": "Cost Optimization Hub", + "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" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "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" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cost-optimization-hub-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cost-optimization-hub-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cost-optimization-hub.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cost-optimization-hub.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "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": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "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": { + "endpoint": { + "url": "https://cost-optimization-hub.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "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": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "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": { + "endpoint": { + "url": "https://cost-optimization-hub.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "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": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "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": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.costoptimizationhub#Datetime": { + "type": "timestamp" + }, + "com.amazonaws.costoptimizationhub#EbsVolume": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#EbsVolumeConfiguration", + "traits": { + "smithy.api#documentation": "

The Amazon Elastic Block Store volume configuration used for\n recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#ResourceCostCalculation", + "traits": { + "smithy.api#documentation": "

Cost impact of the recommendation.

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

Describes the Amazon Elastic Block Store volume configuration of the current and\n recommended resource configuration for a recommendation.

" + } + }, + "com.amazonaws.costoptimizationhub#EbsVolumeConfiguration": { + "type": "structure", + "members": { + "storage": { + "target": "com.amazonaws.costoptimizationhub#StorageConfiguration", + "traits": { + "smithy.api#documentation": "

The disk storage of the Amazon Elastic Block Store volume.

" + } + }, + "performance": { + "target": "com.amazonaws.costoptimizationhub#BlockStoragePerformanceConfiguration", + "traits": { + "smithy.api#documentation": "

The Amazon Elastic Block Store performance configuration.

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

The Amazon Elastic Block Store attachment state.

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

The Amazon Elastic Block Store volume configuration used for\n recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#Ec2AutoScalingGroup": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#Ec2AutoScalingGroupConfiguration", + "traits": { + "smithy.api#documentation": "

The EC2 Auto Scaling group configuration used for recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#ResourceCostCalculation", + "traits": { + "smithy.api#documentation": "

Cost impact of the recommendation.

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

The EC2 Auto Scaling group recommendation details.

" + } + }, + "com.amazonaws.costoptimizationhub#Ec2AutoScalingGroupConfiguration": { + "type": "structure", + "members": { + "instance": { + "target": "com.amazonaws.costoptimizationhub#InstanceConfiguration", + "traits": { + "smithy.api#documentation": "

Details about the instance.

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

The EC2 auto scaling group configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#Ec2Instance": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#Ec2InstanceConfiguration", + "traits": { + "smithy.api#documentation": "

The EC2 instance configuration used for recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#ResourceCostCalculation", + "traits": { + "smithy.api#documentation": "

Cost impact of the recommendation.

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

Describes the EC2 instance configuration of the current and recommended resource\n configuration for a recommendation.

" + } + }, + "com.amazonaws.costoptimizationhub#Ec2InstanceConfiguration": { + "type": "structure", + "members": { + "instance": { + "target": "com.amazonaws.costoptimizationhub#InstanceConfiguration", + "traits": { + "smithy.api#documentation": "

Details about the instance.

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

The EC2 instance configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#Ec2InstanceSavingsPlans": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#Ec2InstanceSavingsPlansConfiguration", + "traits": { + "smithy.api#documentation": "

The EC2 instance Savings Plans configuration used for recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#SavingsPlansCostCalculation", + "traits": { + "smithy.api#documentation": "

Cost impact of the Savings Plans purchase recommendation.

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

The EC2 instance Savings Plans recommendation details.

" + } + }, + "com.amazonaws.costoptimizationhub#Ec2InstanceSavingsPlansConfiguration": { + "type": "structure", + "members": { + "accountScope": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The account scope that you want your recommendations for.

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

The Savings Plans recommendation term in years.

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

The payment option for the commitment.

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

The hourly commitment for the Savings Plans type.

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

The instance family of the recommended Savings Plan.

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

The Amazon Web Services Region of the commitment.

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

The EC2 instance Savings Plans configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#Ec2ReservedInstances": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#Ec2ReservedInstancesConfiguration", + "traits": { + "smithy.api#documentation": "

The EC2 reserved instances configuration used for recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#ReservedInstancesCostCalculation", + "traits": { + "smithy.api#documentation": "

Cost impact of the purchase recommendation.

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

The EC2 reserved instances recommendation details.

" + } + }, + "com.amazonaws.costoptimizationhub#Ec2ReservedInstancesConfiguration": { + "type": "structure", + "members": { + "accountScope": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The account scope that you want your recommendations for.

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

The service that you want your recommendations for.

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

The number of normalized units that Amazon Web Services recommends that you\n purchase.

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

The reserved instances recommendation term in years.

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

The payment option for the commitment.

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

The number of instances that Amazon Web Services recommends that you purchase.

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

Indicates whether the recommendation is for standard or convertible reservations.

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

The instance family of the recommended reservation.

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

The type of instance that Amazon Web Services recommends.

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

The Amazon Web Services Region of the commitment.

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

Determines whether the recommendation is for a current generation instance.

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

The platform of the recommended reservation. The platform is the specific combination of\n operating system, license model, and software on an instance.

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

Determines whether the recommended reservation is dedicated or shared.

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

Determines whether the recommendation is size flexible.

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

How much purchasing this instance costs you upfront.

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

How much purchasing reserved instances costs you on a monthly basis.

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

The EC2 reserved instances configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#EcsService": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#EcsServiceConfiguration", + "traits": { + "smithy.api#documentation": "

The ECS service configuration used for recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#ResourceCostCalculation", + "traits": { + "smithy.api#documentation": "

Cost impact of the recommendation.

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

The ECS service recommendation details.

" + } + }, + "com.amazonaws.costoptimizationhub#EcsServiceConfiguration": { + "type": "structure", + "members": { + "compute": { + "target": "com.amazonaws.costoptimizationhub#ComputeConfiguration", + "traits": { + "smithy.api#documentation": "

Details about the compute configuration.

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

The ECS service configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#ElastiCacheReservedInstances": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#ElastiCacheReservedInstancesConfiguration", + "traits": { + "smithy.api#documentation": "

The ElastiCache reserved instances configuration used for recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#ReservedInstancesCostCalculation", + "traits": { + "smithy.api#documentation": "

Cost impact of the purchase recommendation.

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

The ElastiCache reserved instances recommendation details.

" + } + }, + "com.amazonaws.costoptimizationhub#ElastiCacheReservedInstancesConfiguration": { + "type": "structure", + "members": { + "accountScope": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The account scope that you want your recommendations for.

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

The service that you want your recommendations for.

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

The number of normalized units that Amazon Web Services recommends that you\n purchase.

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

The reserved instances recommendation term in years.

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

The payment option for the commitment.

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

The number of instances that Amazon Web Services recommends that you purchase.

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

The instance family of the recommended reservation.

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

The type of instance that Amazon Web Services recommends.

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

The Amazon Web Services Region of the commitment.

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

Determines whether the recommendation is for a current generation instance.

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

Determines whether the recommendation is size flexible.

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

How much purchasing this instance costs you upfront.

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

How much purchasing reserved instances costs you on a monthly basis.

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

The ElastiCache reserved instances configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#EnrollmentStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Active" + } + }, + "INACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Inactive" + } + } + } + }, + "com.amazonaws.costoptimizationhub#EstimatedDiscounts": { + "type": "structure", + "members": { + "savingsPlansDiscount": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

Estimated Savings Plans discounts.

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

Estimated reserved instance discounts.

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

Estimated other discounts include all discounts that are not itemized. Itemized discounts\n include reservedInstanceDiscount and savingsPlansDiscount.

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

Estimated discount details of the current and recommended resource configuration for a\n recommendation.

" + } + }, + "com.amazonaws.costoptimizationhub#Filter": { + "type": "structure", + "members": { + "restartNeeded": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Whether or not implementing the recommendation requires a restart.

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

Whether or not implementing the recommendation can be rolled back.

" + } + }, + "implementationEfforts": { + "target": "com.amazonaws.costoptimizationhub#ImplementationEffortList", + "traits": { + "smithy.api#documentation": "

The effort required to implement the recommendation.

" + } + }, + "accountIds": { + "target": "com.amazonaws.costoptimizationhub#AccountIdList", + "traits": { + "smithy.api#documentation": "

The account that the recommendation is for.

" + } + }, + "regions": { + "target": "com.amazonaws.costoptimizationhub#RegionList", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region of the resource.

" + } + }, + "resourceTypes": { + "target": "com.amazonaws.costoptimizationhub#ResourceTypeList", + "traits": { + "smithy.api#documentation": "

The resource type of the recommendation.

" + } + }, + "actionTypes": { + "target": "com.amazonaws.costoptimizationhub#ActionTypeList", + "traits": { + "smithy.api#documentation": "

The type of action you can take by adopting the recommendation.

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

A list of tags assigned to the recommendation.

" + } + }, + "resourceIds": { + "target": "com.amazonaws.costoptimizationhub#ResourceIdList", + "traits": { + "smithy.api#documentation": "

The resource ID of the recommendation.

" + } + }, + "resourceArns": { + "target": "com.amazonaws.costoptimizationhub#ResourceArnList", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the recommendation.

" + } + }, + "recommendationIds": { + "target": "com.amazonaws.costoptimizationhub#RecommendationIdList", + "traits": { + "smithy.api#documentation": "

The IDs for the recommendations.

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

Describes a filter that returns a more specific list of recommendations. Filters\n recommendations by different dimensions.

" + } + }, + "com.amazonaws.costoptimizationhub#GetPreferences": { + "type": "operation", + "input": { + "target": "com.amazonaws.costoptimizationhub#GetPreferencesRequest" + }, + "output": { + "target": "com.amazonaws.costoptimizationhub#GetPreferencesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.costoptimizationhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.costoptimizationhub#InternalServerException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ThrottlingException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a set of preferences for an account in order to add account-specific preferences\n into the service. These preferences impact how the savings associated with recommendations are\n presented—estimated savings after discounts or estimated savings before discounts, for\n example.

", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.costoptimizationhub#GetPreferencesRequest": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.costoptimizationhub#GetPreferencesResponse": { + "type": "structure", + "members": { + "savingsEstimationMode": { + "target": "com.amazonaws.costoptimizationhub#SavingsEstimationMode", + "traits": { + "smithy.api#documentation": "

Retrieves the status of the \"savings estimation mode\" preference.

" + } + }, + "memberAccountDiscountVisibility": { + "target": "com.amazonaws.costoptimizationhub#MemberAccountDiscountVisibility", + "traits": { + "smithy.api#documentation": "

Retrieves the status of the \"member account discount visibility\" preference.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.costoptimizationhub#GetRecommendation": { + "type": "operation", + "input": { + "target": "com.amazonaws.costoptimizationhub#GetRecommendationRequest" + }, + "output": { + "target": "com.amazonaws.costoptimizationhub#GetRecommendationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.costoptimizationhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.costoptimizationhub#InternalServerException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ThrottlingException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns both the current and recommended resource configuration and the estimated cost\n impact for a recommendation.

\n

The recommendationId is only valid for up to a maximum of 24 hours as\n recommendations are refreshed daily. To retrieve the recommendationId, use the\n ListRecommendations API.

", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.costoptimizationhub#GetRecommendationRequest": { + "type": "structure", + "members": { + "recommendationId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ID for the recommendation.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.costoptimizationhub#GetRecommendationResponse": { + "type": "structure", + "members": { + "recommendationId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ID for the recommendation.

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

The unique identifier for the resource. This is the same as the Amazon Resource Name\n (ARN), if available.

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

The Amazon Resource Name (ARN) of the resource.

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

The account that the recommendation is for.

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

The currency code used for the recommendation.

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

The lookback period that's used to generate the recommendation.

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

The lookback period used to calculate cost impact for a recommendation.

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

The estimated savings percentage relative to the total cost over the cost calculation\n lookback period.

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

The estimated savings amount over the lookback period used to calculate cost impact for a\n recommendation.

" + } + }, + "currentResourceType": { + "target": "com.amazonaws.costoptimizationhub#ResourceType", + "traits": { + "smithy.api#documentation": "

The type of resource.

" + } + }, + "recommendedResourceType": { + "target": "com.amazonaws.costoptimizationhub#ResourceType", + "traits": { + "smithy.api#documentation": "

The resource type of the recommendation.

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

The Amazon Web Services Region of the resource.

" + } + }, + "source": { + "target": "com.amazonaws.costoptimizationhub#Source", + "traits": { + "smithy.api#documentation": "

The source of the recommendation.

" + } + }, + "lastRefreshTimestamp": { + "target": "com.amazonaws.costoptimizationhub#Datetime", + "traits": { + "smithy.api#documentation": "

The time when the recommendation was last generated.

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

The estimated monthly savings amount for the recommendation.

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

The estimated monthly cost of the recommendation.

" + } + }, + "implementationEffort": { + "target": "com.amazonaws.costoptimizationhub#ImplementationEffort", + "traits": { + "smithy.api#documentation": "

The effort required to implement the recommendation.

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

Whether or not implementing the recommendation requires a restart.

" + } + }, + "actionType": { + "target": "com.amazonaws.costoptimizationhub#ActionType", + "traits": { + "smithy.api#documentation": "

The type of action you can take by adopting the recommendation.

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

Whether or not implementing the recommendation can be rolled back.

" + } + }, + "currentResourceDetails": { + "target": "com.amazonaws.costoptimizationhub#ResourceDetails", + "traits": { + "smithy.api#documentation": "

The details for the resource.

" + } + }, + "recommendedResourceDetails": { + "target": "com.amazonaws.costoptimizationhub#ResourceDetails", + "traits": { + "smithy.api#documentation": "

The details about the recommended resource.

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

A list of tags associated with the resource for which the recommendation exists.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.costoptimizationhub#ImplementationEffort": { + "type": "enum", + "members": { + "VERY_LOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VeryLow" + } + }, + "LOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Low" + } + }, + "MEDIUM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Medium" + } + }, + "HIGH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "High" + } + }, + "VERY_HIGH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VeryHigh" + } + } + } + }, + "com.amazonaws.costoptimizationhub#ImplementationEffortList": { + "type": "list", + "member": { + "target": "com.amazonaws.costoptimizationhub#ImplementationEffort" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.costoptimizationhub#InstanceConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Details about the type.

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

The Instance configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.costoptimizationhub#LambdaFunction": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#LambdaFunctionConfiguration", + "traits": { + "smithy.api#documentation": "

The Lambda function configuration used for recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#ResourceCostCalculation", + "traits": { + "smithy.api#documentation": "

Cost impact of the recommendation.

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

The Lambda function recommendation details.

" + } + }, + "com.amazonaws.costoptimizationhub#LambdaFunctionConfiguration": { + "type": "structure", + "members": { + "compute": { + "target": "com.amazonaws.costoptimizationhub#ComputeConfiguration", + "traits": { + "smithy.api#documentation": "

Details about the compute configuration.

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

The Lambda function configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#ListEnrollmentStatuses": { + "type": "operation", + "input": { + "target": "com.amazonaws.costoptimizationhub#ListEnrollmentStatusesRequest" + }, + "output": { + "target": "com.amazonaws.costoptimizationhub#ListEnrollmentStatusesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.costoptimizationhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.costoptimizationhub#InternalServerException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ThrottlingException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the enrollment status for an account. It can also return the list of accounts\n that are enrolled under the organization.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.costoptimizationhub#ListEnrollmentStatusesRequest": { + "type": "structure", + "members": { + "includeOrganizationInfo": { + "target": "smithy.api#PrimitiveBoolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to return the enrollment status for the organization.

" + } + }, + "accountId": { + "target": "com.amazonaws.costoptimizationhub#AccountId", + "traits": { + "smithy.api#documentation": "

The enrollment status of a specific account ID in the organization.

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

The token to retrieve the next set of results.

" + } + }, + "maxResults": { + "target": "com.amazonaws.costoptimizationhub#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of objects that are returned for the request.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.costoptimizationhub#ListEnrollmentStatusesResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.costoptimizationhub#AccountEnrollmentStatuses", + "traits": { + "smithy.api#documentation": "

The account enrollment statuses.

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

The token to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.costoptimizationhub#ListRecommendationSummaries": { + "type": "operation", + "input": { + "target": "com.amazonaws.costoptimizationhub#ListRecommendationSummariesRequest" + }, + "output": { + "target": "com.amazonaws.costoptimizationhub#ListRecommendationSummariesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.costoptimizationhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.costoptimizationhub#InternalServerException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ThrottlingException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a concise representation of savings estimates for resources. Also returns de-duped\n savings across different types of recommendations.

\n \n

The following filters are not supported for this API: recommendationIds,\n resourceArns, and resourceIds.

\n
", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.costoptimizationhub#ListRecommendationSummariesRequest": { + "type": "structure", + "members": { + "filter": { + "target": "com.amazonaws.costoptimizationhub#Filter" + }, + "groupBy": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The grouping of recommendations by a dimension.

", + "smithy.api#required": {} + } + }, + "maxResults": { + "target": "com.amazonaws.costoptimizationhub#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of recommendations that are returned for the request.

", + "smithy.api#range": { + "min": 0, + "max": 1000 + } + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.costoptimizationhub#ListRecommendationSummariesResponse": { + "type": "structure", + "members": { + "estimatedTotalDedupedSavings": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The total overall savings for the aggregated view.

" + } + }, + "items": { + "target": "com.amazonaws.costoptimizationhub#RecommendationSummariesList", + "traits": { + "smithy.api#documentation": "

List of all savings recommendations.

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

The dimension used to group the recommendations by.

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

The currency code used for the recommendation.

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

The token to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.costoptimizationhub#ListRecommendations": { + "type": "operation", + "input": { + "target": "com.amazonaws.costoptimizationhub#ListRecommendationsRequest" + }, + "output": { + "target": "com.amazonaws.costoptimizationhub#ListRecommendationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.costoptimizationhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.costoptimizationhub#InternalServerException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ThrottlingException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of recommendations.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.costoptimizationhub#ListRecommendationsRequest": { + "type": "structure", + "members": { + "filter": { + "target": "com.amazonaws.costoptimizationhub#Filter", + "traits": { + "smithy.api#documentation": "

The constraints that you want all returned recommendations to match.

" + } + }, + "orderBy": { + "target": "com.amazonaws.costoptimizationhub#OrderBy", + "traits": { + "smithy.api#documentation": "

The ordering of recommendations by a dimension.

" + } + }, + "includeAllRecommendations": { + "target": "smithy.api#PrimitiveBoolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

List of all recommendations for a resource, or a single recommendation if de-duped by\n resourceId.

" + } + }, + "maxResults": { + "target": "com.amazonaws.costoptimizationhub#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of recommendations that are returned for the request.

", + "smithy.api#range": { + "min": 0, + "max": 1000 + } + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.costoptimizationhub#ListRecommendationsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.costoptimizationhub#RecommendationList", + "traits": { + "smithy.api#documentation": "

List of all savings recommendations.

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

The token to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.costoptimizationhub#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 100 + } + } + }, + "com.amazonaws.costoptimizationhub#MemberAccountDiscountVisibility": { + "type": "enum", + "members": { + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "All" + } + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "None" + } + } + } + }, + "com.amazonaws.costoptimizationhub#OpenSearchReservedInstances": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#OpenSearchReservedInstancesConfiguration", + "traits": { + "smithy.api#documentation": "

The OpenSearch reserved instances configuration used for recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#ReservedInstancesCostCalculation", + "traits": { + "smithy.api#documentation": "

Cost impact of the purchase recommendation.

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

The OpenSearch reserved instances recommendation details.

" + } + }, + "com.amazonaws.costoptimizationhub#OpenSearchReservedInstancesConfiguration": { + "type": "structure", + "members": { + "accountScope": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The account scope that you want your recommendations for.

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

The service that you want your recommendations for.

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

The number of normalized units that Amazon Web Services recommends that you\n purchase.

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

The reserved instances recommendation term in years.

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

The payment option for the commitment.

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

The number of instances that Amazon Web Services recommends that you purchase.

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

The type of instance that Amazon Web Services recommends.

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

The Amazon Web Services Region of the commitment.

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

Determines whether the recommendation is for a current generation instance.

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

Determines whether the recommendation is size flexible.

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

How much purchasing this instance costs you upfront.

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

How much purchasing reserved instances costs you on a monthly basis.

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

The OpenSearch reserved instances configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#Order": { + "type": "enum", + "members": { + "ASC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Asc" + } + }, + "DESC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Desc" + } + } + } + }, + "com.amazonaws.costoptimizationhub#OrderBy": { + "type": "structure", + "members": { + "dimension": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Sorts by dimension values.

" + } + }, + "order": { + "target": "com.amazonaws.costoptimizationhub#Order", + "traits": { + "smithy.api#documentation": "

The order that's used to sort the data.

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

Defines how rows will be sorted in the response.

" + } + }, + "com.amazonaws.costoptimizationhub#RdsReservedInstances": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#RdsReservedInstancesConfiguration", + "traits": { + "smithy.api#documentation": "

The RDS reserved instances configuration used for recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#ReservedInstancesCostCalculation", + "traits": { + "smithy.api#documentation": "

Cost impact of the purchase recommendation.

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

The RDS reserved instances recommendation details.

" + } + }, + "com.amazonaws.costoptimizationhub#RdsReservedInstancesConfiguration": { + "type": "structure", + "members": { + "accountScope": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The account scope that you want your recommendations for.

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

The service that you want your recommendations for.

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

The number of normalized units that Amazon Web Services recommends that you\n purchase.

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

The reserved instances recommendation term in years.

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

The payment option for the commitment.

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

The number of instances that Amazon Web Services recommends that you purchase.

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

The instance family of the recommended reservation.

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

The type of instance that Amazon Web Services recommends.

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

The Amazon Web Services Region of the commitment.

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

Determines whether the recommendation is size flexible.

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

Determines whether the recommendation is for a current generation instance.

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

How much purchasing this instance costs you upfront.

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

How much purchasing this instance costs you on a monthly basis.

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

The license model that the recommended reservation supports.

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

The database edition that the recommended reservation supports.

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

The database engine that the recommended reservation supports.

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

Determines whether the recommendation is for a reservation in a single Availability Zone\n or a reservation with a backup in a second Availability Zone.

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

The RDS reserved instances configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#Recommendation": { + "type": "structure", + "members": { + "recommendationId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ID for the recommendation.

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

The account that the recommendation is for.

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

The Amazon Web Services Region of the resource.

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

The resource ID for the recommendation.

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

The Amazon Resource Name (ARN) for the recommendation.

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

The current resource type.

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

The recommended resource type.

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

The estimated monthly savings amount for the recommendation.

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

The estimated savings percentage relative to the total cost over the cost calculation\n lookback period.

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

The estimated monthly cost for the recommendation.

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

The currency code used for the recommendation.

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

The effort required to implement the recommendation.

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

Whether or not implementing the recommendation requires a restart.

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

The type of tasks that can be carried out by this action.

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

Whether or not implementing the recommendation can be rolled back.

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

Describes the current resource.

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

Describes the recommended resource.

" + } + }, + "lastRefreshTimestamp": { + "target": "com.amazonaws.costoptimizationhub#Datetime", + "traits": { + "smithy.api#documentation": "

The time when the recommendation was last generated.

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

The lookback period that's used to generate the recommendation.

" + } + }, + "source": { + "target": "com.amazonaws.costoptimizationhub#Source", + "traits": { + "smithy.api#documentation": "

The source of the recommendation.

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

A list of tags assigned to the recommendation.

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

Describes a recommendation.

" + } + }, + "com.amazonaws.costoptimizationhub#RecommendationIdList": { + "type": "list", + "member": { + "target": "smithy.api#String" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.costoptimizationhub#RecommendationList": { + "type": "list", + "member": { + "target": "com.amazonaws.costoptimizationhub#Recommendation" + } + }, + "com.amazonaws.costoptimizationhub#RecommendationSummariesList": { + "type": "list", + "member": { + "target": "com.amazonaws.costoptimizationhub#RecommendationSummary" + } + }, + "com.amazonaws.costoptimizationhub#RecommendationSummary": { + "type": "structure", + "members": { + "group": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The grouping of recommendations.

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

The estimated total savings resulting from modifications, on a monthly basis.

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

The total number of instance recommendations.

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

The summary of rightsizing recommendations, including de-duped savings from all types of\n recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#RedshiftReservedInstances": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#RedshiftReservedInstancesConfiguration", + "traits": { + "smithy.api#documentation": "

The Redshift reserved instances configuration used for recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#ReservedInstancesCostCalculation", + "traits": { + "smithy.api#documentation": "

Cost impact of the purchase recommendation.

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

The Redshift reserved instances recommendation details.

" + } + }, + "com.amazonaws.costoptimizationhub#RedshiftReservedInstancesConfiguration": { + "type": "structure", + "members": { + "accountScope": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The account scope that you want your recommendations for.

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

The service that you want your recommendations for.

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

The number of normalized units that Amazon Web Services recommends that you\n purchase.

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

The reserved instances recommendation term in years.

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

The payment option for the commitment.

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

The number of instances that Amazon Web Services recommends that you purchase.

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

The instance family of the recommended reservation.

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

The type of instance that Amazon Web Services recommends.

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

The Amazon Web Services Region of the commitment.

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

Determines whether the recommendation is size flexible.

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

Determines whether the recommendation is for a current generation instance.

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

How much purchasing this instance costs you upfront.

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

How much purchasing reserved instances costs you on a monthly basis.

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

The Redshift reserved instances configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#RegionList": { + "type": "list", + "member": { + "target": "smithy.api#String" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.costoptimizationhub#ReservedInstancesCostCalculation": { + "type": "structure", + "members": { + "pricing": { + "target": "com.amazonaws.costoptimizationhub#ReservedInstancesPricing", + "traits": { + "smithy.api#documentation": "

Pricing details of the purchase recommendation.

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

Cost impact of the purchase recommendation.

" + } + }, + "com.amazonaws.costoptimizationhub#ReservedInstancesPricing": { + "type": "structure", + "members": { + "estimatedOnDemandCost": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The remaining On-Demand cost estimated to not be covered by the recommended reserved\n instance, over the length of the lookback period.

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

The cost of paying for the recommended reserved instance monthly.

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

The savings percentage relative to the total On-Demand costs that are associated with this\n instance.

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

The estimated cost of your recurring monthly fees for the recommended reserved instance\n across the month.

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

Pricing details for your recommended reserved instance.

" + } + }, + "com.amazonaws.costoptimizationhub#ResourceArnList": { + "type": "list", + "member": { + "target": "smithy.api#String" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.costoptimizationhub#ResourceCostCalculation": { + "type": "structure", + "members": { + "usages": { + "target": "com.amazonaws.costoptimizationhub#UsageList", + "traits": { + "smithy.api#documentation": "

Usage details of the resource recommendation.

" + } + }, + "pricing": { + "target": "com.amazonaws.costoptimizationhub#ResourcePricing", + "traits": { + "smithy.api#documentation": "

Pricing details of the resource recommendation.

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

Cost impact of the resource recommendation.

" + } + }, + "com.amazonaws.costoptimizationhub#ResourceDetails": { + "type": "union", + "members": { + "lambdaFunction": { + "target": "com.amazonaws.costoptimizationhub#LambdaFunction", + "traits": { + "smithy.api#documentation": "

The Lambda function recommendation details.

" + } + }, + "ecsService": { + "target": "com.amazonaws.costoptimizationhub#EcsService", + "traits": { + "smithy.api#documentation": "

The ECS service recommendation details.

" + } + }, + "ec2Instance": { + "target": "com.amazonaws.costoptimizationhub#Ec2Instance", + "traits": { + "smithy.api#documentation": "

The EC2 instance recommendation details.

" + } + }, + "ebsVolume": { + "target": "com.amazonaws.costoptimizationhub#EbsVolume", + "traits": { + "smithy.api#documentation": "

The Amazon Elastic Block Store volume recommendation details.

" + } + }, + "ec2AutoScalingGroup": { + "target": "com.amazonaws.costoptimizationhub#Ec2AutoScalingGroup", + "traits": { + "smithy.api#documentation": "

The EC2 Auto Scaling group recommendation details.

" + } + }, + "ec2ReservedInstances": { + "target": "com.amazonaws.costoptimizationhub#Ec2ReservedInstances", + "traits": { + "smithy.api#documentation": "

The EC2 reserved instances recommendation details.

" + } + }, + "rdsReservedInstances": { + "target": "com.amazonaws.costoptimizationhub#RdsReservedInstances", + "traits": { + "smithy.api#documentation": "

The RDS reserved instances recommendation details.

" + } + }, + "elastiCacheReservedInstances": { + "target": "com.amazonaws.costoptimizationhub#ElastiCacheReservedInstances", + "traits": { + "smithy.api#documentation": "

The ElastiCache reserved instances recommendation details.

" + } + }, + "openSearchReservedInstances": { + "target": "com.amazonaws.costoptimizationhub#OpenSearchReservedInstances", + "traits": { + "smithy.api#documentation": "

The OpenSearch reserved instances recommendation details.

" + } + }, + "redshiftReservedInstances": { + "target": "com.amazonaws.costoptimizationhub#RedshiftReservedInstances", + "traits": { + "smithy.api#documentation": "

The Redshift reserved instances recommendation details.

" + } + }, + "ec2InstanceSavingsPlans": { + "target": "com.amazonaws.costoptimizationhub#Ec2InstanceSavingsPlans", + "traits": { + "smithy.api#documentation": "

The EC2 instance Savings Plans recommendation details.

" + } + }, + "computeSavingsPlans": { + "target": "com.amazonaws.costoptimizationhub#ComputeSavingsPlans", + "traits": { + "smithy.api#documentation": "

The Compute Savings Plans recommendation details.

" + } + }, + "sageMakerSavingsPlans": { + "target": "com.amazonaws.costoptimizationhub#SageMakerSavingsPlans", + "traits": { + "smithy.api#documentation": "

The SageMaker Savings Plans recommendation details.

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

Contains detailed information about the specified resource.

" + } + }, + "com.amazonaws.costoptimizationhub#ResourceIdList": { + "type": "list", + "member": { + "target": "smithy.api#String" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.costoptimizationhub#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier of the resource that was not found.

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

The specified Amazon Resource Name (ARN) in the request doesn't exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.costoptimizationhub#ResourcePricing": { + "type": "structure", + "members": { + "estimatedCostBeforeDiscounts": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The savings estimate using Amazon Web Services public pricing without incorporating any\n discounts.

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

The estimated net unused amortized commitment for the recommendation.

" + } + }, + "estimatedDiscounts": { + "target": "com.amazonaws.costoptimizationhub#EstimatedDiscounts", + "traits": { + "smithy.api#documentation": "

The estimated discounts for a recommendation.

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

The savings estimate incorporating all discounts with Amazon Web Services, such as Reserved\n Instances and Savings Plans.

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

Contains pricing information about the specified resource.

" + } + }, + "com.amazonaws.costoptimizationhub#ResourceType": { + "type": "enum", + "members": { + "EC2_INSTANCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Ec2Instance" + } + }, + "LAMBDA_FUNCTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LambdaFunction" + } + }, + "EBS_VOLUME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EbsVolume" + } + }, + "ECS_SERVICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EcsService" + } + }, + "EC2_AUTO_SCALING_GROUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Ec2AutoScalingGroup" + } + }, + "EC2_INSTANCE_SAVINGS_PLANS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Ec2InstanceSavingsPlans" + } + }, + "COMPUTE_SAVINGS_PLANS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ComputeSavingsPlans" + } + }, + "SAGE_MAKER_SAVINGS_PLANS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SageMakerSavingsPlans" + } + }, + "EC2_RESERVED_INSTANCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Ec2ReservedInstances" + } + }, + "RDS_RESERVED_INSTANCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RdsReservedInstances" + } + }, + "OPEN_SEARCH_RESERVED_INSTANCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OpenSearchReservedInstances" + } + }, + "REDSHIFT_RESERVED_INSTANCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RedshiftReservedInstances" + } + }, + "ELASTI_CACHE_RESERVED_INSTANCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ElastiCacheReservedInstances" + } + } + } + }, + "com.amazonaws.costoptimizationhub#ResourceTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.costoptimizationhub#ResourceType" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.costoptimizationhub#SageMakerSavingsPlans": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#SageMakerSavingsPlansConfiguration", + "traits": { + "smithy.api#documentation": "

The SageMaker Savings Plans configuration used for recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#SavingsPlansCostCalculation", + "traits": { + "smithy.api#documentation": "

Cost impact of the Savings Plans purchase recommendation.

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

The SageMaker Savings Plans recommendation details.

" + } + }, + "com.amazonaws.costoptimizationhub#SageMakerSavingsPlansConfiguration": { + "type": "structure", + "members": { + "accountScope": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The account scope that you want your recommendations for.

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

The Savings Plans recommendation term in years.

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

The payment option for the commitment.

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

The hourly commitment for the Savings Plans type.

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

The SageMaker Savings Plans configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#SavingsEstimationMode": { + "type": "enum", + "members": { + "BEFORE_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BeforeDiscounts" + } + }, + "AFTER_DISCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AfterDiscounts" + } + } + } + }, + "com.amazonaws.costoptimizationhub#SavingsPlansCostCalculation": { + "type": "structure", + "members": { + "pricing": { + "target": "com.amazonaws.costoptimizationhub#SavingsPlansPricing", + "traits": { + "smithy.api#documentation": "

Pricing details of the purchase recommendation.

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

Cost impact of the purchase recommendation.

" + } + }, + "com.amazonaws.costoptimizationhub#SavingsPlansPricing": { + "type": "structure", + "members": { + "monthlySavingsPlansEligibleCost": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The cost of paying for the recommended Savings Plan monthly.

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

Estimated monthly commitment for the Savings Plan.

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

Estimated savings as a percentage of your overall costs after buying the Savings Plan.

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

Estimated On-Demand cost you will pay after buying the Savings Plan.

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

Pricing information about a Savings Plan.

" + } + }, + "com.amazonaws.costoptimizationhub#Source": { + "type": "enum", + "members": { + "COMPUTE_OPTIMIZER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ComputeOptimizer" + } + }, + "COST_EXPLORER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CostExplorer" + } + } + } + }, + "com.amazonaws.costoptimizationhub#StorageConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The storage type.

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

The storage volume.

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

The storage configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#Tag": { + "type": "structure", + "members": { + "key": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The key that's associated with the tag.

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

The value that's associated with the tag.

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

The tag structure that contains a tag key and value.

" + } + }, + "com.amazonaws.costoptimizationhub#TagList": { + "type": "list", + "member": { + "target": "com.amazonaws.costoptimizationhub#Tag" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.costoptimizationhub#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

The request was denied due to request throttling.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.costoptimizationhub#UpdateEnrollmentStatus": { + "type": "operation", + "input": { + "target": "com.amazonaws.costoptimizationhub#UpdateEnrollmentStatusRequest" + }, + "output": { + "target": "com.amazonaws.costoptimizationhub#UpdateEnrollmentStatusResponse" + }, + "errors": [ + { + "target": "com.amazonaws.costoptimizationhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.costoptimizationhub#InternalServerException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ThrottlingException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the enrollment (opt in and opt out) status of an account to the Cost Optimization\n Hub service.

\n

If the account is a management account of an organization, this action can also be used to\n enroll member accounts of the organization.

\n

You must have the appropriate permissions to opt in to Cost Optimization Hub and to view\n its recommendations. When you opt in, Cost Optimization Hub automatically creates a\n service-linked role in your account to access its data.

" + } + }, + "com.amazonaws.costoptimizationhub#UpdateEnrollmentStatusRequest": { + "type": "structure", + "members": { + "status": { + "target": "com.amazonaws.costoptimizationhub#EnrollmentStatus", + "traits": { + "smithy.api#documentation": "

Sets the account status.

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

Indicates whether to enroll member accounts of the organization if the account is the\n management account.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.costoptimizationhub#UpdateEnrollmentStatusResponse": { + "type": "structure", + "members": { + "status": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The enrollment status of the account.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.costoptimizationhub#UpdatePreferences": { + "type": "operation", + "input": { + "target": "com.amazonaws.costoptimizationhub#UpdatePreferencesRequest" + }, + "output": { + "target": "com.amazonaws.costoptimizationhub#UpdatePreferencesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.costoptimizationhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.costoptimizationhub#InternalServerException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ThrottlingException" + }, + { + "target": "com.amazonaws.costoptimizationhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates a set of preferences for an account in order to add account-specific preferences\n into the service. These preferences impact how the savings associated with recommendations are\n presented.

" + } + }, + "com.amazonaws.costoptimizationhub#UpdatePreferencesRequest": { + "type": "structure", + "members": { + "savingsEstimationMode": { + "target": "com.amazonaws.costoptimizationhub#SavingsEstimationMode", + "traits": { + "smithy.api#documentation": "

Sets the \"savings estimation mode\" preference.

" + } + }, + "memberAccountDiscountVisibility": { + "target": "com.amazonaws.costoptimizationhub#MemberAccountDiscountVisibility", + "traits": { + "smithy.api#documentation": "

Sets the \"member account discount visibility\" preference.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.costoptimizationhub#UpdatePreferencesResponse": { + "type": "structure", + "members": { + "savingsEstimationMode": { + "target": "com.amazonaws.costoptimizationhub#SavingsEstimationMode", + "traits": { + "smithy.api#documentation": "

Shows the status of the \"savings estimation mode\" preference.

" + } + }, + "memberAccountDiscountVisibility": { + "target": "com.amazonaws.costoptimizationhub#MemberAccountDiscountVisibility", + "traits": { + "smithy.api#documentation": "

Shows the status of the \"member account discount visibility\" preference.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.costoptimizationhub#Usage": { + "type": "structure", + "members": { + "usageType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The usage type.

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

The usage amount.

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

The operation value.

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

The product code.

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

The usage unit.

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

Details about the usage.

" + } + }, + "com.amazonaws.costoptimizationhub#UsageList": { + "type": "list", + "member": { + "target": "com.amazonaws.costoptimizationhub#Usage" + } + }, + "com.amazonaws.costoptimizationhub#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "reason": { + "target": "com.amazonaws.costoptimizationhub#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "

The reason for the validation exception.

" + } + }, + "fields": { + "target": "com.amazonaws.costoptimizationhub#ValidationExceptionDetails", + "traits": { + "smithy.api#documentation": "

The list of fields that are invalid.

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

The input fails to satisfy the constraints specified by an Amazon Web Services\n service.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.costoptimizationhub#ValidationExceptionDetail": { + "type": "structure", + "members": { + "fieldName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The field name where the invalid entry was detected.

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

A message with the reason for the validation exception error.

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

The input failed to meet the constraints specified by the Amazon Web Services service in a\n specified field.

" + } + }, + "com.amazonaws.costoptimizationhub#ValidationExceptionDetails": { + "type": "list", + "member": { + "target": "com.amazonaws.costoptimizationhub#ValidationExceptionDetail" + } + }, + "com.amazonaws.costoptimizationhub#ValidationExceptionReason": { + "type": "enum", + "members": { + "FIELD_VALIDATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FieldValidationFailed" + } + }, + "OTHER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Other" + } + } + } + } + } +} \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/detective.json b/codegen/sdk-codegen/aws-models/detective.json index 4fcbfcac9e1..c093d46e35e 100644 --- a/codegen/sdk-codegen/aws-models/detective.json +++ b/codegen/sdk-codegen/aws-models/detective.json @@ -29,6 +29,21 @@ ] }, "shapes": { + "com.amazonaws.detective#APIFailureCount": { + "type": "long", + "traits": { + "smithy.api#default": 0 + } + }, + "com.amazonaws.detective#APIName": { + "type": "string" + }, + "com.amazonaws.detective#APISuccessCount": { + "type": "long", + "traits": { + "smithy.api#default": 0 + } + }, "com.amazonaws.detective#AcceptInvitation": { "type": "operation", "input": { @@ -215,6 +230,15 @@ "target": "com.amazonaws.detective#Administrator" } }, + "com.amazonaws.detective#AiPaginationToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + } + } + }, "com.amazonaws.detective#AmazonDetective": { "type": "service", "version": "2018-10-26", @@ -252,6 +276,9 @@ { "target": "com.amazonaws.detective#EnableOrganizationAdminAccount" }, + { + "target": "com.amazonaws.detective#GetInvestigation" + }, { "target": "com.amazonaws.detective#GetMembers" }, @@ -261,6 +288,12 @@ { "target": "com.amazonaws.detective#ListGraphs" }, + { + "target": "com.amazonaws.detective#ListIndicators" + }, + { + "target": "com.amazonaws.detective#ListInvestigations" + }, { "target": "com.amazonaws.detective#ListInvitations" }, @@ -276,6 +309,9 @@ { "target": "com.amazonaws.detective#RejectInvitation" }, + { + "target": "com.amazonaws.detective#StartInvestigation" + }, { "target": "com.amazonaws.detective#StartMonitoringMember" }, @@ -288,6 +324,9 @@ { "target": "com.amazonaws.detective#UpdateDatasourcePackages" }, + { + "target": "com.amazonaws.detective#UpdateInvestigationState" + }, { "target": "com.amazonaws.detective#UpdateOrganizationConfiguration" } @@ -348,7 +387,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -391,7 +429,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -404,7 +443,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -418,7 +456,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -441,7 +478,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -476,7 +512,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -487,14 +522,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -508,14 +545,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -524,11 +559,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -539,14 +574,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -560,7 +597,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -580,7 +616,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -591,14 +626,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -609,9 +646,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -1248,6 +1287,9 @@ } } }, + "com.amazonaws.detective#Aso": { + "type": "string" + }, "com.amazonaws.detective#BatchGetGraphMemberDatasources": { "type": "operation", "input": { @@ -1494,7 +1536,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n CreateMembers is used to send invitations to accounts. For the organization\n behavior graph, the Detective administrator account uses\n CreateMembers to enable organization accounts as member accounts.

\n

For invited accounts, CreateMembers sends a request to invite the specified\n Amazon Web Services accounts to be member accounts in the behavior graph. This operation\n can only be called by the administrator account for a behavior graph.

\n

\n CreateMembers verifies the accounts and then invites the verified accounts.\n The administrator can optionally specify to not send invitation emails to the member\n accounts. This would be used when the administrator manages their member accounts\n centrally.

\n

For organization accounts in the organization behavior graph, CreateMembers\n attempts to enable the accounts. The organization accounts do not receive\n invitations.

\n

The request provides the behavior graph ARN and the list of accounts to invite or to\n enable.

\n

The response separates the requested accounts into two lists:

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

\n CreateMembers is used to send invitations to accounts. For the organization\n behavior graph, the Detective administrator account uses\n CreateMembers to enable organization accounts as member accounts.

\n

For invited accounts, CreateMembers sends a request to invite the specified\n Amazon Web Services accounts to be member accounts in the behavior graph. This operation\n can only be called by the administrator account for a behavior graph.

\n

\n CreateMembers verifies the accounts and then invites the verified accounts.\n The administrator can optionally specify to not send invitation emails to the member\n accounts. This would be used when the administrator manages their member accounts\n centrally.

\n

For organization accounts in the organization behavior graph, CreateMembers\n attempts to enable the accounts. The organization accounts do not receive\n invitations.

\n

The request provides the behavior graph ARN and the list of accounts to invite or to\n enable.

\n

The response separates the requested accounts into two lists:

\n ", "smithy.api#http": { "method": "POST", "uri": "/graph/members", @@ -1682,6 +1724,28 @@ "smithy.api#documentation": "

Information on the usage of a data source package in the behavior graph.

" } }, + "com.amazonaws.detective#DateFilter": { + "type": "structure", + "members": { + "StartInclusive": { + "target": "com.amazonaws.detective#Timestamp", + "traits": { + "smithy.api#documentation": "

A timestamp representing the start of the time period from when data is filtered, including the start date.

", + "smithy.api#required": {} + } + }, + "EndInclusive": { + "target": "com.amazonaws.detective#Timestamp", + "traits": { + "smithy.api#documentation": "

A timestamp representing the end date of the time period until when data is filtered , including the end date.

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

Contains details on the time range used to filter data.

" + } + }, "com.amazonaws.detective#DeleteGraph": { "type": "operation", "input": { @@ -2012,6 +2076,29 @@ "smithy.api#input": {} } }, + "com.amazonaws.detective#EntityArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:" + } + }, + "com.amazonaws.detective#EntityType": { + "type": "enum", + "members": { + "IAM_ROLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAM_ROLE" + } + }, + "IAM_USER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAM_USER" + } + } + } + }, "com.amazonaws.detective#ErrorCode": { "type": "enum", "members": { @@ -2041,6 +2128,211 @@ "com.amazonaws.detective#ErrorMessage": { "type": "string" }, + "com.amazonaws.detective#Field": { + "type": "enum", + "members": { + "SEVERITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SEVERITY" + } + }, + "STATUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STATUS" + } + }, + "CREATED_TIME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATED_TIME" + } + } + } + }, + "com.amazonaws.detective#FilterCriteria": { + "type": "structure", + "members": { + "Severity": { + "target": "com.amazonaws.detective#StringFilter", + "traits": { + "smithy.api#documentation": "

Filter the investigation results based on the severity.

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

Filter the investigation results based on the status.

" + } + }, + "State": { + "target": "com.amazonaws.detective#StringFilter", + "traits": { + "smithy.api#documentation": "

Filter the investigation results based on the state.

" + } + }, + "EntityArn": { + "target": "com.amazonaws.detective#StringFilter", + "traits": { + "smithy.api#documentation": "

Filter the investigation results based on the Amazon Resource Name (ARN) of the entity.

" + } + }, + "CreatedTime": { + "target": "com.amazonaws.detective#DateFilter", + "traits": { + "smithy.api#documentation": "

Filter the investigation results based on when the investigation was created.

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

Details on the criteria used to define the filter for investigation results.

" + } + }, + "com.amazonaws.detective#FlaggedIpAddressDetail": { + "type": "structure", + "members": { + "IpAddress": { + "target": "com.amazonaws.detective#IpAddress", + "traits": { + "smithy.api#documentation": "

IP address of the suspicious entity.

" + } + }, + "Reason": { + "target": "com.amazonaws.detective#Reason", + "traits": { + "smithy.api#documentation": "

Details the reason the IP address was flagged as suspicious.

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

Contains information on suspicious IP addresses identified as indicators of compromise. This indicator is derived from Amazon Web Services threat intelligence.

" + } + }, + "com.amazonaws.detective#GetInvestigation": { + "type": "operation", + "input": { + "target": "com.amazonaws.detective#GetInvestigationRequest" + }, + "output": { + "target": "com.amazonaws.detective#GetInvestigationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.detective#AccessDeniedException" + }, + { + "target": "com.amazonaws.detective#InternalServerException" + }, + { + "target": "com.amazonaws.detective#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.detective#TooManyRequestsException" + }, + { + "target": "com.amazonaws.detective#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns the investigation results of an investigation for a behavior graph.

", + "smithy.api#http": { + "method": "POST", + "uri": "/investigations/getInvestigation", + "code": 200 + } + } + }, + "com.amazonaws.detective#GetInvestigationRequest": { + "type": "structure", + "members": { + "GraphArn": { + "target": "com.amazonaws.detective#GraphArn", + "traits": { + "smithy.api#documentation": "

The ARN of the behavior graph.

", + "smithy.api#required": {} + } + }, + "InvestigationId": { + "target": "com.amazonaws.detective#InvestigationId", + "traits": { + "smithy.api#documentation": "

The investigation ID of the investigation report.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.detective#GetInvestigationResponse": { + "type": "structure", + "members": { + "GraphArn": { + "target": "com.amazonaws.detective#GraphArn", + "traits": { + "smithy.api#documentation": "

The ARN of the behavior graph.

" + } + }, + "InvestigationId": { + "target": "com.amazonaws.detective#InvestigationId", + "traits": { + "smithy.api#documentation": "

The investigation ID of the investigation report.

" + } + }, + "EntityArn": { + "target": "com.amazonaws.detective#EntityArn", + "traits": { + "smithy.api#documentation": "

The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

" + } + }, + "EntityType": { + "target": "com.amazonaws.detective#EntityType", + "traits": { + "smithy.api#documentation": "

Type of entity. For example, Amazon Web Services accounts, such as IAM user and role.

" + } + }, + "CreatedTime": { + "target": "com.amazonaws.detective#Timestamp", + "traits": { + "smithy.api#documentation": "

The UTC time stamp of the creation time of the investigation report.

" + } + }, + "ScopeStartTime": { + "target": "com.amazonaws.detective#Timestamp", + "traits": { + "smithy.api#documentation": "

The start date and time for the scope time set to generate the investigation report.

" + } + }, + "ScopeEndTime": { + "target": "com.amazonaws.detective#Timestamp", + "traits": { + "smithy.api#documentation": "

The data and time when the investigation began. The value is an UTC ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

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

Status based on the completion status of the investigation.

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

Severity based on the likelihood and impact of the indicators of compromise discovered in the investigation.

" + } + }, + "State": { + "target": "com.amazonaws.detective#State", + "traits": { + "smithy.api#documentation": "

The current state of the investigation. An archived investigation indicates you have completed reviewing the investigation.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.detective#GetMembers": { "type": "operation", "input": { @@ -2158,37 +2450,291 @@ "target": "com.amazonaws.detective#Graph" } }, - "com.amazonaws.detective#InternalServerException": { + "com.amazonaws.detective#HourlyTimeDelta": { + "type": "integer" + }, + "com.amazonaws.detective#Id": { + "type": "string" + }, + "com.amazonaws.detective#ImpossibleTravelDetail": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.detective#ErrorMessage" + "StartingIpAddress": { + "target": "com.amazonaws.detective#IpAddress", + "traits": { + "smithy.api#documentation": "

IP address where the resource was first used in the impossible travel

" + } + }, + "EndingIpAddress": { + "target": "com.amazonaws.detective#IpAddress", + "traits": { + "smithy.api#documentation": "

IP address where the resource was last used in the impossible travel.

" + } + }, + "StartingLocation": { + "target": "com.amazonaws.detective#Location", + "traits": { + "smithy.api#documentation": "

Location where the resource was first used in the impossible travel

" + } + }, + "EndingLocation": { + "target": "com.amazonaws.detective#Location", + "traits": { + "smithy.api#documentation": "

Location where the resource was last used in the impossible travel.

" + } + }, + "HourlyTimeDelta": { + "target": "com.amazonaws.detective#HourlyTimeDelta", + "traits": { + "smithy.api#documentation": "

Returns the time difference between the first and last timestamp the resource was used.

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

The request was valid but failed because of a problem with the service.

", - "smithy.api#error": "server", - "smithy.api#httpError": 500 + "smithy.api#documentation": "

Contains information on unusual and impossible travel in an account.

" } }, - "com.amazonaws.detective#InvitationType": { - "type": "enum", + "com.amazonaws.detective#Indicator": { + "type": "structure", "members": { - "INVITATION": { - "target": "smithy.api#Unit", + "IndicatorType": { + "target": "com.amazonaws.detective#IndicatorType", "traits": { - "smithy.api#enumValue": "INVITATION" + "smithy.api#documentation": "

The type of indicator.

" } }, - "ORGANIZATION": { - "target": "smithy.api#Unit", + "IndicatorDetail": { + "target": "com.amazonaws.detective#IndicatorDetail", "traits": { - "smithy.api#enumValue": "ORGANIZATION" + "smithy.api#documentation": "

Details about the indicator of compromise.

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

Investigations triages indicators of compromises such as a finding and surfaces only the most critical and suspicious issues, so you can focus on high-level investigations.

" } }, - "com.amazonaws.detective#LastIngestStateChangeDates": { + "com.amazonaws.detective#IndicatorDetail": { + "type": "structure", + "members": { + "TTPsObservedDetail": { + "target": "com.amazonaws.detective#TTPsObservedDetail", + "traits": { + "smithy.api#documentation": "

Details about the indicator of compromise.

" + } + }, + "ImpossibleTravelDetail": { + "target": "com.amazonaws.detective#ImpossibleTravelDetail", + "traits": { + "smithy.api#documentation": "

Identifies unusual and impossible user activity for an account.

" + } + }, + "FlaggedIpAddressDetail": { + "target": "com.amazonaws.detective#FlaggedIpAddressDetail", + "traits": { + "smithy.api#documentation": "

Suspicious IP addresses that are flagged, which indicates critical or severe threats based on threat intelligence by Detective. This indicator is derived from AWS threat intelligence.

" + } + }, + "NewGeolocationDetail": { + "target": "com.amazonaws.detective#NewGeolocationDetail", + "traits": { + "smithy.api#documentation": "

Contains details about the new geographic location.

" + } + }, + "NewAsoDetail": { + "target": "com.amazonaws.detective#NewAsoDetail", + "traits": { + "smithy.api#documentation": "

Contains details about the new Autonomous System Organization (ASO).

" + } + }, + "NewUserAgentDetail": { + "target": "com.amazonaws.detective#NewUserAgentDetail", + "traits": { + "smithy.api#documentation": "

Contains details about the new user agent.

" + } + }, + "RelatedFindingDetail": { + "target": "com.amazonaws.detective#RelatedFindingDetail", + "traits": { + "smithy.api#documentation": "

Contains details about related findings.

" + } + }, + "RelatedFindingGroupDetail": { + "target": "com.amazonaws.detective#RelatedFindingGroupDetail", + "traits": { + "smithy.api#documentation": "

Contains details about related finding groups.

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

Details about the indicators of compromise which are used to determine if a resource is involved in a security incident.

" + } + }, + "com.amazonaws.detective#IndicatorType": { + "type": "enum", + "members": { + "TTP_OBSERVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TTP_OBSERVED" + } + }, + "IMPOSSIBLE_TRAVEL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IMPOSSIBLE_TRAVEL" + } + }, + "FLAGGED_IP_ADDRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FLAGGED_IP_ADDRESS" + } + }, + "NEW_GEOLOCATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NEW_GEOLOCATION" + } + }, + "NEW_ASO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NEW_ASO" + } + }, + "NEW_USER_AGENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NEW_USER_AGENT" + } + }, + "RELATED_FINDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RELATED_FINDING" + } + }, + "RELATED_FINDING_GROUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RELATED_FINDING_GROUP" + } + } + } + }, + "com.amazonaws.detective#Indicators": { + "type": "list", + "member": { + "target": "com.amazonaws.detective#Indicator" + } + }, + "com.amazonaws.detective#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.detective#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

The request was valid but failed because of a problem with the service.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.detective#InvestigationDetail": { + "type": "structure", + "members": { + "InvestigationId": { + "target": "com.amazonaws.detective#InvestigationId", + "traits": { + "smithy.api#documentation": "

The investigation ID of the investigation report.

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

Severity based on the likelihood and impact of the indicators of compromise discovered in the investigation.

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

Status based on the completion status of the investigation.

" + } + }, + "State": { + "target": "com.amazonaws.detective#State", + "traits": { + "smithy.api#documentation": "

The current state of the investigation. An archived investigation indicates you have completed reviewing the investigation.

" + } + }, + "CreatedTime": { + "target": "com.amazonaws.detective#Timestamp", + "traits": { + "smithy.api#documentation": "

The UTC time stamp of the creation time of the investigation report.

" + } + }, + "EntityArn": { + "target": "com.amazonaws.detective#EntityArn", + "traits": { + "smithy.api#documentation": "

The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

" + } + }, + "EntityType": { + "target": "com.amazonaws.detective#EntityType", + "traits": { + "smithy.api#documentation": "

Type of entity. For example, Amazon Web Services accounts, such as IAM user and role.

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

Details about the investigation related to a potential security event identified by Detective

" + } + }, + "com.amazonaws.detective#InvestigationDetails": { + "type": "list", + "member": { + "target": "com.amazonaws.detective#InvestigationDetail" + } + }, + "com.amazonaws.detective#InvestigationId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 21, + "max": 21 + }, + "smithy.api#pattern": "^[0-9]+$" + } + }, + "com.amazonaws.detective#InvitationType": { + "type": "enum", + "members": { + "INVITATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVITATION" + } + }, + "ORGANIZATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ORGANIZATION" + } + } + } + }, + "com.amazonaws.detective#IpAddress": { + "type": "string" + }, + "com.amazonaws.detective#IsNewForEntireAccount": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, + "com.amazonaws.detective#LastIngestStateChangeDates": { "type": "map", "key": { "target": "com.amazonaws.detective#DatasourcePackageIngestState" @@ -2353,13 +2899,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.detective#ListInvitations": { + "com.amazonaws.detective#ListIndicators": { "type": "operation", "input": { - "target": "com.amazonaws.detective#ListInvitationsRequest" + "target": "com.amazonaws.detective#ListIndicatorsRequest" }, "output": { - "target": "com.amazonaws.detective#ListInvitationsResponse" + "target": "com.amazonaws.detective#ListIndicatorsResponse" }, "errors": [ { @@ -2368,37 +2914,58 @@ { "target": "com.amazonaws.detective#InternalServerException" }, + { + "target": "com.amazonaws.detective#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.detective#TooManyRequestsException" + }, { "target": "com.amazonaws.detective#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Retrieves the list of open and accepted behavior graph invitations for the member\n account. This operation can only be called by an invited member account.

\n

Open invitations are invitations that the member account has not responded to.

\n

The results do not include behavior graphs for which the member account declined the\n invitation. The results also do not include behavior graphs that the member account\n resigned from or was removed from.

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

Get the indicators from an investigation

", "smithy.api#http": { "method": "POST", - "uri": "/invitations/list", + "uri": "/investigations/listIndicators", "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" } } }, - "com.amazonaws.detective#ListInvitationsRequest": { + "com.amazonaws.detective#ListIndicatorsRequest": { "type": "structure", "members": { + "GraphArn": { + "target": "com.amazonaws.detective#GraphArn", + "traits": { + "smithy.api#documentation": "

The ARN of the behavior graph.

", + "smithy.api#required": {} + } + }, + "InvestigationId": { + "target": "com.amazonaws.detective#InvestigationId", + "traits": { + "smithy.api#documentation": "

The investigation ID of the investigation report.

", + "smithy.api#required": {} + } + }, + "IndicatorType": { + "target": "com.amazonaws.detective#IndicatorType", + "traits": { + "smithy.api#documentation": "

See Detective investigations..

" + } + }, "NextToken": { - "target": "com.amazonaws.detective#PaginationToken", + "target": "com.amazonaws.detective#AiPaginationToken", "traits": { - "smithy.api#documentation": "

For requests to retrieve the next page of results, the pagination token that was\n returned with the previous page of results. The initial request does not include a\n pagination token.

" + "smithy.api#documentation": "

List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged.

\n

Each pagination token expires after 24 hours. Using an expired pagination token will return a Validation Exception error.

" } }, "MaxResults": { - "target": "com.amazonaws.detective#MemberResultsLimit", + "target": "com.amazonaws.detective#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of behavior graph invitations to return in the response. The total\n must be less than the overall limit on the number of results to return, which is currently\n 200.

" + "smithy.api#documentation": "

List the maximum number of indicators in a page.

" } } }, @@ -2406,19 +2973,31 @@ "smithy.api#input": {} } }, - "com.amazonaws.detective#ListInvitationsResponse": { + "com.amazonaws.detective#ListIndicatorsResponse": { "type": "structure", "members": { - "Invitations": { - "target": "com.amazonaws.detective#MemberDetailList", + "GraphArn": { + "target": "com.amazonaws.detective#GraphArn", "traits": { - "smithy.api#documentation": "

The list of behavior graphs for which the member account has open or accepted\n invitations.

" + "smithy.api#documentation": "

The ARN of the behavior graph.

" + } + }, + "InvestigationId": { + "target": "com.amazonaws.detective#InvestigationId", + "traits": { + "smithy.api#documentation": "

The investigation ID of the investigation report.

" } }, "NextToken": { - "target": "com.amazonaws.detective#PaginationToken", + "target": "com.amazonaws.detective#AiPaginationToken", "traits": { - "smithy.api#documentation": "

If there are more behavior graphs remaining in the results, then this is the pagination\n token to use to request the next page of behavior graphs.

" + "smithy.api#documentation": "

List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged.

\n

Each pagination token expires after 24 hours. Using an expired pagination token will return a Validation Exception error.

" + } + }, + "Indicators": { + "target": "com.amazonaws.detective#Indicators", + "traits": { + "smithy.api#documentation": "

Indicators of compromise listed based on severity.

" } } }, @@ -2426,13 +3005,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.detective#ListMembers": { + "com.amazonaws.detective#ListInvestigations": { "type": "operation", "input": { - "target": "com.amazonaws.detective#ListMembersRequest" + "target": "com.amazonaws.detective#ListInvestigationsRequest" }, "output": { - "target": "com.amazonaws.detective#ListMembersResponse" + "target": "com.amazonaws.detective#ListInvestigationsResponse" }, "errors": [ { @@ -2444,44 +3023,54 @@ { "target": "com.amazonaws.detective#ResourceNotFoundException" }, + { + "target": "com.amazonaws.detective#TooManyRequestsException" + }, { "target": "com.amazonaws.detective#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Retrieves the list of member accounts for a behavior graph.

\n

For invited accounts, the results do not include member accounts that were removed from\n the behavior graph.

\n

For the organization behavior graph, the results do not include organization accounts\n that the Detective administrator account has not enabled as member\n accounts.

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

List all Investigations.

", "smithy.api#http": { "method": "POST", - "uri": "/graph/members/list", + "uri": "/investigations/listInvestigations", "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" } } }, - "com.amazonaws.detective#ListMembersRequest": { + "com.amazonaws.detective#ListInvestigationsRequest": { "type": "structure", "members": { "GraphArn": { "target": "com.amazonaws.detective#GraphArn", "traits": { - "smithy.api#documentation": "

The ARN of the behavior graph for which to retrieve the list of member accounts.

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

The ARN of the behavior graph.

", "smithy.api#required": {} } }, "NextToken": { - "target": "com.amazonaws.detective#PaginationToken", + "target": "com.amazonaws.detective#AiPaginationToken", "traits": { - "smithy.api#documentation": "

For requests to retrieve the next page of member account results, the pagination token\n that was returned with the previous page of results. The initial request does not include a\n pagination token.

" + "smithy.api#documentation": "

List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged.

\n

Each pagination token expires after 24 hours. Using an expired pagination token will return a Validation Exception error.

" } }, "MaxResults": { - "target": "com.amazonaws.detective#MemberResultsLimit", + "target": "com.amazonaws.detective#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of member accounts to include in the response. The total must be less\n than the overall limit on the number of results to return, which is currently 200.

" + "smithy.api#documentation": "

List the maximum number of investigations in a page.

" + } + }, + "FilterCriteria": { + "target": "com.amazonaws.detective#FilterCriteria", + "traits": { + "smithy.api#documentation": "

Filter the investigation results based on a criteria.

" + } + }, + "SortCriteria": { + "target": "com.amazonaws.detective#SortCriteria", + "traits": { + "smithy.api#documentation": "

Sorts the investigation results based on a criteria.

" } } }, @@ -2489,19 +3078,19 @@ "smithy.api#input": {} } }, - "com.amazonaws.detective#ListMembersResponse": { + "com.amazonaws.detective#ListInvestigationsResponse": { "type": "structure", "members": { - "MemberDetails": { - "target": "com.amazonaws.detective#MemberDetailList", + "InvestigationDetails": { + "target": "com.amazonaws.detective#InvestigationDetails", "traits": { - "smithy.api#documentation": "

The list of member accounts in the behavior graph.

\n

For invited accounts, the results include member accounts that did not pass verification\n and member accounts that have not yet accepted the invitation to the behavior graph. The\n results do not include member accounts that were removed from the behavior graph.

\n

For the organization behavior graph, the results do not include organization accounts\n that the Detective administrator account has not enabled as member\n accounts.

" + "smithy.api#documentation": "

Investigations details lists the summary of uncommon behavior or malicious activity which indicates a compromise.

" } }, "NextToken": { - "target": "com.amazonaws.detective#PaginationToken", + "target": "com.amazonaws.detective#AiPaginationToken", "traits": { - "smithy.api#documentation": "

If there are more member accounts remaining in the results, then use this pagination\n token to request the next page of member accounts.

" + "smithy.api#documentation": "

List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged.

\n

Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } }, @@ -2509,13 +3098,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.detective#ListOrganizationAdminAccounts": { + "com.amazonaws.detective#ListInvitations": { "type": "operation", "input": { - "target": "com.amazonaws.detective#ListOrganizationAdminAccountsRequest" + "target": "com.amazonaws.detective#ListInvitationsRequest" }, "output": { - "target": "com.amazonaws.detective#ListOrganizationAdminAccountsResponse" + "target": "com.amazonaws.detective#ListInvitationsResponse" }, "errors": [ { @@ -2524,18 +3113,15 @@ { "target": "com.amazonaws.detective#InternalServerException" }, - { - "target": "com.amazonaws.detective#TooManyRequestsException" - }, { "target": "com.amazonaws.detective#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Returns information about the Detective administrator account for an\n organization. Can only be called by the organization management account.

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

Retrieves the list of open and accepted behavior graph invitations for the member\n account. This operation can only be called by an invited member account.

\n

Open invitations are invitations that the member account has not responded to.

\n

The results do not include behavior graphs for which the member account declined the\n invitation. The results also do not include behavior graphs that the member account\n resigned from or was removed from.

", "smithy.api#http": { "method": "POST", - "uri": "/orgs/adminAccountslist", + "uri": "/invitations/list", "code": 200 }, "smithy.api#paginated": { @@ -2545,19 +3131,19 @@ } } }, - "com.amazonaws.detective#ListOrganizationAdminAccountsRequest": { + "com.amazonaws.detective#ListInvitationsRequest": { "type": "structure", "members": { "NextToken": { "target": "com.amazonaws.detective#PaginationToken", "traits": { - "smithy.api#documentation": "

For requests to get the next page of results, the pagination token that was returned\n with the previous set of results. The initial request does not include a pagination\n token.

" + "smithy.api#documentation": "

For requests to retrieve the next page of results, the pagination token that was\n returned with the previous page of results. The initial request does not include a\n pagination token.

" } }, "MaxResults": { "target": "com.amazonaws.detective#MemberResultsLimit", "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

" + "smithy.api#documentation": "

The maximum number of behavior graph invitations to return in the response. The total\n must be less than the overall limit on the number of results to return, which is currently\n 200.

" } } }, @@ -2565,11 +3151,170 @@ "smithy.api#input": {} } }, - "com.amazonaws.detective#ListOrganizationAdminAccountsResponse": { + "com.amazonaws.detective#ListInvitationsResponse": { "type": "structure", "members": { - "Administrators": { - "target": "com.amazonaws.detective#AdministratorList", + "Invitations": { + "target": "com.amazonaws.detective#MemberDetailList", + "traits": { + "smithy.api#documentation": "

The list of behavior graphs for which the member account has open or accepted\n invitations.

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

If there are more behavior graphs remaining in the results, then this is the pagination\n token to use to request the next page of behavior graphs.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.detective#ListMembers": { + "type": "operation", + "input": { + "target": "com.amazonaws.detective#ListMembersRequest" + }, + "output": { + "target": "com.amazonaws.detective#ListMembersResponse" + }, + "errors": [ + { + "target": "com.amazonaws.detective#AccessDeniedException" + }, + { + "target": "com.amazonaws.detective#InternalServerException" + }, + { + "target": "com.amazonaws.detective#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.detective#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the list of member accounts for a behavior graph.

\n

For invited accounts, the results do not include member accounts that were removed from\n the behavior graph.

\n

For the organization behavior graph, the results do not include organization accounts\n that the Detective administrator account has not enabled as member\n accounts.

", + "smithy.api#http": { + "method": "POST", + "uri": "/graph/members/list", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.detective#ListMembersRequest": { + "type": "structure", + "members": { + "GraphArn": { + "target": "com.amazonaws.detective#GraphArn", + "traits": { + "smithy.api#documentation": "

The ARN of the behavior graph for which to retrieve the list of member accounts.

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

For requests to retrieve the next page of member account results, the pagination token\n that was returned with the previous page of results. The initial request does not include a\n pagination token.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.detective#MemberResultsLimit", + "traits": { + "smithy.api#documentation": "

The maximum number of member accounts to include in the response. The total must be less\n than the overall limit on the number of results to return, which is currently 200.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.detective#ListMembersResponse": { + "type": "structure", + "members": { + "MemberDetails": { + "target": "com.amazonaws.detective#MemberDetailList", + "traits": { + "smithy.api#documentation": "

The list of member accounts in the behavior graph.

\n

For invited accounts, the results include member accounts that did not pass verification\n and member accounts that have not yet accepted the invitation to the behavior graph. The\n results do not include member accounts that were removed from the behavior graph.

\n

For the organization behavior graph, the results do not include organization accounts\n that the Detective administrator account has not enabled as member\n accounts.

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

If there are more member accounts remaining in the results, then use this pagination\n token to request the next page of member accounts.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.detective#ListOrganizationAdminAccounts": { + "type": "operation", + "input": { + "target": "com.amazonaws.detective#ListOrganizationAdminAccountsRequest" + }, + "output": { + "target": "com.amazonaws.detective#ListOrganizationAdminAccountsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.detective#AccessDeniedException" + }, + { + "target": "com.amazonaws.detective#InternalServerException" + }, + { + "target": "com.amazonaws.detective#TooManyRequestsException" + }, + { + "target": "com.amazonaws.detective#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns information about the Detective administrator account for an\n organization. Can only be called by the organization management account.

", + "smithy.api#http": { + "method": "POST", + "uri": "/orgs/adminAccountslist", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.detective#ListOrganizationAdminAccountsRequest": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.detective#PaginationToken", + "traits": { + "smithy.api#documentation": "

For requests to get the next page of results, the pagination token that was returned\n with the previous set of results. The initial request does not include a pagination\n token.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.detective#MemberResultsLimit", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.detective#ListOrganizationAdminAccountsResponse": { + "type": "structure", + "members": { + "Administrators": { + "target": "com.amazonaws.detective#AdministratorList", "traits": { "smithy.api#documentation": "

The list of Detective administrator accounts.

" } @@ -2646,6 +3391,18 @@ "smithy.api#output": {} } }, + "com.amazonaws.detective#Location": { + "type": "string" + }, + "com.amazonaws.detective#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.detective#MemberDetail": { "type": "structure", "members": { @@ -2797,126 +3554,444 @@ } } }, - "com.amazonaws.detective#MemberStatus": { + "com.amazonaws.detective#MemberStatus": { + "type": "enum", + "members": { + "INVITED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVITED" + } + }, + "VERIFICATION_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VERIFICATION_IN_PROGRESS" + } + }, + "VERIFICATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VERIFICATION_FAILED" + } + }, + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "ACCEPTED_BUT_DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACCEPTED_BUT_DISABLED" + } + } + } + }, + "com.amazonaws.detective#MembershipDatasources": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.detective#AccountId", + "traits": { + "smithy.api#documentation": "

The account identifier of the Amazon Web Services account.

" + } + }, + "GraphArn": { + "target": "com.amazonaws.detective#GraphArn", + "traits": { + "smithy.api#documentation": "

The ARN of the organization behavior graph.

" + } + }, + "DatasourcePackageIngestHistory": { + "target": "com.amazonaws.detective#DatasourcePackageIngestHistory", + "traits": { + "smithy.api#documentation": "

Details on when a data source package was added to a behavior graph.

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

Details on data source packages for members of the behavior graph.

" + } + }, + "com.amazonaws.detective#MembershipDatasourcesList": { + "type": "list", + "member": { + "target": "com.amazonaws.detective#MembershipDatasources" + } + }, + "com.amazonaws.detective#NewAsoDetail": { + "type": "structure", + "members": { + "Aso": { + "target": "com.amazonaws.detective#Aso", + "traits": { + "smithy.api#documentation": "

Details about the new Autonomous System Organization (ASO).

" + } + }, + "IsNewForEntireAccount": { + "target": "com.amazonaws.detective#IsNewForEntireAccount", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Checks if the ASO is for new for the entire account.

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

Details new Autonomous System Organizations (ASOs) used either at the resource or account level.

" + } + }, + "com.amazonaws.detective#NewGeolocationDetail": { + "type": "structure", + "members": { + "Location": { + "target": "com.amazonaws.detective#Location", + "traits": { + "smithy.api#documentation": "

Location where the resource was accessed.

" + } + }, + "IpAddress": { + "target": "com.amazonaws.detective#IpAddress", + "traits": { + "smithy.api#documentation": "

IP address using which the resource was accessed.

" + } + }, + "IsNewForEntireAccount": { + "target": "com.amazonaws.detective#IsNewForEntireAccount", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Checks if the gelocation is new for the entire account.

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

Details new geolocations used either at the resource or account level. For example, lists an observed geolocation that is an infrequent or unused location based on previous user activity.

" + } + }, + "com.amazonaws.detective#NewUserAgentDetail": { + "type": "structure", + "members": { + "UserAgent": { + "target": "com.amazonaws.detective#UserAgent", + "traits": { + "smithy.api#documentation": "

New user agent which accessed the resource.

" + } + }, + "IsNewForEntireAccount": { + "target": "com.amazonaws.detective#IsNewForEntireAccount", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Checks if the user agent is new for the entire account.

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

Details new user agents used either at the resource or account level.

" + } + }, + "com.amazonaws.detective#PaginationToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, + "com.amazonaws.detective#Percentage": { + "type": "double" + }, + "com.amazonaws.detective#Procedure": { + "type": "string" + }, + "com.amazonaws.detective#Reason": { + "type": "enum", + "members": { + "AWS_THREAT_INTELLIGENCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_THREAT_INTELLIGENCE" + } + } + } + }, + "com.amazonaws.detective#RejectInvitation": { + "type": "operation", + "input": { + "target": "com.amazonaws.detective#RejectInvitationRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.detective#AccessDeniedException" + }, + { + "target": "com.amazonaws.detective#ConflictException" + }, + { + "target": "com.amazonaws.detective#InternalServerException" + }, + { + "target": "com.amazonaws.detective#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.detective#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Rejects an invitation to contribute the account data to a behavior graph. This operation\n must be called by an invited member account that has the INVITED\n status.

\n

\n RejectInvitation cannot be called by an organization account in the\n organization behavior graph. In the organization behavior graph, organization accounts do\n not receive an invitation.

", + "smithy.api#http": { + "method": "POST", + "uri": "/invitation/removal", + "code": 200 + } + } + }, + "com.amazonaws.detective#RejectInvitationRequest": { + "type": "structure", + "members": { + "GraphArn": { + "target": "com.amazonaws.detective#GraphArn", + "traits": { + "smithy.api#documentation": "

The ARN of the behavior graph to reject the invitation to.

\n

The member account's current member status in the behavior graph must be\n INVITED.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.detective#RelatedFindingDetail": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.detective#EntityArn", + "traits": { + "smithy.api#documentation": "

The ARN of the related finding.

" + } + }, + "Type": { + "target": "com.amazonaws.detective#Type", + "traits": { + "smithy.api#documentation": "

The type of finding.

" + } + }, + "IpAddress": { + "target": "com.amazonaws.detective#IpAddress", + "traits": { + "smithy.api#documentation": "

The IP address of the finding.

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

Details related activities associated with a potential security event. Lists all distinct categories of evidence that are connected to the resource or the finding group.

" + } + }, + "com.amazonaws.detective#RelatedFindingGroupDetail": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.detective#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier for the finding group.

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

Details multiple activities as they related to a potential security event. Detective uses graph analysis technique that infers relationships between findings and entities, and groups them together as a finding group.

" + } + }, + "com.amazonaws.detective#Resource": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + } + } + }, + "com.amazonaws.detective#ResourceList": { + "type": "list", + "member": { + "target": "com.amazonaws.detective#Resource" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.detective#ResourceNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.detective#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

The request refers to a nonexistent resource.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.detective#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.detective#ErrorMessage" + }, + "Resources": { + "target": "com.amazonaws.detective#ResourceList", + "traits": { + "smithy.api#documentation": "

The type of resource that has exceeded the service quota.

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

This request cannot be completed for one of the following reasons.

\n ", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.detective#Severity": { "type": "enum", "members": { - "INVITED": { + "INFORMATIONAL": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "INVITED" + "smithy.api#enumValue": "INFORMATIONAL" } }, - "VERIFICATION_IN_PROGRESS": { + "LOW": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "VERIFICATION_IN_PROGRESS" + "smithy.api#enumValue": "LOW" } }, - "VERIFICATION_FAILED": { + "MEDIUM": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "VERIFICATION_FAILED" + "smithy.api#enumValue": "MEDIUM" } }, - "ENABLED": { + "HIGH": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ENABLED" + "smithy.api#enumValue": "HIGH" } }, - "ACCEPTED_BUT_DISABLED": { + "CRITICAL": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ACCEPTED_BUT_DISABLED" + "smithy.api#enumValue": "CRITICAL" } } } }, - "com.amazonaws.detective#MembershipDatasources": { + "com.amazonaws.detective#SortCriteria": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.detective#AccountId", + "Field": { + "target": "com.amazonaws.detective#Field", "traits": { - "smithy.api#documentation": "

The account identifier of the Amazon Web Services account.

" - } - }, - "GraphArn": { - "target": "com.amazonaws.detective#GraphArn", - "traits": { - "smithy.api#documentation": "

The ARN of the organization behavior graph.

" + "smithy.api#documentation": "

Represents the Field attribute to sort investigations.

" } }, - "DatasourcePackageIngestHistory": { - "target": "com.amazonaws.detective#DatasourcePackageIngestHistory", + "SortOrder": { + "target": "com.amazonaws.detective#SortOrder", "traits": { - "smithy.api#documentation": "

Details on when a data source package was added to a behavior graph.

" + "smithy.api#documentation": "

The order by which the sorted findings are displayed.

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

Details on data source packages for members of the behavior graph.

" - } - }, - "com.amazonaws.detective#MembershipDatasourcesList": { - "type": "list", - "member": { - "target": "com.amazonaws.detective#MembershipDatasources" + "smithy.api#documentation": "

Details about the criteria used for sorting investigations.

" } }, - "com.amazonaws.detective#PaginationToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 + "com.amazonaws.detective#SortOrder": { + "type": "enum", + "members": { + "ASC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ASC" + } + }, + "DESC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DESC" + } } } }, - "com.amazonaws.detective#Percentage": { - "type": "double" - }, - "com.amazonaws.detective#RejectInvitation": { + "com.amazonaws.detective#StartInvestigation": { "type": "operation", "input": { - "target": "com.amazonaws.detective#RejectInvitationRequest" + "target": "com.amazonaws.detective#StartInvestigationRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.detective#StartInvestigationResponse" }, "errors": [ { "target": "com.amazonaws.detective#AccessDeniedException" }, - { - "target": "com.amazonaws.detective#ConflictException" - }, { "target": "com.amazonaws.detective#InternalServerException" }, { "target": "com.amazonaws.detective#ResourceNotFoundException" }, + { + "target": "com.amazonaws.detective#TooManyRequestsException" + }, { "target": "com.amazonaws.detective#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Rejects an invitation to contribute the account data to a behavior graph. This operation\n must be called by an invited member account that has the INVITED\n status.

\n

\n RejectInvitation cannot be called by an organization account in the\n organization behavior graph. In the organization behavior graph, organization accounts do\n not receive an invitation.

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

initiate an investigation on an entity in a graph

", "smithy.api#http": { "method": "POST", - "uri": "/invitation/removal", + "uri": "/investigations/startInvestigation", "code": 200 } } }, - "com.amazonaws.detective#RejectInvitationRequest": { + "com.amazonaws.detective#StartInvestigationRequest": { "type": "structure", "members": { "GraphArn": { "target": "com.amazonaws.detective#GraphArn", "traits": { - "smithy.api#documentation": "

The ARN of the behavior graph to reject the invitation to.

\n

The member account's current member status in the behavior graph must be\n INVITED.

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

The ARN of the behavior graph.

", + "smithy.api#required": {} + } + }, + "EntityArn": { + "target": "com.amazonaws.detective#EntityArn", + "traits": { + "smithy.api#documentation": "

The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

", + "smithy.api#required": {} + } + }, + "ScopeStartTime": { + "target": "com.amazonaws.detective#Timestamp", + "traits": { + "smithy.api#documentation": "

The data and time when the investigation began. The value is an UTC ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

", + "smithy.api#required": {} + } + }, + "ScopeEndTime": { + "target": "com.amazonaws.detective#Timestamp", + "traits": { + "smithy.api#documentation": "

The data and time when the investigation began. The value is an UTC ISO8601 formatted\n string. For example, 2021-08-18T16:35:56.284Z.

", "smithy.api#required": {} } } @@ -2925,57 +4000,18 @@ "smithy.api#input": {} } }, - "com.amazonaws.detective#Resource": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 64 - } - } - }, - "com.amazonaws.detective#ResourceList": { - "type": "list", - "member": { - "target": "com.amazonaws.detective#Resource" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 50 - } - } - }, - "com.amazonaws.detective#ResourceNotFoundException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.detective#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

The request refers to a nonexistent resource.

", - "smithy.api#error": "client", - "smithy.api#httpError": 404 - } - }, - "com.amazonaws.detective#ServiceQuotaExceededException": { + "com.amazonaws.detective#StartInvestigationResponse": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.detective#ErrorMessage" - }, - "Resources": { - "target": "com.amazonaws.detective#ResourceList", + "InvestigationId": { + "target": "com.amazonaws.detective#InvestigationId", "traits": { - "smithy.api#documentation": "

The type of resource that has exceeded the service quota.

" + "smithy.api#documentation": "

The investigation ID of the investigation report.

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

This request cannot be completed for one of the following reasons.

\n ", - "smithy.api#error": "client", - "smithy.api#httpError": 402 + "smithy.api#output": {} } }, "com.amazonaws.detective#StartMonitoringMember": { @@ -3037,6 +4073,116 @@ "smithy.api#input": {} } }, + "com.amazonaws.detective#State": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "ARCHIVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ARCHIVED" + } + } + } + }, + "com.amazonaws.detective#Status": { + "type": "enum", + "members": { + "RUNNING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RUNNING" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "SUCCESSFUL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUCCESSFUL" + } + } + } + }, + "com.amazonaws.detective#StringFilter": { + "type": "structure", + "members": { + "Value": { + "target": "com.amazonaws.detective#Value", + "traits": { + "smithy.api#documentation": "

The string filter value.

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

A string for filtering Detective investigations.

" + } + }, + "com.amazonaws.detective#TTPsObservedDetail": { + "type": "structure", + "members": { + "Tactic": { + "target": "com.amazonaws.detective#Tactic", + "traits": { + "smithy.api#documentation": "

The tactic used, identified by the investigation.

" + } + }, + "Technique": { + "target": "com.amazonaws.detective#Technique", + "traits": { + "smithy.api#documentation": "

The technique used, identified by the investigation.

" + } + }, + "Procedure": { + "target": "com.amazonaws.detective#Procedure", + "traits": { + "smithy.api#documentation": "

The procedure used, identified by the investigation.

" + } + }, + "IpAddress": { + "target": "com.amazonaws.detective#IpAddress", + "traits": { + "smithy.api#documentation": "

The IP address where the TTP was observed.

" + } + }, + "APIName": { + "target": "com.amazonaws.detective#APIName", + "traits": { + "smithy.api#documentation": "

The name of the API where the TTP was observed.

" + } + }, + "APISuccessCount": { + "target": "com.amazonaws.detective#APISuccessCount", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The total number of successful API requests.

" + } + }, + "APIFailureCount": { + "target": "com.amazonaws.detective#APIFailureCount", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The total number of failed API requests.

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

Details tactics, techniques, and procedures (TTPs) used in a potential security event. Tactics are based on MITRE ATT&CK Matrix for\n Enterprise.

" + } + }, + "com.amazonaws.detective#Tactic": { + "type": "string" + }, "com.amazonaws.detective#TagKey": { "type": "string", "traits": { @@ -3144,6 +4290,9 @@ } } }, + "com.amazonaws.detective#Technique": { + "type": "string" + }, "com.amazonaws.detective#Timestamp": { "type": "timestamp", "traits": { @@ -3177,6 +4326,9 @@ "smithy.api#httpError": 429 } }, + "com.amazonaws.detective#Type": { + "type": "string" + }, "com.amazonaws.detective#UnprocessedAccount": { "type": "structure", "members": { @@ -3350,6 +4502,69 @@ "smithy.api#input": {} } }, + "com.amazonaws.detective#UpdateInvestigationState": { + "type": "operation", + "input": { + "target": "com.amazonaws.detective#UpdateInvestigationStateRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.detective#AccessDeniedException" + }, + { + "target": "com.amazonaws.detective#InternalServerException" + }, + { + "target": "com.amazonaws.detective#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.detective#TooManyRequestsException" + }, + { + "target": "com.amazonaws.detective#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Update the state of an investigation.

", + "smithy.api#http": { + "method": "POST", + "uri": "/investigations/updateInvestigationState", + "code": 200 + } + } + }, + "com.amazonaws.detective#UpdateInvestigationStateRequest": { + "type": "structure", + "members": { + "GraphArn": { + "target": "com.amazonaws.detective#GraphArn", + "traits": { + "smithy.api#documentation": "

The ARN of the behavior graph.

", + "smithy.api#required": {} + } + }, + "InvestigationId": { + "target": "com.amazonaws.detective#InvestigationId", + "traits": { + "smithy.api#documentation": "

The investigation ID of the investigation report.

", + "smithy.api#required": {} + } + }, + "State": { + "target": "com.amazonaws.detective#State", + "traits": { + "smithy.api#documentation": "

The current state of the investigation. An archived investigation indicates you have completed reviewing the investigation.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.detective#UpdateOrganizationConfiguration": { "type": "operation", "input": { @@ -3403,6 +4618,9 @@ "smithy.api#input": {} } }, + "com.amazonaws.detective#UserAgent": { + "type": "string" + }, "com.amazonaws.detective#ValidationException": { "type": "structure", "members": { @@ -3428,6 +4646,15 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.detective#Value": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 500 + } + } + }, "com.amazonaws.detective#VolumeUsageByDatasourcePackage": { "type": "map", "key": { diff --git a/codegen/sdk-codegen/aws-models/ecs.json b/codegen/sdk-codegen/aws-models/ecs.json index 6bab9924723..9bdd42c52f1 100644 --- a/codegen/sdk-codegen/aws-models/ecs.json +++ b/codegen/sdk-codegen/aws-models/ecs.json @@ -267,7 +267,7 @@ "name": "ecs" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Amazon Elastic Container Service\n

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes\n\t\t\tit easy to run, stop, and manage Docker containers. You can host your cluster on a\n\t\t\tserverless infrastructure that's managed by Amazon ECS by launching your services or tasks on\n\t\t\tFargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2)\n\t\t\tor External (on-premises) instances that you manage.

\n

Amazon ECS makes it easy to launch and stop container-based applications with simple API\n\t\t\tcalls. This makes it easy to get the state of your cluster from a centralized service,\n\t\t\tand gives you access to many familiar Amazon EC2 features.

\n

You can use Amazon ECS to schedule the placement of containers across your cluster based on\n\t\t\tyour resource needs, isolation policies, and availability requirements. With Amazon ECS, you\n\t\t\tdon't need to operate your own cluster management and configuration management systems.\n\t\t\tYou also don't need to worry about scaling your management infrastructure.

", + "smithy.api#documentation": "Amazon Elastic Container Service\n

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes\n\t\t\tit easy to run, stop, and manage Docker containers. You can host your cluster on a\n\t\t\tserverless infrastructure that's managed by Amazon ECS by launching your services or tasks on\n\t\t\tFargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2)\n\t\t\tor External (on-premises) instances that you manage.

\n

Amazon ECS makes it easy to launch and stop container-based applications with simple API\n\t\t\tcalls. This makes it easy to get the state of your cluster from a centralized service,\n\t\t\tand gives you access to many familiar Amazon EC2 features.

\n

You can use Amazon ECS to schedule the placement of containers across your cluster based on\n\t\t\tyour resource needs, isolation policies, and availability requirements. With Amazon ECS, you\n\t\t\tdon't need to operate your own cluster management and configuration management systems.\n\t\t\tYou also don't need to worry about scaling your management infrastructure.

", "smithy.api#title": "Amazon EC2 Container Service", "smithy.api#xmlNamespace": { "uri": "http://ecs.amazonaws.com/doc/2014-11-13/" @@ -8336,7 +8336,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies an account setting. Account settings are set on a per-Region basis.

\n

If you change the root user account setting, the default settings are reset for users\n\t\t\tand roles that do not have specified individual account settings. For more information,\n\t\t\tsee Account\n\t\t\t\tSettings in the Amazon Elastic Container Service Developer Guide.

\n

When you specify serviceLongArnFormat, taskLongArnFormat, or\n\t\t\t\tcontainerInstanceLongArnFormat, the Amazon Resource Name (ARN) and\n\t\t\tresource ID format of the resource type for a specified user, role, or the root user for an\n\t\t\taccount is affected. The opt-in and opt-out account setting must be set for each Amazon ECS\n\t\t\tresource separately. The ARN and resource ID format of a resource is defined by the\n\t\t\topt-in status of the user or role that created the resource. You must turn on this\n\t\t\tsetting to use Amazon ECS features such as resource tagging.

\n

When you specify awsvpcTrunking, the elastic network interface (ENI) limit for\n\t\t\tany new container instances that support the feature is changed. If\n\t\t\t\tawsvpcTrunking is turned on, any new container instances that support\n\t\t\tthe feature are launched have the increased ENI limits available to them. For more\n\t\t\tinformation, see Elastic Network\n\t\t\t\tInterface Trunking in the Amazon Elastic Container Service Developer Guide.

\n

When you specify containerInsights, the default setting indicating whether\n\t\t\tAmazon Web Services CloudWatch Container Insights is turned on for your clusters is changed. If\n\t\t\t\tcontainerInsights is turned on, any new clusters that are created will\n\t\t\thave Container Insights turned on unless you disable it during cluster creation. For\n\t\t\tmore information, see CloudWatch\n\t\t\t\tContainer Insights in the Amazon Elastic Container Service Developer Guide.

\n

Amazon ECS is introducing tagging authorization for resource creation. Users must have\n\t\t\tpermissions for actions that create the resource, such as ecsCreateCluster.\n\t\t\tIf tags are specified when you create a resource, Amazon Web Services performs additional\n\t\t\tauthorization to verify if users or roles have permissions to create tags. Therefore,\n\t\t\tyou must grant explicit permissions to use the ecs:TagResource action. For\n\t\t\tmore information, see Grant\n\t\t\t\tpermission to tag resources on creation in the Amazon ECS Developer\n\t\t\t\t\tGuide.

\n

When Amazon Web Services determines that a security or infrastructure update is needed for an Amazon ECS\n\t\t\ttask hosted on Fargate, the tasks need to be stopped and new tasks launched to replace\n\t\t\tthem. Use fargateTaskRetirementWaitPeriod to configure the wait time to\n\t\t\tretire a Fargate task. For information about the Fargate tasks maintenance, see Amazon Web Services Fargate task maintenance in the Amazon ECS Developer\n\t\t\t\t\tGuide.

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

Modifies an account setting. Account settings are set on a per-Region basis.

\n

If you change the root user account setting, the default settings are reset for users\n\t\t\tand roles that do not have specified individual account settings. For more information,\n\t\t\tsee Account\n\t\t\t\tSettings in the Amazon Elastic Container Service Developer Guide.

\n

When you specify serviceLongArnFormat, taskLongArnFormat, or\n\t\t\t\tcontainerInstanceLongArnFormat, the Amazon Resource Name (ARN) and\n\t\t\tresource ID format of the resource type for a specified user, role, or the root user for an\n\t\t\taccount is affected. The opt-in and opt-out account setting must be set for each Amazon ECS\n\t\t\tresource separately. The ARN and resource ID format of a resource is defined by the\n\t\t\topt-in status of the user or role that created the resource. You must turn on this\n\t\t\tsetting to use Amazon ECS features such as resource tagging.

\n

When you specify awsvpcTrunking, the elastic network interface (ENI) limit for\n\t\t\tany new container instances that support the feature is changed. If\n\t\t\t\tawsvpcTrunking is turned on, any new container instances that support\n\t\t\tthe feature are launched have the increased ENI limits available to them. For more\n\t\t\tinformation, see Elastic Network\n\t\t\t\tInterface Trunking in the Amazon Elastic Container Service Developer Guide.

\n

When you specify containerInsights, the default setting indicating whether\n\t\t\tAmazon Web Services CloudWatch Container Insights is turned on for your clusters is changed. If\n\t\t\t\tcontainerInsights is turned on, any new clusters that are created will\n\t\t\thave Container Insights turned on unless you disable it during cluster creation. For\n\t\t\tmore information, see CloudWatch\n\t\t\t\tContainer Insights in the Amazon Elastic Container Service Developer Guide.

\n

Amazon ECS is introducing tagging authorization for resource creation. Users must have\n\t\t\tpermissions for actions that create the resource, such as ecsCreateCluster.\n\t\t\tIf tags are specified when you create a resource, Amazon Web Services performs additional\n\t\t\tauthorization to verify if users or roles have permissions to create tags. Therefore,\n\t\t\tyou must grant explicit permissions to use the ecs:TagResource action. For\n\t\t\tmore information, see Grant\n\t\t\t\tpermission to tag resources on creation in the Amazon ECS Developer\n\t\t\t\t\tGuide.

\n

When Amazon Web Services determines that a security or infrastructure update is needed for an Amazon ECS\n\t\t\ttask hosted on Fargate, the tasks need to be stopped and new tasks launched to replace\n\t\t\tthem. Use fargateTaskRetirementWaitPeriod to configure the wait time to\n\t\t\tretire a Fargate task. For information about the Fargate tasks maintenance, see Amazon Web Services Fargate task maintenance in the Amazon ECS Developer\n\t\t\t\t\tGuide.

\n

The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether\n\t\t\tAmazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your\n\t\t\tAmazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

", "smithy.api#examples": [ { "title": "To modify your account settings", @@ -8402,7 +8402,7 @@ "name": { "target": "com.amazonaws.ecs#SettingName", "traits": { - "smithy.api#documentation": "

The resource name for which to modify the account setting. If you specify\n\t\t\t\tserviceLongArnFormat, the ARN for your Amazon ECS services is affected. If\n\t\t\tyou specify taskLongArnFormat, the ARN and resource ID for your Amazon ECS\n\t\t\ttasks is affected. If you specify containerInstanceLongArnFormat, the ARN\n\t\t\tand resource ID for your Amazon ECS container instances is affected. If you specify\n\t\t\t\tawsvpcTrunking, the ENI limit for your Amazon ECS container instances is\n\t\t\taffected. If you specify containerInsights, the default setting for Amazon Web Services\n\t\t\tCloudWatch Container Insights for your clusters is affected. If you specify\n\t\t\t\ttagResourceAuthorization, the opt-in option for tagging resources on\n\t\t\tcreation is affected. For information about the opt-in timeline, see Tagging authorization timeline in the Amazon ECS Developer\n\t\t\t\tGuide. If you specify fargateTaskRetirementWaitPeriod, the\n\t\t\tdefault wait time to retire a Fargate task due to required maintenance is\n\t\t\taffected.

\n

When you specify fargateFIPSMode for the name and\n\t\t\tenabled for the value, Fargate uses FIPS-140 compliant\n\t\t\tcryptographic algorithms on your tasks. For more information about FIPS-140 compliance\n\t\t\twith Fargate, see Amazon Web Services Fargate Federal Information Processing Standard (FIPS) 140-2\n\t\t\t\tcompliance in the Amazon Elastic Container Service Developer Guide.

\n

When Amazon Web Services determines that a security or infrastructure update is needed for an Amazon ECS task\n\t\t\thosted on Fargate, the tasks need to be stopped and new tasks launched to replace\n\t\t\tthem. Use fargateTaskRetirementWaitPeriod to set the wait time to retire a\n\t\t\tFargate task to the default. For information about the Fargate tasks maintenance,\n\t\t\tsee Amazon Web Services Fargate task\n\t\t\t\tmaintenance in the Amazon ECS Developer Guide.

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

The resource name for which to modify the account setting. If you specify\n\t\t\t\tserviceLongArnFormat, the ARN for your Amazon ECS services is affected. If\n\t\t\tyou specify taskLongArnFormat, the ARN and resource ID for your Amazon ECS\n\t\t\ttasks is affected. If you specify containerInstanceLongArnFormat, the ARN\n\t\t\tand resource ID for your Amazon ECS container instances is affected. If you specify\n\t\t\t\tawsvpcTrunking, the ENI limit for your Amazon ECS container instances is\n\t\t\taffected. If you specify containerInsights, the default setting for Amazon Web Services\n\t\t\tCloudWatch Container Insights for your clusters is affected. If you specify\n\t\t\t\ttagResourceAuthorization, the opt-in option for tagging resources on\n\t\t\tcreation is affected. For information about the opt-in timeline, see Tagging authorization timeline in the Amazon ECS Developer\n\t\t\t\tGuide. If you specify fargateTaskRetirementWaitPeriod, the\n\t\t\tdefault wait time to retire a Fargate task due to required maintenance is\n\t\t\taffected.

\n

When you specify fargateFIPSMode for the name and\n\t\t\tenabled for the value, Fargate uses FIPS-140 compliant\n\t\t\tcryptographic algorithms on your tasks. For more information about FIPS-140 compliance\n\t\t\twith Fargate, see Amazon Web Services Fargate Federal Information Processing Standard (FIPS) 140-2\n\t\t\t\tcompliance in the Amazon Elastic Container Service Developer Guide.

\n

When Amazon Web Services determines that a security or infrastructure update is needed for an Amazon ECS task\n\t\t\thosted on Fargate, the tasks need to be stopped and new tasks launched to replace\n\t\t\tthem. Use fargateTaskRetirementWaitPeriod to set the wait time to retire a\n\t\t\tFargate task to the default. For information about the Fargate tasks maintenance,\n\t\t\tsee Amazon Web Services Fargate task\n\t\t\t\tmaintenance in the Amazon ECS Developer Guide.

\n

The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether\n\t\t\tAmazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your\n\t\t\tAmazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

", "smithy.api#required": {} } }, @@ -8438,7 +8438,7 @@ "name": { "target": "com.amazonaws.ecs#SettingName", "traits": { - "smithy.api#documentation": "

The Amazon ECS resource name for which to modify the account setting. If you specify\n\t\t\t\tserviceLongArnFormat, the ARN for your Amazon ECS services is affected. If\n\t\t\tyou specify taskLongArnFormat, the ARN and resource ID for your Amazon ECS\n\t\t\ttasks is affected. If you specify containerInstanceLongArnFormat, the ARN\n\t\t\tand resource ID for your Amazon ECS container instances is affected. If you specify\n\t\t\t\tawsvpcTrunking, the elastic network interface (ENI) limit for your\n\t\t\tAmazon ECS container instances is affected. If you specify containerInsights,\n\t\t\tthe default setting for Amazon Web Services CloudWatch Container Insights for your clusters is affected. If\n\t\t\tyou specify fargateFIPSMode, Fargate FIPS 140 compliance is affected. If\n\t\t\tyou specify tagResourceAuthorization, the opt-in option for tagging\n\t\t\tresources on creation is affected. For information about the opt-in timeline, see Tagging authorization timeline in the Amazon ECS Developer\n\t\t\t\tGuide. If you specify fargateTaskRetirementWaitPeriod, the\n\t\t\twait time to retire a Fargate task is affected.

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

The Amazon ECS resource name for which to modify the account setting. If you specify\n\t\t\t\tserviceLongArnFormat, the ARN for your Amazon ECS services is affected. If\n\t\t\tyou specify taskLongArnFormat, the ARN and resource ID for your Amazon ECS\n\t\t\ttasks is affected. If you specify containerInstanceLongArnFormat, the ARN\n\t\t\tand resource ID for your Amazon ECS container instances is affected. If you specify\n\t\t\t\tawsvpcTrunking, the elastic network interface (ENI) limit for your\n\t\t\tAmazon ECS container instances is affected. If you specify containerInsights,\n\t\t\tthe default setting for Amazon Web Services CloudWatch Container Insights for your clusters is affected. If\n\t\t\tyou specify fargateFIPSMode, Fargate FIPS 140 compliance is affected. If\n\t\t\tyou specify tagResourceAuthorization, the opt-in option for tagging\n\t\t\tresources on creation is affected. For information about the opt-in timeline, see Tagging authorization timeline in the Amazon ECS Developer\n\t\t\t\tGuide. If you specify fargateTaskRetirementWaitPeriod, the\n\t\t\twait time to retire a Fargate task is affected.

\n

The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether\n\t\t\tAmazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your\n\t\t\tAmazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

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

The ARN of the principal. It can be a user, role, or the root user. If this\n\t\t\tfield is omitted, the authenticated user is assumed.

" } + }, + "type": { + "target": "com.amazonaws.ecs#SettingType", + "traits": { + "smithy.api#documentation": "

Indicates whether Amazon Web Services manages the account setting, or if the user manages it.

\n

\n aws_managed account settings are read-only, as Amazon Web Services manages such on the\n\t\t\tcustomer's behalf. Currently, the guardDutyActivate account setting is the\n\t\t\tonly one Amazon Web Services manages.

" + } } }, "traits": { @@ -9955,6 +9961,29 @@ "traits": { "smithy.api#enumValue": "fargateTaskRetirementWaitPeriod" } + }, + "GUARD_DUTY_ACTIVATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "guardDutyActivate" + } + } + } + }, + "com.amazonaws.ecs#SettingType": { + "type": "enum", + "members": { + "USER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "user" + } + }, + "AWS_MANAGED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "aws_managed" + } } } }, diff --git a/codegen/sdk-codegen/aws-models/efs.json b/codegen/sdk-codegen/aws-models/efs.json index c0afd3e01ec..513b4f8326a 100644 --- a/codegen/sdk-codegen/aws-models/efs.json +++ b/codegen/sdk-codegen/aws-models/efs.json @@ -112,7 +112,7 @@ "RootDirectory": { "target": "com.amazonaws.efs#RootDirectory", "traits": { - "smithy.api#documentation": "

The directory on the Amazon EFS file system that the access point exposes as the root directory to NFS clients using the access point.

" + "smithy.api#documentation": "

The directory on the EFS file system that the access point exposes as the root\n directory to NFS clients using the access point.

" } }, "OwnerId": { @@ -234,7 +234,7 @@ "Status": { "target": "com.amazonaws.efs#Status", "traits": { - "smithy.api#documentation": "

Describes the status of the file system's backup policy.

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

Describes the status of the file system's backup policy.

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

Creates an EFS access point. An access point is an application-specific view into an EFS\n file system that applies an operating system user and group, and a file system path, to any\n file system request made through the access point. The operating system user and group\n override any identity information provided by the NFS client. The file system path is exposed\n as the access point's root directory. Applications using the access point can only access data in\n the application's own directory and any subdirectories. To learn more, see Mounting a file system using EFS access\n points.

\n \n

If multiple requests to create access points on the same file system are sent in quick\n succession, and the file system is near the limit of 1,000 access points, you may experience\n a throttling response for these requests. This is to ensure that the file system does not\n exceed the stated access point limit.

\n
\n

This operation requires permissions for the elasticfilesystem:CreateAccessPoint action.

\n

Access points can be tagged on creation. If tags are specified in the creation action, IAM\n performs additional authorization on the elasticfilesystem:TagResource action to\n verify if users have permissions to create tags. Therefore, you must grant explicit\n permissions to use the elasticfilesystem:TagResource action. For more\n information, see Granting\n permissions to tag resources during creation.

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

Creates an EFS access point. An access point is an application-specific view\n into an EFS file system that applies an operating system user and group, and a file\n system path, to any file system request made through the access point. The operating system\n user and group override any identity information provided by the NFS client. The file system\n path is exposed as the access point's root directory. Applications using the access point can\n only access data in the application's own directory and any subdirectories. To learn more, see\n Mounting a file\n system using EFS access points.

\n \n

If multiple requests to create access points on the same file system are sent in quick\n succession, and the file system is near the limit of 1,000 access points, you may experience\n a throttling response for these requests. This is to ensure that the file system does not\n exceed the stated access point limit.

\n
\n

This operation requires permissions for the elasticfilesystem:CreateAccessPoint action.

\n

Access points can be tagged on creation. If tags are specified in the creation action, IAM\n performs additional authorization on the elasticfilesystem:TagResource action to\n verify if users have permissions to create tags. Therefore, you must grant explicit\n permissions to use the elasticfilesystem:TagResource action. For more\n information, see Granting\n permissions to tag resources during creation.

", "smithy.api#http": { "method": "POST", "uri": "/2015-02-01/access-points", @@ -362,7 +362,7 @@ "RootDirectory": { "target": "com.amazonaws.efs#RootDirectory", "traits": { - "smithy.api#documentation": "

Specifies the directory on the Amazon EFS file system that the access point\n exposes as the root directory of your file system to NFS clients using the access point. The\n clients using the access point can only access the root directory and below. If the\n RootDirectory > Path specified does not exist, EFS creates it\n and applies the CreationInfo settings when a client connects to an access point.\n When specifying a RootDirectory, you must provide the Path, and the\n CreationInfo.

\n

Amazon EFS creates a root directory only if you have provided the CreationInfo: OwnUid, OwnGID, and permissions for the directory. \n If you do not provide this information, Amazon EFS does not create the root directory. If the root directory does not exist, attempts to mount \n using the access point will fail.

" + "smithy.api#documentation": "

Specifies the directory on the EFS file system that the access point exposes as\n the root directory of your file system to NFS clients using the access point. The clients\n using the access point can only access the root directory and below. If the\n RootDirectory > Path specified does not exist, Amazon EFS creates it and applies the CreationInfo settings when a client connects to an\n access point. When specifying a RootDirectory, you must provide the\n Path, and the CreationInfo.

\n

Amazon EFS creates a root directory only if you have provided the CreationInfo: OwnUid, OwnGID, and permissions for the directory. \n If you do not provide this information, Amazon EFS does not create the root directory. If the root directory does not exist, attempts to mount \n using the access point will fail.

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

Creates a new, empty file system. The operation requires a creation token in the\n request that Amazon EFS uses to ensure idempotent creation (calling the operation with same\n creation token has no effect). If a file system does not currently exist that is owned by the\n caller's Amazon Web Services account with the specified creation token, this operation does the\n following:

\n \n

Otherwise, this operation returns a FileSystemAlreadyExists error with the\n ID of the existing file system.

\n \n

For basic use cases, you can use a randomly generated UUID for the creation\n token.

\n
\n

The idempotent operation allows you to retry a CreateFileSystem call without\n risk of creating an extra file system. This can happen when an initial call fails in a way\n that leaves it uncertain whether or not a file system was actually created. An example might\n be that a transport level timeout occurred or your connection was reset. As long as you use\n the same creation token, if the initial call had succeeded in creating a file system, the\n client can learn of its existence from the FileSystemAlreadyExists error.

\n

For more information, see \n Creating a file system\n in the Amazon EFS User Guide.

\n \n

The CreateFileSystem call returns while the file system's lifecycle\n state is still creating. You can check the file system creation status by\n calling the DescribeFileSystems operation, which among other things returns the file\n system state.

\n
\n

This operation accepts an optional PerformanceMode parameter that you\n choose for your file system. We recommend generalPurpose performance mode for\n most file systems. File systems using the maxIO performance mode can scale to\n higher levels of aggregate throughput and operations per second with a tradeoff of slightly\n higher latencies for most file operations. The performance mode can't be changed after\n the file system has been created. For more information, see Amazon EFS performance\n modes.

\n

You can set the throughput mode for the file system using the ThroughputMode parameter.

\n

After the file system is fully created, Amazon EFS sets its lifecycle state to\n available, at which point you can create one or more mount targets for the file\n system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in\n your VPC by using the mount target. For more information, see Amazon EFS: How it Works.

\n

This operation requires permissions for the\n elasticfilesystem:CreateFileSystem action.

\n

File systems can be tagged on creation. If tags are specified in the creation action, IAM\n performs additional authorization on the elasticfilesystem:TagResource action to\n verify if users have permissions to create tags. Therefore, you must grant explicit\n permissions to use the elasticfilesystem:TagResource action. For more\n information, see Granting permissions to tag resources during creation.

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

Creates a new, empty file system. The operation requires a creation token in the\n request that Amazon EFS uses to ensure idempotent creation (calling the operation with same\n creation token has no effect). If a file system does not currently exist that is owned by the\n caller's Amazon Web Services account with the specified creation token, this operation does the\n following:

\n \n

Otherwise, this operation returns a FileSystemAlreadyExists error with the\n ID of the existing file system.

\n \n

For basic use cases, you can use a randomly generated UUID for the creation\n token.

\n
\n

The idempotent operation allows you to retry a CreateFileSystem call without\n risk of creating an extra file system. This can happen when an initial call fails in a way\n that leaves it uncertain whether or not a file system was actually created. An example might\n be that a transport level timeout occurred or your connection was reset. As long as you use\n the same creation token, if the initial call had succeeded in creating a file system, the\n client can learn of its existence from the FileSystemAlreadyExists error.

\n

For more information, see \n Creating a file system\n in the Amazon EFS User Guide.

\n \n

The CreateFileSystem call returns while the file system's lifecycle\n state is still creating. You can check the file system creation status by\n calling the DescribeFileSystems operation, which among other things returns the file\n system state.

\n
\n

This operation accepts an optional PerformanceMode parameter that you choose\n for your file system. We recommend generalPurpose performance mode for all file\n systems. File systems using the maxIO mode is a previous generation performance type that is designed for highly parallelized workloads that can tolerate higher latencies\n than the General Purpose mode. Max I/O mode is not supported for One Zone file systems or\n file systems that use Elastic throughput.

\n \n

Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems.

\n
\n

The performance mode can't be changed after\n the file system has been created. For more information, see Amazon EFS performance\n modes.

\n

You can set the throughput mode for the file system using the ThroughputMode parameter.

\n

After the file system is fully created, Amazon EFS sets its lifecycle state to\n available, at which point you can create one or more mount targets for the file\n system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in\n your VPC by using the mount target. For more information, see Amazon EFS: How it Works.

\n

This operation requires permissions for the\n elasticfilesystem:CreateFileSystem action.

\n

File systems can be tagged on creation. If tags are specified in the creation action, IAM\n performs additional authorization on the elasticfilesystem:TagResource action to\n verify if users have permissions to create tags. Therefore, you must grant explicit\n permissions to use the elasticfilesystem:TagResource action. For more\n information, see Granting permissions to tag resources during creation.

", "smithy.api#http": { "method": "POST", "uri": "/2015-02-01/file-systems", @@ -424,7 +424,7 @@ "PerformanceMode": { "target": "com.amazonaws.efs#PerformanceMode", "traits": { - "smithy.api#documentation": "

The performance mode of the file system. We recommend generalPurpose\n performance mode for most file systems. File systems using the maxIO performance\n mode can scale to higher levels of aggregate throughput and operations per second with a\n tradeoff of slightly higher latencies for most file operations. The performance mode\n can't be changed after the file system has been created.

\n \n

The maxIO mode is not supported on file systems using One Zone storage classes.

\n
\n

Default is generalPurpose.

" + "smithy.api#documentation": "

The Performance mode of the file system. We recommend generalPurpose\n performance mode for all file systems. File systems using the maxIO performance\n mode can scale to higher levels of aggregate throughput and operations per second with a\n tradeoff of slightly higher latencies for most file operations. The performance mode\n can't be changed after the file system has been created. The maxIO mode is\n not supported on One Zone file systems.

\n \n

Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems.

\n
\n

Default is generalPurpose.

" } }, "Encrypted": { @@ -442,7 +442,7 @@ "ThroughputMode": { "target": "com.amazonaws.efs#ThroughputMode", "traits": { - "smithy.api#documentation": "

Specifies the throughput mode for the file system. The mode can be bursting,\n provisioned, or elastic. If you set ThroughputMode to\n provisioned, you must also set a value for\n ProvisionedThroughputInMibps. After you create the file system, you can\n decrease your file system's throughput in Provisioned Throughput mode or change between\n the throughput modes, with certain time restrictions. For more information, see Specifying\n throughput with provisioned mode in the Amazon EFS User\n Guide.

\n

Default is bursting.

" + "smithy.api#documentation": "

Specifies the throughput mode for the file system. The mode can be bursting,\n provisioned, or elastic. If you set ThroughputMode to\n provisioned, you must also set a value for\n ProvisionedThroughputInMibps. After you create the file system, you can\n decrease your file system's Provisioned throughput or change between the\n throughput modes, with certain time restrictions. For more information, see Specifying\n throughput with provisioned mode in the Amazon EFS User\n Guide.

\n

Default is bursting.

" } }, "ProvisionedThroughputInMibps": { @@ -454,13 +454,13 @@ "AvailabilityZoneName": { "target": "com.amazonaws.efs#AvailabilityZoneName", "traits": { - "smithy.api#documentation": "

Used to create a file system that uses One Zone storage classes. It specifies the Amazon Web Services\n Availability Zone in which to create the file system. Use the format us-east-1a\n to specify the Availability Zone. For\n more information about One Zone storage classes, see Using EFS storage classes in the Amazon EFS User Guide.

\n \n

One Zone storage classes are not available in all Availability Zones in Amazon Web Services Regions where\n Amazon EFS is available.

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

Used to create a One Zone file system. It specifies the Amazon Web Services\n Availability Zone in which to create the file system. Use the format us-east-1a to\n specify the Availability Zone. For more information about One Zone file systems, see\n Using EFS storage\n classes in the Amazon EFS User Guide.

\n \n

One Zone file systems are not available in all Availability Zones in Amazon Web Services Regions where Amazon EFS is available.

\n
" } }, "Backup": { "target": "com.amazonaws.efs#Backup", "traits": { - "smithy.api#documentation": "

Specifies whether automatic backups are enabled on the file system that you are creating.\n Set the value to true to enable automatic backups. If you are creating a file\n system that uses One Zone storage classes, automatic backups are enabled by default. For more\n information, see Automatic backups in the\n Amazon EFS User Guide.

\n

Default is false. However, if you specify an AvailabilityZoneName, \n the default is true.

\n \n

Backup is not available in all Amazon Web Services Regions where Amazon EFS is available.

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

Specifies whether automatic backups are enabled on the file system that you are creating.\n Set the value to true to enable automatic backups. If you are creating a\n One Zone file system, automatic backups are enabled by default. For more\n information, see Automatic backups in the\n Amazon EFS User Guide.

\n

Default is false. However, if you specify an AvailabilityZoneName, \n the default is true.

\n \n

Backup is not available in all Amazon Web Services Regions where Amazon EFS is available.

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

Creates a mount target for a file system. You can then mount the file system on EC2\n instances by using the mount target.

\n

You can create one mount target in each Availability Zone in your VPC. All EC2\n instances in a VPC within a given Availability Zone share a single mount target for a given\n file system. If you have multiple subnets in an Availability Zone, you create a mount target\n in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target\n in order to access their file system.

\n

You can create only one mount target for an EFS file system using One Zone storage\n classes. You must create that mount target in the same Availability Zone in which the file\n system is located. Use the AvailabilityZoneName and\n AvailabiltyZoneId properties in the DescribeFileSystems\n response object to get this information. Use the subnetId associated with the\n file system's Availability Zone when creating the mount target.

\n

For more information, see Amazon EFS: How it Works.

\n

To create a mount target for a file system, the file system's lifecycle state must be\n available. For more information, see DescribeFileSystems.

\n

In the request, provide the following:

\n \n

After creating the mount target, Amazon EFS returns a response that includes, a\n MountTargetId and an IpAddress. You use this IP address when\n mounting the file system in an EC2 instance. You can also use the mount target's DNS name\n when mounting the file system. The EC2 instance on which you mount the file system by using\n the mount target can resolve the mount target's DNS name to its IP address. For more\n information, see How it Works:\n Implementation Overview.

\n

Note that you can create mount targets for a file system in only one VPC, and there can\n be only one mount target per Availability Zone. That is, if the file system already has one or\n more mount targets created for it, the subnet specified in the request to add another mount\n target must meet the following requirements:

\n \n

If the request satisfies the requirements, Amazon EFS does the following:

\n \n \n

The CreateMountTarget call returns only after creating the network\n interface, but while the mount target state is still creating, you can check\n the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount\n target state.

\n
\n

We recommend that you create a mount target in each of the Availability Zones. There\n are cost considerations for using a file system in an Availability Zone through a mount target\n created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the\n instance's Availability Zone, you eliminate a partial failure scenario. If the\n Availability Zone in which your mount target is created goes down, then you can't access\n your file system through that mount target.

\n

This operation requires permissions for the following action on the file\n system:

\n \n

This operation also requires permissions for the following Amazon EC2\n actions:

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

Creates a mount target for a file system. You can then mount the file system on EC2\n instances by using the mount target.

\n

You can create one mount target in each Availability Zone in your VPC. All EC2\n instances in a VPC within a given Availability Zone share a single mount target for a given\n file system. If you have multiple subnets in an Availability Zone, you create a mount target\n in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target\n in order to access their file system.

\n

You can create only one mount target for a One Zone file system.\n You must create that mount target in the same Availability Zone in which the file system is\n located. Use the AvailabilityZoneName and AvailabiltyZoneId\n properties in the DescribeFileSystems response object to get this\n information. Use the subnetId associated with the file system's Availability Zone\n when creating the mount target.

\n

For more information, see Amazon EFS: How it Works.

\n

To create a mount target for a file system, the file system's lifecycle state must be\n available. For more information, see DescribeFileSystems.

\n

In the request, provide the following:

\n \n

After creating the mount target, Amazon EFS returns a response that includes, a\n MountTargetId and an IpAddress. You use this IP address when\n mounting the file system in an EC2 instance. You can also use the mount target's DNS name\n when mounting the file system. The EC2 instance on which you mount the file system by using\n the mount target can resolve the mount target's DNS name to its IP address. For more\n information, see How it Works:\n Implementation Overview.

\n

Note that you can create mount targets for a file system in only one VPC, and there can\n be only one mount target per Availability Zone. That is, if the file system already has one or\n more mount targets created for it, the subnet specified in the request to add another mount\n target must meet the following requirements:

\n \n

If the request satisfies the requirements, Amazon EFS does the following:

\n \n \n

The CreateMountTarget call returns only after creating the network\n interface, but while the mount target state is still creating, you can check\n the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount\n target state.

\n
\n

We recommend that you create a mount target in each of the Availability Zones. There\n are cost considerations for using a file system in an Availability Zone through a mount target\n created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the\n instance's Availability Zone, you eliminate a partial failure scenario. If the\n Availability Zone in which your mount target is created goes down, then you can't access\n your file system through that mount target.

\n

This operation requires permissions for the following action on the file\n system:

\n \n

This operation also requires permissions for the following Amazon EC2\n actions:

\n ", "smithy.api#examples": [ { "title": "To create a new mount target", @@ -564,7 +564,7 @@ "SubnetId": { "target": "com.amazonaws.efs#SubnetId", "traits": { - "smithy.api#documentation": "

The ID of the subnet to add the mount target in. For file systems that use One Zone storage classes, use the subnet \n that is associated with the file system's Availability Zone.

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

The ID of the subnet to add the mount target in. For One Zone file systems, use the\n subnet that is associated with the file system's Availability Zone.

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

Creates a replication configuration that replicates an existing EFS file system to a new,\n read-only file system. For more information, see Amazon EFS replication in the\n Amazon EFS User Guide. The replication configuration\n specifies the following:

\n \n

The following properties are set by default:

\n \n

The following properties are turned off by default:

\n \n

For more information, see Amazon EFS replication in the\n Amazon EFS User Guide.

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

Creates a replication configuration that replicates an existing EFS file system\n to a new, read-only file system. For more information, see Amazon EFS replication in the\n Amazon EFS User Guide. The replication configuration\n specifies the following:

\n \n

The following properties are set by default:

\n \n

The following properties are turned off by default:

\n \n

For more information, see Amazon EFS replication in the\n Amazon EFS User Guide.

", "smithy.api#http": { "method": "POST", "uri": "/2015-02-01/file-systems/{SourceFileSystemId}/replication-configuration", @@ -888,7 +888,7 @@ "FileSystemId": { "target": "com.amazonaws.efs#FileSystemId", "traits": { - "smithy.api#documentation": "

Specifies the EFS file system for which to delete the FileSystemPolicy.

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

Specifies the EFS file system for which to delete the\n FileSystemPolicy.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1128,7 +1128,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the description of a specific Amazon EFS access point if the AccessPointId is provided. \n If you provide an EFS FileSystemId, it returns descriptions of all access points for that file system. \n You can provide either an AccessPointId or a FileSystemId in the request, but not both.

\n

This operation requires permissions for the elasticfilesystem:DescribeAccessPoints action.

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

Returns the description of a specific Amazon EFS access point if the\n AccessPointId is provided. If you provide an EFS\n FileSystemId, it returns descriptions of all access points for that file\n system. You can provide either an AccessPointId or a FileSystemId in\n the request, but not both.

\n

This operation requires permissions for the elasticfilesystem:DescribeAccessPoints action.

", "smithy.api#http": { "method": "GET", "uri": "/2015-02-01/access-points", @@ -1137,6 +1137,7 @@ "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", + "items": "AccessPoints", "pageSize": "MaxResults" } } @@ -1161,14 +1162,14 @@ "AccessPointId": { "target": "com.amazonaws.efs#AccessPointId", "traits": { - "smithy.api#documentation": "

(Optional) Specifies an EFS access point to describe in the response; mutually exclusive with FileSystemId.

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

(Optional) Specifies an EFS access point to describe in the response; mutually\n exclusive with FileSystemId.

", "smithy.api#httpQuery": "AccessPointId" } }, "FileSystemId": { "target": "com.amazonaws.efs#FileSystemId", "traits": { - "smithy.api#documentation": "

(Optional) If you provide a FileSystemId, EFS returns all access points for that file system; mutually exclusive with AccessPointId.

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

(Optional) If you provide a FileSystemId, EFS returns all access\n points for that file system; mutually exclusive with AccessPointId.

", "smithy.api#httpQuery": "FileSystemId" } } @@ -1299,7 +1300,7 @@ "FileSystemId": { "target": "com.amazonaws.efs#FileSystemId", "traits": { - "smithy.api#documentation": "

Specifies which EFS file system to retrieve the BackupPolicy for.

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

Specifies which EFS file system for which to retrieve the\n BackupPolicy.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1332,7 +1333,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the FileSystemPolicy for the specified EFS file system.

\n

This operation requires permissions for the elasticfilesystem:DescribeFileSystemPolicy action.

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

Returns the FileSystemPolicy for the specified EFS file\n system.

\n

This operation requires permissions for the elasticfilesystem:DescribeFileSystemPolicy action.

", "smithy.api#http": { "method": "GET", "uri": "/2015-02-01/file-systems/{FileSystemId}/policy", @@ -1346,7 +1347,7 @@ "FileSystemId": { "target": "com.amazonaws.efs#FileSystemId", "traits": { - "smithy.api#documentation": "

Specifies which EFS file system to retrieve the FileSystemPolicy for.

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

Specifies which EFS file system to retrieve the FileSystemPolicy\n for.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1385,6 +1386,7 @@ "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "NextMarker", + "items": "FileSystems", "pageSize": "MaxItems" } } @@ -1472,7 +1474,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the current LifecycleConfiguration object for the specified Amazon\n EFS file system. EFS lifecycle management uses the LifecycleConfiguration object\n to identify which files to move to the EFS Infrequent Access (IA) storage class. For a file system\n without a LifecycleConfiguration object, the call returns an empty array in the\n response.

\n

When EFS Intelligent-Tiering is enabled, TransitionToPrimaryStorageClass has\n a value of AFTER_1_ACCESS.

\n

This operation requires permissions for the\n elasticfilesystem:DescribeLifecycleConfiguration operation.

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

Returns the current LifecycleConfiguration object for the specified Amazon\n EFS file system. Llifecycle management uses the LifecycleConfiguration object to\n identify when to move files between storage classes. For a file system without a\n LifecycleConfiguration object, the call returns an empty array in the\n response.

\n

This operation requires permissions for the\n elasticfilesystem:DescribeLifecycleConfiguration operation.

", "smithy.api#examples": [ { "title": "To describe the lifecycle configuration for a file system", @@ -1642,6 +1644,12 @@ "method": "GET", "uri": "/2015-02-01/mount-targets", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "NextMarker", + "items": "MountTargets", + "pageSize": "MaxItems" } } }, @@ -1747,6 +1755,12 @@ "method": "GET", "uri": "/2015-02-01/file-systems/replication-configurations", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Replications", + "pageSize": "MaxResults" } } }, @@ -1848,6 +1862,7 @@ "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "NextMarker", + "items": "Tags", "pageSize": "MaxItems" } } @@ -1917,7 +1932,7 @@ "Status": { "target": "com.amazonaws.efs#ReplicationStatus", "traits": { - "smithy.api#documentation": "

Describes the status of the destination Amazon EFS file system.

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

Describes the status of the destination EFS file system.

\n ", "smithy.api#required": {} } }, @@ -1952,13 +1967,13 @@ "Region": { "target": "com.amazonaws.efs#RegionName", "traits": { - "smithy.api#documentation": "

To create a file system that uses Regional storage, specify the Amazon Web Services Region\n in which to create the destination file system.

" + "smithy.api#documentation": "

To create a file system that uses Regional storage, specify the Amazon Web Services Region in which to create the destination file system.

" } }, "AvailabilityZoneName": { "target": "com.amazonaws.efs#AvailabilityZoneName", "traits": { - "smithy.api#documentation": "

To create a file system that uses EFS One Zone storage, specify the name of the\n Availability Zone in which to create the destination file system.

" + "smithy.api#documentation": "

To create a file system that uses One Zone storage, specify the name of the\n Availability Zone in which to create the destination file system.

" } }, "KmsKeyId": { @@ -2057,7 +2072,7 @@ "FileSystemArn": { "target": "com.amazonaws.efs#FileSystemArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the EFS file system, in the format \n arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id\n . \n Example with sample data: arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the EFS file system, in the format\n arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id\n .\n Example with sample data:\n arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567\n

" } }, "CreationTime": { @@ -2098,7 +2113,7 @@ "PerformanceMode": { "target": "com.amazonaws.efs#PerformanceMode", "traits": { - "smithy.api#documentation": "

The performance mode of the file system.

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

The Performance mode of the file system.

", "smithy.api#required": {} } }, @@ -2129,13 +2144,13 @@ "AvailabilityZoneName": { "target": "com.amazonaws.efs#AvailabilityZoneName", "traits": { - "smithy.api#documentation": "

Describes the Amazon Web Services Availability Zone in which the file system is located, and is valid only\n for file systems using One Zone storage classes. For more information, see Using EFS storage classes \n in the Amazon EFS User Guide.

" + "smithy.api#documentation": "

Describes the Amazon Web Services Availability Zone in which the file system is located, and is\n valid only for One Zone file systems. For more information, see Using EFS storage\n classes in the Amazon EFS User Guide.

" } }, "AvailabilityZoneId": { "target": "com.amazonaws.efs#AvailabilityZoneId", "traits": { - "smithy.api#documentation": "

The unique and consistent identifier of the Availability Zone in which the file system's\n One Zone storage classes exist. For example, use1-az1 is an Availability Zone ID\n for the us-east-1 Amazon Web Services Region, and it has the same location in every Amazon Web Services account.

" + "smithy.api#documentation": "

The unique and consistent identifier of the Availability Zone in which the file system is\n located, and is valid only for One Zone file systems. For example,\n use1-az1 is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and\n it has the same location in every Amazon Web Services account.

" } }, "Tags": { @@ -2237,13 +2252,13 @@ "FileSystemId": { "target": "com.amazonaws.efs#FileSystemId", "traits": { - "smithy.api#documentation": "

Specifies the EFS file system to which the FileSystemPolicy applies.

" + "smithy.api#documentation": "

Specifies the EFS file system to which the FileSystemPolicy\n applies.

" } }, "Policy": { "target": "com.amazonaws.efs#Policy", "traits": { - "smithy.api#documentation": "

The JSON formatted FileSystemPolicy for the EFS file system.

" + "smithy.api#documentation": "

The JSON formatted FileSystemPolicy for the EFS file\n system.

" } } } @@ -2268,13 +2283,19 @@ "ValueInIA": { "target": "com.amazonaws.efs#FileSystemNullableSizeValue", "traits": { - "smithy.api#documentation": "

The latest known metered size (in bytes) of data stored in the Infrequent Access\n storage class.

" + "smithy.api#documentation": "

The latest known metered size (in bytes) of data stored in the Infrequent Access storage\n class.

" } }, "ValueInStandard": { "target": "com.amazonaws.efs#FileSystemNullableSizeValue", "traits": { - "smithy.api#documentation": "

The latest known metered size (in bytes) of data stored in the Standard storage\n class.

" + "smithy.api#documentation": "

The latest known metered size (in bytes) of data stored in the Standard\n storage class.

" + } + }, + "ValueInArchive": { + "target": "com.amazonaws.efs#FileSystemNullableSizeValue", + "traits": { + "smithy.api#documentation": "

The latest known metered size (in bytes) of data stored in the Archive\n storage class.

" } } }, @@ -2491,7 +2512,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 2 + "max": 3 } } }, @@ -2501,18 +2522,24 @@ "TransitionToIA": { "target": "com.amazonaws.efs#TransitionToIARules", "traits": { - "smithy.api#documentation": "

\n Describes the period of time that a file is not accessed, after which it transitions to IA storage. Metadata\n operations such as listing the contents of a directory don't count as file access\n events.

" + "smithy.api#documentation": "

The number of days after files were last accessed in primary storage (the\n Standard storage class) at which to move them to Infrequent Access\n (IA) storage. Metadata operations such as listing the contents of a directory\n don't count as file access events.

" } }, "TransitionToPrimaryStorageClass": { "target": "com.amazonaws.efs#TransitionToPrimaryStorageClassRules", "traits": { - "smithy.api#documentation": "

Describes when to transition a file from IA storage to primary storage. Metadata\n operations such as listing the contents of a directory don't count as file access\n events.

" + "smithy.api#documentation": "

Whether to move files back to primary (Standard) storage after they are\n accessed in IA or Archive storage. Metadata operations such as\n listing the contents of a directory don't count as file access events.

" + } + }, + "TransitionToArchive": { + "target": "com.amazonaws.efs#TransitionToArchiveRules", + "traits": { + "smithy.api#documentation": "

The number of days after files were last accessed in primary storage (the\n Standard storage class) files at which to move them to Archive\n storage. Metadata operations such as listing the contents of a directory don't count as\n file access events.

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

Describes a policy used by EFS lifecycle management and EFS Intelligent-Tiering that\n specifies when to transition files into and out of the file system's Infrequent Access (IA)\n storage class. For more information, see EFS Intelligent‐Tiering and EFS Lifecycle\n Management.

\n \n

When using the put-lifecycle-configuration CLI command or the\n PutLifecycleConfiguration API action, Amazon EFS requires that each\n LifecyclePolicy object have only a single transition. This means that in a\n request body, LifecyclePolicies must be structured as an array of\n LifecyclePolicy objects, one object for each transition,\n TransitionToIA, TransitionToPrimaryStorageClass. For more\n information, see the request examples in PutLifecycleConfiguration.

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

Describes a policy used by Lifecycle management that specifies when to transition files\n into and out of the Infrequent Access (IA) and Archive storage\n classes. For more information, see Managing file system storage.

\n \n

When using the put-lifecycle-configuration CLI command or the\n PutLifecycleConfiguration API action, Amazon EFS requires that each\n LifecyclePolicy object have only a single transition. This means that in a\n request body, LifecyclePolicies must be structured as an array of\n LifecyclePolicy objects, one object for each transition. For more\n information, see the request examples in PutLifecycleConfiguration.

\n
" } }, "com.amazonaws.efs#ListTagsForResource": { @@ -2538,7 +2565,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists all tags for a top-level EFS resource. You must provide the ID of the resource that you want to retrieve the tags for.

\n

This operation requires permissions for the elasticfilesystem:DescribeAccessPoints action.

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

Lists all tags for a top-level EFS resource. You must provide the ID of the\n resource that you want to retrieve the tags for.

\n

This operation requires permissions for the elasticfilesystem:DescribeAccessPoints action.

", "smithy.api#http": { "method": "GET", "uri": "/2015-02-01/resource-tags/{ResourceId}", @@ -2557,7 +2584,7 @@ "ResourceId": { "target": "com.amazonaws.efs#ResourceId", "traits": { - "smithy.api#documentation": "

Specifies the EFS resource you want to retrieve tags for. You can retrieve tags for EFS file systems and access points using this API endpoint.

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

Specifies the EFS resource you want to retrieve tags for. You can retrieve tags\n for EFS file systems and access points using this API endpoint.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2753,7 +2780,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -2796,7 +2822,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -2809,7 +2836,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -2823,7 +2849,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -2846,7 +2871,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -2881,7 +2905,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -2892,14 +2915,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -2913,14 +2938,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -2929,11 +2952,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -2944,14 +2967,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -2965,7 +2990,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -2985,7 +3009,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -2996,14 +3019,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -3014,9 +3039,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -4351,7 +4378,7 @@ } ], "traits": { - "smithy.api#documentation": "

Use this operation to set the account preference in the current Amazon Web Services Region \n to use long 17 character (63 bit) or short 8 character (32 bit) resource IDs for \n new EFS file system and mount target resources. All existing resource IDs are not affected \n by any changes you make. You can set the ID preference during the\n opt-in period as EFS transitions to long resource IDs. For more information, \n see Managing Amazon EFS resource IDs.

\n \n

Starting in October, 2021, you will receive an error if you try to set the account preference\n to use the short 8 character format resource ID. Contact Amazon Web Services support if you\n receive an error and must use short IDs for file system and mount target resources.

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

Use this operation to set the account preference in the current Amazon Web Services Region\n to use long 17 character (63 bit) or short 8 character (32 bit) resource IDs for new\n EFS file system and mount target resources. All existing resource IDs are not\n affected by any changes you make. You can set the ID preference during the opt-in period as\n EFS transitions to long resource IDs. For more information, see Managing Amazon EFS resource IDs.

\n \n

Starting in October, 2021, you will receive an error if you try to set the account preference\n to use the short 8 character format resource ID. Contact Amazon Web Services support if you\n receive an error and must use short IDs for file system and mount target resources.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/2015-02-01/account-preferences", @@ -4365,7 +4392,7 @@ "ResourceIdType": { "target": "com.amazonaws.efs#ResourceIdType", "traits": { - "smithy.api#documentation": "

Specifies the EFS resource ID preference to set for the user's Amazon Web Services account, \n in the current Amazon Web Services Region, either LONG_ID (17 characters), or \n SHORT_ID (8 characters).

\n \n

Starting in October, 2021, you will receive an error when setting the account preference to\n SHORT_ID. Contact Amazon Web Services support if you receive an error and must\n use short IDs for file system and mount target resources.

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

Specifies the EFS resource ID preference to set for the user's Amazon Web Services account, in the current Amazon Web Services Region, either LONG_ID\n (17 characters), or SHORT_ID (8 characters).

\n \n

Starting in October, 2021, you will receive an error when setting the account preference to\n SHORT_ID. Contact Amazon Web Services support if you receive an error and must\n use short IDs for file system and mount target resources.

\n
", "smithy.api#required": {} } } @@ -4468,7 +4495,7 @@ } ], "traits": { - "smithy.api#documentation": "

Applies an Amazon EFS FileSystemPolicy to an Amazon EFS file system. \n A file system policy is an IAM resource-based policy and can contain multiple policy statements. \n A file system always has exactly one file system policy, which can be the default policy or \n an explicit policy set or updated using this API operation.\n EFS file system policies have a 20,000 character limit.\n When an explicit policy is set, it overrides the default policy. For more information about the default file system policy, see \n Default EFS File System Policy.\n

\n \n

EFS file system policies have a 20,000 character limit.

\n
\n

This operation requires permissions for the elasticfilesystem:PutFileSystemPolicy action.

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

Applies an Amazon EFS\n FileSystemPolicy to an Amazon EFS file system. A file system policy is an\n IAM resource-based policy and can contain multiple policy statements. A file system always has\n exactly one file system policy, which can be the default policy or an explicit policy set or\n updated using this API operation. EFS file system policies have a 20,000 character\n limit. When an explicit policy is set, it overrides the default policy. For more information\n about the default file system policy, see Default EFS\n File System Policy.

\n \n

EFS file system policies have a 20,000 character limit.

\n
\n

This operation requires permissions for the elasticfilesystem:PutFileSystemPolicy action.

", "smithy.api#http": { "method": "PUT", "uri": "/2015-02-01/file-systems/{FileSystemId}/policy", @@ -4482,7 +4509,7 @@ "FileSystemId": { "target": "com.amazonaws.efs#FileSystemId", "traits": { - "smithy.api#documentation": "

The ID of the EFS file system that you want to create or update the FileSystemPolicy for.

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

The ID of the EFS file system that you want to create or update the\n FileSystemPolicy for.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4490,7 +4517,7 @@ "Policy": { "target": "com.amazonaws.efs#Policy", "traits": { - "smithy.api#documentation": "

The FileSystemPolicy that you're creating. Accepts a JSON formatted policy definition. \n EFS file system policies have a 20,000 character limit.\n To find out more about the elements that make up a file system policy, see \n EFS Resource-based Policies.\n

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

The FileSystemPolicy that you're creating. Accepts a JSON formatted\n policy definition. EFS file system policies have a 20,000 character limit. To find\n out more about the elements that make up a file system policy, see EFS Resource-based Policies.

", "smithy.api#required": {} } }, @@ -4529,7 +4556,7 @@ } ], "traits": { - "smithy.api#documentation": "

Use this action to manage EFS lifecycle management and EFS Intelligent-Tiering. A\n LifecycleConfiguration consists of one or more LifecyclePolicy\n objects that define the following:

\n \n

For more information, see EFS Lifecycle Management.

\n

Each Amazon EFS file system supports one lifecycle configuration, which applies to\n all files in the file system. If a LifecycleConfiguration object already exists\n for the specified file system, a PutLifecycleConfiguration call modifies the\n existing configuration. A PutLifecycleConfiguration call with an empty\n LifecyclePolicies array in the request body deletes any existing\n LifecycleConfiguration and turns off lifecycle management and EFS\n Intelligent-Tiering for the file system.

\n

In the request, specify the following:

\n \n

This operation requires permissions for the elasticfilesystem:PutLifecycleConfiguration operation.

\n

To apply a LifecycleConfiguration object to an encrypted file system, you\n need the same Key Management Service permissions as when you created the encrypted file system.

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

Use this action to manage storage of your file system. A\n LifecycleConfiguration consists of one or more LifecyclePolicy\n objects that define the following:

\n \n

For more information, see \n Managing file system storage.

\n

Each Amazon EFS file system supports one lifecycle configuration, which applies to\n all files in the file system. If a LifecycleConfiguration object already exists\n for the specified file system, a PutLifecycleConfiguration call modifies the\n existing configuration. A PutLifecycleConfiguration call with an empty\n LifecyclePolicies array in the request body deletes any existing\n LifecycleConfiguration for the file system.

\n

In the request, specify the following:

\n \n

This operation requires permissions for the elasticfilesystem:PutLifecycleConfiguration operation.

\n

To apply a LifecycleConfiguration object to an encrypted file system, you\n need the same Key Management Service permissions as when you created the encrypted file system.

", "smithy.api#examples": [ { "title": "Creates a new lifecycleconfiguration object for a file system", @@ -4572,7 +4599,7 @@ "LifecyclePolicies": { "target": "com.amazonaws.efs#LifecyclePolicies", "traits": { - "smithy.api#documentation": "

An array of LifecyclePolicy objects that define the file system's\n LifecycleConfiguration object. A LifecycleConfiguration object\n informs EFS lifecycle management and EFS Intelligent-Tiering of the following:

\n \n \n

When using the put-lifecycle-configuration CLI command or the\n PutLifecycleConfiguration API action, Amazon EFS requires that each\n LifecyclePolicy object have only a single transition. This means that in a\n request body, LifecyclePolicies must be structured as an array of\n LifecyclePolicy objects, one object for each transition,\n TransitionToIA, TransitionToPrimaryStorageClass. See the example\n requests in the following section for more information.

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

An array of LifecyclePolicy objects that define the file system's\n LifecycleConfiguration object. A LifecycleConfiguration object\n informs EFS Lifecycle management of the following:

\n \n \n

When using the put-lifecycle-configuration CLI command or the\n PutLifecycleConfiguration API action, Amazon EFS requires that each\n LifecyclePolicy object have only a single transition. This means that in a\n request body, LifecyclePolicies must be structured as an array of\n LifecyclePolicy objects, one object for each storage transition. See the example\n requests in the following section for more information.

\n
", "smithy.api#required": {} } } @@ -4604,7 +4631,7 @@ "SourceFileSystemRegion": { "target": "com.amazonaws.efs#RegionName", "traits": { - "smithy.api#documentation": "

The Amazon Web Services Region in which the source Amazon EFS file system is located.

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

The Amazon Web Services Region in which the source EFS file system is\n located.

", "smithy.api#required": {} } }, @@ -4618,7 +4645,7 @@ "OriginalSourceFileSystemArn": { "target": "com.amazonaws.efs#FileSystemArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the original source Amazon EFS file system in the replication configuration.

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

The Amazon Resource Name (ARN) of the original source EFS file system in the\n replication configuration.

", "smithy.api#required": {} } }, @@ -4743,7 +4770,7 @@ "ResourceIdType": { "target": "com.amazonaws.efs#ResourceIdType", "traits": { - "smithy.api#documentation": "

Identifies the EFS resource ID preference, either LONG_ID (17 characters) or SHORT_ID (8 characters).

" + "smithy.api#documentation": "

Identifies the EFS resource ID preference, either LONG_ID (17\n characters) or SHORT_ID (8 characters).

" } }, "Resources": { @@ -4792,13 +4819,13 @@ "Path": { "target": "com.amazonaws.efs#Path", "traits": { - "smithy.api#documentation": "

Specifies the path on the EFS file system to expose as the root directory to NFS clients using the access point to access the EFS file system.\n A path can have up to four subdirectories. \n If the specified path does not exist, you are required to provide the CreationInfo.

" + "smithy.api#documentation": "

Specifies the path on the EFS file system to expose as the root directory to\n NFS clients using the access point to access the EFS file system. A path can have\n up to four subdirectories. If the specified path does not exist, you are required to provide\n the CreationInfo.

" } }, "CreationInfo": { "target": "com.amazonaws.efs#CreationInfo", "traits": { - "smithy.api#documentation": "

(Optional) Specifies the POSIX IDs and permissions to apply to the access point's RootDirectory. \n If the RootDirectory > Path specified does not exist, \n EFS creates the root directory using the CreationInfo settings when a client connects to an access point.\n When specifying the CreationInfo, you must provide values for all properties. \n

\n \n

If you do not provide CreationInfo and the specified RootDirectory > Path does not exist, \n attempts to mount the file system using the access point will fail.

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

(Optional) Specifies the POSIX IDs and permissions to apply to the access point's\n RootDirectory. If the RootDirectory > Path\n specified does not exist, EFS creates the root directory using the\n CreationInfo settings when a client connects to an access point. When\n specifying the CreationInfo, you must provide values for all properties.

\n \n

If you do not provide CreationInfo and the specified RootDirectory > Path does not exist, \n attempts to mount the file system using the access point will fail.

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

Creates a tag for an EFS resource. You can create tags for EFS file systems and access points using this API operation.

\n

This operation requires permissions for the elasticfilesystem:TagResource action.

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

Creates a tag for an EFS resource. You can create tags for EFS file\n systems and access points using this API operation.

\n

This operation requires permissions for the elasticfilesystem:TagResource action.

", "smithy.api#http": { "method": "POST", "uri": "/2015-02-01/resource-tags/{ResourceId}", @@ -5141,6 +5168,65 @@ "smithy.api#httpError": 429 } }, + "com.amazonaws.efs#TransitionToArchiveRules": { + "type": "enum", + "members": { + "AFTER_1_DAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_1_DAY" + } + }, + "AFTER_7_DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_7_DAYS" + } + }, + "AFTER_14_DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_14_DAYS" + } + }, + "AFTER_30_DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_30_DAYS" + } + }, + "AFTER_60_DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_60_DAYS" + } + }, + "AFTER_90_DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_90_DAYS" + } + }, + "AFTER_180_DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_180_DAYS" + } + }, + "AFTER_270_DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_270_DAYS" + } + }, + "AFTER_365_DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_365_DAYS" + } + } + } + }, "com.amazonaws.efs#TransitionToIARules": { "type": "enum", "members": { @@ -5179,6 +5265,24 @@ "traits": { "smithy.api#enumValue": "AFTER_1_DAY" } + }, + "AFTER_180_DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_180_DAYS" + } + }, + "AFTER_270_DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_270_DAYS" + } + }, + "AFTER_365_DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER_365_DAYS" + } } } }, @@ -5244,7 +5348,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes tags from an EFS resource. You can remove tags from EFS file systems and access points using this API operation.

\n

This operation requires permissions for the elasticfilesystem:UntagResource action.

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

Removes tags from an EFS resource. You can remove tags from EFS file\n systems and access points using this API operation.

\n

This operation requires permissions for the elasticfilesystem:UntagResource action.

", "smithy.api#http": { "method": "DELETE", "uri": "/2015-02-01/resource-tags/{ResourceId}", @@ -5266,7 +5370,7 @@ "TagKeys": { "target": "com.amazonaws.efs#TagKeys", "traits": { - "smithy.api#documentation": "

The keys of the key-value tag pairs that you want to remove from the specified EFS\n resource.

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

The keys of the key-value tag pairs that you want to remove from the specified\n EFS resource.

", "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } diff --git a/codegen/sdk-codegen/aws-models/eks-auth.json b/codegen/sdk-codegen/aws-models/eks-auth.json new file mode 100644 index 00000000000..2a47d3dbd4c --- /dev/null +++ b/codegen/sdk-codegen/aws-models/eks-auth.json @@ -0,0 +1,746 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.eksauth#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

You don't have permissions to perform the requested operation. The IAM principal\n making the request must have at least one IAM permissions policy attached\n that grants the required permissions. For more information, see Access\n management in the IAM User Guide.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.eksauth#AssumeRoleForPodIdentity": { + "type": "operation", + "input": { + "target": "com.amazonaws.eksauth#AssumeRoleForPodIdentityRequest" + }, + "output": { + "target": "com.amazonaws.eksauth#AssumeRoleForPodIdentityResponse" + }, + "errors": [ + { + "target": "com.amazonaws.eksauth#AccessDeniedException" + }, + { + "target": "com.amazonaws.eksauth#ExpiredTokenException" + }, + { + "target": "com.amazonaws.eksauth#InternalServerException" + }, + { + "target": "com.amazonaws.eksauth#InvalidParameterException" + }, + { + "target": "com.amazonaws.eksauth#InvalidRequestException" + }, + { + "target": "com.amazonaws.eksauth#InvalidTokenException" + }, + { + "target": "com.amazonaws.eksauth#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.eksauth#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.eksauth#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

The Amazon EKS Auth API and the AssumeRoleForPodIdentity action are only used\n by the EKS Pod Identity Agent.

\n

We recommend that applications use the Amazon Web Services SDKs to connect to Amazon Web Services services; if\n credentials from an EKS Pod Identity association are available in the pod, the latest versions of the\n SDKs use them automatically.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/clusters/{clusterName}/assume-role-for-pod-identity" + } + } + }, + "com.amazonaws.eksauth#AssumeRoleForPodIdentityRequest": { + "type": "structure", + "members": { + "clusterName": { + "target": "com.amazonaws.eksauth#ClusterName", + "traits": { + "smithy.api#documentation": "

The name of the cluster for the request.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "token": { + "target": "com.amazonaws.eksauth#JwtToken", + "traits": { + "smithy.api#documentation": "

The token of the Kubernetes service account for the pod.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.eksauth#AssumeRoleForPodIdentityResponse": { + "type": "structure", + "members": { + "subject": { + "target": "com.amazonaws.eksauth#Subject", + "traits": { + "smithy.api#documentation": "

The name of the Kubernetes service account inside the cluster to associate the IAM\n credentials with.

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

The identity that is allowed to use the credentials. This value is always\n pods.eks.amazonaws.com.

", + "smithy.api#required": {} + } + }, + "podIdentityAssociation": { + "target": "com.amazonaws.eksauth#PodIdentityAssociation", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) and ID of the EKS Pod Identity association.

", + "smithy.api#required": {} + } + }, + "assumedRoleUser": { + "target": "com.amazonaws.eksauth#AssumedRoleUser", + "traits": { + "smithy.api#documentation": "

An object with the permanent IAM role identity and the temporary session\n name.

\n

The ARN of the IAM role that the temporary credentials authenticate to.

\n

The session name of the temporary session requested to STS. The value\n is a unique identifier that contains the role ID, a colon (:), and the role\n session name of the role that is being assumed. The role ID is generated by IAM when\n the role is created. The role session name part of the value follows this format:\n eks-clustername-podname-random\n UUID\n \n

", + "smithy.api#required": {} + } + }, + "credentials": { + "target": "com.amazonaws.eksauth#Credentials", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Signature Version 4 type of temporary\n credentials.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.eksauth#AssumedRoleUser": { + "type": "structure", + "members": { + "arn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ARN of the IAM role that the temporary credentials authenticate to.

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

The session name of the temporary session requested to STS. The value\n is a unique identifier that contains the role ID, a colon (:), and the role\n session name of the role that is being assumed. The role ID is generated by IAM when\n the role is created. The role session name part of the value follows this format:\n eks-clustername-podname-random\n UUID\n \n

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

An object with the permanent IAM role identity and the temporary session\n name.

" + } + }, + "com.amazonaws.eksauth#ClusterName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*$" + } + }, + "com.amazonaws.eksauth#Credentials": { + "type": "structure", + "members": { + "sessionToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token that applications inside the pods must pass to any service API to use the\n temporary credentials.

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

The secret access key that applications inside the pods use to sign requests.

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

The access key ID that identifies the temporary security credentials.

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

The Unix epoch timestamp in seconds when the current credentials expire.

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

The Amazon Web Services Signature Version 4 type of temporary\n credentials.

", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.eksauth#EKSAuthFrontend": { + "type": "service", + "version": "2023-11-26", + "operations": [ + { + "target": "com.amazonaws.eksauth#AssumeRoleForPodIdentity" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "EKS Auth", + "arnNamespace": "eks-auth", + "endpointPrefix": "eks-auth" + }, + "aws.auth#sigv4": { + "name": "eks-auth" + }, + "aws.protocols#restJson1": {}, + "smithy.api#cors": {}, + "smithy.api#documentation": "

The Amazon EKS Auth API and the AssumeRoleForPodIdentity action are only\n used by the EKS Pod Identity Agent.

", + "smithy.api#title": "Amazon EKS Auth", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "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" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://eks-auth-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://eks-auth.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://eks-auth-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://eks-auth.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://eks-auth-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://eks-auth.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://eks-auth-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://eks-auth.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://eks-auth-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://eks-auth.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "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": { + "Region": "us-east-1", + "UseFIPS": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.eksauth#ExpiredTokenException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

The specified Kubernetes service account token is expired.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.eksauth#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

These errors are usually caused by a server-side issue.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.eksauth#InvalidParameterException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

The specified parameter is invalid. Review the available parameters for the API\n request.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.eksauth#InvalidRequestException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

This exception is thrown if the request contains a semantic error. The precise meaning\n will depend on the API, and will be documented in the error message.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.eksauth#InvalidTokenException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

The specified Kubernetes service account token is invalid.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.eksauth#JwtToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + }, + "smithy.api#pattern": "^[A-Za-z0-9-_=]+\\.[A-Za-z0-9-_=]+\\.[A-Za-z0-9-_=]+$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.eksauth#PodIdentityAssociation": { + "type": "structure", + "members": { + "associationArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the EKS Pod Identity association.

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

The ID of the association.

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

Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that Amazon EC2 instance profiles provide credentials to Amazon EC2 instances.

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

The specified resource could not be found.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.eksauth#ServiceUnavailableException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

The service is unavailable. Back off and retry the operation.

", + "smithy.api#error": "server", + "smithy.api#httpError": 503 + } + }, + "com.amazonaws.eksauth#Subject": { + "type": "structure", + "members": { + "namespace": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the Kubernetes namespace inside the cluster to create the association in. The\n service account and the pods that use the service account must be in this\n namespace.

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

The name of the Kubernetes service account inside the cluster to associate the IAM\n credentials with.

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

An object containing the name of the Kubernetes service account inside the cluster to\n associate the IAM credentials with.

" + } + }, + "com.amazonaws.eksauth#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

The request was denied because your request rate is too high. Reduce the frequency of requests.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + } + } +} \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/eks.json b/codegen/sdk-codegen/aws-models/eks.json index 945d390172b..93c45d793d0 100644 --- a/codegen/sdk-codegen/aws-models/eks.json +++ b/codegen/sdk-codegen/aws-models/eks.json @@ -131,6 +131,9 @@ { "target": "com.amazonaws.eks#CreateNodegroup" }, + { + "target": "com.amazonaws.eks#CreatePodIdentityAssociation" + }, { "target": "com.amazonaws.eks#DeleteAddon" }, @@ -146,6 +149,9 @@ { "target": "com.amazonaws.eks#DeleteNodegroup" }, + { + "target": "com.amazonaws.eks#DeletePodIdentityAssociation" + }, { "target": "com.amazonaws.eks#DeregisterCluster" }, @@ -173,6 +179,9 @@ { "target": "com.amazonaws.eks#DescribeNodegroup" }, + { + "target": "com.amazonaws.eks#DescribePodIdentityAssociation" + }, { "target": "com.amazonaws.eks#DescribeUpdate" }, @@ -197,6 +206,9 @@ { "target": "com.amazonaws.eks#ListNodegroups" }, + { + "target": "com.amazonaws.eks#ListPodIdentityAssociations" + }, { "target": "com.amazonaws.eks#ListTagsForResource" }, @@ -229,6 +241,9 @@ }, { "target": "com.amazonaws.eks#UpdateNodegroupVersion" + }, + { + "target": "com.amazonaws.eks#UpdatePodIdentityAssociation" } ], "traits": { @@ -1280,7 +1295,10 @@ "type": "structure", "members": { "message": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

You do not have sufficient access to perform this action.

" + } } }, "traits": { @@ -1814,7 +1832,10 @@ "type": "structure", "members": { "message": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

This exception is thrown if the request contains a semantic error. The precise meaning\n will depend on the API, and will be documented in the error message.

" + } } }, "traits": { @@ -1890,7 +1911,10 @@ } }, "addonName": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The Amazon EKS add-on name associated with the exception.

" + } }, "subscriptionId": { "target": "com.amazonaws.eks#String", @@ -1899,7 +1923,10 @@ } }, "message": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

These errors are usually caused by a client action. Actions can include using an\n action or resource on behalf of an IAM principal that doesn't have permissions to use\n the action or resource or specifying an identifier that is not valid.

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

Creates an Amazon EKS control plane.

\n

The Amazon EKS control plane consists of control plane instances that run the\n Kubernetes software, such as etcd and the API server. The control plane runs in\n an account managed by Amazon Web Services, and the Kubernetes API is exposed by the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is\n single tenant and unique. It runs on its own set of Amazon EC2 instances.

\n

The cluster control plane is provisioned across multiple Availability Zones and\n fronted by an Elastic Load Balancing\n Network Load Balancer. Amazon EKS also provisions elastic network interfaces in\n your VPC subnets to provide connectivity from the control plane instances to the nodes\n (for example, to support kubectl exec, logs, and\n proxy data flows).

\n

Amazon EKS nodes run in your Amazon Web Services account and connect to your\n cluster's control plane over the Kubernetes API server endpoint and a certificate file that\n is created for your cluster.

\n

In most cases, it takes several minutes to create a cluster. After you create an\n Amazon EKS cluster, you must configure your Kubernetes tooling to communicate\n with the API server and launch nodes into your cluster. For more information, see Managing Cluster\n Authentication and Launching Amazon EKS nodes in the\n Amazon EKS User Guide.

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

Creates an Amazon EKS control plane.

\n

The Amazon EKS control plane consists of control plane instances that run the\n Kubernetes software, such as etcd and the API server. The control plane runs in\n an account managed by Amazon Web Services, and the Kubernetes API is exposed by the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is\n single tenant and unique. It runs on its own set of Amazon EC2 instances.

\n

The cluster control plane is provisioned across multiple Availability Zones and\n fronted by an Elastic Load Balancing\n Network Load Balancer. Amazon EKS also provisions elastic network interfaces in\n your VPC subnets to provide connectivity from the control plane instances to the nodes\n (for example, to support kubectl exec, logs, and\n proxy data flows).

\n

Amazon EKS nodes run in your Amazon Web Services account and connect to your\n cluster's control plane over the Kubernetes API server endpoint and a certificate file that\n is created for your cluster.

\n

You can use the endpointPublicAccess and\n endpointPrivateAccess parameters to enable or disable public and\n private access to your cluster's Kubernetes API server endpoint. By default, public access is\n enabled, and private access is disabled. For more information, see Amazon EKS Cluster Endpoint Access Control in the\n \n Amazon EKS User Guide\n .

\n

You can use the logging parameter to enable or disable exporting the\n Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster\n control plane logs aren't exported to CloudWatch Logs. For more information, see\n Amazon EKS Cluster Control Plane Logs in the\n \n Amazon EKS User Guide\n .

\n \n

CloudWatch Logs ingestion, archive storage, and data scanning rates apply to\n exported control plane logs. For more information, see CloudWatch\n Pricing.

\n
\n

In most cases, it takes several minutes to create a cluster. After you create an\n Amazon EKS cluster, you must configure your Kubernetes tooling to communicate\n with the API server and launch nodes into your cluster. For more information, see Managing Cluster\n Authentication and Launching Amazon EKS nodes in the\n Amazon EKS User Guide.

", "smithy.api#examples": [ { "title": "To create a new cluster", @@ -2743,7 +2770,7 @@ "target": "com.amazonaws.eks#Integer", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The number of licenses to purchase with the subscription. Valid values are between 1\n and 1000. This value cannot be changed after creating the subscription.

" + "smithy.api#documentation": "

The number of licenses to purchase with the subscription. Valid values are between 1\n and 100. This value can't be changed after creating the subscription.

" } }, "licenseType": { @@ -2769,7 +2796,7 @@ "tags": { "target": "com.amazonaws.eks#TagMap", "traits": { - "smithy.api#documentation": "

The metadata for a subscription to assist with categorization and organization. Each\n tag consists of a key and an optional value. Subscription tags do not propagate to any\n other resources associated with the subscription.

" + "smithy.api#documentation": "

The metadata for a subscription to assist with categorization and organization. Each\n tag consists of a key and an optional value. Subscription tags don't propagate to any\n other resources associated with the subscription.

" } } }, @@ -3073,6 +3100,107 @@ "smithy.api#output": {} } }, + "com.amazonaws.eks#CreatePodIdentityAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.eks#CreatePodIdentityAssociationRequest" + }, + "output": { + "target": "com.amazonaws.eks#CreatePodIdentityAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.eks#InvalidParameterException" + }, + { + "target": "com.amazonaws.eks#InvalidRequestException" + }, + { + "target": "com.amazonaws.eks#ResourceInUseException" + }, + { + "target": "com.amazonaws.eks#ResourceLimitExceededException" + }, + { + "target": "com.amazonaws.eks#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.eks#ServerException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role\n with EKS Pod Identity. Use EKS Pod Identity to give temporary IAM credentials to\n pods and the credentials are rotated automatically.

\n

Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that 7EC2l instance profiles provide credentials to Amazon EC2 instances.

\n

If a pod uses a service account that has an association, Amazon EKS sets environment variables\n in the containers of the pod. The environment variables configure the Amazon Web Services SDKs,\n including the Command Line Interface, to use the EKS Pod Identity credentials.

\n

Pod Identity is a simpler method than IAM roles for service\n accounts, as this method doesn't use OIDC identity providers.\n Additionally, you can configure a role for Pod Identity once, and reuse it across\n clusters.

", + "smithy.api#http": { + "method": "POST", + "uri": "/clusters/{clusterName}/pod-identity-associations", + "code": 200 + } + } + }, + "com.amazonaws.eks#CreatePodIdentityAssociationRequest": { + "type": "structure", + "members": { + "clusterName": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The name of the cluster to create the association in.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "namespace": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The name of the Kubernetes namespace inside the cluster to create the association in. The\n service account and the pods that use the service account must be in this\n namespace.

", + "smithy.api#required": {} + } + }, + "serviceAccount": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.

", + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity\n agent manages credentials to assume this role for applications in the containers in the\n pods that use this service account.

", + "smithy.api#required": {} + } + }, + "clientRequestToken": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

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

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

The metadata that you apply to a resource to assist with categorization and organization. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.eks#CreatePodIdentityAssociationResponse": { + "type": "structure", + "members": { + "association": { + "target": "com.amazonaws.eks#PodIdentityAssociation", + "traits": { + "smithy.api#documentation": "

The full description of your new association.

\n

The description includes an ID for the association. Use the ID of the association in further\n actions to manage the association.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.eks#DeleteAddon": { "type": "operation", "input": { @@ -3247,7 +3375,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes an expired / inactive subscription. Deleting inactive subscriptions removes\n them from the Amazon Web Services Management Console view and from list/describe API responses.\n Subscriptions can only be cancelled within 7 days of creation, and are cancelled by\n creating a ticket in the Amazon Web Services Support Center.

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

Deletes an expired or inactive subscription. Deleting inactive subscriptions removes\n them from the Amazon Web Services Management Console view and from list/describe API responses.\n Subscriptions can only be cancelled within 7 days of creation and are cancelled by\n creating a ticket in the Amazon Web Services Support Center.

", "smithy.api#http": { "method": "DELETE", "uri": "/eks-anywhere-subscriptions/{id}", @@ -3429,6 +3557,75 @@ "smithy.api#output": {} } }, + "com.amazonaws.eks#DeletePodIdentityAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.eks#DeletePodIdentityAssociationRequest" + }, + "output": { + "target": "com.amazonaws.eks#DeletePodIdentityAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.eks#InvalidParameterException" + }, + { + "target": "com.amazonaws.eks#InvalidRequestException" + }, + { + "target": "com.amazonaws.eks#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.eks#ServerException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a EKS Pod Identity association.

\n

The temporary Amazon Web Services credentials from the previous IAM role session might still be valid until the session expiry. If you need to immediately revoke the temporary session credentials, then go to the role in the IAM console.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/clusters/{clusterName}/pod-identity-associations/{associationId}", + "code": 200 + } + } + }, + "com.amazonaws.eks#DeletePodIdentityAssociationRequest": { + "type": "structure", + "members": { + "clusterName": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The cluster name that

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "associationId": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The ID of the association to be deleted.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.eks#DeletePodIdentityAssociationResponse": { + "type": "structure", + "members": { + "association": { + "target": "com.amazonaws.eks#PodIdentityAssociation", + "traits": { + "smithy.api#documentation": "

The full description of the EKS Pod Identity association that was deleted.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.eks#DeregisterCluster": { "type": "operation", "input": { @@ -3810,7 +4007,7 @@ "nextToken": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a previous paginated\n DescribeAddonVersionsResponse where maxResults was used\n and the results exceeded the value of that parameter. Pagination continues from the end\n of the previous results that returned the nextToken value.

\n \n

This token should be treated as an opaque identifier that is used only to\n retrieve the next items in a list and not for other programmatic purposes.

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

The nextToken value to include in a future\n DescribeAddonVersions request. When the results of a\n DescribeAddonVersions request exceed maxResults, you can\n use this value to retrieve the next page of results. This value is null\n when there are no more results to return.

\n \n

This token should be treated as an opaque identifier that is used only to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" } } }, @@ -4359,6 +4556,75 @@ "smithy.api#output": {} } }, + "com.amazonaws.eks#DescribePodIdentityAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.eks#DescribePodIdentityAssociationRequest" + }, + "output": { + "target": "com.amazonaws.eks#DescribePodIdentityAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.eks#InvalidParameterException" + }, + { + "target": "com.amazonaws.eks#InvalidRequestException" + }, + { + "target": "com.amazonaws.eks#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.eks#ServerException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns descriptive information about an EKS Pod Identity association.

\n

This action requires the ID of the association. You can get the ID from the response to\n the CreatePodIdentityAssocation for newly created associations. Or, you can\n list the IDs for associations with ListPodIdentityAssociations and filter the\n list by namespace or service account.

", + "smithy.api#http": { + "method": "GET", + "uri": "/clusters/{clusterName}/pod-identity-associations/{associationId}", + "code": 200 + } + } + }, + "com.amazonaws.eks#DescribePodIdentityAssociationRequest": { + "type": "structure", + "members": { + "clusterName": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The name of the cluster that the association is in.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "associationId": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The ID of the association that you want the description of.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.eks#DescribePodIdentityAssociationResponse": { + "type": "structure", + "members": { + "association": { + "target": "com.amazonaws.eks#PodIdentityAssociation", + "traits": { + "smithy.api#documentation": "

The full description of the EKS Pod Identity association.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.eks#DescribeUpdate": { "type": "operation", "input": { @@ -4557,7 +4823,7 @@ "target": "com.amazonaws.eks#Integer", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The number of licenses included in a subscription. Valid values are between 1 and\n 1000.

" + "smithy.api#documentation": "

The number of licenses included in a subscription. Valid values are between 1 and\n 100.

" } }, "licenseType": { @@ -4588,7 +4854,7 @@ "licenseArns": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

License Manager License ARNs associated with the subscription.

" + "smithy.api#documentation": "

Amazon Web Services License Manager ARN associated with the subscription.

" } }, "tags": { @@ -4689,7 +4955,7 @@ "unit": { "target": "com.amazonaws.eks#EksAnywhereSubscriptionTermUnit", "traits": { - "smithy.api#documentation": "

The term unit of the subscription. Valid value is MONTHS.

" + "smithy.api#documentation": "

The term unit of the subscription. Valid value is MONTHS.

" } } }, @@ -5110,7 +5376,10 @@ } }, "addonName": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The specified parameter for the add-on name is invalid. Review the available\n parameters for the API request

" + } }, "subscriptionId": { "target": "com.amazonaws.eks#String", @@ -5119,7 +5388,10 @@ } }, "message": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The specified parameter is invalid. Review the available parameters for the API\n request.

" + } } }, "traits": { @@ -5144,7 +5416,10 @@ } }, "addonName": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The request is invalid given the state of the add-on name. Check the state of the\n cluster and the associated operations.

" + } }, "subscriptionId": { "target": "com.amazonaws.eks#String", @@ -5153,7 +5428,10 @@ } }, "message": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The Amazon EKS add-on name associated with the exception.

" + } } }, "traits": { @@ -5374,7 +5652,7 @@ "nextToken": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a previous paginated\n ListAddonsResponse where maxResults was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.

\n \n

This token should be treated as an opaque identifier that is used only to\n retrieve the next items in a list and not for other programmatic purposes.

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

The nextToken value to include in a future ListAddons\n request. When the results of a ListAddons request exceed\n maxResults, you can use this value to retrieve the next page of\n results. This value is null when there are no more results to\n return.

\n \n

This token should be treated as an opaque identifier that is used only to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" } } }, @@ -5517,6 +5795,12 @@ "method": "GET", "uri": "/eks-anywhere-subscriptions", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "subscriptions", + "pageSize": "maxResults" } } }, @@ -5533,7 +5817,7 @@ "nextToken": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

The nextToken value to include in a future ListEksAnywhereSubscriptions request. When\n the results of a ListEksAnywhereSubscriptions request exceed maxResults, you can use\n this value to retrieve the next page of results. This value is null when there are no\n more results to return.

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

The nextToken value returned from a previous paginated\n ListEksAnywhereSubscriptions request where maxResults was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.

", "smithy.api#httpQuery": "nextToken" } }, @@ -5756,7 +6040,7 @@ "nextToken": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a previous paginated\n ListIdentityProviderConfigsResponse where maxResults was\n used and the results exceeded the value of that parameter. Pagination continues from the\n end of the previous results that returned the nextToken value.

" + "smithy.api#documentation": "

The nextToken value to include in a future\n ListIdentityProviderConfigsResponse request. When the results of a\n ListIdentityProviderConfigsResponse request exceed\n maxResults, you can use this value to retrieve the next page of\n results. This value is null when there are no more results to\n return.

" } } }, @@ -5863,6 +6147,116 @@ "smithy.api#output": {} } }, + "com.amazonaws.eks#ListPodIdentityAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.eks#ListPodIdentityAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.eks#ListPodIdentityAssociationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.eks#InvalidParameterException" + }, + { + "target": "com.amazonaws.eks#InvalidRequestException" + }, + { + "target": "com.amazonaws.eks#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.eks#ServerException" + } + ], + "traits": { + "smithy.api#documentation": "

List the EKS Pod Identity associations in a cluster. You can filter the list by the namespace that the\n association is in or the service account that the association uses.

", + "smithy.api#http": { + "method": "GET", + "uri": "/clusters/{clusterName}/pod-identity-associations", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "associations", + "pageSize": "maxResults" + } + } + }, + "com.amazonaws.eks#ListPodIdentityAssociationsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.eks#ListPodIdentityAssociationsRequest": { + "type": "structure", + "members": { + "clusterName": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The name of the cluster that the associations are in.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "namespace": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The name of the Kubernetes namespace inside the cluster that the associations are in.

", + "smithy.api#httpQuery": "namespace" + } + }, + "serviceAccount": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The name of the Kubernetes service account that the associations use.

", + "smithy.api#httpQuery": "serviceAccount" + } + }, + "maxResults": { + "target": "com.amazonaws.eks#ListPodIdentityAssociationsMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of EKS Pod Identity association results returned by\n ListPodIdentityAssociations in paginated output. When you use this\n parameter, ListPodIdentityAssociations returns only maxResults\n results in a single page along with a nextToken response element. You can\n see the remaining results of the initial request by sending another\n ListPodIdentityAssociations request with the returned\n nextToken value. This value can be between 1 and\n 100. If you don't use this parameter,\n ListPodIdentityAssociations returns up to 100 results\n and a nextToken value if applicable.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The nextToken value returned from a previous paginated\n ListUpdates request where maxResults was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.

\n \n

This token should be treated as an opaque identifier that is used only to\n retrieve the next items in a list and not for other programmatic purposes.

\n
", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.eks#ListPodIdentityAssociationsResponse": { + "type": "structure", + "members": { + "associations": { + "target": "com.amazonaws.eks#PodIdentityAssociationSummaries", + "traits": { + "smithy.api#documentation": "

The list of summarized descriptions of the associations that are in the cluster and match any\n filters that you provided.

\n

Each summary is simplified by removing these fields compared to the full \n PodIdentityAssociation\n :

\n " + } + }, + "nextToken": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The nextToken value to include in a future\n ListPodIdentityAssociations request. When the results of a\n ListPodIdentityAssociations request exceed maxResults, you\n can use this value to retrieve the next page of results. This value is null\n when there are no more results to return.

\n \n

This token should be treated as an opaque identifier that is used only to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.eks#ListTagsForResource": { "type": "operation", "input": { @@ -6631,7 +7025,10 @@ "type": "structure", "members": { "message": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

A service resource associated with the request could not be found. Clients should not\n retry such requests.

" + } } }, "traits": { @@ -6858,6 +7255,112 @@ } } }, + "com.amazonaws.eks#PodIdentityAssociation": { + "type": "structure", + "members": { + "clusterName": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The name of the cluster that the association is in.

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

The name of the Kubernetes namespace inside the cluster to create the association in. The\n service account and the pods that use the service account must be in this\n namespace.

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

The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.

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

The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity\n agent manages credentials to assume this role for applications in the containers in the\n pods that use this service account.

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

The Amazon Resource Name (ARN) of the association.

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

The ID of the association.

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

The metadata that you apply to a resource to assist with categorization and organization. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n " + } + }, + "createdAt": { + "target": "com.amazonaws.eks#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp that the association was created at.

" + } + }, + "modifiedAt": { + "target": "com.amazonaws.eks#Timestamp", + "traits": { + "smithy.api#documentation": "

The most recent timestamp that the association was modified at

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

Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that 7EC2l instance profiles provide credentials to Amazon EC2 instances.

" + } + }, + "com.amazonaws.eks#PodIdentityAssociationSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.eks#PodIdentityAssociationSummary" + } + }, + "com.amazonaws.eks#PodIdentityAssociationSummary": { + "type": "structure", + "members": { + "clusterName": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The name of the cluster that the association is in.

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

The name of the Kubernetes namespace inside the cluster to create the association in. The\n service account and the pods that use the service account must be in this\n namespace.

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

The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.

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

The Amazon Resource Name (ARN) of the association.

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

The ID of the association.

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

The summarized description of the association.

\n

Each summary is simplified by removing these fields compared to the full \n PodIdentityAssociation\n :

\n " + } + }, "com.amazonaws.eks#Provider": { "type": "structure", "members": { @@ -7020,10 +7523,16 @@ } }, "addonName": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The specified add-on name is in use.

" + } }, "message": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The Amazon EKS message associated with the exception.

" + } } }, "traits": { @@ -7054,7 +7563,10 @@ } }, "message": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The Amazon EKS message associated with the exception.

" + } } }, "traits": { @@ -7085,7 +7597,10 @@ } }, "addonName": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The Amazon EKS add-on name associated with the exception.

" + } }, "subscriptionId": { "target": "com.amazonaws.eks#String", @@ -7094,7 +7609,10 @@ } }, "message": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The Amazon EKS message associated with the exception.

" + } } }, "traits": { @@ -7107,7 +7625,10 @@ "type": "structure", "members": { "message": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

Required resources (such as service-linked roles) were created and are still\n propagating. Retry later.

" + } } }, "traits": { @@ -7141,7 +7662,10 @@ } }, "addonName": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The Amazon EKS add-on name associated with the exception.

" + } }, "subscriptionId": { "target": "com.amazonaws.eks#String", @@ -7150,7 +7674,10 @@ } }, "message": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

These errors are usually caused by a server-side issue.

" + } } }, "traits": { @@ -7163,7 +7690,10 @@ "type": "structure", "members": { "message": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The request has failed due to a temporary failure of the server.

" + } } }, "traits": { @@ -7184,6 +7714,7 @@ "com.amazonaws.eks#TagKey": { "type": "string", "traits": { + "smithy.api#documentation": "

One part of a key-value pair that make up a tag. A key is a general label\n that acts like a category for more specific tag values.

", "smithy.api#length": { "min": 1, "max": 128 @@ -7211,6 +7742,7 @@ "target": "com.amazonaws.eks#TagValue" }, "traits": { + "smithy.api#documentation": "

The metadata that you apply to a resource to help you categorize and organize them.\n Each tag consists of a key and an optional value. You define them.

\n

The following basic restrictions apply to tags:

\n ", "smithy.api#length": { "min": 1, "max": 50 @@ -7275,6 +7807,7 @@ "com.amazonaws.eks#TagValue": { "type": "string", "traits": { + "smithy.api#documentation": "

The optional part of a key-value pair that make up a tag. A value acts as\n a descriptor within a tag category (key).

", "smithy.api#length": { "min": 0, "max": 256 @@ -7337,7 +7870,10 @@ "type": "structure", "members": { "message": { - "target": "com.amazonaws.eks#String" + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

At least one of your specified cluster subnets is in an Availability Zone that does\n not support Amazon EKS. The exception output specifies the supported\n Availability Zones for your account, from which you can choose subnets for your\n cluster.

" + } }, "clusterName": { "target": "com.amazonaws.eks#String", @@ -7596,7 +8132,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates an Amazon EKS cluster configuration. Your cluster continues to\n function during the update. The response output includes an update ID that you can use\n to track the status of your cluster update with the DescribeUpdate API\n operation.

\n

You can use this API operation to enable or disable exporting the Kubernetes control plane\n logs for your cluster to CloudWatch Logs. By default, cluster control plane logs\n aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the\n \n Amazon EKS User Guide\n .

\n \n

CloudWatch Logs ingestion, archive storage, and data scanning rates apply to\n exported control plane logs. For more information, see CloudWatch\n Pricing.

\n
\n

You can also use this API operation to enable or disable public and private access to\n your cluster's Kubernetes API server endpoint. By default, public access is enabled, and\n private access is disabled. For more information, see Amazon EKS cluster endpoint access control in the\n \n Amazon EKS User Guide\n .

\n \n

You can't update the subnets or security group IDs for an existing cluster.

\n
\n

Cluster updates are asynchronous, and they should finish within a few minutes. During\n an update, the cluster status moves to UPDATING (this status transition is\n eventually consistent). When the update is complete (either Failed or\n Successful), the cluster status moves to Active.

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

Updates an Amazon EKS cluster configuration. Your cluster continues to\n function during the update. The response output includes an update ID that you can use\n to track the status of your cluster update with the DescribeUpdate API\n operation.

\n

You can use this API operation to enable or disable exporting the Kubernetes control plane\n logs for your cluster to CloudWatch Logs. By default, cluster control plane logs\n aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the\n \n Amazon EKS User Guide\n .

\n \n

CloudWatch Logs ingestion, archive storage, and data scanning rates apply to\n exported control plane logs. For more information, see CloudWatch\n Pricing.

\n
\n

You can also use this API operation to enable or disable public and private access to\n your cluster's Kubernetes API server endpoint. By default, public access is enabled, and\n private access is disabled. For more information, see Amazon EKS cluster endpoint access control in the\n \n Amazon EKS User Guide\n .

\n

You can also use this API operation to choose different subnets and security groups\n for the cluster. You must specify at least two subnets that are in different\n Availability Zones. You can't change which VPC the subnets are from, the subnets must be\n in the same VPC as the subnets that the cluster was created with. For more information\n about the VPC requirements, see https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html in the \n Amazon EKS User Guide\n .

\n

Cluster updates are asynchronous, and they should finish within a few minutes. During\n an update, the cluster status moves to UPDATING (this status transition is\n eventually consistent). When the update is complete (either Failed or\n Successful), the cluster status moves to Active.

", "smithy.api#http": { "method": "POST", "uri": "/clusters/{name}/update-config", @@ -7768,7 +8304,7 @@ "id": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

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

The ID of the subscription.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8221,6 +8757,88 @@ "target": "com.amazonaws.eks#UpdateParam" } }, + "com.amazonaws.eks#UpdatePodIdentityAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.eks#UpdatePodIdentityAssociationRequest" + }, + "output": { + "target": "com.amazonaws.eks#UpdatePodIdentityAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.eks#InvalidParameterException" + }, + { + "target": "com.amazonaws.eks#InvalidRequestException" + }, + { + "target": "com.amazonaws.eks#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.eks#ServerException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates a EKS Pod Identity association. Only the IAM role can be changed; an association can't be moved\n between clusters, namespaces, or service accounts. If you need to edit the namespace\n or service account, you need to remove the association and then create a new\n association with your desired settings.

", + "smithy.api#http": { + "method": "POST", + "uri": "/clusters/{clusterName}/pod-identity-associations/{associationId}", + "code": 200 + } + } + }, + "com.amazonaws.eks#UpdatePodIdentityAssociationRequest": { + "type": "structure", + "members": { + "clusterName": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The name of the cluster that you want to update the association in.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "associationId": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The ID of the association to be updated.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The new IAM role to change the

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

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

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.eks#UpdatePodIdentityAssociationResponse": { + "type": "structure", + "members": { + "association": { + "target": "com.amazonaws.eks#PodIdentityAssociation", + "traits": { + "smithy.api#documentation": "

The full description of the EKS Pod Identity association that was updated.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.eks#UpdateStatus": { "type": "enum", "members": { diff --git a/codegen/sdk-codegen/aws-models/elastic-load-balancing-v2.json b/codegen/sdk-codegen/aws-models/elastic-load-balancing-v2.json index 620c0a0b889..32c4a8e9005 100644 --- a/codegen/sdk-codegen/aws-models/elastic-load-balancing-v2.json +++ b/codegen/sdk-codegen/aws-models/elastic-load-balancing-v2.json @@ -241,10 +241,13 @@ }, { "target": "com.amazonaws.elasticloadbalancingv2#TooManyTagsException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" } ], "traits": { - "smithy.api#documentation": "

Adds the specified tags to the specified Elastic Load Balancing resource. You can tag your\n Application Load Balancers, Network Load Balancers, Gateway Load Balancers, target groups,\n listeners, and rules.

\n

Each tag consists of a key and an optional value. If a resource already has a tag with the\n same key, AddTags updates its value.

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

Adds the specified tags to the specified Elastic Load Balancing resource. You can tag your\n Application Load Balancers, Network Load Balancers, Gateway Load Balancers, target groups,\n trust stores, listeners, and rules.

\n

Each tag consists of a key and an optional value. If a resource already has a tag with the\n same key, AddTags updates its value.

", "smithy.api#examples": [ { "title": "To add tags to a load balancer", @@ -299,6 +302,68 @@ "smithy.api#output": {} } }, + "com.amazonaws.elasticloadbalancingv2#AddTrustStoreRevocations": { + "type": "operation", + "input": { + "target": "com.amazonaws.elasticloadbalancingv2#AddTrustStoreRevocationsInput" + }, + "output": { + "target": "com.amazonaws.elasticloadbalancingv2#AddTrustStoreRevocationsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.elasticloadbalancingv2#InvalidRevocationContentException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationContentNotFoundException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TooManyTrustStoreRevocationEntriesException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Adds the specified revocation file to the specified trust store.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#AddTrustStoreRevocationsInput": { + "type": "structure", + "members": { + "TrustStoreArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the trust store.

", + "smithy.api#required": {} + } + }, + "RevocationContents": { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationContents", + "traits": { + "smithy.api#documentation": "

The revocation file to add.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#AddTrustStoreRevocationsOutput": { + "type": "structure", + "members": { + "TrustStoreRevocations": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreRevocations", + "traits": { + "smithy.api#documentation": "

Information about the revocation file added to the trust store.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.elasticloadbalancingv2#AllocationId": { "type": "string" }, @@ -328,6 +393,43 @@ "com.amazonaws.elasticloadbalancingv2#AlpnPolicyValue": { "type": "string" }, + "com.amazonaws.elasticloadbalancingv2#AnomalyDetection": { + "type": "structure", + "members": { + "Result": { + "target": "com.amazonaws.elasticloadbalancingv2#AnomalyResultEnum", + "traits": { + "smithy.api#documentation": "

The latest anomaly detection result.

" + } + }, + "MitigationInEffect": { + "target": "com.amazonaws.elasticloadbalancingv2#MitigationInEffectEnum", + "traits": { + "smithy.api#documentation": "

Indicates whether anomaly mitigation is in progress.

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

Information about anomaly detection and mitigation.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#AnomalyResultEnum": { + "type": "enum", + "members": { + "ANOMALOUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "anomalous" + } + }, + "NORMAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "normal" + } + } + } + }, "com.amazonaws.elasticloadbalancingv2#AuthenticateCognitoActionAuthenticationRequestExtraParams": { "type": "map", "key": { @@ -659,6 +761,23 @@ "target": "com.amazonaws.elasticloadbalancingv2#AvailabilityZone" } }, + "com.amazonaws.elasticloadbalancingv2#CaCertificatesBundleNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "CaCertificatesBundleNotFound", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The specified ca certificate bundle does not exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.elasticloadbalancingv2#CanonicalHostedZoneId": { "type": "string" }, @@ -809,6 +928,12 @@ { "target": "com.amazonaws.elasticloadbalancingv2#TooManyUniqueTargetGroupsPerLoadBalancerException" }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotReadyException" + }, { "target": "com.amazonaws.elasticloadbalancingv2#UnsupportedProtocolException" } @@ -904,6 +1029,12 @@ "traits": { "smithy.api#documentation": "

The tags to assign to the listener.

" } + }, + "MutualAuthentication": { + "target": "com.amazonaws.elasticloadbalancingv2#MutualAuthenticationAttributes", + "traits": { + "smithy.api#documentation": "

The mutual authentication configuration information.

" + } } }, "traits": { @@ -1449,6 +1580,96 @@ "smithy.api#output": {} } }, + "com.amazonaws.elasticloadbalancingv2#CreateTrustStore": { + "type": "operation", + "input": { + "target": "com.amazonaws.elasticloadbalancingv2#CreateTrustStoreInput" + }, + "output": { + "target": "com.amazonaws.elasticloadbalancingv2#CreateTrustStoreOutput" + }, + "errors": [ + { + "target": "com.amazonaws.elasticloadbalancingv2#CaCertificatesBundleNotFoundException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#DuplicateTagKeysException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#DuplicateTrustStoreNameException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#InvalidCaCertificatesBundleException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TooManyTagsException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TooManyTrustStoresException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a trust store.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#CreateTrustStoreInput": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreName", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the trust store.

\n

This name must be unique per region and cannot be changed after creation.

", + "smithy.api#required": {} + } + }, + "CaCertificatesBundleS3Bucket": { + "target": "com.amazonaws.elasticloadbalancingv2#S3Bucket", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon S3 bucket for the ca certificates bundle.

", + "smithy.api#required": {} + } + }, + "CaCertificatesBundleS3Key": { + "target": "com.amazonaws.elasticloadbalancingv2#S3Key", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon S3 path for the ca certificates bundle.

", + "smithy.api#required": {} + } + }, + "CaCertificatesBundleS3ObjectVersion": { + "target": "com.amazonaws.elasticloadbalancingv2#S3ObjectVersion", + "traits": { + "smithy.api#documentation": "

The Amazon S3 object version for the ca certificates bundle. If undefined the current version is used.

" + } + }, + "Tags": { + "target": "com.amazonaws.elasticloadbalancingv2#TagList", + "traits": { + "smithy.api#documentation": "

The tags to assign to the trust store.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#CreateTrustStoreOutput": { + "type": "structure", + "members": { + "TrustStores": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStores", + "traits": { + "smithy.api#documentation": "

Information about the trust store created.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.elasticloadbalancingv2#CreatedTime": { "type": "timestamp" }, @@ -1676,6 +1897,49 @@ "smithy.api#output": {} } }, + "com.amazonaws.elasticloadbalancingv2#DeleteTrustStore": { + "type": "operation", + "input": { + "target": "com.amazonaws.elasticloadbalancingv2#DeleteTrustStoreInput" + }, + "output": { + "target": "com.amazonaws.elasticloadbalancingv2#DeleteTrustStoreOutput" + }, + "errors": [ + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreInUseException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a trust store.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#DeleteTrustStoreInput": { + "type": "structure", + "members": { + "TrustStoreArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the trust store.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#DeleteTrustStoreOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.elasticloadbalancingv2#DeregisterTargets": { "type": "operation", "input": { @@ -2533,6 +2797,9 @@ }, { "target": "com.amazonaws.elasticloadbalancingv2#TargetGroupNotFoundException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" } ], "traits": { @@ -2911,12 +3178,35 @@ "traits": { "smithy.api#documentation": "

The targets.

" } + }, + "Include": { + "target": "com.amazonaws.elasticloadbalancingv2#ListOfDescribeTargetHealthIncludeOptions", + "traits": { + "smithy.api#documentation": "

Used to inclue anomaly detection information.

" + } } }, "traits": { "smithy.api#input": {} } }, + "com.amazonaws.elasticloadbalancingv2#DescribeTargetHealthInputIncludeEnum": { + "type": "enum", + "members": { + "ANOMALY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AnomalyDetection" + } + }, + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "All" + } + } + } + }, "com.amazonaws.elasticloadbalancingv2#DescribeTargetHealthOutput": { "type": "structure", "members": { @@ -2931,37 +3221,298 @@ "smithy.api#output": {} } }, - "com.amazonaws.elasticloadbalancingv2#Description": { - "type": "string" + "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreAssociationsInput" + }, + "output": { + "target": "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreAssociationsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Describes all resources associated with the specified trust store.

", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "NextMarker", + "pageSize": "PageSize" + } + } }, - "com.amazonaws.elasticloadbalancingv2#DuplicateListenerException": { + "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreAssociationsInput": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + "TrustStoreArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the trust store.

", + "smithy.api#required": {} + } + }, + "Marker": { + "target": "com.amazonaws.elasticloadbalancingv2#Marker", + "traits": { + "smithy.api#documentation": "

The marker for the next set of results. (You received this marker from a previous call.)

" + } + }, + "PageSize": { + "target": "com.amazonaws.elasticloadbalancingv2#PageSize", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return with this call.

" + } } }, "traits": { - "aws.protocols#awsQueryError": { - "code": "DuplicateListener", - "httpResponseCode": 400 - }, - "smithy.api#documentation": "

A listener with the specified port already exists.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 + "smithy.api#input": {} } }, - "com.amazonaws.elasticloadbalancingv2#DuplicateLoadBalancerNameException": { + "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreAssociationsOutput": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" - } - }, - "traits": { - "aws.protocols#awsQueryError": { - "code": "DuplicateLoadBalancerName", - "httpResponseCode": 400 + "TrustStoreAssociations": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreAssociations", + "traits": { + "smithy.api#documentation": "

Information about the resources the trust store is associated to.

" + } + }, + "NextMarker": { + "target": "com.amazonaws.elasticloadbalancingv2#Marker", + "traits": { + "smithy.api#documentation": "

If there are additional results, this is the marker for the next set of results.\n Otherwise, this is null.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreRevocation": { + "type": "structure", + "members": { + "TrustStoreArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the trust store.

" + } + }, + "RevocationId": { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationId", + "traits": { + "smithy.api#documentation": "

The revocation ID of a revocation file in use.

" + } + }, + "RevocationType": { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationType", + "traits": { + "smithy.api#documentation": "

The type of revocation file.

" + } + }, + "NumberOfRevokedEntries": { + "target": "com.amazonaws.elasticloadbalancingv2#NumberOfRevokedEntries", + "traits": { + "smithy.api#documentation": "

The number of revoked certificates.

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

Information about the revocations used by a trust store.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreRevocationResponse": { + "type": "list", + "member": { + "target": "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreRevocation" + } + }, + "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreRevocations": { + "type": "operation", + "input": { + "target": "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreRevocationsInput" + }, + "output": { + "target": "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreRevocationsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationIdNotFoundException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Describes the revocation files in use by the specified \n trust store arn, or revocation ID.

", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "NextMarker", + "pageSize": "PageSize" + } + } + }, + "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreRevocationsInput": { + "type": "structure", + "members": { + "TrustStoreArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the trust store.

", + "smithy.api#required": {} + } + }, + "RevocationIds": { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationIds", + "traits": { + "smithy.api#documentation": "

The revocation IDs of the revocation files you want to describe.

" + } + }, + "Marker": { + "target": "com.amazonaws.elasticloadbalancingv2#Marker", + "traits": { + "smithy.api#documentation": "

The marker for the next set of results. (You received this marker from a previous call.)

" + } + }, + "PageSize": { + "target": "com.amazonaws.elasticloadbalancingv2#PageSize", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return with this call.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreRevocationsOutput": { + "type": "structure", + "members": { + "TrustStoreRevocations": { + "target": "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreRevocationResponse", + "traits": { + "smithy.api#documentation": "

Information about the revocation file in the trust store.

" + } + }, + "NextMarker": { + "target": "com.amazonaws.elasticloadbalancingv2#Marker", + "traits": { + "smithy.api#documentation": "

If there are additional results, this is the marker for the next set of results.\n Otherwise, this is null.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#DescribeTrustStores": { + "type": "operation", + "input": { + "target": "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoresInput" + }, + "output": { + "target": "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoresOutput" + }, + "errors": [ + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Describes all trust stores for a given account \n by trust store arn’s or name.

", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "NextMarker", + "pageSize": "PageSize" + } + } + }, + "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoresInput": { + "type": "structure", + "members": { + "TrustStoreArns": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArns", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the trust store.

" + } + }, + "Names": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNames", + "traits": { + "smithy.api#documentation": "

The names of the trust stores.

" + } + }, + "Marker": { + "target": "com.amazonaws.elasticloadbalancingv2#Marker", + "traits": { + "smithy.api#documentation": "

The marker for the next set of results. (You received this marker from a previous call.)

" + } + }, + "PageSize": { + "target": "com.amazonaws.elasticloadbalancingv2#PageSize", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return with this call.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoresOutput": { + "type": "structure", + "members": { + "TrustStores": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStores", + "traits": { + "smithy.api#documentation": "

Information about the trust stores.

" + } + }, + "NextMarker": { + "target": "com.amazonaws.elasticloadbalancingv2#Marker", + "traits": { + "smithy.api#documentation": "

If there are additional results, this is the marker for the next set of results.\n Otherwise, this is null.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#Description": { + "type": "string" + }, + "com.amazonaws.elasticloadbalancingv2#DuplicateListenerException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "DuplicateListener", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

A listener with the specified port already exists.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.elasticloadbalancingv2#DuplicateLoadBalancerNameException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "DuplicateLoadBalancerName", + "httpResponseCode": 400 }, "smithy.api#documentation": "

A load balancer with the specified name already exists.

", "smithy.api#error": "client", @@ -3002,6 +3553,23 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.elasticloadbalancingv2#DuplicateTrustStoreNameException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "DuplicateTrustStoreName", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

A trust store with the specified name already exists.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.elasticloadbalancingv2#ElasticLoadBalancing_v10": { "type": "service", "version": "2015-12-01", @@ -3012,6 +3580,9 @@ { "target": "com.amazonaws.elasticloadbalancingv2#AddTags" }, + { + "target": "com.amazonaws.elasticloadbalancingv2#AddTrustStoreRevocations" + }, { "target": "com.amazonaws.elasticloadbalancingv2#CreateListener" }, @@ -3024,6 +3595,9 @@ { "target": "com.amazonaws.elasticloadbalancingv2#CreateTargetGroup" }, + { + "target": "com.amazonaws.elasticloadbalancingv2#CreateTrustStore" + }, { "target": "com.amazonaws.elasticloadbalancingv2#DeleteListener" }, @@ -3036,6 +3610,9 @@ { "target": "com.amazonaws.elasticloadbalancingv2#DeleteTargetGroup" }, + { + "target": "com.amazonaws.elasticloadbalancingv2#DeleteTrustStore" + }, { "target": "com.amazonaws.elasticloadbalancingv2#DeregisterTargets" }, @@ -3072,6 +3649,21 @@ { "target": "com.amazonaws.elasticloadbalancingv2#DescribeTargetHealth" }, + { + "target": "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreAssociations" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#DescribeTrustStoreRevocations" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#DescribeTrustStores" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#GetTrustStoreCaCertificatesBundle" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#GetTrustStoreRevocationContent" + }, { "target": "com.amazonaws.elasticloadbalancingv2#ModifyListener" }, @@ -3087,6 +3679,9 @@ { "target": "com.amazonaws.elasticloadbalancingv2#ModifyTargetGroupAttributes" }, + { + "target": "com.amazonaws.elasticloadbalancingv2#ModifyTrustStore" + }, { "target": "com.amazonaws.elasticloadbalancingv2#RegisterTargets" }, @@ -3096,6 +3691,9 @@ { "target": "com.amazonaws.elasticloadbalancingv2#RemoveTags" }, + { + "target": "com.amazonaws.elasticloadbalancingv2#RemoveTrustStoreRevocations" + }, { "target": "com.amazonaws.elasticloadbalancingv2#SetIpAddressType" }, @@ -4241,6 +4839,111 @@ "smithy.api#documentation": "

Information about a forward action.

" } }, + "com.amazonaws.elasticloadbalancingv2#GetTrustStoreCaCertificatesBundle": { + "type": "operation", + "input": { + "target": "com.amazonaws.elasticloadbalancingv2#GetTrustStoreCaCertificatesBundleInput" + }, + "output": { + "target": "com.amazonaws.elasticloadbalancingv2#GetTrustStoreCaCertificatesBundleOutput" + }, + "errors": [ + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the ca certificate bundle.

\n

This action returns a pre-signed S3 URI which is \n active for ten minutes.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#GetTrustStoreCaCertificatesBundleInput": { + "type": "structure", + "members": { + "TrustStoreArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the trust store.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#GetTrustStoreCaCertificatesBundleOutput": { + "type": "structure", + "members": { + "Location": { + "target": "com.amazonaws.elasticloadbalancingv2#Location", + "traits": { + "smithy.api#documentation": "

The ca certificate bundles Amazon S3 URI.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#GetTrustStoreRevocationContent": { + "type": "operation", + "input": { + "target": "com.amazonaws.elasticloadbalancingv2#GetTrustStoreRevocationContentInput" + }, + "output": { + "target": "com.amazonaws.elasticloadbalancingv2#GetTrustStoreRevocationContentOutput" + }, + "errors": [ + { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationIdNotFoundException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the specified revocation file.

\n

This action returns a pre-signed S3 URI which is \n active for ten minutes.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#GetTrustStoreRevocationContentInput": { + "type": "structure", + "members": { + "TrustStoreArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the trust store.

", + "smithy.api#required": {} + } + }, + "RevocationId": { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The revocation ID of the revocation file.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#GetTrustStoreRevocationContentOutput": { + "type": "structure", + "members": { + "Location": { + "target": "com.amazonaws.elasticloadbalancingv2#Location", + "traits": { + "smithy.api#documentation": "

The revocation files Amazon S3 URI.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.elasticloadbalancingv2#GrpcCode": { "type": "string" }, @@ -4351,6 +5054,9 @@ "com.amazonaws.elasticloadbalancingv2#IPv6Address": { "type": "string" }, + "com.amazonaws.elasticloadbalancingv2#IgnoreClientCertificateExpiry": { + "type": "boolean" + }, "com.amazonaws.elasticloadbalancingv2#IncompatibleProtocolsException": { "type": "structure", "members": { @@ -4368,6 +5074,23 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.elasticloadbalancingv2#InvalidCaCertificatesBundleException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidCaCertificatesBundle", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The specified ca certificate bundle is in an invalid format, or corrupt.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.elasticloadbalancingv2#InvalidConfigurationRequestException": { "type": "structure", "members": { @@ -4402,6 +5125,23 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.elasticloadbalancingv2#InvalidRevocationContentException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidRevocationContent", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The provided revocation file is an invalid format, or uses an incorrect algorithm.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.elasticloadbalancingv2#InvalidSchemeException": { "type": "structure", "members": { @@ -4519,6 +5259,12 @@ "target": "com.amazonaws.elasticloadbalancingv2#Limit" } }, + "com.amazonaws.elasticloadbalancingv2#ListOfDescribeTargetHealthIncludeOptions": { + "type": "list", + "member": { + "target": "com.amazonaws.elasticloadbalancingv2#DescribeTargetHealthInputIncludeEnum" + } + }, "com.amazonaws.elasticloadbalancingv2#ListOfString": { "type": "list", "member": { @@ -4575,6 +5321,12 @@ "traits": { "smithy.api#documentation": "

[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN)\n policy.

" } + }, + "MutualAuthentication": { + "target": "com.amazonaws.elasticloadbalancingv2#MutualAuthenticationAttributes", + "traits": { + "smithy.api#documentation": "

The mutual authentication configuration information.

" + } } }, "traits": { @@ -4758,7 +5510,7 @@ "Key": { "target": "com.amazonaws.elasticloadbalancingv2#LoadBalancerAttributeKey", "traits": { - "smithy.api#documentation": "

The name of the attribute.

\n

The following attributes are supported by all load balancers:

\n \n

The following attributes are supported by both Application Load Balancers and Network Load\n Balancers:

\n \n

The following attributes are supported by only Application Load Balancers:

\n \n

The following attributes are supported by only Network Load Balancers:

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

The name of the attribute.

\n

The following attributes are supported by all load balancers:

\n \n

The following attributes are supported by both Application Load Balancers and Network Load\n Balancers:

\n \n

The following attributes are supported by only Application Load Balancers:

\n \n

The following attributes are supported by only Network Load Balancers:

\n " } }, "Value": { @@ -4924,6 +5676,9 @@ "target": "com.amazonaws.elasticloadbalancingv2#LoadBalancer" } }, + "com.amazonaws.elasticloadbalancingv2#Location": { + "type": "string" + }, "com.amazonaws.elasticloadbalancingv2#Marker": { "type": "string" }, @@ -4950,6 +5705,26 @@ "com.amazonaws.elasticloadbalancingv2#Max": { "type": "string" }, + "com.amazonaws.elasticloadbalancingv2#MitigationInEffectEnum": { + "type": "enum", + "members": { + "YES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "yes" + } + }, + "NO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "no" + } + } + } + }, + "com.amazonaws.elasticloadbalancingv2#Mode": { + "type": "string" + }, "com.amazonaws.elasticloadbalancingv2#ModifyListener": { "type": "operation", "input": { @@ -5007,6 +5782,12 @@ { "target": "com.amazonaws.elasticloadbalancingv2#TooManyUniqueTargetGroupsPerLoadBalancerException" }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotReadyException" + }, { "target": "com.amazonaws.elasticloadbalancingv2#UnsupportedProtocolException" } @@ -5092,6 +5873,12 @@ "traits": { "smithy.api#documentation": "

[TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. You\n can specify one policy name. The following are the possible values:

\n \n

For more information, see ALPN\n policies in the Network Load Balancers Guide.

" } + }, + "MutualAuthentication": { + "target": "com.amazonaws.elasticloadbalancingv2#MutualAuthenticationAttributes", + "traits": { + "smithy.api#documentation": "

The mutual authentication configuration information.

" + } } }, "traits": { @@ -5569,9 +6356,116 @@ "smithy.api#output": {} } }, + "com.amazonaws.elasticloadbalancingv2#ModifyTrustStore": { + "type": "operation", + "input": { + "target": "com.amazonaws.elasticloadbalancingv2#ModifyTrustStoreInput" + }, + "output": { + "target": "com.amazonaws.elasticloadbalancingv2#ModifyTrustStoreOutput" + }, + "errors": [ + { + "target": "com.amazonaws.elasticloadbalancingv2#CaCertificatesBundleNotFoundException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#InvalidCaCertificatesBundleException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Update the ca certificate bundle for a given trust store.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#ModifyTrustStoreInput": { + "type": "structure", + "members": { + "TrustStoreArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the trust store.

", + "smithy.api#required": {} + } + }, + "CaCertificatesBundleS3Bucket": { + "target": "com.amazonaws.elasticloadbalancingv2#S3Bucket", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon S3 bucket for the ca certificates bundle.

", + "smithy.api#required": {} + } + }, + "CaCertificatesBundleS3Key": { + "target": "com.amazonaws.elasticloadbalancingv2#S3Key", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon S3 path for the ca certificates bundle.

", + "smithy.api#required": {} + } + }, + "CaCertificatesBundleS3ObjectVersion": { + "target": "com.amazonaws.elasticloadbalancingv2#S3ObjectVersion", + "traits": { + "smithy.api#documentation": "

The Amazon S3 object version for the ca certificates bundle. If undefined the current version is used.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#ModifyTrustStoreOutput": { + "type": "structure", + "members": { + "TrustStores": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStores", + "traits": { + "smithy.api#documentation": "

Information about the modified trust store.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#MutualAuthenticationAttributes": { + "type": "structure", + "members": { + "Mode": { + "target": "com.amazonaws.elasticloadbalancingv2#Mode", + "traits": { + "smithy.api#documentation": "

The client certificate handling method. Options are off, \n passthrough or verify. The default value is \n off.

" + } + }, + "TrustStoreArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the trust store.

" + } + }, + "IgnoreClientCertificateExpiry": { + "target": "com.amazonaws.elasticloadbalancingv2#IgnoreClientCertificateExpiry", + "traits": { + "smithy.api#documentation": "

Indicates whether expired client certificates are ignored.

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

Information about the mutual authentication attributes of a listener.

" + } + }, "com.amazonaws.elasticloadbalancingv2#Name": { "type": "string" }, + "com.amazonaws.elasticloadbalancingv2#NumberOfCaCertificates": { + "type": "integer" + }, + "com.amazonaws.elasticloadbalancingv2#NumberOfRevokedEntries": { + "type": "long" + }, "com.amazonaws.elasticloadbalancingv2#OperationNotPermittedException": { "type": "structure", "members": { @@ -5990,6 +6884,9 @@ }, { "target": "com.amazonaws.elasticloadbalancingv2#TooManyTagsException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" } ], "traits": { @@ -6011,22 +6908,73 @@ ] } }, - "com.amazonaws.elasticloadbalancingv2#RemoveTagsInput": { + "com.amazonaws.elasticloadbalancingv2#RemoveTagsInput": { + "type": "structure", + "members": { + "ResourceArns": { + "target": "com.amazonaws.elasticloadbalancingv2#ResourceArns", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.elasticloadbalancingv2#TagKeys", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The tag keys for the tags to remove.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#RemoveTagsOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#RemoveTrustStoreRevocations": { + "type": "operation", + "input": { + "target": "com.amazonaws.elasticloadbalancingv2#RemoveTrustStoreRevocationsInput" + }, + "output": { + "target": "com.amazonaws.elasticloadbalancingv2#RemoveTrustStoreRevocationsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationIdNotFoundException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Removes the specified revocation file from the specified trust store.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#RemoveTrustStoreRevocationsInput": { "type": "structure", "members": { - "ResourceArns": { - "target": "com.amazonaws.elasticloadbalancingv2#ResourceArns", + "TrustStoreArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

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

The Amazon Resource Name (ARN) of the trust store.

", "smithy.api#required": {} } }, - "TagKeys": { - "target": "com.amazonaws.elasticloadbalancingv2#TagKeys", + "RevocationIds": { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationIds", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The tag keys for the tags to remove.

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

The revocation IDs of the revocation files you want to remove.

", "smithy.api#required": {} } } @@ -6035,7 +6983,7 @@ "smithy.api#input": {} } }, - "com.amazonaws.elasticloadbalancingv2#RemoveTagsOutput": { + "com.amazonaws.elasticloadbalancingv2#RemoveTrustStoreRevocationsOutput": { "type": "structure", "members": {}, "traits": { @@ -6068,6 +7016,98 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.elasticloadbalancingv2#RevocationContent": { + "type": "structure", + "members": { + "S3Bucket": { + "target": "com.amazonaws.elasticloadbalancingv2#S3Bucket", + "traits": { + "smithy.api#documentation": "

The Amazon S3 bucket for the revocation file.

" + } + }, + "S3Key": { + "target": "com.amazonaws.elasticloadbalancingv2#S3Key", + "traits": { + "smithy.api#documentation": "

The Amazon S3 path for the revocation file.

" + } + }, + "S3ObjectVersion": { + "target": "com.amazonaws.elasticloadbalancingv2#S3ObjectVersion", + "traits": { + "smithy.api#documentation": "

The Amazon S3 object version of the revocation file.

" + } + }, + "RevocationType": { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationType", + "traits": { + "smithy.api#documentation": "

The type of revocation file.

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

Information about a revocation file.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#RevocationContentNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "RevocationContentNotFound", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The specified revocation file does not exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.elasticloadbalancingv2#RevocationContents": { + "type": "list", + "member": { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationContent" + } + }, + "com.amazonaws.elasticloadbalancingv2#RevocationId": { + "type": "long" + }, + "com.amazonaws.elasticloadbalancingv2#RevocationIdNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "RevocationIdNotFound", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The specified revocation ID does not exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.elasticloadbalancingv2#RevocationIds": { + "type": "list", + "member": { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationId" + } + }, + "com.amazonaws.elasticloadbalancingv2#RevocationType": { + "type": "enum", + "members": { + "CRL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CRL" + } + } + } + }, "com.amazonaws.elasticloadbalancingv2#Rule": { "type": "structure", "members": { @@ -6235,6 +7275,15 @@ "target": "com.amazonaws.elasticloadbalancingv2#Rule" } }, + "com.amazonaws.elasticloadbalancingv2#S3Bucket": { + "type": "string" + }, + "com.amazonaws.elasticloadbalancingv2#S3Key": { + "type": "string" + }, + "com.amazonaws.elasticloadbalancingv2#S3ObjectVersion": { + "type": "string" + }, "com.amazonaws.elasticloadbalancingv2#SSLPolicyNotFoundException": { "type": "structure", "members": { @@ -7023,7 +8072,7 @@ "Key": { "target": "com.amazonaws.elasticloadbalancingv2#TargetGroupAttributeKey", "traits": { - "smithy.api#documentation": "

The name of the attribute.

\n

The following attributes are supported by all load balancers:

\n \n

The following attributes are supported by Application Load Balancers and \n Network Load Balancers:

\n \n

The following attributes are supported only if the load balancer is an Application Load\n Balancer and the target is an instance or an IP address:

\n \n

The following attribute is supported only if the load balancer is an Application Load\n Balancer and the target is a Lambda function:

\n \n

The following attributes are supported only by Network Load Balancers:

\n \n

The following attributes are supported only by Gateway Load Balancers:

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

The name of the attribute.

\n

The following attributes are supported by all load balancers:

\n \n

The following attributes are supported by Application Load Balancers and \n Network Load Balancers:

\n \n

The following attributes are supported only if the load balancer is an Application Load\n Balancer and the target is an instance or an IP address:

\n \n

The following attribute is supported only if the load balancer is an Application Load\n Balancer and the target is a Lambda function:

\n \n

The following attributes are supported only by Network Load Balancers:

\n \n

The following attributes are supported only by Gateway Load Balancers:

\n " } }, "Value": { @@ -7206,6 +8255,12 @@ "traits": { "smithy.api#documentation": "

The health information for the target.

" } + }, + "AnomalyDetection": { + "target": "com.amazonaws.elasticloadbalancingv2#AnomalyDetection", + "traits": { + "smithy.api#documentation": "

The anomaly detection result for the target.

\n

If no anomalies were detected, the result is normal.

\n

If anomalies were detected, the result is anomalous.

" + } } }, "traits": { @@ -7482,7 +8537,7 @@ "code": "TooManyTags", "httpResponseCode": 400 }, - "smithy.api#documentation": "

You've reached the limit on the number of tags per load balancer.

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

You've reached the limit on the number of tags for this resource.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -7521,6 +8576,40 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.elasticloadbalancingv2#TooManyTrustStoreRevocationEntriesException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "TooManyTrustStoreRevocationEntries", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The specified trust store has too many revocation entries.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.elasticloadbalancingv2#TooManyTrustStoresException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "TooManyTrustStores", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

You've reached the limit on the number of trust stores for your Amazon Web Services account.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.elasticloadbalancingv2#TooManyUniqueTargetGroupsPerLoadBalancerException": { "type": "structure", "members": { @@ -7538,6 +8627,207 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.elasticloadbalancingv2#TotalRevokedEntries": { + "type": "long" + }, + "com.amazonaws.elasticloadbalancingv2#TrustStore": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreName", + "traits": { + "smithy.api#documentation": "

The name of the trust store.

" + } + }, + "TrustStoreArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the trust store.

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

The current status of the trust store.

" + } + }, + "NumberOfCaCertificates": { + "target": "com.amazonaws.elasticloadbalancingv2#NumberOfCaCertificates", + "traits": { + "smithy.api#documentation": "

The number of ca certificates in the trust store.

" + } + }, + "TotalRevokedEntries": { + "target": "com.amazonaws.elasticloadbalancingv2#TotalRevokedEntries", + "traits": { + "smithy.api#documentation": "

The number of revoked certificates in the trust store.

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

Information about a trust store.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreArn": { + "type": "string" + }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreArns": { + "type": "list", + "member": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn" + } + }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreAssociation": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreAssociationResourceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

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

Information about the resources a trust store is associated with.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreAssociationResourceArn": { + "type": "string" + }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreAssociations": { + "type": "list", + "member": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreAssociation" + } + }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreInUseException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "TrustStoreInUse", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The specified trust store is currently in use.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 32 + }, + "smithy.api#pattern": "^([a-zA-Z0-9]+-)*[a-zA-Z0-9]+$" + } + }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreNames": { + "type": "list", + "member": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreName" + } + }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "TrustStoreNotFound", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The specified trust store does not exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreNotReadyException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "TrustStoreNotReady", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The specified trust store is not active.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreRevocation": { + "type": "structure", + "members": { + "TrustStoreArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the trust store.

" + } + }, + "RevocationId": { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationId", + "traits": { + "smithy.api#documentation": "

The revocation ID of the revocation file.

" + } + }, + "RevocationType": { + "target": "com.amazonaws.elasticloadbalancingv2#RevocationType", + "traits": { + "smithy.api#documentation": "

The type of revocation file.

" + } + }, + "NumberOfRevokedEntries": { + "target": "com.amazonaws.elasticloadbalancingv2#NumberOfRevokedEntries", + "traits": { + "smithy.api#documentation": "

The number of revoked certificates.

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

Information about a revocation file in use by a trust store.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreRevocations": { + "type": "list", + "member": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreRevocation" + } + }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" + } + } + } + }, + "com.amazonaws.elasticloadbalancingv2#TrustStores": { + "type": "list", + "member": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStore" + } + }, "com.amazonaws.elasticloadbalancingv2#UnsupportedProtocolException": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/freetier.json b/codegen/sdk-codegen/aws-models/freetier.json new file mode 100644 index 00000000000..134eb6c557c --- /dev/null +++ b/codegen/sdk-codegen/aws-models/freetier.json @@ -0,0 +1,1002 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.freetier#AWSFreeTierService": { + "type": "service", + "version": "2023-09-07", + "operations": [ + { + "target": "com.amazonaws.freetier#GetFreeTierUsage" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "FreeTier", + "endpointPrefix": "freetier" + }, + "aws.auth#sigv4": { + "name": "freetier" + }, + "aws.protocols#awsJson1_0": {}, + "smithy.api#documentation": "

You can use the Amazon Web Services Free Tier API to query programmatically your Free Tier usage data.

\n

Free Tier tracks your monthly usage data for all free tier offers that are associated with your\n Amazon Web Services account. You can use the Free Tier API to filter and show only the data that you want.

\n

Service endpoint

\n

The Free Tier API provides the following endpoint:

\n \n

For more information, see Using the Amazon Web Services Free Tier in the Billing User Guide.

", + "smithy.api#title": "AWS Free Tier", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "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" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://freetier-fips.{Region}.api.aws", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://freetier.us-east-1.api.aws", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "freetier", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://freetier-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-cn-global" + ] + } + ], + "endpoint": { + "url": "https://freetier.cn-northwest-1.api.amazonwebservices.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "freetier", + "signingRegion": "cn-northwest-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://freetier.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://freetier-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-cn-global" + ] + } + ], + "endpoint": { + "url": "https://freetier.cn-northwest-1.api.amazonwebservices.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "freetier", + "signingRegion": "cn-northwest-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://freetier.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region aws-global with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "freetier", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://freetier.us-east-1.api.aws" + } + }, + "params": { + "Region": "aws-global", + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://freetier-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "freetier", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://freetier.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region aws-cn-global with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "freetier", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://freetier.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "aws-cn-global", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://freetier-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://freetier.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://freetier-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://freetier.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "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": { + "Region": "us-east-1", + "UseFIPS": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.freetier#Dimension": { + "type": "enum", + "members": { + "SERVICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SERVICE" + } + }, + "OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OPERATION" + } + }, + "USAGE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USAGE_TYPE" + } + }, + "REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REGION" + } + }, + "FREE_TIER_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FREE_TIER_TYPE" + } + }, + "DESCRIPTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DESCRIPTION" + } + }, + "USAGE_PERCENTAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USAGE_PERCENTAGE" + } + } + } + }, + "com.amazonaws.freetier#DimensionValues": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.freetier#Dimension", + "traits": { + "smithy.api#documentation": "

The name of the dimension that you want to filter on.

", + "smithy.api#required": {} + } + }, + "Values": { + "target": "com.amazonaws.freetier#Values", + "traits": { + "smithy.api#documentation": "

The metadata values you can specify to filter upon, so that the results all match at least\n one of the specified values.

", + "smithy.api#required": {} + } + }, + "MatchOptions": { + "target": "com.amazonaws.freetier#MatchOptions", + "traits": { + "smithy.api#documentation": "

The match options that you can use to filter your results. You can specify only one of\n these values in the array.

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

Contains the specifications for the filters to use for your request.

" + } + }, + "com.amazonaws.freetier#Expression": { + "type": "structure", + "members": { + "Or": { + "target": "com.amazonaws.freetier#Expressions", + "traits": { + "smithy.api#documentation": "

Return results that match any of the Expressions that you specified. in the\n array.

" + } + }, + "And": { + "target": "com.amazonaws.freetier#Expressions", + "traits": { + "smithy.api#documentation": "

Return results that match all Expressions that you specified in the\n array.

" + } + }, + "Not": { + "target": "com.amazonaws.freetier#Expression", + "traits": { + "smithy.api#documentation": "

Return results that don’t match the Expression that you specified.

" + } + }, + "Dimensions": { + "target": "com.amazonaws.freetier#DimensionValues", + "traits": { + "smithy.api#documentation": "

The specific dimension, values, and match type to filter objects with.

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

Use Expression to filter in the GetFreeTierUsage API operation.

\n

You can use the following patterns:

\n \n

For simple dimension values, you can set the dimension name, values,\n and match type for the filters that you plan to use.

\n

\n Example for simple dimension values\n

\n

You can filter to match exactly for REGION==us-east-1 OR\n REGION==us-west-1.

\n

The corresponding Expression appears like the following: { \"Dimensions\": { \"Key\": \"REGION\", \"Values\": [ \"us-east-1\", \"us-west-1\" ], \"MatchOptions\": [\"EQUALS\"] } }\n

\n

As shown in the previous example, lists of dimension values are combined with OR when\n you apply the filter.

\n

For complex expressions with logical operators, you can have nested\n expressions to use the logical operators and specify advanced filtering.

\n

\n Example for complex expressions with logical operators\n

\n

You can filter by ((REGION == us-east-1 OR REGION == us-west-1) OR (SERVICE CONTAINS\n AWSLambda)) AND (USAGE_TYPE !CONTAINS DataTransfer).

\n

The corresponding Expression appears like the following: { \"And\": [\n {\"Or\": [ {\"Dimensions\": { \"Key\": \"REGION\", \"Values\": [ \"us-east-1\", \"us-west-1\" ],\n \"MatchOptions\": [\"EQUALS\"] }}, {\"Dimensions\": { \"Key\": \"SERVICE\", \"Values\": [\"AWSLambda\"], \"MatchOptions\": [\"CONTAINS\"] } } ]}, {\"Not\": {\"Dimensions\": { \"Key\": \"USAGE_TYPE\", \"Values\": [\"DataTransfer\"], \"MatchOptions\": [\"CONTAINS\"] }}} ] }\n

\n

In the following Contents, you must specify exactly one of the\n following root operators.

" + } + }, + "com.amazonaws.freetier#Expressions": { + "type": "list", + "member": { + "target": "com.amazonaws.freetier#Expression" + } + }, + "com.amazonaws.freetier#FreeTierUsage": { + "type": "structure", + "members": { + "service": { + "target": "com.amazonaws.freetier#GenericString", + "traits": { + "smithy.api#documentation": "

The name of the Amazon Web Service providing the Free Tier offer. For example, this can be\n Amazon Elastic Compute Cloud.

" + } + }, + "operation": { + "target": "com.amazonaws.freetier#GenericString", + "traits": { + "smithy.api#documentation": "

Describes usageType more granularly with the specific Amazon Web Service API\n operation. For example, this can be the RunInstances API operation for\n Amazon Elastic Compute Cloud.

" + } + }, + "usageType": { + "target": "com.amazonaws.freetier#GenericString", + "traits": { + "smithy.api#documentation": "

Describes the usage details of the offer. For example, this might be\n Global-BoxUsage:freetrial.

" + } + }, + "region": { + "target": "com.amazonaws.freetier#GenericString", + "traits": { + "smithy.api#documentation": "

Describes the Amazon Web Services Region for which this offer is applicable

" + } + }, + "actualUsageAmount": { + "target": "com.amazonaws.freetier#GenericDouble", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

Describes the actual usage accrued month-to-day (MTD) that you've used so far.

" + } + }, + "forecastedUsageAmount": { + "target": "com.amazonaws.freetier#GenericDouble", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

Describes the forecasted usage by the month that you're expected to use.

" + } + }, + "limit": { + "target": "com.amazonaws.freetier#GenericDouble", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

Describes the maximum usage allowed in Free Tier.

" + } + }, + "unit": { + "target": "com.amazonaws.freetier#GenericString", + "traits": { + "smithy.api#documentation": "

Describes the unit of the usageType, such as Hrs.

" + } + }, + "description": { + "target": "com.amazonaws.freetier#GenericString", + "traits": { + "smithy.api#documentation": "

The description of the Free Tier offer.

" + } + }, + "freeTierType": { + "target": "com.amazonaws.freetier#GenericString", + "traits": { + "smithy.api#documentation": "

Describes the type of the Free Tier offer. For example, the offer can be \"12 Months\n Free\", \"Always Free\", and \"Free Trial\".

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

Consists of a Amazon Web Services Free Tier offer’s metadata and your data usage for the offer.

" + } + }, + "com.amazonaws.freetier#FreeTierUsages": { + "type": "list", + "member": { + "target": "com.amazonaws.freetier#FreeTierUsage" + } + }, + "com.amazonaws.freetier#GenericDouble": { + "type": "double", + "traits": { + "smithy.api#default": 0 + } + }, + "com.amazonaws.freetier#GenericString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + }, + "smithy.api#pattern": "^[\\S\\s]*$" + } + }, + "com.amazonaws.freetier#GetFreeTierUsage": { + "type": "operation", + "input": { + "target": "com.amazonaws.freetier#GetFreeTierUsageRequest" + }, + "output": { + "target": "com.amazonaws.freetier#GetFreeTierUsageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.freetier#InternalServerException" + }, + { + "target": "com.amazonaws.freetier#ThrottlingException" + }, + { + "target": "com.amazonaws.freetier#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of all Free Tier usage objects that match your filters.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "freeTierUsages" + } + } + }, + "com.amazonaws.freetier#GetFreeTierUsageRequest": { + "type": "structure", + "members": { + "filter": { + "target": "com.amazonaws.freetier#Expression", + "traits": { + "smithy.api#documentation": "

An expression that specifies the conditions that you want each FreeTierUsage object\n to meet.

" + } + }, + "maxResults": { + "target": "com.amazonaws.freetier#MaxResults", + "traits": { + "smithy.api#default": 10, + "smithy.api#documentation": "

The maximum number of results to return in the response. MaxResults means\n that there can be up to the specified number of values, but there might be fewer results based\n on your filters.

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

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.freetier#GetFreeTierUsageResponse": { + "type": "structure", + "members": { + "freeTierUsages": { + "target": "com.amazonaws.freetier#FreeTierUsages", + "traits": { + "smithy.api#documentation": "

The list of Free Tier usage objects that meet your filter expression.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.freetier#NextPageToken", + "traits": { + "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.freetier#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.freetier#GenericString", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

An unexpected error occurred during the processing of your request.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.freetier#MatchOption": { + "type": "enum", + "members": { + "EQUALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EQUALS" + } + }, + "STARTS_WITH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STARTS_WITH" + } + }, + "ENDS_WITH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENDS_WITH" + } + }, + "CONTAINS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTAINS" + } + }, + "GREATER_THAN_OR_EQUAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GREATER_THAN_OR_EQUAL" + } + } + } + }, + "com.amazonaws.freetier#MatchOptions": { + "type": "list", + "member": { + "target": "com.amazonaws.freetier#MatchOption" + } + }, + "com.amazonaws.freetier#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 10, + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.freetier#NextPageToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 8192 + }, + "smithy.api#pattern": "^[\\S\\s]*$" + } + }, + "com.amazonaws.freetier#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.freetier#GenericString", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The request was denied due to request throttling.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.freetier#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.freetier#GenericString", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The input fails to satisfy the constraints specified by an Amazon Web Service.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.freetier#Value": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20 + }, + "smithy.api#pattern": "^[ a-zA-Z0-9\\-\\:\\.\\_\\/\\,\\$\\(\\)]*$" + } + }, + "com.amazonaws.freetier#Values": { + "type": "list", + "member": { + "target": "com.amazonaws.freetier#Value" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + } + } +} \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/fsx.json b/codegen/sdk-codegen/aws-models/fsx.json index 8e894bd4a02..36495377385 100644 --- a/codegen/sdk-codegen/aws-models/fsx.json +++ b/codegen/sdk-codegen/aws-models/fsx.json @@ -53,6 +53,9 @@ { "target": "com.amazonaws.fsx#CopyBackup" }, + { + "target": "com.amazonaws.fsx#CopySnapshotAndUpdateVolume" + }, { "target": "com.amazonaws.fsx#CreateBackup" }, @@ -122,6 +125,9 @@ { "target": "com.amazonaws.fsx#DescribeFileSystems" }, + { + "target": "com.amazonaws.fsx#DescribeSharedVpcConfiguration" + }, { "target": "com.amazonaws.fsx#DescribeSnapshots" }, @@ -161,6 +167,9 @@ { "target": "com.amazonaws.fsx#UpdateFileSystem" }, + { + "target": "com.amazonaws.fsx#UpdateSharedVpcConfiguration" + }, { "target": "com.amazonaws.fsx#UpdateSnapshot" }, @@ -1277,7 +1286,7 @@ "ProgressPercent": { "target": "com.amazonaws.fsx#ProgressPercent", "traits": { - "smithy.api#documentation": "

The percentage-complete status of a STORAGE_OPTIMIZATION administrative\n action. Does not apply to any other administrative action type.

" + "smithy.api#documentation": "

The percentage-complete status of a STORAGE_OPTIMIZATION administrative action. Does not apply to any\n other administrative action type.

" } }, "RequestTime": { @@ -1289,13 +1298,13 @@ "Status": { "target": "com.amazonaws.fsx#Status", "traits": { - "smithy.api#documentation": "

Describes the status of the administrative action, as follows:

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

The status of the administrative action, as follows:

\n " } }, "TargetFileSystemValues": { "target": "com.amazonaws.fsx#FileSystem", "traits": { - "smithy.api#documentation": "

Describes the target value for the administration action, \n provided in the UpdateFileSystem operation. \n Returned for FILE_SYSTEM_UPDATE administrative actions. \n

" + "smithy.api#documentation": "

The target value for the administration action, provided in the\n UpdateFileSystem operation. Returned for\n FILE_SYSTEM_UPDATE administrative actions.

" } }, "FailureDetails": { @@ -1306,10 +1315,22 @@ }, "TargetSnapshotValues": { "target": "com.amazonaws.fsx#Snapshot" + }, + "TotalTransferBytes": { + "target": "com.amazonaws.fsx#TotalTransferBytes", + "traits": { + "smithy.api#documentation": "

The number of bytes that have transferred for the FSx for OpenZFS snapshot\n that you're copying.

" + } + }, + "RemainingTransferBytes": { + "target": "com.amazonaws.fsx#RemainingTransferBytes", + "traits": { + "smithy.api#documentation": "

The remaining bytes to transfer for the FSx for OpenZFS snapshot that you're\n copying.

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

Describes a specific Amazon FSx administrative action for the current Windows,\n Lustre, or OpenZFS file system.

" + "smithy.api#documentation": "

Describes a specific Amazon FSx administrative action for the current Windows,\n Lustre, OpenZFS, or ONTAP file system or volume.

" } }, "com.amazonaws.fsx#AdministrativeActionFailureDetails": { @@ -1400,10 +1421,22 @@ "traits": { "smithy.api#enumValue": "MISCONFIGURED_STATE_RECOVERY" } + }, + "VOLUME_UPDATE_WITH_SNAPSHOT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VOLUME_UPDATE_WITH_SNAPSHOT" + } + }, + "VOLUME_INITIALIZE_WITH_SNAPSHOT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VOLUME_INITIALIZE_WITH_SNAPSHOT" + } } }, "traits": { - "smithy.api#documentation": "

Describes the type of administrative action, as follows:

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

Describes the type of administrative action, as follows:

\n " } }, "com.amazonaws.fsx#AdministrativeActions": { @@ -1418,6 +1451,57 @@ } } }, + "com.amazonaws.fsx#Aggregate": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 5, + "max": 6 + }, + "smithy.api#pattern": "^(aggr[0-9]{1,2})$" + } + }, + "com.amazonaws.fsx#AggregateConfiguration": { + "type": "structure", + "members": { + "Aggregates": { + "target": "com.amazonaws.fsx#Aggregates", + "traits": { + "smithy.api#documentation": "

The list of aggregates that this volume resides on. Aggregates are storage pools which make up your primary storage tier. Each high-availability (HA) pair has one aggregate. The names of the aggregates map to the names of the aggregates in the ONTAP CLI and REST API. For FlexVols, there will always be a single entry.

\n

Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

\n " + } + }, + "TotalConstituents": { + "target": "com.amazonaws.fsx#TotalConstituents", + "traits": { + "smithy.api#documentation": "

The total number of constituents this FlexGroup volume has. Not applicable for FlexVols.

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

Used to specify configuration options for a volume’s storage aggregate or aggregates.

" + } + }, + "com.amazonaws.fsx#AggregateListMultiplier": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 200 + } + } + }, + "com.amazonaws.fsx#Aggregates": { + "type": "list", + "member": { + "target": "com.amazonaws.fsx#Aggregate" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 6 + } + } + }, "com.amazonaws.fsx#Alias": { "type": "structure", "members": { @@ -2296,9 +2380,123 @@ "smithy.api#output": {} } }, + "com.amazonaws.fsx#CopySnapshotAndUpdateVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.fsx#CopySnapshotAndUpdateVolumeRequest" + }, + "output": { + "target": "com.amazonaws.fsx#CopySnapshotAndUpdateVolumeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.fsx#BadRequest" + }, + { + "target": "com.amazonaws.fsx#IncompatibleParameterError" + }, + { + "target": "com.amazonaws.fsx#InternalServerError" + }, + { + "target": "com.amazonaws.fsx#ServiceLimitExceeded" + } + ], + "traits": { + "smithy.api#documentation": "

Updates an existing volume by using a snapshot from another Amazon FSx for OpenZFS file system. For more information, see on-demand data replication in the Amazon FSx for OpenZFS User\n Guide.

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.fsx#CopySnapshotAndUpdateVolumeRequest": { + "type": "structure", + "members": { + "ClientRequestToken": { + "target": "com.amazonaws.fsx#ClientRequestToken", + "traits": { + "smithy.api#idempotencyToken": {} + } + }, + "VolumeId": { + "target": "com.amazonaws.fsx#VolumeId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Specifies the ID of the volume that you are copying the snapshot to.

", + "smithy.api#required": {} + } + }, + "SourceSnapshotARN": { + "target": "com.amazonaws.fsx#ResourceARN", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#required": {} + } + }, + "CopyStrategy": { + "target": "com.amazonaws.fsx#OpenZFSCopyStrategy", + "traits": { + "smithy.api#documentation": "

Specifies the strategy to use when copying data from a snapshot to the volume.

\n \n \n

\n CLONE isn't a valid copy strategy option for the\n CopySnapshotAndUpdateVolume operation.

\n
" + } + }, + "Options": { + "target": "com.amazonaws.fsx#UpdateOpenZFSVolumeOptions", + "traits": { + "smithy.api#documentation": "

Confirms that you want to delete data on the destination volume that wasn’t there\n during the previous snapshot replication.

\n

Your replication will fail if you don’t include an option for a specific type of data\n and that data is on your destination. For example, if you don’t include\n DELETE_INTERMEDIATE_SNAPSHOTS and there are intermediate snapshots on\n the destination, you can’t copy the snapshot.

\n " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.fsx#CopySnapshotAndUpdateVolumeResponse": { + "type": "structure", + "members": { + "VolumeId": { + "target": "com.amazonaws.fsx#VolumeId", + "traits": { + "smithy.api#documentation": "

The ID of the volume that you copied the snapshot to.

" + } + }, + "Lifecycle": { + "target": "com.amazonaws.fsx#VolumeLifecycle", + "traits": { + "smithy.api#documentation": "

The lifecycle state of the destination volume.

" + } + }, + "AdministrativeActions": { + "target": "com.amazonaws.fsx#AdministrativeActions", + "traits": { + "smithy.api#documentation": "

A list of administrative actions for the file system that are in process or waiting to\n be processed. Administrative actions describe changes to the Amazon FSx\n system.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.fsx#CopyTagsToDataRepositoryAssociations": { "type": "boolean" }, + "com.amazonaws.fsx#CreateAggregateConfiguration": { + "type": "structure", + "members": { + "Aggregates": { + "target": "com.amazonaws.fsx#Aggregates", + "traits": { + "smithy.api#documentation": "

Used to specify the names of aggregates on which the volume will be created.

" + } + }, + "ConstituentsPerAggregate": { + "target": "com.amazonaws.fsx#AggregateListMultiplier", + "traits": { + "smithy.api#documentation": "

Used to explicitly set the number of constituents within the FlexGroup per storage aggregate. This field is optional when creating a FlexGroup volume. If unspecified, the default value will be 8. This field cannot be provided when creating a FlexVol volume.

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

Used to specify the configuration options for a volume's storage aggregate or aggregates.

" + } + }, "com.amazonaws.fsx#CreateBackup": { "type": "operation", "input": { @@ -2929,7 +3127,7 @@ "StorageCapacity": { "target": "com.amazonaws.fsx#StorageCapacity", "traits": { - "smithy.api#documentation": "

Sets the storage capacity of the OpenZFS file system that you're creating\n from a backup, in gibibytes (GiB). Valid values are from 64 GiB up to 524,288 GiB\n (512 TiB). However, the value that you specify must be equal to or greater than the\n backup's storage capacity value. If you don't use the StorageCapacity\n parameter, the default is the backup's StorageCapacity value.

\n

If used to create a file system other than OpenZFS, you must provide a value\n that matches the backup's StorageCapacity value. If you provide any\n other value, Amazon FSx responds with a 400 Bad Request.

" + "smithy.api#documentation": "

Sets the storage capacity of the OpenZFS file system that you're creating\n from a backup, in gibibytes (GiB). Valid values are from 64 GiB up to 524,288 GiB\n (512 TiB). However, the value that you specify must be equal to or greater than the\n backup's storage capacity value. If you don't use the StorageCapacity\n parameter, the default is the backup's StorageCapacity value.

\n

If used to create a file system other than OpenZFS, you must provide a value\n that matches the backup's StorageCapacity value. If you provide any\n other value, Amazon FSx responds with with an HTTP status code 400 Bad Request.

" } } }, @@ -3055,7 +3253,7 @@ "target": "com.amazonaws.fsx#OntapDeploymentType", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Specifies the FSx for ONTAP file system deployment type to use in creating\n the file system.

\n \n

For information about the use cases for Multi-AZ and Single-AZ deployments, refer to\n Choosing a file system deployment type.

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

Specifies the FSx for ONTAP file system deployment type to use in creating\n the file system.

\n \n

For information about the use cases for Multi-AZ and Single-AZ deployments, refer to\n Choosing a file system deployment type.

", "smithy.api#required": {} } }, @@ -3092,13 +3290,23 @@ "ThroughputCapacity": { "target": "com.amazonaws.fsx#MegabytesPerSecond", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Sets the throughput capacity for the file system that you're creating. Valid values\n are 128, 256, 512, 1024, 2048, and 4096 MBps.

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

Sets the throughput capacity for the file system that you're creating in megabytes per second (MBps). For more information, see \n Managing throughput capacity \n in the FSx for ONTAP User Guide.

\n

Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

\n " } }, "WeeklyMaintenanceStartTime": { "target": "com.amazonaws.fsx#WeeklyTime" + }, + "HAPairs": { + "target": "com.amazonaws.fsx#HAPairs", + "traits": { + "smithy.api#documentation": "

Specifies how many high-availability (HA) pairs the file system will have. The default value is 1. The value of this property affects the values of StorageCapacity, Iops, and ThroughputCapacity. For more information, see High-availability (HA) pairs in the FSx for ONTAP user guide.

\n

Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

\n " + } + }, + "ThroughputCapacityPerHAPair": { + "target": "com.amazonaws.fsx#ThroughputCapacityPerHAPair", + "traits": { + "smithy.api#documentation": "

Use to choose the throughput capacity per HA pair, rather than the total throughput for the file system.

\n

This field and ThroughputCapacity cannot be defined in the same API call, but one is required.

\n

This field and ThroughputCapacity are the same for file systems with one HA pair.

\n \n

Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

\n " + } } }, "traits": { @@ -3199,7 +3407,7 @@ "target": "com.amazonaws.fsx#StorageCapacity", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Sets the storage capacity of the file system that you're creating, in gibibytes (GiB).

\n

\n FSx for Lustre file systems - The amount of\n storage capacity that you can configure depends on the value that you set for\n StorageType and the Lustre DeploymentType, as\n follows:

\n \n

\n FSx for ONTAP file systems - The amount of storage capacity \n that you can configure is from 1024 GiB up to 196,608 GiB (192 TiB).

\n

\n FSx for OpenZFS file systems - The amount of storage capacity that \n you can configure is from 64 GiB up to 524,288 GiB (512 TiB).

\n

\n FSx for Windows File Server file systems - The amount\n of storage capacity that you can configure depends on the value that you set for\n StorageType as follows:

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

Sets the storage capacity of the file system that you're creating, in gibibytes (GiB).

\n

\n FSx for Lustre file systems - The amount of\n storage capacity that you can configure depends on the value that you set for\n StorageType and the Lustre DeploymentType, as\n follows:

\n \n

\n FSx for ONTAP file systems - The amount of storage capacity \n that you can configure depends on the value of the HAPairs property. The minimum value is calculated as 1,024 * HAPairs and the maxium is calculated as 524,288 * HAPairs..

\n

\n FSx for OpenZFS file systems - The amount of storage capacity that \n you can configure is from 64 GiB up to 524,288 GiB (512 TiB).

\n

\n FSx for Windows File Server file systems - The amount\n of storage capacity that you can configure depends on the value that you set for\n StorageType as follows:

\n ", "smithy.api#required": {} } }, @@ -3374,9 +3582,10 @@ "SizeInMegabytes": { "target": "com.amazonaws.fsx#VolumeCapacity", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Specifies the size of the volume, in megabytes (MB), that you are creating.

", - "smithy.api#required": {} + "smithy.api#deprecated": { + "message": "This property is deprecated, use SizeInBytes instead" + }, + "smithy.api#documentation": "

Specifies the size of the volume, in megabytes (MB), that you are creating.

" } }, "StorageEfficiencyEnabled": { @@ -3419,6 +3628,24 @@ "traits": { "smithy.api#documentation": "

Specifies the SnapLock configuration for an FSx for ONTAP volume.

" } + }, + "VolumeStyle": { + "target": "com.amazonaws.fsx#VolumeStyle", + "traits": { + "smithy.api#documentation": "

Use to specify the style of an ONTAP volume. For more information about FlexVols and FlexGroups, see Volume types in Amazon FSx for NetApp ONTAP User Guide.

" + } + }, + "AggregateConfiguration": { + "target": "com.amazonaws.fsx#CreateAggregateConfiguration", + "traits": { + "smithy.api#documentation": "

Use to specify configuration options for a volume’s storage aggregate or aggregates.

" + } + }, + "SizeInBytes": { + "target": "com.amazonaws.fsx#VolumeCapacityBytes", + "traits": { + "smithy.api#documentation": "

The configured size of the volume, in bytes.

" + } } }, "traits": { @@ -3439,13 +3666,13 @@ "target": "com.amazonaws.fsx#OpenZFSCopyStrategy", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The strategy used when copying data from the snapshot to the new volume.

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

Specifies the strategy used when copying data from the snapshot to the new volume.

\n \n \n

The INCREMENTAL_COPY option is only for updating an existing volume\n by using a snapshot from another FSx for OpenZFS file system. For more\n information, see CopySnapshotAndUpdateVolume.

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

The snapshot configuration to use when creating an OpenZFS volume from a snapshot.

" + "smithy.api#documentation": "

The snapshot configuration to use when creating an Amazon FSx for OpenZFS\n volume from a snapshot.

" } }, "com.amazonaws.fsx#CreateOpenZFSVolumeConfiguration": { @@ -5861,6 +6088,47 @@ "smithy.api#output": {} } }, + "com.amazonaws.fsx#DescribeSharedVpcConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.fsx#DescribeSharedVpcConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.fsx#DescribeSharedVpcConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.fsx#BadRequest" + }, + { + "target": "com.amazonaws.fsx#InternalServerError" + } + ], + "traits": { + "smithy.api#documentation": "

Indicates whether participant accounts in your organization can create Amazon FSx for NetApp ONTAP Multi-AZ file systems in subnets that are shared by a virtual\n private cloud (VPC) owner. For more information, see the Amazon FSx for NetApp ONTAP User\n Guide.

" + } + }, + "com.amazonaws.fsx#DescribeSharedVpcConfigurationRequest": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.fsx#DescribeSharedVpcConfigurationResponse": { + "type": "structure", + "members": { + "EnableFsxRouteTableUpdatesFromParticipantAccounts": { + "target": "com.amazonaws.fsx#VerboseFlag", + "traits": { + "smithy.api#documentation": "

Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file systems in shared subnets.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.fsx#DescribeSnapshots": { "type": "operation", "input": { @@ -6127,7 +6395,7 @@ } ], "traits": { - "smithy.api#documentation": "

Use this action to disassociate, or remove, one or more Domain Name Service (DNS) aliases \n from an Amazon FSx for Windows File Server file system. If you attempt to disassociate a DNS alias that is not \n associated with the file system, Amazon FSx responds with a 400 Bad Request. For more information, see \n Working with DNS Aliases.

\n

The system generated response showing the DNS aliases that \n Amazon FSx is attempting to disassociate from the file system. \n Use the API \n operation to monitor the status of the aliases Amazon FSx is \n disassociating with the file system.

" + "smithy.api#documentation": "

Use this action to disassociate, or remove, one or more Domain Name Service (DNS) aliases \n from an Amazon FSx for Windows File Server file system. If you attempt to disassociate a DNS alias that is not \n associated with the file system, Amazon FSx responds with an HTTP status code 400 (Bad Request). For more information, see \n Working with DNS Aliases.

\n

The system generated response showing the DNS aliases that \n Amazon FSx is attempting to disassociate from the file system. \n Use the API \n operation to monitor the status of the aliases Amazon FSx is \n disassociating with the file system.

" } }, "com.amazonaws.fsx#DisassociateFileSystemAliasesRequest": { @@ -6188,7 +6456,7 @@ "Iops": { "target": "com.amazonaws.fsx#Iops", "traits": { - "smithy.api#documentation": "

The total number of SSD IOPS provisioned for the file system.

" + "smithy.api#documentation": "

The total number of SSD IOPS provisioned for the file system.

\n

The minimum and maximum values for this property depend on the value of HAPairs and StorageCapacity. The minimum value is calculated as StorageCapacity * 3 * HAPairs (3 IOPS per GB of StorageCapacity). The maximum value is calculated as 200,000 * HAPairs.

\n

Amazon FSx responds with an HTTP status code 400 (Bad Request) if the value of Iops is outside of the minimum or maximum values.

" } } }, @@ -6765,7 +7033,7 @@ "StorageCapacity": { "target": "com.amazonaws.fsx#StorageCapacity", "traits": { - "smithy.api#documentation": "

The storage capacity of the file system in gibibytes (GiB).

" + "smithy.api#documentation": "

The storage capacity of the file system in gibibytes (GiB).

\n

Amazon FSx responds with an HTTP status code 400 (Bad Request) if the value of StorageCapacity is outside of the minimum or maximum values.

" } }, "StorageType": { @@ -7232,6 +7500,15 @@ "smithy.api#pattern": "^arn:[^:]{1,63}:[^:]{0,63}:[^:]{0,63}:(?:|\\d{12}):[^/].{0,1023}$" } }, + "com.amazonaws.fsx#HAPairs": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 6 + } + } + }, "com.amazonaws.fsx#IncompatibleParameterError": { "type": "structure", "members": { @@ -7442,7 +7719,7 @@ "traits": { "smithy.api#range": { "min": 0, - "max": 1000000 + "max": 2400000 } } }, @@ -8048,6 +8325,12 @@ "traits": { "smithy.api#enumValue": "SINGLE_AZ_1" } + }, + "SINGLE_AZ_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SINGLE_AZ_2" + } } } }, @@ -8059,7 +8342,7 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 2 + "max": 24 } } }, @@ -8075,7 +8358,7 @@ "DeploymentType": { "target": "com.amazonaws.fsx#OntapDeploymentType", "traits": { - "smithy.api#documentation": "

Specifies the FSx for ONTAP file system deployment type in use in the file\n system.

\n \n

For information about the use cases for Multi-AZ and Single-AZ deployments, refer to\n Choosing Multi-AZ or\n Single-AZ file system deployment.

" + "smithy.api#documentation": "

Specifies the FSx for ONTAP file system deployment type in use in the file\n system.

\n \n

For information about the use cases for Multi-AZ and Single-AZ deployments, refer to\n Choosing Multi-AZ or\n Single-AZ file system deployment.

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

You can use the fsxadmin user account to access the NetApp ONTAP CLI and \n REST API. The password value is always redacted in the response.

" } + }, + "HAPairs": { + "target": "com.amazonaws.fsx#HAPairs", + "traits": { + "smithy.api#documentation": "

Specifies how many high-availability (HA) file server pairs the file system will have. The default value is 1. The value of this property affects the values of StorageCapacity, Iops, and ThroughputCapacity. For more information, see High-availability (HA) pairs in the FSx for ONTAP user guide.

\n

Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

\n " + } + }, + "ThroughputCapacityPerHAPair": { + "target": "com.amazonaws.fsx#ThroughputCapacityPerHAPair", + "traits": { + "smithy.api#documentation": "

Use to choose the throughput capacity per HA pair. When the value of HAPairs is equal to 1, the value of ThroughputCapacityPerHAPair is the total throughput for the file system.

\n

This field and ThroughputCapacity cannot be defined in the same API call, but one is required.

\n

This field and ThroughputCapacity are the same for file systems with one HA pair.

\n \n

Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

\n " + } } }, "traits": { @@ -8188,7 +8483,7 @@ "SnapshotPolicy": { "target": "com.amazonaws.fsx#SnapshotPolicy", "traits": { - "smithy.api#documentation": "

Specifies the snapshot policy for the volume. There are three built-in snapshot policies:

\n \n

You can also provide the name of a custom policy that you created with the ONTAP CLI or REST API.

\n

For more information, see Snapshot policies \n in the Amazon FSx for NetApp ONTAP User Guide.

" + "smithy.api#documentation": "

Specifies the snapshot policy for the volume. There are three built-in snapshot policies:

\n \n

You can also provide the name of a custom policy that you created with the ONTAP CLI or REST API.

\n

For more information, see Snapshot policies \n in the Amazon FSx for NetApp ONTAP User Guide.

" } }, "CopyTagsToBackups": { @@ -8202,6 +8497,24 @@ "traits": { "smithy.api#documentation": "

The SnapLock configuration object for an FSx for ONTAP SnapLock volume.

" } + }, + "VolumeStyle": { + "target": "com.amazonaws.fsx#VolumeStyle", + "traits": { + "smithy.api#documentation": "

Use to specify the style of an ONTAP volume. For more information about FlexVols and FlexGroups, see Volume types in Amazon FSx for NetApp ONTAP User Guide.

" + } + }, + "AggregateConfiguration": { + "target": "com.amazonaws.fsx#AggregateConfiguration", + "traits": { + "smithy.api#documentation": "

This structure specifies configuration options for a volume’s storage aggregate or aggregates.

" + } + }, + "SizeInBytes": { + "target": "com.amazonaws.fsx#VolumeCapacityBytes", + "traits": { + "smithy.api#documentation": "

The configured size of the volume, in bytes.

" + } } }, "traits": { @@ -8291,6 +8604,12 @@ "traits": { "smithy.api#enumValue": "FULL_COPY" } + }, + "INCREMENTAL_COPY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INCREMENTAL_COPY" + } } } }, @@ -8517,12 +8836,12 @@ "CopyStrategy": { "target": "com.amazonaws.fsx#OpenZFSCopyStrategy", "traits": { - "smithy.api#documentation": "

The strategy used when copying data from the snapshot to the new volume.

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

The strategy used when copying data from the snapshot to the new volume.

\n \n \n

The INCREMENTAL_COPY option is only for updating an existing volume\n by using a snapshot from another FSx for OpenZFS file system. For more\n information, see CopySnapshotAndUpdateVolume.

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

The snapshot configuration to use when creating an OpenZFS volume from a\n snapshot.

" + "smithy.api#documentation": "

The snapshot configuration used when creating an Amazon FSx for OpenZFS volume\n from a snapshot.

" } }, "com.amazonaws.fsx#OpenZFSQuotaType": { @@ -8672,6 +8991,21 @@ "traits": { "smithy.api#documentation": "

A Boolean value indicating whether dependent clone volumes \n created from intermediate snapshots should be deleted when\n a volume is restored from snapshot.

" } + }, + "DeleteIntermediateData": { + "target": "com.amazonaws.fsx#Flag", + "traits": { + "smithy.api#documentation": "

A Boolean value indicating whether snapshot data that differs between the current state and the specified snapshot should be overwritten when a volume is restored from a snapshot.

" + } + }, + "SourceSnapshotARN": { + "target": "com.amazonaws.fsx#ResourceARN" + }, + "DestinationSnapshot": { + "target": "com.amazonaws.fsx#SnapshotId", + "traits": { + "smithy.api#documentation": "

The ID of the snapshot that's being copied or was most recently copied to the\n destination volume.

" + } } }, "traits": { @@ -8831,6 +9165,14 @@ "com.amazonaws.fsx#ReleasedCapacity": { "type": "long" }, + "com.amazonaws.fsx#RemainingTransferBytes": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, "com.amazonaws.fsx#ReportFormat": { "type": "enum", "members": { @@ -10467,6 +10809,15 @@ } } }, + "com.amazonaws.fsx#ThroughputCapacityPerHAPair": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 128, + "max": 6144 + } + } + }, "com.amazonaws.fsx#TieringPolicy": { "type": "structure", "members": { @@ -10516,9 +10867,26 @@ } } }, + "com.amazonaws.fsx#TotalConstituents": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 200 + } + } + }, "com.amazonaws.fsx#TotalCount": { "type": "long" }, + "com.amazonaws.fsx#TotalTransferBytes": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, "com.amazonaws.fsx#UUID": { "type": "string", "traits": { @@ -10829,7 +11197,7 @@ } ], "traits": { - "smithy.api#documentation": "

Use this operation to update the configuration of an existing Amazon FSx file\n system. You can update multiple properties in a single request.

\n

For FSx for Windows File Server file systems, you can update the following\n properties:

\n \n

For FSx for Lustre file systems, you can update the following\n properties:

\n \n

For FSx for ONTAP file systems, you can update the following\n properties:

\n \n

For FSx for OpenZFS file systems, you can update the following\n properties:

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

Use this operation to update the configuration of an existing Amazon FSx file\n system. You can update multiple properties in a single request.

\n

For FSx for Windows File Server file systems, you can update the following\n properties:

\n \n

For FSx for Lustre file systems, you can update the following\n properties:

\n \n

For FSx for ONTAP file systems, you can update the following\n properties:

\n \n

For FSx for OpenZFS file systems, you can update the following\n properties:

\n " } }, "com.amazonaws.fsx#UpdateFileSystemLustreConfiguration": { @@ -10912,7 +11280,7 @@ "ThroughputCapacity": { "target": "com.amazonaws.fsx#MegabytesPerSecond", "traits": { - "smithy.api#documentation": "

Enter a new value to change the amount of throughput capacity for the file system. Throughput capacity is measured in megabytes per second\n (MBps). Valid values are 128, 256, 512, 1024, 2048, and 4096 MBps. For more information, see \n Managing throughput capacity \n in the FSx for ONTAP User Guide.

" + "smithy.api#documentation": "

Enter a new value to change the amount of throughput capacity for the file system in megabytes per second (MBps). For more information, see \n Managing throughput capacity \n in the FSx for ONTAP User Guide.

\n

Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

\n " } }, "AddRouteTableIds": { @@ -10926,6 +11294,12 @@ "traits": { "smithy.api#documentation": "

(Multi-AZ only) A list of IDs of existing virtual private cloud (VPC)\n route tables to disassociate (remove) from your Amazon FSx for NetApp ONTAP file system. You can use\n the API operation to retrieve the\n list of VPC route table IDs for a file system.

" } + }, + "ThroughputCapacityPerHAPair": { + "target": "com.amazonaws.fsx#ThroughputCapacityPerHAPair", + "traits": { + "smithy.api#documentation": "

Use to choose the throughput capacity per HA pair, rather than the total throughput for the file system.

\n

This field and ThroughputCapacity cannot be defined in the same API call, but one is required.

\n

This field and ThroughputCapacity are the same for file systems with one HA pair.

\n \n

Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

\n

The value of ThroughputCapacity and ThroughputCapacityPerHAPair are not the same value.

\n

The value of ThroughputCapacityPerHAPair is not a valid value.

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

The configuration object for updating the SnapLock configuration of an FSx for ONTAP SnapLock volume.

" } + }, + "SizeInBytes": { + "target": "com.amazonaws.fsx#VolumeCapacityBytes", + "traits": { + "smithy.api#documentation": "

The configured size of the volume, in bytes.

" + } } }, "traits": { @@ -11204,6 +11584,92 @@ "smithy.api#documentation": "

Used to specify changes to the OpenZFS configuration for the volume\n that you are updating.

" } }, + "com.amazonaws.fsx#UpdateOpenZFSVolumeOption": { + "type": "enum", + "members": { + "DELETE_INTERMEDIATE_SNAPSHOTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE_INTERMEDIATE_SNAPSHOTS" + } + }, + "DELETE_CLONED_VOLUMES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE_CLONED_VOLUMES" + } + }, + "DELETE_INTERMEDIATE_DATA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE_INTERMEDIATE_DATA" + } + } + } + }, + "com.amazonaws.fsx#UpdateOpenZFSVolumeOptions": { + "type": "list", + "member": { + "target": "com.amazonaws.fsx#UpdateOpenZFSVolumeOption" + } + }, + "com.amazonaws.fsx#UpdateSharedVpcConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.fsx#UpdateSharedVpcConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.fsx#UpdateSharedVpcConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.fsx#BadRequest" + }, + { + "target": "com.amazonaws.fsx#IncompatibleParameterError" + }, + { + "target": "com.amazonaws.fsx#InternalServerError" + } + ], + "traits": { + "smithy.api#documentation": "

Configures whether participant accounts in your organization can create Amazon FSx for NetApp ONTAP Multi-AZ file systems in subnets that are shared by a virtual\n private cloud (VPC) owner. For more information, see the Amazon FSx for NetApp ONTAP User\n Guide.

\n \n

We strongly recommend that participant-created Multi-AZ file systems in the shared\n VPC are deleted before you disable this feature. Once the feature is disabled, these\n file systems will enter a MISCONFIGURED state and behave like Single-AZ\n file systems. For more information, see Important considerations before disabling shared VPC support for Multi-AZ file\n systems.

\n
" + } + }, + "com.amazonaws.fsx#UpdateSharedVpcConfigurationRequest": { + "type": "structure", + "members": { + "EnableFsxRouteTableUpdatesFromParticipantAccounts": { + "target": "com.amazonaws.fsx#VerboseFlag", + "traits": { + "smithy.api#documentation": "

Specifies whether participant accounts can create FSx for ONTAP Multi-AZ\n file systems in shared subnets. Set to true to enable or false\n to disable.

" + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.fsx#ClientRequestToken", + "traits": { + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.fsx#UpdateSharedVpcConfigurationResponse": { + "type": "structure", + "members": { + "EnableFsxRouteTableUpdatesFromParticipantAccounts": { + "target": "com.amazonaws.fsx#VerboseFlag", + "traits": { + "smithy.api#documentation": "

Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file systems in shared subnets.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.fsx#UpdateSnaplockConfiguration": { "type": "structure", "members": { @@ -11492,6 +11958,16 @@ } } }, + "com.amazonaws.fsx#VerboseFlag": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 4, + "max": 5 + }, + "smithy.api#pattern": "^(?i)(true|false)$" + } + }, "com.amazonaws.fsx#Volume": { "type": "structure", "members": { @@ -11554,7 +12030,7 @@ } }, "traits": { - "smithy.api#documentation": "

Describes an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS\n volume.

" + "smithy.api#documentation": "

Describes an Amazon FSx volume.

" } }, "com.amazonaws.fsx#VolumeCapacity": { @@ -11562,7 +12038,16 @@ "traits": { "smithy.api#range": { "min": 0, - "max": 314572800 + "max": 2147483647 + } + } + }, + "com.amazonaws.fsx#VolumeCapacityBytes": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 22517998000000000 } } }, @@ -11738,6 +12223,23 @@ "smithy.api#pattern": "^[A-za-z0-9\\_\\.\\:\\-\\/]*$" } }, + "com.amazonaws.fsx#VolumeStyle": { + "type": "enum", + "members": { + "FLEXVOL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FLEXVOL" + } + }, + "FLEXGROUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FLEXGROUP" + } + } + } + }, "com.amazonaws.fsx#VolumeType": { "type": "enum", "members": { diff --git a/codegen/sdk-codegen/aws-models/guardduty.json b/codegen/sdk-codegen/aws-models/guardduty.json index 1b7e9bc29f1..c34fa693d8f 100644 --- a/codegen/sdk-codegen/aws-models/guardduty.json +++ b/codegen/sdk-codegen/aws-models/guardduty.json @@ -568,6 +568,21 @@ "target": "com.amazonaws.guardduty#String" } }, + "com.amazonaws.guardduty#AgentDetails": { + "type": "structure", + "members": { + "Version": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

Version of the installed GuardDuty security agent.

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

Information about the installed GuardDuty security agent.

" + } + }, "com.amazonaws.guardduty#Anomaly": { "type": "structure", "members": { @@ -1162,6 +1177,28 @@ "smithy.api#documentation": "

Details of a container.

" } }, + "com.amazonaws.guardduty#ContainerInstanceDetails": { + "type": "structure", + "members": { + "CoveredContainerInstances": { + "target": "com.amazonaws.guardduty#Long", + "traits": { + "smithy.api#documentation": "

Represents the nodes in the Amazon ECS cluster that has a HEALTHY\n coverage status.

", + "smithy.api#jsonName": "coveredContainerInstances" + } + }, + "CompatibleContainerInstances": { + "target": "com.amazonaws.guardduty#Long", + "traits": { + "smithy.api#documentation": "

Represents total number of nodes in the Amazon ECS cluster.

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

Contains information about the Amazon EC2 instance that is running \n the Amazon ECS container.

" + } + }, "com.amazonaws.guardduty#Containers": { "type": "list", "member": { @@ -1217,6 +1254,78 @@ "smithy.api#documentation": "

Contains information about the country where the remote IP address is located.

" } }, + "com.amazonaws.guardduty#CoverageEc2InstanceDetails": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The Amazon EC2 instance ID.

", + "smithy.api#jsonName": "instanceId" + } + }, + "InstanceType": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The instance type of the Amazon EC2 instance.

", + "smithy.api#jsonName": "instanceType" + } + }, + "ClusterArn": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The cluster ARN of the Amazon ECS cluster running on \n the Amazon EC2 instance.

", + "smithy.api#jsonName": "clusterArn" + } + }, + "AgentDetails": { + "target": "com.amazonaws.guardduty#AgentDetails", + "traits": { + "smithy.api#documentation": "

Information about the installed security agent.

", + "smithy.api#jsonName": "agentDetails" + } + }, + "ManagementType": { + "target": "com.amazonaws.guardduty#ManagementType", + "traits": { + "smithy.api#documentation": "

Indicates how the GuardDuty security agent is managed for this resource.

\n \n \n

The DISABLED status doesn't apply to Amazon \n EC2 instances and Amazon EKS clusters that run on Amazon EC2 instances.

\n
", + "smithy.api#jsonName": "managementType" + } + } + }, + "traits": { + "smithy.api#documentation": "\n

This API is also used when you use GuardDuty Runtime Monitoring \n for your Amazon EC2 instances (currently in preview\n release) and is subject to change.

\n
\n

Contains information about the Amazon EC2 instance runtime \n coverage details.

" + } + }, + "com.amazonaws.guardduty#CoverageEcsClusterDetails": { + "type": "structure", + "members": { + "ClusterName": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The name of the Amazon ECS cluster.

", + "smithy.api#jsonName": "clusterName" + } + }, + "FargateDetails": { + "target": "com.amazonaws.guardduty#FargateDetails", + "traits": { + "smithy.api#documentation": "

Information about the Fargate details associated with the Amazon \n ECS cluster.

", + "smithy.api#jsonName": "fargateDetails" + } + }, + "ContainerInstanceDetails": { + "target": "com.amazonaws.guardduty#ContainerInstanceDetails", + "traits": { + "smithy.api#documentation": "

Information about the Amazon ECS container running on Amazon EC2 \n instance.

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

Contains information about Amazon ECS cluster runtime coverage details.

" + } + }, "com.amazonaws.guardduty#CoverageEksClusterDetails": { "type": "structure", "members": { @@ -1363,6 +1472,30 @@ "traits": { "smithy.api#enumValue": "EKS_CLUSTER_NAME" } + }, + "ECS_CLUSTER_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECS_CLUSTER_NAME" + } + }, + "AGENT_VERSION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AGENT_VERSION" + } + }, + "INSTANCE_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INSTANCE_ID" + } + }, + "CLUSTER_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLUSTER_ARN" + } } } }, @@ -1451,6 +1584,20 @@ "smithy.api#documentation": "

The type of Amazon Web Services resource.

", "smithy.api#jsonName": "resourceType" } + }, + "EcsClusterDetails": { + "target": "com.amazonaws.guardduty#CoverageEcsClusterDetails", + "traits": { + "smithy.api#documentation": "

Information about the Amazon ECS cluster that is assessed for \n runtime coverage.

", + "smithy.api#jsonName": "ecsClusterDetails" + } + }, + "Ec2InstanceDetails": { + "target": "com.amazonaws.guardduty#CoverageEc2InstanceDetails", + "traits": { + "smithy.api#documentation": "\n

This API is also used when you use GuardDuty Runtime Monitoring \n for your Amazon EC2 instances (currently in preview\n release) and is subject to change.

\n
\n

Information about the Amazon EC2 instance assessed \n for runtime coverage.

", + "smithy.api#jsonName": "ec2InstanceDetails" + } } }, "traits": { @@ -1529,6 +1676,18 @@ "traits": { "smithy.api#enumValue": "EKS_CLUSTER_NAME" } + }, + "ECS_CLUSTER_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECS_CLUSTER_NAME" + } + }, + "INSTANCE_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INSTANCE_ID" + } } } }, @@ -3544,6 +3703,12 @@ "traits": { "smithy.api#enumValue": "LAMBDA_NETWORK_LOGS" } + }, + "RUNTIME_MONITORING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RUNTIME_MONITORING" + } } } }, @@ -3680,6 +3845,12 @@ "traits": { "smithy.api#enumValue": "LAMBDA_NETWORK_LOGS" } + }, + "RUNTIME_MONITORING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RUNTIME_MONITORING" + } } } }, @@ -4400,6 +4571,28 @@ "smithy.api#documentation": "

Contains information about the reason that the finding was generated.

" } }, + "com.amazonaws.guardduty#FargateDetails": { + "type": "structure", + "members": { + "Issues": { + "target": "com.amazonaws.guardduty#Issues", + "traits": { + "smithy.api#documentation": "

Runtime coverage issues identified for the resource running on AWS Fargate.

", + "smithy.api#jsonName": "issues" + } + }, + "ManagementType": { + "target": "com.amazonaws.guardduty#ManagementType", + "traits": { + "smithy.api#documentation": "

Indicates how the GuardDuty security agent is managed for this resource.

\n ", + "smithy.api#jsonName": "managementType" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about AWS Fargate details associated with \n an Amazon ECS cluster.

" + } + }, "com.amazonaws.guardduty#FeatureAdditionalConfiguration": { "type": "enum", "members": { @@ -4408,6 +4601,12 @@ "traits": { "smithy.api#enumValue": "EKS_ADDON_MANAGEMENT" } + }, + "ECS_FARGATE_AGENT_MANAGEMENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECS_FARGATE_AGENT_MANAGEMENT" + } } } }, @@ -4959,6 +5158,18 @@ "traits": { "smithy.api#enumValue": "LAMBDA_NETWORK_LOGS" } + }, + "FARGATE_RUNTIME_MONITORING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FARGATE_RUNTIME_MONITORING" + } + }, + "EC2_RUNTIME_MONITORING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EC2_RUNTIME_MONITORING" + } } } }, @@ -6429,7 +6640,7 @@ "name": "guardduty" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Amazon GuardDuty is a continuous security monitoring service that analyzes and processes\n the following data sources: VPC flow logs, Amazon Web Services CloudTrail management event logs, CloudTrail S3 data event\n logs, EKS audit logs, DNS logs, and Amazon EBS volume data.\n It uses threat intelligence\n feeds, such as lists of malicious IPs and domains, and machine learning to identify\n unexpected, potentially unauthorized, and malicious activity within your Amazon Web Services environment.\n This can include issues like escalations of privileges, uses of exposed credentials, or\n communication with malicious IPs, domains, or presence of malware on your Amazon EC2 instances\n and container workloads. For example, GuardDuty can detect compromised EC2 instances and\n container workloads serving malware, or mining bitcoin.

\n

GuardDuty also monitors Amazon Web Services account access behavior for signs of compromise, such as\n unauthorized infrastructure deployments like EC2 instances deployed in a Region that has never\n been used, or unusual API calls like a password policy change to reduce password strength.

\n

GuardDuty informs you about the status of your Amazon Web Services environment by producing security\n findings that you can view in the GuardDuty console or through Amazon EventBridge. For more\n information, see the \n Amazon\n GuardDuty User Guide\n .

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

Amazon GuardDuty is a continuous security monitoring service that analyzes and processes\n the following foundational data sources - VPC flow logs, Amazon Web Services CloudTrail management event logs, CloudTrail S3 data event\n logs, EKS audit logs, DNS logs, Amazon EBS volume data, runtime activity belonging to container workloads, such \n as Amazon EKS, Amazon ECS (including Amazon Web Services Fargate), and Amazon EC2 instances.\n It uses threat intelligence\n feeds, such as lists of malicious IPs and domains, and machine learning to identify\n unexpected, potentially unauthorized, and malicious activity within your Amazon Web Services environment.\n This can include issues like escalations of privileges, uses of exposed credentials, or\n communication with malicious IPs, domains, or presence of malware on your Amazon EC2 instances\n and container workloads. For example, GuardDuty can detect compromised EC2 instances and\n container workloads serving malware, or mining bitcoin.

\n

GuardDuty also monitors Amazon Web Services account access behavior for signs of compromise, such as\n unauthorized infrastructure deployments like EC2 instances deployed in a Region that has never\n been used, or unusual API calls like a password policy change to reduce password strength.

\n

GuardDuty informs you about the status of your Amazon Web Services environment by producing security\n findings that you can view in the GuardDuty console or through Amazon EventBridge. For more\n information, see the \n Amazon\n GuardDuty User Guide\n .

", "smithy.api#title": "Amazon GuardDuty", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -7920,6 +8131,18 @@ "target": "com.amazonaws.guardduty#String" } }, + "com.amazonaws.guardduty#Issues": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#String" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, "com.amazonaws.guardduty#KubernetesApiCallAction": { "type": "structure", "members": { @@ -9584,6 +9807,12 @@ "traits": { "smithy.api#enumValue": "MANUAL" } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } } } }, @@ -10163,6 +10392,12 @@ "traits": { "smithy.api#enumValue": "LAMBDA_NETWORK_LOGS" } + }, + "RUNTIME_MONITORING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RUNTIME_MONITORING" + } } } }, @@ -10174,6 +10409,12 @@ "traits": { "smithy.api#enumValue": "EKS_ADDON_MANAGEMENT" } + }, + "ECS_FARGATE_AGENT_MANAGEMENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECS_FARGATE_AGENT_MANAGEMENT" + } } } }, @@ -11294,6 +11535,18 @@ "traits": { "smithy.api#enumValue": "EKS" } + }, + "ECS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECS" + } + }, + "EC2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EC2" + } } } }, @@ -13866,6 +14119,18 @@ "traits": { "smithy.api#enumValue": "EKS_RUNTIME_MONITORING" } + }, + "FARGATE_RUNTIME_MONITORING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FARGATE_RUNTIME_MONITORING" + } + }, + "EC2_RUNTIME_MONITORING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EC2_RUNTIME_MONITORING" + } } } }, diff --git a/codegen/sdk-codegen/aws-models/iotfleetwise.json b/codegen/sdk-codegen/aws-models/iotfleetwise.json index 76225ad4526..db0d86ed7f7 100644 --- a/codegen/sdk-codegen/aws-models/iotfleetwise.json +++ b/codegen/sdk-codegen/aws-models/iotfleetwise.json @@ -84,10 +84,16 @@ "traits": { "smithy.api#documentation": "

A comment in addition to the description.

" } + }, + "structFullyQualifiedName": { + "target": "com.amazonaws.iotfleetwise#NodePath", + "traits": { + "smithy.api#documentation": "

The fully qualified name of the struct node for the actuator if the data type of the actuator is Struct or StructArray. For example, the struct fully qualified name of an actuator might be Vehicle.Door.LockStruct.

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

A signal that represents a vehicle device such as the engine, heater, and door locks.\n Data from an actuator reports the state of a certain vehicle device.

\n \n

Updating actuator data can change the state of a device. For example, you can\n turn on or off the heater by updating its actuator data.

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

A signal that represents a vehicle device such as the engine, heater, and door locks.\n Data from an actuator reports the state of a certain vehicle device.

\n \n

Updating actuator data can change the state of a device. For example, you can\n turn on or off the heater by updating its actuator data.

\n
" } }, "com.amazonaws.iotfleetwise#AmazonResourceName": { @@ -114,6 +120,9 @@ { "target": "com.amazonaws.iotfleetwise#InternalServerException" }, + { + "target": "com.amazonaws.iotfleetwise#LimitExceededException" + }, { "target": "com.amazonaws.iotfleetwise#ResourceNotFoundException" }, @@ -262,7 +271,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a group, or batch, of vehicles.

\n \n

You must specify a decoder manifest and a vehicle model (model manifest) for each\n vehicle.

\n
\n

For more information, see Create multiple\n vehicles (AWS CLI) in the Amazon Web Services IoT FleetWise Developer Guide.

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

Creates a group, or batch, of vehicles.

\n \n

You must specify a decoder manifest and a vehicle model (model manifest) for each\n vehicle.

\n
\n

For more information, see Create multiple\n vehicles (AWS CLI) in the Amazon Web Services IoT FleetWise Developer Guide.

", "smithy.api#http": { "method": "POST", "uri": "/vehicles", @@ -322,7 +331,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates a group, or batch, of vehicles.

\n \n

You must specify a decoder manifest and a vehicle model (model manifest) for each\n vehicle.

\n
\n

For more information, see Update multiple\n vehicles (AWS CLI) in the Amazon Web Services IoT FleetWise Developer Guide.

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

Updates a group, or batch, of vehicles.

\n \n

You must specify a decoder manifest and a vehicle model (model manifest) for each\n vehicle.

\n
\n

For more information, see Update multiple\n vehicles (AWS CLI) in the Amazon Web Services IoT FleetWise Developer Guide.

", "smithy.api#http": { "method": "PUT", "uri": "/vehicles", @@ -348,7 +357,7 @@ "vehicles": { "target": "com.amazonaws.iotfleetwise#updateVehicleResponseItems", "traits": { - "smithy.api#documentation": "

A list of information about the batch of updated vehicles.

\n \n

This list contains only unique IDs for the vehicles that were updated.

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

A list of information about the batch of updated vehicles.

\n \n

This list contains only unique IDs for the vehicles that were updated.

\n
" } }, "errors": { @@ -480,7 +489,7 @@ "status": { "target": "com.amazonaws.iotfleetwise#CampaignStatus", "traits": { - "smithy.api#documentation": "

The state of a campaign. The status can be one of the following:

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

The state of a campaign. The status can be one of the following:

\n " } }, "creationTime": { @@ -499,7 +508,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about a campaign.

\n

You can use the API operation to return this\n information about multiple created campaigns.

" + "smithy.api#documentation": "

Information about a campaign.

\n

You can use the API operation to return this\n information about multiple created campaigns.

" } }, "com.amazonaws.iotfleetwise#CanDbcDefinition": { @@ -515,7 +524,7 @@ "canDbcFiles": { "target": "com.amazonaws.iotfleetwise#NetworkFilesList", "traits": { - "smithy.api#documentation": "

A list of DBC files. You can upload only one DBC file for each network interface and\n specify up to five (inclusive) files in the list.

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

A list of DBC files. You can upload only one DBC file for each network interface and\n specify up to five (inclusive) files in the list. The DBC file can be a maximum size of 200 MB.

", "smithy.api#required": {} } }, @@ -578,7 +587,7 @@ } }, "isBigEndian": { - "target": "com.amazonaws.iotfleetwise#boolean", + "target": "smithy.api#PrimitiveBoolean", "traits": { "smithy.api#default": false, "smithy.api#documentation": "

Whether the byte ordering of a CAN message is big-endian.

", @@ -586,7 +595,7 @@ } }, "isSigned": { - "target": "com.amazonaws.iotfleetwise#boolean", + "target": "smithy.api#PrimitiveBoolean", "traits": { "smithy.api#default": false, "smithy.api#documentation": "

Whether the message data is specified as a signed value.

", @@ -597,7 +606,7 @@ "target": "com.amazonaws.iotfleetwise#nonNegativeInteger", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

Indicates the beginning of the CAN signal. This should always be the least significant bit (LSB).

\n

This value might be different from the value in a DBC file. For little endian signals,\n startBit is the same value as in the DBC file. For big endian signals\n in a DBC file, the start bit is the most significant bit (MSB). You will have to\n calculate the LSB instead and pass it as the startBit.

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

Indicates the beginning of the CAN signal. This should always be the least significant bit (LSB).

\n

This value might be different from the value in a DBC file. For little endian signals,\n startBit is the same value as in the DBC file. For big endian signals\n in a DBC file, the start bit is the most significant bit (MSB). You will have to\n calculate the LSB instead and pass it as the startBit.

", "smithy.api#required": {} } }, @@ -722,7 +731,7 @@ "minimumTriggerIntervalMs": { "target": "com.amazonaws.iotfleetwise#uint32", "traits": { - "smithy.api#documentation": "

The minimum duration of time between two triggering events to collect data, in\n milliseconds.

\n \n

If a signal changes often, you might want to collect data at a slower rate.

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

The minimum duration of time between two triggering events to collect data, in\n milliseconds.

\n \n

If a signal changes often, you might want to collect data at a slower rate.

\n
" } }, "triggerMode": { @@ -801,7 +810,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an orchestration of data collection rules. The Amazon Web Services IoT FleetWise Edge Agent software\n running in vehicles uses campaigns to decide how to collect and transfer data to the\n cloud. You create campaigns in the cloud. After you or your team approve campaigns,\n Amazon Web Services IoT FleetWise automatically deploys them to vehicles.

\n

For more information, see Collect and transfer data\n with campaigns in the Amazon Web Services IoT FleetWise Developer Guide.

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

Creates an orchestration of data collection rules. The Amazon Web Services IoT FleetWise Edge Agent software\n running in vehicles uses campaigns to decide how to collect and transfer data to the\n cloud. You create campaigns in the cloud. After you or your team approve campaigns,\n Amazon Web Services IoT FleetWise automatically deploys them to vehicles.

\n

For more information, see Collect and transfer data\n with campaigns in the Amazon Web Services IoT FleetWise Developer Guide.

", "smithy.api#http": { "method": "POST", "uri": "/campaigns/{name}", @@ -844,43 +853,43 @@ "startTime": { "target": "com.amazonaws.iotfleetwise#timestamp", "traits": { - "smithy.api#documentation": "

(Optional) The time, in milliseconds, to deliver a campaign after it was approved. If\n it's not specified, 0 is used.

\n

Default: 0\n

" + "smithy.api#documentation": "

(Optional) The time, in milliseconds, to deliver a campaign after it was approved. If\n it's not specified, 0 is used.

\n

Default: 0\n

" } }, "expiryTime": { "target": "com.amazonaws.iotfleetwise#timestamp", "traits": { - "smithy.api#documentation": "

(Optional) The time the campaign expires, in seconds since epoch (January 1, 1970 at\n midnight UTC time). Vehicle data isn't collected after the campaign expires.

\n

Default: 253402214400 (December 31, 9999, 00:00:00 UTC)

" + "smithy.api#documentation": "

(Optional) The time the campaign expires, in seconds since epoch (January 1, 1970 at\n midnight UTC time). Vehicle data isn't collected after the campaign expires.

\n

Default: 253402214400 (December 31, 9999, 00:00:00 UTC)

" } }, "postTriggerCollectionDuration": { "target": "com.amazonaws.iotfleetwise#uint32", "traits": { - "smithy.api#documentation": "

(Optional) How long (in milliseconds) to collect raw data after a triggering event\n initiates the collection. If it's not specified, 0 is used.

\n

Default: 0\n

" + "smithy.api#documentation": "

(Optional) How long (in milliseconds) to collect raw data after a triggering event\n initiates the collection. If it's not specified, 0 is used.

\n

Default: 0\n

" } }, "diagnosticsMode": { "target": "com.amazonaws.iotfleetwise#DiagnosticsMode", "traits": { - "smithy.api#documentation": "

(Optional) Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise. If you\n want to send diagnostic trouble codes, use SEND_ACTIVE_DTCS. If it's not\n specified, OFF is used.

\n

Default: OFF\n

" + "smithy.api#documentation": "

(Optional) Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise. If you\n want to send diagnostic trouble codes, use SEND_ACTIVE_DTCS. If it's not\n specified, OFF is used.

\n

Default: OFF\n

" } }, "spoolingMode": { "target": "com.amazonaws.iotfleetwise#SpoolingMode", "traits": { - "smithy.api#documentation": "

(Optional) Whether to store collected data after a vehicle lost a connection with the\n cloud. After a connection is re-established, the data is automatically forwarded to\n Amazon Web Services IoT FleetWise. If you want to store collected data when a vehicle loses connection with the\n cloud, use TO_DISK. If it's not specified, OFF is used.

\n

Default: OFF\n

" + "smithy.api#documentation": "

(Optional) Whether to store collected data after a vehicle lost a connection with the\n cloud. After a connection is re-established, the data is automatically forwarded to\n Amazon Web Services IoT FleetWise. If you want to store collected data when a vehicle loses connection with the\n cloud, use TO_DISK. If it's not specified, OFF is used.

\n

Default: OFF\n

" } }, "compression": { "target": "com.amazonaws.iotfleetwise#Compression", "traits": { - "smithy.api#documentation": "

(Optional) Whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If you\n don't want to compress the signals, use OFF. If it's not specified,\n SNAPPY is used.

\n

Default: SNAPPY\n

" + "smithy.api#documentation": "

(Optional) Whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If you\n don't want to compress the signals, use OFF. If it's not specified,\n SNAPPY is used.

\n

Default: SNAPPY\n

" } }, "priority": { "target": "com.amazonaws.iotfleetwise#priority", "traits": { - "smithy.api#documentation": "

(Optional) A number indicating the priority of one campaign over another campaign for\n a certain vehicle or fleet. A campaign with the lowest value is deployed to vehicles\n before any other campaigns. If it's not specified, 0 is used.

\n

Default: 0\n

" + "smithy.api#documentation": "

(Optional) A number indicating the priority of one campaign over another campaign for\n a certain vehicle or fleet. A campaign with the lowest value is deployed to vehicles\n before any other campaigns. If it's not specified, 0 is used.

\n

Default: 0\n

" } }, "signalsToCollect": { @@ -899,7 +908,7 @@ "dataExtraDimensions": { "target": "com.amazonaws.iotfleetwise#DataExtraDimensionNodePathList", "traits": { - "smithy.api#documentation": "

(Optional) A list of vehicle attributes to associate with a campaign.

\n

Enrich the data with specified vehicle attributes. For example, add make and model to the campaign, and Amazon Web Services IoT FleetWise will associate the data with those attributes as dimensions in Amazon Timestream. You can then query the data against make and model.

\n

Default: An empty array

" + "smithy.api#documentation": "

(Optional) A list of vehicle attributes to associate with a campaign.

\n

Enrich the data with specified vehicle attributes. For example, add make and model to the campaign, and Amazon Web Services IoT FleetWise will associate the data with those attributes as dimensions in Amazon Timestream. You can then query the data against make and model.

\n

Default: An empty array

" } }, "tags": { @@ -911,7 +920,7 @@ "dataDestinationConfigs": { "target": "com.amazonaws.iotfleetwise#DataDestinationConfigs", "traits": { - "smithy.api#documentation": "

The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.

\n

Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. Amazon Web Services IoT FleetWise supports at-least-once file delivery to S3. Your vehicle data is stored on multiple Amazon Web Services IoT FleetWise servers for redundancy and high availability.

\n

You can use Amazon Timestream to access and analyze time series data, and Timestream to query\n vehicle data so that you can identify trends and patterns.

" + "smithy.api#documentation": "

The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.

\n

Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. Amazon Web Services IoT FleetWise supports at-least-once file delivery to S3. Your vehicle data is stored on multiple Amazon Web Services IoT FleetWise servers for redundancy and high availability.

\n

You can use Amazon Timestream to access and analyze time series data, and Timestream to query\n vehicle data so that you can identify trends and patterns.

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

Creates the decoder manifest associated with a model manifest. To create a decoder\n manifest, the following must be true:

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

Creates the decoder manifest associated with a model manifest. To create a decoder\n manifest, the following must be true:

\n ", "smithy.api#http": { "method": "POST", "uri": "/decoder-manifests/{name}", @@ -1069,7 +1078,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a fleet that represents a group of vehicles.\n

\n \n

You must create both a signal catalog and vehicles before you can create a fleet.\n

\n
\n

For more information, see Fleets in the\n Amazon Web Services IoT FleetWise Developer Guide.

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

Creates a fleet that represents a group of vehicles.\n

\n \n

You must create both a signal catalog and vehicles before you can create a fleet.\n

\n
\n

For more information, see Fleets in the\n Amazon Web Services IoT FleetWise Developer Guide.

", "smithy.api#http": { "method": "POST", "uri": "/fleets/{fleetId}", @@ -1161,7 +1170,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a vehicle model (model manifest) that specifies signals (attributes,\n branches, sensors, and actuators).

\n

For more information, see Vehicle models\n in the Amazon Web Services IoT FleetWise Developer Guide.

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

Creates a vehicle model (model manifest) that specifies signals (attributes,\n branches, sensors, and actuators).

\n

For more information, see Vehicle models\n in the Amazon Web Services IoT FleetWise Developer Guide.

", "smithy.api#http": { "method": "POST", "uri": "/model-manifests/{name}", @@ -1351,7 +1360,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a vehicle, which is an instance of a vehicle model (model manifest). Vehicles\n created from the same vehicle model consist of the same signals inherited from the\n vehicle model.

\n \n

If you have an existing Amazon Web Services IoT thing, you can use Amazon Web Services IoT FleetWise to create a\n vehicle and collect data from your thing.

\n
\n

For more information, see Create a vehicle\n (AWS CLI) in the Amazon Web Services IoT FleetWise Developer Guide.

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

Creates a vehicle, which is an instance of a vehicle model (model manifest). Vehicles\n created from the same vehicle model consist of the same signals inherited from the\n vehicle model.

\n \n

If you have an existing Amazon Web Services IoT thing, you can use Amazon Web Services IoT FleetWise to create a\n vehicle and collect data from your thing.

\n
\n

For more information, see Create a vehicle\n (AWS CLI) in the Amazon Web Services IoT FleetWise Developer Guide.

", "smithy.api#http": { "method": "POST", "uri": "/vehicles/{vehicleName}", @@ -1414,13 +1423,13 @@ "attributes": { "target": "com.amazonaws.iotfleetwise#attributesMap", "traits": { - "smithy.api#documentation": "

Static information about a vehicle in a key-value pair. For example:\n \"engineType\" : \"1.3 L R2\"\n

\n

A campaign must include the keys (attribute names) in dataExtraDimensions for them to display in Amazon Timestream.

" + "smithy.api#documentation": "

Static information about a vehicle in a key-value pair. For example:\n \"engineType\" : \"1.3 L R2\"\n

\n

A campaign must include the keys (attribute names) in dataExtraDimensions for them to display in Amazon Timestream.

" } }, "associationBehavior": { "target": "com.amazonaws.iotfleetwise#VehicleAssociationBehavior", "traits": { - "smithy.api#documentation": "

An option to create a new Amazon Web Services IoT thing when creating a vehicle, or to validate an\n existing Amazon Web Services IoT thing as a vehicle.

\n

Default: \n

" + "smithy.api#documentation": "

An option to create a new Amazon Web Services IoT thing when creating a vehicle, or to validate an\n existing Amazon Web Services IoT thing as a vehicle.

\n

Default: \n

" } }, "tags": { @@ -1527,6 +1536,91 @@ "smithy.api#documentation": "

Information about a created vehicle.

" } }, + "com.amazonaws.iotfleetwise#CustomProperty": { + "type": "structure", + "members": { + "fullyQualifiedName": { + "target": "com.amazonaws.iotfleetwise#string", + "traits": { + "smithy.api#documentation": "

The fully qualified name of the custom property. For example, the fully qualified name of a custom property might be ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS.

", + "smithy.api#required": {} + } + }, + "dataType": { + "target": "com.amazonaws.iotfleetwise#NodeDataType", + "traits": { + "smithy.api#documentation": "

The data type for the custom property.

", + "smithy.api#required": {} + } + }, + "dataEncoding": { + "target": "com.amazonaws.iotfleetwise#NodeDataEncoding", + "traits": { + "smithy.api#documentation": "

Indicates whether the property is binary data.

" + } + }, + "description": { + "target": "com.amazonaws.iotfleetwise#description", + "traits": { + "smithy.api#documentation": "

A brief description of the custom property.

" + } + }, + "deprecationMessage": { + "target": "com.amazonaws.iotfleetwise#message", + "traits": { + "smithy.api#documentation": "

The deprecation message for the node or the branch that was moved or deleted.

" + } + }, + "comment": { + "target": "com.amazonaws.iotfleetwise#message", + "traits": { + "smithy.api#documentation": "

A comment in addition to the description.

" + } + }, + "structFullyQualifiedName": { + "target": "com.amazonaws.iotfleetwise#NodePath", + "traits": { + "smithy.api#documentation": "

The fully qualified name of the struct node for the custom property if the data type of the custom property is Struct or StructArray.

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

Represents a member of the complex data structure. The data type of the property can be either primitive or another struct.

" + } + }, + "com.amazonaws.iotfleetwise#CustomStruct": { + "type": "structure", + "members": { + "fullyQualifiedName": { + "target": "com.amazonaws.iotfleetwise#string", + "traits": { + "smithy.api#documentation": "

The fully qualified name of the custom structure. For example, the fully qualified name of a custom structure might be ComplexDataTypes.VehicleDataTypes.SVMCamera.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.iotfleetwise#description", + "traits": { + "smithy.api#documentation": "

A brief description of the custom structure.

" + } + }, + "deprecationMessage": { + "target": "com.amazonaws.iotfleetwise#message", + "traits": { + "smithy.api#documentation": "

The deprecation message for the node or the branch that was moved or deleted.

" + } + }, + "comment": { + "target": "com.amazonaws.iotfleetwise#message", + "traits": { + "smithy.api#documentation": "

A comment in addition to the description.

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

The custom structure represents a complex or higher-order data structure.

" + } + }, "com.amazonaws.iotfleetwise#DataDestinationConfig": { "type": "union", "members": { @@ -1672,6 +1766,12 @@ "smithy.api#documentation": "

The time the decoder manifest was last updated in seconds since epoch (January 1,\n 1970 at midnight UTC time).

", "smithy.api#required": {} } + }, + "message": { + "target": "com.amazonaws.iotfleetwise#message", + "traits": { + "smithy.api#documentation": "

The detailed message for the decoder manifest. When a decoder manifest is in an INVALID status, the message contains detailed reason and help information.

" + } } }, "traits": { @@ -1760,7 +1860,7 @@ "arn": { "target": "com.amazonaws.iotfleetwise#arn", "traits": { - "smithy.api#documentation": "

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

\n \n

The ARN isn’t returned if a campaign doesn’t exist.

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

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

\n \n

The ARN isn’t returned if a campaign doesn’t exist.

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

Deletes a decoder manifest. You can't delete a decoder manifest if it has vehicles\n associated with it.

\n \n

If the decoder manifest is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200\n response with an empty body.

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

Deletes a decoder manifest. You can't delete a decoder manifest if it has vehicles\n associated with it.

\n \n

If the decoder manifest is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200\n response with an empty body.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/decoder-manifests/{name}", @@ -1855,7 +1955,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a fleet. Before you delete a fleet, all vehicles must be\n dissociated from the fleet. For more information, see Delete a fleet (AWS\n CLI) in the Amazon Web Services IoT FleetWise Developer Guide.

\n \n

If the fleet is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200 response\n with an empty body.

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

Deletes a fleet. Before you delete a fleet, all vehicles must be\n dissociated from the fleet. For more information, see Delete a fleet (AWS\n CLI) in the Amazon Web Services IoT FleetWise Developer Guide.

\n \n

If the fleet is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200 response\n with an empty body.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/fleets/{fleetId}", @@ -1920,7 +2020,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a vehicle model (model manifest).

\n \n

If the vehicle model is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200\n response with an empty body.

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

Deletes a vehicle model (model manifest).

\n \n

If the vehicle model is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200\n response with an empty body.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/model-manifests/{name}", @@ -1987,7 +2087,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a signal catalog.

\n \n

If the signal catalog is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200\n response with an empty body.

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

Deletes a signal catalog.

\n \n

If the signal catalog is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200\n response with an empty body.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/signal-catalogs/{name}", @@ -2051,7 +2151,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a vehicle and removes it from any campaigns.

\n \n

If the vehicle is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200 response\n with an empty body.

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

Deletes a vehicle and removes it from any campaigns.

\n \n

If the vehicle is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200 response\n with an empty body.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/vehicles/{vehicleName}", @@ -2133,7 +2233,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes, or disassociates, a vehicle from a fleet. Disassociating a vehicle from a\n fleet doesn't delete the vehicle.

\n \n

If the vehicle is successfully dissociated from a fleet, Amazon Web Services IoT FleetWise sends back an\n HTTP 200 response with an empty body.

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

Removes, or disassociates, a vehicle from a fleet. Disassociating a vehicle from a\n fleet doesn't delete the vehicle.

\n \n

If the vehicle is successfully dissociated from a fleet, Amazon Web Services IoT FleetWise sends back an\n HTTP 200 response with an empty body.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/vehicles/{vehicleName}/disassociate", @@ -2292,7 +2392,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about a fleet.

\n

You can use the API operation to return this\n information about multiple fleets.

" + "smithy.api#documentation": "

Information about a fleet.

\n

You can use the API operation to return this\n information about multiple fleets.

" } }, "com.amazonaws.iotfleetwise#FormattedVss": { @@ -2489,7 +2589,7 @@ "dataDestinationConfigs": { "target": "com.amazonaws.iotfleetwise#DataDestinationConfigs", "traits": { - "smithy.api#documentation": "

The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.

\n

Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics.

\n

You can use Amazon Timestream to access and analyze time series data, and Timestream to query\n vehicle data so that you can identify trends and patterns.

" + "smithy.api#documentation": "

The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.

\n

Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics.

\n

You can use Amazon Timestream to access and analyze time series data, and Timestream to query\n vehicle data so that you can identify trends and patterns.

" } } } @@ -2587,6 +2687,12 @@ "smithy.api#documentation": "

The time the decoder manifest was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

", "smithy.api#required": {} } + }, + "message": { + "target": "com.amazonaws.iotfleetwise#message", + "traits": { + "smithy.api#documentation": "

The detailed message for the decoder manifest. When a decoder manifest is in an INVALID status, the message contains detailed reason and help information.

" + } } } }, @@ -2651,7 +2757,7 @@ "encryptionType": { "target": "com.amazonaws.iotfleetwise#EncryptionType", "traits": { - "smithy.api#documentation": "

The type of encryption. Set to KMS_BASED_ENCRYPTION to use an KMS key that you own and manage. Set to FLEETWISE_DEFAULT_ENCRYPTION to use an Amazon Web Services managed key that is owned by the Amazon Web Services IoT FleetWise service account.

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

The type of encryption. Set to KMS_BASED_ENCRYPTION to use a KMS key that you own and manage. Set to FLEETWISE_DEFAULT_ENCRYPTION to use an Amazon Web Services managed key that is owned by the Amazon Web Services IoT FleetWise service account.

", "smithy.api#required": {} } }, @@ -2936,7 +3042,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information about the status of registering your Amazon Web Services account, IAM, and\n Amazon Timestream resources so that Amazon Web Services IoT FleetWise can transfer your vehicle data to the Amazon Web Services\n Cloud.

\n

For more information, including step-by-step procedures, see Setting up Amazon Web Services IoT FleetWise.

\n \n

This API operation doesn't require input parameters.

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

Retrieves information about the status of registering your Amazon Web Services account, IAM, and\n Amazon Timestream resources so that Amazon Web Services IoT FleetWise can transfer your vehicle data to the Amazon Web Services\n Cloud.

\n

For more information, including step-by-step procedures, see Setting up Amazon Web Services IoT FleetWise.

\n \n

This API operation doesn't require input parameters.

\n
", "smithy.api#http": { "method": "GET", "uri": "/account/registration_status", @@ -2962,7 +3068,7 @@ "accountStatus": { "target": "com.amazonaws.iotfleetwise#RegistrationStatus", "traits": { - "smithy.api#documentation": "

The status of registering your account and resources. The status can be one\n of:

\n
    \n
  • \n

    \n REGISTRATION_SUCCESS - The Amazon Web Services resource is successfully\n registered.

    \n
  • \n
  • \n

    \n REGISTRATION_PENDING - Amazon Web Services IoT FleetWise is processing the registration\n request. This process takes approximately five minutes to complete.

    \n
  • \n
  • \n

    \n REGISTRATION_FAILURE - Amazon Web Services IoT FleetWise can't register the AWS resource.\n Try again later.

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

The status of registering your account and resources. The status can be one\n of:

\n
    \n
  • \n

    \n REGISTRATION_SUCCESS - The Amazon Web Services resource is successfully\n registered.

    \n
  • \n
  • \n

    \n REGISTRATION_PENDING - Amazon Web Services IoT FleetWise is processing the registration\n request. This process takes approximately five minutes to complete.

    \n
  • \n
  • \n

    \n REGISTRATION_FAILURE - Amazon Web Services IoT FleetWise can't register the AWS resource.\n Try again later.

    \n
  • \n
", "smithy.api#required": {} } }, @@ -3163,7 +3269,7 @@ "attributes": { "target": "com.amazonaws.iotfleetwise#attributesMap", "traits": { - "smithy.api#documentation": "

Static information about a vehicle in a key-value pair. For example:

\n

\n \"engineType\" : \"1.3 L R2\"\n

" + "smithy.api#documentation": "

Static information about a vehicle in a key-value pair. For example:

\n

\n \"engineType\" : \"1.3 L R2\"\n

" } }, "creationTime": { @@ -3315,7 +3421,7 @@ } }, "traits": { - "smithy.api#documentation": "

The IAM resource that enables Amazon Web Services IoT FleetWise edge agent software to send data to\n Amazon Timestream.

\n

For more information, see IAM roles in the\n Identity and Access Management User Guide.

" + "smithy.api#documentation": "

The IAM resource that enables Amazon Web Services IoT FleetWise edge agent software to send data to\n Amazon Timestream.

\n

For more information, see IAM roles in the\n Identity and Access Management User Guide.

" } }, "com.amazonaws.iotfleetwise#ImportDecoderManifest": { @@ -3621,6 +3727,12 @@ "traits": { "smithy.api#documentation": "

A message about why the signal decoder isn't valid.

" } + }, + "hint": { + "target": "com.amazonaws.iotfleetwise#message", + "traits": { + "smithy.api#documentation": "

The possible cause for the invalid signal decoder.

" + } } }, "traits": { @@ -3734,7 +3846,7 @@ }, "aws.protocols#awsJson1_0": {}, "smithy.api#cors": {}, - "smithy.api#documentation": "

Amazon Web Services IoT FleetWise is a fully managed service that you can use to collect, model, and transfer\n vehicle data to the Amazon Web Services cloud at scale. With Amazon Web Services IoT FleetWise, you can standardize all of\n your vehicle data models, independent of the in-vehicle communication architecture, and\n define data collection rules to transfer only high-value data to the cloud.\n

\n

For more information, see What is Amazon Web Services IoT FleetWise? in the\n Amazon Web Services IoT FleetWise Developer Guide.

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

Amazon Web Services IoT FleetWise is a fully managed service that you can use to collect, model, and transfer\n vehicle data to the Amazon Web Services cloud at scale. With Amazon Web Services IoT FleetWise, you can standardize all of\n your vehicle data models, independent of the in-vehicle communication architecture, and\n define data collection rules to transfer only high-value data to the cloud.\n

\n

For more information, see What is Amazon Web Services IoT FleetWise? in the\n Amazon Web Services IoT FleetWise Developer Guide.

", "smithy.api#title": "AWS IoT FleetWise", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -3778,7 +3890,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3821,7 +3932,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -3834,7 +3946,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3848,7 +3959,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3871,7 +3981,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3906,7 +4015,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -3917,14 +4025,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -3938,14 +4048,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -3954,11 +4062,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -3969,14 +4077,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -3990,7 +4100,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4010,7 +4119,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -4021,14 +4129,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -4039,9 +4149,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -4429,7 +4541,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists information about created campaigns.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

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

Lists information about created campaigns.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

\n
", "smithy.api#http": { "method": "GET", "uri": "/campaigns", @@ -4513,7 +4625,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the network interfaces specified in a decoder manifest.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

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

Lists the network interfaces specified in a decoder manifest.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

\n
", "smithy.api#http": { "method": "GET", "uri": "/decoder-manifests/{name}/network-interfaces", @@ -4598,7 +4710,7 @@ } ], "traits": { - "smithy.api#documentation": "

A list of information about signal decoders specified in a decoder manifest.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

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

A list of information about signal decoders specified in a decoder manifest.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

\n
", "smithy.api#http": { "method": "GET", "uri": "/decoder-manifests/{name}/signals", @@ -4680,7 +4792,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists decoder manifests.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

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

Lists decoder manifests.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

\n
", "smithy.api#http": { "method": "GET", "uri": "/decoder-manifests", @@ -4764,7 +4876,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information for each created fleet in an Amazon Web Services account.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

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

Retrieves information for each created fleet in an Amazon Web Services account.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

\n
", "smithy.api#http": { "method": "GET", "uri": "/fleets", @@ -4805,7 +4917,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a list of IDs for all fleets that the vehicle is associated with.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

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

Retrieves a list of IDs for all fleets that the vehicle is associated with.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

\n
", "smithy.api#http": { "method": "GET", "uri": "/vehicles/{vehicleName}/fleets", @@ -4929,7 +5041,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists information about nodes specified in a vehicle model (model manifest).

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

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

Lists information about nodes specified in a vehicle model (model manifest).

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

\n
", "smithy.api#http": { "method": "GET", "uri": "/model-manifests/{name}/nodes", @@ -5011,7 +5123,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a list of vehicle models (model manifests).

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

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

Retrieves a list of vehicle models (model manifests).

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

\n
", "smithy.api#http": { "method": "GET", "uri": "/model-manifests", @@ -5098,7 +5210,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists of information about the signals (nodes) specified in a signal catalog.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

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

Lists of information about the signals (nodes) specified in a signal catalog.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

\n
", "smithy.api#http": { "method": "GET", "uri": "/signal-catalogs/{name}/nodes", @@ -5180,7 +5292,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists all the created signal catalogs in an Amazon Web Services account.

\n

You can use to list information about\n each signal (node) specified in a signal catalog.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

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

Lists all the created signal catalogs in an Amazon Web Services account.

\n

You can use to list information about\n each signal (node) specified in a signal catalog.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

\n
", "smithy.api#http": { "method": "GET", "uri": "/signal-catalogs", @@ -5313,7 +5425,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a list of summaries of created vehicles.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

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

Retrieves a list of summaries of created vehicles.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

\n
", "smithy.api#http": { "method": "GET", "uri": "/vehicles", @@ -5354,7 +5466,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a list of summaries of all vehicles associated with a fleet.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

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

Retrieves a list of summaries of all vehicles associated with a fleet.

\n \n

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

\n
", "smithy.api#http": { "method": "GET", "uri": "/fleets/{fleetId}/vehicles", @@ -5482,10 +5594,40 @@ { "value": "DRAFT", "name": "DRAFT" + }, + { + "value": "INVALID", + "name": "INVALID" + }, + { + "value": "VALIDATING", + "name": "VALIDATING" } ] } }, + "com.amazonaws.iotfleetwise#MessageSignal": { + "type": "structure", + "members": { + "topicName": { + "target": "com.amazonaws.iotfleetwise#TopicName", + "traits": { + "smithy.api#documentation": "

The topic name for the message signal. It corresponds to topics in ROS 2.

", + "smithy.api#required": {} + } + }, + "structuredMessage": { + "target": "com.amazonaws.iotfleetwise#StructuredMessage", + "traits": { + "smithy.api#documentation": "

The structured message for the message signal. It can be defined with either a primitiveMessageDefinition, structuredMessageListDefinition, or structuredMessageDefinition recursively.

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

The decoding information for a specific message which support higher order data types.

" + } + }, "com.amazonaws.iotfleetwise#ModelManifestResource": { "type": "resource", "identifiers": { @@ -5582,7 +5724,12 @@ } }, "com.amazonaws.iotfleetwise#NetworkFileBlob": { - "type": "blob" + "type": "blob", + "traits": { + "smithy.api#length": { + "max": 200000000 + } + } }, "com.amazonaws.iotfleetwise#NetworkFileDefinition": { "type": "union", @@ -5644,10 +5791,16 @@ "traits": { "smithy.api#documentation": "

Information about a network interface specified by the On-board diagnostic (OBD) II\n protocol.

" } + }, + "vehicleMiddleware": { + "target": "com.amazonaws.iotfleetwise#VehicleMiddleware", + "traits": { + "smithy.api#documentation": "

The vehicle middleware defined as a type of network interface. Examples of vehicle middleware include ROS2 and SOME/IP.

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

Represents a node and its specifications in an in-vehicle communication network. All\n signal decoders must be associated with a network node.

\n

To return this information about all the network interfaces specified in a decoder\n manifest, use the API\n operation.

" + "smithy.api#documentation": "

Represents a node and its specifications in an in-vehicle communication network. All\n signal decoders must be associated with a network node.

\n

To return this information about all the network interfaces specified in a decoder\n manifest, use the API\n operation.

" } }, "com.amazonaws.iotfleetwise#NetworkInterfaceFailureReason": { @@ -5677,6 +5830,14 @@ { "value": "NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS", "name": "NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS" + }, + { + "value": "VEHICLE_MIDDLEWARE_NETWORK_INTERFACE_INFO_IS_NULL", + "name": "VEHICLE_MIDDLEWARE_NETWORK_INTERFACE_INFO_IS_NULL" + }, + { + "value": "CUSTOMER_DECODED_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL", + "name": "CUSTOMER_DECODED_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL" } ] } @@ -5692,6 +5853,14 @@ { "value": "OBD_INTERFACE", "name": "OBD_INTERFACE" + }, + { + "value": "VEHICLE_MIDDLEWARE", + "name": "VEHICLE_MIDDLEWARE" + }, + { + "value": "CUSTOMER_DECODED_INTERFACE", + "name": "CUSTOMER_DECODED_INTERFACE" } ] } @@ -5714,7 +5883,7 @@ "branch": { "target": "com.amazonaws.iotfleetwise#Branch", "traits": { - "smithy.api#documentation": "

Information about a node specified as a branch.

\n \n

A group of signals that are defined in a hierarchical structure.

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

Information about a node specified as a branch.

\n \n

A group of signals that are defined in a hierarchical structure.

\n
" } }, "sensor": { @@ -5723,13 +5892,25 @@ "actuator": { "target": "com.amazonaws.iotfleetwise#Actuator", "traits": { - "smithy.api#documentation": "

Information about a node specified as an actuator.

\n \n

An actuator is a digital representation of a vehicle device.

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

Information about a node specified as an actuator.

\n \n

An actuator is a digital representation of a vehicle device.

\n
" } }, "attribute": { "target": "com.amazonaws.iotfleetwise#Attribute", "traits": { - "smithy.api#documentation": "

Information about a node specified as an attribute.

\n \n

An attribute represents static information about a vehicle.

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

Information about a node specified as an attribute.

\n \n

An attribute represents static information about a vehicle.

\n
" + } + }, + "struct": { + "target": "com.amazonaws.iotfleetwise#CustomStruct", + "traits": { + "smithy.api#documentation": "

Represents a complex or higher-order data structure.

" + } + }, + "property": { + "target": "com.amazonaws.iotfleetwise#CustomProperty", + "traits": { + "smithy.api#documentation": "

Represents a member of the complex data structure. The datatype of the property can be either primitive or another struct.

" } } }, @@ -5774,12 +5955,41 @@ "smithy.api#default": 0, "smithy.api#documentation": "

The total number of nodes in a vehicle network that represent actuators.

" } + }, + "totalStructs": { + "target": "com.amazonaws.iotfleetwise#number", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The total structure for the node.

" + } + }, + "totalProperties": { + "target": "com.amazonaws.iotfleetwise#number", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The total properties for the node.

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

Information about the number of nodes and node types in a vehicle network.

" } }, + "com.amazonaws.iotfleetwise#NodeDataEncoding": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "BINARY", + "name": "BINARY" + }, + { + "value": "TYPED", + "name": "TYPED" + } + ] + } + }, "com.amazonaws.iotfleetwise#NodeDataType": { "type": "string", "traits": { @@ -5891,6 +6101,14 @@ { "value": "UNKNOWN", "name": "UNKNOWN" + }, + { + "value": "STRUCT", + "name": "STRUCT" + }, + { + "value": "STRUCT_ARRAY", + "name": "STRUCT_ARRAY" } ] } @@ -5986,14 +6204,14 @@ } }, "useExtendedIds": { - "target": "com.amazonaws.iotfleetwise#boolean", + "target": "smithy.api#PrimitiveBoolean", "traits": { "smithy.api#default": false, "smithy.api#documentation": "

Whether to use extended IDs in the message.

" } }, "hasTransmissionEcu": { - "target": "com.amazonaws.iotfleetwise#boolean", + "target": "smithy.api#PrimitiveBoolean", "traits": { "smithy.api#default": false, "smithy.api#documentation": "

Whether the vehicle has a transmission control module (TCM).

" @@ -6019,7 +6237,6 @@ "pidResponseLength": { "target": "com.amazonaws.iotfleetwise#positiveInteger", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The length of the requested data.

", "smithy.api#required": {} } @@ -6106,6 +6323,20 @@ "smithy.api#pattern": "^[a-zA-Z0-9-_:./!*'()]+$" } }, + "com.amazonaws.iotfleetwise#PrimitiveMessageDefinition": { + "type": "union", + "members": { + "ros2PrimitiveMessageDefinition": { + "target": "com.amazonaws.iotfleetwise#ROS2PrimitiveMessageDefinition", + "traits": { + "smithy.api#documentation": "

Information about a PrimitiveMessage using a ROS 2 compliant primitive type message of the complex data structure.

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

Represents a primitive type node of the complex data structure.

" + } + }, "com.amazonaws.iotfleetwise#ProtocolName": { "type": "string", "traits": { @@ -6167,7 +6398,11 @@ "kmsKeyId": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The ID of the KMS key that is used for encryption.

" + "smithy.api#documentation": "

The ID of the KMS key that is used for encryption.

", + "smithy.api#length": { + "min": 0, + "max": 2048 + } } }, "encryptionType": { @@ -6261,6 +6496,110 @@ "type": "structure", "members": {} }, + "com.amazonaws.iotfleetwise#ROS2PrimitiveMessageDefinition": { + "type": "structure", + "members": { + "primitiveType": { + "target": "com.amazonaws.iotfleetwise#ROS2PrimitiveType", + "traits": { + "smithy.api#documentation": "

The primitive type (integer, floating point, boolean, etc.) for the ROS 2 primitive message definition.

", + "smithy.api#required": {} + } + }, + "offset": { + "target": "com.amazonaws.iotfleetwise#double", + "traits": { + "smithy.api#documentation": "

The offset used to calculate the signal value. Combined with scaling, the calculation is value = raw_value * scaling + offset.

" + } + }, + "scaling": { + "target": "com.amazonaws.iotfleetwise#double", + "traits": { + "smithy.api#documentation": "

A multiplier used to decode the message.

" + } + }, + "upperBound": { + "target": "com.amazonaws.iotfleetwise#maxStringSize", + "traits": { + "smithy.api#documentation": "

An optional attribute specifying the upper bound for STRING and WSTRING.

", + "smithy.api#range": { + "min": 0, + "max": 2048 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents a ROS 2 compliant primitive type message of the complex data structure.

" + } + }, + "com.amazonaws.iotfleetwise#ROS2PrimitiveType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "BOOL", + "name": "BOOL" + }, + { + "value": "BYTE", + "name": "BYTE" + }, + { + "value": "CHAR", + "name": "CHAR" + }, + { + "value": "FLOAT32", + "name": "FLOAT32" + }, + { + "value": "FLOAT64", + "name": "FLOAT64" + }, + { + "value": "INT8", + "name": "INT8" + }, + { + "value": "UINT8", + "name": "UINT8" + }, + { + "value": "INT16", + "name": "INT16" + }, + { + "value": "UINT16", + "name": "UINT16" + }, + { + "value": "INT32", + "name": "INT32" + }, + { + "value": "UINT32", + "name": "UINT32" + }, + { + "value": "INT64", + "name": "INT64" + }, + { + "value": "UINT64", + "name": "UINT64" + }, + { + "value": "STRING", + "name": "STRING" + }, + { + "value": "WSTRING", + "name": "WSTRING" + } + ] + } + }, "com.amazonaws.iotfleetwise#RegisterAccount": { "type": "operation", "input": { @@ -6290,7 +6629,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This API operation contains deprecated parameters. Register your account again without the Timestream resources parameter so that Amazon Web Services IoT FleetWise can remove the Timestream metadata stored. You should then pass the data destination into the CreateCampaign API operation.

\n

You must delete any existing campaigns that include an empty data destination before you register your account again. For more information, see the DeleteCampaign API operation.

\n

If you want to delete the Timestream inline policy from the service-linked role, such as to mitigate an overly permissive policy, you must first delete any existing campaigns. Then delete the service-linked role and register your account again to enable CloudWatch metrics. For more information, see DeleteServiceLinkedRole in the Identity and Access Management API Reference.

\n
\n \n

Registers your Amazon Web Services account, IAM, and Amazon Timestream resources so Amazon Web Services IoT FleetWise can\n transfer your vehicle data to the Amazon Web Services Cloud. For more information, including\n step-by-step procedures, see Setting up\n Amazon Web Services IoT FleetWise.

\n \n

An Amazon Web Services account is not the same thing as a \"user.\" An Amazon Web Services user is an identity that you create using Identity and Access Management (IAM) and\n takes the form of either an IAM user or an IAM role, both\n with credentials. A single Amazon Web Services account can, and typically does,\n contain many users and roles.

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

This API operation contains deprecated parameters. Register your account again without the Timestream resources parameter so that Amazon Web Services IoT FleetWise can remove the Timestream metadata stored. You should then pass the data destination into the CreateCampaign API operation.

\n

You must delete any existing campaigns that include an empty data destination before you register your account again. For more information, see the DeleteCampaign API operation.

\n

If you want to delete the Timestream inline policy from the service-linked role, such as to mitigate an overly permissive policy, you must first delete any existing campaigns. Then delete the service-linked role and register your account again to enable CloudWatch metrics. For more information, see DeleteServiceLinkedRole in the Identity and Access Management API Reference.

\n
\n

Registers your Amazon Web Services account, IAM, and Amazon Timestream resources so Amazon Web Services IoT FleetWise can\n transfer your vehicle data to the Amazon Web Services Cloud. For more information, including\n step-by-step procedures, see Setting up\n Amazon Web Services IoT FleetWise.

\n \n

An Amazon Web Services account is not the same thing as a \"user.\" An Amazon Web Services user is an identity that you create using Identity and Access Management (IAM) and\n takes the form of either an IAM user or an IAM role, both\n with credentials. A single Amazon Web Services account can, and typically does,\n contain many users and roles.

\n
", "smithy.api#http": { "method": "POST", "uri": "/account/registration", @@ -6437,7 +6776,7 @@ "dataFormat": { "target": "com.amazonaws.iotfleetwise#DataFormat", "traits": { - "smithy.api#documentation": "

Specify the format that files are saved in the Amazon S3 bucket. You can save files in an Apache Parquet or JSON format.

\n
    \n
  • \n

    Parquet - Store data in a columnar storage file format. Parquet is optimal for\n fast data retrieval and can reduce costs. This option is selected by\n default.

    \n
  • \n
  • \n

    JSON - Store data in a standard text-based JSON file format.

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

Specify the format that files are saved in the Amazon S3 bucket. You can save files in an Apache Parquet or JSON format.

\n
    \n
  • \n

    Parquet - Store data in a columnar storage file format. Parquet is optimal for\n fast data retrieval and can reduce costs. This option is selected by\n default.

    \n
  • \n
  • \n

    JSON - Store data in a standard text-based JSON file format.

    \n
  • \n
" } }, "storageCompressionFormat": { @@ -6449,7 +6788,7 @@ "prefix": { "target": "com.amazonaws.iotfleetwise#Prefix", "traits": { - "smithy.api#documentation": "

(Optional) Enter an S3 bucket prefix. The prefix is the string of characters after the bucket name and before the object name. You can use the prefix to organize data stored in Amazon S3 buckets. For more information, see Organizing objects using prefixes in the Amazon Simple Storage Service User Guide.

\n

By default, Amazon Web Services IoT FleetWise sets the prefix processed-data/year=YY/month=MM/date=DD/hour=HH/ (in UTC) to data it delivers to Amazon S3. You can enter a prefix to append it to this default prefix. For example, if you enter the prefix vehicles, the prefix will be vehicles/processed-data/year=YY/month=MM/date=DD/hour=HH/.

" + "smithy.api#documentation": "

(Optional) Enter an S3 bucket prefix. The prefix is the string of characters after the bucket name and before the object name. You can use the prefix to organize data stored in Amazon S3 buckets. For more information, see Organizing objects using prefixes in the Amazon Simple Storage Service User Guide.

\n

By default, Amazon Web Services IoT FleetWise sets the prefix processed-data/year=YY/month=MM/date=DD/hour=HH/ (in UTC) to data it delivers to Amazon S3. You can enter a prefix to append it to this default prefix. For example, if you enter the prefix vehicles, the prefix will be vehicles/processed-data/year=YY/month=MM/date=DD/hour=HH/.

" } } }, @@ -6515,10 +6854,16 @@ "traits": { "smithy.api#documentation": "

A comment in addition to the description.

" } + }, + "structFullyQualifiedName": { + "target": "com.amazonaws.iotfleetwise#NodePath", + "traits": { + "smithy.api#documentation": "

The fully qualified name of the struct node for a sensor if the data type of the actuator is Struct or StructArray. For example, the struct fully qualified name of a sensor might be Vehicle.ADAS.CameraStruct.

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

An input component that reports the environmental condition of a vehicle.

\n \n

You can collect data about fluid levels, temperatures, vibrations, or battery\n voltage from sensors.

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

An input component that reports the environmental condition of a vehicle.

\n \n

You can collect data about fluid levels, temperatures, vibrations, or battery\n voltage from sensors.

\n
" } }, "com.amazonaws.iotfleetwise#SignalCatalogResource": { @@ -6625,6 +6970,12 @@ "traits": { "smithy.api#documentation": "

Information about signal decoder using the On-board diagnostic (OBD) II protocol.

" } + }, + "messageSignal": { + "target": "com.amazonaws.iotfleetwise#MessageSignal", + "traits": { + "smithy.api#documentation": "

The decoding information for a specific message which supports higher order data types.

" + } } }, "traits": { @@ -6670,6 +7021,34 @@ { "value": "NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL", "name": "NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL" + }, + { + "value": "MESSAGE_SIGNAL_INFO_IS_NULL", + "name": "MESSAGE_SIGNAL_INFO_IS_NULL" + }, + { + "value": "SIGNAL_DECODER_TYPE_INCOMPATIBLE_WITH_MESSAGE_SIGNAL_TYPE", + "name": "SIGNAL_DECODER_TYPE_INCOMPATIBLE_WITH_MESSAGE_SIGNAL_TYPE" + }, + { + "value": "STRUCT_SIZE_MISMATCH", + "name": "STRUCT_SIZE_MISMATCH" + }, + { + "value": "NO_SIGNAL_IN_CATALOG_FOR_DECODER_SIGNAL", + "name": "NO_SIGNAL_IN_CATALOG_FOR_DECODER_SIGNAL" + }, + { + "value": "SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG", + "name": "SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG" + }, + { + "value": "EMPTY_MESSAGE_SIGNAL", + "name": "EMPTY_MESSAGE_SIGNAL" + }, + { + "value": "CUSTOMER_DECODED_SIGNAL_INFO_IS_NULL", + "name": "CUSTOMER_DECODED_SIGNAL_INFO_IS_NULL" } ] } @@ -6685,6 +7064,14 @@ { "value": "OBD_SIGNAL", "name": "OBD_SIGNAL" + }, + { + "value": "MESSAGE_SIGNAL", + "name": "MESSAGE_SIGNAL" + }, + { + "value": "CUSTOMER_DECODED_SIGNAL", + "name": "CUSTOMER_DECODED_SIGNAL" } ] } @@ -6720,7 +7107,7 @@ "minimumSamplingIntervalMs": { "target": "com.amazonaws.iotfleetwise#uint32", "traits": { - "smithy.api#documentation": "

The minimum duration of time (in milliseconds) between two triggering events to\n collect data.

\n \n

If a signal changes often, you might want to collect data at a slower rate.

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

The minimum duration of time (in milliseconds) between two triggering events to\n collect data.

\n \n

If a signal changes often, you might want to collect data at a slower rate.

\n
" } } }, @@ -6770,6 +7157,130 @@ ] } }, + "com.amazonaws.iotfleetwise#StructureMessageName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 150 + } + } + }, + "com.amazonaws.iotfleetwise#StructuredMessage": { + "type": "union", + "members": { + "primitiveMessageDefinition": { + "target": "com.amazonaws.iotfleetwise#PrimitiveMessageDefinition", + "traits": { + "smithy.api#documentation": "

Represents a primitive type node of the complex data structure.

" + } + }, + "structuredMessageListDefinition": { + "target": "com.amazonaws.iotfleetwise#StructuredMessageListDefinition", + "traits": { + "smithy.api#documentation": "

Represents a list type node of the complex data structure.

" + } + }, + "structuredMessageDefinition": { + "target": "com.amazonaws.iotfleetwise#StructuredMessageDefinition", + "traits": { + "smithy.api#documentation": "

Represents a struct type node of the complex data structure.

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

The structured message for the message signal. It can be defined with either a primitiveMessageDefinition, structuredMessageListDefinition, or structuredMessageDefinition recursively.

" + } + }, + "com.amazonaws.iotfleetwise#StructuredMessageDefinition": { + "type": "list", + "member": { + "target": "com.amazonaws.iotfleetwise#StructuredMessageFieldNameAndDataTypePair" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 500 + } + } + }, + "com.amazonaws.iotfleetwise#StructuredMessageFieldNameAndDataTypePair": { + "type": "structure", + "members": { + "fieldName": { + "target": "com.amazonaws.iotfleetwise#StructureMessageName", + "traits": { + "smithy.api#documentation": "

The field name of the structured message. It determines how a data value is referenced in the target language.

", + "smithy.api#required": {} + } + }, + "dataType": { + "target": "com.amazonaws.iotfleetwise#StructuredMessage", + "traits": { + "smithy.api#documentation": "

The data type.

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

Represents a StructureMessageName to DataType map element.

" + } + }, + "com.amazonaws.iotfleetwise#StructuredMessageListDefinition": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.iotfleetwise#StructureMessageName", + "traits": { + "smithy.api#documentation": "

The name of the structured message list definition.

", + "smithy.api#required": {} + } + }, + "memberType": { + "target": "com.amazonaws.iotfleetwise#StructuredMessage", + "traits": { + "smithy.api#documentation": "

The member type of the structured message list definition.

", + "smithy.api#required": {} + } + }, + "listType": { + "target": "com.amazonaws.iotfleetwise#StructuredMessageListType", + "traits": { + "smithy.api#documentation": "

The type of list of the structured message list definition.

", + "smithy.api#required": {} + } + }, + "capacity": { + "target": "com.amazonaws.iotfleetwise#nonNegativeInteger", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The capacity of the structured message list definition when the list type is FIXED_CAPACITY or DYNAMIC_BOUNDED_CAPACITY.

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

Represents a list type node of the complex data structure.

" + } + }, + "com.amazonaws.iotfleetwise#StructuredMessageListType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "FIXED_CAPACITY", + "name": "FIXED_CAPACITY" + }, + { + "value": "DYNAMIC_UNBOUNDED_CAPACITY", + "name": "DYNAMIC_UNBOUNDED_CAPACITY" + }, + { + "value": "DYNAMIC_BOUNDED_CAPACITY", + "name": "DYNAMIC_BOUNDED_CAPACITY" + } + ] + } + }, "com.amazonaws.iotfleetwise#Tag": { "type": "structure", "members": { @@ -7068,6 +7579,16 @@ "smithy.api#pattern": "^[a-zA-Z0-9_.-]+$" } }, + "com.amazonaws.iotfleetwise#TopicName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 150 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_\\-#:./]+$" + } + }, "com.amazonaws.iotfleetwise#TriggerMode": { "type": "string", "traits": { @@ -7220,13 +7741,13 @@ "dataExtraDimensions": { "target": "com.amazonaws.iotfleetwise#DataExtraDimensionNodePathList", "traits": { - "smithy.api#documentation": "

A list of vehicle attributes to associate with a signal.

\n

Default: An empty array

" + "smithy.api#documentation": "

A list of vehicle attributes to associate with a signal.

\n

Default: An empty array

" } }, "action": { "target": "com.amazonaws.iotfleetwise#UpdateCampaignAction", "traits": { - "smithy.api#documentation": "

Specifies how to update a campaign. The action can be one of the following:

\n
    \n
  • \n

    \n APPROVE - To approve delivering a data collection scheme to\n vehicles.

    \n
  • \n
  • \n

    \n SUSPEND - To suspend collecting signal data. The campaign is deleted from vehicles and all vehicles in the suspended campaign will stop sending data.

    \n
  • \n
  • \n

    \n RESUME - To reactivate the SUSPEND campaign. The campaign is redeployed to all vehicles and the vehicles will resume sending data.

    \n
  • \n
  • \n

    \n UPDATE - To update a campaign.

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

Specifies how to update a campaign. The action can be one of the following:

\n
    \n
  • \n

    \n APPROVE - To approve delivering a data collection scheme to\n vehicles.

    \n
  • \n
  • \n

    \n SUSPEND - To suspend collecting signal data. The campaign is deleted from vehicles and all vehicles in the suspended campaign will stop sending data.

    \n
  • \n
  • \n

    \n RESUME - To reactivate the SUSPEND campaign. The campaign is redeployed to all vehicles and the vehicles will resume sending data.

    \n
  • \n
  • \n

    \n UPDATE - To update a campaign.

    \n
  • \n
", "smithy.api#required": {} } } @@ -7250,7 +7771,7 @@ "status": { "target": "com.amazonaws.iotfleetwise#CampaignStatus", "traits": { - "smithy.api#documentation": "

The state of a campaign. The status can be one of:

\n
    \n
  • \n

    \n CREATING - Amazon Web Services IoT FleetWise is processing your request to create the\n campaign.

    \n
  • \n
  • \n

    \n WAITING_FOR_APPROVAL - After a campaign is created, it enters the\n WAITING_FOR_APPROVAL state. To allow Amazon Web Services IoT FleetWise to deploy the\n campaign to the target vehicle or fleet, use the API operation to approve the campaign.\n

    \n
  • \n
  • \n

    \n RUNNING - The campaign is active.

    \n
  • \n
  • \n

    \n SUSPENDED - The campaign is suspended. To resume the campaign, use\n the API operation.

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

The state of a campaign. The status can be one of:

\n
    \n
  • \n

    \n CREATING - Amazon Web Services IoT FleetWise is processing your request to create the\n campaign.

    \n
  • \n
  • \n

    \n WAITING_FOR_APPROVAL - After a campaign is created, it enters the\n WAITING_FOR_APPROVAL state. To allow Amazon Web Services IoT FleetWise to deploy the\n campaign to the target vehicle or fleet, use the API operation to approve the campaign.\n

    \n
  • \n
  • \n

    \n RUNNING - The campaign is active.

    \n
  • \n
  • \n

    \n SUSPENDED - The campaign is suspended. To resume the campaign, use\n the API operation.

    \n
  • \n
" } } } @@ -7287,7 +7808,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates a decoder manifest.

\n

A decoder manifest can only be updated when the status is DRAFT. Only\n ACTIVE decoder manifests can be associated with vehicles.

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

Updates a decoder manifest.

\n

A decoder manifest can only be updated when the status is DRAFT. Only\n ACTIVE decoder manifests can be associated with vehicles.

", "smithy.api#http": { "method": "PATCH", "uri": "/decoder-manifests/{name}", @@ -7405,7 +7926,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the description of an existing fleet.

\n \n

If the fleet is successfully updated, Amazon Web Services IoT FleetWise sends back an HTTP 200 response\n with an empty HTTP body.

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

Updates the description of an existing fleet.

\n \n

If the fleet is successfully updated, Amazon Web Services IoT FleetWise sends back an HTTP 200 response\n with an empty HTTP body.

\n
", "smithy.api#http": { "method": "PATCH", "uri": "/fleets/{fleetId}", @@ -7754,13 +8275,13 @@ "attributes": { "target": "com.amazonaws.iotfleetwise#attributesMap", "traits": { - "smithy.api#documentation": "

Static information about a vehicle in a key-value pair. For example:

\n

\n \"engineType\" : \"1.3 L R2\"\n

" + "smithy.api#documentation": "

Static information about a vehicle in a key-value pair. For example:

\n

\n \"engineType\" : \"1.3 L R2\"\n

" } }, "attributeUpdateMode": { "target": "com.amazonaws.iotfleetwise#UpdateMode", "traits": { - "smithy.api#documentation": "

The method the specified attributes will update the existing attributes on the\n vehicle. UseOverwite to replace the vehicle attributes with the specified\n attributes. Or use Merge to combine all attributes.

\n

This is required if attributes are present in the input.

" + "smithy.api#documentation": "

The method the specified attributes will update the existing attributes on the\n vehicle. UseOverwite to replace the vehicle attributes with the specified\n attributes. Or use Merge to combine all attributes.

\n

This is required if attributes are present in the input.

" } } } @@ -7790,13 +8311,13 @@ "attributes": { "target": "com.amazonaws.iotfleetwise#attributesMap", "traits": { - "smithy.api#documentation": "

Static information about a vehicle in a key-value pair. For example:

\n

\n \"engineType\" : \"1.3 L R2\"\n

" + "smithy.api#documentation": "

Static information about a vehicle in a key-value pair. For example:

\n

\n \"engineType\" : \"1.3 L R2\"\n

" } }, "attributeUpdateMode": { "target": "com.amazonaws.iotfleetwise#UpdateMode", "traits": { - "smithy.api#documentation": "

The method the specified attributes will update the existing attributes on the\n vehicle. UseOverwite to replace the vehicle attributes with the specified\n attributes. Or use Merge to combine all attributes.

\n

This is required if attributes are present in the input.

" + "smithy.api#documentation": "

The method the specified attributes will update the existing attributes on the\n vehicle. UseOverwite to replace the vehicle attributes with the specified\n attributes. Or use Merge to combine all attributes.

\n

This is required if attributes are present in the input.

" } } }, @@ -7949,6 +8470,48 @@ "target": "com.amazonaws.iotfleetwise#ListVehiclesInFleet" } }, + "com.amazonaws.iotfleetwise#VehicleMiddleware": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.iotfleetwise#VehicleMiddlewareName", + "traits": { + "smithy.api#documentation": "

The name of the vehicle middleware.

", + "smithy.api#required": {} + } + }, + "protocolName": { + "target": "com.amazonaws.iotfleetwise#VehicleMiddlewareProtocol", + "traits": { + "smithy.api#documentation": "

The protocol name of the vehicle middleware.

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

The vehicle middleware defined as a type of network interface. Examples of vehicle middleware include ROS2 and SOME/IP.

" + } + }, + "com.amazonaws.iotfleetwise#VehicleMiddlewareName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.iotfleetwise#VehicleMiddlewareProtocol": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ROS_2", + "name": "ROS_2" + } + ] + } + }, "com.amazonaws.iotfleetwise#VehicleResource": { "type": "resource", "identifiers": { @@ -8036,7 +8599,7 @@ "status": { "target": "com.amazonaws.iotfleetwise#VehicleState", "traits": { - "smithy.api#documentation": "

The state of a vehicle, which can be one of the following:

\n
    \n
  • \n

    \n CREATED - Amazon Web Services IoT FleetWise sucessfully created the vehicle.

    \n
  • \n
  • \n

    \n READY - The vehicle is ready to receive a campaign deployment.\n

    \n
  • \n
  • \n

    \n HEALTHY - A campaign deployment was delivered to the vehicle.\n

    \n
  • \n
  • \n

    \n SUSPENDED - A campaign associated with the vehicle was suspended\n and data collection was paused.

    \n
  • \n
  • \n

    \n DELETING - Amazon Web Services IoT FleetWise is removing a campaign from the vehicle.\n

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

The state of a vehicle, which can be one of the following:

\n
    \n
  • \n

    \n CREATED - Amazon Web Services IoT FleetWise sucessfully created the vehicle.

    \n
  • \n
  • \n

    \n READY - The vehicle is ready to receive a campaign deployment.\n

    \n
  • \n
  • \n

    \n HEALTHY - A campaign deployment was delivered to the vehicle.\n

    \n
  • \n
  • \n

    \n SUSPENDED - A campaign associated with the vehicle was suspended\n and data collection was paused.

    \n
  • \n
  • \n

    \n DELETING - Amazon Web Services IoT FleetWise is removing a campaign from the vehicle.\n

    \n
  • \n
" } } }, @@ -8097,7 +8660,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about a vehicle.

\n

To return this information about vehicles in your account, you can use the API operation.

" + "smithy.api#documentation": "

Information about a vehicle.

\n

To return this information about vehicles in your account, you can use the API operation.

" } }, "com.amazonaws.iotfleetwise#arn": { @@ -8125,12 +8688,6 @@ "target": "com.amazonaws.iotfleetwise#attributeValue" } }, - "com.amazonaws.iotfleetwise#boolean": { - "type": "boolean", - "traits": { - "smithy.api#default": false - } - }, "com.amazonaws.iotfleetwise#campaignName": { "type": "string", "traits": { @@ -8276,6 +8833,15 @@ } } }, + "com.amazonaws.iotfleetwise#maxStringSize": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 2048 + } + } + }, "com.amazonaws.iotfleetwise#message": { "type": "string", "traits": { @@ -8319,7 +8885,6 @@ "com.amazonaws.iotfleetwise#positiveInteger": { "type": "integer", "traits": { - "smithy.api#default": 0, "smithy.api#range": { "min": 1 } diff --git a/codegen/sdk-codegen/aws-models/lakeformation.json b/codegen/sdk-codegen/aws-models/lakeformation.json index bd617c0d6a8..2531baa0e55 100644 --- a/codegen/sdk-codegen/aws-models/lakeformation.json +++ b/codegen/sdk-codegen/aws-models/lakeformation.json @@ -54,6 +54,9 @@ { "target": "com.amazonaws.lakeformation#CreateDataCellsFilter" }, + { + "target": "com.amazonaws.lakeformation#CreateLakeFormationIdentityCenterConfiguration" + }, { "target": "com.amazonaws.lakeformation#CreateLakeFormationOptIn" }, @@ -63,6 +66,9 @@ { "target": "com.amazonaws.lakeformation#DeleteDataCellsFilter" }, + { + "target": "com.amazonaws.lakeformation#DeleteLakeFormationIdentityCenterConfiguration" + }, { "target": "com.amazonaws.lakeformation#DeleteLakeFormationOptIn" }, @@ -75,6 +81,9 @@ { "target": "com.amazonaws.lakeformation#DeregisterResource" }, + { + "target": "com.amazonaws.lakeformation#DescribeLakeFormationIdentityCenterConfiguration" + }, { "target": "com.amazonaws.lakeformation#DescribeResource" }, @@ -171,6 +180,9 @@ { "target": "com.amazonaws.lakeformation#UpdateDataCellsFilter" }, + { + "target": "com.amazonaws.lakeformation#UpdateLakeFormationIdentityCenterConfiguration" + }, { "target": "com.amazonaws.lakeformation#UpdateLFTag" }, @@ -240,7 +252,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -283,7 +294,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -296,7 +308,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -310,7 +321,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -333,7 +343,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -368,7 +377,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -379,14 +387,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -400,14 +410,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -416,11 +424,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -431,14 +439,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -452,7 +462,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -472,7 +481,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -483,14 +491,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -501,9 +511,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -1322,6 +1334,26 @@ "smithy.api#error": "client" } }, + "com.amazonaws.lakeformation#ApplicationArn": { + "type": "string" + }, + "com.amazonaws.lakeformation#ApplicationStatus": { + "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.lakeformation#AssumeDecoratedRoleWithSAML": { "type": "operation", "input": { @@ -2058,6 +2090,83 @@ "smithy.api#output": {} } }, + "com.amazonaws.lakeformation#CreateLakeFormationIdentityCenterConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.lakeformation#CreateLakeFormationIdentityCenterConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.lakeformation#CreateLakeFormationIdentityCenterConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lakeformation#AccessDeniedException" + }, + { + "target": "com.amazonaws.lakeformation#AlreadyExistsException" + }, + { + "target": "com.amazonaws.lakeformation#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.lakeformation#InternalServiceException" + }, + { + "target": "com.amazonaws.lakeformation#InvalidInputException" + }, + { + "target": "com.amazonaws.lakeformation#OperationTimeoutException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an IAM Identity Center connection with Lake Formation to allow IAM Identity Center users and groups to access Data Catalog resources.

", + "smithy.api#http": { + "method": "POST", + "uri": "/CreateLakeFormationIdentityCenterConfiguration", + "code": 200 + } + } + }, + "com.amazonaws.lakeformation#CreateLakeFormationIdentityCenterConfigurationRequest": { + "type": "structure", + "members": { + "CatalogId": { + "target": "com.amazonaws.lakeformation#CatalogIdString", + "traits": { + "smithy.api#documentation": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the\n persistent metadata store. It contains database definitions, table definitions, view\n definitions, and other control information to manage your Lake Formation\n environment.

" + } + }, + "InstanceArn": { + "target": "com.amazonaws.lakeformation#IdentityCenterInstanceArn", + "traits": { + "smithy.api#documentation": "

The ARN of the IAM Identity Center instance for which the operation will be executed.\n For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service\n Namespaces in the Amazon Web Services General Reference.

" + } + }, + "ExternalFiltering": { + "target": "com.amazonaws.lakeformation#ExternalFilteringConfiguration", + "traits": { + "smithy.api#documentation": "

A list of the account IDs of Amazon Web Services accounts of third-party applications\n that are allowed to to access data managed by Lake Formation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.lakeformation#CreateLakeFormationIdentityCenterConfigurationResponse": { + "type": "structure", + "members": { + "ApplicationArn": { + "target": "com.amazonaws.lakeformation#ApplicationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the integrated application.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.lakeformation#CreateLakeFormationOptIn": { "type": "operation", "input": { @@ -2347,7 +2456,7 @@ "Parameters": { "target": "com.amazonaws.lakeformation#ParametersMap", "traits": { - "smithy.api#documentation": "

A key-value map that provides an additional configuration on your data lake. CrossAccountVersion is the key you can configure in the Parameters field. Accepted values for the CrossAccountVersion key are 1, 2, and 3.

" + "smithy.api#documentation": "

A key-value map that provides an additional configuration on your data lake. CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

" } }, "TrustedResourceOwners": { @@ -2574,6 +2683,64 @@ "smithy.api#output": {} } }, + "com.amazonaws.lakeformation#DeleteLakeFormationIdentityCenterConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.lakeformation#DeleteLakeFormationIdentityCenterConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.lakeformation#DeleteLakeFormationIdentityCenterConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lakeformation#AccessDeniedException" + }, + { + "target": "com.amazonaws.lakeformation#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.lakeformation#EntityNotFoundException" + }, + { + "target": "com.amazonaws.lakeformation#InternalServiceException" + }, + { + "target": "com.amazonaws.lakeformation#InvalidInputException" + }, + { + "target": "com.amazonaws.lakeformation#OperationTimeoutException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an IAM Identity Center connection with Lake Formation.

", + "smithy.api#http": { + "method": "POST", + "uri": "/DeleteLakeFormationIdentityCenterConfiguration", + "code": 200 + } + } + }, + "com.amazonaws.lakeformation#DeleteLakeFormationIdentityCenterConfigurationRequest": { + "type": "structure", + "members": { + "CatalogId": { + "target": "com.amazonaws.lakeformation#CatalogIdString", + "traits": { + "smithy.api#documentation": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the\n persistent metadata store. It contains database definitions, table definitions, view\n definition, and other control information to manage your Lake Formation environment.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.lakeformation#DeleteLakeFormationIdentityCenterConfigurationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.lakeformation#DeleteLakeFormationOptIn": { "type": "operation", "input": { @@ -2810,6 +2977,86 @@ "smithy.api#output": {} } }, + "com.amazonaws.lakeformation#DescribeLakeFormationIdentityCenterConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.lakeformation#DescribeLakeFormationIdentityCenterConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.lakeformation#DescribeLakeFormationIdentityCenterConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lakeformation#AccessDeniedException" + }, + { + "target": "com.amazonaws.lakeformation#EntityNotFoundException" + }, + { + "target": "com.amazonaws.lakeformation#InternalServiceException" + }, + { + "target": "com.amazonaws.lakeformation#InvalidInputException" + }, + { + "target": "com.amazonaws.lakeformation#OperationTimeoutException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the instance ARN and application ARN for the connection.

", + "smithy.api#http": { + "method": "POST", + "uri": "/DescribeLakeFormationIdentityCenterConfiguration", + "code": 200 + } + } + }, + "com.amazonaws.lakeformation#DescribeLakeFormationIdentityCenterConfigurationRequest": { + "type": "structure", + "members": { + "CatalogId": { + "target": "com.amazonaws.lakeformation#CatalogIdString", + "traits": { + "smithy.api#documentation": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.lakeformation#DescribeLakeFormationIdentityCenterConfigurationResponse": { + "type": "structure", + "members": { + "CatalogId": { + "target": "com.amazonaws.lakeformation#CatalogIdString", + "traits": { + "smithy.api#documentation": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

" + } + }, + "InstanceArn": { + "target": "com.amazonaws.lakeformation#IdentityCenterInstanceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the connection.

" + } + }, + "ApplicationArn": { + "target": "com.amazonaws.lakeformation#ApplicationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the integrated application.

" + } + }, + "ExternalFiltering": { + "target": "com.amazonaws.lakeformation#ExternalFilteringConfiguration", + "traits": { + "smithy.api#documentation": "

Indicates if external filtering is enabled.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.lakeformation#DescribeResource": { "type": "operation", "input": { @@ -2964,6 +3211,23 @@ "smithy.api#pattern": "^[\\p{L}\\p{N}\\p{P}]*$" } }, + "com.amazonaws.lakeformation#EnableStatus": { + "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.lakeformation#EntityNotFoundException": { "type": "structure", "members": { @@ -3117,6 +3381,28 @@ "smithy.api#output": {} } }, + "com.amazonaws.lakeformation#ExternalFilteringConfiguration": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.lakeformation#EnableStatus", + "traits": { + "smithy.api#documentation": "

Allows to enable or disable the third-party applications that are allowed to access data\n managed by Lake Formation.

", + "smithy.api#required": {} + } + }, + "AuthorizedTargets": { + "target": "com.amazonaws.lakeformation#ScopeTargets", + "traits": { + "smithy.api#documentation": "

List of third-party application ARNs integrated with Lake Formation.

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

Configuration for enabling external data filtering for third-party applications to\n access data managed by Lake Formation .

" + } + }, "com.amazonaws.lakeformation#FieldNameString": { "type": "enum", "members": { @@ -4413,6 +4699,9 @@ } } }, + "com.amazonaws.lakeformation#IdentityCenterInstanceArn": { + "type": "string" + }, "com.amazonaws.lakeformation#InternalServiceException": { "type": "structure", "members": { @@ -6330,6 +6619,15 @@ } } }, + "com.amazonaws.lakeformation#ScopeTarget": { + "type": "string" + }, + "com.amazonaws.lakeformation#ScopeTargets": { + "type": "list", + "member": { + "target": "com.amazonaws.lakeformation#ScopeTarget" + } + }, "com.amazonaws.lakeformation#SearchDatabasesByLFTags": { "type": "operation", "input": { @@ -6517,7 +6815,7 @@ "NextToken": { "target": "com.amazonaws.lakeformation#Token", "traits": { - "smithy.api#documentation": "

A continuation token, present if the current list segment is not the last.

" + "smithy.api#documentation": "

A continuation token, present if the current list segment is not the last. On the first run, if you include a not null (a value) token you can get empty pages.

" } }, "TableList": { @@ -7329,6 +7627,76 @@ "smithy.api#output": {} } }, + "com.amazonaws.lakeformation#UpdateLakeFormationIdentityCenterConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.lakeformation#UpdateLakeFormationIdentityCenterConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.lakeformation#UpdateLakeFormationIdentityCenterConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lakeformation#AccessDeniedException" + }, + { + "target": "com.amazonaws.lakeformation#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.lakeformation#EntityNotFoundException" + }, + { + "target": "com.amazonaws.lakeformation#InternalServiceException" + }, + { + "target": "com.amazonaws.lakeformation#InvalidInputException" + }, + { + "target": "com.amazonaws.lakeformation#OperationTimeoutException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the IAM Identity Center connection parameters.

", + "smithy.api#http": { + "method": "POST", + "uri": "/UpdateLakeFormationIdentityCenterConfiguration", + "code": 200 + } + } + }, + "com.amazonaws.lakeformation#UpdateLakeFormationIdentityCenterConfigurationRequest": { + "type": "structure", + "members": { + "CatalogId": { + "target": "com.amazonaws.lakeformation#CatalogIdString", + "traits": { + "smithy.api#documentation": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the\n persistent metadata store. It contains database definitions, table definitions, view\n definitions, and other control information to manage your Lake Formation\n environment.

" + } + }, + "ApplicationStatus": { + "target": "com.amazonaws.lakeformation#ApplicationStatus", + "traits": { + "smithy.api#documentation": "

Allows to enable or disable the IAM Identity Center connection.

" + } + }, + "ExternalFiltering": { + "target": "com.amazonaws.lakeformation#ExternalFilteringConfiguration", + "traits": { + "smithy.api#documentation": "

A list of the account IDs of Amazon Web Services accounts of third-party applications\n that are allowed to access data managed by Lake Formation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.lakeformation#UpdateLakeFormationIdentityCenterConfigurationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.lakeformation#UpdateResource": { "type": "operation", "input": { diff --git a/codegen/sdk-codegen/aws-models/lex-models-v2.json b/codegen/sdk-codegen/aws-models/lex-models-v2.json index 243d81c568d..7c01c6e53fb 100644 --- a/codegen/sdk-codegen/aws-models/lex-models-v2.json +++ b/codegen/sdk-codegen/aws-models/lex-models-v2.json @@ -2626,6 +2626,27 @@ "smithy.api#output": {} } }, + "com.amazonaws.lexmodelsv2#BedrockModelArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model\\/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}$" + } + }, + "com.amazonaws.lexmodelsv2#BedrockModelSpecification": { + "type": "structure", + "members": { + "modelArn": { + "target": "com.amazonaws.lexmodelsv2#BedrockModelArn", + "traits": { + "smithy.api#documentation": "

The ARN of the foundation model used in descriptive bot building.

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

Contains information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.

" + } + }, "com.amazonaws.lexmodelsv2#Boolean": { "type": "boolean", "traits": { @@ -3877,6 +3898,23 @@ "smithy.api#output": {} } }, + "com.amazonaws.lexmodelsv2#BuildtimeSettings": { + "type": "structure", + "members": { + "descriptiveBotBuilder": { + "target": "com.amazonaws.lexmodelsv2#DescriptiveBotBuilderSpecification", + "traits": { + "smithy.api#documentation": "

An object containing specifications for the descriptive bot building feature.

" + } + }, + "sampleUtteranceGeneration": { + "target": "com.amazonaws.lexmodelsv2#SampleUtteranceGenerationSpecification" + } + }, + "traits": { + "smithy.api#documentation": "

Contains specifications about the Amazon Lex build time generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

" + } + }, "com.amazonaws.lexmodelsv2#BuiltInIntentSortAttribute": { "type": "enum", "members": { @@ -4905,6 +4943,9 @@ "traits": { "smithy.api#documentation": "

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the\n user.

" } + }, + "generativeAISettings": { + "target": "com.amazonaws.lexmodelsv2#GenerativeAISettings" } }, "traits": { @@ -4967,6 +5008,9 @@ "traits": { "smithy.api#documentation": "

A timestamp specifying the date and time that the bot locale was\n created.

" } + }, + "generativeAISettings": { + "target": "com.amazonaws.lexmodelsv2#GenerativeAISettings" } }, "traits": { @@ -5148,7 +5192,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new version of the bot based on the DRAFT\n version. If the DRAFT version of this resource hasn't\n changed since you created the last version, Amazon Lex doesn't create a new\n version, it returns the last created version.

\n

When you create the first version of a bot, Amazon Lex sets the version\n to 1. Subsequent versions increment by 1.

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

Creates an immutable version of the bot. When you create the first \n version of a bot, Amazon Lex sets the version number to 1. Subsequent bot versions increase \n in an increment of 1. The version number will always represent the total number \n of versions created of the bot, not the current number of versions. If a bot version\n is deleted, that bot version number will not be reused.

", "smithy.api#http": { "method": "PUT", "uri": "/bots/{botId}/botversions", @@ -8346,6 +8390,12 @@ "traits": { "smithy.api#documentation": "

Recommended actions to take to resolve an error in the\n failureReasons field.

" } + }, + "generativeAISettings": { + "target": "com.amazonaws.lexmodelsv2#GenerativeAISettings", + "traits": { + "smithy.api#documentation": "

Contains settings for Amazon Bedrock's generative AI features for your bot locale.

" + } } }, "traits": { @@ -8513,6 +8563,151 @@ "smithy.api#input": {} } }, + "com.amazonaws.lexmodelsv2#DescribeBotResourceGeneration": { + "type": "operation", + "input": { + "target": "com.amazonaws.lexmodelsv2#DescribeBotResourceGenerationRequest" + }, + "output": { + "target": "com.amazonaws.lexmodelsv2#DescribeBotResourceGenerationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lexmodelsv2#InternalServerException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ThrottlingException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns information about a request to generate a bot through natural language description, made through \n the StartBotResource API. Use the generatedBotLocaleUrl \n to retrieve the Amazon S3 object containing the bot locale configuration. You can \n then modify and import this configuration.

", + "smithy.api#http": { + "method": "GET", + "uri": "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/generations/{generationId}", + "code": 200 + } + } + }, + "com.amazonaws.lexmodelsv2#DescribeBotResourceGenerationRequest": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the bot for which to return the generation details.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#BotVersion", + "traits": { + "smithy.api#documentation": "

The version of the bot for which to return the generation details.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

The locale of the bot for which to return the generation details.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "generationId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the generation request for which to \n return the generation details.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.lexmodelsv2#DescribeBotResourceGenerationResponse": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the bot for which the generation request was \n made.

" + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#BotVersion", + "traits": { + "smithy.api#documentation": "

The version of the bot for which the generation request was made.

" + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

The locale of the bot for which the generation request was made.

" + } + }, + "generationId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The generation ID for which to return the generation details.

" + } + }, + "failureReasons": { + "target": "com.amazonaws.lexmodelsv2#FailureReasons", + "traits": { + "smithy.api#documentation": "

A list of reasons why the generation of bot resources through natural language description failed.

" + } + }, + "generationStatus": { + "target": "com.amazonaws.lexmodelsv2#GenerationStatus", + "traits": { + "smithy.api#documentation": "

The status of the generation request.

" + } + }, + "generationInputPrompt": { + "target": "com.amazonaws.lexmodelsv2#GenerationInput", + "traits": { + "smithy.api#documentation": "

The prompt used in the generation request.

" + } + }, + "generatedBotLocaleUrl": { + "target": "com.amazonaws.lexmodelsv2#PresignedS3Url", + "traits": { + "smithy.api#documentation": "

The Amazon S3 location of the generated bot locale configuration.

" + } + }, + "creationDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time at which the item was generated.

" + } + }, + "modelArn": { + "target": "com.amazonaws.lexmodelsv2#BedrockModelArn", + "traits": { + "smithy.api#documentation": "

The ARN of the model used to generate the bot resources.

" + } + }, + "lastUpdatedDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time at which the generated item was updated.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.lexmodelsv2#DescribeBotResponse": { "type": "structure", "members": { @@ -10257,6 +10452,28 @@ } } }, + "com.amazonaws.lexmodelsv2#DescriptiveBotBuilderSpecification": { + "type": "structure", + "members": { + "enabled": { + "target": "com.amazonaws.lexmodelsv2#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether the descriptive bot building feature is activated or not.

", + "smithy.api#required": {} + } + }, + "bedrockModelSpecification": { + "target": "com.amazonaws.lexmodelsv2#BedrockModelSpecification", + "traits": { + "smithy.api#documentation": "

An object containing information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.

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

Contains specifications for the descriptive bot building feature.

" + } + }, "com.amazonaws.lexmodelsv2#DialogAction": { "type": "structure", "members": { @@ -10462,6 +10679,12 @@ "smithy.api#documentation": "

Settings that specify the dialog code hook that is called by Amazon Lex between eliciting slot values.

" } }, + "com.amazonaws.lexmodelsv2#Enabled": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, "com.amazonaws.lexmodelsv2#EncryptionSetting": { "type": "structure", "members": { @@ -10995,18 +11218,24 @@ "smithy.api#documentation": "

Provides information for updating the user on the progress of\n fulfilling an intent.

" } }, - "com.amazonaws.lexmodelsv2#GetTestExecutionArtifactsUrl": { + "com.amazonaws.lexmodelsv2#GenerateBotElement": { "type": "operation", "input": { - "target": "com.amazonaws.lexmodelsv2#GetTestExecutionArtifactsUrlRequest" + "target": "com.amazonaws.lexmodelsv2#GenerateBotElementRequest" }, "output": { - "target": "com.amazonaws.lexmodelsv2#GetTestExecutionArtifactsUrlResponse" + "target": "com.amazonaws.lexmodelsv2#GenerateBotElementResponse" }, "errors": [ + { + "target": "com.amazonaws.lexmodelsv2#ConflictException" + }, { "target": "com.amazonaws.lexmodelsv2#InternalServerException" }, + { + "target": "com.amazonaws.lexmodelsv2#PreconditionFailedException" + }, { "target": "com.amazonaws.lexmodelsv2#ResourceNotFoundException" }, @@ -11021,21 +11250,44 @@ } ], "traits": { - "smithy.api#documentation": "

The pre-signed Amazon S3 URL to download the test execution result artifacts.

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

Generates sample utterances for an intent.

", "smithy.api#http": { - "method": "GET", - "uri": "/testexecutions/{testExecutionId}/artifacturl", - "code": 200 + "method": "POST", + "uri": "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/generate", + "code": 202 } } }, - "com.amazonaws.lexmodelsv2#GetTestExecutionArtifactsUrlRequest": { + "com.amazonaws.lexmodelsv2#GenerateBotElementRequest": { "type": "structure", "members": { - "testExecutionId": { + "intentId": { "target": "com.amazonaws.lexmodelsv2#Id", "traits": { - "smithy.api#documentation": "

The unique identifier of the completed test execution.

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

The intent unique Id for the bot request to generate utterances.

", + "smithy.api#required": {} + } + }, + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The bot unique Id for the bot request to generate utterances.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#BotVersion", + "traits": { + "smithy.api#documentation": "

The bot version for the bot request to generate utterances.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

The unique locale Id for the bot request to generate utterances.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -11045,19 +11297,37 @@ "smithy.api#input": {} } }, - "com.amazonaws.lexmodelsv2#GetTestExecutionArtifactsUrlResponse": { + "com.amazonaws.lexmodelsv2#GenerateBotElementResponse": { "type": "structure", "members": { - "testExecutionId": { + "botId": { "target": "com.amazonaws.lexmodelsv2#Id", "traits": { - "smithy.api#documentation": "

The unique identifier of the completed test execution.

" + "smithy.api#documentation": "

The unique bot Id for the bot which received the response.

" } }, - "downloadArtifactsUrl": { - "target": "com.amazonaws.lexmodelsv2#PresignedS3Url", + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#DraftBotVersion", "traits": { - "smithy.api#documentation": "

The pre-signed Amazon S3 URL to download completed test execution.

" + "smithy.api#documentation": "

The unique bot version for the bot which received the response.

" + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

The unique locale Id for the bot which received the response.

" + } + }, + "intentId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The unique intent Id for the bot which received the response.

" + } + }, + "sampleUtterances": { + "target": "com.amazonaws.lexmodelsv2#SampleUtterancesList", + "traits": { + "smithy.api#documentation": "

The sample utterances for the bot which received the response.

" } } }, @@ -11065,32 +11335,225 @@ "smithy.api#output": {} } }, - "com.amazonaws.lexmodelsv2#GrammarSlotTypeSetting": { + "com.amazonaws.lexmodelsv2#GenerationInput": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 100, + "max": 2000 + } + } + }, + "com.amazonaws.lexmodelsv2#GenerationSortBy": { "type": "structure", "members": { - "source": { - "target": "com.amazonaws.lexmodelsv2#GrammarSlotTypeSource", + "attribute": { + "target": "com.amazonaws.lexmodelsv2#GenerationSortByAttribute", "traits": { - "smithy.api#documentation": "

The source of the grammar used to create the slot type.

" + "smithy.api#documentation": "

The attribute by which to sort the generation request information. You can sort by the following attributes.

\n
    \n
  • \n

    \n creationStartTime – The time at which the generation request was created.

    \n
  • \n
  • \n

    \n lastUpdatedTime – The time at which the generation request was last updated.

    \n
  • \n
", + "smithy.api#required": {} + } + }, + "order": { + "target": "com.amazonaws.lexmodelsv2#SortOrder", + "traits": { + "smithy.api#documentation": "

The order by which to sort the generation request information.

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

Settings requried for a slot type based on a grammar that you provide.

" + "smithy.api#documentation": "

Specifies the attribute and method by which to sort the generation request information.

" } }, - "com.amazonaws.lexmodelsv2#GrammarSlotTypeSource": { - "type": "structure", + "com.amazonaws.lexmodelsv2#GenerationSortByAttribute": { + "type": "enum", "members": { - "s3BucketName": { - "target": "com.amazonaws.lexmodelsv2#S3BucketName", + "creationStartTime": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The name of the Amazon S3 bucket that contains the grammar source.

", - "smithy.api#required": {} + "smithy.api#enumValue": "creationStartTime" } }, - "s3ObjectKey": { - "target": "com.amazonaws.lexmodelsv2#S3ObjectPath", + "lastUpdatedTime": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "lastUpdatedTime" + } + } + } + }, + "com.amazonaws.lexmodelsv2#GenerationStatus": { + "type": "enum", + "members": { + "Failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Failed" + } + }, + "Complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Complete" + } + }, + "InProgress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InProgress" + } + } + } + }, + "com.amazonaws.lexmodelsv2#GenerationSummary": { + "type": "structure", + "members": { + "generationId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the generation request.

" + } + }, + "generationStatus": { + "target": "com.amazonaws.lexmodelsv2#GenerationStatus", + "traits": { + "smithy.api#documentation": "

The status of the generation request.

" + } + }, + "creationDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time at which the generation request was made.

" + } + }, + "lastUpdatedDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time at which the generation request was last updated.

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

Contains information about a generation request made for the bot locale.

" + } + }, + "com.amazonaws.lexmodelsv2#GenerationSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.lexmodelsv2#GenerationSummary" + } + }, + "com.amazonaws.lexmodelsv2#GenerativeAISettings": { + "type": "structure", + "members": { + "runtimeSettings": { + "target": "com.amazonaws.lexmodelsv2#RuntimeSettings" + }, + "buildtimeSettings": { + "target": "com.amazonaws.lexmodelsv2#BuildtimeSettings" + } + }, + "traits": { + "smithy.api#documentation": "

Contains specifications about the generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

" + } + }, + "com.amazonaws.lexmodelsv2#GetTestExecutionArtifactsUrl": { + "type": "operation", + "input": { + "target": "com.amazonaws.lexmodelsv2#GetTestExecutionArtifactsUrlRequest" + }, + "output": { + "target": "com.amazonaws.lexmodelsv2#GetTestExecutionArtifactsUrlResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lexmodelsv2#InternalServerException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ThrottlingException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

The pre-signed Amazon S3 URL to download the test execution result artifacts.

", + "smithy.api#http": { + "method": "GET", + "uri": "/testexecutions/{testExecutionId}/artifacturl", + "code": 200 + } + } + }, + "com.amazonaws.lexmodelsv2#GetTestExecutionArtifactsUrlRequest": { + "type": "structure", + "members": { + "testExecutionId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the completed test execution.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.lexmodelsv2#GetTestExecutionArtifactsUrlResponse": { + "type": "structure", + "members": { + "testExecutionId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the completed test execution.

" + } + }, + "downloadArtifactsUrl": { + "target": "com.amazonaws.lexmodelsv2#PresignedS3Url", + "traits": { + "smithy.api#documentation": "

The pre-signed Amazon S3 URL to download completed test execution.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.lexmodelsv2#GrammarSlotTypeSetting": { + "type": "structure", + "members": { + "source": { + "target": "com.amazonaws.lexmodelsv2#GrammarSlotTypeSource", + "traits": { + "smithy.api#documentation": "

The source of the grammar used to create the slot type.

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

Settings requried for a slot type based on a grammar that you provide.

" + } + }, + "com.amazonaws.lexmodelsv2#GrammarSlotTypeSource": { + "type": "structure", + "members": { + "s3BucketName": { + "target": "com.amazonaws.lexmodelsv2#S3BucketName", + "traits": { + "smithy.api#documentation": "

The name of the Amazon S3 bucket that contains the grammar source.

", + "smithy.api#required": {} + } + }, + "s3ObjectKey": { + "target": "com.amazonaws.lexmodelsv2#S3ObjectPath", "traits": { "smithy.api#documentation": "

The path to the grammar in the Amazon S3 bucket.

", "smithy.api#required": {} @@ -12233,6 +12696,9 @@ { "target": "com.amazonaws.lexmodelsv2#DescribeBotRecommendation" }, + { + "target": "com.amazonaws.lexmodelsv2#DescribeBotResourceGeneration" + }, { "target": "com.amazonaws.lexmodelsv2#DescribeBotVersion" }, @@ -12269,6 +12735,9 @@ { "target": "com.amazonaws.lexmodelsv2#DescribeTestSetGeneration" }, + { + "target": "com.amazonaws.lexmodelsv2#GenerateBotElement" + }, { "target": "com.amazonaws.lexmodelsv2#GetTestExecutionArtifactsUrl" }, @@ -12284,6 +12753,9 @@ { "target": "com.amazonaws.lexmodelsv2#ListBotRecommendations" }, + { + "target": "com.amazonaws.lexmodelsv2#ListBotResourceGenerations" + }, { "target": "com.amazonaws.lexmodelsv2#ListBots" }, @@ -12359,6 +12831,9 @@ { "target": "com.amazonaws.lexmodelsv2#StartBotRecommendation" }, + { + "target": "com.amazonaws.lexmodelsv2#StartBotResourceGeneration" + }, { "target": "com.amazonaws.lexmodelsv2#StartImport" }, @@ -13691,6 +14166,130 @@ "smithy.api#output": {} } }, + "com.amazonaws.lexmodelsv2#ListBotResourceGenerations": { + "type": "operation", + "input": { + "target": "com.amazonaws.lexmodelsv2#ListBotResourceGenerationsRequest" + }, + "output": { + "target": "com.amazonaws.lexmodelsv2#ListBotResourceGenerationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lexmodelsv2#InternalServerException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ThrottlingException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the generation requests made for a bot locale.

", + "smithy.api#http": { + "method": "POST", + "uri": "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/generations", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" + } + } + }, + "com.amazonaws.lexmodelsv2#ListBotResourceGenerationsRequest": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the bot whose generation \n requests you want to view.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#BotVersion", + "traits": { + "smithy.api#documentation": "

The version of the bot whose generation \n requests you want to view.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

The locale of the bot whose generation \n requests you want to view.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "sortBy": { + "target": "com.amazonaws.lexmodelsv2#GenerationSortBy", + "traits": { + "smithy.api#documentation": "

An object containing information about the attribute and the \n method by which to sort the results

" + } + }, + "maxResults": { + "target": "com.amazonaws.lexmodelsv2#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return in the response.

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

If the total number of results is greater than the number \n specified in the maxResults, the response returns a token \n in the nextToken field. Use this token when making a request to \n return the next batch of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.lexmodelsv2#ListBotResourceGenerationsResponse": { + "type": "structure", + "members": { + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the bot for which the generation requests were made.

" + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#BotVersion", + "traits": { + "smithy.api#documentation": "

The version of the bot for which the generation requests were made.

" + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

The locale of the bot for which the generation requests were made.

" + } + }, + "generationSummaries": { + "target": "com.amazonaws.lexmodelsv2#GenerationSummaryList", + "traits": { + "smithy.api#documentation": "

A list of objects, each containing information about a generation request for the bot locale.

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

If the total number of results is greater than the number \n specified in the maxResults, the response returns a token \n in the nextToken field. Use this token when making a request to \n return the next batch of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.lexmodelsv2#ListBotVersions": { "type": "operation", "input": { @@ -17260,6 +17859,20 @@ "smithy.api#documentation": "

You can provide Amazon Lex with hints to the phrases that a customer is\n likely to use for a slot. When a slot with hints is resolved, the\n phrases in the runtime hints are preferred in the resolution. You can\n provide hints for a maximum of 100 intents. You can provide a maximum\n of 100 slots.

\n

Before you can use runtime hints with an existing bot, you must\n first rebuild the bot.

\n

For more information, see Using runtime hints to\n improve recognition of slot values.

" } }, + "com.amazonaws.lexmodelsv2#RuntimeSettings": { + "type": "structure", + "members": { + "slotResolutionImprovement": { + "target": "com.amazonaws.lexmodelsv2#SlotResolutionImprovementSpecification", + "traits": { + "smithy.api#documentation": "

An object containing specifications for the assisted slot resolution feature.

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

Contains specifications about the Amazon Lex runtime generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

" + } + }, "com.amazonaws.lexmodelsv2#S3BucketArn": { "type": "string", "traits": { @@ -17397,6 +18010,25 @@ "smithy.api#documentation": "

A sample utterance that invokes an intent or respond to a slot\n elicitation prompt.

" } }, + "com.amazonaws.lexmodelsv2#SampleUtteranceGenerationSpecification": { + "type": "structure", + "members": { + "enabled": { + "target": "com.amazonaws.lexmodelsv2#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether to enable sample utterance generation or not.

", + "smithy.api#required": {} + } + }, + "bedrockModelSpecification": { + "target": "com.amazonaws.lexmodelsv2#BedrockModelSpecification" + } + }, + "traits": { + "smithy.api#documentation": "

Contains specifications for the sample utterance generation feature.

" + } + }, "com.amazonaws.lexmodelsv2#SampleUtterancesCount": { "type": "integer" }, @@ -17998,6 +18630,60 @@ "smithy.api#documentation": "

Sets the priority that Amazon Lex should use when eliciting slot values\n from a user.

" } }, + "com.amazonaws.lexmodelsv2#SlotResolutionImprovementSpecification": { + "type": "structure", + "members": { + "enabled": { + "target": "com.amazonaws.lexmodelsv2#Enabled", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether assisted slot resolution is turned on or off.

", + "smithy.api#required": {} + } + }, + "bedrockModelSpecification": { + "target": "com.amazonaws.lexmodelsv2#BedrockModelSpecification", + "traits": { + "smithy.api#documentation": "

An object containing information about the Amazon Bedrock model used to assist slot resolution.

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

Contains specifications for the assisted slot resolution feature.

" + } + }, + "com.amazonaws.lexmodelsv2#SlotResolutionSetting": { + "type": "structure", + "members": { + "slotResolutionStrategy": { + "target": "com.amazonaws.lexmodelsv2#SlotResolutionStrategy", + "traits": { + "smithy.api#documentation": "

Specifies whether assisted slot resolution is turned on for the slot or not. If the value is EnhancedFallback, assisted slot resolution is activated when Amazon Lex defaults to the AMAZON.FallbackIntent. If the value is Default, assisted slot resolution is turned off.

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

Contains information about whether assisted slot resolution is turned on for the slot or not.

" + } + }, + "com.amazonaws.lexmodelsv2#SlotResolutionStrategy": { + "type": "enum", + "members": { + "EnhancedFallback": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EnhancedFallback" + } + }, + "Default": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Default" + } + } + } + }, "com.amazonaws.lexmodelsv2#SlotResolutionTestResultItem": { "type": "structure", "members": { @@ -18458,6 +19144,12 @@ "traits": { "smithy.api#documentation": "

Specifies the settings that Amazon Lex uses when a slot\n value is successfully entered by a user.

" } + }, + "slotResolutionSetting": { + "target": "com.amazonaws.lexmodelsv2#SlotResolutionSetting", + "traits": { + "smithy.api#documentation": "

An object containing information about whether assisted slot resolution is turned on for the slot or not.

" + } } }, "traits": { @@ -18750,6 +19442,133 @@ "smithy.api#output": {} } }, + "com.amazonaws.lexmodelsv2#StartBotResourceGeneration": { + "type": "operation", + "input": { + "target": "com.amazonaws.lexmodelsv2#StartBotResourceGenerationRequest" + }, + "output": { + "target": "com.amazonaws.lexmodelsv2#StartBotResourceGenerationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lexmodelsv2#ConflictException" + }, + { + "target": "com.amazonaws.lexmodelsv2#InternalServerException" + }, + { + "target": "com.amazonaws.lexmodelsv2#PreconditionFailedException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ThrottlingException" + }, + { + "target": "com.amazonaws.lexmodelsv2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Starts a request for the descriptive bot builder to generate a bot locale configuration \n based on the prompt you provide it. After you make this call, use the DescribeBotResourceGeneration \n operation to check on the status of the generation and for the generatedBotLocaleUrl when the \n generation is complete. Use that value to retrieve the Amazon S3 object containing the bot locale configuration. You can \n then modify and import this configuration.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/startgeneration", + "code": 202 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.lexmodelsv2#StartBotResourceGenerationRequest": { + "type": "structure", + "members": { + "generationInputPrompt": { + "target": "com.amazonaws.lexmodelsv2#GenerationInput", + "traits": { + "smithy.api#documentation": "

The prompt to generate intents and slot types for the bot locale. Your description should be both detailed and precise to help generate appropriate and sufficient intents for your bot. Include a list of actions to improve the intent creation process.

", + "smithy.api#required": {} + } + }, + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the bot for which to generate intents and slot types.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#BotVersion", + "traits": { + "smithy.api#documentation": "

The version of the bot for which to generate intents and slot types.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

The locale of the bot for which to generate intents and slot types.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.lexmodelsv2#StartBotResourceGenerationResponse": { + "type": "structure", + "members": { + "generationInputPrompt": { + "target": "com.amazonaws.lexmodelsv2#GenerationInput", + "traits": { + "smithy.api#documentation": "

The prompt that was used generate intents and slot types for the bot locale.

" + } + }, + "generationId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the generation request.

" + } + }, + "botId": { + "target": "com.amazonaws.lexmodelsv2#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the bot for which the generation request was made.

" + } + }, + "botVersion": { + "target": "com.amazonaws.lexmodelsv2#BotVersion", + "traits": { + "smithy.api#documentation": "

The version of the bot for which the generation request was made.

" + } + }, + "localeId": { + "target": "com.amazonaws.lexmodelsv2#LocaleId", + "traits": { + "smithy.api#documentation": "

The locale of the bot for which the generation request was made.

" + } + }, + "generationStatus": { + "target": "com.amazonaws.lexmodelsv2#GenerationStatus", + "traits": { + "smithy.api#documentation": "

The status of the generation request.

" + } + }, + "creationDateTime": { + "target": "com.amazonaws.lexmodelsv2#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time at which the generation request was made.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.lexmodelsv2#StartImport": { "type": "operation", "input": { @@ -20995,6 +21814,12 @@ "traits": { "smithy.api#documentation": "

The new Amazon Polly voice Amazon Lex should use for voice interaction with the\n user.

" } + }, + "generativeAISettings": { + "target": "com.amazonaws.lexmodelsv2#GenerativeAISettings", + "traits": { + "smithy.api#documentation": "

Contains settings for generative AI features powered by Amazon Bedrock for your bot locale. Use this object to turn generative AI features on and off. Pricing \n may differ if you turn a feature on. For more information, see LINK.

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

Recommended actions to take to resolve an error in the\n failureReasons field.

" } + }, + "generativeAISettings": { + "target": "com.amazonaws.lexmodelsv2#GenerativeAISettings", + "traits": { + "smithy.api#documentation": "

Contains settings for generative AI features powered by Amazon Bedrock for your bot locale.

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/lex-runtime-v2.json b/codegen/sdk-codegen/aws-models/lex-runtime-v2.json index c3835852a55..7df26930eeb 100644 --- a/codegen/sdk-codegen/aws-models/lex-runtime-v2.json +++ b/codegen/sdk-codegen/aws-models/lex-runtime-v2.json @@ -117,7 +117,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -160,7 +159,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -173,7 +173,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -187,7 +186,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -210,7 +208,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -245,7 +242,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -256,14 +252,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -277,14 +275,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -293,11 +289,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -308,14 +304,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -329,7 +327,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -349,7 +346,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -360,14 +356,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -378,9 +376,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -887,7 +887,7 @@ "min": 1, "max": 100 }, - "smithy.api#pattern": "^([A-Za-z]_?)+$" + "smithy.api#pattern": "^([A-Za-z0-9]_?)+$" } }, "com.amazonaws.lexruntimev2#ActiveContextParametersMap": { @@ -1422,7 +1422,7 @@ "type": { "target": "com.amazonaws.lexruntimev2#DialogActionType", "traits": { - "smithy.api#documentation": "

The next action that the bot should take in its interaction with the\n user. The possible values are:

\n
    \n
  • \n

    \n Close - Indicates that there will not be a\n response from the user. For example, the statement \"Your order\n has been placed\" does not require a response.

    \n
  • \n
  • \n

    \n ConfirmIntent - The next action is asking the\n user if the intent is complete and ready to be fulfilled. This is\n a yes/no question such as \"Place the order?\"

    \n
  • \n
  • \n

    \n Delegate - The next action is determined by\n Amazon Lex V2.

    \n
  • \n
  • \n

    \n ElicitIntent - The next action is to elicit an\n intent from the user.

    \n
  • \n
  • \n

    \n ElicitSlot - The next action is to elicit a slot\n value from the user.

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

The next action that the bot should take in its interaction with the\n user. The following values are possible:

\n
    \n
  • \n

    \n Close – Indicates that there will not be a\n response from the user. For example, the statement \"Your order\n has been placed\" does not require a response.

    \n
  • \n
  • \n

    \n ConfirmIntent – The next action is asking the\n user if the intent is complete and ready to be fulfilled. This is\n a yes/no question such as \"Place the order?\"

    \n
  • \n
  • \n

    \n Delegate – The next action is determined by\n Amazon Lex V2.

    \n
  • \n
  • \n

    \n ElicitIntent – The next action is to elicit an\n intent from the user.

    \n
  • \n
  • \n

    \n ElicitSlot – The next action is to elicit a slot\n value from the user.

    \n
  • \n
", "smithy.api#required": {} } }, @@ -1435,7 +1435,7 @@ "slotElicitationStyle": { "target": "com.amazonaws.lexruntimev2#StyleType", "traits": { - "smithy.api#documentation": "

Configures the slot to use spell-by-letter or spell-by-word style.\n When you use a style on a slot, users can spell out their input to make\n it clear to your bot.

\n
    \n
  • \n

    Spell by letter - \"b\" \"o\" \"b\"

    \n
  • \n
  • \n

    Spell by word - \"b as in boy\" \"o as in oscar\" \"b as in\n boy\"

    \n
  • \n
\n

For more information, see \n Using spelling to enter slot values .

" + "smithy.api#documentation": "

Configures the slot to use spell-by-letter or spell-by-word style.\n When you use a style on a slot, users can spell out their input to make\n it clear to your bot.

\n
    \n
  • \n

    Spell by letter - \"b\" \"o\" \"b\"

    \n
  • \n
  • \n

    Spell by word - \"b as in boy\" \"o as in oscar\" \"b as in\n boy\"

    \n
  • \n
\n

For more information, see \n Using spelling to enter slot values .

" } }, "subSlotToElicit": { @@ -1680,31 +1680,31 @@ "title": { "target": "com.amazonaws.lexruntimev2#AttachmentTitle", "traits": { - "smithy.api#documentation": "

The title to display on the response card. The format of the title\n is determined by the platform displaying the response card.

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

The title to display on the response card. The format of the title\n is determined by the platform displaying the response card.

", "smithy.api#required": {} } }, "subtitle": { "target": "com.amazonaws.lexruntimev2#AttachmentTitle", "traits": { - "smithy.api#documentation": "

The subtitle to display on the response card. The format of the\n subtitle is determined by the platform displaying the response\n card.

" + "smithy.api#documentation": "

The subtitle to display on the response card. The format of the\n subtitle is determined by the platform displaying the response\n card.

" } }, "imageUrl": { "target": "com.amazonaws.lexruntimev2#AttachmentUrl", "traits": { - "smithy.api#documentation": "

The URL of an image to display on the response card. The image URL\n must be publicly available so that the platform displaying the response\n card has access to the image.

" + "smithy.api#documentation": "

The URL of an image to display on the response card. The image URL\n must be publicly available so that the platform displaying the response\n card has access to the image.

" } }, "buttons": { "target": "com.amazonaws.lexruntimev2#ButtonsList", "traits": { - "smithy.api#documentation": "

A list of buttons that should be displayed on the response card. The\n arrangement of the buttons is determined by the platform that displays\n the button.

" + "smithy.api#documentation": "

A list of buttons that should be displayed on the response card. The\n arrangement of the buttons is determined by the platform that displays\n the button.

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

A card that is shown to the user by a messaging platform. You define\n the contents of the card, the card is displayed by the platform.

\n

When you use a response card, the response from the user is\n constrained to the text associated with a button on the card.

" + "smithy.api#documentation": "

A card that is shown to the user by a messaging platform. You define\n the contents of the card, the card is displayed by the platform.

\n

When you use a response card, the response from the user is\n constrained to the text associated with a button on the card.

" } }, "com.amazonaws.lexruntimev2#InputMode": { @@ -1749,13 +1749,13 @@ "state": { "target": "com.amazonaws.lexruntimev2#IntentState", "traits": { - "smithy.api#documentation": "

Contains fulfillment information for the intent.

" + "smithy.api#documentation": "

Indicates the fulfillment state for the intent. The meanings of each value are as follows:

\n
    \n
  • \n

    \n Failed – The bot failed to fulfill the intent.

    \n
  • \n
  • \n

    \n Fulfilled – The bot has completed fulfillment of the intent.

    \n
  • \n
  • \n

    \n FulfillmentInProgress – The bot is in the middle of fulfilling the intent.

    \n
  • \n
  • \n

    \n InProgress – The bot is in the middle of eliciting the slot values that are necessary to fulfill the intent.

    \n
  • \n
  • \n

    \n ReadyForFulfillment – The bot has elicited all the slot values for the intent and is ready to fulfill the intent.

    \n
  • \n
  • \n

    \n Waiting – The bot is waiting for a response from the user (limited to streaming conversations).

    \n
  • \n
" } }, "confirmationState": { "target": "com.amazonaws.lexruntimev2#ConfirmationState", "traits": { - "smithy.api#documentation": "

Contains information about whether fulfillment of the intent has\n been confirmed.

" + "smithy.api#documentation": "

Indicates whether the intent has been Confirmed, Denied, or None if the confirmation stage has not yet been reached.

" } } }, @@ -1769,7 +1769,7 @@ "inputMode": { "target": "com.amazonaws.lexruntimev2#InputMode", "traits": { - "smithy.api#documentation": "

Indicates whether the input to the operation was text or\n speech.

" + "smithy.api#documentation": "

Indicates whether the input to the operation was text, speech, or from a touch-tone keypad.

" } }, "interpretations": { @@ -1887,10 +1887,33 @@ "traits": { "smithy.api#documentation": "

A list of intents that might satisfy the user's utterance. The\n intents are ordered by the confidence score.

" } + }, + "interpretationSource": { + "target": "com.amazonaws.lexruntimev2#InterpretationSource", + "traits": { + "smithy.api#documentation": "

Specifies the service that interpreted the input.

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

An intent that Amazon Lex V2 determined might satisfy the user's utterance.\n The intents are ordered by the confidence score.

" + "smithy.api#documentation": "

An object containing information about an intent that Amazon Lex V2 determined might satisfy the user's utterance.\n The intents are ordered by the confidence score.

" + } + }, + "com.amazonaws.lexruntimev2#InterpretationSource": { + "type": "enum", + "members": { + "BEDROCK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Bedrock" + } + }, + "LEX": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Lex" + } + } } }, "com.amazonaws.lexruntimev2#Interpretations": { @@ -2204,14 +2227,14 @@ "sessionState": { "target": "com.amazonaws.lexruntimev2#NonEmptyString", "traits": { - "smithy.api#documentation": "

Represents the current state of the dialog between the user and the\n bot.

\n

Use this to determine the progress of the conversation and what the\n next action may be.

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

A base-64-encoded gzipped field that represents the current state of \n the dialog between the user and the bot. Use this to determine the progress \n of the conversation and what the next action may be.

", "smithy.api#httpHeader": "x-amz-lex-session-state" } }, "requestAttributes": { "target": "com.amazonaws.lexruntimev2#NonEmptyString", "traits": { - "smithy.api#documentation": "

Request-specific information passed between the client application\n and Amazon Lex V2. These are the same as the requestAttribute\n parameter in the call to the PutSession operation.

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

A base-64-encoded gzipped field that provides request-specific information \n passed between the client application and Amazon Lex V2. These are the same as the \n requestAttribute parameter in the call to the \n PutSession operation.

", "smithy.api#httpHeader": "x-amz-lex-request-attributes" } }, @@ -2511,7 +2534,7 @@ "inputMode": { "target": "com.amazonaws.lexruntimev2#NonEmptyString", "traits": { - "smithy.api#documentation": "

Indicates whether the input mode to the operation was text or\n speech. \n

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

Indicates whether the input mode to the operation was text, speech, or from a touch-tone keypad.\n

", "smithy.api#httpHeader": "x-amz-lex-input-mode" } }, @@ -3290,25 +3313,25 @@ "originalValue": { "target": "com.amazonaws.lexruntimev2#NonEmptyString", "traits": { - "smithy.api#documentation": "

The text of the utterance from the user that was entered for the\n slot.

" + "smithy.api#documentation": "

The part of the user's response to the slot elicitation that Amazon Lex V2 determines is relevant to the slot value.

" } }, "interpretedValue": { "target": "com.amazonaws.lexruntimev2#NonEmptyString", "traits": { - "smithy.api#documentation": "

The value that Amazon Lex V2 determines for the slot. The actual value\n depends on the setting of the value selection strategy for the bot. You\n can choose to use the value entered by the user, or you can have Amazon Lex V2\n choose the first value in the resolvedValues list.

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

The value that Amazon Lex V2 determines for the slot, given the user input. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex V2 choose the first value in the resolvedValues list.

", "smithy.api#required": {} } }, "resolvedValues": { "target": "com.amazonaws.lexruntimev2#StringList", "traits": { - "smithy.api#documentation": "

A list of additional values that have been recognized for the\n slot.

" + "smithy.api#documentation": "

A list of values that Amazon Lex V2 determines are possible resolutions for the user input. The first value matches the interpretedValue.

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

The value of a slot.

" + "smithy.api#documentation": "

Information about the value provided for a slot and Amazon Lex V2's interpretation.

" } }, "com.amazonaws.lexruntimev2#Values": { diff --git a/codegen/sdk-codegen/aws-models/managedblockchain.json b/codegen/sdk-codegen/aws-models/managedblockchain.json index 391394c7562..708517c9aba 100644 --- a/codegen/sdk-codegen/aws-models/managedblockchain.json +++ b/codegen/sdk-codegen/aws-models/managedblockchain.json @@ -60,7 +60,7 @@ "BillingToken": { "target": "com.amazonaws.managedblockchain#AccessorBillingTokenString", "traits": { - "smithy.api#documentation": "

The billing token is a property of the accessor. Use this token to make Ethereum API calls to your \n Ethereum node. The billing token is used to track your accessor object for billing Ethereum API \n requests made to your Ethereum nodes.

" + "smithy.api#documentation": "

The billing token is a property of the Accessor. Use this token to \n when making calls to the blockchain network. The billing token is used \n to track your accessor token for billing requests.

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

The tags assigned to the Accessor.

\n

For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.

" } + }, + "NetworkType": { + "target": "com.amazonaws.managedblockchain#AccessorNetworkType", + "traits": { + "smithy.api#documentation": "

The blockchain network that the Accessor token is created for.

" + } } }, "traits": { @@ -110,6 +116,41 @@ } } }, + "com.amazonaws.managedblockchain#AccessorNetworkType": { + "type": "enum", + "members": { + "ETHEREUM_GOERLI": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ETHEREUM_GOERLI" + } + }, + "ETHEREUM_MAINNET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ETHEREUM_MAINNET" + } + }, + "ETHEREUM_MAINNET_AND_GOERLI": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ETHEREUM_MAINNET_AND_GOERLI" + } + }, + "POLYGON_MAINNET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "POLYGON_MAINNET" + } + }, + "POLYGON_MUMBAI": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "POLYGON_MUMBAI" + } + } + } + }, "com.amazonaws.managedblockchain#AccessorStatus": { "type": "enum", "members": { @@ -165,6 +206,12 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the accessor. For more information about \n ARNs and their format, see Amazon Resource \n Names (ARNs) in the Amazon Web Services General Reference.

" } + }, + "NetworkType": { + "target": "com.amazonaws.managedblockchain#AccessorNetworkType", + "traits": { + "smithy.api#documentation": "

The blockchain network that the Accessor token is created for.

" + } } }, "traits": { @@ -206,7 +253,7 @@ "ThresholdComparator": { "target": "com.amazonaws.managedblockchain#ThresholdComparator", "traits": { - "smithy.api#documentation": "

Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThreholdPercentage to be approved.

" + "smithy.api#documentation": "

Determines whether the vote percentage must be greater than the\n ThresholdPercentage or must be greater than or equal to the\n ThresholdPercentage to be approved.

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

Creates a new accessor for use with Managed Blockchain Ethereum nodes. An accessor contains information \n required for token based access to your Ethereum nodes.

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

Creates a new accessor for use with Amazon Managed Blockchain service that supports token based access. \n The accessor contains information required for token based access.

", "smithy.api#http": { "method": "POST", "uri": "/accessors", @@ -299,6 +346,12 @@ "traits": { "smithy.api#documentation": "

Tags to assign to the Accessor.

\n

Each tag consists of a key and an optional value. You can specify \n multiple key-value pairs in a single request with an overall maximum of 50 tags \n allowed per resource.

\n

For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.

" } + }, + "NetworkType": { + "target": "com.amazonaws.managedblockchain#AccessorNetworkType", + "traits": { + "smithy.api#documentation": "

The blockchain network that the Accessor token is created for.

\n \n

We recommend using the appropriate networkType \n value for the blockchain network that you are creating the Accessor \n token for. You cannnot use the value ETHEREUM_MAINNET_AND_GOERLI to \n specify a networkType for your Accessor token.

\n

The default value of ETHEREUM_MAINNET_AND_GOERLI is only applied:

\n
    \n
  • \n

    when the CreateAccessor action does not set a networkType.

    \n
  • \n
  • \n

    to all existing Accessor tokens that were created before the networkType property was introduced.\n

    \n
  • \n
\n
" + } } }, "traits": { @@ -317,7 +370,13 @@ "BillingToken": { "target": "com.amazonaws.managedblockchain#AccessorBillingTokenString", "traits": { - "smithy.api#documentation": "

The billing token is a property of the Accessor. Use this token to make Ethereum API calls to\n your Ethereum node. The billing token is used to track your accessor object for billing Ethereum \n API requests made to your Ethereum nodes.

" + "smithy.api#documentation": "

The billing token is a property of the Accessor. Use this token to \n when making calls to the blockchain network. The billing token is used \n to track your accessor token for billing requests.

" + } + }, + "NetworkType": { + "target": "com.amazonaws.managedblockchain#AccessorNetworkType", + "traits": { + "smithy.api#documentation": "

The blockchain network that the accessor token is created for.

" } } }, @@ -1580,6 +1639,13 @@ "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

", "smithy.api#httpQuery": "nextToken" } + }, + "NetworkType": { + "target": "com.amazonaws.managedblockchain#AccessorNetworkType", + "traits": { + "smithy.api#documentation": "

The blockchain network that the Accessor token is created for.

\n \n

Use the value ETHEREUM_MAINNET_AND_GOERLI for all \n existing Accessors tokens that were created before the networkType \n property was introduced.

\n
", + "smithy.api#httpQuery": "networkType" + } } }, "traits": { @@ -3893,7 +3959,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3936,7 +4001,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -3949,7 +4015,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3963,7 +4028,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3986,7 +4050,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4021,7 +4084,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -4032,14 +4094,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -4053,14 +4117,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -4069,11 +4131,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -4084,14 +4146,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -4105,7 +4169,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4125,7 +4188,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -4136,14 +4198,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -4154,9 +4218,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/codegen/sdk-codegen/aws-models/personalize-events.json b/codegen/sdk-codegen/aws-models/personalize-events.json index 52857554b61..fe4258c9349 100644 --- a/codegen/sdk-codegen/aws-models/personalize-events.json +++ b/codegen/sdk-codegen/aws-models/personalize-events.json @@ -29,10 +29,149 @@ ] }, "shapes": { + "com.amazonaws.personalizeevents#Action": { + "type": "structure", + "members": { + "actionId": { + "target": "com.amazonaws.personalizeevents#StringType", + "traits": { + "smithy.api#documentation": "

The ID associated with the action.

", + "smithy.api#required": {} + } + }, + "properties": { + "target": "com.amazonaws.personalizeevents#SynthesizedJsonActionProperties", + "traits": { + "smithy.api#documentation": "

A string map of action-specific metadata. Each element in the map consists of a key-value pair. \n For example, {\"value\": \"100\"}.

\n

The keys use camel case names that match the fields in the schema for the Actions\n dataset. In the previous example, the value matches the\n 'VALUE' field defined in the Actions schema. For categorical string data, to include multiple categories for a single action, \n separate each category with a pipe separator (|). For example, \\\"Deluxe|Premium\\\".

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

Represents action metadata added to an Action dataset using the \n PutActions API. For more information see \n Importing actions individually.\n

" + } + }, + "com.amazonaws.personalizeevents#ActionId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.personalizeevents#ActionImpression": { + "type": "list", + "member": { + "target": "com.amazonaws.personalizeevents#ActionId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.personalizeevents#ActionInteraction": { + "type": "structure", + "members": { + "actionId": { + "target": "com.amazonaws.personalizeevents#ActionId", + "traits": { + "smithy.api#documentation": "

The ID of the action the user interacted with. This corresponds to the ACTION_ID \n field of the Action interaction schema.

", + "smithy.api#required": {} + } + }, + "userId": { + "target": "com.amazonaws.personalizeevents#UserId", + "traits": { + "smithy.api#documentation": "

The ID of the user who interacted with the action. This corresponds to the USER_ID \n field of the Action interaction schema.

" + } + }, + "sessionId": { + "target": "com.amazonaws.personalizeevents#StringType", + "traits": { + "smithy.api#documentation": "

The ID associated with the user's visit. \n Your application generates a unique sessionId when a user first visits your website or uses your application.

", + "smithy.api#required": {} + } + }, + "timestamp": { + "target": "com.amazonaws.personalizeevents#Date", + "traits": { + "smithy.api#documentation": "

The timestamp for when the action interaction event occurred. Timestamps must be in Unix epoch time format, in seconds.

", + "smithy.api#required": {} + } + }, + "eventType": { + "target": "com.amazonaws.personalizeevents#StringType", + "traits": { + "smithy.api#documentation": "

The type of action interaction event. You can specify Viewed, Taken, and Not Taken event types. For more\n information about action interaction event type data, see Event type data.

", + "smithy.api#required": {} + } + }, + "eventId": { + "target": "com.amazonaws.personalizeevents#StringType", + "traits": { + "smithy.api#documentation": "

An ID associated with the event. If an event ID is not provided, Amazon Personalize generates\n a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses\n the event ID to distinguish unique events. Any subsequent events after the first with the\n same event ID are not used in model training.

" + } + }, + "recommendationId": { + "target": "com.amazonaws.personalizeevents#RecommendationId", + "traits": { + "smithy.api#documentation": "

The ID of the list of recommendations that contains the action the user interacted with.

" + } + }, + "impression": { + "target": "com.amazonaws.personalizeevents#ActionImpression", + "traits": { + "smithy.api#documentation": "

A list of action IDs that represents the sequence of actions you have shown the user. For example, [\"actionId1\", \"actionId2\", \"actionId3\"].\n Amazon Personalize doesn't use impressions data from action interaction events. Instead, record multiple events for each action and use the Viewed event type.\n

" + } + }, + "properties": { + "target": "com.amazonaws.personalizeevents#SynthesizedJsonActionInteractionProperties", + "traits": { + "smithy.api#documentation": "

A string map of event-specific data that you might choose to record. For example, if a\n user takes an action, other than the action ID, you might also send the number of actions taken by the user.

\n

Each item in the map consists of a key-value pair. For example,

\n

\n {\"numberOfActions\": \"12\"}\n

\n

The keys use camel case names that match the fields in the Action interactions\n schema. In the above example, the numberOfActions would match the\n 'NUMBER_OF_ACTIONS' field defined in the Action interactions schema.

\n

\n The following can't be included as a keyword for properties (case insensitive). \n

\n
    \n
  • \n

    \n userId\n

    \n
  • \n
  • \n

    \n sessionId\n

    \n
  • \n
  • \n

    eventType

    \n
  • \n
  • \n

    timestamp

    \n
  • \n
  • \n

    recommendationId

    \n
  • \n
  • \n

    impression

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

Represents an action interaction event sent using the\n PutActionInteractions API.

" + } + }, + "com.amazonaws.personalizeevents#ActionInteractionsList": { + "type": "list", + "member": { + "target": "com.amazonaws.personalizeevents#ActionInteraction" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.personalizeevents#ActionList": { + "type": "list", + "member": { + "target": "com.amazonaws.personalizeevents#Action" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.personalizeevents#AmazonPersonalizeEvents": { "type": "service", "version": "2018-03-22", "operations": [ + { + "target": "com.amazonaws.personalizeevents#PutActionInteractions" + }, + { + "target": "com.amazonaws.personalizeevents#PutActions" + }, { "target": "com.amazonaws.personalizeevents#PutEvents" }, @@ -55,7 +194,7 @@ "name": "personalize" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Amazon Personalize can consume real-time user event data, such as stream or click data, and use\n it for model training either alone or combined with historical data. For more information see \n Recording Events.

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

Amazon Personalize can consume real-time user event data, such as stream or click data, and use\n it for model training either alone or combined with historical data. For more information see \n Recording item interaction events.

", "smithy.api#title": "Amazon Personalize Events", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -99,7 +238,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -142,7 +280,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -155,7 +294,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -169,7 +307,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -192,7 +329,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -227,7 +363,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -238,14 +373,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -259,14 +396,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -275,11 +410,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -290,14 +425,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -311,7 +448,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -331,7 +467,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -342,14 +477,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -360,9 +497,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -709,32 +848,32 @@ "eventId": { "target": "com.amazonaws.personalizeevents#StringType", "traits": { - "smithy.api#documentation": "

An ID associated with the event. If an event ID is not provided, Amazon Personalize generates\n a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses\n the event ID to distinquish unique events. Any subsequent events after the first with the\n same event ID are not used in model training.

" + "smithy.api#documentation": "

An ID associated with the event. If an event ID is not provided, Amazon Personalize generates\n a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses\n the event ID to distinguish unique events. Any subsequent events after the first with the\n same event ID are not used in model training.

" } }, "eventType": { "target": "com.amazonaws.personalizeevents#StringType", "traits": { - "smithy.api#documentation": "

The type of event, such as click or download. This property corresponds to the EVENT_TYPE\n field of your Interactions schema and depends on the types of events you are tracking.

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

The type of event, such as click or download. This property corresponds to the EVENT_TYPE\n field of your Item interactions dataset's schema and depends on the types of events you are tracking.

", "smithy.api#required": {} } }, "eventValue": { "target": "com.amazonaws.personalizeevents#FloatType", "traits": { - "smithy.api#documentation": "

The event value that corresponds to the EVENT_VALUE field of the Interactions schema.

" + "smithy.api#documentation": "

The event value that corresponds to the EVENT_VALUE field of the Item interactions schema.

" } }, "itemId": { "target": "com.amazonaws.personalizeevents#ItemId", "traits": { - "smithy.api#documentation": "

The item ID key that corresponds to the ITEM_ID field of the Interactions schema.

" + "smithy.api#documentation": "

The item ID key that corresponds to the ITEM_ID field of the Item interactions dataset's schema.

" } }, "properties": { "target": "com.amazonaws.personalizeevents#SynthesizedJsonEventPropertiesJSON", "traits": { - "smithy.api#documentation": "

A string map of event-specific data that you might choose to record. For example, if a\n user rates a movie on your site, other than movie ID (itemId) and rating (eventValue)\n , you might also send the number of movie ratings made by the user.

\n

Each item in the map consists of a key-value pair. For example,

\n

\n {\"numberOfRatings\": \"12\"}\n

\n

The keys use camel case names that match the fields in the Interactions\n schema. In the above example, the numberOfRatings would match the\n 'NUMBER_OF_RATINGS' field defined in the Interactions schema.

" + "smithy.api#documentation": "

A string map of event-specific data that you might choose to record. For example, if a\n user rates a movie on your site, other than movie ID (itemId) and rating (eventValue)\n , you might also send the number of movie ratings made by the user.

\n

Each item in the map consists of a key-value pair. For example,

\n

\n {\"numberOfRatings\": \"12\"}\n

\n

The keys use camel case names that match the fields in the Item interactions dataset's\n schema. In the above example, the numberOfRatings would match the\n 'NUMBER_OF_RATINGS' field defined in the Item interactions dataset's schema.

\n

\n The following can't be included as a keyword for properties (case insensitive). \n \n

\n
    \n
  • \n

    \n userId\n

    \n
  • \n
  • \n

    \n sessionId\n

    \n
  • \n
  • \n

    eventType

    \n
  • \n
  • \n

    timestamp

    \n
  • \n
  • \n

    recommendationId

    \n
  • \n
  • \n

    impression

    \n
  • \n
" } }, "sentAt": { @@ -764,7 +903,7 @@ } }, "traits": { - "smithy.api#documentation": "

Represents user interaction event information sent using the\n PutEvents API.

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

Represents item interaction event information sent using the\n PutEvents API.

", "smithy.api#sensitive": {} } }, @@ -836,7 +975,7 @@ } }, "traits": { - "smithy.api#documentation": "

Represents item metadata added to an Items dataset using the \n PutItems API. For more information see \n Importing Items Incrementally.\n

" + "smithy.api#documentation": "

Represents item metadata added to an Items dataset using the \n PutItems API. For more information see \n Importing items individually.\n

" } }, "com.amazonaws.personalizeevents#ItemId": { @@ -876,6 +1015,106 @@ "smithy.api#documentation": "

Contains information about a metric attribution associated with an event. For more information about metric attributions, see Measuring impact of recommendations.

" } }, + "com.amazonaws.personalizeevents#PutActionInteractions": { + "type": "operation", + "input": { + "target": "com.amazonaws.personalizeevents#PutActionInteractionsRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.personalizeevents#InvalidInputException" + }, + { + "target": "com.amazonaws.personalizeevents#ResourceInUseException" + }, + { + "target": "com.amazonaws.personalizeevents#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Records action interaction event data. An action interaction event is an interaction between a user and an action. \n For example, a user taking an action, such a enrolling in a membership program or downloading your app.

\n

\n For more information about recording action interactions, see Recording action interaction events.\n For more information about actions in an Actions dataset, see Actions dataset.

", + "smithy.api#http": { + "method": "POST", + "uri": "/action-interactions", + "code": 200 + } + } + }, + "com.amazonaws.personalizeevents#PutActionInteractionsRequest": { + "type": "structure", + "members": { + "trackingId": { + "target": "com.amazonaws.personalizeevents#StringType", + "traits": { + "smithy.api#documentation": "

The ID of your action interaction event tracker. When you create an Action interactions dataset, Amazon Personalize creates an\n action interaction event tracker for you. For more information, see Action interaction event tracker ID.

", + "smithy.api#required": {} + } + }, + "actionInteractions": { + "target": "com.amazonaws.personalizeevents#ActionInteractionsList", + "traits": { + "smithy.api#documentation": "

A list of action interaction events from the session.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.personalizeevents#PutActions": { + "type": "operation", + "input": { + "target": "com.amazonaws.personalizeevents#PutActionsRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.personalizeevents#InvalidInputException" + }, + { + "target": "com.amazonaws.personalizeevents#ResourceInUseException" + }, + { + "target": "com.amazonaws.personalizeevents#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Adds one or more actions to an Actions dataset. For more information see \n Importing actions individually.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/actions", + "code": 200 + } + } + }, + "com.amazonaws.personalizeevents#PutActionsRequest": { + "type": "structure", + "members": { + "datasetArn": { + "target": "com.amazonaws.personalizeevents#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Actions dataset you are adding the action or actions to.

", + "smithy.api#required": {} + } + }, + "actions": { + "target": "com.amazonaws.personalizeevents#ActionList", + "traits": { + "smithy.api#documentation": "

A list of action data.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.personalizeevents#PutEvents": { "type": "operation", "input": { @@ -890,7 +1129,7 @@ } ], "traits": { - "smithy.api#documentation": "

Records user interaction event data. For more information see \n Recording Events.

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

Records item interaction event data. For more information see \n Recording item interaction events.

", "smithy.api#http": { "method": "POST", "uri": "/events", @@ -917,7 +1156,7 @@ "sessionId": { "target": "com.amazonaws.personalizeevents#StringType", "traits": { - "smithy.api#documentation": "

The session ID associated with the user's visit. Your application generates the sessionId when a user first visits your website or uses your application. \n Amazon Personalize uses the sessionId to associate events with the user before they log in. For more information, see \n Recording Events.

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

The session ID associated with the user's visit. Your application generates the sessionId when a user first visits your website or uses your application. \n Amazon Personalize uses the sessionId to associate events with the user before they log in. For more information, see \n Recording item interaction events.

", "smithy.api#required": {} } }, @@ -953,7 +1192,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds one or more items to an Items dataset. For more information see \n Importing Items Incrementally.\n

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

Adds one or more items to an Items dataset. For more information see \n Importing items individually.\n

", "smithy.api#http": { "method": "POST", "uri": "/items", @@ -1003,7 +1242,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds one or more users to a Users dataset. For more information see \n Importing Users Incrementally.

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

Adds one or more users to a Users dataset. For more information see \n Importing users individually.

", "smithy.api#http": { "method": "POST", "uri": "/users", @@ -1077,6 +1316,28 @@ } } }, + "com.amazonaws.personalizeevents#SynthesizedJsonActionInteractionProperties": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#mediaType": "application/json", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.personalizeevents#SynthesizedJsonActionProperties": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 32000 + }, + "smithy.api#mediaType": "application/json", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.personalizeevents#SynthesizedJsonEventPropertiesJSON": { "type": "string", "traits": { @@ -1093,7 +1354,7 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 24262 + "max": 32000 }, "smithy.api#mediaType": "application/json", "smithy.api#sensitive": {} @@ -1104,7 +1365,7 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 4096 + "max": 24000 }, "smithy.api#mediaType": "application/json", "smithy.api#sensitive": {} @@ -1128,7 +1389,7 @@ } }, "traits": { - "smithy.api#documentation": "

Represents user metadata added to a Users dataset using the \n PutUsers API. For more information see \n Importing Users Incrementally.

" + "smithy.api#documentation": "

Represents user metadata added to a Users dataset using the \n PutUsers API. For more information see \n Importing users individually.

" } }, "com.amazonaws.personalizeevents#UserId": { diff --git a/codegen/sdk-codegen/aws-models/personalize-runtime.json b/codegen/sdk-codegen/aws-models/personalize-runtime.json index 4c8846c3dbf..889b4919e6f 100644 --- a/codegen/sdk-codegen/aws-models/personalize-runtime.json +++ b/codegen/sdk-codegen/aws-models/personalize-runtime.json @@ -29,10 +29,28 @@ ] }, "shapes": { + "com.amazonaws.personalizeruntime#ActionID": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + } + } + }, + "com.amazonaws.personalizeruntime#ActionList": { + "type": "list", + "member": { + "target": "com.amazonaws.personalizeruntime#PredictedAction" + } + }, "com.amazonaws.personalizeruntime#AmazonPersonalizeRuntime": { "type": "service", "version": "2018-05-22", "operations": [ + { + "target": "com.amazonaws.personalizeruntime#GetActionRecommendations" + }, { "target": "com.amazonaws.personalizeruntime#GetPersonalizedRanking" }, @@ -714,6 +732,36 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.personalizeruntime#ColumnName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 150 + } + } + }, + "com.amazonaws.personalizeruntime#ColumnNamesList": { + "type": "list", + "member": { + "target": "com.amazonaws.personalizeruntime#ColumnName" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 99 + } + } + }, + "com.amazonaws.personalizeruntime#ColumnValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 20000 + } + } + }, "com.amazonaws.personalizeruntime#Context": { "type": "map", "key": { @@ -729,6 +777,15 @@ } } }, + "com.amazonaws.personalizeruntime#DatasetType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + } + } + }, "com.amazonaws.personalizeruntime#ErrorMessage": { "type": "string" }, @@ -767,6 +824,91 @@ } } }, + "com.amazonaws.personalizeruntime#GetActionRecommendations": { + "type": "operation", + "input": { + "target": "com.amazonaws.personalizeruntime#GetActionRecommendationsRequest" + }, + "output": { + "target": "com.amazonaws.personalizeruntime#GetActionRecommendationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.personalizeruntime#InvalidInputException" + }, + { + "target": "com.amazonaws.personalizeruntime#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of recommended actions in sorted in descending order by prediction score. \n Use the GetActionRecommendations API if you have a custom\n campaign that deploys a solution version trained with a PERSONALIZED_ACTIONS recipe.\n

\n

For more information about PERSONALIZED_ACTIONS recipes, see PERSONALIZED_ACTIONS recipes.\n For more information about getting action recommendations, see Getting action recommendations.

", + "smithy.api#http": { + "method": "POST", + "uri": "/action-recommendations", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.personalizeruntime#GetActionRecommendationsRequest": { + "type": "structure", + "members": { + "campaignArn": { + "target": "com.amazonaws.personalizeruntime#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the campaign to use for getting action recommendations. This campaign must deploy a solution version trained with a PERSONALIZED_ACTIONS recipe.

" + } + }, + "userId": { + "target": "com.amazonaws.personalizeruntime#UserID", + "traits": { + "smithy.api#documentation": "

The user ID of the user to provide action recommendations for.

" + } + }, + "numResults": { + "target": "com.amazonaws.personalizeruntime#NumResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of results to return. The default is 5. The maximum is 100.

" + } + }, + "filterArn": { + "target": "com.amazonaws.personalizeruntime#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the filter to apply to the returned recommendations. For more information, see\n Filtering Recommendations.

\n

When using this parameter, be sure the filter resource is ACTIVE.

" + } + }, + "filterValues": { + "target": "com.amazonaws.personalizeruntime#FilterValues", + "traits": { + "smithy.api#documentation": "

The values to use when filtering recommendations. For each placeholder parameter in your filter expression, provide the parameter name (in matching case)\n as a key and the filter value(s) as the corresponding value. Separate multiple values for one parameter with a comma.\n

\n

For filter expressions that use an INCLUDE element to include actions,\n you must provide values for all parameters that are defined in the expression. For\n filters with expressions that use an EXCLUDE element to exclude actions, you\n can omit the filter-values. In this case, Amazon Personalize doesn't use that portion of\n the expression to filter recommendations.

\n

For more information, see\n Filtering recommendations and user segments.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.personalizeruntime#GetActionRecommendationsResponse": { + "type": "structure", + "members": { + "actionList": { + "target": "com.amazonaws.personalizeruntime#ActionList", + "traits": { + "smithy.api#documentation": "

A list of action recommendations sorted in descending order by prediction score. There can be a maximum of 100 actions\n in the list. For information about action scores, see How action recommendation scoring\n works.

" + } + }, + "recommendationId": { + "target": "com.amazonaws.personalizeruntime#RecommendationID", + "traits": { + "smithy.api#documentation": "

The ID of the recommendation.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.personalizeruntime#GetPersonalizedRanking": { "type": "operation", "input": { @@ -806,7 +948,7 @@ "inputList": { "target": "com.amazonaws.personalizeruntime#InputList", "traits": { - "smithy.api#documentation": "

A list of items (by itemId) to rank. If an item was not included in the training dataset,\n the item is appended to the end of the reranked list. The maximum is 500.

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

A list of items (by itemId) to rank. If an item was not included in the training dataset,\n the item is appended to the end of the reranked list. If you are including \n metadata in recommendations, the maximum is 50. Otherwise, the maximum is 500.

", "smithy.api#required": {} } }, @@ -834,6 +976,12 @@ "traits": { "smithy.api#documentation": "

The values to use when filtering recommendations. For each placeholder parameter in your filter expression, provide the parameter name (in matching case)\n as a key and the filter value(s) as the corresponding value. Separate multiple values for one parameter with a comma.\n

\n

For filter expressions that use an INCLUDE element to include items,\n you must provide values for all parameters that are defined in the expression. For\n filters with expressions that use an EXCLUDE element to exclude items, you\n can omit the filter-values.In this case, Amazon Personalize doesn't use that portion of\n the expression to filter recommendations.

\n

For more information, see\n Filtering Recommendations.

" } + }, + "metadataColumns": { + "target": "com.amazonaws.personalizeruntime#MetadataColumns", + "traits": { + "smithy.api#documentation": "

If you enabled metadata in recommendations when you created or updated the campaign, specify metadata columns from your Items dataset to include\n in the personalized ranking.\n The map key is ITEMS and the value is a list of column names from your Items dataset.\n The maximum number of columns you can provide is 10.

\n

\n For information about enabling metadata for a campaign, see Enabling metadata in recommendations for a campaign.\n

" + } } }, "traits": { @@ -911,7 +1059,7 @@ "target": "com.amazonaws.personalizeruntime#NumResults", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The number of results to return. The default is 25. The maximum is 500.

" + "smithy.api#documentation": "

The number of results to return. The default is 25. If you are including \n metadata in recommendations, the maximum is 50. Otherwise, the maximum is 500.

" } }, "context": { @@ -943,6 +1091,12 @@ "traits": { "smithy.api#documentation": "

The promotions to apply to the recommendation request. \n A promotion defines additional business rules that apply to a configurable subset of recommended items.

" } + }, + "metadataColumns": { + "target": "com.amazonaws.personalizeruntime#MetadataColumns", + "traits": { + "smithy.api#documentation": "

If you enabled metadata in recommendations when you created or updated the campaign or recommender, specify the metadata columns from your Items dataset to include in item recommendations. \n The map key is ITEMS and the value is a list of column names from your Items dataset.\n The maximum number of columns you can provide is 10.

\n

\n For information about enabling metadata for a campaign, see Enabling metadata in recommendations for a campaign.\n For information about enabling metadata for a recommender, see Enabling metadata in recommendations for a recommender.\n

" + } } }, "traits": { @@ -1003,6 +1157,30 @@ "target": "com.amazonaws.personalizeruntime#PredictedItem" } }, + "com.amazonaws.personalizeruntime#Metadata": { + "type": "map", + "key": { + "target": "com.amazonaws.personalizeruntime#ColumnName" + }, + "value": { + "target": "com.amazonaws.personalizeruntime#ColumnValue" + } + }, + "com.amazonaws.personalizeruntime#MetadataColumns": { + "type": "map", + "key": { + "target": "com.amazonaws.personalizeruntime#DatasetType" + }, + "value": { + "target": "com.amazonaws.personalizeruntime#ColumnNamesList" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1 + } + } + }, "com.amazonaws.personalizeruntime#Name": { "type": "string", "traits": { @@ -1031,6 +1209,26 @@ } } }, + "com.amazonaws.personalizeruntime#PredictedAction": { + "type": "structure", + "members": { + "actionId": { + "target": "com.amazonaws.personalizeruntime#ActionID", + "traits": { + "smithy.api#documentation": "

The ID of the recommended action.

" + } + }, + "score": { + "target": "com.amazonaws.personalizeruntime#Score", + "traits": { + "smithy.api#documentation": "

The score of the recommended action. For information about action scores, see How action recommendation scoring works.

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

An object that identifies an action.

\n

The API returns a list of\n PredictedActions.

" + } + }, "com.amazonaws.personalizeruntime#PredictedItem": { "type": "structure", "members": { @@ -1051,6 +1249,12 @@ "traits": { "smithy.api#documentation": "

The name of the promotion that included the predicted item.

" } + }, + "metadata": { + "target": "com.amazonaws.personalizeruntime#Metadata", + "traits": { + "smithy.api#documentation": "

Metadata about the item from your Items dataset.

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/personalize.json b/codegen/sdk-codegen/aws-models/personalize.json index c6b9840b2cb..bbcd1a9841d 100644 --- a/codegen/sdk-codegen/aws-models/personalize.json +++ b/codegen/sdk-codegen/aws-models/personalize.json @@ -389,7 +389,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -432,7 +431,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -445,7 +445,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -459,7 +458,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -482,7 +480,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -517,7 +514,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -528,14 +524,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -549,14 +547,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -565,11 +561,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -580,14 +576,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -601,7 +599,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -621,7 +618,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -632,14 +628,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -650,9 +648,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -1168,7 +1168,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 10000 + "max": 20000 } } }, @@ -1235,6 +1235,18 @@ "smithy.api#documentation": "

The ARN of the Amazon Identity and Access Management (IAM) role that requested the batch inference job.

" } }, + "batchInferenceJobMode": { + "target": "com.amazonaws.personalize#BatchInferenceJobMode", + "traits": { + "smithy.api#documentation": "

The job's mode.

" + } + }, + "themeGenerationConfig": { + "target": "com.amazonaws.personalize#ThemeGenerationConfig", + "traits": { + "smithy.api#documentation": "

The job's theme generation settings.

" + } + }, "status": { "target": "com.amazonaws.personalize#Status", "traits": { @@ -1287,6 +1299,23 @@ "smithy.api#documentation": "

The input configuration of a batch inference job.

" } }, + "com.amazonaws.personalize#BatchInferenceJobMode": { + "type": "enum", + "members": { + "BATCH_INFERENCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BATCH_INFERENCE" + } + }, + "THEME_GENERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "THEME_GENERATION" + } + } + } + }, "com.amazonaws.personalize#BatchInferenceJobOutput": { "type": "structure", "members": { @@ -1346,6 +1375,12 @@ "traits": { "smithy.api#documentation": "

The ARN of the solution version used by the batch inference job.

" } + }, + "batchInferenceJobMode": { + "target": "com.amazonaws.personalize#BatchInferenceJobMode", + "traits": { + "smithy.api#documentation": "

The job's mode.

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

Specifies the exploration configuration hyperparameters, including explorationWeight and \n explorationItemAgeCutOff, you want to use to configure the amount of item exploration Amazon Personalize uses when\n recommending items. Provide itemExplorationConfig data only if your solution uses the\n User-Personalization recipe.

" } + }, + "enableMetadataWithRecommendations": { + "target": "com.amazonaws.personalize#Boolean", + "traits": { + "smithy.api#documentation": "

Whether metadata with recommendations is enabled for the campaign. \n If enabled, you can specify the columns from your Items dataset in your request for recommendations. Amazon Personalize returns this data for each item in the recommendation response.

\n

\n If you enable metadata in recommendations, you will incur additional costs. For more information, see Amazon Personalize pricing.\n

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

Creates a batch inference job. The operation can handle up to 50 million records and the\n input file must be in JSON format. For more information, see \n Creating a batch inference job.\n

" + "smithy.api#documentation": "

Generates batch recommendations based on a list of items or users stored in Amazon S3\n and exports the recommendations to an Amazon S3 bucket.

\n

To generate batch recommendations, specify the ARN of a solution version and an Amazon S3 URI for the input and output data.\n For user personalization, popular items, and personalized ranking solutions, the batch inference job generates a list of\n recommended items for each user ID in the input file. For related items solutions, the job generates a list of recommended\n items for each item ID in the input file.

\n

For more information, see Creating a batch inference job\n .

\n

\n If you use the Similar-Items recipe, Amazon Personalize can add descriptive themes to batch recommendations. \n To generate themes, set the job's mode to\n THEME_GENERATION and specify the name of the field that contains item names in the\n input data.

\n

\n For more information about generating themes, see Batch recommendations with themes from Content Generator\n .\n

\n

You can't get batch recommendations with the Trending-Now or Next-Best-Action recipes.

" } }, "com.amazonaws.personalize#CreateBatchInferenceJobRequest": { @@ -1944,6 +1985,18 @@ "traits": { "smithy.api#documentation": "

A list of tags to apply to the batch inference job.

" } + }, + "batchInferenceJobMode": { + "target": "com.amazonaws.personalize#BatchInferenceJobMode", + "traits": { + "smithy.api#documentation": "

The mode of the batch inference job. To generate descriptive themes for groups of similar items, set the\n job mode to THEME_GENERATION. If you don't want to generate themes, use the default BATCH_INFERENCE.

\n

\n When you get batch recommendations with themes, you will incur additional costs. For more information, see Amazon Personalize pricing.\n

" + } + }, + "themeGenerationConfig": { + "target": "com.amazonaws.personalize#ThemeGenerationConfig", + "traits": { + "smithy.api#documentation": "

For theme generation jobs, specify the name of the column in your Items\n dataset that contains each item's name.

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

Creates a campaign that deploys a solution version. When a client calls the\n GetRecommendations\n and\n GetPersonalizedRanking\n APIs, a campaign is specified in the request.

\n

\n Minimum Provisioned TPS and Auto-Scaling\n

\n \n

A high minProvisionedTPS will increase your bill. We recommend starting with 1 for minProvisionedTPS (the default). Track\n your usage using Amazon CloudWatch metrics, and increase the minProvisionedTPS\n as necessary.

\n
\n

A transaction is a single GetRecommendations or\n GetPersonalizedRanking call. Transactions per second (TPS) is the throughput\n and unit of billing for Amazon Personalize. The minimum provisioned TPS\n (minProvisionedTPS) specifies the baseline throughput provisioned by\n Amazon Personalize, and thus, the minimum billing charge. \n

\n

\n If your TPS increases beyond\n minProvisionedTPS, Amazon Personalize auto-scales the provisioned capacity up and down,\n but never below minProvisionedTPS.\n There's a short time delay while the capacity is increased that might cause loss of\n transactions.

\n

The actual TPS used is calculated as the average requests/second within a 5-minute window.\n You pay for maximum of either the minimum provisioned TPS or the actual TPS.\n We recommend starting with a low minProvisionedTPS, track\n your usage using Amazon CloudWatch metrics, and then increase the minProvisionedTPS\n as necessary.

\n

\n Status\n

\n

A campaign can be in one of the following states:

\n
    \n
  • \n

    CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

    \n
  • \n
  • \n

    DELETE PENDING > DELETE IN_PROGRESS

    \n
  • \n
\n

To get the campaign status, call DescribeCampaign.

\n \n

Wait until the status of the campaign\n is ACTIVE before asking the campaign for recommendations.

\n
\n

\n Related APIs\n

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

Creates a campaign that deploys a solution version. When a client calls the\n GetRecommendations\n and\n GetPersonalizedRanking\n APIs, a campaign is specified in the request.

\n

\n Minimum Provisioned TPS and Auto-Scaling\n

\n \n

A high minProvisionedTPS will increase your bill. We recommend starting with 1 for minProvisionedTPS (the default). Track\n your usage using Amazon CloudWatch metrics, and increase the minProvisionedTPS\n as necessary.

\n
\n

A transaction is a single GetRecommendations or\n GetPersonalizedRanking call. Transactions per second (TPS) is the throughput\n and unit of billing for Amazon Personalize. The minimum provisioned TPS\n (minProvisionedTPS) specifies the baseline throughput provisioned by\n Amazon Personalize, and thus, the minimum billing charge. \n

\n

\n If your TPS increases beyond\n minProvisionedTPS, Amazon Personalize auto-scales the provisioned capacity up and down,\n but never below minProvisionedTPS.\n There's a short time delay while the capacity is increased that might cause loss of\n transactions.

\n

The actual TPS used is calculated as the average requests/second within a 5-minute window.\n You pay for maximum of either the minimum provisioned TPS or the actual TPS.\n We recommend starting with a low minProvisionedTPS, track\n your usage using Amazon CloudWatch metrics, and then increase the minProvisionedTPS\n as necessary.

\n

\n Status\n

\n

A campaign can be in one of the following states:

\n
    \n
  • \n

    CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

    \n
  • \n
  • \n

    DELETE PENDING > DELETE IN_PROGRESS

    \n
  • \n
\n

To get the campaign status, call DescribeCampaign.

\n \n

Wait until the status of the campaign\n is ACTIVE before asking the campaign for recommendations.

\n
\n

\n Related APIs\n

\n ", "smithy.api#idempotent": {} } }, @@ -2187,7 +2240,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an empty dataset and adds it to the specified dataset group.\n Use CreateDatasetImportJob to import your training data to a\n dataset.

\n

There are three types of datasets:

\n
    \n
  • \n

    Interactions

    \n
  • \n
  • \n

    Items

    \n
  • \n
  • \n

    Users

    \n
  • \n
\n

Each dataset type has an associated schema with required field types.\n Only the Interactions dataset is required in order to train a\n model (also referred to as creating a solution).

\n

A dataset can be in one of the following states:

\n
    \n
  • \n

    CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE\n FAILED

    \n
  • \n
  • \n

    DELETE PENDING > DELETE IN_PROGRESS

    \n
  • \n
\n

To get the status of the dataset, call DescribeDataset.

\n

\n Related APIs\n

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

Creates an empty dataset and adds it to the specified dataset group.\n Use CreateDatasetImportJob to import your training data to a\n dataset.

\n

There are 5 types of datasets:

\n
    \n
  • \n

    Item interactions

    \n
  • \n
  • \n

    Items

    \n
  • \n
  • \n

    Users

    \n
  • \n
  • \n

    Action interactions

    \n
  • \n
  • \n

    Actions

    \n
  • \n
\n

Each dataset type has an associated schema with required field types.\n Only the Item interactions dataset is required in order to train a\n model (also referred to as creating a solution).

\n

A dataset can be in one of the following states:

\n
    \n
  • \n

    CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE\n FAILED

    \n
  • \n
  • \n

    DELETE PENDING > DELETE IN_PROGRESS

    \n
  • \n
\n

To get the status of the dataset, call DescribeDataset.

\n

\n Related APIs\n

\n ", "smithy.api#idempotent": {} } }, @@ -2309,7 +2362,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an empty dataset group. A dataset group is a container for\n Amazon Personalize resources. A dataset group can contain at most three datasets, one\n for each type of dataset:

\n
    \n
  • \n

    Interactions

    \n
  • \n
  • \n

    Items

    \n
  • \n
  • \n

    Users

    \n
  • \n
\n

A dataset group can be a Domain dataset group, where you specify a\n domain and use pre-configured resources like recommenders, or a\n Custom dataset group, where you use custom resources, such as a solution\n with a solution version, that you deploy with a campaign. If you start\n with a Domain dataset group, you can still add custom resources such as\n solutions and solution versions trained with recipes for custom use cases\n and deployed with campaigns.

\n

A dataset group can be in one of the following states:

\n
    \n
  • \n

    CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE\n FAILED

    \n
  • \n
  • \n

    DELETE PENDING

    \n
  • \n
\n

To get the status of the dataset group, call DescribeDatasetGroup. If the status shows as CREATE FAILED, the\n response includes a failureReason key, which describes why\n the creation failed.

\n \n

You must wait until the status of the dataset group is\n ACTIVE before adding a dataset to the group.

\n
\n

You can specify an Key Management Service (KMS) key to encrypt the datasets in\n the group. If you specify a KMS key, you must also include an Identity and Access Management\n (IAM) role that has permission to access the key.

\n

\n APIs that require a dataset group ARN in the request\n

\n \n

\n Related APIs\n

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

Creates an empty dataset group. A dataset group is a container for\n Amazon Personalize resources. A dataset group can contain at most three datasets, one\n for each type of dataset:

\n
    \n
  • \n

    Item interactions

    \n
  • \n
  • \n

    Items

    \n
  • \n
  • \n

    Users

    \n
  • \n
  • \n

    Actions

    \n
  • \n
  • \n

    Action interactions

    \n
  • \n
\n

A dataset group can be a Domain dataset group, where you specify a\n domain and use pre-configured resources like recommenders, or a\n Custom dataset group, where you use custom resources, such as a solution\n with a solution version, that you deploy with a campaign. If you start\n with a Domain dataset group, you can still add custom resources such as\n solutions and solution versions trained with recipes for custom use cases\n and deployed with campaigns.

\n

A dataset group can be in one of the following states:

\n
    \n
  • \n

    CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE\n FAILED

    \n
  • \n
  • \n

    DELETE PENDING

    \n
  • \n
\n

To get the status of the dataset group, call DescribeDatasetGroup. If the status shows as CREATE FAILED, the\n response includes a failureReason key, which describes why\n the creation failed.

\n \n

You must wait until the status of the dataset group is\n ACTIVE before adding a dataset to the group.

\n
\n

You can specify an Key Management Service (KMS) key to encrypt the datasets in\n the group. If you specify a KMS key, you must also include an Identity and Access Management\n (IAM) role that has permission to access the key.

\n

\n APIs that require a dataset group ARN in the request\n

\n \n

\n Related APIs\n

\n " } }, "com.amazonaws.personalize#CreateDatasetGroupRequest": { @@ -2400,7 +2453,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a job that imports training data from your data source (an\n Amazon S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize to import the\n training data, you must specify an IAM service role that has permission to\n read from the data source, as Amazon Personalize makes a copy of your data and\n processes it internally. For information on granting access to your Amazon S3\n bucket, see Giving\n Amazon Personalize Access to Amazon S3 Resources.

\n \n

By default, a dataset import job replaces any existing data in the\n dataset that you imported in bulk. To add new records without replacing\n existing data, specify INCREMENTAL for the import mode in the\n CreateDatasetImportJob operation.

\n
\n

\n Status\n

\n

A dataset import job can be in one of the following states:

\n
    \n
  • \n

    CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE\n FAILED

    \n
  • \n
\n

To get the status of the import job, call DescribeDatasetImportJob, providing the Amazon Resource Name\n (ARN) of the dataset import job. The dataset import is complete when the\n status shows as ACTIVE. If the status shows as CREATE FAILED, the response\n includes a failureReason key, which describes why the job\n failed.

\n \n

Importing takes time. You must wait until the status shows as ACTIVE\n before training a model using the dataset.

\n
\n

\n Related APIs\n

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

Creates a job that imports training data from your data source (an\n Amazon S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize to import the\n training data, you must specify an IAM service role that has permission to\n read from the data source, as Amazon Personalize makes a copy of your data and\n processes it internally. For information on granting access to your Amazon S3\n bucket, see Giving\n Amazon Personalize Access to Amazon S3 Resources.

\n

If you already created a recommender or deployed a custom solution version with a campaign, how new bulk records\n influence recommendations depends on the domain use case or recipe that you use. For more information, see How new data influences\n real-time recommendations.

\n \n

By default, a dataset import job replaces any existing data in the\n dataset that you imported in bulk. To add new records without replacing\n existing data, specify INCREMENTAL for the import mode in the\n CreateDatasetImportJob operation.

\n
\n

\n Status\n

\n

A dataset import job can be in one of the following states:

\n
    \n
  • \n

    CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE\n FAILED

    \n
  • \n
\n

To get the status of the import job, call DescribeDatasetImportJob, providing the Amazon Resource Name\n (ARN) of the dataset import job. The dataset import is complete when the\n status shows as ACTIVE. If the status shows as CREATE FAILED, the response\n includes a failureReason key, which describes why the job\n failed.

\n \n

Importing takes time. You must wait until the status shows as ACTIVE\n before training a model using the dataset.

\n
\n

\n Related APIs\n

\n " } }, "com.amazonaws.personalize#CreateDatasetImportJobRequest": { @@ -2498,7 +2551,7 @@ "datasetType": { "target": "com.amazonaws.personalize#DatasetType", "traits": { - "smithy.api#documentation": "

The type of dataset.

\n

One of the following (case insensitive) values:

\n
    \n
  • \n

    Interactions

    \n
  • \n
  • \n

    Items

    \n
  • \n
  • \n

    Users

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

The type of dataset.

\n

One of the following (case insensitive) values:

\n
    \n
  • \n

    Interactions

    \n
  • \n
  • \n

    Items

    \n
  • \n
  • \n

    Users

    \n
  • \n
  • \n

    Actions

    \n
  • \n
  • \n

    Action_Interactions

    \n
  • \n
", "smithy.api#required": {} } }, @@ -2556,7 +2609,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an event tracker that you use when adding event data to a specified dataset\n group using the\n PutEvents API.

\n \n

Only one event tracker can be associated with a dataset group. You will get\n an error if you call CreateEventTracker using the same dataset group as an\n existing event tracker.

\n
\n

When you create an event tracker, the response includes a tracking ID, which you pass as a parameter when you use the\n PutEvents operation.\n Amazon Personalize then appends the event data to the Interactions dataset of the dataset group you specify \n in your event tracker.\n

\n

The event tracker can be in one of the following states:

\n
    \n
  • \n

    CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

    \n
  • \n
  • \n

    DELETE PENDING > DELETE IN_PROGRESS

    \n
  • \n
\n

To get the status of the event tracker, call DescribeEventTracker.

\n \n

The event tracker must be in the ACTIVE state before using the tracking ID.

\n
\n

\n Related APIs\n

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

Creates an event tracker that you use when adding event data to a specified dataset\n group using the\n PutEvents API.

\n \n

Only one event tracker can be associated with a dataset group. You will get\n an error if you call CreateEventTracker using the same dataset group as an\n existing event tracker.

\n
\n

When you create an event tracker, the response includes a tracking ID, which you pass as a parameter when you use the\n PutEvents operation.\n Amazon Personalize then appends the event data to the Item interactions dataset of the dataset group you specify \n in your event tracker.\n

\n

The event tracker can be in one of the following states:

\n
    \n
  • \n

    CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

    \n
  • \n
  • \n

    DELETE PENDING > DELETE IN_PROGRESS

    \n
  • \n
\n

To get the status of the event tracker, call DescribeEventTracker.

\n \n

The event tracker must be in the ACTIVE state before using the tracking ID.

\n
\n

\n Related APIs\n

\n ", "smithy.api#idempotent": {} } }, @@ -3075,7 +3128,7 @@ "trainingMode": { "target": "com.amazonaws.personalize#TrainingMode", "traits": { - "smithy.api#documentation": "

The scope of training to be performed when creating the solution version. The\n FULL option trains the solution version based on the entirety of the input\n solution's training data, while the UPDATE option processes only the data that\n has changed in comparison to the input solution. Choose UPDATE when you want to\n incrementally update your solution version instead of creating an entirely new one.

\n \n

The UPDATE option can only be used when you already have an active solution\n version created from the input solution using the FULL option and the input\n solution was trained with the \n User-Personalization\n recipe or the \n HRNN-Coldstart recipe.

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

The scope of training to be performed when creating the solution version. \n The default is FULL. This creates a completely new model based on the entirety \n of the training data from the datasets in your dataset group.\n

\n

If you use\n User-Personalization,\n you can specify a training mode of UPDATE. This updates the model to consider new items for recommendations. It is not a full\n retraining. You should still complete a full retraining weekly.\n If you specify UPDATE, Amazon Personalize will stop automatic updates for the solution version. To resume updates, create a new solution with training mode set to FULL\n and deploy it in a campaign. \n For more information about automatic updates, see \n Automatic updates.\n

\n

The UPDATE option can only be used when you already have an active solution\n version created from the input solution using the FULL option and the input\n solution was trained with the \n User-Personalization\n recipe or the legacy\n HRNN-Coldstart recipe.

" } }, "tags": { @@ -3141,7 +3194,7 @@ "datasetType": { "target": "com.amazonaws.personalize#DatasetType", "traits": { - "smithy.api#documentation": "

One of the following values:

\n
    \n
  • \n

    Interactions

    \n
  • \n
  • \n

    Items

    \n
  • \n
  • \n

    Users

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

One of the following values:

\n
    \n
  • \n

    Interactions

    \n
  • \n
  • \n

    Items

    \n
  • \n
  • \n

    Users

    \n
  • \n
  • \n

    Actions

    \n
  • \n
  • \n

    Action_Interactions

    \n
  • \n
" } }, "schemaArn": { @@ -3173,6 +3226,12 @@ "traits": { "smithy.api#documentation": "

Describes the latest update to the dataset.

" } + }, + "trackingId": { + "target": "com.amazonaws.personalize#TrackingId", + "traits": { + "smithy.api#documentation": "

The ID of the event tracker for an Action interactions dataset. \n You specify the tracker's ID in the PutActionInteractions API operation. Amazon Personalize uses it to direct new data to the Action interactions dataset in your dataset group.

" + } } }, "traits": { @@ -3341,7 +3400,7 @@ "roleArn": { "target": "com.amazonaws.personalize#RoleArn", "traits": { - "smithy.api#documentation": "

The ARN of the IAM role that has permissions to create the dataset\n group.

" + "smithy.api#documentation": "

The ARN of the Identity and Access Management (IAM) role that has permissions to access\n the Key Management Service (KMS) key. Supplying an IAM role is only valid when also\n specifying a KMS key.

" } }, "kmsKeyArn": { @@ -3376,7 +3435,7 @@ } }, "traits": { - "smithy.api#documentation": "

A dataset group is a collection of related datasets (Interactions,\n User, and Item). You create a dataset group by calling CreateDatasetGroup. You then create a dataset and add it to a\n dataset group by calling CreateDataset. The dataset group is used to create and train a\n solution by calling CreateSolution. A dataset group can contain only one of each\n type of dataset.

\n

You can specify an Key Management Service (KMS) key to encrypt the datasets in\n the group.

" + "smithy.api#documentation": "

A dataset group is a collection of related datasets (Item interactions,\n Users, Items, Actions, Action interactions). You create a dataset group by calling CreateDatasetGroup. You then create a dataset and add it to a\n dataset group by calling CreateDataset. The dataset group is used to create and train a\n solution by calling CreateSolution. A dataset group can contain only one of each\n type of dataset.

\n

You can specify an Key Management Service (KMS) key to encrypt the datasets in\n the group.

" } }, "com.amazonaws.personalize#DatasetGroupSummary": { @@ -4061,7 +4120,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the event tracker. Does not delete the event-interactions dataset from\n the associated dataset group. For more\n information on event trackers, see CreateEventTracker.

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

Deletes the event tracker. Does not delete the dataset from\n the dataset group. For more\n information on event trackers, see CreateEventTracker.

", "smithy.api#idempotent": {} } }, @@ -5371,6 +5430,21 @@ } } }, + "com.amazonaws.personalize#FieldsForThemeGeneration": { + "type": "structure", + "members": { + "itemName": { + "target": "com.amazonaws.personalize#ColumnName", + "traits": { + "smithy.api#documentation": "

The name of the Items dataset column that stores the name of each item in the dataset.

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

A string to string map of the configuration details for theme generation.

" + } + }, "com.amazonaws.personalize#Filter": { "type": "structure", "members": { @@ -6023,7 +6097,7 @@ "solutionArn": { "target": "com.amazonaws.personalize#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the solution to list the campaigns for. When\n a solution is not specified, all the campaigns associated with the account are listed.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the solution to list the campaigns for. When\n a solution is not specified, all the campaigns associated with the account are listed.

" } }, "nextToken": { @@ -6312,7 +6386,7 @@ "nextToken": { "target": "com.amazonaws.personalize#NextToken", "traits": { - "smithy.api#documentation": "

A token returned from the previous call to\n ListDatasetImportJobs for getting the next set of dataset\n import jobs (if they exist).

" + "smithy.api#documentation": "

A token returned from the previous call to\n ListDatasets for getting the next set of dataset\n import jobs (if they exist).

" } }, "maxResults": { @@ -7628,6 +7702,12 @@ "traits": { "smithy.api#documentation": "

\n Specifies the training data configuration to use when creating a domain recommender.\n

" } + }, + "enableMetadataWithRecommendations": { + "target": "com.amazonaws.personalize#Boolean", + "traits": { + "smithy.api#documentation": "

Whether metadata with recommendations is enabled for the recommender. \n If enabled, you can specify the columns from your Items dataset in your request for recommendations. Amazon Personalize returns this data for each item in the recommendation response.

\n

\n If you enable metadata in recommendations, you will incur additional costs. For more information, see Amazon Personalize pricing.\n

" + } } }, "traits": { @@ -7953,7 +8033,7 @@ "algorithmHyperParameters": { "target": "com.amazonaws.personalize#HyperParameters", "traits": { - "smithy.api#documentation": "

Lists the hyperparameter names and ranges.

" + "smithy.api#documentation": "

Lists the algorithm hyperparameters and their values.

" } }, "featureTransformationParameters": { @@ -8475,6 +8555,21 @@ } } }, + "com.amazonaws.personalize#ThemeGenerationConfig": { + "type": "structure", + "members": { + "fieldsForThemeGeneration": { + "target": "com.amazonaws.personalize#FieldsForThemeGeneration", + "traits": { + "smithy.api#documentation": "

Fields used to generate descriptive themes for a batch inference job.

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

The configuration details for generating themes with a batch inference job.

" + } + }, "com.amazonaws.personalize#TooManyTagKeysException": { "type": "structure", "members": { @@ -8661,7 +8756,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates a campaign by either deploying a new solution or changing the value of the\n campaign's minProvisionedTPS parameter.

\n

To update a campaign, the campaign status must be ACTIVE or CREATE FAILED.\n Check the campaign status using the DescribeCampaign operation.

\n \n

You can still get recommendations from a campaign while an update is in progress.\n The campaign will use the previous solution version and campaign configuration to generate recommendations until the latest campaign update status is Active.\n

\n
\n

For more information on campaigns, see CreateCampaign.

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

\n Updates a campaign to deploy a retrained solution version with an existing campaign, change your campaign's minProvisionedTPS,\n or modify your campaign's configuration, such as the exploration configuration.\n

\n

To update a campaign, the campaign status must be ACTIVE or CREATE FAILED.\n Check the campaign status using the DescribeCampaign operation.

\n \n

You can still get recommendations from a campaign while an update is in progress.\n The campaign will use the previous solution version and campaign configuration to generate recommendations until the latest campaign update status is Active.\n

\n
\n

For more information about updating a campaign, including code samples, see Updating a campaign.\n For more information about campaigns, see Creating a campaign.

", "smithy.api#idempotent": {} } }, diff --git a/codegen/sdk-codegen/aws-models/quicksight.json b/codegen/sdk-codegen/aws-models/quicksight.json index ba93e1c7a6b..814006b7c13 100644 --- a/codegen/sdk-codegen/aws-models/quicksight.json +++ b/codegen/sdk-codegen/aws-models/quicksight.json @@ -3195,6 +3195,38 @@ "target": "com.amazonaws.quicksight#AuthorSpecifiedAggregation" } }, + "com.amazonaws.quicksight#AuthorizedTargetsByService": { + "type": "structure", + "members": { + "Service": { + "target": "com.amazonaws.quicksight#ServiceType", + "traits": { + "smithy.api#documentation": "

The name of the Amazon Web Services service.

" + } + }, + "AuthorizedTargets": { + "target": "com.amazonaws.quicksight#AuthorizedTargetsList", + "traits": { + "smithy.api#documentation": "

Aist of authorized targets that are represented by IAM Identity Center application ARNs.

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

The authorized targets that are associated with a service.

" + } + }, + "com.amazonaws.quicksight#AuthorizedTargetsByServices": { + "type": "list", + "member": { + "target": "com.amazonaws.quicksight#AuthorizedTargetsByService" + } + }, + "com.amazonaws.quicksight#AuthorizedTargetsList": { + "type": "list", + "member": { + "target": "com.amazonaws.quicksight#String" + } + }, "com.amazonaws.quicksight#AwsAccountId": { "type": "string", "traits": { @@ -14505,6 +14537,86 @@ "smithy.api#output": {} } }, + "com.amazonaws.quicksight#DeleteIdentityPropagationConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.quicksight#DeleteIdentityPropagationConfigRequest" + }, + "output": { + "target": "com.amazonaws.quicksight#DeleteIdentityPropagationConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.quicksight#AccessDeniedException" + }, + { + "target": "com.amazonaws.quicksight#InternalFailureException" + }, + { + "target": "com.amazonaws.quicksight#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.quicksight#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.quicksight#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes all access scopes and authorized targets that are associated with a service from the Amazon QuickSight IAM Identity Center application.

\n

This operation is only supported for Amazon QuickSight accounts that use IAM Identity Center.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/accounts/{AwsAccountId}/identity-propagation-config/{Service}", + "code": 200 + } + } + }, + "com.amazonaws.quicksight#DeleteIdentityPropagationConfigRequest": { + "type": "structure", + "members": { + "AwsAccountId": { + "target": "com.amazonaws.quicksight#AwsAccountId", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Web Services account that you want to delete an identity propagation configuration from.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Service": { + "target": "com.amazonaws.quicksight#ServiceType", + "traits": { + "smithy.api#documentation": "

The name of the Amazon Web Services service that you want to delete the associated access scopes and authorized targets from.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.quicksight#DeleteIdentityPropagationConfigResponse": { + "type": "structure", + "members": { + "RequestId": { + "target": "com.amazonaws.quicksight#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services request ID for this operation.

" + } + }, + "Status": { + "target": "com.amazonaws.quicksight#StatusCode", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The HTTP status of the request.

", + "smithy.api#httpResponseCode": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.quicksight#DeleteNamespace": { "type": "operation", "input": { @@ -25633,6 +25745,21 @@ } } }, + "com.amazonaws.quicksight#IdentityCenterConfiguration": { + "type": "structure", + "members": { + "EnableIdentityPropagation": { + "target": "com.amazonaws.quicksight#Boolean", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

A Boolean option that controls whether Trusted Identity Propagation should be used.

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

The parameters for an IAM Identity Center configuration.

" + } + }, "com.amazonaws.quicksight#IdentityMap": { "type": "map", "key": { @@ -29439,6 +29566,115 @@ "smithy.api#output": {} } }, + "com.amazonaws.quicksight#ListIdentityPropagationConfigs": { + "type": "operation", + "input": { + "target": "com.amazonaws.quicksight#ListIdentityPropagationConfigsRequest" + }, + "output": { + "target": "com.amazonaws.quicksight#ListIdentityPropagationConfigsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.quicksight#AccessDeniedException" + }, + { + "target": "com.amazonaws.quicksight#InternalFailureException" + }, + { + "target": "com.amazonaws.quicksight#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.quicksight#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.quicksight#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists all services and authorized targets that the Amazon QuickSight IAM Identity Center application can access.

\n

This operation is only supported for Amazon QuickSight accounts that use IAM Identity Center.

", + "smithy.api#http": { + "method": "GET", + "uri": "/accounts/{AwsAccountId}/identity-propagation-config", + "code": 200 + } + } + }, + "com.amazonaws.quicksight#ListIdentityPropagationConfigsRequest": { + "type": "structure", + "members": { + "AwsAccountId": { + "target": "com.amazonaws.quicksight#AwsAccountId", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Web Services account that contain the identity propagation configurations of.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.quicksight#ListIdentityPropagationMaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The maximum number of results to be returned.

", + "smithy.api#httpQuery": "max-results" + } + }, + "NextToken": { + "target": "com.amazonaws.quicksight#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", + "smithy.api#httpQuery": "next-token" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.quicksight#ListIdentityPropagationConfigsResponse": { + "type": "structure", + "members": { + "Services": { + "target": "com.amazonaws.quicksight#AuthorizedTargetsByServices", + "traits": { + "smithy.api#documentation": "

A list of services and their authorized targets that the Amazon QuickSight IAM Identity Center application can access.

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

The token for the next set of results, or null if there are no more results.

" + } + }, + "Status": { + "target": "com.amazonaws.quicksight#StatusCode", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The HTTP status of the request.

", + "smithy.api#httpResponseCode": {} + } + }, + "RequestId": { + "target": "com.amazonaws.quicksight#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services request ID for this operation.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.quicksight#ListIdentityPropagationMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.quicksight#ListIngestions": { "type": "operation", "input": { @@ -35661,6 +35897,9 @@ { "target": "com.amazonaws.quicksight#DeleteIAMPolicyAssignment" }, + { + "target": "com.amazonaws.quicksight#DeleteIdentityPropagationConfig" + }, { "target": "com.amazonaws.quicksight#DeleteNamespace" }, @@ -35877,6 +36116,9 @@ { "target": "com.amazonaws.quicksight#ListIAMPolicyAssignmentsForUser" }, + { + "target": "com.amazonaws.quicksight#ListIdentityPropagationConfigs" + }, { "target": "com.amazonaws.quicksight#ListIngestions" }, @@ -36012,6 +36254,9 @@ { "target": "com.amazonaws.quicksight#UpdateIAMPolicyAssignment" }, + { + "target": "com.amazonaws.quicksight#UpdateIdentityPropagationConfig" + }, { "target": "com.amazonaws.quicksight#UpdateIpRestriction" }, @@ -37359,6 +37604,12 @@ "traits": { "smithy.api#documentation": "

An optional parameter that uses IAM authentication to grant Amazon QuickSight access to your cluster. This parameter can be used instead of DataSourceCredentials.

" } + }, + "IdentityCenterConfiguration": { + "target": "com.amazonaws.quicksight#IdentityCenterConfiguration", + "traits": { + "smithy.api#documentation": "

An optional parameter that configures IAM Identity Center authentication to grant Amazon QuickSight access to your cluster.

\n

This parameter can only be specified if your Amazon QuickSight account is configured with IAM Identity Center.

" + } } }, "traits": { @@ -40677,6 +40928,17 @@ "smithy.api#documentation": "

The parameters for ServiceNow.

" } }, + "com.amazonaws.quicksight#ServiceType": { + "type": "enum", + "members": { + "REDSHIFT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REDSHIFT" + } + } + } + }, "com.amazonaws.quicksight#SessionLifetimeInMinutes": { "type": "long", "traits": { @@ -49347,6 +49609,92 @@ "smithy.api#output": {} } }, + "com.amazonaws.quicksight#UpdateIdentityPropagationConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.quicksight#UpdateIdentityPropagationConfigRequest" + }, + "output": { + "target": "com.amazonaws.quicksight#UpdateIdentityPropagationConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.quicksight#AccessDeniedException" + }, + { + "target": "com.amazonaws.quicksight#InternalFailureException" + }, + { + "target": "com.amazonaws.quicksight#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.quicksight#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.quicksight#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Adds or updates services and authorized targets to configure what the Amazon QuickSight IAM Identity Center application can access.

\n

This operation is only supported for Amazon QuickSight accounts using IAM Identity Center

", + "smithy.api#http": { + "method": "POST", + "uri": "/accounts/{AwsAccountId}/identity-propagation-config/{Service}", + "code": 200 + } + } + }, + "com.amazonaws.quicksight#UpdateIdentityPropagationConfigRequest": { + "type": "structure", + "members": { + "AwsAccountId": { + "target": "com.amazonaws.quicksight#AwsAccountId", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Web Services account that contains the identity propagation configuration that you want to update.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Service": { + "target": "com.amazonaws.quicksight#ServiceType", + "traits": { + "smithy.api#documentation": "

The name of the Amazon Web Services service that contains the authorized targets that you want to add or update.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AuthorizedTargets": { + "target": "com.amazonaws.quicksight#AuthorizedTargetsList", + "traits": { + "smithy.api#documentation": "

Specifies a list of application ARNs that represent the authorized targets for a service.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.quicksight#UpdateIdentityPropagationConfigResponse": { + "type": "structure", + "members": { + "RequestId": { + "target": "com.amazonaws.quicksight#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services request ID for this operation.

" + } + }, + "Status": { + "target": "com.amazonaws.quicksight#StatusCode", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The HTTP status of the request.

", + "smithy.api#httpResponseCode": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.quicksight#UpdateIpRestriction": { "type": "operation", "input": { diff --git a/codegen/sdk-codegen/aws-models/redshift.json b/codegen/sdk-codegen/aws-models/redshift.json index 5ad6da703ce..65a22483118 100644 --- a/codegen/sdk-codegen/aws-models/redshift.json +++ b/codegen/sdk-codegen/aws-models/redshift.json @@ -359,6 +359,12 @@ "traits": { "smithy.api#documentation": "

From a datashare consumer account, associates a datashare with all existing and future namespaces in the specified Amazon Web Services Region.

" } + }, + "AllowWrites": { + "target": "com.amazonaws.redshift#BooleanOptional", + "traits": { + "smithy.api#documentation": "

If set to true, allows write operations for a datashare.

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

The identifier of the data consumer that is authorized to access the datashare. This identifier is an Amazon Web Services account ID or a keyword, such as ADX.

", "smithy.api#required": {} } + }, + "AllowWrites": { + "target": "com.amazonaws.redshift#BooleanOptional", + "traits": { + "smithy.api#documentation": "

If set to true, allows write operations for a datashare.

" + } } }, "traits": { @@ -4455,6 +4467,18 @@ "traits": { "smithy.api#documentation": "

The status change data of the datashare that is associated.

" } + }, + "ProducerAllowedWrites": { + "target": "com.amazonaws.redshift#BooleanOptional", + "traits": { + "smithy.api#documentation": "

Specifies whether write operations were allowed during data share authorization.

" + } + }, + "ConsumerAcceptedWrites": { + "target": "com.amazonaws.redshift#BooleanOptional", + "traits": { + "smithy.api#documentation": "

Specifies whether write operations were allowed during data share association.

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/repostspace.json b/codegen/sdk-codegen/aws-models/repostspace.json new file mode 100644 index 00000000000..a9d29c40f19 --- /dev/null +++ b/codegen/sdk-codegen/aws-models/repostspace.json @@ -0,0 +1,2250 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.repostspace#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

User does not have sufficient access to perform this action.

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.repostspace#AccessorId": { + "type": "string" + }, + "com.amazonaws.repostspace#AccessorIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.repostspace#AccessorId" + }, + "traits": { + "smithy.api#length": { + "max": 1000 + } + } + }, + "com.amazonaws.repostspace#AdminId": { + "type": "string" + }, + "com.amazonaws.repostspace#Arn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + } + } + }, + "com.amazonaws.repostspace#ClientId": { + "type": "string" + }, + "com.amazonaws.repostspace#ConfigurationStatus": { + "type": "enum", + "members": { + "CONFIGURED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONFIGURED" + } + }, + "UNCONFIGURED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNCONFIGURED" + } + } + } + }, + "com.amazonaws.repostspace#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ID of the resource.

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

The type of the resource.

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

Updating or deleting a resource can cause an inconsistent state.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.repostspace#ContentSize": { + "type": "long" + }, + "com.amazonaws.repostspace#CreateSpace": { + "type": "operation", + "input": { + "target": "com.amazonaws.repostspace#CreateSpaceInput" + }, + "output": { + "target": "com.amazonaws.repostspace#CreateSpaceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.repostspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.repostspace#ConflictException" + }, + { + "target": "com.amazonaws.repostspace#InternalServerException" + }, + { + "target": "com.amazonaws.repostspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.repostspace#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.repostspace#ThrottlingException" + }, + { + "target": "com.amazonaws.repostspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an AWS re:Post Private private re:Post.

", + "smithy.api#http": { + "method": "POST", + "uri": "/spaces", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.repostspace#CreateSpaceInput": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.repostspace#SpaceName", + "traits": { + "smithy.api#documentation": "

The name for the private re:Post. This must be unique in your account.

", + "smithy.api#required": {} + } + }, + "subdomain": { + "target": "com.amazonaws.repostspace#SpaceSubdomain", + "traits": { + "smithy.api#documentation": "

The subdomain that you use to access your AWS re:Post Private private re:Post. All custom subdomains must be approved by AWS before use. In addition to your custom subdomain, all private re:Posts are issued an AWS generated subdomain for immediate use.

", + "smithy.api#required": {} + } + }, + "tier": { + "target": "com.amazonaws.repostspace#TierLevel", + "traits": { + "smithy.api#documentation": "

The pricing tier for the private re:Post.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.repostspace#SpaceDescription", + "traits": { + "smithy.api#documentation": "

A description for the private re:Post. This is used only to help you identify this private re:Post.

" + } + }, + "userKMSKey": { + "target": "com.amazonaws.repostspace#KMSKey", + "traits": { + "smithy.api#documentation": "

The AWS KMS key ARN that’s used for the AWS KMS encryption. If you don't provide a key, your data is encrypted by default with a key that AWS owns and manages for you.

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

The list of tags associated with the private re:Post.

" + } + }, + "roleArn": { + "target": "com.amazonaws.repostspace#Arn", + "traits": { + "smithy.api#documentation": "

The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.repostspace#CreateSpaceOutput": { + "type": "structure", + "members": { + "spaceId": { + "target": "com.amazonaws.repostspace#SpaceId", + "traits": { + "smithy.api#documentation": "

The unique ID of the private re:Post.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.repostspace#DeleteSpace": { + "type": "operation", + "input": { + "target": "com.amazonaws.repostspace#DeleteSpaceInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.repostspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.repostspace#InternalServerException" + }, + { + "target": "com.amazonaws.repostspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.repostspace#ThrottlingException" + }, + { + "target": "com.amazonaws.repostspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an AWS re:Post Private private re:Post.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/spaces/{spaceId}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.repostspace#DeleteSpaceInput": { + "type": "structure", + "members": { + "spaceId": { + "target": "com.amazonaws.repostspace#SpaceId", + "traits": { + "smithy.api#documentation": "

The unique ID of the private re:Post.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.repostspace#DeregisterAdmin": { + "type": "operation", + "input": { + "target": "com.amazonaws.repostspace#DeregisterAdminInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.repostspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.repostspace#InternalServerException" + }, + { + "target": "com.amazonaws.repostspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.repostspace#ThrottlingException" + }, + { + "target": "com.amazonaws.repostspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Removes the user or group from the list of administrators of the private re:Post.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/spaces/{spaceId}/admins/{adminId}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.repostspace#DeregisterAdminInput": { + "type": "structure", + "members": { + "spaceId": { + "target": "com.amazonaws.repostspace#SpaceId", + "traits": { + "smithy.api#documentation": "

The ID of the private re:Post to remove the admin from.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "adminId": { + "target": "com.amazonaws.repostspace#AdminId", + "traits": { + "smithy.api#documentation": "

The ID of the admin to remove.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.repostspace#GetSpace": { + "type": "operation", + "input": { + "target": "com.amazonaws.repostspace#GetSpaceInput" + }, + "output": { + "target": "com.amazonaws.repostspace#GetSpaceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.repostspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.repostspace#InternalServerException" + }, + { + "target": "com.amazonaws.repostspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.repostspace#ThrottlingException" + }, + { + "target": "com.amazonaws.repostspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Displays information about the AWS re:Post Private private re:Post.

", + "smithy.api#http": { + "method": "GET", + "uri": "/spaces/{spaceId}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.repostspace#GetSpaceInput": { + "type": "structure", + "members": { + "spaceId": { + "target": "com.amazonaws.repostspace#SpaceId", + "traits": { + "smithy.api#documentation": "

The ID of the private re:Post.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.repostspace#GetSpaceOutput": { + "type": "structure", + "members": { + "spaceId": { + "target": "com.amazonaws.repostspace#SpaceId", + "traits": { + "smithy.api#documentation": "

The unique ID of the private re:Post.

", + "smithy.api#required": {} + } + }, + "arn": { + "target": "com.amazonaws.repostspace#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the private re:Post.

", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.repostspace#SpaceName", + "traits": { + "smithy.api#documentation": "

The name of the private re:Post.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.repostspace#ProvisioningStatus", + "traits": { + "smithy.api#documentation": "

The creation or deletion status of the private re:Post.

", + "smithy.api#required": {} + } + }, + "configurationStatus": { + "target": "com.amazonaws.repostspace#ConfigurationStatus", + "traits": { + "smithy.api#documentation": "

The configuration status of the private re:Post.

", + "smithy.api#required": {} + } + }, + "clientId": { + "target": "com.amazonaws.repostspace#ClientId", + "traits": { + "smithy.api#documentation": "

The Identity Center identifier for the Application Instance.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.repostspace#SpaceDescription", + "traits": { + "smithy.api#documentation": "

The description of the private re:Post.

" + } + }, + "vanityDomainStatus": { + "target": "com.amazonaws.repostspace#VanityDomainStatus", + "traits": { + "smithy.api#documentation": "

The approval status of the custom subdomain.

", + "smithy.api#required": {} + } + }, + "vanityDomain": { + "target": "com.amazonaws.repostspace#Url", + "traits": { + "smithy.api#documentation": "

The custom subdomain that you use to access your private re:Post. All custom subdomains must be approved by AWS before use.

", + "smithy.api#required": {} + } + }, + "randomDomain": { + "target": "com.amazonaws.repostspace#Url", + "traits": { + "smithy.api#documentation": "

The AWS generated subdomain of the private re:Post

", + "smithy.api#required": {} + } + }, + "customerRoleArn": { + "target": "com.amazonaws.repostspace#Arn", + "traits": { + "smithy.api#documentation": "

The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.

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

The date when the private re:Post was created.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "deleteDateTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The date when the private re:Post was deleted.

", + "smithy.api#timestampFormat": "date-time" + } + }, + "tier": { + "target": "com.amazonaws.repostspace#TierLevel", + "traits": { + "smithy.api#documentation": "

The pricing tier of the private re:Post.

", + "smithy.api#required": {} + } + }, + "storageLimit": { + "target": "com.amazonaws.repostspace#StorageLimit", + "traits": { + "smithy.api#documentation": "

The storage limit of the private re:Post.

", + "smithy.api#required": {} + } + }, + "userAdmins": { + "target": "com.amazonaws.repostspace#UserAdmins", + "traits": { + "smithy.api#documentation": "

The list of users that are administrators of the private re:Post.

" + } + }, + "groupAdmins": { + "target": "com.amazonaws.repostspace#GroupAdmins", + "traits": { + "smithy.api#documentation": "

The list of groups that are administrators of the private re:Post.

" + } + }, + "userKMSKey": { + "target": "com.amazonaws.repostspace#KMSKey", + "traits": { + "smithy.api#documentation": "

The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

" + } + }, + "userCount": { + "target": "com.amazonaws.repostspace#UserCount", + "traits": { + "smithy.api#documentation": "

The number of users that have onboarded to the private re:Post.

" + } + }, + "contentSize": { + "target": "com.amazonaws.repostspace#ContentSize", + "traits": { + "smithy.api#documentation": "

The content size of the private re:Post.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.repostspace#GroupAdmins": { + "type": "list", + "member": { + "target": "com.amazonaws.repostspace#AdminId" + } + }, + "com.amazonaws.repostspace#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "retryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Advice to clients on when the call can be safely retried.

", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

Unexpected error during processing of request.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.repostspace#InviteBody": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 600 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.repostspace#InviteTitle": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.repostspace#KMSKey": { + "type": "string" + }, + "com.amazonaws.repostspace#ListSpaces": { + "type": "operation", + "input": { + "target": "com.amazonaws.repostspace#ListSpacesInput" + }, + "output": { + "target": "com.amazonaws.repostspace#ListSpacesOutput" + }, + "errors": [ + { + "target": "com.amazonaws.repostspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.repostspace#InternalServerException" + }, + { + "target": "com.amazonaws.repostspace#ThrottlingException" + }, + { + "target": "com.amazonaws.repostspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of AWS re:Post Private private re:Posts in the account with some information about each private re:Post.

", + "smithy.api#http": { + "method": "GET", + "uri": "/spaces", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "spaces" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.repostspace#ListSpacesInput": { + "type": "structure", + "members": { + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of private re:Posts to return. You receive this token from a previous ListSpaces operation.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.repostspace#ListSpacesLimit", + "traits": { + "smithy.api#default": 10, + "smithy.api#documentation": "

The maximum number of private re:Posts to include in the results.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.repostspace#ListSpacesLimit": { + "type": "integer", + "traits": { + "smithy.api#default": 10, + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.repostspace#ListSpacesOutput": { + "type": "structure", + "members": { + "spaces": { + "target": "com.amazonaws.repostspace#SpacesList", + "traits": { + "smithy.api#documentation": "

An array of structures that contain some information about the private re:Posts in the account.

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

The token that you use when you request the next set of private re:Posts.

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

Returns the tags that are associated with the AWS re:Post Private resource specified by the resourceArn. The only resource that can be tagged is a private re:Post.

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

The ARN of the resource that the tags are associated with.

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

The list of tags that are associated with the resource.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.repostspace#ProvisioningStatus": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 30 + } + } + }, + "com.amazonaws.repostspace#RegisterAdmin": { + "type": "operation", + "input": { + "target": "com.amazonaws.repostspace#RegisterAdminInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.repostspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.repostspace#InternalServerException" + }, + { + "target": "com.amazonaws.repostspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.repostspace#ThrottlingException" + }, + { + "target": "com.amazonaws.repostspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Adds a user or group to the list of administrators of the private re:Post.

", + "smithy.api#http": { + "method": "POST", + "uri": "/spaces/{spaceId}/admins/{adminId}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.repostspace#RegisterAdminInput": { + "type": "structure", + "members": { + "spaceId": { + "target": "com.amazonaws.repostspace#SpaceId", + "traits": { + "smithy.api#documentation": "

The ID of the private re:Post.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "adminId": { + "target": "com.amazonaws.repostspace#AdminId", + "traits": { + "smithy.api#documentation": "

The ID of the administrator.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.repostspace#RepostSpace": { + "type": "service", + "version": "2022-05-13", + "operations": [ + { + "target": "com.amazonaws.repostspace#CreateSpace" + }, + { + "target": "com.amazonaws.repostspace#DeleteSpace" + }, + { + "target": "com.amazonaws.repostspace#DeregisterAdmin" + }, + { + "target": "com.amazonaws.repostspace#GetSpace" + }, + { + "target": "com.amazonaws.repostspace#ListSpaces" + }, + { + "target": "com.amazonaws.repostspace#ListTagsForResource" + }, + { + "target": "com.amazonaws.repostspace#RegisterAdmin" + }, + { + "target": "com.amazonaws.repostspace#SendInvites" + }, + { + "target": "com.amazonaws.repostspace#TagResource" + }, + { + "target": "com.amazonaws.repostspace#UntagResource" + }, + { + "target": "com.amazonaws.repostspace#UpdateSpace" + } + ], + "traits": { + "aws.api#service": { + "arnNamespace": "repostspace", + "sdkId": "repostspace", + "cloudTrailEventSource": "repostspace.amazonaws.com" + }, + "aws.auth#sigv4": { + "name": "repostspace" + }, + "aws.protocols#restJson1": {}, + "smithy.api#cors": { + "additionalAllowedHeaders": [ + "*", + "content-type", + "x-amz-content-sha256", + "x-amz-user-agent", + "x-amzn-platform-id", + "x-amzn-trace-id", + "content-length", + "x-api-key", + "authorization", + "x-amz-date", + "x-amz-security-token" + ], + "additionalExposedHeaders": [ + "x-amzn-errortype", + "x-amzn-requestid", + "x-amzn-trace-id" + ] + }, + "smithy.api#documentation": "

AWS re:Post Private is a private version of AWS re:Post for enterprises with Enterprise Support or Enterprise On-Ramp Support plans. It provides access to knowledge and experts to accelerate cloud adoption and increase developer productivity. With your organization-specific private re:Post, you can build an organization-specific developer community that drives efficiencies at scale and provides access to valuable knowledge resources. Additionally, re:Post Private centralizes trusted AWS technical content and offers private discussion forums to improve how your teams collaborate internally and with AWS to remove technical obstacles, accelerate innovation, and scale more efficiently in the cloud.

", + "smithy.api#title": "AWS re:Post Private", + "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" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "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" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://repostspace-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://repostspace-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://repostspace.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://repostspace.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://repostspace.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://repostspace.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://repostspace.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "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": { + "endpoint": { + "url": "https://repostspace-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "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": { + "endpoint": { + "url": "https://repostspace.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "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": { + "endpoint": { + "url": "https://repostspace-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "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": { + "endpoint": { + "url": "https://repostspace.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "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": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "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": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.repostspace#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ID of the resource.

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

The type of the resource.

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

Request references a resource which does not exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.repostspace#SendInvites": { + "type": "operation", + "input": { + "target": "com.amazonaws.repostspace#SendInvitesInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.repostspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.repostspace#InternalServerException" + }, + { + "target": "com.amazonaws.repostspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.repostspace#ThrottlingException" + }, + { + "target": "com.amazonaws.repostspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Sends an invitation email to selected users and groups.

", + "smithy.api#http": { + "method": "POST", + "uri": "/spaces/{spaceId}/invite", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.repostspace#SendInvitesInput": { + "type": "structure", + "members": { + "spaceId": { + "target": "com.amazonaws.repostspace#SpaceId", + "traits": { + "smithy.api#documentation": "

The ID of the private re:Post.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "accessorIds": { + "target": "com.amazonaws.repostspace#AccessorIdList", + "traits": { + "smithy.api#documentation": "

The array of identifiers for the users and groups.

", + "smithy.api#required": {} + } + }, + "title": { + "target": "com.amazonaws.repostspace#InviteTitle", + "traits": { + "smithy.api#documentation": "

The title of the invite.

", + "smithy.api#required": {} + } + }, + "body": { + "target": "com.amazonaws.repostspace#InviteBody", + "traits": { + "smithy.api#documentation": "

The body of the invite.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.repostspace#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The id of the resource.

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

The type of the resource.

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

The code to identify the service.

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

The code to identify the quota.

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

Request would cause a service quota to be exceeded.

", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.repostspace#SpaceData": { + "type": "structure", + "members": { + "spaceId": { + "target": "com.amazonaws.repostspace#SpaceId", + "traits": { + "smithy.api#documentation": "

The unique ID of the private re:Post.

", + "smithy.api#required": {} + } + }, + "arn": { + "target": "com.amazonaws.repostspace#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the private re:Post.

", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.repostspace#SpaceName", + "traits": { + "smithy.api#documentation": "

The name for the private re:Post.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.repostspace#SpaceDescription", + "traits": { + "smithy.api#documentation": "

The description for the private re:Post. This is used only to help you identify this private re:Post.

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

The creation/deletion status of the private re:Post.

", + "smithy.api#required": {} + } + }, + "configurationStatus": { + "target": "com.amazonaws.repostspace#ConfigurationStatus", + "traits": { + "smithy.api#documentation": "

The configuration status of the private re:Post.

", + "smithy.api#required": {} + } + }, + "vanityDomainStatus": { + "target": "com.amazonaws.repostspace#VanityDomainStatus", + "traits": { + "smithy.api#documentation": "

This approval status of the custom subdomain.

", + "smithy.api#required": {} + } + }, + "vanityDomain": { + "target": "com.amazonaws.repostspace#Url", + "traits": { + "smithy.api#documentation": "

This custom subdomain that you use to access your private re:Post. All custom subdomains must be approved by AWS before use.

", + "smithy.api#required": {} + } + }, + "randomDomain": { + "target": "com.amazonaws.repostspace#Url", + "traits": { + "smithy.api#documentation": "

The AWS generated subdomain of the private re:Post.

", + "smithy.api#required": {} + } + }, + "tier": { + "target": "com.amazonaws.repostspace#TierLevel", + "traits": { + "smithy.api#documentation": "

The pricing tier of the private re:Post.

", + "smithy.api#required": {} + } + }, + "storageLimit": { + "target": "com.amazonaws.repostspace#StorageLimit", + "traits": { + "smithy.api#documentation": "

The storage limit of the private re:Post.

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

The date when the private re:Post was created.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "deleteDateTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The date when the private re:Post was deleted.

", + "smithy.api#timestampFormat": "date-time" + } + }, + "userKMSKey": { + "target": "com.amazonaws.repostspace#KMSKey", + "traits": { + "smithy.api#documentation": "

The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

" + } + }, + "userCount": { + "target": "com.amazonaws.repostspace#UserCount", + "traits": { + "smithy.api#documentation": "

The number of onboarded users to the private re:Post.

" + } + }, + "contentSize": { + "target": "com.amazonaws.repostspace#ContentSize", + "traits": { + "smithy.api#documentation": "

The content size of the private re:Post.

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

A structure that contains some information about a private re:Post in the account.

" + } + }, + "com.amazonaws.repostspace#SpaceDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.repostspace#SpaceId": { + "type": "string" + }, + "com.amazonaws.repostspace#SpaceName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 30 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.repostspace#SpaceSubdomain": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 63 + } + } + }, + "com.amazonaws.repostspace#SpacesList": { + "type": "list", + "member": { + "target": "com.amazonaws.repostspace#SpaceData" + } + }, + "com.amazonaws.repostspace#StorageLimit": { + "type": "long" + }, + "com.amazonaws.repostspace#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$" + } + }, + "com.amazonaws.repostspace#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.repostspace#TagKey" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.repostspace#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.repostspace#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.repostspace#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.repostspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.repostspace#InternalServerException" + }, + { + "target": "com.amazonaws.repostspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.repostspace#ThrottlingException" + }, + { + "target": "com.amazonaws.repostspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Associates tags with an AWS re:Post Private resource. Currently, the only resource that can be tagged is the private re:Post. If you specify a new tag key for the resource, the tag is appended to the list of tags that are associated with the resource. If you specify a tag key that’s already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

", + "smithy.api#http": { + "uri": "/tags/{resourceArn}", + "method": "POST" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.repostspace#TagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.repostspace#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the resource that the tag is associated with.

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

The list of tag keys and values that must be associated with the resource. You can associate tag keys only, tags (key and values) only, or a combination of tag keys and tags.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.repostspace#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.repostspace#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.repostspace#Tags": { + "type": "map", + "key": { + "target": "com.amazonaws.repostspace#TagKey" + }, + "value": { + "target": "com.amazonaws.repostspace#TagValue" + }, + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.repostspace#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "serviceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The code to identify the service.

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

The code to identify the quota.

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

Advice to clients on when the call can be safely retried.

", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

Request was denied due to request throttling.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429, + "smithy.api#retryable": { + "throttling": true + } + } + }, + "com.amazonaws.repostspace#TierLevel": { + "type": "enum", + "members": { + "BASIC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BASIC" + } + }, + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STANDARD" + } + } + } + }, + "com.amazonaws.repostspace#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.repostspace#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.repostspace#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.repostspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.repostspace#InternalServerException" + }, + { + "target": "com.amazonaws.repostspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.repostspace#ThrottlingException" + }, + { + "target": "com.amazonaws.repostspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Removes the association of the tag with the AWS re:Post Private resource.

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

The ARN of the resource.

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

The key values of the tag.

", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.repostspace#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.repostspace#UpdateSpace": { + "type": "operation", + "input": { + "target": "com.amazonaws.repostspace#UpdateSpaceInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.repostspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.repostspace#ConflictException" + }, + { + "target": "com.amazonaws.repostspace#InternalServerException" + }, + { + "target": "com.amazonaws.repostspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.repostspace#ThrottlingException" + }, + { + "target": "com.amazonaws.repostspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Modifies an existing AWS re:Post Private private re:Post.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/spaces/{spaceId}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.repostspace#UpdateSpaceInput": { + "type": "structure", + "members": { + "spaceId": { + "target": "com.amazonaws.repostspace#SpaceId", + "traits": { + "smithy.api#documentation": "

The unique ID of this private re:Post.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.repostspace#SpaceDescription", + "traits": { + "smithy.api#documentation": "

A description for the private re:Post. This is used only to help you identify this private re:Post.

" + } + }, + "tier": { + "target": "com.amazonaws.repostspace#TierLevel", + "traits": { + "smithy.api#documentation": "

The pricing tier of this private re:Post.

" + } + }, + "roleArn": { + "target": "com.amazonaws.repostspace#Arn", + "traits": { + "smithy.api#documentation": "

The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.repostspace#Url": { + "type": "string" + }, + "com.amazonaws.repostspace#UserAdmins": { + "type": "list", + "member": { + "target": "com.amazonaws.repostspace#AdminId" + } + }, + "com.amazonaws.repostspace#UserCount": { + "type": "integer" + }, + "com.amazonaws.repostspace#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "reason": { + "target": "com.amazonaws.repostspace#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "

The reason why the request failed validation.

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

The field that caused the error, if applicable.

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

The input fails to satisfy the constraints specified by an AWS service.

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

Message describing why the field failed validation.

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

The name of the field.

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

Stores information about a field that’s passed inside a request that resulted in an exception.

" + } + }, + "com.amazonaws.repostspace#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.repostspace#ValidationExceptionField" + } + }, + "com.amazonaws.repostspace#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" + } + } + } + }, + "com.amazonaws.repostspace#VanityDomainStatus": { + "type": "enum", + "members": { + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + }, + "APPROVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "APPROVED" + } + }, + "UNAPPROVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNAPPROVED" + } + } + } + } + } +} \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/s3-control.json b/codegen/sdk-codegen/aws-models/s3-control.json index 0d900623ee7..590e6a3763c 100644 --- a/codegen/sdk-codegen/aws-models/s3-control.json +++ b/codegen/sdk-codegen/aws-models/s3-control.json @@ -33,6 +33,18 @@ "type": "service", "version": "2018-08-20", "operations": [ + { + "target": "com.amazonaws.s3control#AssociateAccessGrantsIdentityCenter" + }, + { + "target": "com.amazonaws.s3control#CreateAccessGrant" + }, + { + "target": "com.amazonaws.s3control#CreateAccessGrantsInstance" + }, + { + "target": "com.amazonaws.s3control#CreateAccessGrantsLocation" + }, { "target": "com.amazonaws.s3control#CreateAccessPoint" }, @@ -51,6 +63,18 @@ { "target": "com.amazonaws.s3control#CreateStorageLensGroup" }, + { + "target": "com.amazonaws.s3control#DeleteAccessGrant" + }, + { + "target": "com.amazonaws.s3control#DeleteAccessGrantsInstance" + }, + { + "target": "com.amazonaws.s3control#DeleteAccessGrantsInstanceResourcePolicy" + }, + { + "target": "com.amazonaws.s3control#DeleteAccessGrantsLocation" + }, { "target": "com.amazonaws.s3control#DeleteAccessPoint" }, @@ -102,6 +126,24 @@ { "target": "com.amazonaws.s3control#DescribeMultiRegionAccessPointOperation" }, + { + "target": "com.amazonaws.s3control#DissociateAccessGrantsIdentityCenter" + }, + { + "target": "com.amazonaws.s3control#GetAccessGrant" + }, + { + "target": "com.amazonaws.s3control#GetAccessGrantsInstance" + }, + { + "target": "com.amazonaws.s3control#GetAccessGrantsInstanceForPrefix" + }, + { + "target": "com.amazonaws.s3control#GetAccessGrantsInstanceResourcePolicy" + }, + { + "target": "com.amazonaws.s3control#GetAccessGrantsLocation" + }, { "target": "com.amazonaws.s3control#GetAccessPoint" }, @@ -141,6 +183,9 @@ { "target": "com.amazonaws.s3control#GetBucketVersioning" }, + { + "target": "com.amazonaws.s3control#GetDataAccess" + }, { "target": "com.amazonaws.s3control#GetJobTagging" }, @@ -168,6 +213,15 @@ { "target": "com.amazonaws.s3control#GetStorageLensGroup" }, + { + "target": "com.amazonaws.s3control#ListAccessGrants" + }, + { + "target": "com.amazonaws.s3control#ListAccessGrantsInstances" + }, + { + "target": "com.amazonaws.s3control#ListAccessGrantsLocations" + }, { "target": "com.amazonaws.s3control#ListAccessPoints" }, @@ -192,6 +246,9 @@ { "target": "com.amazonaws.s3control#ListTagsForResource" }, + { + "target": "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicy" + }, { "target": "com.amazonaws.s3control#PutAccessPointConfigurationForObjectLambda" }, @@ -240,6 +297,9 @@ { "target": "com.amazonaws.s3control#UntagResource" }, + { + "target": "com.amazonaws.s3control#UpdateAccessGrantsLocation" + }, { "target": "com.amazonaws.s3control#UpdateJobPriority" }, @@ -6019,6 +6079,113 @@ "smithy.api#documentation": "

A container for information about access control for replicas.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" } }, + "com.amazonaws.s3control#AccessGrantArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[a-z\\-]+:s3:[a-z0-9\\-]+:\\d{12}:access\\-grants\\/grant/[a-zA-Z0-9\\-]+$" + } + }, + "com.amazonaws.s3control#AccessGrantId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\-]+$" + } + }, + "com.amazonaws.s3control#AccessGrantsInstanceArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[a-z\\-]+:s3:[a-z0-9\\-]+:\\d{12}:access\\-grants\\/[a-zA-Z0-9\\-]+$" + } + }, + "com.amazonaws.s3control#AccessGrantsInstanceId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\-]+$" + } + }, + "com.amazonaws.s3control#AccessGrantsInstancesList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#ListAccessGrantsInstanceEntry", + "traits": { + "smithy.api#xmlName": "AccessGrantsInstance" + } + } + }, + "com.amazonaws.s3control#AccessGrantsList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#ListAccessGrantEntry", + "traits": { + "smithy.api#xmlName": "AccessGrant" + } + } + }, + "com.amazonaws.s3control#AccessGrantsLocationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[a-z\\-]+:s3:[a-z0-9\\-]+:\\d{12}:access\\-grants\\/location/[a-zA-Z0-9\\-]+$" + } + }, + "com.amazonaws.s3control#AccessGrantsLocationConfiguration": { + "type": "structure", + "members": { + "S3SubPrefix": { + "target": "com.amazonaws.s3control#S3Prefix", + "traits": { + "smithy.api#documentation": "

The S3SubPrefix is appended to the location scope creating the grant scope. Use this field to narrow the scope of the grant to a subset of the location scope. This field is required if the location scope is the default location s3:// because you cannot create a grant for all of your S3 data in the Region and must narrow the scope. For example, if the location scope is the default location s3://, the S3SubPrefx can be a /*, so the full grant scope path would be s3:///*. Or the S3SubPrefx can be /*, so the full grant scope path would be or s3:///*.

\n

If the S3SubPrefix includes a prefix, append the wildcard character * after the prefix to indicate that you want to include all object key names in the bucket that start with that prefix.

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

The configuration options of the S3 Access Grants location. It contains the S3SubPrefix field. The grant scope, the data to which you are granting access, is the result of appending the Subprefix field to the scope of the registered location.

" + } + }, + "com.amazonaws.s3control#AccessGrantsLocationId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\-]+$" + } + }, + "com.amazonaws.s3control#AccessGrantsLocationsList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#ListAccessGrantsLocationsEntry", + "traits": { + "smithy.api#xmlName": "AccessGrantsLocation" + } + } + }, + "com.amazonaws.s3control#AccessKeyId": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.s3control#AccessPoint": { "type": "structure", "members": { @@ -6137,7 +6304,7 @@ "StorageLensGroupLevel": { "target": "com.amazonaws.s3control#StorageLensGroupLevel", "traits": { - "smithy.api#documentation": "

A container element for S3 Storage Lens groups metrics.

" + "smithy.api#documentation": "

\nA container element for S3 Storage Lens groups metrics.\n

" } } }, @@ -6200,6 +6367,59 @@ "smithy.api#pattern": "^[0-9a-z\\\\-]{63}$" } }, + "com.amazonaws.s3control#AssociateAccessGrantsIdentityCenter": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#AssociateAccessGrantsIdentityCenterRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Associate your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance. Use this action if you want to create access grants for users or groups from your corporate identity directory. First, you must add your corporate identity directory to Amazon Web Services IAM Identity Center. Then, you can associate this IAM Identity Center instance with your S3 Access Grants instance.

\n
\n
Permissions
\n
\n

You must have the s3:AssociateAccessGrantsIdentityCenter permission to use this operation.

\n
\n
Additional Permissions
\n
\n

You must also have the following permissions: sso:CreateApplication, sso:PutApplicationGrant, and sso:PutApplicationAuthenticationMethod.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "POST", + "uri": "/v20180820/accessgrantsinstance/identitycenter", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#AssociateAccessGrantsIdentityCenterRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "IdentityCenterArn": { + "target": "com.amazonaws.s3control#IdentityCenterArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center instances and their ARNs.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.s3control#AsyncCreationTimestamp": { "type": "timestamp" }, @@ -6646,49 +6866,25 @@ "com.amazonaws.s3control#ContinuationToken": { "type": "string" }, - "com.amazonaws.s3control#CreateAccessPoint": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#CreateAccessPointRequest" - }, - "output": { - "target": "com.amazonaws.s3control#CreateAccessPointResult" - }, - "traits": { - "smithy.api#documentation": "

Creates an access point and associates it with the specified bucket. For more information, see\n Managing\n Data Access with Amazon S3 Access Points in the\n Amazon S3 User Guide.

\n

\n \n

S3 on Outposts only supports VPC-style access points.

\n

For more information, see Accessing Amazon S3 on Outposts using\n virtual private cloud (VPC) only access points in the\n Amazon S3 User Guide.

\n
\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

\n

The following actions are related to CreateAccessPoint:

\n ", - "smithy.api#endpoint": { - "hostPrefix": "{AccountId}." - }, - "smithy.api#http": { - "method": "PUT", - "uri": "/v20180820/accesspoint/{Name}", - "code": 200 - }, - "smithy.rules#staticContextParams": { - "RequiresAccountId": { - "value": true - } - } - } - }, - "com.amazonaws.s3control#CreateAccessPointForObjectLambda": { + "com.amazonaws.s3control#CreateAccessGrant": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#CreateAccessPointForObjectLambdaRequest" + "target": "com.amazonaws.s3control#CreateAccessGrantRequest" }, "output": { - "target": "com.amazonaws.s3control#CreateAccessPointForObjectLambdaResult" + "target": "com.amazonaws.s3control#CreateAccessGrantResult" }, "traits": { - "smithy.api#documentation": "

Creates an Object Lambda Access Point. For more information, see Transforming objects with\n Object Lambda Access Points in the Amazon S3 User Guide.

\n

The following actions are related to\n CreateAccessPointForObjectLambda:

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

Creates an access grant that gives a grantee access to your S3 data. The grantee can be an IAM user or role or a directory user, or group. Before you can create a grant, you must have an S3 Access Grants instance in the same Region as the S3 data. You can create an S3 Access Grants instance using the CreateAccessGrantsInstance. You must also have registered at least one S3 data location in your S3 Access Grants instance using CreateAccessGrantsLocation.

\n
\n
Permissions
\n
\n

You must have the s3:CreateAccessGrant permission to use this operation.

\n
\n
Additional Permissions
\n
\n

For any directory identity - sso:DescribeInstance and sso:DescribeApplication\n

\n

For directory users - identitystore:DescribeUser\n

\n

For directory groups - identitystore:DescribeGroup\n

\n
\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { - "method": "PUT", - "uri": "/v20180820/accesspointforobjectlambda/{Name}", + "method": "POST", + "uri": "/v20180820/accessgrantsinstance/grant", "code": 200 }, + "smithy.api#httpChecksumRequired": {}, "smithy.rules#staticContextParams": { "RequiresAccountId": { "value": true @@ -6696,13 +6892,13 @@ } } }, - "com.amazonaws.s3control#CreateAccessPointForObjectLambdaRequest": { + "com.amazonaws.s3control#CreateAccessGrantRequest": { "type": "structure", "members": { "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID for owner of the specified Object Lambda Access Point.

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

The ID of the Amazon Web Services account that is making this request.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -6711,115 +6907,111 @@ } } }, - "Name": { - "target": "com.amazonaws.s3control#ObjectLambdaAccessPointName", + "AccessGrantsLocationId": { + "target": "com.amazonaws.s3control#AccessGrantsLocationId", "traits": { - "smithy.api#documentation": "

The name you want to assign to this Object Lambda Access Point.

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

The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

\n

If you are passing the default location, you cannot create an access grant for the entire default location. You must also specify a bucket or a bucket and prefix in the Subprefix field.

", "smithy.api#required": {} } }, - "Configuration": { - "target": "com.amazonaws.s3control#ObjectLambdaConfiguration", + "AccessGrantsLocationConfiguration": { + "target": "com.amazonaws.s3control#AccessGrantsLocationConfiguration", "traits": { - "smithy.api#documentation": "

Object Lambda Access Point configuration as a JSON document.

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

The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access. It contains the S3SubPrefix field. The grant scope is the result of appending the subprefix to the location scope of the registered location.

" + } + }, + "Grantee": { + "target": "com.amazonaws.s3control#Grantee", + "traits": { + "smithy.api#documentation": "

The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.

", "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.s3control#CreateAccessPointForObjectLambdaResult": { - "type": "structure", - "members": { - "ObjectLambdaAccessPointArn": { - "target": "com.amazonaws.s3control#ObjectLambdaAccessPointArn", + }, + "Permission": { + "target": "com.amazonaws.s3control#Permission", "traits": { - "smithy.api#documentation": "

Specifies the ARN for the Object Lambda Access Point.

" + "smithy.api#documentation": "

The type of access that you are granting to your S3 data, which can be set to one of the following values:

\n
    \n
  • \n

    \n READ – Grant read-only access to the S3 data.

    \n
  • \n
  • \n

    \n WRITE – Grant write-only access to the S3 data.

    \n
  • \n
  • \n

    \n READWRITE – Grant both read and write access to the S3 data.

    \n
  • \n
", + "smithy.api#required": {} } }, - "Alias": { - "target": "com.amazonaws.s3control#ObjectLambdaAccessPointAlias", + "ApplicationArn": { + "target": "com.amazonaws.s3control#IdentityCenterApplicationArn", "traits": { - "smithy.api#documentation": "

The alias of the Object Lambda Access Point.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If an application ARN is included in the request to create an access grant, the grantee can only access the S3 data through this application.

" + } + }, + "S3PrefixType": { + "target": "com.amazonaws.s3control#S3PrefixType", + "traits": { + "smithy.api#documentation": "

The type of S3SubPrefix. The only possible value is Object. Pass this value if the access grant scope is an object. Do not pass this value if the access grant scope is a bucket or a bucket and a prefix.

" + } + }, + "Tags": { + "target": "com.amazonaws.s3control#TagList", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services resource tags that you are adding to the access grant. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

" } } }, "traits": { - "smithy.api#output": {} + "smithy.api#input": {} } }, - "com.amazonaws.s3control#CreateAccessPointRequest": { + "com.amazonaws.s3control#CreateAccessGrantResult": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID for the account that owns the specified access point.

", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#documentation": "

The date and time when you created the access grant.

" } }, - "Name": { - "target": "com.amazonaws.s3control#AccessPointName", + "AccessGrantId": { + "target": "com.amazonaws.s3control#AccessGrantId", "traits": { - "smithy.api#documentation": "

The name you want to assign to this access point.

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

The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.

" } }, - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", + "AccessGrantArn": { + "target": "com.amazonaws.s3control#AccessGrantArn", "traits": { - "smithy.api#documentation": "

The name of the bucket that you want to associate this access point with.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "Bucket" - } + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the access grant.

" } }, - "VpcConfiguration": { - "target": "com.amazonaws.s3control#VpcConfiguration", + "Grantee": { + "target": "com.amazonaws.s3control#Grantee", "traits": { - "smithy.api#documentation": "

If you include this field, Amazon S3 restricts access to this access point to requests from the\n specified virtual private cloud (VPC).

\n \n

This is required for creating an access point for Amazon S3 on Outposts buckets.

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

The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.

" } }, - "PublicAccessBlockConfiguration": { - "target": "com.amazonaws.s3control#PublicAccessBlockConfiguration", + "AccessGrantsLocationId": { + "target": "com.amazonaws.s3control#AccessGrantsLocationId", "traits": { - "smithy.api#documentation": "

The PublicAccessBlock configuration that you want to apply to the access point.\n

" + "smithy.api#documentation": "

The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

" } }, - "BucketAccountId": { - "target": "com.amazonaws.s3control#AccountId", + "AccessGrantsLocationConfiguration": { + "target": "com.amazonaws.s3control#AccessGrantsLocationConfiguration", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID associated with the S3 bucket associated with this access point.

" + "smithy.api#documentation": "

The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access.

" } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.s3control#CreateAccessPointResult": { - "type": "structure", - "members": { - "AccessPointArn": { - "target": "com.amazonaws.s3control#S3AccessPointArn", + }, + "Permission": { + "target": "com.amazonaws.s3control#Permission", "traits": { - "smithy.api#documentation": "

The ARN of the access point.

\n \n

This is only supported by Amazon S3 on Outposts.

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

The type of access that you are granting to your S3 data, which can be set to one of the following values:

\n
    \n
  • \n

    \n READ – Grant read-only access to the S3 data.

    \n
  • \n
  • \n

    \n WRITE – Grant write-only access to the S3 data.

    \n
  • \n
  • \n

    \n READWRITE – Grant both read and write access to the S3 data.

    \n
  • \n
" } }, - "Alias": { - "target": "com.amazonaws.s3control#Alias", + "ApplicationArn": { + "target": "com.amazonaws.s3control#IdentityCenterApplicationArn", "traits": { - "smithy.api#documentation": "

The name or alias of the access point.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.

" + } + }, + "GrantScope": { + "target": "com.amazonaws.s3control#S3Prefix", + "traits": { + "smithy.api#documentation": "

The S3 path of the data to which you are granting access. It is the result of appending the Subprefix to the location scope.

" } } }, @@ -6827,126 +7019,57 @@ "smithy.api#output": {} } }, - "com.amazonaws.s3control#CreateBucket": { + "com.amazonaws.s3control#CreateAccessGrantsInstance": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#CreateBucketRequest" + "target": "com.amazonaws.s3control#CreateAccessGrantsInstanceRequest" }, "output": { - "target": "com.amazonaws.s3control#CreateBucketResult" + "target": "com.amazonaws.s3control#CreateAccessGrantsInstanceResult" }, - "errors": [ - { - "target": "com.amazonaws.s3control#BucketAlreadyExists" - }, - { - "target": "com.amazonaws.s3control#BucketAlreadyOwnedByYou" - } - ], "traits": { - "smithy.api#documentation": "\n

This action creates an Amazon S3 on Outposts bucket. To create an S3 bucket, see Create\n Bucket in the Amazon S3 API Reference.

\n
\n

Creates a new Outposts bucket. By creating the bucket, you become the bucket owner. To\n create an Outposts bucket, you must have S3 on Outposts. For more information, see Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n

Not every string is an acceptable bucket name. For information on bucket naming\n restrictions, see Working with\n Amazon S3 Buckets.

\n

S3 on Outposts buckets support:

\n
    \n
  • \n

    Tags

    \n
  • \n
  • \n

    LifecycleConfigurations for deleting expired objects

    \n
  • \n
\n

For a complete list of restrictions and Amazon S3 feature limitations on S3 on Outposts, see\n \n Amazon S3 on Outposts Restrictions and Limitations.

\n

For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts\n endpoint hostname prefix and x-amz-outpost-id in your API request, see the\n Examples section.

\n

The following actions are related to CreateBucket for\n Amazon S3 on Outposts:

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

Creates an S3 Access Grants instance, which serves as a logical grouping for access grants. You can create one S3 Access Grants instance per Region per account.

\n
\n
Permissions
\n
\n

You must have the s3:CreateAccessGrantsInstance permission to use this operation.

\n
\n
Additional Permissions
\n
\n

To associate an IAM Identity Center instance with your S3 Access Grants instance, you must also have the sso:DescribeInstance, sso:CreateApplication, sso:PutApplicationGrant, and sso:PutApplicationAuthenticationMethod permissions.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, "smithy.api#http": { - "method": "PUT", - "uri": "/v20180820/bucket/{Bucket}", + "method": "POST", + "uri": "/v20180820/accessgrantsinstance", "code": 200 }, - "smithy.api#httpChecksumRequired": {} - } - }, - "com.amazonaws.s3control#CreateBucketConfiguration": { - "type": "structure", - "members": { - "LocationConstraint": { - "target": "com.amazonaws.s3control#BucketLocationConstraint", - "traits": { - "smithy.api#documentation": "

Specifies the Region where the bucket will be created. If you are creating a bucket on\n the US East (N. Virginia) Region (us-east-1), you do not need to specify the location.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true } } - }, - "traits": { - "smithy.api#documentation": "

The container for the bucket configuration.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" } }, - "com.amazonaws.s3control#CreateBucketRequest": { + "com.amazonaws.s3control#CreateAccessGrantsInstanceRequest": { "type": "structure", "members": { - "ACL": { - "target": "com.amazonaws.s3control#BucketCannedACL", - "traits": { - "smithy.api#documentation": "

The canned ACL to apply to the bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", - "smithy.api#httpHeader": "x-amz-acl" - } - }, - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The name of the bucket.

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

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, "smithy.rules#contextParam": { - "name": "Bucket" + "name": "AccountId" } } }, - "CreateBucketConfiguration": { - "target": "com.amazonaws.s3control#CreateBucketConfiguration", - "traits": { - "smithy.api#documentation": "

The configuration information for the bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", - "smithy.api#httpPayload": {}, - "smithy.api#xmlName": "CreateBucketConfiguration" - } - }, - "GrantFullControl": { - "target": "com.amazonaws.s3control#GrantFullControl", - "traits": { - "smithy.api#documentation": "

Allows grantee the read, write, read ACP, and write ACP permissions on the\n bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", - "smithy.api#httpHeader": "x-amz-grant-full-control" - } - }, - "GrantRead": { - "target": "com.amazonaws.s3control#GrantRead", - "traits": { - "smithy.api#documentation": "

Allows grantee to list the objects in the bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", - "smithy.api#httpHeader": "x-amz-grant-read" - } - }, - "GrantReadACP": { - "target": "com.amazonaws.s3control#GrantReadACP", - "traits": { - "smithy.api#documentation": "

Allows grantee to read the bucket ACL.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", - "smithy.api#httpHeader": "x-amz-grant-read-acp" - } - }, - "GrantWrite": { - "target": "com.amazonaws.s3control#GrantWrite", - "traits": { - "smithy.api#documentation": "

Allows grantee to create, overwrite, and delete any object in the bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", - "smithy.api#httpHeader": "x-amz-grant-write" - } - }, - "GrantWriteACP": { - "target": "com.amazonaws.s3control#GrantWriteACP", - "traits": { - "smithy.api#documentation": "

Allows grantee to write the ACL for the applicable bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", - "smithy.api#httpHeader": "x-amz-grant-write-acp" - } - }, - "ObjectLockEnabledForBucket": { - "target": "com.amazonaws.s3control#ObjectLockEnabledForBucket", + "IdentityCenterArn": { + "target": "com.amazonaws.s3control#IdentityCenterArn", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether you want S3 Object Lock to be enabled for the new bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", - "smithy.api#httpHeader": "x-amz-bucket-object-lock-enabled" + "smithy.api#documentation": "

If you would like to associate your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, use this field to pass the Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center instances and their ARNs.

" } }, - "OutpostId": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength64String", + "Tags": { + "target": "com.amazonaws.s3control#TagList", "traits": { - "smithy.api#documentation": "

The ID of the Outposts where the bucket is being created.

\n \n

This ID is required by Amazon S3 on Outposts buckets.

\n
", - "smithy.api#httpHeader": "x-amz-outpost-id", - "smithy.rules#contextParam": { - "name": "OutpostId" - } + "smithy.api#documentation": "

The Amazon Web Services resource tags that you are adding to the S3 Access Grants instance. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

" } } }, @@ -6954,20 +7077,31 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#CreateBucketResult": { + "com.amazonaws.s3control#CreateAccessGrantsInstanceResult": { "type": "structure", "members": { - "Location": { - "target": "com.amazonaws.s3control#Location", + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", "traits": { - "smithy.api#documentation": "

The location of the bucket.

", - "smithy.api#httpHeader": "Location" + "smithy.api#documentation": "

The date and time when you created the S3 Access Grants instance.

" } }, - "BucketArn": { - "target": "com.amazonaws.s3control#S3RegionalBucketArn", + "AccessGrantsInstanceId": { + "target": "com.amazonaws.s3control#AccessGrantsInstanceId", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

" + "smithy.api#documentation": "

The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants instance per Region per account.

" + } + }, + "AccessGrantsInstanceArn": { + "target": "com.amazonaws.s3control#AccessGrantsInstanceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the S3 Access Grants instance.

" + } + }, + "IdentityCenterArn": { + "target": "com.amazonaws.s3control#IdentityCenterArn", + "traits": { + "smithy.api#documentation": "

If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance application; a subresource of the original Identity Center instance passed in the request. S3 Access Grants creates this Identity Center application for this specific S3 Access Grants instance.

" } } }, @@ -6975,38 +7109,25 @@ "smithy.api#output": {} } }, - "com.amazonaws.s3control#CreateJob": { + "com.amazonaws.s3control#CreateAccessGrantsLocation": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#CreateJobRequest" + "target": "com.amazonaws.s3control#CreateAccessGrantsLocationRequest" }, "output": { - "target": "com.amazonaws.s3control#CreateJobResult" + "target": "com.amazonaws.s3control#CreateAccessGrantsLocationResult" }, - "errors": [ - { - "target": "com.amazonaws.s3control#BadRequestException" - }, - { - "target": "com.amazonaws.s3control#IdempotencyException" - }, - { - "target": "com.amazonaws.s3control#InternalServiceException" - }, - { - "target": "com.amazonaws.s3control#TooManyRequestsException" - } - ], "traits": { - "smithy.api#documentation": "

You can use S3 Batch Operations to perform large-scale batch actions on Amazon S3 objects.\n Batch Operations can run a single action on lists of Amazon S3 objects that you specify. For more\n information, see S3 Batch Operations in the Amazon S3 User Guide.

\n

This action creates a S3 Batch Operations job.

\n

\n

Related actions include:

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

The S3 data location that you would like to register in your S3 Access Grants instance. Your S3 data must be in the same Region as your S3 Access Grants instance. The location can be one of the following:

\n
    \n
  • \n

    The default S3 location s3://\n

    \n
  • \n
  • \n

    A bucket - S3://\n

    \n
  • \n
  • \n

    A bucket and prefix - S3:///\n

    \n
  • \n
\n

When you register a location, you must include the IAM role that has permission to manage the S3 location that you are registering. Give S3 Access Grants permission to assume this role using a policy. S3 Access Grants assumes this role to manage access to the location and to vend temporary credentials to grantees or client applications.

\n
\n
Permissions
\n
\n

You must have the s3:CreateAccessGrantsLocation permission to use this operation.

\n
\n
Additional Permissions
\n
\n

You must also have the following permission for the specified IAM role: iam:PassRole\n

\n
\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { "method": "POST", - "uri": "/v20180820/jobs", + "uri": "/v20180820/accessgrantsinstance/location", "code": 200 }, + "smithy.api#httpChecksumRequired": {}, "smithy.rules#staticContextParams": { "RequiresAccountId": { "value": true @@ -7014,13 +7135,13 @@ } } }, - "com.amazonaws.s3control#CreateJobRequest": { + "com.amazonaws.s3control#CreateAccessGrantsLocationRequest": { "type": "structure", "members": { "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID that creates the job.

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

The ID of the Amazon Web Services account that is making this request.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -7029,86 +7150,62 @@ } } }, - "ConfirmationRequired": { - "target": "com.amazonaws.s3control#ConfirmationRequired", - "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is\n only required for jobs created through the Amazon S3 console.

" - } - }, - "Operation": { - "target": "com.amazonaws.s3control#JobOperation", - "traits": { - "smithy.api#documentation": "

The action that you want this job to perform on every object listed in the manifest. For\n more information about the available actions, see Operations in the\n Amazon S3 User Guide.

", - "smithy.api#required": {} - } - }, - "Report": { - "target": "com.amazonaws.s3control#JobReport", + "LocationScope": { + "target": "com.amazonaws.s3control#S3Prefix", "traits": { - "smithy.api#documentation": "

Configuration parameters for the optional job-completion report.

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

The S3 path to the location that you are registering. The location scope can be the default S3 location s3://, the S3 path to a bucket s3://, or the S3 path to a bucket and prefix s3:///. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.

", "smithy.api#required": {} } }, - "ClientRequestToken": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength64String", + "IAMRoleArn": { + "target": "com.amazonaws.s3control#IAMRoleArn", "traits": { - "smithy.api#documentation": "

An idempotency token to ensure that you don't accidentally submit the same request\n twice. You can use any string up to the maximum length.

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

The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.

", "smithy.api#required": {} } }, - "Manifest": { - "target": "com.amazonaws.s3control#JobManifest", + "Tags": { + "target": "com.amazonaws.s3control#TagList", "traits": { - "smithy.api#documentation": "

Configuration parameters for the manifest.

" + "smithy.api#documentation": "

The Amazon Web Services resource tags that you are adding to the S3 Access Grants location. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

" } - }, - "Description": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength256String", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#CreateAccessGrantsLocationResult": { + "type": "structure", + "members": { + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", "traits": { - "smithy.api#documentation": "

A description for this job. You can use any string within the permitted length.\n Descriptions don't need to be unique and can be used for multiple jobs.

" + "smithy.api#documentation": "

The date and time when you registered the location.

" } }, - "Priority": { - "target": "com.amazonaws.s3control#JobPriority", + "AccessGrantsLocationId": { + "target": "com.amazonaws.s3control#AccessGrantsLocationId", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

The numerical priority for this job. Higher numbers indicate higher priority.

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

The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

" } }, - "RoleArn": { - "target": "com.amazonaws.s3control#IAMRoleArn", + "AccessGrantsLocationArn": { + "target": "com.amazonaws.s3control#AccessGrantsLocationArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) role that Batch Operations will\n use to run this job's action on every object in the manifest.

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

The Amazon Resource Name (ARN) of the location you are registering.

" } }, - "Tags": { - "target": "com.amazonaws.s3control#S3TagSet", + "LocationScope": { + "target": "com.amazonaws.s3control#S3Prefix", "traits": { - "smithy.api#documentation": "

A set of tags to associate with the S3 Batch Operations job. This is an optional parameter.\n

" + "smithy.api#documentation": "

The S3 URI path to the location that you are registering. The location scope can be the default S3 location s3://, the S3 path to a bucket, or the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.

" } }, - "ManifestGenerator": { - "target": "com.amazonaws.s3control#JobManifestGenerator", - "traits": { - "smithy.api#documentation": "

The attribute container for the ManifestGenerator details. Jobs must be created with\n either a manifest file or a ManifestGenerator, but not both.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.s3control#CreateJobResult": { - "type": "structure", - "members": { - "JobId": { - "target": "com.amazonaws.s3control#JobId", + "IAMRoleArn": { + "target": "com.amazonaws.s3control#IAMRoleArn", "traits": { - "smithy.api#documentation": "

The ID for this job. Amazon S3 generates this ID automatically and returns it after a\n successful Create Job request.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.

" } } }, @@ -7116,25 +7213,24 @@ "smithy.api#output": {} } }, - "com.amazonaws.s3control#CreateMultiRegionAccessPoint": { + "com.amazonaws.s3control#CreateAccessPoint": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#CreateMultiRegionAccessPointRequest" + "target": "com.amazonaws.s3control#CreateAccessPointRequest" }, "output": { - "target": "com.amazonaws.s3control#CreateMultiRegionAccessPointResult" + "target": "com.amazonaws.s3control#CreateAccessPointResult" }, "traits": { - "smithy.api#documentation": "

Creates a Multi-Region Access Point and associates it with the specified buckets. For more information\n about creating Multi-Region Access Points, see Creating\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

This action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

This request is asynchronous, meaning that you might receive a response before the\n command has completed. When this request provides a response, it provides a token that you\n can use to monitor the status of the request with\n DescribeMultiRegionAccessPointOperation.

\n

The following actions are related to CreateMultiRegionAccessPoint:

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

Creates an access point and associates it with the specified bucket. For more information, see\n Managing\n Data Access with Amazon S3 Access Points in the\n Amazon S3 User Guide.

\n

\n \n

S3 on Outposts only supports VPC-style access points.

\n

For more information, see Accessing Amazon S3 on Outposts using\n virtual private cloud (VPC) only access points in the\n Amazon S3 User Guide.

\n
\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

\n

The following actions are related to CreateAccessPoint:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { - "method": "POST", - "uri": "/v20180820/async-requests/mrap/create", + "method": "PUT", + "uri": "/v20180820/accesspoint/{Name}", "code": 200 }, - "smithy.api#httpChecksumRequired": {}, "smithy.rules#staticContextParams": { "RequiresAccountId": { "value": true @@ -7142,38 +7238,38 @@ } } }, - "com.amazonaws.s3control#CreateMultiRegionAccessPointInput": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.s3control#MultiRegionAccessPointName", - "traits": { - "smithy.api#documentation": "

The name of the Multi-Region Access Point associated with this request.

", - "smithy.api#required": {} - } + "com.amazonaws.s3control#CreateAccessPointForObjectLambda": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#CreateAccessPointForObjectLambdaRequest" + }, + "output": { + "target": "com.amazonaws.s3control#CreateAccessPointForObjectLambdaResult" + }, + "traits": { + "smithy.api#documentation": "

Creates an Object Lambda Access Point. For more information, see Transforming objects with\n Object Lambda Access Points in the Amazon S3 User Guide.

\n

The following actions are related to\n CreateAccessPointForObjectLambda:

\n ", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." }, - "PublicAccessBlock": { - "target": "com.amazonaws.s3control#PublicAccessBlockConfiguration" + "smithy.api#http": { + "method": "PUT", + "uri": "/v20180820/accesspointforobjectlambda/{Name}", + "code": 200 }, - "Regions": { - "target": "com.amazonaws.s3control#RegionCreationList", - "traits": { - "smithy.api#documentation": "

The buckets in different Regions that are associated with the Multi-Region Access Point.

", - "smithy.api#required": {} + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true } } - }, - "traits": { - "smithy.api#documentation": "

A container for the information associated with a CreateMultiRegionAccessPoint request.

" } }, - "com.amazonaws.s3control#CreateMultiRegionAccessPointRequest": { + "com.amazonaws.s3control#CreateAccessPointForObjectLambdaRequest": { "type": "structure", "members": { "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID for the owner of the Multi-Region Access Point. The owner of the Multi-Region Access Point also must own\n the underlying buckets.

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

The Amazon Web Services account ID for owner of the specified Object Lambda Access Point.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -7182,18 +7278,18 @@ } } }, - "ClientToken": { - "target": "com.amazonaws.s3control#MultiRegionAccessPointClientToken", + "Name": { + "target": "com.amazonaws.s3control#ObjectLambdaAccessPointName", "traits": { - "smithy.api#documentation": "

An idempotency token used to identify the request and guarantee that requests are\n unique.

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

The name you want to assign to this Object Lambda Access Point.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "Details": { - "target": "com.amazonaws.s3control#CreateMultiRegionAccessPointInput", + "Configuration": { + "target": "com.amazonaws.s3control#ObjectLambdaConfiguration", "traits": { - "smithy.api#documentation": "

A container element containing details about the Multi-Region Access Point.

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

Object Lambda Access Point configuration as a JSON document.

", "smithy.api#required": {} } } @@ -7202,13 +7298,19 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#CreateMultiRegionAccessPointResult": { + "com.amazonaws.s3control#CreateAccessPointForObjectLambdaResult": { "type": "structure", "members": { - "RequestTokenARN": { - "target": "com.amazonaws.s3control#AsyncRequestTokenARN", + "ObjectLambdaAccessPointArn": { + "target": "com.amazonaws.s3control#ObjectLambdaAccessPointArn", "traits": { - "smithy.api#documentation": "

The request token associated with the request. You can use this token with DescribeMultiRegionAccessPointOperation to determine the status of asynchronous\n requests.

" + "smithy.api#documentation": "

Specifies the ARN for the Object Lambda Access Point.

" + } + }, + "Alias": { + "target": "com.amazonaws.s3control#ObjectLambdaAccessPointAlias", + "traits": { + "smithy.api#documentation": "

The alias of the Object Lambda Access Point.

" } } }, @@ -7216,38 +7318,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.s3control#CreateStorageLensGroup": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#CreateStorageLensGroupRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Creates a new S3 Storage Lens group and associates it with the specified Amazon Web Services account ID. An\n S3 Storage Lens group is a custom grouping of objects based on prefix, suffix, object tags,\n object size, object age, or a combination of these filters. For each Storage Lens group\n that you’ve created, you can also optionally add Amazon Web Services resource tags. For more information\n about S3 Storage Lens groups, see Working with S3 Storage Lens\n groups.

\n

To use this operation, you must have the permission to perform the\n s3:CreateStorageLensGroup action. If you’re trying to create a Storage Lens\n group with Amazon Web Services resource tags, you must also have permission to perform the\n s3:TagResource action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

", - "smithy.api#endpoint": { - "hostPrefix": "{AccountId}." - }, - "smithy.api#http": { - "method": "POST", - "uri": "/v20180820/storagelensgroup", - "code": 204 - }, - "smithy.rules#staticContextParams": { - "RequiresAccountId": { - "value": true - } - } - } - }, - "com.amazonaws.s3control#CreateStorageLensGroupRequest": { + "com.amazonaws.s3control#CreateAccessPointRequest": { "type": "structure", "members": { "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID that the Storage Lens group is created from and associated with.\n

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

The Amazon Web Services account ID for the account that owns the specified access point.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -7256,17 +7333,40 @@ } } }, - "StorageLensGroup": { - "target": "com.amazonaws.s3control#StorageLensGroup", + "Name": { + "target": "com.amazonaws.s3control#AccessPointName", "traits": { - "smithy.api#documentation": "

The Storage Lens group configuration.

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

The name you want to assign to this access point.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.s3control#TagList", + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", + "traits": { + "smithy.api#documentation": "

The name of the bucket that you want to associate this access point with.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Bucket" + } + } + }, + "VpcConfiguration": { + "target": "com.amazonaws.s3control#VpcConfiguration", + "traits": { + "smithy.api#documentation": "

If you include this field, Amazon S3 restricts access to this access point to requests from the\n specified virtual private cloud (VPC).

\n \n

This is required for creating an access point for Amazon S3 on Outposts buckets.

\n
" + } + }, + "PublicAccessBlockConfiguration": { + "target": "com.amazonaws.s3control#PublicAccessBlockConfiguration", + "traits": { + "smithy.api#documentation": "

The PublicAccessBlock configuration that you want to apply to the access point.\n

" + } + }, + "BucketAccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services resource tags that you're adding to your Storage Lens group. This parameter\n is optional.

" + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the S3 bucket associated with this access point.

" } } }, @@ -7274,110 +7374,810 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#CreationDate": { - "type": "timestamp" - }, - "com.amazonaws.s3control#CreationTimestamp": { - "type": "timestamp" - }, - "com.amazonaws.s3control#Date": { - "type": "timestamp" - }, - "com.amazonaws.s3control#Days": { - "type": "integer", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.s3control#DaysAfterInitiation": { - "type": "integer", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.s3control#DeleteAccessPoint": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#DeleteAccessPointRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Deletes the specified access point.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to DeleteAccessPoint:

\n ", - "smithy.api#endpoint": { - "hostPrefix": "{AccountId}." - }, - "smithy.api#http": { - "method": "DELETE", - "uri": "/v20180820/accesspoint/{Name}", - "code": 200 + "com.amazonaws.s3control#CreateAccessPointResult": { + "type": "structure", + "members": { + "AccessPointArn": { + "target": "com.amazonaws.s3control#S3AccessPointArn", + "traits": { + "smithy.api#documentation": "

The ARN of the access point.

\n \n

This is only supported by Amazon S3 on Outposts.

\n
" + } }, - "smithy.rules#staticContextParams": { - "RequiresAccountId": { - "value": true + "Alias": { + "target": "com.amazonaws.s3control#Alias", + "traits": { + "smithy.api#documentation": "

The name or alias of the access point.

" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.s3control#DeleteAccessPointForObjectLambda": { + "com.amazonaws.s3control#CreateBucket": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#DeleteAccessPointForObjectLambdaRequest" + "target": "com.amazonaws.s3control#CreateBucketRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.s3control#CreateBucketResult" }, - "traits": { - "smithy.api#documentation": "

Deletes the specified Object Lambda Access Point.

\n

The following actions are related to\n DeleteAccessPointForObjectLambda:

\n ", - "smithy.api#endpoint": { - "hostPrefix": "{AccountId}." + "errors": [ + { + "target": "com.amazonaws.s3control#BucketAlreadyExists" }, + { + "target": "com.amazonaws.s3control#BucketAlreadyOwnedByYou" + } + ], + "traits": { + "smithy.api#documentation": "\n

This action creates an Amazon S3 on Outposts bucket. To create an S3 bucket, see Create\n Bucket in the Amazon S3 API Reference.

\n
\n

Creates a new Outposts bucket. By creating the bucket, you become the bucket owner. To\n create an Outposts bucket, you must have S3 on Outposts. For more information, see Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n

Not every string is an acceptable bucket name. For information on bucket naming\n restrictions, see Working with\n Amazon S3 Buckets.

\n

S3 on Outposts buckets support:

\n
    \n
  • \n

    Tags

    \n
  • \n
  • \n

    LifecycleConfigurations for deleting expired objects

    \n
  • \n
\n

For a complete list of restrictions and Amazon S3 feature limitations on S3 on Outposts, see\n \n Amazon S3 on Outposts Restrictions and Limitations.

\n

For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts\n endpoint hostname prefix and x-amz-outpost-id in your API request, see the\n Examples section.

\n

The following actions are related to CreateBucket for\n Amazon S3 on Outposts:

\n ", "smithy.api#http": { - "method": "DELETE", - "uri": "/v20180820/accesspointforobjectlambda/{Name}", + "method": "PUT", + "uri": "/v20180820/bucket/{Bucket}", "code": 200 }, - "smithy.rules#staticContextParams": { - "RequiresAccountId": { - "value": true - } - } + "smithy.api#httpChecksumRequired": {} } }, - "com.amazonaws.s3control#DeleteAccessPointForObjectLambdaRequest": { + "com.amazonaws.s3control#CreateBucketConfiguration": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", - "traits": { - "smithy.api#documentation": "

The account ID for the account that owns the specified Object Lambda Access Point.

", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } - } - }, - "Name": { - "target": "com.amazonaws.s3control#ObjectLambdaAccessPointName", + "LocationConstraint": { + "target": "com.amazonaws.s3control#BucketLocationConstraint", "traits": { - "smithy.api#documentation": "

The name of the access point you want to delete.

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

Specifies the Region where the bucket will be created. If you are creating a bucket on\n the US East (N. Virginia) Region (us-east-1), you do not need to specify the location.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "

The container for the bucket configuration.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" } }, - "com.amazonaws.s3control#DeleteAccessPointPolicy": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#DeleteAccessPointPolicyRequest" - }, + "com.amazonaws.s3control#CreateBucketRequest": { + "type": "structure", + "members": { + "ACL": { + "target": "com.amazonaws.s3control#BucketCannedACL", + "traits": { + "smithy.api#documentation": "

The canned ACL to apply to the bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", + "smithy.api#httpHeader": "x-amz-acl" + } + }, + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", + "traits": { + "smithy.api#documentation": "

The name of the bucket.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Bucket" + } + } + }, + "CreateBucketConfiguration": { + "target": "com.amazonaws.s3control#CreateBucketConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration information for the bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", + "smithy.api#httpPayload": {}, + "smithy.api#xmlName": "CreateBucketConfiguration" + } + }, + "GrantFullControl": { + "target": "com.amazonaws.s3control#GrantFullControl", + "traits": { + "smithy.api#documentation": "

Allows grantee the read, write, read ACP, and write ACP permissions on the\n bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", + "smithy.api#httpHeader": "x-amz-grant-full-control" + } + }, + "GrantRead": { + "target": "com.amazonaws.s3control#GrantRead", + "traits": { + "smithy.api#documentation": "

Allows grantee to list the objects in the bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", + "smithy.api#httpHeader": "x-amz-grant-read" + } + }, + "GrantReadACP": { + "target": "com.amazonaws.s3control#GrantReadACP", + "traits": { + "smithy.api#documentation": "

Allows grantee to read the bucket ACL.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", + "smithy.api#httpHeader": "x-amz-grant-read-acp" + } + }, + "GrantWrite": { + "target": "com.amazonaws.s3control#GrantWrite", + "traits": { + "smithy.api#documentation": "

Allows grantee to create, overwrite, and delete any object in the bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", + "smithy.api#httpHeader": "x-amz-grant-write" + } + }, + "GrantWriteACP": { + "target": "com.amazonaws.s3control#GrantWriteACP", + "traits": { + "smithy.api#documentation": "

Allows grantee to write the ACL for the applicable bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", + "smithy.api#httpHeader": "x-amz-grant-write-acp" + } + }, + "ObjectLockEnabledForBucket": { + "target": "com.amazonaws.s3control#ObjectLockEnabledForBucket", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether you want S3 Object Lock to be enabled for the new bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", + "smithy.api#httpHeader": "x-amz-bucket-object-lock-enabled" + } + }, + "OutpostId": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength64String", + "traits": { + "smithy.api#documentation": "

The ID of the Outposts where the bucket is being created.

\n \n

This ID is required by Amazon S3 on Outposts buckets.

\n
", + "smithy.api#httpHeader": "x-amz-outpost-id", + "smithy.rules#contextParam": { + "name": "OutpostId" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#CreateBucketResult": { + "type": "structure", + "members": { + "Location": { + "target": "com.amazonaws.s3control#Location", + "traits": { + "smithy.api#documentation": "

The location of the bucket.

", + "smithy.api#httpHeader": "Location" + } + }, + "BucketArn": { + "target": "com.amazonaws.s3control#S3RegionalBucketArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3control#CreateJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#CreateJobRequest" + }, + "output": { + "target": "com.amazonaws.s3control#CreateJobResult" + }, + "errors": [ + { + "target": "com.amazonaws.s3control#BadRequestException" + }, + { + "target": "com.amazonaws.s3control#IdempotencyException" + }, + { + "target": "com.amazonaws.s3control#InternalServiceException" + }, + { + "target": "com.amazonaws.s3control#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

You can use S3 Batch Operations to perform large-scale batch actions on Amazon S3 objects.\n Batch Operations can run a single action on lists of Amazon S3 objects that you specify. For more\n information, see S3 Batch Operations in the Amazon S3 User Guide.

\n

This action creates a S3 Batch Operations job.

\n

\n

Related actions include:

\n ", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "POST", + "uri": "/v20180820/jobs", + "code": 200 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#CreateJobRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID that creates the job.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "ConfirmationRequired": { + "target": "com.amazonaws.s3control#ConfirmationRequired", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is\n only required for jobs created through the Amazon S3 console.

" + } + }, + "Operation": { + "target": "com.amazonaws.s3control#JobOperation", + "traits": { + "smithy.api#documentation": "

The action that you want this job to perform on every object listed in the manifest. For\n more information about the available actions, see Operations in the\n Amazon S3 User Guide.

", + "smithy.api#required": {} + } + }, + "Report": { + "target": "com.amazonaws.s3control#JobReport", + "traits": { + "smithy.api#documentation": "

Configuration parameters for the optional job-completion report.

", + "smithy.api#required": {} + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength64String", + "traits": { + "smithy.api#documentation": "

An idempotency token to ensure that you don't accidentally submit the same request\n twice. You can use any string up to the maximum length.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "Manifest": { + "target": "com.amazonaws.s3control#JobManifest", + "traits": { + "smithy.api#documentation": "

Configuration parameters for the manifest.

" + } + }, + "Description": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength256String", + "traits": { + "smithy.api#documentation": "

A description for this job. You can use any string within the permitted length.\n Descriptions don't need to be unique and can be used for multiple jobs.

" + } + }, + "Priority": { + "target": "com.amazonaws.s3control#JobPriority", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The numerical priority for this job. Higher numbers indicate higher priority.

", + "smithy.api#required": {} + } + }, + "RoleArn": { + "target": "com.amazonaws.s3control#IAMRoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) role that Batch Operations will\n use to run this job's action on every object in the manifest.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.s3control#S3TagSet", + "traits": { + "smithy.api#documentation": "

A set of tags to associate with the S3 Batch Operations job. This is an optional parameter.\n

" + } + }, + "ManifestGenerator": { + "target": "com.amazonaws.s3control#JobManifestGenerator", + "traits": { + "smithy.api#documentation": "

The attribute container for the ManifestGenerator details. Jobs must be created with\n either a manifest file or a ManifestGenerator, but not both.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#CreateJobResult": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.s3control#JobId", + "traits": { + "smithy.api#documentation": "

The ID for this job. Amazon S3 generates this ID automatically and returns it after a\n successful Create Job request.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3control#CreateMultiRegionAccessPoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#CreateMultiRegionAccessPointRequest" + }, + "output": { + "target": "com.amazonaws.s3control#CreateMultiRegionAccessPointResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a Multi-Region Access Point and associates it with the specified buckets. For more information\n about creating Multi-Region Access Points, see Creating\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

This action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

This request is asynchronous, meaning that you might receive a response before the\n command has completed. When this request provides a response, it provides a token that you\n can use to monitor the status of the request with\n DescribeMultiRegionAccessPointOperation.

\n

The following actions are related to CreateMultiRegionAccessPoint:

\n ", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "POST", + "uri": "/v20180820/async-requests/mrap/create", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#CreateMultiRegionAccessPointInput": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointName", + "traits": { + "smithy.api#documentation": "

The name of the Multi-Region Access Point associated with this request.

", + "smithy.api#required": {} + } + }, + "PublicAccessBlock": { + "target": "com.amazonaws.s3control#PublicAccessBlockConfiguration" + }, + "Regions": { + "target": "com.amazonaws.s3control#RegionCreationList", + "traits": { + "smithy.api#documentation": "

The buckets in different Regions that are associated with the Multi-Region Access Point.

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

A container for the information associated with a CreateMultiRegionAccessPoint request.

" + } + }, + "com.amazonaws.s3control#CreateMultiRegionAccessPointRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID for the owner of the Multi-Region Access Point. The owner of the Multi-Region Access Point also must own\n the underlying buckets.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "ClientToken": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointClientToken", + "traits": { + "smithy.api#documentation": "

An idempotency token used to identify the request and guarantee that requests are\n unique.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "Details": { + "target": "com.amazonaws.s3control#CreateMultiRegionAccessPointInput", + "traits": { + "smithy.api#documentation": "

A container element containing details about the Multi-Region Access Point.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#CreateMultiRegionAccessPointResult": { + "type": "structure", + "members": { + "RequestTokenARN": { + "target": "com.amazonaws.s3control#AsyncRequestTokenARN", + "traits": { + "smithy.api#documentation": "

The request token associated with the request. You can use this token with DescribeMultiRegionAccessPointOperation to determine the status of asynchronous\n requests.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3control#CreateStorageLensGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#CreateStorageLensGroupRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Creates a new S3 Storage Lens group and associates it with the specified Amazon Web Services account ID. An\n S3 Storage Lens group is a custom grouping of objects based on prefix, suffix, object tags,\n object size, object age, or a combination of these filters. For each Storage Lens group\n that you’ve created, you can also optionally add Amazon Web Services resource tags. For more information\n about S3 Storage Lens groups, see Working with S3 Storage Lens\n groups.

\n

To use this operation, you must have the permission to perform the\n s3:CreateStorageLensGroup action. If you’re trying to create a Storage Lens\n group with Amazon Web Services resource tags, you must also have permission to perform the\n s3:TagResource action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "POST", + "uri": "/v20180820/storagelensgroup", + "code": 204 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#CreateStorageLensGroupRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

\nThe Amazon Web Services account ID that the Storage Lens group is created from and associated with.\n

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "StorageLensGroup": { + "target": "com.amazonaws.s3control#StorageLensGroup", + "traits": { + "smithy.api#documentation": "

\nThe Storage Lens group configuration.\n

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.s3control#TagList", + "traits": { + "smithy.api#documentation": "

\nThe Amazon Web Services resource tags that you're adding to your Storage Lens group. This parameter is optional.\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#CreationDate": { + "type": "timestamp" + }, + "com.amazonaws.s3control#CreationTimestamp": { + "type": "timestamp" + }, + "com.amazonaws.s3control#Credentials": { + "type": "structure", + "members": { + "AccessKeyId": { + "target": "com.amazonaws.s3control#AccessKeyId", + "traits": { + "smithy.api#documentation": "

The unique access key ID of the Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees and client applications.

" + } + }, + "SecretAccessKey": { + "target": "com.amazonaws.s3control#SecretAccessKey", + "traits": { + "smithy.api#documentation": "

The secret access key of the Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees and client applications.

" + } + }, + "SessionToken": { + "target": "com.amazonaws.s3control#SessionToken", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees and client applications.

" + } + }, + "Expiration": { + "target": "com.amazonaws.s3control#Expiration", + "traits": { + "smithy.api#documentation": "

The expiration date and time of the temporary credential that S3 Access Grants vends to grantees and client applications.

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

The Amazon Web Services Security Token Service temporary credential that S3 Access Grants vends to grantees and client applications.

", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.s3control#Date": { + "type": "timestamp" + }, + "com.amazonaws.s3control#Days": { + "type": "integer", + "traits": { + "smithy.api#default": 0 + } + }, + "com.amazonaws.s3control#DaysAfterInitiation": { + "type": "integer", + "traits": { + "smithy.api#default": 0 + } + }, + "com.amazonaws.s3control#DeleteAccessGrant": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#DeleteAccessGrantRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deletes the access grant from the S3 Access Grants instance. You cannot undo an access grant deletion and the grantee will no longer have access to the S3 data.

\n
\n
Permissions
\n
\n

You must have the s3:DeleteAccessGrant permission to use this operation.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/v20180820/accessgrantsinstance/grant/{AccessGrantId}", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#DeleteAccessGrantRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "AccessGrantId": { + "target": "com.amazonaws.s3control#AccessGrantId", + "traits": { + "smithy.api#documentation": "

The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#DeleteAccessGrantsInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#DeleteAccessGrantsInstanceRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deletes your S3 Access Grants instance. You must first delete the access grants and locations before S3 Access Grants can delete the instance. See DeleteAccessGrant and DeleteAccessGrantsLocation. If you have associated an IAM Identity Center instance with your S3 Access Grants instance, you must first dissassociate the Identity Center instance from the S3 Access Grants instance before you can delete the S3 Access Grants instance. See AssociateAccessGrantsIdentityCenter and DissociateAccessGrantsIdentityCenter.

\n
\n
Permissions
\n
\n

You must have the s3:DeleteAccessGrantsInstance permission to use this operation.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/v20180820/accessgrantsinstance", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#DeleteAccessGrantsInstanceRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#DeleteAccessGrantsInstanceResourcePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#DeleteAccessGrantsInstanceResourcePolicyRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deletes the resource policy of the S3 Access Grants instance. The resource policy is used to manage cross-account access to your S3 Access Grants instance. By deleting the resource policy, you delete any cross-account permissions to your S3 Access Grants instance.

\n
\n
Permissions
\n
\n

You must have the s3:DeleteAccessGrantsInstanceResourcePolicy permission to use this operation.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/v20180820/accessgrantsinstance/resourcepolicy", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#DeleteAccessGrantsInstanceResourcePolicyRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#DeleteAccessGrantsLocation": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#DeleteAccessGrantsLocationRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deregisters a location from your S3 Access Grants instance. You can only delete a location registration from an S3 Access Grants instance if there are no grants associated with this location. See Delete a grant for information on how to delete grants. You need to have at least one registered location in your S3 Access Grants instance in order to create access grants.

\n
\n
Permissions
\n
\n

You must have the s3:DeleteAccessGrantsLocation permission to use this operation.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/v20180820/accessgrantsinstance/location/{AccessGrantsLocationId}", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#DeleteAccessGrantsLocationRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "AccessGrantsLocationId": { + "target": "com.amazonaws.s3control#AccessGrantsLocationId", + "traits": { + "smithy.api#documentation": "

The ID of the registered location that you are deregistering from your S3 Access Grants instance. S3 Access Grants assigned this ID when you registered the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#DeleteAccessPoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#DeleteAccessPointRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified access point.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to DeleteAccessPoint:

\n ", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/v20180820/accesspoint/{Name}", + "code": 200 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#DeleteAccessPointForObjectLambda": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#DeleteAccessPointForObjectLambdaRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified Object Lambda Access Point.

\n

The following actions are related to\n DeleteAccessPointForObjectLambda:

\n ", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/v20180820/accesspointforobjectlambda/{Name}", + "code": 200 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#DeleteAccessPointForObjectLambdaRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The account ID for the account that owns the specified Object Lambda Access Point.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "Name": { + "target": "com.amazonaws.s3control#ObjectLambdaAccessPointName", + "traits": { + "smithy.api#documentation": "

The name of the access point you want to delete.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#DeleteAccessPointPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#DeleteAccessPointPolicyRequest" + }, "output": { "target": "smithy.api#Unit" }, @@ -7391,29 +8191,281 @@ "uri": "/v20180820/accesspoint/{Name}/policy", "code": 200 }, - "smithy.rules#staticContextParams": { - "RequiresAccountId": { - "value": true + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#DeleteAccessPointPolicyForObjectLambda": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#DeleteAccessPointPolicyForObjectLambdaRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Removes the resource policy for an Object Lambda Access Point.

\n

The following actions are related to\n DeleteAccessPointPolicyForObjectLambda:

\n ", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/v20180820/accesspointforobjectlambda/{Name}/policy", + "code": 200 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#DeleteAccessPointPolicyForObjectLambdaRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The account ID for the account that owns the specified Object Lambda Access Point.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "Name": { + "target": "com.amazonaws.s3control#ObjectLambdaAccessPointName", + "traits": { + "smithy.api#documentation": "

The name of the Object Lambda Access Point you want to delete the policy for.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#DeleteAccessPointPolicyRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The account ID for the account that owns the specified access point.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "Name": { + "target": "com.amazonaws.s3control#AccessPointName", + "traits": { + "smithy.api#documentation": "

The name of the access point whose policy you want to delete.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccessPointName" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#DeleteAccessPointRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID for the account that owns the specified access point.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "Name": { + "target": "com.amazonaws.s3control#AccessPointName", + "traits": { + "smithy.api#documentation": "

The name of the access point you want to delete.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccessPointName" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#DeleteBucket": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#DeleteBucketRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket. To delete an S3 bucket, see DeleteBucket in the Amazon S3 API Reference.

\n
\n

Deletes the Amazon S3 on Outposts bucket. All objects (including all object versions and\n delete markers) in the bucket must be deleted before the bucket itself can be deleted. For\n more information, see Using Amazon S3 on Outposts in\n Amazon S3 User Guide.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

\n Related Resources\n

\n ", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/v20180820/bucket/{Bucket}", + "code": 200 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#DeleteBucketLifecycleConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#DeleteBucketLifecycleConfigurationRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. To delete\n an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle in the Amazon S3 API Reference.

\n
\n

Deletes the lifecycle configuration from the specified Outposts bucket.\n Amazon S3 on Outposts removes all the lifecycle configuration rules in the lifecycle subresource\n associated with the bucket. Your objects never expire, and Amazon S3 on Outposts no longer\n automatically deletes any objects on the basis of rules contained in the deleted lifecycle\n configuration. For more information, see Using Amazon S3 on Outposts in\n Amazon S3 User Guide.

\n

To use this operation, you must have permission to perform the\n s3-outposts:PutLifecycleConfiguration action. By default, the bucket owner\n has this permission and the Outposts bucket owner can grant this permission to\n others.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

For more information about object expiration, see Elements to Describe Lifecycle Actions.

\n

Related actions include:

\n ", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/v20180820/bucket/{Bucket}/lifecycleconfiguration", + "code": 200 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#DeleteBucketLifecycleConfigurationRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The account ID of the lifecycle configuration to delete.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", + "traits": { + "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Bucket" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#DeleteBucketPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#DeleteBucketPolicyRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket policy. To delete an S3 bucket policy,\n see DeleteBucketPolicy in the Amazon S3 API Reference.

\n
\n

This implementation of the DELETE action uses the policy subresource to delete the\n policy of a specified Amazon S3 on Outposts bucket. If you are using an identity other than the\n root user of the Amazon Web Services account that owns the bucket, the calling identity must have the\n s3-outposts:DeleteBucketPolicy permissions on the specified Outposts bucket\n and belong to the bucket owner's account to use this action. For more information, see\n Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.

\n
\n

For more information about bucket policies, see Using Bucket Policies and User\n Policies.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to DeleteBucketPolicy:

\n ", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/v20180820/bucket/{Bucket}/policy", + "code": 200 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#DeleteBucketPolicyRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The account ID of the Outposts bucket.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", + "traits": { + "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Bucket" + } } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.s3control#DeleteAccessPointPolicyForObjectLambda": { + "com.amazonaws.s3control#DeleteBucketReplication": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#DeleteAccessPointPolicyForObjectLambdaRequest" + "target": "com.amazonaws.s3control#DeleteBucketReplicationRequest" }, "output": { "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Removes the resource policy for an Object Lambda Access Point.

\n

The following actions are related to\n DeleteAccessPointPolicyForObjectLambda:

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

This operation deletes an Amazon S3 on Outposts bucket's replication configuration. To\n delete an S3 bucket's replication configuration, see DeleteBucketReplication in the Amazon S3 API Reference.

\n
\n

Deletes the replication configuration from the specified S3 on Outposts bucket.

\n

To use this operation, you must have permissions to perform the\n s3-outposts:PutReplicationConfiguration action. The Outposts bucket owner\n has this permission by default and can grant it to others. For more information about\n permissions, see Setting up IAM with\n S3 on Outposts and Managing access to\n S3 on Outposts buckets in the Amazon S3 User Guide.

\n \n

It can take a while to propagate PUT or DELETE requests for\n a replication configuration to all S3 on Outposts systems. Therefore, the replication\n configuration that's returned by a GET request soon after a\n PUT or DELETE request might return a more recent result\n than what's on the Outpost. If an Outpost is offline, the delay in updating the\n replication configuration on that Outpost can be significant.

\n
\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

For information about S3 replication on Outposts configuration, see Replicating objects for S3 on Outposts in the\n Amazon S3 User Guide.

\n

The following operations are related to DeleteBucketReplication:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { "method": "DELETE", - "uri": "/v20180820/accesspointforobjectlambda/{Name}/policy", + "uri": "/v20180820/bucket/{Bucket}/replication", "code": 200 }, "smithy.rules#staticContextParams": { @@ -7423,13 +8475,13 @@ } } }, - "com.amazonaws.s3control#DeleteAccessPointPolicyForObjectLambdaRequest": { + "com.amazonaws.s3control#DeleteBucketReplicationRequest": { "type": "structure", "members": { "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The account ID for the account that owns the specified Object Lambda Access Point.

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

The Amazon Web Services account ID of the Outposts bucket to delete the replication configuration\n for.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -7438,12 +8490,15 @@ } } }, - "Name": { - "target": "com.amazonaws.s3control#ObjectLambdaAccessPointName", + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

The name of the Object Lambda Access Point you want to delete the policy for.

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

Specifies the S3 on Outposts bucket to delete the replication configuration for.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Bucket" + } } } }, @@ -7451,13 +8506,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#DeleteAccessPointPolicyRequest": { + "com.amazonaws.s3control#DeleteBucketRequest": { "type": "structure", "members": { "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The account ID for the account that owns the specified access point.

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

The account ID that owns the Outposts bucket.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -7466,14 +8521,14 @@ } } }, - "Name": { - "target": "com.amazonaws.s3control#AccessPointName", + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

The name of the access point whose policy you want to delete.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

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

Specifies the bucket being deleted.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { - "name": "AccessPointName" + "name": "Bucket" } } } @@ -7482,13 +8537,38 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#DeleteAccessPointRequest": { + "com.amazonaws.s3control#DeleteBucketTagging": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#DeleteBucketTaggingRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket's tags. To delete an S3 bucket tags,\n see DeleteBucketTagging in the Amazon S3 API Reference.

\n
\n

Deletes the tags from the Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n

To use this action, you must have permission to perform the\n PutBucketTagging action. By default, the bucket owner has this permission\n and can grant this permission to others.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to DeleteBucketTagging:

\n ", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/v20180820/bucket/{Bucket}/tagging", + "code": 204 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#DeleteBucketTaggingRequest": { "type": "structure", "members": { "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID for the account that owns the specified access point.

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

The Amazon Web Services account ID of the Outposts bucket tag set to be removed.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -7497,14 +8577,14 @@ } } }, - "Name": { - "target": "com.amazonaws.s3control#AccessPointName", + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

The name of the access point you want to delete.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

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

The bucket ARN that has the tag set to be removed.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { - "name": "AccessPointName" + "name": "Bucket" } } } @@ -7513,24 +8593,128 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#DeleteBucket": { + "com.amazonaws.s3control#DeleteJobTagging": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#DeleteBucketRequest" + "target": "com.amazonaws.s3control#DeleteJobTaggingRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.s3control#DeleteJobTaggingResult" }, + "errors": [ + { + "target": "com.amazonaws.s3control#InternalServiceException" + }, + { + "target": "com.amazonaws.s3control#NotFoundException" + }, + { + "target": "com.amazonaws.s3control#TooManyRequestsException" + } + ], "traits": { - "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket. To delete an S3 bucket, see DeleteBucket in the Amazon S3 API Reference.

\n
\n

Deletes the Amazon S3 on Outposts bucket. All objects (including all object versions and\n delete markers) in the bucket must be deleted before the bucket itself can be deleted. For\n more information, see Using Amazon S3 on Outposts in\n Amazon S3 User Guide.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

\n Related Resources\n

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

Removes the entire tag set from the specified S3 Batch Operations job. To use\n the\n DeleteJobTagging operation, you must have permission to\n perform the s3:DeleteJobTagging action. For more information, see Controlling\n access and labeling jobs using tags in the\n Amazon S3 User Guide.

\n

\n

Related actions include:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { "method": "DELETE", - "uri": "/v20180820/bucket/{Bucket}", + "uri": "/v20180820/jobs/{JobId}/tagging", + "code": 200 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#DeleteJobTaggingRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the S3 Batch Operations job.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "JobId": { + "target": "com.amazonaws.s3control#JobId", + "traits": { + "smithy.api#documentation": "

The ID for the S3 Batch Operations job whose tags you want to delete.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#DeleteJobTaggingResult": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3control#DeleteMarkerReplication": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.s3control#DeleteMarkerReplicationStatus", + "traits": { + "smithy.api#documentation": "

Indicates whether to replicate delete markers.

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

Specifies whether S3 on Outposts replicates delete markers. If you specify a\n Filter element in your replication configuration, you must also include a\n DeleteMarkerReplication element. If your Filter includes a\n Tag element, the DeleteMarkerReplication element's\n Status child element must be set to Disabled, because\n S3 on Outposts does not support replicating delete markers for tag-based rules.

\n

For more information about delete marker replication, see How delete operations affect replication in the\n Amazon S3 User Guide.

" + } + }, + "com.amazonaws.s3control#DeleteMarkerReplicationStatus": { + "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.s3control#DeleteMultiRegionAccessPoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#DeleteMultiRegionAccessPointRequest" + }, + "output": { + "target": "com.amazonaws.s3control#DeleteMultiRegionAccessPointResult" + }, + "traits": { + "smithy.api#documentation": "

Deletes a Multi-Region Access Point. This action does not delete the buckets associated with the Multi-Region Access Point,\n only the Multi-Region Access Point itself.

\n

This action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

This request is asynchronous, meaning that you might receive a response before the\n command has completed. When this request provides a response, it provides a token that you\n can use to monitor the status of the request with\n DescribeMultiRegionAccessPointOperation.

\n

The following actions are related to DeleteMultiRegionAccessPoint:

\n ", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "POST", + "uri": "/v20180820/async-requests/mrap/delete", "code": 200 }, + "smithy.api#httpChecksumRequired": {}, "smithy.rules#staticContextParams": { "RequiresAccountId": { "value": true @@ -7538,22 +8722,86 @@ } } }, - "com.amazonaws.s3control#DeleteBucketLifecycleConfiguration": { + "com.amazonaws.s3control#DeleteMultiRegionAccessPointInput": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointName", + "traits": { + "smithy.api#documentation": "

The name of the Multi-Region Access Point associated with this request.

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

A container for the information associated with a DeleteMultiRegionAccessPoint request.

" + } + }, + "com.amazonaws.s3control#DeleteMultiRegionAccessPointRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID for the owner of the Multi-Region Access Point.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "ClientToken": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointClientToken", + "traits": { + "smithy.api#documentation": "

An idempotency token used to identify the request and guarantee that requests are\n unique.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "Details": { + "target": "com.amazonaws.s3control#DeleteMultiRegionAccessPointInput", + "traits": { + "smithy.api#documentation": "

A container element containing details about the Multi-Region Access Point.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#DeleteMultiRegionAccessPointResult": { + "type": "structure", + "members": { + "RequestTokenARN": { + "target": "com.amazonaws.s3control#AsyncRequestTokenARN", + "traits": { + "smithy.api#documentation": "

The request token associated with the request. You can use this token with DescribeMultiRegionAccessPointOperation to determine the status of asynchronous\n requests.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3control#DeletePublicAccessBlock": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#DeleteBucketLifecycleConfigurationRequest" + "target": "com.amazonaws.s3control#DeletePublicAccessBlockRequest" }, "output": { "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. To delete\n an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle in the Amazon S3 API Reference.

\n
\n

Deletes the lifecycle configuration from the specified Outposts bucket.\n Amazon S3 on Outposts removes all the lifecycle configuration rules in the lifecycle subresource\n associated with the bucket. Your objects never expire, and Amazon S3 on Outposts no longer\n automatically deletes any objects on the basis of rules contained in the deleted lifecycle\n configuration. For more information, see Using Amazon S3 on Outposts in\n Amazon S3 User Guide.

\n

To use this operation, you must have permission to perform the\n s3-outposts:PutLifecycleConfiguration action. By default, the bucket owner\n has this permission and the Outposts bucket owner can grant this permission to\n others.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

For more information about object expiration, see Elements to Describe Lifecycle Actions.

\n

Related actions include:

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

Removes the PublicAccessBlock configuration for an Amazon Web Services account. For more\n information, see Using Amazon S3 block\n public access.

\n

Related actions include:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { "method": "DELETE", - "uri": "/v20180820/bucket/{Bucket}/lifecycleconfiguration", + "uri": "/v20180820/configuration/publicAccessBlock", "code": 200 }, "smithy.rules#staticContextParams": { @@ -7563,13 +8811,13 @@ } } }, - "com.amazonaws.s3control#DeleteBucketLifecycleConfigurationRequest": { + "com.amazonaws.s3control#DeletePublicAccessBlockRequest": { "type": "structure", "members": { "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The account ID of the lifecycle configuration to delete.

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

The account ID for the Amazon Web Services account whose PublicAccessBlock configuration\n you want to remove.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -7577,39 +8825,28 @@ "name": "AccountId" } } - }, - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", - "traits": { - "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "Bucket" - } - } } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.s3control#DeleteBucketPolicy": { + "com.amazonaws.s3control#DeleteStorageLensConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#DeleteBucketPolicyRequest" + "target": "com.amazonaws.s3control#DeleteStorageLensConfigurationRequest" }, "output": { "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket policy. To delete an S3 bucket policy,\n see DeleteBucketPolicy in the Amazon S3 API Reference.

\n
\n

This implementation of the DELETE action uses the policy subresource to delete the\n policy of a specified Amazon S3 on Outposts bucket. If you are using an identity other than the\n root user of the Amazon Web Services account that owns the bucket, the calling identity must have the\n s3-outposts:DeleteBucketPolicy permissions on the specified Outposts bucket\n and belong to the bucket owner's account to use this action. For more information, see\n Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.

\n
\n

For more information about bucket policies, see Using Bucket Policies and User\n Policies.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to DeleteBucketPolicy:

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

Deletes the Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage\n activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:DeleteStorageLensConfiguration action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { "method": "DELETE", - "uri": "/v20180820/bucket/{Bucket}/policy", + "uri": "/v20180820/storagelens/{ConfigId}", "code": 200 }, "smithy.rules#staticContextParams": { @@ -7619,13 +8856,21 @@ } } }, - "com.amazonaws.s3control#DeleteBucketPolicyRequest": { + "com.amazonaws.s3control#DeleteStorageLensConfigurationRequest": { "type": "structure", "members": { + "ConfigId": { + "target": "com.amazonaws.s3control#ConfigId", + "traits": { + "smithy.api#documentation": "

The ID of the S3 Storage Lens configuration.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The account ID of the Outposts bucket.

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

The account ID of the requester.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -7633,39 +8878,28 @@ "name": "AccountId" } } - }, - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", - "traits": { - "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "Bucket" - } - } } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.s3control#DeleteBucketReplication": { + "com.amazonaws.s3control#DeleteStorageLensConfigurationTagging": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#DeleteBucketReplicationRequest" + "target": "com.amazonaws.s3control#DeleteStorageLensConfigurationTaggingRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.s3control#DeleteStorageLensConfigurationTaggingResult" }, "traits": { - "smithy.api#documentation": "\n

This operation deletes an Amazon S3 on Outposts bucket's replication configuration. To\n delete an S3 bucket's replication configuration, see DeleteBucketReplication in the Amazon S3 API Reference.

\n
\n

Deletes the replication configuration from the specified S3 on Outposts bucket.

\n

To use this operation, you must have permissions to perform the\n s3-outposts:PutReplicationConfiguration action. The Outposts bucket owner\n has this permission by default and can grant it to others. For more information about\n permissions, see Setting up IAM with\n S3 on Outposts and Managing access to\n S3 on Outposts buckets in the Amazon S3 User Guide.

\n \n

It can take a while to propagate PUT or DELETE requests for\n a replication configuration to all S3 on Outposts systems. Therefore, the replication\n configuration that's returned by a GET request soon after a\n PUT or DELETE request might return a more recent result\n than what's on the Outpost. If an Outpost is offline, the delay in updating the\n replication configuration on that Outpost can be significant.

\n
\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

For information about S3 replication on Outposts configuration, see Replicating objects for S3 on Outposts in the\n Amazon S3 User Guide.

\n

The following operations are related to DeleteBucketReplication:

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

Deletes the Amazon S3 Storage Lens configuration tags. For more information about S3 Storage Lens, see\n Assessing your\n storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:DeleteStorageLensConfigurationTagging action. For more information,\n see Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { "method": "DELETE", - "uri": "/v20180820/bucket/{Bucket}/replication", + "uri": "/v20180820/storagelens/{ConfigId}/tagging", "code": 200 }, "smithy.rules#staticContextParams": { @@ -7675,13 +8909,21 @@ } } }, - "com.amazonaws.s3control#DeleteBucketReplicationRequest": { + "com.amazonaws.s3control#DeleteStorageLensConfigurationTaggingRequest": { "type": "structure", "members": { + "ConfigId": { + "target": "com.amazonaws.s3control#ConfigId", + "traits": { + "smithy.api#documentation": "

The ID of the S3 Storage Lens configuration.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID of the Outposts bucket to delete the replication configuration\n for.

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

The account ID of the requester.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -7689,70 +8931,35 @@ "name": "AccountId" } } - }, - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", - "traits": { - "smithy.api#documentation": "

Specifies the S3 on Outposts bucket to delete the replication configuration for.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "Bucket" - } - } } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.s3control#DeleteBucketRequest": { + "com.amazonaws.s3control#DeleteStorageLensConfigurationTaggingResult": { "type": "structure", - "members": { - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", - "traits": { - "smithy.api#documentation": "

The account ID that owns the Outposts bucket.

", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } - } - }, - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", - "traits": { - "smithy.api#documentation": "

Specifies the bucket being deleted.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "Bucket" - } - } - } - }, + "members": {}, "traits": { - "smithy.api#input": {} + "smithy.api#output": {} } }, - "com.amazonaws.s3control#DeleteBucketTagging": { + "com.amazonaws.s3control#DeleteStorageLensGroup": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#DeleteBucketTaggingRequest" + "target": "com.amazonaws.s3control#DeleteStorageLensGroupRequest" }, "output": { "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket's tags. To delete an S3 bucket tags,\n see DeleteBucketTagging in the Amazon S3 API Reference.

\n
\n

Deletes the tags from the Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n

To use this action, you must have permission to perform the\n PutBucketTagging action. By default, the bucket owner has this permission\n and can grant this permission to others.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to DeleteBucketTagging:

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

\nDeletes an existing S3 Storage Lens group.

\n

To use this operation, you must have the permission to perform the\n s3:DeleteStorageLensGroup action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { "method": "DELETE", - "uri": "/v20180820/bucket/{Bucket}/tagging", + "uri": "/v20180820/storagelensgroup/{Name}", "code": 204 }, "smithy.rules#staticContextParams": { @@ -7762,13 +8969,21 @@ } } }, - "com.amazonaws.s3control#DeleteBucketTaggingRequest": { + "com.amazonaws.s3control#DeleteStorageLensGroupRequest": { "type": "structure", "members": { + "Name": { + "target": "com.amazonaws.s3control#StorageLensGroupName", + "traits": { + "smithy.api#documentation": "

\nThe name of the Storage Lens group that you're trying to delete.\n

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID of the Outposts bucket tag set to be removed.

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

\nThe Amazon Web Services account ID used to create the Storage Lens group that you're trying to delete.\n

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -7776,32 +8991,24 @@ "name": "AccountId" } } - }, - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", - "traits": { - "smithy.api#documentation": "

The bucket ARN that has the tag set to be removed.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "Bucket" - } - } } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.s3control#DeleteJobTagging": { + "com.amazonaws.s3control#DescribeJob": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#DeleteJobTaggingRequest" + "target": "com.amazonaws.s3control#DescribeJobRequest" }, "output": { - "target": "com.amazonaws.s3control#DeleteJobTaggingResult" + "target": "com.amazonaws.s3control#DescribeJobResult" }, "errors": [ + { + "target": "com.amazonaws.s3control#BadRequestException" + }, { "target": "com.amazonaws.s3control#InternalServiceException" }, @@ -7813,13 +9020,13 @@ } ], "traits": { - "smithy.api#documentation": "

Removes the entire tag set from the specified S3 Batch Operations job. To use\n the\n DeleteJobTagging operation, you must have permission to\n perform the s3:DeleteJobTagging action. For more information, see Controlling\n access and labeling jobs using tags in the\n Amazon S3 User Guide.

\n

\n

Related actions include:

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

Retrieves the configuration parameters and status for a Batch Operations job. For more\n information, see S3 Batch Operations in the Amazon S3 User Guide.

\n

\n

Related actions include:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { - "method": "DELETE", - "uri": "/v20180820/jobs/{JobId}/tagging", + "method": "GET", + "uri": "/v20180820/jobs/{JobId}", "code": 200 }, "smithy.rules#staticContextParams": { @@ -7829,7 +9036,7 @@ } } }, - "com.amazonaws.s3control#DeleteJobTaggingRequest": { + "com.amazonaws.s3control#DescribeJobRequest": { "type": "structure", "members": { "AccountId": { @@ -7847,7 +9054,7 @@ "JobId": { "target": "com.amazonaws.s3control#JobId", "traits": { - "smithy.api#documentation": "

The ID for the S3 Batch Operations job whose tags you want to delete.

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

The ID for the job whose information you want to retrieve.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7857,61 +9064,36 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#DeleteJobTaggingResult": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.s3control#DeleteMarkerReplication": { + "com.amazonaws.s3control#DescribeJobResult": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.s3control#DeleteMarkerReplicationStatus", + "Job": { + "target": "com.amazonaws.s3control#JobDescriptor", "traits": { - "smithy.api#documentation": "

Indicates whether to replicate delete markers.

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

Contains the configuration parameters and status for the job specified in the\n Describe Job request.

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

Specifies whether S3 on Outposts replicates delete markers. If you specify a\n Filter element in your replication configuration, you must also include a\n DeleteMarkerReplication element. If your Filter includes a\n Tag element, the DeleteMarkerReplication element's\n Status child element must be set to Disabled, because\n S3 on Outposts does not support replicating delete markers for tag-based rules.

\n

For more information about delete marker replication, see How delete operations affect replication in the\n Amazon S3 User Guide.

" - } - }, - "com.amazonaws.s3control#DeleteMarkerReplicationStatus": { - "type": "enum", - "members": { - "Enabled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Enabled" - } - }, - "Disabled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Disabled" - } - } + "smithy.api#output": {} } }, - "com.amazonaws.s3control#DeleteMultiRegionAccessPoint": { + "com.amazonaws.s3control#DescribeMultiRegionAccessPointOperation": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#DeleteMultiRegionAccessPointRequest" + "target": "com.amazonaws.s3control#DescribeMultiRegionAccessPointOperationRequest" }, "output": { - "target": "com.amazonaws.s3control#DeleteMultiRegionAccessPointResult" + "target": "com.amazonaws.s3control#DescribeMultiRegionAccessPointOperationResult" }, "traits": { - "smithy.api#documentation": "

Deletes a Multi-Region Access Point. This action does not delete the buckets associated with the Multi-Region Access Point,\n only the Multi-Region Access Point itself.

\n

This action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

This request is asynchronous, meaning that you might receive a response before the\n command has completed. When this request provides a response, it provides a token that you\n can use to monitor the status of the request with\n DescribeMultiRegionAccessPointOperation.

\n

The following actions are related to DeleteMultiRegionAccessPoint:

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

Retrieves the status of an asynchronous request to manage a Multi-Region Access Point. For more information\n about managing Multi-Region Access Points and how asynchronous requests work, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

The following actions are related to GetMultiRegionAccessPoint:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { - "method": "POST", - "uri": "/v20180820/async-requests/mrap/delete", + "method": "GET", + "uri": "/v20180820/async-requests/mrap/{RequestTokenARN+}", "code": 200 }, "smithy.api#httpChecksumRequired": {}, @@ -7922,88 +9104,133 @@ } } }, - "com.amazonaws.s3control#DeleteMultiRegionAccessPointInput": { + "com.amazonaws.s3control#DescribeMultiRegionAccessPointOperationRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID for the owner of the Multi-Region Access Point.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "RequestTokenARN": { + "target": "com.amazonaws.s3control#AsyncRequestTokenARN", + "traits": { + "smithy.api#documentation": "

The request token associated with the request you want to know about. This request token\n is returned as part of the response when you make an asynchronous request. You provide this\n token to query about the status of the asynchronous action.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#DescribeMultiRegionAccessPointOperationResult": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.s3control#MultiRegionAccessPointName", + "AsyncOperation": { + "target": "com.amazonaws.s3control#AsyncOperation", "traits": { - "smithy.api#documentation": "

The name of the Multi-Region Access Point associated with this request.

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

A container element containing the details of the asynchronous operation.

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

A container for the information associated with a DeleteMultiRegionAccessPoint request.

" + "smithy.api#output": {} } }, - "com.amazonaws.s3control#DeleteMultiRegionAccessPointRequest": { + "com.amazonaws.s3control#Destination": { "type": "structure", "members": { - "AccountId": { + "Account": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID for the owner of the Multi-Region Access Point.

", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#documentation": "

The destination bucket owner's account ID.

" } }, - "ClientToken": { - "target": "com.amazonaws.s3control#MultiRegionAccessPointClientToken", + "Bucket": { + "target": "com.amazonaws.s3control#BucketIdentifierString", "traits": { - "smithy.api#documentation": "

An idempotency token used to identify the request and guarantee that requests are\n unique.

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

The Amazon Resource Name (ARN) of the access point for the destination bucket where you want\n S3 on Outposts to store the replication results.

", "smithy.api#required": {} } }, - "Details": { - "target": "com.amazonaws.s3control#DeleteMultiRegionAccessPointInput", + "ReplicationTime": { + "target": "com.amazonaws.s3control#ReplicationTime", "traits": { - "smithy.api#documentation": "

A container element containing details about the Multi-Region Access Point.

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

A container that specifies S3 Replication Time Control (S3 RTC) settings, including whether S3 RTC is enabled\n and the time when all objects and operations on objects must be replicated. Must be\n specified together with a Metrics block.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" + } + }, + "AccessControlTranslation": { + "target": "com.amazonaws.s3control#AccessControlTranslation", + "traits": { + "smithy.api#documentation": "

Specify this property only in a cross-account scenario (where the source and destination\n bucket owners are not the same), and you want to change replica ownership to the\n Amazon Web Services account that owns the destination bucket. If this property is not specified in the\n replication configuration, the replicas are owned by same Amazon Web Services account that owns the\n source object.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" + } + }, + "EncryptionConfiguration": { + "target": "com.amazonaws.s3control#EncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

A container that provides information about encryption. If\n SourceSelectionCriteria is specified, you must specify this element.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" + } + }, + "Metrics": { + "target": "com.amazonaws.s3control#Metrics", + "traits": { + "smithy.api#documentation": "

A container that specifies replication metrics-related settings.

" + } + }, + "StorageClass": { + "target": "com.amazonaws.s3control#ReplicationStorageClass", + "traits": { + "smithy.api#documentation": "

The storage class to use when replicating objects. All objects stored on S3 on Outposts\n are stored in the OUTPOSTS storage class. S3 on Outposts uses the\n OUTPOSTS storage class to create the object replicas.

\n \n

Values other than OUTPOSTS are not supported by Amazon S3 on Outposts.\n

\n
" } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "

Specifies information about the replication destination bucket and its settings for an\n S3 on Outposts replication configuration.

" } }, - "com.amazonaws.s3control#DeleteMultiRegionAccessPointResult": { + "com.amazonaws.s3control#DetailedStatusCodesMetrics": { "type": "structure", "members": { - "RequestTokenARN": { - "target": "com.amazonaws.s3control#AsyncRequestTokenARN", + "IsEnabled": { + "target": "com.amazonaws.s3control#IsEnabled", "traits": { - "smithy.api#documentation": "

The request token associated with the request. You can use this token with DescribeMultiRegionAccessPointOperation to determine the status of asynchronous\n requests.

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

A container that indicates whether detailed status code metrics are enabled.

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

The container element for Amazon S3 Storage Lens detailed status code metrics. Detailed status\n code metrics generate metrics for HTTP status codes, such as 200 OK, 403\n Forbidden, 503 Service Unavailable and others.

\n

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

" } }, - "com.amazonaws.s3control#DeletePublicAccessBlock": { + "com.amazonaws.s3control#DissociateAccessGrantsIdentityCenter": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#DeletePublicAccessBlockRequest" + "target": "com.amazonaws.s3control#DissociateAccessGrantsIdentityCenterRequest" }, "output": { "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Removes the PublicAccessBlock configuration for an Amazon Web Services account. For more\n information, see Using Amazon S3 block\n public access.

\n

Related actions include:

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

Dissociates the Amazon Web Services IAM Identity Center instance from the S3 Access Grants instance.

\n
\n
Permissions
\n
\n

You must have the s3:DissociateAccessGrantsIdentityCenter permission to use this operation.

\n
\n
Additional Permissions
\n
\n

You must have the sso:DeleteApplication permission to use this operation.

\n
\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { "method": "DELETE", - "uri": "/v20180820/configuration/publicAccessBlock", + "uri": "/v20180820/accessgrantsinstance/identitycenter", "code": 200 }, + "smithy.api#httpChecksumRequired": {}, "smithy.rules#staticContextParams": { "RequiresAccountId": { "value": true @@ -8011,13 +9238,13 @@ } } }, - "com.amazonaws.s3control#DeletePublicAccessBlockRequest": { + "com.amazonaws.s3control#DissociateAccessGrantsIdentityCenterRequest": { "type": "structure", "members": { "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The account ID for the Amazon Web Services account whose PublicAccessBlock configuration\n you want to remove.

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

The ID of the Amazon Web Services account that is making this request.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -8031,269 +9258,215 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#DeleteStorageLensConfiguration": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#DeleteStorageLensConfigurationRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, + "com.amazonaws.s3control#DurationSeconds": { + "type": "integer", "traits": { - "smithy.api#documentation": "

Deletes the Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage\n activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:DeleteStorageLensConfiguration action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.

\n
", - "smithy.api#endpoint": { - "hostPrefix": "{AccountId}." - }, - "smithy.api#http": { - "method": "DELETE", - "uri": "/v20180820/storagelens/{ConfigId}", - "code": 200 - }, - "smithy.rules#staticContextParams": { - "RequiresAccountId": { - "value": true - } + "smithy.api#range": { + "min": 900, + "max": 43200 } } }, - "com.amazonaws.s3control#DeleteStorageLensConfigurationRequest": { + "com.amazonaws.s3control#EncryptionConfiguration": { "type": "structure", "members": { - "ConfigId": { - "target": "com.amazonaws.s3control#ConfigId", - "traits": { - "smithy.api#documentation": "

The ID of the S3 Storage Lens configuration.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", + "ReplicaKmsKeyID": { + "target": "com.amazonaws.s3control#ReplicaKmsKeyID", "traits": { - "smithy.api#documentation": "

The account ID of the requester.

", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#documentation": "

Specifies the ID of the customer managed KMS key that's stored in Key Management Service (KMS)\n for the destination bucket. This ID is either the Amazon Resource Name (ARN) for the\n KMS key or the alias ARN for the KMS key. Amazon S3 uses this KMS key to encrypt\n replica objects. Amazon S3 supports only symmetric encryption KMS keys. For more information,\n see Symmetric encryption\n KMS keys in the Amazon Web Services Key Management Service Developer\n Guide.

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

Specifies encryption-related information for an Amazon S3 bucket that is a destination for\n replicated objects.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" } }, - "com.amazonaws.s3control#DeleteStorageLensConfigurationTagging": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#DeleteStorageLensConfigurationTaggingRequest" + "com.amazonaws.s3control#Endpoints": { + "type": "map", + "key": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength64String" }, - "output": { - "target": "com.amazonaws.s3control#DeleteStorageLensConfigurationTaggingResult" + "value": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String" + } + }, + "com.amazonaws.s3control#EstablishedMultiRegionAccessPointPolicy": { + "type": "structure", + "members": { + "Policy": { + "target": "com.amazonaws.s3control#Policy", + "traits": { + "smithy.api#documentation": "

The details of the last established policy.

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

Deletes the Amazon S3 Storage Lens configuration tags. For more information about S3 Storage Lens, see\n Assessing your\n storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:DeleteStorageLensConfigurationTagging action. For more information,\n see Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.

\n
", - "smithy.api#endpoint": { - "hostPrefix": "{AccountId}." - }, - "smithy.api#http": { - "method": "DELETE", - "uri": "/v20180820/storagelens/{ConfigId}/tagging", - "code": 200 - }, - "smithy.rules#staticContextParams": { - "RequiresAccountId": { - "value": true - } + "smithy.api#documentation": "

The last established access control policy for a Multi-Region Access Point.

\n

When you update the policy, the update is first listed as the proposed policy. After the\n update is finished and all Regions have been updated, the proposed policy is listed as the\n established policy. If both policies have the same version number, the proposed policy is\n the established policy.

" + } + }, + "com.amazonaws.s3control#ExceptionMessage": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 } } }, - "com.amazonaws.s3control#DeleteStorageLensConfigurationTaggingRequest": { + "com.amazonaws.s3control#Exclude": { "type": "structure", "members": { - "ConfigId": { - "target": "com.amazonaws.s3control#ConfigId", + "Buckets": { + "target": "com.amazonaws.s3control#Buckets", "traits": { - "smithy.api#documentation": "

The ID of the S3 Storage Lens configuration.

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

A container for the S3 Storage Lens bucket excludes.

" } }, - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", + "Regions": { + "target": "com.amazonaws.s3control#Regions", "traits": { - "smithy.api#documentation": "

The account ID of the requester.

", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#documentation": "

A container for the S3 Storage Lens Region excludes.

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

A container for what Amazon S3 Storage Lens will exclude.

" } }, - "com.amazonaws.s3control#DeleteStorageLensConfigurationTaggingResult": { + "com.amazonaws.s3control#ExistingObjectReplication": { "type": "structure", - "members": {}, + "members": { + "Status": { + "target": "com.amazonaws.s3control#ExistingObjectReplicationStatus", + "traits": { + "smithy.api#documentation": "

Specifies whether Amazon S3 replicates existing source bucket objects.

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

An optional configuration to replicate existing source bucket objects.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" } }, - "com.amazonaws.s3control#DeleteStorageLensGroup": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#DeleteStorageLensGroupRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Deletes an existing S3 Storage Lens group.

\n

To use this operation, you must have the permission to perform the\n s3:DeleteStorageLensGroup action. For more information about the required\n Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

", - "smithy.api#endpoint": { - "hostPrefix": "{AccountId}." + "com.amazonaws.s3control#ExistingObjectReplicationStatus": { + "type": "enum", + "members": { + "Enabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Enabled" + } }, - "smithy.api#http": { - "method": "DELETE", - "uri": "/v20180820/storagelensgroup/{Name}", - "code": 204 + "Disabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Disabled" + } + } + } + }, + "com.amazonaws.s3control#Expiration": { + "type": "timestamp" + }, + "com.amazonaws.s3control#ExpirationStatus": { + "type": "enum", + "members": { + "Enabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Enabled" + } }, - "smithy.rules#staticContextParams": { - "RequiresAccountId": { - "value": true + "Disabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Disabled" } } } }, - "com.amazonaws.s3control#DeleteStorageLensGroupRequest": { - "type": "structure", + "com.amazonaws.s3control#ExpiredObjectDeleteMarker": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, + "com.amazonaws.s3control#Format": { + "type": "enum", "members": { - "Name": { - "target": "com.amazonaws.s3control#StorageLensGroupName", + "CSV": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The name of the Storage Lens group that you're trying to delete.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#enumValue": "CSV" } }, - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", + "Parquet": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID used to create the Storage Lens group that you're trying to\n delete.

", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#enumValue": "Parquet" } } - }, - "traits": { - "smithy.api#input": {} } }, - "com.amazonaws.s3control#DescribeJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#DescribeJobRequest" - }, - "output": { - "target": "com.amazonaws.s3control#DescribeJobResult" - }, - "errors": [ - { - "target": "com.amazonaws.s3control#BadRequestException" - }, - { - "target": "com.amazonaws.s3control#InternalServiceException" - }, - { - "target": "com.amazonaws.s3control#NotFoundException" - }, - { - "target": "com.amazonaws.s3control#TooManyRequestsException" - } - ], + "com.amazonaws.s3control#FunctionArnString": { + "type": "string", "traits": { - "smithy.api#documentation": "

Retrieves the configuration parameters and status for a Batch Operations job. For more\n information, see S3 Batch Operations in the Amazon S3 User Guide.

\n

\n

Related actions include:

\n ", - "smithy.api#endpoint": { - "hostPrefix": "{AccountId}." - }, - "smithy.api#http": { - "method": "GET", - "uri": "/v20180820/jobs/{JobId}", - "code": 200 + "smithy.api#length": { + "min": 1, + "max": 1024 }, - "smithy.rules#staticContextParams": { - "RequiresAccountId": { - "value": true - } - } + "smithy.api#pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$" } }, - "com.amazonaws.s3control#DescribeJobRequest": { + "com.amazonaws.s3control#GeneratedManifestEncryption": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", + "SSES3": { + "target": "com.amazonaws.s3control#SSES3Encryption", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID associated with the S3 Batch Operations job.

", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#documentation": "

Specifies the use of SSE-S3 to encrypt generated manifest objects.

", + "smithy.api#xmlName": "SSE-S3" } }, - "JobId": { - "target": "com.amazonaws.s3control#JobId", + "SSEKMS": { + "target": "com.amazonaws.s3control#SSEKMSEncryption", "traits": { - "smithy.api#documentation": "

The ID for the job whose information you want to retrieve.

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

Configuration details on how SSE-KMS is used to encrypt generated manifest\n objects.

", + "smithy.api#xmlName": "SSE-KMS" } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "

The encryption configuration to use when storing the generated manifest.

" } }, - "com.amazonaws.s3control#DescribeJobResult": { - "type": "structure", + "com.amazonaws.s3control#GeneratedManifestFormat": { + "type": "enum", "members": { - "Job": { - "target": "com.amazonaws.s3control#JobDescriptor", + "S3InventoryReport_CSV_20211130": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Contains the configuration parameters and status for the job specified in the\n Describe Job request.

" + "smithy.api#enumValue": "S3InventoryReport_CSV_20211130" } } - }, - "traits": { - "smithy.api#output": {} } }, - "com.amazonaws.s3control#DescribeMultiRegionAccessPointOperation": { + "com.amazonaws.s3control#GetAccessGrant": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#DescribeMultiRegionAccessPointOperationRequest" + "target": "com.amazonaws.s3control#GetAccessGrantRequest" }, "output": { - "target": "com.amazonaws.s3control#DescribeMultiRegionAccessPointOperationResult" + "target": "com.amazonaws.s3control#GetAccessGrantResult" }, "traits": { - "smithy.api#documentation": "

Retrieves the status of an asynchronous request to manage a Multi-Region Access Point. For more information\n about managing Multi-Region Access Points and how asynchronous requests work, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

The following actions are related to GetMultiRegionAccessPoint:

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

Get the details of an access grant from your S3 Access Grants instance.

\n
\n
Permissions
\n
\n

You must have the s3:GetAccessGrant permission to use this operation.

\n
\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { "method": "GET", - "uri": "/v20180820/async-requests/mrap/{RequestTokenARN+}", + "uri": "/v20180820/accessgrantsinstance/grant/{AccessGrantId}", "code": 200 }, "smithy.api#httpChecksumRequired": {}, @@ -8304,13 +9477,13 @@ } } }, - "com.amazonaws.s3control#DescribeMultiRegionAccessPointOperationRequest": { + "com.amazonaws.s3control#GetAccessGrantRequest": { "type": "structure", "members": { "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID for the owner of the Multi-Region Access Point.

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

The ID of the Amazon Web Services account that is making this request.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -8319,10 +9492,10 @@ } } }, - "RequestTokenARN": { - "target": "com.amazonaws.s3control#AsyncRequestTokenARN", + "AccessGrantId": { + "target": "com.amazonaws.s3control#AccessGrantId", "traits": { - "smithy.api#documentation": "

The request token associated with the request you want to know about. This request token\n is returned as part of the response when you make an asynchronous request. You provide this\n token to query about the status of the asynchronous action.

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

The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8332,265 +9505,382 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#DescribeMultiRegionAccessPointOperationResult": { + "com.amazonaws.s3control#GetAccessGrantResult": { "type": "structure", "members": { - "AsyncOperation": { - "target": "com.amazonaws.s3control#AsyncOperation", + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", "traits": { - "smithy.api#documentation": "

A container element containing the details of the asynchronous operation.

" + "smithy.api#documentation": "

The date and time when you created the access grant.

" } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.s3control#Destination": { - "type": "structure", - "members": { - "Account": { - "target": "com.amazonaws.s3control#AccountId", + }, + "AccessGrantId": { + "target": "com.amazonaws.s3control#AccessGrantId", "traits": { - "smithy.api#documentation": "

The destination bucket owner's account ID.

" + "smithy.api#documentation": "

The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.

" } }, - "Bucket": { - "target": "com.amazonaws.s3control#BucketIdentifierString", + "AccessGrantArn": { + "target": "com.amazonaws.s3control#AccessGrantArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the access point for the destination bucket where you want\n S3 on Outposts to store the replication results.

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

The Amazon Resource Name (ARN) of the access grant.

" } }, - "ReplicationTime": { - "target": "com.amazonaws.s3control#ReplicationTime", + "Grantee": { + "target": "com.amazonaws.s3control#Grantee", "traits": { - "smithy.api#documentation": "

A container that specifies S3 Replication Time Control (S3 RTC) settings, including whether S3 RTC is enabled\n and the time when all objects and operations on objects must be replicated. Must be\n specified together with a Metrics block.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

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

The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added a corporate directory to Amazon Web Services IAM Identity Center and associated this Identity Center instance with the S3 Access Grants instance, the grantee can also be a corporate directory user or group.

" } }, - "AccessControlTranslation": { - "target": "com.amazonaws.s3control#AccessControlTranslation", + "Permission": { + "target": "com.amazonaws.s3control#Permission", "traits": { - "smithy.api#documentation": "

Specify this property only in a cross-account scenario (where the source and destination\n bucket owners are not the same), and you want to change replica ownership to the\n Amazon Web Services account that owns the destination bucket. If this property is not specified in the\n replication configuration, the replicas are owned by same Amazon Web Services account that owns the\n source object.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

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

The type of permission that was granted in the access grant. Can be one of the following values:

\n
    \n
  • \n

    \n READ – Grant read-only access to the S3 data.

    \n
  • \n
  • \n

    \n WRITE – Grant write-only access to the S3 data.

    \n
  • \n
  • \n

    \n READWRITE – Grant both read and write access to the S3 data.

    \n
  • \n
" } }, - "EncryptionConfiguration": { - "target": "com.amazonaws.s3control#EncryptionConfiguration", + "AccessGrantsLocationId": { + "target": "com.amazonaws.s3control#AccessGrantsLocationId", "traits": { - "smithy.api#documentation": "

A container that provides information about encryption. If\n SourceSelectionCriteria is specified, you must specify this element.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

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

The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

" } }, - "Metrics": { - "target": "com.amazonaws.s3control#Metrics", + "AccessGrantsLocationConfiguration": { + "target": "com.amazonaws.s3control#AccessGrantsLocationConfiguration", "traits": { - "smithy.api#documentation": "

A container that specifies replication metrics-related settings.

" + "smithy.api#documentation": "

The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access.

" } }, - "StorageClass": { - "target": "com.amazonaws.s3control#ReplicationStorageClass", + "GrantScope": { + "target": "com.amazonaws.s3control#S3Prefix", "traits": { - "smithy.api#documentation": "

The storage class to use when replicating objects. All objects stored on S3 on Outposts\n are stored in the OUTPOSTS storage class. S3 on Outposts uses the\n OUTPOSTS storage class to create the object replicas.

\n \n

Values other than OUTPOSTS are not supported by Amazon S3 on Outposts.\n

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

The S3 path of the data to which you are granting access. It is the result of appending the Subprefix to the location scope.

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

Specifies information about the replication destination bucket and its settings for an\n S3 on Outposts replication configuration.

" - } - }, - "com.amazonaws.s3control#DetailedStatusCodesMetrics": { - "type": "structure", - "members": { - "IsEnabled": { - "target": "com.amazonaws.s3control#IsEnabled", + }, + "ApplicationArn": { + "target": "com.amazonaws.s3control#IdentityCenterApplicationArn", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

A container that indicates whether detailed status code metrics are enabled.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.

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

The container element for Amazon S3 Storage Lens detailed status code metrics. Detailed status\n code metrics generate metrics for HTTP status codes, such as 200 OK, 403\n Forbidden, 503 Service Unavailable and others.

\n

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

" + "smithy.api#output": {} } }, - "com.amazonaws.s3control#EncryptionConfiguration": { - "type": "structure", - "members": { - "ReplicaKmsKeyID": { - "target": "com.amazonaws.s3control#ReplicaKmsKeyID", - "traits": { - "smithy.api#documentation": "

Specifies the ID of the customer managed KMS key that's stored in Key Management Service (KMS)\n for the destination bucket. This ID is either the Amazon Resource Name (ARN) for the\n KMS key or the alias ARN for the KMS key. Amazon S3 uses this KMS key to encrypt\n replica objects. Amazon S3 supports only symmetric encryption KMS keys. For more information,\n see Symmetric encryption\n KMS keys in the Amazon Web Services Key Management Service Developer\n Guide.

" - } - } + "com.amazonaws.s3control#GetAccessGrantsInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#GetAccessGrantsInstanceRequest" + }, + "output": { + "target": "com.amazonaws.s3control#GetAccessGrantsInstanceResult" }, "traits": { - "smithy.api#documentation": "

Specifies encryption-related information for an Amazon S3 bucket that is a destination for\n replicated objects.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

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

Retrieves the S3 Access Grants instance for a Region in your account.

\n
\n
Permissions
\n
\n

You must have the s3:GetAccessGrantsInstance permission to use this operation.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/v20180820/accessgrantsinstance", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } } }, - "com.amazonaws.s3control#Endpoints": { - "type": "map", - "key": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength64String" + "com.amazonaws.s3control#GetAccessGrantsInstanceForPrefix": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#GetAccessGrantsInstanceForPrefixRequest" }, - "value": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String" + "output": { + "target": "com.amazonaws.s3control#GetAccessGrantsInstanceForPrefixResult" + }, + "traits": { + "smithy.api#documentation": "

Retrieve the S3 Access Grants instance that contains a particular prefix.

\n
\n
Permissions
\n
\n

You must have the s3:GetAccessGrantsInstanceForPrefix permission for the caller account to use this operation.

\n
\n
Additional Permissions
\n
\n

The prefix owner account must grant you the following permissions to their S3 Access Grants instance: s3:GetAccessGrantsInstanceForPrefix.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/v20180820/accessgrantsinstance/prefix", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } } }, - "com.amazonaws.s3control#EstablishedMultiRegionAccessPointPolicy": { + "com.amazonaws.s3control#GetAccessGrantsInstanceForPrefixRequest": { "type": "structure", "members": { - "Policy": { - "target": "com.amazonaws.s3control#Policy", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The details of the last established policy.

" + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "S3Prefix": { + "target": "com.amazonaws.s3control#S3Prefix", + "traits": { + "smithy.api#documentation": "

The S3 prefix of the access grants that you would like to retrieve.

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

The last established access control policy for a Multi-Region Access Point.

\n

When you update the policy, the update is first listed as the proposed policy. After the\n update is finished and all Regions have been updated, the proposed policy is listed as the\n established policy. If both policies have the same version number, the proposed policy is\n the established policy.

" - } - }, - "com.amazonaws.s3control#ExceptionMessage": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - } + "smithy.api#input": {} } }, - "com.amazonaws.s3control#Exclude": { + "com.amazonaws.s3control#GetAccessGrantsInstanceForPrefixResult": { "type": "structure", "members": { - "Buckets": { - "target": "com.amazonaws.s3control#Buckets", + "AccessGrantsInstanceArn": { + "target": "com.amazonaws.s3control#AccessGrantsInstanceArn", "traits": { - "smithy.api#documentation": "

A container for the S3 Storage Lens bucket excludes.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the S3 Access Grants instance.

" } }, - "Regions": { - "target": "com.amazonaws.s3control#Regions", + "AccessGrantsInstanceId": { + "target": "com.amazonaws.s3control#AccessGrantsInstanceId", "traits": { - "smithy.api#documentation": "

A container for the S3 Storage Lens Region excludes.

" + "smithy.api#documentation": "

The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants instance per Region per account.

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

A container for what Amazon S3 Storage Lens will exclude.

" + "smithy.api#output": {} } }, - "com.amazonaws.s3control#ExistingObjectReplication": { + "com.amazonaws.s3control#GetAccessGrantsInstanceRequest": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.s3control#ExistingObjectReplicationStatus", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

Specifies whether Amazon S3 replicates existing source bucket objects.

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

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } } }, "traits": { - "smithy.api#documentation": "

An optional configuration to replicate existing source bucket objects.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" + "smithy.api#input": {} } }, - "com.amazonaws.s3control#ExistingObjectReplicationStatus": { - "type": "enum", - "members": { - "Enabled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Enabled" - } + "com.amazonaws.s3control#GetAccessGrantsInstanceResourcePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#GetAccessGrantsInstanceResourcePolicyRequest" + }, + "output": { + "target": "com.amazonaws.s3control#GetAccessGrantsInstanceResourcePolicyResult" + }, + "traits": { + "smithy.api#documentation": "

Returns the resource policy of the S3 Access Grants instance.

\n
\n
Permissions
\n
\n

You must have the s3:GetAccessGrantsInstanceResourcePolicy permission to use this operation.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." }, - "Disabled": { - "target": "smithy.api#Unit", + "smithy.api#http": { + "method": "GET", + "uri": "/v20180820/accessgrantsinstance/resourcepolicy", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#GetAccessGrantsInstanceResourcePolicyRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#enumValue": "Disabled" + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.s3control#ExpirationStatus": { - "type": "enum", + "com.amazonaws.s3control#GetAccessGrantsInstanceResourcePolicyResult": { + "type": "structure", "members": { - "Enabled": { - "target": "smithy.api#Unit", + "Policy": { + "target": "com.amazonaws.s3control#PolicyDocument", "traits": { - "smithy.api#enumValue": "Enabled" + "smithy.api#documentation": "

The resource policy of the S3 Access Grants instance.

" } }, - "Disabled": { - "target": "smithy.api#Unit", + "Organization": { + "target": "com.amazonaws.s3control#Organization", "traits": { - "smithy.api#enumValue": "Disabled" + "smithy.api#documentation": "

The Organization of the resource policy of the S3 Access Grants instance.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", + "traits": { + "smithy.api#documentation": "

The date and time when you created the S3 Access Grants instance resource policy.

" } } - } - }, - "com.amazonaws.s3control#ExpiredObjectDeleteMarker": { - "type": "boolean", + }, "traits": { - "smithy.api#default": false + "smithy.api#output": {} } }, - "com.amazonaws.s3control#Format": { - "type": "enum", + "com.amazonaws.s3control#GetAccessGrantsInstanceResult": { + "type": "structure", "members": { - "CSV": { - "target": "smithy.api#Unit", + "AccessGrantsInstanceArn": { + "target": "com.amazonaws.s3control#AccessGrantsInstanceArn", "traits": { - "smithy.api#enumValue": "CSV" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the S3 Access Grants instance.

" } }, - "Parquet": { - "target": "smithy.api#Unit", + "AccessGrantsInstanceId": { + "target": "com.amazonaws.s3control#AccessGrantsInstanceId", "traits": { - "smithy.api#enumValue": "Parquet" + "smithy.api#documentation": "

The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants instance per Region per account.

" + } + }, + "IdentityCenterArn": { + "target": "com.amazonaws.s3control#IdentityCenterArn", + "traits": { + "smithy.api#documentation": "

If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance application; a subresource of the original Identity Center instance. S3 Access Grants creates this Identity Center application for the specific S3 Access Grants instance.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", + "traits": { + "smithy.api#documentation": "

The date and time when you created the S3 Access Grants instance.

" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.s3control#FunctionArnString": { - "type": "string", + "com.amazonaws.s3control#GetAccessGrantsLocation": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#GetAccessGrantsLocationRequest" + }, + "output": { + "target": "com.amazonaws.s3control#GetAccessGrantsLocationResult" + }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 + "smithy.api#documentation": "

Retrieves the details of a particular location registered in your S3 Access Grants instance.

\n
\n
Permissions
\n
\n

You must have the s3:GetAccessGrantsLocation permission to use this operation.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." }, - "smithy.api#pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$" + "smithy.api#http": { + "method": "GET", + "uri": "/v20180820/accessgrantsinstance/location/{AccessGrantsLocationId}", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } } }, - "com.amazonaws.s3control#GeneratedManifestEncryption": { + "com.amazonaws.s3control#GetAccessGrantsLocationRequest": { "type": "structure", "members": { - "SSES3": { - "target": "com.amazonaws.s3control#SSES3Encryption", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

Specifies the use of SSE-S3 to encrypt generated manifest objects.

", - "smithy.api#xmlName": "SSE-S3" + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, - "SSEKMS": { - "target": "com.amazonaws.s3control#SSEKMSEncryption", + "AccessGrantsLocationId": { + "target": "com.amazonaws.s3control#AccessGrantsLocationId", "traits": { - "smithy.api#documentation": "

Configuration details on how SSE-KMS is used to encrypt generated manifest\n objects.

", - "smithy.api#xmlName": "SSE-KMS" + "smithy.api#documentation": "

The ID of the registered location that you are retrieving. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

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

The encryption configuration to use when storing the generated manifest.

" + "smithy.api#input": {} } }, - "com.amazonaws.s3control#GeneratedManifestFormat": { - "type": "enum", + "com.amazonaws.s3control#GetAccessGrantsLocationResult": { + "type": "structure", "members": { - "S3InventoryReport_CSV_20211130": { - "target": "smithy.api#Unit", + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", "traits": { - "smithy.api#enumValue": "S3InventoryReport_CSV_20211130" + "smithy.api#documentation": "

The date and time when you registered the location.

" + } + }, + "AccessGrantsLocationId": { + "target": "com.amazonaws.s3control#AccessGrantsLocationId", + "traits": { + "smithy.api#documentation": "

The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

" + } + }, + "AccessGrantsLocationArn": { + "target": "com.amazonaws.s3control#AccessGrantsLocationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the registered location.

" + } + }, + "LocationScope": { + "target": "com.amazonaws.s3control#S3Prefix", + "traits": { + "smithy.api#documentation": "

The S3 URI path to the registered location. The location scope can be the default S3 location s3://, the S3 path to a bucket, or the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.

" + } + }, + "IAMRoleArn": { + "target": "com.amazonaws.s3control#IAMRoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3control#GetAccessPoint": { @@ -9492,8 +10782,85 @@ "TagSet": { "target": "com.amazonaws.s3control#S3TagSet", "traits": { - "smithy.api#documentation": "

The tags set of the Outposts bucket.

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

The tags set of the Outposts bucket.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3control#GetBucketVersioning": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#GetBucketVersioningRequest" + }, + "output": { + "target": "com.amazonaws.s3control#GetBucketVersioningResult" + }, + "traits": { + "smithy.api#documentation": "\n

This operation returns the versioning state\n for\n S3 on Outposts\n buckets\n only. To return the versioning state for an S3 bucket, see GetBucketVersioning in the Amazon S3 API Reference.

\n
\n

Returns the versioning state for an S3 on Outposts bucket. With\n S3\n Versioning,\n you can save multiple distinct copies of your\n objects\n and recover from unintended user actions and application failures.

\n

If you've never set versioning on your bucket, it has no versioning state. In that case,\n the GetBucketVersioning request does not return a versioning state\n value.

\n

For more information about versioning, see Versioning in the Amazon S3\n User Guide.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following operations are related to GetBucketVersioning for\n S3 on Outposts.

\n ", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/v20180820/bucket/{Bucket}/versioning", + "code": 200 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#GetBucketVersioningRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the S3 on Outposts bucket.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", + "traits": { + "smithy.api#documentation": "

The S3 on Outposts bucket to return the versioning state for.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Bucket" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#GetBucketVersioningResult": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.s3control#BucketVersioningStatus", + "traits": { + "smithy.api#documentation": "

The versioning state of the S3 on Outposts bucket.

" + } + }, + "MFADelete": { + "target": "com.amazonaws.s3control#MFADeleteStatus", + "traits": { + "smithy.api#documentation": "

Specifies whether MFA delete is enabled in the bucket versioning configuration. This\n element is returned only if the bucket has been configured with MFA delete. If MFA delete\n has never been configured for the bucket, this element is not returned.

", + "smithy.api#xmlName": "MfaDelete" } } }, @@ -9501,24 +10868,25 @@ "smithy.api#output": {} } }, - "com.amazonaws.s3control#GetBucketVersioning": { + "com.amazonaws.s3control#GetDataAccess": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#GetBucketVersioningRequest" + "target": "com.amazonaws.s3control#GetDataAccessRequest" }, "output": { - "target": "com.amazonaws.s3control#GetBucketVersioningResult" + "target": "com.amazonaws.s3control#GetDataAccessResult" }, "traits": { - "smithy.api#documentation": "\n

This operation returns the versioning state\n for\n S3 on Outposts\n buckets\n only. To return the versioning state for an S3 bucket, see GetBucketVersioning in the Amazon S3 API Reference.

\n
\n

Returns the versioning state for an S3 on Outposts bucket. With\n S3\n Versioning,\n you can save multiple distinct copies of your\n objects\n and recover from unintended user actions and application failures.

\n

If you've never set versioning on your bucket, it has no versioning state. In that case,\n the GetBucketVersioning request does not return a versioning state\n value.

\n

For more information about versioning, see Versioning in the Amazon S3\n User Guide.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following operations are related to GetBucketVersioning for\n S3 on Outposts.

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

Returns a temporary access credential from S3 Access Grants to the grantee or client application. The temporary credential is an Amazon Web Services STS token that grants them access to the S3 data.

\n
\n
Permissions
\n
\n

You must have the s3:GetDataAccess permission to use this operation.

\n
\n
Additional Permissions
\n
\n

The IAM role that S3 Access Grants assumes must have the following permissions specified in the trust policy when registering the location: sts:AssumeRole, for directory users or groups sts:SetContext, and for IAM users or roles sts:SourceIdentity.

\n
\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { "method": "GET", - "uri": "/v20180820/bucket/{Bucket}/versioning", + "uri": "/v20180820/accessgrantsinstance/dataaccess", "code": 200 }, + "smithy.api#httpChecksumRequired": {}, "smithy.rules#staticContextParams": { "RequiresAccountId": { "value": true @@ -9526,13 +10894,13 @@ } } }, - "com.amazonaws.s3control#GetBucketVersioningRequest": { + "com.amazonaws.s3control#GetDataAccessRequest": { "type": "structure", "members": { "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID of the S3 on Outposts bucket.

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

The ID of the Amazon Web Services account that is making this request.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -9541,15 +10909,41 @@ } } }, - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", + "Target": { + "target": "com.amazonaws.s3control#S3Prefix", "traits": { - "smithy.api#documentation": "

The S3 on Outposts bucket to return the versioning state for.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "Bucket" - } + "smithy.api#documentation": "

The S3 URI path of the data to which you are requesting temporary access credentials. If the requesting account has an access grant for this data, S3 Access Grants vends temporary access credentials in the response.

", + "smithy.api#httpQuery": "target", + "smithy.api#required": {} + } + }, + "Permission": { + "target": "com.amazonaws.s3control#Permission", + "traits": { + "smithy.api#documentation": "

The type of permission granted to your S3 data, which can be set to one of the following values:

\n
    \n
  • \n

    \n READ – Grant read-only access to the S3 data.

    \n
  • \n
  • \n

    \n WRITE – Grant write-only access to the S3 data.

    \n
  • \n
  • \n

    \n READWRITE – Grant both read and write access to the S3 data.

    \n
  • \n
", + "smithy.api#httpQuery": "permission", + "smithy.api#required": {} + } + }, + "DurationSeconds": { + "target": "com.amazonaws.s3control#DurationSeconds", + "traits": { + "smithy.api#documentation": "

The session duration, in seconds, of the temporary access credential that S3 Access Grants vends to the grantee or client application. The default value is 1 hour, but the grantee can specify a range from 900 seconds (15 minutes) up to 43200 seconds (12 hours). If the grantee requests a value higher than this maximum, the operation fails.

", + "smithy.api#httpQuery": "durationSeconds" + } + }, + "Privilege": { + "target": "com.amazonaws.s3control#Privilege", + "traits": { + "smithy.api#documentation": "

The scope of the temporary access credential that S3 Access Grants vends to the grantee or client application.

\n
    \n
  • \n

    \n Default – The scope of the returned temporary access token is the scope of the grant that is closest to the target scope.

    \n
  • \n
  • \n

    \n Minimal – The scope of the returned temporary access token is the same as the requested target scope as long as the requested scope is the same as or a subset of the grant scope.

    \n
  • \n
", + "smithy.api#httpQuery": "privilege" + } + }, + "TargetType": { + "target": "com.amazonaws.s3control#S3PrefixType", + "traits": { + "smithy.api#documentation": "

The type of Target. The only possible value is Object. Pass this value if the target data that you would like to access is a path to an object. Do not pass this value if the target data is a bucket or a bucket and a prefix.

", + "smithy.api#httpQuery": "targetType" } } }, @@ -9557,20 +10951,19 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#GetBucketVersioningResult": { + "com.amazonaws.s3control#GetDataAccessResult": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.s3control#BucketVersioningStatus", + "Credentials": { + "target": "com.amazonaws.s3control#Credentials", "traits": { - "smithy.api#documentation": "

The versioning state of the S3 on Outposts bucket.

" + "smithy.api#documentation": "

The temporary credential token that S3 Access Grants vends.

" } }, - "MFADelete": { - "target": "com.amazonaws.s3control#MFADeleteStatus", + "MatchedGrantTarget": { + "target": "com.amazonaws.s3control#S3Prefix", "traits": { - "smithy.api#documentation": "

Specifies whether MFA delete is enabled in the bucket versioning configuration. This\n element is returned only if the bucket has been configured with MFA delete. If MFA delete\n has never been configured for the bucket, this element is not returned.

", - "smithy.api#xmlName": "MfaDelete" + "smithy.api#documentation": "

The S3 URI path of the data to which you are being granted temporary access credentials.

" } } }, @@ -10140,7 +11533,7 @@ "target": "com.amazonaws.s3control#GetStorageLensGroupResult" }, "traits": { - "smithy.api#documentation": "

Retrieves the Storage Lens group configuration details.

\n

To use this operation, you must have the permission to perform the\n s3:GetStorageLensGroup action. For more information about the required\n Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

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

\nRetrieves the Storage Lens group configuration details.

\n

To use this operation, you must have the permission to perform the\n s3:GetStorageLensGroup action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -10162,7 +11555,7 @@ "Name": { "target": "com.amazonaws.s3control#StorageLensGroupName", "traits": { - "smithy.api#documentation": "

The name of the Storage Lens group that you're trying to retrieve the configuration\n details for.

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

\nThe name of the Storage Lens group that you're trying to retrieve the configuration details for.\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -10170,7 +11563,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID associated with the Storage Lens group that you're trying to\n retrieve the details for.

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

\nThe Amazon Web Services account ID associated with the Storage Lens group that you're trying to retrieve the details for.\n

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -10190,7 +11583,7 @@ "StorageLensGroup": { "target": "com.amazonaws.s3control#StorageLensGroup", "traits": { - "smithy.api#documentation": "

The name of the Storage Lens group that you're trying to retrieve the configuration\n details for.

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

\nThe name of the Storage Lens group that you're trying to retrieve the configuration details for.\n

", "smithy.api#httpPayload": {} } } @@ -10214,6 +11607,52 @@ "com.amazonaws.s3control#GrantWriteACP": { "type": "string" }, + "com.amazonaws.s3control#Grantee": { + "type": "structure", + "members": { + "GranteeType": { + "target": "com.amazonaws.s3control#GranteeType", + "traits": { + "smithy.api#documentation": "

The type of the grantee to which access has been granted. It can be one of the following values:

\n
    \n
  • \n

    \n IAM - An IAM user or role.

    \n
  • \n
  • \n

    \n DIRECTORY_USER - Your corporate directory user. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.

    \n
  • \n
  • \n

    \n DIRECTORY_GROUP - Your corporate directory group. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.

    \n
  • \n
" + } + }, + "GranteeIdentifier": { + "target": "com.amazonaws.s3control#GranteeIdentifier", + "traits": { + "smithy.api#documentation": "

The unique identifier of the Grantee. If the grantee type is IAM, the identifier is the IAM Amazon Resource Name (ARN) of the user or role. If the grantee type is a directory user or group, the identifier is 128-bit universally unique identifier (UUID) in the format a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from your Amazon Web Services IAM Identity Center instance.

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

The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.

" + } + }, + "com.amazonaws.s3control#GranteeIdentifier": { + "type": "string" + }, + "com.amazonaws.s3control#GranteeType": { + "type": "enum", + "members": { + "DIRECTORY_USER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DIRECTORY_USER" + } + }, + "DIRECTORY_GROUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DIRECTORY_GROUP" + } + }, + "IAM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAM" + } + } + } + }, "com.amazonaws.s3control#IAMRoleArn": { "type": "string", "traits": { @@ -10239,6 +11678,26 @@ "smithy.api#error": "client" } }, + "com.amazonaws.s3control#IdentityCenterApplicationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 1224 + }, + "smithy.api#pattern": "^arn:[^:]+:sso:.*$" + } + }, + "com.amazonaws.s3control#IdentityCenterArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 1224 + }, + "smithy.api#pattern": "^arn:[^:]+:sso::(\\d{12}){0,1}:instance/.*$" + } + }, "com.amazonaws.s3control#Include": { "type": "structure", "members": { @@ -10267,60 +11726,238 @@ } }, "traits": { - "smithy.api#documentation": "

", - "smithy.api#error": "server" + "smithy.api#documentation": "

", + "smithy.api#error": "server" + } + }, + "com.amazonaws.s3control#InvalidNextTokenException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.s3control#ExceptionMessage" + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#error": "client" + } + }, + "com.amazonaws.s3control#InvalidRequestException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.s3control#ExceptionMessage" + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#error": "client" + } + }, + "com.amazonaws.s3control#IsEnabled": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, + "com.amazonaws.s3control#IsPublic": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, + "com.amazonaws.s3control#JobArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^arn:[^:]+:s3:[a-zA-Z0-9\\-]+:\\d{12}:job\\/" + } + }, + "com.amazonaws.s3control#JobCreationTime": { + "type": "timestamp" + }, + "com.amazonaws.s3control#JobDescriptor": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.s3control#JobId", + "traits": { + "smithy.api#documentation": "

The ID for the specified job.

" + } + }, + "ConfirmationRequired": { + "target": "com.amazonaws.s3control#ConfirmationRequired", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

Indicates whether confirmation is required before Amazon S3 begins running the specified job.\n Confirmation is required only for jobs created through the Amazon S3 console.

" + } + }, + "Description": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength256String", + "traits": { + "smithy.api#documentation": "

The description for this job, if one was provided in this job's Create Job\n request.

" + } + }, + "JobArn": { + "target": "com.amazonaws.s3control#JobArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for this job.

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

The current status of the specified job.

" + } + }, + "Manifest": { + "target": "com.amazonaws.s3control#JobManifest", + "traits": { + "smithy.api#documentation": "

The configuration information for the specified job's manifest object.

" + } + }, + "Operation": { + "target": "com.amazonaws.s3control#JobOperation", + "traits": { + "smithy.api#documentation": "

The operation that the specified job is configured to run on the objects listed in the\n manifest.

" + } + }, + "Priority": { + "target": "com.amazonaws.s3control#JobPriority", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The priority of the specified job.

" + } + }, + "ProgressSummary": { + "target": "com.amazonaws.s3control#JobProgressSummary", + "traits": { + "smithy.api#documentation": "

Describes the total number of tasks that the specified job has run, the number of tasks\n that succeeded, and the number of tasks that failed.

" + } + }, + "StatusUpdateReason": { + "target": "com.amazonaws.s3control#JobStatusUpdateReason", + "traits": { + "smithy.api#documentation": "

The reason for updating the job.

" + } + }, + "FailureReasons": { + "target": "com.amazonaws.s3control#JobFailureList", + "traits": { + "smithy.api#documentation": "

If the specified job failed, this field contains information describing the\n failure.

" + } + }, + "Report": { + "target": "com.amazonaws.s3control#JobReport", + "traits": { + "smithy.api#documentation": "

Contains the configuration information for the job-completion report if you requested\n one in the Create Job request.

" + } + }, + "CreationTime": { + "target": "com.amazonaws.s3control#JobCreationTime", + "traits": { + "smithy.api#documentation": "

A timestamp indicating when this job was created.

" + } + }, + "TerminationDate": { + "target": "com.amazonaws.s3control#JobTerminationDate", + "traits": { + "smithy.api#documentation": "

A timestamp indicating when this job terminated. A job's termination date is the date\n and time when it succeeded, failed, or was canceled.

" + } + }, + "RoleArn": { + "target": "com.amazonaws.s3control#IAMRoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) role assigned to run the tasks\n for this job.

" + } + }, + "SuspendedDate": { + "target": "com.amazonaws.s3control#SuspendedDate", + "traits": { + "smithy.api#documentation": "

The timestamp when this job was suspended, if it has been suspended.

" + } + }, + "SuspendedCause": { + "target": "com.amazonaws.s3control#SuspendedCause", + "traits": { + "smithy.api#documentation": "

The reason why the specified job was suspended. A job is only suspended if you create it\n through the Amazon S3 console. When you create the job, it enters the Suspended\n state to await confirmation before running. After you confirm the job, it automatically\n exits the Suspended state.

" + } + }, + "ManifestGenerator": { + "target": "com.amazonaws.s3control#JobManifestGenerator", + "traits": { + "smithy.api#documentation": "

The manifest generator that was used to generate a job manifest for this job.

" + } + }, + "GeneratedManifestDescriptor": { + "target": "com.amazonaws.s3control#S3GeneratedManifestDescriptor", + "traits": { + "smithy.api#documentation": "

The attribute of the JobDescriptor containing details about the job's generated\n manifest.

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

A container element for the job configuration and status information returned by a\n Describe Job request.

" } }, - "com.amazonaws.s3control#InvalidNextTokenException": { + "com.amazonaws.s3control#JobFailure": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.s3control#ExceptionMessage" + "FailureCode": { + "target": "com.amazonaws.s3control#JobFailureCode", + "traits": { + "smithy.api#documentation": "

The failure code, if any, for the specified job.

" + } + }, + "FailureReason": { + "target": "com.amazonaws.s3control#JobFailureReason", + "traits": { + "smithy.api#documentation": "

The failure reason, if any, for the specified job.

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

", - "smithy.api#error": "client" + "smithy.api#documentation": "

If this job failed, this element indicates why the job failed.

" } }, - "com.amazonaws.s3control#InvalidRequestException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.s3control#ExceptionMessage" - } - }, + "com.amazonaws.s3control#JobFailureCode": { + "type": "string", "traits": { - "smithy.api#documentation": "

", - "smithy.api#error": "client" + "smithy.api#length": { + "min": 1, + "max": 64 + } } }, - "com.amazonaws.s3control#IsEnabled": { - "type": "boolean", - "traits": { - "smithy.api#default": false + "com.amazonaws.s3control#JobFailureList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#JobFailure" } }, - "com.amazonaws.s3control#IsPublic": { - "type": "boolean", + "com.amazonaws.s3control#JobFailureReason": { + "type": "string", "traits": { - "smithy.api#default": false + "smithy.api#length": { + "min": 1, + "max": 256 + } } }, - "com.amazonaws.s3control#JobArn": { + "com.amazonaws.s3control#JobId": { "type": "string", "traits": { "smithy.api#length": { - "min": 1, - "max": 1024 + "min": 5, + "max": 36 }, - "smithy.api#pattern": "^arn:[^:]+:s3:[a-zA-Z0-9\\-]+:\\d{12}:job\\/" + "smithy.api#pattern": "^[a-zA-Z0-9\\-\\_]+$" } }, - "com.amazonaws.s3control#JobCreationTime": { - "type": "timestamp" - }, - "com.amazonaws.s3control#JobDescriptor": { + "com.amazonaws.s3control#JobListDescriptor": { "type": "structure", "members": { "JobId": { @@ -10329,48 +11966,41 @@ "smithy.api#documentation": "

The ID for the specified job.

" } }, - "ConfirmationRequired": { - "target": "com.amazonaws.s3control#ConfirmationRequired", - "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

Indicates whether confirmation is required before Amazon S3 begins running the specified job.\n Confirmation is required only for jobs created through the Amazon S3 console.

" - } - }, "Description": { "target": "com.amazonaws.s3control#NonEmptyMaxLength256String", "traits": { - "smithy.api#documentation": "

The description for this job, if one was provided in this job's Create Job\n request.

" + "smithy.api#documentation": "

The user-specified description that was included in the specified job's Create\n Job request.

" } }, - "JobArn": { - "target": "com.amazonaws.s3control#JobArn", + "Operation": { + "target": "com.amazonaws.s3control#OperationName", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for this job.

" + "smithy.api#documentation": "

The operation that the specified job is configured to run on every object listed in the\n manifest.

" } }, - "Status": { - "target": "com.amazonaws.s3control#JobStatus", + "Priority": { + "target": "com.amazonaws.s3control#JobPriority", "traits": { - "smithy.api#documentation": "

The current status of the specified job.

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

The current priority for the specified job.

" } }, - "Manifest": { - "target": "com.amazonaws.s3control#JobManifest", + "Status": { + "target": "com.amazonaws.s3control#JobStatus", "traits": { - "smithy.api#documentation": "

The configuration information for the specified job's manifest object.

" + "smithy.api#documentation": "

The specified job's current status.

" } }, - "Operation": { - "target": "com.amazonaws.s3control#JobOperation", + "CreationTime": { + "target": "com.amazonaws.s3control#JobCreationTime", "traits": { - "smithy.api#documentation": "

The operation that the specified job is configured to run on the objects listed in the\n manifest.

" + "smithy.api#documentation": "

A timestamp indicating when the specified job was created.

" } }, - "Priority": { - "target": "com.amazonaws.s3control#JobPriority", + "TerminationDate": { + "target": "com.amazonaws.s3control#JobTerminationDate", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The priority of the specified job.

" + "smithy.api#documentation": "

A timestamp indicating when the specified job terminated. A job's termination date is\n the date and time when it succeeded, failed, or was canceled.

" } }, "ProgressSummary": { @@ -10378,386 +12008,515 @@ "traits": { "smithy.api#documentation": "

Describes the total number of tasks that the specified job has run, the number of tasks\n that succeeded, and the number of tasks that failed.

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

Contains the configuration and status information for a single job retrieved as part of\n a job list.

" + } + }, + "com.amazonaws.s3control#JobListDescriptorList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#JobListDescriptor" + } + }, + "com.amazonaws.s3control#JobManifest": { + "type": "structure", + "members": { + "Spec": { + "target": "com.amazonaws.s3control#JobManifestSpec", + "traits": { + "smithy.api#documentation": "

Describes the format of the specified job's manifest. If the manifest is in CSV format,\n also describes the columns contained within the manifest.

", + "smithy.api#required": {} + } }, - "StatusUpdateReason": { - "target": "com.amazonaws.s3control#JobStatusUpdateReason", + "Location": { + "target": "com.amazonaws.s3control#JobManifestLocation", "traits": { - "smithy.api#documentation": "

The reason for updating the job.

" + "smithy.api#documentation": "

Contains the information required to locate the specified job's manifest.

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

Contains the configuration information for a job's manifest.

" + } + }, + "com.amazonaws.s3control#JobManifestFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#JobManifestFieldName" + } + }, + "com.amazonaws.s3control#JobManifestFieldName": { + "type": "enum", + "members": { + "Ignore": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Ignore" } }, - "FailureReasons": { - "target": "com.amazonaws.s3control#JobFailureList", + "Bucket": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

If the specified job failed, this field contains information describing the\n failure.

" + "smithy.api#enumValue": "Bucket" } }, - "Report": { - "target": "com.amazonaws.s3control#JobReport", + "Key": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Contains the configuration information for the job-completion report if you requested\n one in the Create Job request.

" + "smithy.api#enumValue": "Key" } }, - "CreationTime": { - "target": "com.amazonaws.s3control#JobCreationTime", + "VersionId": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

A timestamp indicating when this job was created.

" + "smithy.api#enumValue": "VersionId" + } + } + } + }, + "com.amazonaws.s3control#JobManifestFormat": { + "type": "enum", + "members": { + "S3BatchOperations_CSV_20180820": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "S3BatchOperations_CSV_20180820" } }, - "TerminationDate": { - "target": "com.amazonaws.s3control#JobTerminationDate", + "S3InventoryReport_CSV_20161130": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

A timestamp indicating when this job terminated. A job's termination date is the date\n and time when it succeeded, failed, or was canceled.

" + "smithy.api#enumValue": "S3InventoryReport_CSV_20161130" + } + } + } + }, + "com.amazonaws.s3control#JobManifestGenerator": { + "type": "union", + "members": { + "S3JobManifestGenerator": { + "target": "com.amazonaws.s3control#S3JobManifestGenerator", + "traits": { + "smithy.api#documentation": "

The S3 job ManifestGenerator's configuration details.

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

Configures the type of the job's ManifestGenerator.

" + } + }, + "com.amazonaws.s3control#JobManifestGeneratorFilter": { + "type": "structure", + "members": { + "EligibleForReplication": { + "target": "com.amazonaws.s3control#Boolean", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

Include objects in the generated manifest only if they are eligible for replication\n according to the Replication configuration on the source bucket.

" } }, - "RoleArn": { - "target": "com.amazonaws.s3control#IAMRoleArn", + "CreatedAfter": { + "target": "com.amazonaws.s3control#ObjectCreationTime", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) role assigned to run the tasks\n for this job.

" + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects that were\n created after this time.

" } }, - "SuspendedDate": { - "target": "com.amazonaws.s3control#SuspendedDate", + "CreatedBefore": { + "target": "com.amazonaws.s3control#ObjectCreationTime", "traits": { - "smithy.api#documentation": "

The timestamp when this job was suspended, if it has been suspended.

" + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects that were\n created before this time.

" + } + }, + "ObjectReplicationStatuses": { + "target": "com.amazonaws.s3control#ReplicationStatusFilterList", + "traits": { + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects that have one of\n the specified Replication statuses.

" + } + }, + "KeyNameConstraint": { + "target": "com.amazonaws.s3control#KeyNameConstraint", + "traits": { + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects whose object\n keys match the string constraints specified for MatchAnyPrefix,\n MatchAnySuffix, and MatchAnySubstring.

" + } + }, + "ObjectSizeGreaterThanBytes": { + "target": "com.amazonaws.s3control#ObjectSizeGreaterThanBytes", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects whose file size\n is greater than the specified number of bytes.

" + } + }, + "ObjectSizeLessThanBytes": { + "target": "com.amazonaws.s3control#ObjectSizeLessThanBytes", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects whose file size\n is less than the specified number of bytes.

" } }, - "SuspendedCause": { - "target": "com.amazonaws.s3control#SuspendedCause", + "MatchAnyStorageClass": { + "target": "com.amazonaws.s3control#StorageClassList", "traits": { - "smithy.api#documentation": "

The reason why the specified job was suspended. A job is only suspended if you create it\n through the Amazon S3 console. When you create the job, it enters the Suspended\n state to await confirmation before running. After you confirm the job, it automatically\n exits the Suspended state.

" + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects that are stored\n with the specified storage class.

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

The filter used to describe a set of objects for the job's manifest.

" + } + }, + "com.amazonaws.s3control#JobManifestLocation": { + "type": "structure", + "members": { + "ObjectArn": { + "target": "com.amazonaws.s3control#S3KeyArnString", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for a manifest object.

\n \n

When you're using XML requests, you must \nreplace special characters (such as carriage returns) in object keys with their equivalent XML entity codes. \nFor more information, see \n XML-related object key constraints in the Amazon S3 User Guide.

\n
", + "smithy.api#required": {} } }, - "ManifestGenerator": { - "target": "com.amazonaws.s3control#JobManifestGenerator", + "ObjectVersionId": { + "target": "com.amazonaws.s3control#S3ObjectVersionId", "traits": { - "smithy.api#documentation": "

The manifest generator that was used to generate a job manifest for this job.

" + "smithy.api#documentation": "

The optional version ID to identify a specific version of the manifest object.

" } }, - "GeneratedManifestDescriptor": { - "target": "com.amazonaws.s3control#S3GeneratedManifestDescriptor", + "ETag": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#documentation": "

The attribute of the JobDescriptor containing details about the job's generated\n manifest.

" + "smithy.api#documentation": "

The ETag for the specified manifest object.

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

A container element for the job configuration and status information returned by a\n Describe Job request.

" + "smithy.api#documentation": "

Contains the information required to locate a manifest object.

" } }, - "com.amazonaws.s3control#JobFailure": { + "com.amazonaws.s3control#JobManifestSpec": { "type": "structure", "members": { - "FailureCode": { - "target": "com.amazonaws.s3control#JobFailureCode", + "Format": { + "target": "com.amazonaws.s3control#JobManifestFormat", "traits": { - "smithy.api#documentation": "

The failure code, if any, for the specified job.

" + "smithy.api#documentation": "

Indicates which of the available formats the specified manifest uses.

", + "smithy.api#required": {} } }, - "FailureReason": { - "target": "com.amazonaws.s3control#JobFailureReason", + "Fields": { + "target": "com.amazonaws.s3control#JobManifestFieldList", "traits": { - "smithy.api#documentation": "

The failure reason, if any, for the specified job.

" + "smithy.api#documentation": "

If the specified manifest object is in the S3BatchOperations_CSV_20180820\n format, this element describes which columns contain the required data.

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

If this job failed, this element indicates why the job failed.

" + "smithy.api#documentation": "

Describes the format of a manifest. If the manifest is in CSV format, also describes the\n columns contained within the manifest.

" } }, - "com.amazonaws.s3control#JobFailureCode": { - "type": "string", + "com.amazonaws.s3control#JobNumberOfTasksFailed": { + "type": "long", "traits": { - "smithy.api#length": { - "min": 1, - "max": 64 + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0 } } }, - "com.amazonaws.s3control#JobFailureList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#JobFailure" - } - }, - "com.amazonaws.s3control#JobFailureReason": { - "type": "string", + "com.amazonaws.s3control#JobNumberOfTasksSucceeded": { + "type": "long", "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0 } } }, - "com.amazonaws.s3control#JobId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 5, - "max": 36 - }, - "smithy.api#pattern": "^[a-zA-Z0-9\\-\\_]+$" - } - }, - "com.amazonaws.s3control#JobListDescriptor": { + "com.amazonaws.s3control#JobOperation": { "type": "structure", "members": { - "JobId": { - "target": "com.amazonaws.s3control#JobId", + "LambdaInvoke": { + "target": "com.amazonaws.s3control#LambdaInvokeOperation", "traits": { - "smithy.api#documentation": "

The ID for the specified job.

" + "smithy.api#documentation": "

Directs the specified job to invoke an Lambda function on every object in the\n manifest.

" } }, - "Description": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength256String", + "S3PutObjectCopy": { + "target": "com.amazonaws.s3control#S3CopyObjectOperation", "traits": { - "smithy.api#documentation": "

The user-specified description that was included in the specified job's Create\n Job request.

" + "smithy.api#documentation": "

Directs the specified job to run a PUT Copy object call on every object in the\n manifest.

" } }, - "Operation": { - "target": "com.amazonaws.s3control#OperationName", + "S3PutObjectAcl": { + "target": "com.amazonaws.s3control#S3SetObjectAclOperation", "traits": { - "smithy.api#documentation": "

The operation that the specified job is configured to run on every object listed in the\n manifest.

" + "smithy.api#documentation": "

Directs the specified job to run a PutObjectAcl call on every object in the\n manifest.

" } }, - "Priority": { - "target": "com.amazonaws.s3control#JobPriority", + "S3PutObjectTagging": { + "target": "com.amazonaws.s3control#S3SetObjectTaggingOperation", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The current priority for the specified job.

" + "smithy.api#documentation": "

Directs the specified job to run a PUT Object tagging call on every object in the\n manifest.

" } }, - "Status": { - "target": "com.amazonaws.s3control#JobStatus", + "S3DeleteObjectTagging": { + "target": "com.amazonaws.s3control#S3DeleteObjectTaggingOperation", "traits": { - "smithy.api#documentation": "

The specified job's current status.

" + "smithy.api#documentation": "

Directs the specified job to execute a DELETE Object tagging call on every object in the\n manifest.

" } }, - "CreationTime": { - "target": "com.amazonaws.s3control#JobCreationTime", + "S3InitiateRestoreObject": { + "target": "com.amazonaws.s3control#S3InitiateRestoreObjectOperation", "traits": { - "smithy.api#documentation": "

A timestamp indicating when the specified job was created.

" + "smithy.api#documentation": "

Directs the specified job to initiate restore requests for every archived object in the\n manifest.

" } }, - "TerminationDate": { - "target": "com.amazonaws.s3control#JobTerminationDate", - "traits": { - "smithy.api#documentation": "

A timestamp indicating when the specified job terminated. A job's termination date is\n the date and time when it succeeded, failed, or was canceled.

" - } + "S3PutObjectLegalHold": { + "target": "com.amazonaws.s3control#S3SetObjectLegalHoldOperation" }, - "ProgressSummary": { - "target": "com.amazonaws.s3control#JobProgressSummary", + "S3PutObjectRetention": { + "target": "com.amazonaws.s3control#S3SetObjectRetentionOperation" + }, + "S3ReplicateObject": { + "target": "com.amazonaws.s3control#S3ReplicateObjectOperation", "traits": { - "smithy.api#documentation": "

Describes the total number of tasks that the specified job has run, the number of tasks\n that succeeded, and the number of tasks that failed.

" + "smithy.api#documentation": "

Directs the specified job to invoke ReplicateObject on every object in the\n job's manifest.

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

Contains the configuration and status information for a single job retrieved as part of\n a job list.

" + "smithy.api#documentation": "

The operation that you want this job to perform on every object listed in the manifest.\n For more information about the available operations, see Operations in the\n Amazon S3 User Guide.

" } }, - "com.amazonaws.s3control#JobListDescriptorList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#JobListDescriptor" + "com.amazonaws.s3control#JobPriority": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 2147483647 + } } }, - "com.amazonaws.s3control#JobManifest": { + "com.amazonaws.s3control#JobProgressSummary": { "type": "structure", "members": { - "Spec": { - "target": "com.amazonaws.s3control#JobManifestSpec", + "TotalNumberOfTasks": { + "target": "com.amazonaws.s3control#JobTotalNumberOfTasks", "traits": { - "smithy.api#documentation": "

Describes the format of the specified job's manifest. If the manifest is in CSV format,\n also describes the columns contained within the manifest.

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

" } }, - "Location": { - "target": "com.amazonaws.s3control#JobManifestLocation", + "NumberOfTasksSucceeded": { + "target": "com.amazonaws.s3control#JobNumberOfTasksSucceeded", "traits": { - "smithy.api#documentation": "

Contains the information required to locate the specified job's manifest.

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

" + } + }, + "NumberOfTasksFailed": { + "target": "com.amazonaws.s3control#JobNumberOfTasksFailed", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

" + } + }, + "Timers": { + "target": "com.amazonaws.s3control#JobTimers", + "traits": { + "smithy.api#documentation": "

The JobTimers attribute of a job's progress summary.

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

Contains the configuration information for a job's manifest.

" - } - }, - "com.amazonaws.s3control#JobManifestFieldList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#JobManifestFieldName" + "smithy.api#documentation": "

Describes the total number of tasks that the specified job has started, the number of\n tasks that succeeded, and the number of tasks that failed.

" } }, - "com.amazonaws.s3control#JobManifestFieldName": { - "type": "enum", + "com.amazonaws.s3control#JobReport": { + "type": "structure", "members": { - "Ignore": { - "target": "smithy.api#Unit", + "Bucket": { + "target": "com.amazonaws.s3control#S3BucketArnString", "traits": { - "smithy.api#enumValue": "Ignore" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the bucket where specified job-completion report will\n be stored.

" } }, - "Bucket": { - "target": "smithy.api#Unit", + "Format": { + "target": "com.amazonaws.s3control#JobReportFormat", "traits": { - "smithy.api#enumValue": "Bucket" + "smithy.api#documentation": "

The format of the specified job-completion report.

" } }, - "Key": { - "target": "smithy.api#Unit", + "Enabled": { + "target": "com.amazonaws.s3control#Boolean", "traits": { - "smithy.api#enumValue": "Key" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the specified job will generate a job-completion report.

", + "smithy.api#required": {} } }, - "VersionId": { + "Prefix": { + "target": "com.amazonaws.s3control#ReportPrefixString", + "traits": { + "smithy.api#documentation": "

An optional prefix to describe where in the specified bucket the job-completion report\n will be stored. Amazon S3 stores the job-completion report at\n /job-/report.json.

" + } + }, + "ReportScope": { + "target": "com.amazonaws.s3control#JobReportScope", + "traits": { + "smithy.api#documentation": "

Indicates whether the job-completion report will include details of all tasks or only\n failed tasks.

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

Contains the configuration parameters for a job-completion report.

" + } + }, + "com.amazonaws.s3control#JobReportFormat": { + "type": "enum", + "members": { + "Report_CSV_20180820": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "VersionId" + "smithy.api#enumValue": "Report_CSV_20180820" } } } }, - "com.amazonaws.s3control#JobManifestFormat": { + "com.amazonaws.s3control#JobReportScope": { "type": "enum", "members": { - "S3BatchOperations_CSV_20180820": { + "AllTasks": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "S3BatchOperations_CSV_20180820" + "smithy.api#enumValue": "AllTasks" } }, - "S3InventoryReport_CSV_20161130": { + "FailedTasksOnly": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "S3InventoryReport_CSV_20161130" + "smithy.api#enumValue": "FailedTasksOnly" } } } }, - "com.amazonaws.s3control#JobManifestGenerator": { - "type": "union", + "com.amazonaws.s3control#JobStatus": { + "type": "enum", "members": { - "S3JobManifestGenerator": { - "target": "com.amazonaws.s3control#S3JobManifestGenerator", + "Active": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The S3 job ManifestGenerator's configuration details.

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

Configures the type of the job's ManifestGenerator.

" - } - }, - "com.amazonaws.s3control#JobManifestGeneratorFilter": { - "type": "structure", - "members": { - "EligibleForReplication": { - "target": "com.amazonaws.s3control#Boolean", + }, + "Cancelled": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

Include objects in the generated manifest only if they are eligible for replication\n according to the Replication configuration on the source bucket.

" + "smithy.api#enumValue": "Cancelled" } }, - "CreatedAfter": { - "target": "com.amazonaws.s3control#ObjectCreationTime", + "Cancelling": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects that were\n created after this time.

" + "smithy.api#enumValue": "Cancelling" } }, - "CreatedBefore": { - "target": "com.amazonaws.s3control#ObjectCreationTime", + "Complete": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects that were\n created before this time.

" + "smithy.api#enumValue": "Complete" } }, - "ObjectReplicationStatuses": { - "target": "com.amazonaws.s3control#ReplicationStatusFilterList", + "Completing": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects that have one of\n the specified Replication statuses.

" + "smithy.api#enumValue": "Completing" } }, - "KeyNameConstraint": { - "target": "com.amazonaws.s3control#KeyNameConstraint", + "Failed": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects whose object\n keys match the string constraints specified for MatchAnyPrefix,\n MatchAnySuffix, and MatchAnySubstring.

" + "smithy.api#enumValue": "Failed" } }, - "ObjectSizeGreaterThanBytes": { - "target": "com.amazonaws.s3control#ObjectSizeGreaterThanBytes", + "Failing": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects whose file size\n is greater than the specified number of bytes.

" + "smithy.api#enumValue": "Failing" } }, - "ObjectSizeLessThanBytes": { - "target": "com.amazonaws.s3control#ObjectSizeLessThanBytes", + "New": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects whose file size\n is less than the specified number of bytes.

" + "smithy.api#enumValue": "New" } }, - "MatchAnyStorageClass": { - "target": "com.amazonaws.s3control#StorageClassList", + "Paused": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects that are stored\n with the specified storage class.

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

The filter used to describe a set of objects for the job's manifest.

" - } - }, - "com.amazonaws.s3control#JobManifestLocation": { - "type": "structure", - "members": { - "ObjectArn": { - "target": "com.amazonaws.s3control#S3KeyArnString", + }, + "Pausing": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for a manifest object.

\n \n

When you're using XML requests, you must \nreplace special characters (such as carriage returns) in object keys with their equivalent XML entity codes. \nFor more information, see \n XML-related object key constraints in the Amazon S3 User Guide.

\n
", - "smithy.api#required": {} + "smithy.api#enumValue": "Pausing" } }, - "ObjectVersionId": { - "target": "com.amazonaws.s3control#S3ObjectVersionId", + "Preparing": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The optional version ID to identify a specific version of the manifest object.

" + "smithy.api#enumValue": "Preparing" } }, - "ETag": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", + "Ready": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The ETag for the specified manifest object.

", - "smithy.api#required": {} + "smithy.api#enumValue": "Ready" + } + }, + "Suspended": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Suspended" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the information required to locate a manifest object.

" } }, - "com.amazonaws.s3control#JobManifestSpec": { + "com.amazonaws.s3control#JobStatusException": { "type": "structure", "members": { - "Format": { - "target": "com.amazonaws.s3control#JobManifestFormat", - "traits": { - "smithy.api#documentation": "

Indicates which of the available formats the specified manifest uses.

", - "smithy.api#required": {} - } - }, - "Fields": { - "target": "com.amazonaws.s3control#JobManifestFieldList", - "traits": { - "smithy.api#documentation": "

If the specified manifest object is in the S3BatchOperations_CSV_20180820\n format, this element describes which columns contain the required data.

" - } + "Message": { + "target": "com.amazonaws.s3control#ExceptionMessage" } }, "traits": { - "smithy.api#documentation": "

Describes the format of a manifest. If the manifest is in CSV format, also describes the\n columns contained within the manifest.

" + "smithy.api#documentation": "

", + "smithy.api#error": "client" } }, - "com.amazonaws.s3control#JobNumberOfTasksFailed": { + "com.amazonaws.s3control#JobStatusList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#JobStatus" + } + }, + "com.amazonaws.s3control#JobStatusUpdateReason": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.s3control#JobTerminationDate": { + "type": "timestamp" + }, + "com.amazonaws.s3control#JobTimeInStateSeconds": { "type": "long", "traits": { "smithy.api#default": 0, @@ -10766,7 +12525,22 @@ } } }, - "com.amazonaws.s3control#JobNumberOfTasksSucceeded": { + "com.amazonaws.s3control#JobTimers": { + "type": "structure", + "members": { + "ElapsedTimeInActiveSeconds": { + "target": "com.amazonaws.s3control#JobTimeInStateSeconds", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

Indicates the elapsed time in seconds the job has been in the Active job state.

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

Provides timing details for the job.

" + } + }, + "com.amazonaws.s3control#JobTotalNumberOfTasks": { "type": "long", "traits": { "smithy.api#default": 0, @@ -10775,547 +12549,664 @@ } } }, - "com.amazonaws.s3control#JobOperation": { + "com.amazonaws.s3control#KeyNameConstraint": { "type": "structure", "members": { - "LambdaInvoke": { - "target": "com.amazonaws.s3control#LambdaInvokeOperation", - "traits": { - "smithy.api#documentation": "

Directs the specified job to invoke an Lambda function on every object in the\n manifest.

" - } - }, - "S3PutObjectCopy": { - "target": "com.amazonaws.s3control#S3CopyObjectOperation", - "traits": { - "smithy.api#documentation": "

Directs the specified job to run a PUT Copy object call on every object in the\n manifest.

" - } - }, - "S3PutObjectAcl": { - "target": "com.amazonaws.s3control#S3SetObjectAclOperation", - "traits": { - "smithy.api#documentation": "

Directs the specified job to run a PutObjectAcl call on every object in the\n manifest.

" - } - }, - "S3PutObjectTagging": { - "target": "com.amazonaws.s3control#S3SetObjectTaggingOperation", + "MatchAnyPrefix": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength1024StringList", "traits": { - "smithy.api#documentation": "

Directs the specified job to run a PUT Object tagging call on every object in the\n manifest.

" + "smithy.api#documentation": "

If provided, the generated manifest includes objects where the specified string appears\n at the start of the object key string.

" } }, - "S3DeleteObjectTagging": { - "target": "com.amazonaws.s3control#S3DeleteObjectTaggingOperation", + "MatchAnySuffix": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength1024StringList", "traits": { - "smithy.api#documentation": "

Directs the specified job to execute a DELETE Object tagging call on every object in the\n manifest.

" + "smithy.api#documentation": "

If provided, the generated manifest includes objects where the specified string appears\n at the end of the object key string.

" } }, - "S3InitiateRestoreObject": { - "target": "com.amazonaws.s3control#S3InitiateRestoreObjectOperation", + "MatchAnySubstring": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength1024StringList", "traits": { - "smithy.api#documentation": "

Directs the specified job to initiate restore requests for every archived object in the\n manifest.

" + "smithy.api#documentation": "

If provided, the generated manifest includes objects where the specified string appears\n anywhere within the object key string.

" } - }, - "S3PutObjectLegalHold": { - "target": "com.amazonaws.s3control#S3SetObjectLegalHoldOperation" - }, - "S3PutObjectRetention": { - "target": "com.amazonaws.s3control#S3SetObjectRetentionOperation" - }, - "S3ReplicateObject": { - "target": "com.amazonaws.s3control#S3ReplicateObjectOperation", + } + }, + "traits": { + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects whose object\n keys match the string constraints specified for MatchAnyPrefix,\n MatchAnySuffix, and MatchAnySubstring.

" + } + }, + "com.amazonaws.s3control#KmsKeyArnString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2000 + } + } + }, + "com.amazonaws.s3control#LambdaInvokeOperation": { + "type": "structure", + "members": { + "FunctionArn": { + "target": "com.amazonaws.s3control#FunctionArnString", "traits": { - "smithy.api#documentation": "

Directs the specified job to invoke ReplicateObject on every object in the\n job's manifest.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Lambda function that the specified job will\n invoke on every object in the manifest.

" } } }, "traits": { - "smithy.api#documentation": "

The operation that you want this job to perform on every object listed in the manifest.\n For more information about the available operations, see Operations in the\n Amazon S3 User Guide.

" + "smithy.api#documentation": "

Contains the configuration parameters for a Lambda Invoke operation.

" } }, - "com.amazonaws.s3control#JobPriority": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0, - "max": 2147483647 + "com.amazonaws.s3control#LifecycleConfiguration": { + "type": "structure", + "members": { + "Rules": { + "target": "com.amazonaws.s3control#LifecycleRules", + "traits": { + "smithy.api#documentation": "

A lifecycle rule for individual objects in an Outposts bucket.

" + } } + }, + "traits": { + "smithy.api#documentation": "

The container for the Outposts bucket lifecycle configuration.

" } }, - "com.amazonaws.s3control#JobProgressSummary": { + "com.amazonaws.s3control#LifecycleExpiration": { "type": "structure", "members": { - "TotalNumberOfTasks": { - "target": "com.amazonaws.s3control#JobTotalNumberOfTasks", - "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

" - } - }, - "NumberOfTasksSucceeded": { - "target": "com.amazonaws.s3control#JobNumberOfTasksSucceeded", + "Date": { + "target": "com.amazonaws.s3control#Date", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

" + "smithy.api#documentation": "

Indicates at what date the object is to be deleted. Should be in GMT ISO 8601\n format.

" } }, - "NumberOfTasksFailed": { - "target": "com.amazonaws.s3control#JobNumberOfTasksFailed", + "Days": { + "target": "com.amazonaws.s3control#Days", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

" + "smithy.api#default": 0, + "smithy.api#documentation": "

Indicates the lifetime, in days, of the objects that are subject to the rule. The value\n must be a non-zero positive integer.

" } }, - "Timers": { - "target": "com.amazonaws.s3control#JobTimers", + "ExpiredObjectDeleteMarker": { + "target": "com.amazonaws.s3control#ExpiredObjectDeleteMarker", "traits": { - "smithy.api#documentation": "

The JobTimers attribute of a job's progress summary.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set\n to true, the delete marker will be expired. If set to false, the policy takes no action.\n This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the total number of tasks that the specified job has started, the number of\n tasks that succeeded, and the number of tasks that failed.

" + "smithy.api#documentation": "

The container of the Outposts bucket lifecycle expiration.

" } }, - "com.amazonaws.s3control#JobReport": { + "com.amazonaws.s3control#LifecycleRule": { "type": "structure", "members": { - "Bucket": { - "target": "com.amazonaws.s3control#S3BucketArnString", + "Expiration": { + "target": "com.amazonaws.s3control#LifecycleExpiration", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the bucket where specified job-completion report will\n be stored.

" + "smithy.api#documentation": "

Specifies the expiration for the lifecycle of the object in the form of date, days and,\n whether the object has a delete marker.

" } }, - "Format": { - "target": "com.amazonaws.s3control#JobReportFormat", + "ID": { + "target": "com.amazonaws.s3control#ID", "traits": { - "smithy.api#documentation": "

The format of the specified job-completion report.

" + "smithy.api#documentation": "

Unique identifier for the rule. The value cannot be longer than 255 characters.

" } }, - "Enabled": { - "target": "com.amazonaws.s3control#Boolean", + "Filter": { + "target": "com.amazonaws.s3control#LifecycleRuleFilter", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the specified job will generate a job-completion report.

", + "smithy.api#documentation": "

The container for the filter of lifecycle rule.

" + } + }, + "Status": { + "target": "com.amazonaws.s3control#ExpirationStatus", + "traits": { + "smithy.api#documentation": "

If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not\n currently being applied.

", "smithy.api#required": {} } }, - "Prefix": { - "target": "com.amazonaws.s3control#ReportPrefixString", + "Transitions": { + "target": "com.amazonaws.s3control#TransitionList", "traits": { - "smithy.api#documentation": "

An optional prefix to describe where in the specified bucket the job-completion report\n will be stored. Amazon S3 stores the job-completion report at\n /job-/report.json.

" + "smithy.api#documentation": "

Specifies when an Amazon S3 object transitions to a specified storage class.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" } }, - "ReportScope": { - "target": "com.amazonaws.s3control#JobReportScope", + "NoncurrentVersionTransitions": { + "target": "com.amazonaws.s3control#NoncurrentVersionTransitionList", "traits": { - "smithy.api#documentation": "

Indicates whether the job-completion report will include details of all tasks or only\n failed tasks.

" + "smithy.api#documentation": "

Specifies the transition rule for the lifecycle rule that describes when noncurrent\n objects transition to a specific storage class. If your bucket is versioning-enabled (or\n versioning is suspended), you can set this action to request that Amazon S3 transition\n noncurrent object versions to a specific storage class at a set period in the object's\n lifetime.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" + } + }, + "NoncurrentVersionExpiration": { + "target": "com.amazonaws.s3control#NoncurrentVersionExpiration", + "traits": { + "smithy.api#documentation": "

The noncurrent version expiration of the lifecycle rule.

" + } + }, + "AbortIncompleteMultipartUpload": { + "target": "com.amazonaws.s3control#AbortIncompleteMultipartUpload", + "traits": { + "smithy.api#documentation": "

Specifies the days since the initiation of an incomplete multipart upload that Amazon S3\n waits before permanently removing all parts of the upload. For more information, see \n Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration in\n the Amazon S3 User Guide.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the configuration parameters for a job-completion report.

" + "smithy.api#documentation": "

The container for the Outposts bucket lifecycle rule.

" } }, - "com.amazonaws.s3control#JobReportFormat": { - "type": "enum", + "com.amazonaws.s3control#LifecycleRuleAndOperator": { + "type": "structure", "members": { - "Report_CSV_20180820": { - "target": "smithy.api#Unit", + "Prefix": { + "target": "com.amazonaws.s3control#Prefix", "traits": { - "smithy.api#enumValue": "Report_CSV_20180820" + "smithy.api#documentation": "

Prefix identifying one or more objects to which the rule applies.

" } - } - } - }, - "com.amazonaws.s3control#JobReportScope": { - "type": "enum", - "members": { - "AllTasks": { - "target": "smithy.api#Unit", + }, + "Tags": { + "target": "com.amazonaws.s3control#S3TagSet", "traits": { - "smithy.api#enumValue": "AllTasks" + "smithy.api#documentation": "

All of these tags must exist in the object's tag set in order for the rule to\n apply.

" } }, - "FailedTasksOnly": { - "target": "smithy.api#Unit", + "ObjectSizeGreaterThan": { + "target": "com.amazonaws.s3control#ObjectSizeGreaterThanBytes", "traits": { - "smithy.api#enumValue": "FailedTasksOnly" + "smithy.api#default": null, + "smithy.api#documentation": "

Minimum object size to which the rule applies.

" + } + }, + "ObjectSizeLessThan": { + "target": "com.amazonaws.s3control#ObjectSizeLessThanBytes", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

Maximum object size to which the rule applies.

" } } + }, + "traits": { + "smithy.api#documentation": "

The container for the Outposts bucket lifecycle rule and operator.

" } }, - "com.amazonaws.s3control#JobStatus": { - "type": "enum", + "com.amazonaws.s3control#LifecycleRuleFilter": { + "type": "structure", "members": { - "Active": { - "target": "smithy.api#Unit", + "Prefix": { + "target": "com.amazonaws.s3control#Prefix", "traits": { - "smithy.api#enumValue": "Active" + "smithy.api#documentation": "

Prefix identifying one or more objects to which the rule applies.

\n \n

When you're using XML requests, you must \nreplace special characters (such as carriage returns) in object keys with their equivalent XML entity codes. \nFor more information, see \n XML-related object key constraints in the Amazon S3 User Guide.

\n
" } }, - "Cancelled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Cancelled" - } + "Tag": { + "target": "com.amazonaws.s3control#S3Tag" }, - "Cancelling": { - "target": "smithy.api#Unit", + "And": { + "target": "com.amazonaws.s3control#LifecycleRuleAndOperator", "traits": { - "smithy.api#enumValue": "Cancelling" + "smithy.api#documentation": "

The container for the AND condition for the lifecycle rule.

" } }, - "Complete": { - "target": "smithy.api#Unit", + "ObjectSizeGreaterThan": { + "target": "com.amazonaws.s3control#ObjectSizeGreaterThanBytes", "traits": { - "smithy.api#enumValue": "Complete" + "smithy.api#default": null, + "smithy.api#documentation": "

Minimum object size to which the rule applies.

" } }, - "Completing": { - "target": "smithy.api#Unit", + "ObjectSizeLessThan": { + "target": "com.amazonaws.s3control#ObjectSizeLessThanBytes", "traits": { - "smithy.api#enumValue": "Completing" + "smithy.api#default": null, + "smithy.api#documentation": "

Maximum object size to which the rule applies.

" } - }, - "Failed": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

The container for the filter of the lifecycle rule.

" + } + }, + "com.amazonaws.s3control#LifecycleRules": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#LifecycleRule", + "traits": { + "smithy.api#xmlName": "Rule" + } + } + }, + "com.amazonaws.s3control#ListAccessGrantEntry": { + "type": "structure", + "members": { + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", "traits": { - "smithy.api#enumValue": "Failed" + "smithy.api#documentation": "

The date and time when you created the S3 Access Grants instance.

" } }, - "Failing": { - "target": "smithy.api#Unit", + "AccessGrantId": { + "target": "com.amazonaws.s3control#AccessGrantId", "traits": { - "smithy.api#enumValue": "Failing" + "smithy.api#documentation": "

The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.

" } }, - "New": { - "target": "smithy.api#Unit", + "AccessGrantArn": { + "target": "com.amazonaws.s3control#AccessGrantArn", "traits": { - "smithy.api#enumValue": "New" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the access grant.

" } }, - "Paused": { - "target": "smithy.api#Unit", + "Grantee": { + "target": "com.amazonaws.s3control#Grantee", "traits": { - "smithy.api#enumValue": "Paused" + "smithy.api#documentation": "

The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.

" } }, - "Pausing": { - "target": "smithy.api#Unit", + "Permission": { + "target": "com.amazonaws.s3control#Permission", "traits": { - "smithy.api#enumValue": "Pausing" + "smithy.api#documentation": "

The type of access granted to your S3 data, which can be set to one of the following values:

\n
    \n
  • \n

    \n READ – Grant read-only access to the S3 data.

    \n
  • \n
  • \n

    \n WRITE – Grant write-only access to the S3 data.

    \n
  • \n
  • \n

    \n READWRITE – Grant both read and write access to the S3 data.

    \n
  • \n
" } }, - "Preparing": { - "target": "smithy.api#Unit", + "AccessGrantsLocationId": { + "target": "com.amazonaws.s3control#AccessGrantsLocationId", "traits": { - "smithy.api#enumValue": "Preparing" + "smithy.api#documentation": "

The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

" } }, - "Ready": { - "target": "smithy.api#Unit", + "AccessGrantsLocationConfiguration": { + "target": "com.amazonaws.s3control#AccessGrantsLocationConfiguration", "traits": { - "smithy.api#enumValue": "Ready" + "smithy.api#documentation": "

The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access.

" } }, - "Suspended": { - "target": "smithy.api#Unit", + "GrantScope": { + "target": "com.amazonaws.s3control#S3Prefix", "traits": { - "smithy.api#enumValue": "Suspended" - } - } - } - }, - "com.amazonaws.s3control#JobStatusException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.s3control#ExceptionMessage" - } - }, - "traits": { - "smithy.api#documentation": "

", - "smithy.api#error": "client" - } - }, - "com.amazonaws.s3control#JobStatusList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#JobStatus" - } - }, - "com.amazonaws.s3control#JobStatusUpdateReason": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - } - } - }, - "com.amazonaws.s3control#JobTerminationDate": { - "type": "timestamp" - }, - "com.amazonaws.s3control#JobTimeInStateSeconds": { - "type": "long", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0 - } - } - }, - "com.amazonaws.s3control#JobTimers": { - "type": "structure", - "members": { - "ElapsedTimeInActiveSeconds": { - "target": "com.amazonaws.s3control#JobTimeInStateSeconds", + "smithy.api#documentation": "

The S3 path of the data to which you are granting access. It is the result of appending the Subprefix to the location scope.

" + } + }, + "ApplicationArn": { + "target": "com.amazonaws.s3control#IdentityCenterApplicationArn", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

Indicates the elapsed time in seconds the job has been in the Active job state.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.

" } } }, "traits": { - "smithy.api#documentation": "

Provides timing details for the job.

" + "smithy.api#documentation": "

Information about the access grant.

" } }, - "com.amazonaws.s3control#JobTotalNumberOfTasks": { - "type": "long", + "com.amazonaws.s3control#ListAccessGrants": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#ListAccessGrantsRequest" + }, + "output": { + "target": "com.amazonaws.s3control#ListAccessGrantsResult" + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0 + "smithy.api#documentation": "

Returns the list of access grants in your S3 Access Grants instance.

\n
\n
Permissions
\n
\n

You must have the s3:ListAccessGrants permission to use this operation.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/v20180820/accessgrantsinstance/grants", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } } } }, - "com.amazonaws.s3control#KeyNameConstraint": { + "com.amazonaws.s3control#ListAccessGrantsInstanceEntry": { "type": "structure", "members": { - "MatchAnyPrefix": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength1024StringList", + "AccessGrantsInstanceId": { + "target": "com.amazonaws.s3control#AccessGrantsInstanceId", "traits": { - "smithy.api#documentation": "

If provided, the generated manifest includes objects where the specified string appears\n at the start of the object key string.

" + "smithy.api#documentation": "

The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants instance per Region per account.

" } }, - "MatchAnySuffix": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength1024StringList", + "AccessGrantsInstanceArn": { + "target": "com.amazonaws.s3control#AccessGrantsInstanceArn", "traits": { - "smithy.api#documentation": "

If provided, the generated manifest includes objects where the specified string appears\n at the end of the object key string.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the S3 Access Grants instance.

" } }, - "MatchAnySubstring": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength1024StringList", + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", "traits": { - "smithy.api#documentation": "

If provided, the generated manifest includes objects where the specified string appears\n anywhere within the object key string.

" + "smithy.api#documentation": "

The date and time when you created the S3 Access Grants instance.

" + } + }, + "IdentityCenterArn": { + "target": "com.amazonaws.s3control#IdentityCenterArn", + "traits": { + "smithy.api#documentation": "

If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance application; a subresource of the original Identity Center instance. S3 Access Grants creates this Identity Center application for the specific S3 Access Grants instance.

" } } }, "traits": { - "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects whose object\n keys match the string constraints specified for MatchAnyPrefix,\n MatchAnySuffix, and MatchAnySubstring.

" + "smithy.api#documentation": "

Information about the S3 Access Grants instance.

" } }, - "com.amazonaws.s3control#KmsKeyArnString": { - "type": "string", + "com.amazonaws.s3control#ListAccessGrantsInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#ListAccessGrantsInstancesRequest" + }, + "output": { + "target": "com.amazonaws.s3control#ListAccessGrantsInstancesResult" + }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 2000 + "smithy.api#documentation": "

Returns a list of S3 Access Grants instances. An S3 Access Grants instance serves as a logical grouping for your individual access grants. You can only have one S3 Access Grants instance per Region per account.

\n
\n
Permissions
\n
\n

You must have the s3:ListAccessGrantsInstances permission to use this operation.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/v20180820/accessgrantsinstances", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } } } }, - "com.amazonaws.s3control#LambdaInvokeOperation": { + "com.amazonaws.s3control#ListAccessGrantsInstancesRequest": { "type": "structure", "members": { - "FunctionArn": { - "target": "com.amazonaws.s3control#FunctionArnString", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Lambda function that the specified job will\n invoke on every object in the manifest.

" + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "NextToken": { + "target": "com.amazonaws.s3control#ContinuationToken", + "traits": { + "smithy.api#documentation": "

A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants Instances request in order to retrieve the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.s3control#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of access grants that you would like returned in the List Access Grants response. If the results include the pagination token NextToken, make another call using the NextToken to determine if there are more results.

", + "smithy.api#httpQuery": "maxResults" } } }, "traits": { - "smithy.api#documentation": "

Contains the configuration parameters for a Lambda Invoke operation.

" + "smithy.api#input": {} } }, - "com.amazonaws.s3control#LifecycleConfiguration": { + "com.amazonaws.s3control#ListAccessGrantsInstancesResult": { "type": "structure", "members": { - "Rules": { - "target": "com.amazonaws.s3control#LifecycleRules", + "NextToken": { + "target": "com.amazonaws.s3control#ContinuationToken", "traits": { - "smithy.api#documentation": "

A lifecycle rule for individual objects in an Outposts bucket.

" + "smithy.api#documentation": "

A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants Instances request in order to retrieve the next page of results.

" + } + }, + "AccessGrantsInstancesList": { + "target": "com.amazonaws.s3control#AccessGrantsInstancesList", + "traits": { + "smithy.api#documentation": "

A container for a list of S3 Access Grants instances.

" } } }, "traits": { - "smithy.api#documentation": "

The container for the Outposts bucket lifecycle configuration.

" + "smithy.api#output": {} } }, - "com.amazonaws.s3control#LifecycleExpiration": { + "com.amazonaws.s3control#ListAccessGrantsLocations": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#ListAccessGrantsLocationsRequest" + }, + "output": { + "target": "com.amazonaws.s3control#ListAccessGrantsLocationsResult" + }, + "traits": { + "smithy.api#documentation": "

Returns a list of the locations registered in your S3 Access Grants instance.

\n
\n
Permissions
\n
\n

You must have the s3:ListAccessGrantsLocations permission to use this operation.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/v20180820/accessgrantsinstance/locations", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#ListAccessGrantsLocationsEntry": { "type": "structure", "members": { - "Date": { - "target": "com.amazonaws.s3control#Date", + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", "traits": { - "smithy.api#documentation": "

Indicates at what date the object is to be deleted. Should be in GMT ISO 8601\n format.

" + "smithy.api#documentation": "

The date and time when you registered the location.

" } }, - "Days": { - "target": "com.amazonaws.s3control#Days", + "AccessGrantsLocationId": { + "target": "com.amazonaws.s3control#AccessGrantsLocationId", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

Indicates the lifetime, in days, of the objects that are subject to the rule. The value\n must be a non-zero positive integer.

" + "smithy.api#documentation": "

The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

" } }, - "ExpiredObjectDeleteMarker": { - "target": "com.amazonaws.s3control#ExpiredObjectDeleteMarker", + "AccessGrantsLocationArn": { + "target": "com.amazonaws.s3control#AccessGrantsLocationArn", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set\n to true, the delete marker will be expired. If set to false, the policy takes no action.\n This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the registered location.

" + } + }, + "LocationScope": { + "target": "com.amazonaws.s3control#S3Prefix", + "traits": { + "smithy.api#documentation": "

The S3 path to the location that you are registering. The location scope can be the default S3 location s3://, the S3 path to a bucket s3://, or the S3 path to a bucket and prefix s3:///. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.

" + } + }, + "IAMRoleArn": { + "target": "com.amazonaws.s3control#IAMRoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.

" } } }, "traits": { - "smithy.api#documentation": "

The container of the Outposts bucket lifecycle expiration.

" + "smithy.api#documentation": "

A container for information about the registered location.

" } }, - "com.amazonaws.s3control#LifecycleRule": { + "com.amazonaws.s3control#ListAccessGrantsLocationsRequest": { "type": "structure", "members": { - "Expiration": { - "target": "com.amazonaws.s3control#LifecycleExpiration", - "traits": { - "smithy.api#documentation": "

Specifies the expiration for the lifecycle of the object in the form of date, days and,\n whether the object has a delete marker.

" - } - }, - "ID": { - "target": "com.amazonaws.s3control#ID", - "traits": { - "smithy.api#documentation": "

Unique identifier for the rule. The value cannot be longer than 255 characters.

" - } - }, - "Filter": { - "target": "com.amazonaws.s3control#LifecycleRuleFilter", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The container for the filter of lifecycle rule.

" + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, - "Status": { - "target": "com.amazonaws.s3control#ExpirationStatus", + "NextToken": { + "target": "com.amazonaws.s3control#ContinuationToken", "traits": { - "smithy.api#documentation": "

If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not\n currently being applied.

", - "smithy.api#required": {} + "smithy.api#documentation": "

A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants Locations request in order to retrieve the next page of results.

", + "smithy.api#httpQuery": "nextToken" } }, - "Transitions": { - "target": "com.amazonaws.s3control#TransitionList", + "MaxResults": { + "target": "com.amazonaws.s3control#MaxResults", "traits": { - "smithy.api#documentation": "

Specifies when an Amazon S3 object transitions to a specified storage class.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of access grants that you would like returned in the List Access Grants response. If the results include the pagination token NextToken, make another call using the NextToken to determine if there are more results.

", + "smithy.api#httpQuery": "maxResults" } }, - "NoncurrentVersionTransitions": { - "target": "com.amazonaws.s3control#NoncurrentVersionTransitionList", + "LocationScope": { + "target": "com.amazonaws.s3control#S3Prefix", "traits": { - "smithy.api#documentation": "

Specifies the transition rule for the lifecycle rule that describes when noncurrent\n objects transition to a specific storage class. If your bucket is versioning-enabled (or\n versioning is suspended), you can set this action to request that Amazon S3 transition\n noncurrent object versions to a specific storage class at a set period in the object's\n lifetime.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" + "smithy.api#documentation": "

The S3 path to the location that you are registering. The location scope can be the default S3 location s3://, the S3 path to a bucket s3://, or the S3 path to a bucket and prefix s3:///. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.

", + "smithy.api#httpQuery": "locationscope" } - }, - "NoncurrentVersionExpiration": { - "target": "com.amazonaws.s3control#NoncurrentVersionExpiration", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#ListAccessGrantsLocationsResult": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.s3control#ContinuationToken", "traits": { - "smithy.api#documentation": "

The noncurrent version expiration of the lifecycle rule.

" + "smithy.api#documentation": "

A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants Locations request in order to retrieve the next page of results.

" } }, - "AbortIncompleteMultipartUpload": { - "target": "com.amazonaws.s3control#AbortIncompleteMultipartUpload", + "AccessGrantsLocationsList": { + "target": "com.amazonaws.s3control#AccessGrantsLocationsList", "traits": { - "smithy.api#documentation": "

Specifies the days since the initiation of an incomplete multipart upload that Amazon S3\n waits before permanently removing all parts of the upload. For more information, see \n Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration in\n the Amazon S3 User Guide.

" + "smithy.api#documentation": "

A container for a list of registered locations in an S3 Access Grants instance.

" } } }, "traits": { - "smithy.api#documentation": "

The container for the Outposts bucket lifecycle rule.

" + "smithy.api#output": {} } }, - "com.amazonaws.s3control#LifecycleRuleAndOperator": { + "com.amazonaws.s3control#ListAccessGrantsRequest": { "type": "structure", "members": { - "Prefix": { - "target": "com.amazonaws.s3control#Prefix", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

Prefix identifying one or more objects to which the rule applies.

" + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, - "Tags": { - "target": "com.amazonaws.s3control#S3TagSet", + "NextToken": { + "target": "com.amazonaws.s3control#ContinuationToken", "traits": { - "smithy.api#documentation": "

All of these tags must exist in the object's tag set in order for the rule to\n apply.

" + "smithy.api#documentation": "

A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants request in order to retrieve the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.s3control#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of access grants that you would like returned in the List Access Grants response. If the results include the pagination token NextToken, make another call using the NextToken to determine if there are more results.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "GranteeType": { + "target": "com.amazonaws.s3control#GranteeType", + "traits": { + "smithy.api#documentation": "

The type of the grantee to which access has been granted. It can be one of the following values:

\n
    \n
  • \n

    \n IAM - An IAM user or role.

    \n
  • \n
  • \n

    \n DIRECTORY_USER - Your corporate directory user. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.

    \n
  • \n
  • \n

    \n DIRECTORY_GROUP - Your corporate directory group. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.

    \n
  • \n
", + "smithy.api#httpQuery": "granteetype" + } + }, + "GranteeIdentifier": { + "target": "com.amazonaws.s3control#GranteeIdentifier", + "traits": { + "smithy.api#documentation": "

The unique identifer of the Grantee. If the grantee type is IAM, the identifier is the IAM Amazon Resource Name (ARN) of the user or role. If the grantee type is a directory user or group, the identifier is 128-bit universally unique identifier (UUID) in the format a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from your Amazon Web Services IAM Identity Center instance.

", + "smithy.api#httpQuery": "granteeidentifier" + } + }, + "Permission": { + "target": "com.amazonaws.s3control#Permission", + "traits": { + "smithy.api#documentation": "

The type of permission granted to your S3 data, which can be set to one of the following values:

\n
    \n
  • \n

    \n READ – Grant read-only access to the S3 data.

    \n
  • \n
  • \n

    \n WRITE – Grant write-only access to the S3 data.

    \n
  • \n
  • \n

    \n READWRITE – Grant both read and write access to the S3 data.

    \n
  • \n
", + "smithy.api#httpQuery": "permission" } }, - "ObjectSizeGreaterThan": { - "target": "com.amazonaws.s3control#ObjectSizeGreaterThanBytes", + "GrantScope": { + "target": "com.amazonaws.s3control#S3Prefix", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

Minimum object size to which the rule applies.

" + "smithy.api#documentation": "

The S3 path of the data to which you are granting access. It is the result of appending the Subprefix to the location scope.

", + "smithy.api#httpQuery": "grantscope" } }, - "ObjectSizeLessThan": { - "target": "com.amazonaws.s3control#ObjectSizeLessThanBytes", + "ApplicationArn": { + "target": "com.amazonaws.s3control#IdentityCenterApplicationArn", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

Maximum object size to which the rule applies.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.

", + "smithy.api#httpQuery": "application_arn" } } }, "traits": { - "smithy.api#documentation": "

The container for the Outposts bucket lifecycle rule and operator.

" + "smithy.api#input": {} } }, - "com.amazonaws.s3control#LifecycleRuleFilter": { + "com.amazonaws.s3control#ListAccessGrantsResult": { "type": "structure", "members": { - "Prefix": { - "target": "com.amazonaws.s3control#Prefix", - "traits": { - "smithy.api#documentation": "

Prefix identifying one or more objects to which the rule applies.

\n \n

When you're using XML requests, you must \nreplace special characters (such as carriage returns) in object keys with their equivalent XML entity codes. \nFor more information, see \n XML-related object key constraints in the Amazon S3 User Guide.

\n
" - } - }, - "Tag": { - "target": "com.amazonaws.s3control#S3Tag" - }, - "And": { - "target": "com.amazonaws.s3control#LifecycleRuleAndOperator", - "traits": { - "smithy.api#documentation": "

The container for the AND condition for the lifecycle rule.

" - } - }, - "ObjectSizeGreaterThan": { - "target": "com.amazonaws.s3control#ObjectSizeGreaterThanBytes", + "NextToken": { + "target": "com.amazonaws.s3control#ContinuationToken", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

Minimum object size to which the rule applies.

" + "smithy.api#documentation": "

A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants request in order to retrieve the next page of results.

" } }, - "ObjectSizeLessThan": { - "target": "com.amazonaws.s3control#ObjectSizeLessThanBytes", + "AccessGrantsList": { + "target": "com.amazonaws.s3control#AccessGrantsList", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

Maximum object size to which the rule applies.

" + "smithy.api#documentation": "

A container for a list of grants in an S3 Access Grants instance.

" } } }, "traits": { - "smithy.api#documentation": "

The container for the filter of the lifecycle rule.

" - } - }, - "com.amazonaws.s3control#LifecycleRules": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#LifecycleRule", - "traits": { - "smithy.api#xmlName": "Rule" - } + "smithy.api#output": {} } }, "com.amazonaws.s3control#ListAccessPoints": { @@ -11902,27 +13793,27 @@ "Name": { "target": "com.amazonaws.s3control#StorageLensGroupName", "traits": { - "smithy.api#documentation": "

Contains the name of the Storage Lens group that exists in the specified home Region.\n

", + "smithy.api#documentation": "

\nContains the name of the Storage Lens group that exists in the specified home Region.\n

", "smithy.api#required": {} } }, "StorageLensGroupArn": { "target": "com.amazonaws.s3control#StorageLensGroupArn", "traits": { - "smithy.api#documentation": "

Contains the Amazon Resource Name (ARN) of the Storage Lens group. This property is\n read-only.

", + "smithy.api#documentation": "

\nContains the Amazon Resource Name (ARN) of the Storage Lens group. This property is read-only.\n

", "smithy.api#required": {} } }, "HomeRegion": { "target": "com.amazonaws.s3control#S3AWSRegion", "traits": { - "smithy.api#documentation": "

Contains the Amazon Web Services Region where the Storage Lens group was created.

", + "smithy.api#documentation": "

\nContains the Amazon Web Services Region where the Storage Lens group was created.\n

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Each entry contains a Storage Lens group that exists in the specified home Region.\n

" + "smithy.api#documentation": "

\nEach entry contains a Storage Lens group that exists in the specified home Region.\n

" } }, "com.amazonaws.s3control#ListStorageLensGroups": { @@ -11934,7 +13825,7 @@ "target": "com.amazonaws.s3control#ListStorageLensGroupsResult" }, "traits": { - "smithy.api#documentation": "

Lists all the Storage Lens groups in the specified home Region.

\n

To use this operation, you must have the permission to perform the\n s3:ListStorageLensGroups action. For more information about the required\n Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

", + "smithy.api#documentation": "

\nLists all the Storage Lens groups in the specified home Region.\n

\n

To use this operation, you must have the permission to perform the\n s3:ListStorageLensGroups action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -11960,7 +13851,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID that owns the Storage Lens groups.

", + "smithy.api#documentation": "

\n The Amazon Web Services account ID that owns the Storage Lens groups.\n

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -11972,7 +13863,7 @@ "NextToken": { "target": "com.amazonaws.s3control#ContinuationToken", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more\n results.

", + "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.\n

", "smithy.api#httpQuery": "nextToken" } } @@ -11987,13 +13878,13 @@ "NextToken": { "target": "com.amazonaws.s3control#ContinuationToken", "traits": { - "smithy.api#documentation": "

If NextToken is returned, there are more Storage Lens groups results\n available. The value of NextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other\n arguments unchanged. Each pagination token expires after 24 hours.

" + "smithy.api#documentation": "

\n If NextToken is returned, there are more Storage Lens groups results available. The value of NextToken is a\n unique pagination token for each page. Make the call again using the returned token to\n retrieve the next page. Keep all other arguments unchanged. Each pagination token expires\n after 24 hours.\n

" } }, "StorageLensGroupList": { "target": "com.amazonaws.s3control#StorageLensGroupList", "traits": { - "smithy.api#documentation": "

The list of Storage Lens groups that exist in the specified home Region.

", + "smithy.api#documentation": "

\nThe list of Storage Lens groups that exist in the specified home Region.\n

", "smithy.api#xmlFlattened": {} } } @@ -12011,7 +13902,7 @@ "target": "com.amazonaws.s3control#ListTagsForResourceResult" }, "traits": { - "smithy.api#documentation": "

This operation allows you to list all the Amazon Web Services resource tags for the specified\n resource.

\n

To use this operation, you must have the permission to perform the\n s3:ListTagsForResource action. For more information about the required\n Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about S3 Tagging errors, see List of Amazon S3\n Tagging error codes.

\n \n

This operation is only supported for S3 Storage Lens\n groups.

\n
", + "smithy.api#documentation": "

This operation allows you to list all the Amazon Web Services resource tags for a specified resource. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

\n
\n
Permissions
\n
\n

You must have the s3:ListTagsForResource permission to use this operation.

\n
\n
\n \n

This operation is only supported for S3 Storage Lens groups and for S3 Access Grants. The tagged resource can be an S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.

\n
\n

For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.

", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -12033,7 +13924,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID of the resource owner.

", + "smithy.api#documentation": "

\nThe Amazon Web Services account ID of the resource owner.\n

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -12045,7 +13936,7 @@ "ResourceArn": { "target": "com.amazonaws.s3control#S3ResourceArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the S3 resource that you want to list the tags for.\n

", + "smithy.api#documentation": "

\nThe Amazon Resource Name (ARN) of the S3 resource that you want to list the tags for. The tagged resource can be an S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -12061,7 +13952,7 @@ "Tags": { "target": "com.amazonaws.s3control#TagList", "traits": { - "smithy.api#documentation": "

The Amazon Web Services resource tags that are associated with the resource.

" + "smithy.api#documentation": "

\nThe Amazon Web Services resource tags that are associated with the resource. \n

" } } }, @@ -12152,19 +14043,19 @@ "target": "com.amazonaws.s3control#ObjectAgeValue", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

Specifies the maximum object age in days. Must be a positive whole number, greater than\n the minimum object age and less than or equal to 2,147,483,647.

" + "smithy.api#documentation": "

\nSpecifies the maximum object age in days. Must be a positive whole number, greater than the minimum object age and less than or equal to 2,147,483,647. \n

" } }, "DaysLessThan": { "target": "com.amazonaws.s3control#ObjectAgeValue", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

Specifies the minimum object age in days. The value must be a positive whole number,\n greater than 0 and less than or equal to 2,147,483,647.

" + "smithy.api#documentation": "

\nSpecifies the minimum object age in days. The value must be a positive whole number, greater than 0 and less than or equal to 2,147,483,647.\n

" } } }, "traits": { - "smithy.api#documentation": "

A filter condition that specifies the object age range of included objects in days.\n Only integers are supported.

" + "smithy.api#documentation": "

\n A filter condition that specifies the object age range of included objects in days. Only integers are supported.\n

" } }, "com.amazonaws.s3control#MatchObjectSize": { @@ -12174,19 +14065,19 @@ "target": "com.amazonaws.s3control#ObjectSizeValue", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

Specifies the minimum object size in Bytes. The value must be a positive number,\n greater than 0 and less than 5 TB.

" + "smithy.api#documentation": "

\nSpecifies the minimum object size in Bytes. The value must be a positive number, greater than 0 and less than 5 TB.\n

" } }, "BytesLessThan": { "target": "com.amazonaws.s3control#ObjectSizeValue", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

Specifies the maximum object size in Bytes. The value must be a positive number,\n greater than the minimum object size and less than 5 TB.

" + "smithy.api#documentation": "

\nSpecifies the maximum object size in Bytes. The value must be a positive number, greater than the minimum object size and less than 5 TB.\n

" } } }, "traits": { - "smithy.api#documentation": "

A filter condition that specifies the object size range of included objects in bytes.\n Only integers are supported.

" + "smithy.api#documentation": "

\nA filter condition that specifies the object size range of included objects in bytes. Only integers are supported.\n

" } }, "com.amazonaws.s3control#MaxLength1024String": { @@ -12997,6 +14888,16 @@ } } }, + "com.amazonaws.s3control#Organization": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 34 + }, + "smithy.api#pattern": "^o-[a-z0-9]{10,32}$" + } + }, "com.amazonaws.s3control#OutputSchemaVersion": { "type": "enum", "members": { @@ -13019,9 +14920,41 @@ } } }, + "com.amazonaws.s3control#Permission": { + "type": "enum", + "members": { + "READ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "READ" + } + }, + "WRITE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WRITE" + } + }, + "READWRITE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "READWRITE" + } + } + } + }, "com.amazonaws.s3control#Policy": { "type": "string" }, + "com.amazonaws.s3control#PolicyDocument": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 350000 + } + } + }, "com.amazonaws.s3control#PolicyStatus": { "type": "structure", "members": { @@ -13080,6 +15013,23 @@ "smithy.api#default": 0 } }, + "com.amazonaws.s3control#Privilege": { + "type": "enum", + "members": { + "Minimal": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Minimal" + } + }, + "Default": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Default" + } + } + } + }, "com.amazonaws.s3control#ProposedMultiRegionAccessPointPolicy": { "type": "structure", "members": { @@ -13140,6 +15090,91 @@ "smithy.api#default": false } }, + "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicyRequest" + }, + "output": { + "target": "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicyResult" + }, + "traits": { + "smithy.api#documentation": "

Updates the resource policy of the S3 Access Grants instance.

\n
\n
Permissions
\n
\n

You must have the s3:PutAccessGrantsInstanceResourcePolicy permission to use this operation.

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "PUT", + "uri": "/v20180820/accessgrantsinstance/resourcepolicy", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicyRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "Policy": { + "target": "com.amazonaws.s3control#PolicyDocument", + "traits": { + "smithy.api#documentation": "

The resource policy of the S3 Access Grants instance that you are updating.

", + "smithy.api#required": {} + } + }, + "Organization": { + "target": "com.amazonaws.s3control#Organization", + "traits": { + "smithy.api#documentation": "

The Organization of the resource policy of the S3 Access Grants instance.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicyResult": { + "type": "structure", + "members": { + "Policy": { + "target": "com.amazonaws.s3control#PolicyDocument", + "traits": { + "smithy.api#documentation": "

The updated resource policy of the S3 Access Grants instance.

" + } + }, + "Organization": { + "target": "com.amazonaws.s3control#Organization", + "traits": { + "smithy.api#documentation": "

The Organization of the resource policy of the S3 Access Grants instance.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", + "traits": { + "smithy.api#documentation": "

The date and time when you created the S3 Access Grants instance resource policy.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.s3control#PutAccessPointConfigurationForObjectLambda": { "type": "operation", "input": { @@ -15332,6 +17367,27 @@ } } }, + "com.amazonaws.s3control#S3Prefix": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2000 + }, + "smithy.api#pattern": "^.+$" + } + }, + "com.amazonaws.s3control#S3PrefixType": { + "type": "enum", + "members": { + "Object": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Object" + } + } + } + }, "com.amazonaws.s3control#S3RegionalBucketArn": { "type": "string", "traits": { @@ -15601,6 +17657,12 @@ "smithy.api#xmlName": "SSE-S3" } }, + "com.amazonaws.s3control#SecretAccessKey": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.s3control#SelectionCriteria": { "type": "structure", "members": { @@ -15627,6 +17689,12 @@ "smithy.api#documentation": "

" } }, + "com.amazonaws.s3control#SessionToken": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.s3control#Setting": { "type": "boolean", "traits": { @@ -15833,21 +17901,21 @@ "Name": { "target": "com.amazonaws.s3control#StorageLensGroupName", "traits": { - "smithy.api#documentation": "

Contains the name of the Storage Lens group.

", + "smithy.api#documentation": "

\nContains the name of the Storage Lens group.\n

", "smithy.api#required": {} } }, "Filter": { "target": "com.amazonaws.s3control#StorageLensGroupFilter", "traits": { - "smithy.api#documentation": "

Sets the criteria for the Storage Lens group data that is displayed. For multiple filter\n conditions, the AND or OR logical operator is used.

", + "smithy.api#documentation": "

Sets the criteria for the Storage Lens group data that is displayed. For multiple filter conditions, the AND or OR\n logical operator is used.

", "smithy.api#required": {} } }, "StorageLensGroupArn": { "target": "com.amazonaws.s3control#StorageLensGroupArn", "traits": { - "smithy.api#documentation": "

Contains the Amazon Resource Name (ARN) of the Storage Lens group. This property is\n read-only.

" + "smithy.api#documentation": "

\nContains the Amazon Resource Name (ARN) of the Storage Lens group. This property is read-only.\n

" } } }, @@ -15861,36 +17929,36 @@ "MatchAnyPrefix": { "target": "com.amazonaws.s3control#MatchAnyPrefix", "traits": { - "smithy.api#documentation": "

Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes\n are allowed.

" + "smithy.api#documentation": "

\n Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.\n

" } }, "MatchAnySuffix": { "target": "com.amazonaws.s3control#MatchAnySuffix", "traits": { - "smithy.api#documentation": "

Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes\n are allowed.

" + "smithy.api#documentation": "

\n Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.\n

" } }, "MatchAnyTag": { "target": "com.amazonaws.s3control#MatchAnyTag", "traits": { - "smithy.api#documentation": "

Contains the list of object tags. At least one object tag must be specified. Up to 10\n object tags are allowed.

" + "smithy.api#documentation": "

\n Contains the list of object tags. At least one object tag must be specified. Up to 10 object tags are allowed.\n

" } }, "MatchObjectAge": { "target": "com.amazonaws.s3control#MatchObjectAge", "traits": { - "smithy.api#documentation": "

Contains DaysGreaterThan and DaysLessThan to define the\n object age range (minimum and maximum number of days).

" + "smithy.api#documentation": "

\n Contains DaysGreaterThan and DaysLessThan to define the object age range (minimum and maximum number of days).\n

" } }, "MatchObjectSize": { "target": "com.amazonaws.s3control#MatchObjectSize", "traits": { - "smithy.api#documentation": "

Contains BytesGreaterThan and BytesLessThan to define the\n object size range (minimum and maximum number of Bytes).

" + "smithy.api#documentation": "

\n Contains BytesGreaterThan and BytesLessThan to define the object size range (minimum and maximum number of Bytes).\n

" } } }, "traits": { - "smithy.api#documentation": "

A logical operator that allows multiple filter conditions to be joined for more complex\n comparisons of Storage Lens group data.

" + "smithy.api#documentation": "

\nA logical operator that allows multiple filter conditions to be joined for more complex comparisons of Storage Lens group data.\n

" } }, "com.amazonaws.s3control#StorageLensGroupArn": { @@ -15909,48 +17977,48 @@ "MatchAnyPrefix": { "target": "com.amazonaws.s3control#MatchAnyPrefix", "traits": { - "smithy.api#documentation": "

Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes\n are allowed.

" + "smithy.api#documentation": "

\n Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.\n

" } }, "MatchAnySuffix": { "target": "com.amazonaws.s3control#MatchAnySuffix", "traits": { - "smithy.api#documentation": "

Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes\n are allowed.

" + "smithy.api#documentation": "

\n Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.\n

" } }, "MatchAnyTag": { "target": "com.amazonaws.s3control#MatchAnyTag", "traits": { - "smithy.api#documentation": "

Contains the list of S3 object tags. At least one object tag must be specified. Up to\n 10 object tags are allowed.

" + "smithy.api#documentation": "

\n Contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.\n

" } }, "MatchObjectAge": { "target": "com.amazonaws.s3control#MatchObjectAge", "traits": { - "smithy.api#documentation": "

Contains DaysGreaterThan and DaysLessThan to define the\n object age range (minimum and maximum number of days).

" + "smithy.api#documentation": "

\n Contains DaysGreaterThan and DaysLessThan to define the object age range (minimum and maximum number of days).\n

" } }, "MatchObjectSize": { "target": "com.amazonaws.s3control#MatchObjectSize", "traits": { - "smithy.api#documentation": "

Contains BytesGreaterThan and BytesLessThan to define the\n object size range (minimum and maximum number of Bytes).

" + "smithy.api#documentation": "

\n Contains BytesGreaterThan and BytesLessThan to define the object size range (minimum and maximum number of Bytes).\n

" } }, "And": { "target": "com.amazonaws.s3control#StorageLensGroupAndOperator", "traits": { - "smithy.api#documentation": "

A logical operator that allows multiple filter conditions to be joined for more complex\n comparisons of Storage Lens group data. Objects must match all of the listed filter\n conditions that are joined by the And logical operator. Only one of each\n filter condition is allowed.

" + "smithy.api#documentation": "

A logical operator that allows multiple filter conditions to be joined for more complex\n comparisons of Storage Lens group data. Objects must match all of the listed filter\n conditions that are joined by the And logical operator. Only one of each filter condition\n is allowed.

" } }, "Or": { "target": "com.amazonaws.s3control#StorageLensGroupOrOperator", "traits": { - "smithy.api#documentation": "

A single logical operator that allows multiple filter conditions to be joined. Objects\n can match any of the listed filter conditions, which are joined by the Or\n logical operator. Only one of each filter condition is allowed.

" + "smithy.api#documentation": "

A single logical operator that allows multiple filter conditions to be joined. Objects\n can match any of the listed filter conditions, which are joined by the Or logical operator.\n Only one of each filter condition is allowed.

" } } }, "traits": { - "smithy.api#documentation": "

The filter element sets the criteria for the Storage Lens group data that is displayed.\n For multiple filter conditions, the AND or OR logical operator is\n used.

" + "smithy.api#documentation": "

The filter element sets the criteria for the Storage Lens group data that is displayed. For multiple filter conditions, the AND or OR\n logical operator is used.

" } }, "com.amazonaws.s3control#StorageLensGroupLevel": { @@ -15959,12 +18027,12 @@ "SelectionCriteria": { "target": "com.amazonaws.s3control#StorageLensGroupLevelSelectionCriteria", "traits": { - "smithy.api#documentation": "

Indicates which Storage Lens group ARNs to include or exclude in the Storage Lens group\n aggregation. If this value is left null, then all Storage Lens groups are selected.

" + "smithy.api#documentation": "

\n Indicates which Storage Lens group ARNs to include or exclude in the Storage Lens group aggregation. If this value is left null, then all Storage Lens groups are selected.\n

" } } }, "traits": { - "smithy.api#documentation": "

Specifies the Storage Lens groups to include in the Storage Lens group aggregation.\n

" + "smithy.api#documentation": "

\nSpecifies the Storage Lens groups to include in the Storage Lens group aggregation.\n

" } }, "com.amazonaws.s3control#StorageLensGroupLevelExclude": { @@ -15991,7 +18059,7 @@ "Include": { "target": "com.amazonaws.s3control#StorageLensGroupLevelInclude", "traits": { - "smithy.api#documentation": "

Indicates which Storage Lens group ARNs to include in the Storage Lens group\n aggregation.

" + "smithy.api#documentation": "

\nIndicates which Storage Lens group ARNs to include in the Storage Lens group aggregation.\n

" } }, "Exclude": { @@ -16036,30 +18104,30 @@ "MatchAnySuffix": { "target": "com.amazonaws.s3control#MatchAnySuffix", "traits": { - "smithy.api#documentation": "

Filters objects that match any of the specified suffixes.

" + "smithy.api#documentation": "

\nFilters objects that match any of the specified suffixes.\n

" } }, "MatchAnyTag": { "target": "com.amazonaws.s3control#MatchAnyTag", "traits": { - "smithy.api#documentation": "

Filters objects that match any of the specified S3 object tags.

" + "smithy.api#documentation": "

\nFilters objects that match any of the specified S3 object tags.\n

" } }, "MatchObjectAge": { "target": "com.amazonaws.s3control#MatchObjectAge", "traits": { - "smithy.api#documentation": "

Filters objects that match the specified object age range.

" + "smithy.api#documentation": "

\nFilters objects that match the specified object age range.\n

" } }, "MatchObjectSize": { "target": "com.amazonaws.s3control#MatchObjectSize", "traits": { - "smithy.api#documentation": "

Filters objects that match the specified object size range.

" + "smithy.api#documentation": "

\nFilters objects that match the specified object size range.\n

" } } }, "traits": { - "smithy.api#documentation": "

A container element for specifying Or rule conditions. The rule conditions\n determine the subset of objects to which the Or rule applies. Objects can\n match any of the listed filter conditions, which are joined by the Or logical\n operator. Only one of each filter condition is allowed.

" + "smithy.api#documentation": "

A container element for specifying Or rule conditions. The rule conditions\n determine the subset of objects to which the Or rule applies. Objects can\n match any of the listed filter conditions, which are joined by the Or logical operator.\n Only one of each filter condition is allowed.

" } }, "com.amazonaws.s3control#StorageLensPrefixLevelDelimiter": { @@ -16210,20 +18278,20 @@ "Key": { "target": "com.amazonaws.s3control#TagKeyString", "traits": { - "smithy.api#documentation": "

The tag key for your Amazon Web Services resource. A tag key can be up to 128 Unicode characters in\n length and is case-sensitive. System created tags that begin with aws: aren’t\n supported.

", + "smithy.api#documentation": "

The key of the key-value pair of a tag added to your Amazon Web Services resource. A tag key can be up to 128 Unicode characters in length and is case-sensitive. System created tags that begin with aws: aren’t supported.\n

", "smithy.api#required": {} } }, "Value": { "target": "com.amazonaws.s3control#TagValueString", "traits": { - "smithy.api#documentation": "

The tag value for your Amazon Web Services resource. A tag value can be up to 256 Unicode characters\n in length and is case-sensitive.

", + "smithy.api#documentation": "

\n The value of the key-value pair of a tag added to your Amazon Web Services resource. A tag value can be up to 256 Unicode characters in length and is case-sensitive.\n

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

An Amazon Web Services resource tag that's associated with your S3 resource. You can add tags to new\n objects when you upload them, or you can add object tags to existing objects.

\n \n

This data type is only supported for S3 Storage Lens\n groups.

\n
" + "smithy.api#documentation": "

\n An Amazon Web Services resource tag that's associated with your S3 resource. You can add tags to new objects when you upload them, or you can add object tags to existing objects. \n

\n \n

This operation is only supported for S3 Storage Lens groups and for S3 Access Grants. The tagged resource can be an S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.

\n
" } }, "com.amazonaws.s3control#TagKeyList": { @@ -16272,7 +18340,7 @@ "target": "com.amazonaws.s3control#TagResourceResult" }, "traits": { - "smithy.api#documentation": "

Creates a new Amazon Web Services resource tag or updates an existing resource tag. You can add up to\n 50 Amazon Web Services resource tags for each S3 resource.

\n

To use this operation, you must have the permission to perform the\n s3:TagResource action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about S3 Tagging errors, see List of Amazon S3\n Tagging error codes.

\n \n

This operation is only supported for S3 Storage Lens\n groups.

\n
", + "smithy.api#documentation": "

Creates a new Amazon Web Services resource tag or updates an existing resource tag. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources. You can add up to 50 Amazon Web Services resource tags for each S3 resource.

\n \n

This operation is only supported for S3 Storage Lens groups and for S3 Access Grants. The tagged resource can be an S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.

\n
\n
\n
Permissions
\n
\n

You must have the s3:TagResource permission to use this operation.

\n
\n
\n

For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.

", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -16294,7 +18362,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID that created the S3 resource that you're trying to add tags to.\n

", + "smithy.api#documentation": "

\nThe Amazon Web Services account ID that created the S3 resource that you're trying to add tags to or the requester's account ID. \n

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -16306,7 +18374,7 @@ "ResourceArn": { "target": "com.amazonaws.s3control#S3ResourceArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the S3 resource that you're trying to add tags to.\n

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the S3 resource that you're trying to add tags to. The tagged resource can be an S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -16314,7 +18382,7 @@ "Tags": { "target": "com.amazonaws.s3control#TagList", "traits": { - "smithy.api#documentation": "

The Amazon Web Services resource tags that you want to add to the specified S3 resource.

", + "smithy.api#documentation": "

\nThe Amazon Web Services resource tags that you want to add to the specified S3 resource. \n

", "smithy.api#required": {} } } @@ -16471,7 +18539,7 @@ "target": "com.amazonaws.s3control#UntagResourceResult" }, "traits": { - "smithy.api#documentation": "

This operation removes the specified Amazon Web Services resource tags from an S3 resource.

\n

To use this operation, you must have the permission to perform the\n s3:UntagResource action. For more information about the required Storage\n Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about S3 Tagging errors, see List of Amazon S3\n Tagging error codes.

\n \n

This operation is only supported for S3 Storage Lens\n groups.

\n
", + "smithy.api#documentation": "

This operation removes the specified Amazon Web Services resource tags from an S3 resource. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

\n \n

This operation is only supported for S3 Storage Lens groups and for S3 Access Grants. The tagged resource can be an S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.

\n
\n
\n
Permissions
\n
\n

You must have the s3:UntagResource permission to use this operation.

\n
\n
\n

For more information about the required Storage\n Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about S3 Tagging errors, see List of Amazon S3\n Tagging error codes.

", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -16493,7 +18561,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID that owns the resource that you're trying to remove the tags from.\n

", + "smithy.api#documentation": "

\n The Amazon Web Services account ID that owns the resource that you're trying to remove the tags from.\n

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -16505,7 +18573,7 @@ "ResourceArn": { "target": "com.amazonaws.s3control#S3ResourceArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the S3 resource that you want to remove the resource\n tags from.

", + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the S3 resource that you're trying to remove the tags from.\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -16513,7 +18581,7 @@ "TagKeys": { "target": "com.amazonaws.s3control#TagKeyList", "traits": { - "smithy.api#documentation": "

The tag key pair of the S3 resource tag that you're trying to remove.

", + "smithy.api#documentation": "

\n The array of tag key-value pairs that you're trying to remove from of the S3 resource.\n

", "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } @@ -16530,6 +18598,105 @@ "smithy.api#output": {} } }, + "com.amazonaws.s3control#UpdateAccessGrantsLocation": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#UpdateAccessGrantsLocationRequest" + }, + "output": { + "target": "com.amazonaws.s3control#UpdateAccessGrantsLocationResult" + }, + "traits": { + "smithy.api#documentation": "

Updates the IAM role of a registered location in your S3 Access Grants instance.

\n
\n
Permissions
\n
\n

You must have the s3:UpdateAccessGrantsLocation permission to use this operation.

\n
\n
Additional Permissions
\n
\n

You must also have the following permission: iam:PassRole\n

\n
\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "PUT", + "uri": "/v20180820/accessgrantsinstance/location/{AccessGrantsLocationId}", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#UpdateAccessGrantsLocationRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making this request.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "AccessGrantsLocationId": { + "target": "com.amazonaws.s3control#AccessGrantsLocationId", + "traits": { + "smithy.api#documentation": "

The ID of the registered location that you are updating. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

\n

The ID of the registered location to which you are granting access. S3 Access Grants assigned this ID when you registered the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

\n

If you are passing the default location, you cannot create an access grant for the entire default location. You must also specify a bucket or a bucket and prefix in the Subprefix field.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "IAMRoleArn": { + "target": "com.amazonaws.s3control#IAMRoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#UpdateAccessGrantsLocationResult": { + "type": "structure", + "members": { + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", + "traits": { + "smithy.api#documentation": "

The date and time when you registered the location.

" + } + }, + "AccessGrantsLocationId": { + "target": "com.amazonaws.s3control#AccessGrantsLocationId", + "traits": { + "smithy.api#documentation": "

The ID of the registered location to which you are granting access. S3 Access Grants assigned this ID when you registered the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

" + } + }, + "AccessGrantsLocationArn": { + "target": "com.amazonaws.s3control#AccessGrantsLocationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the registered location that you are updating.

" + } + }, + "LocationScope": { + "target": "com.amazonaws.s3control#S3Prefix", + "traits": { + "smithy.api#documentation": "

The S3 URI path of the location that you are updating. You cannot update the scope of the registered location. The location scope can be the default S3 location s3://, the S3 path to a bucket s3://, or the S3 path to a bucket and prefix s3:///.

" + } + }, + "IAMRoleArn": { + "target": "com.amazonaws.s3control#IAMRoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role of the registered location. S3 Access Grants assumes this role to manage access to the registered location.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.s3control#UpdateJobPriority": { "type": "operation", "input": { @@ -16749,7 +18916,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Updates the existing Storage Lens group.

\n

To use this operation, you must have the permission to perform the\n s3:UpdateStorageLensGroup action. For more information about the required\n Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

", + "smithy.api#documentation": "

\nUpdates the existing Storage Lens group.

\n

To use this operation, you must have the permission to perform the\n s3:UpdateStorageLensGroup action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -16771,7 +18938,7 @@ "Name": { "target": "com.amazonaws.s3control#StorageLensGroupName", "traits": { - "smithy.api#documentation": "

The name of the Storage Lens group that you want to update.

", + "smithy.api#documentation": "

\nThe name of the Storage Lens group that you want to update.\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -16779,7 +18946,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID of the Storage Lens group owner.

", + "smithy.api#documentation": "

\nThe Amazon Web Services account ID of the Storage Lens group owner.\n

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -16791,7 +18958,7 @@ "StorageLensGroup": { "target": "com.amazonaws.s3control#StorageLensGroup", "traits": { - "smithy.api#documentation": "

The JSON file that contains the Storage Lens group configuration.

", + "smithy.api#documentation": "

\nThe JSON file that contains the Storage Lens group configuration.\n

", "smithy.api#required": {} } } diff --git a/codegen/sdk-codegen/aws-models/s3.json b/codegen/sdk-codegen/aws-models/s3.json index 611e3766b22..e12979d7f67 100644 --- a/codegen/sdk-codegen/aws-models/s3.json +++ b/codegen/sdk-codegen/aws-models/s3.json @@ -113,7 +113,10 @@ "traits": { "smithy.api#documentation": "

Key of the object for which the multipart upload was initiated.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Key" + } } }, "UploadId": { @@ -533,6 +536,9 @@ "noErrorWrapping": true }, "smithy.api#documentation": "

", + "smithy.api#suppress": [ + "RuleSetAuthSchemes" + ], "smithy.api#title": "Amazon Simple Storage Service", "smithy.api#xmlNamespace": { "uri": "http://s3.amazonaws.com/doc/2006-03-01/" @@ -615,6 +621,16 @@ "documentation": "Internal parameter to use object lambda endpoint for an operation (eg: WriteGetObjectResponse)", "type": "Boolean" }, + "Key": { + "required": false, + "documentation": "The S3 Key used to send the request. This is an optional parameter that will be set automatically for operations that are scoped to an S3 Key.", + "type": "String" + }, + "Prefix": { + "required": false, + "documentation": "The S3 Prefix used to send the request. This is an optional parameter that will be set automatically for operations that are scoped to an S3 Prefix.", + "type": "String" + }, "DisableAccessPoints": { "required": false, "documentation": "Internal parameter to disable Access Point Buckets", @@ -9596,6 +9612,45 @@ "Accelerate": false } }, + { + "documentation": "virtual addressing, aws-global region with Prefix, and Key uses the global endpoint. Prefix and Key parameters should not be used in endpoint evaluation.", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://bucket-name.s3.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "aws-global" + }, + "operationName": "ListObjects", + "operationParams": { + "Bucket": "bucket-name", + "Prefix": "prefix" + } + } + ], + "params": { + "Region": "aws-global", + "Bucket": "bucket-name", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "Prefix": "prefix", + "Key": "key" + } + }, { "documentation": "virtual addressing, aws-global region with fips uses the regional fips endpoint", "expect": { @@ -16461,7 +16516,10 @@ "traits": { "smithy.api#documentation": "

Object key for which the multipart upload was initiated.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Key" + } } }, "MultipartUpload": { @@ -17254,13 +17312,16 @@ "smithy.api#documentation": "

Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a\n valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to\n create buckets. By creating the bucket, you become the bucket owner.

\n

Not every string is an acceptable bucket name. For information about bucket naming\n restrictions, see Bucket naming\n rules.

\n

If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

\n

By default, the bucket is created in the US East (N. Virginia) Region. You can\n optionally specify a Region in the request body. To constrain the bucket creation to a\n specific Region, you can use \n LocationConstraint\n condition key. You might choose a Region to\n optimize latency, minimize costs, or address regulatory requirements. For example, if you\n reside in Europe, you will probably find it advantageous to create buckets in the Europe\n (Ireland) Region. For more information, see Accessing a\n bucket.

\n \n

If you send your create bucket request to the s3.amazonaws.com endpoint,\n the request goes to the us-east-1 Region. Accordingly, the signature\n calculations in Signature Version 4 must use us-east-1 as the Region, even\n if the location constraint in the request specifies another Region where the bucket is\n to be created. If you create a bucket in a Region other than US East (N. Virginia), your\n application must be able to handle 307 redirect. For more information, see Virtual hosting of\n buckets.

\n
\n
\n
Permissions
\n
\n

In addition to s3:CreateBucket, the following permissions are\n required when your CreateBucket request includes specific\n headers:

\n
    \n
  • \n

    \n Access control lists (ACLs) - If your\n CreateBucket request specifies access control list (ACL)\n permissions and the ACL is public-read, public-read-write,\n authenticated-read, or if you specify access permissions explicitly through\n any other ACL, both s3:CreateBucket and\n s3:PutBucketAcl permissions are needed. If the ACL for the\n CreateBucket request is private or if the request doesn't\n specify any ACLs, only s3:CreateBucket permission is needed.\n

    \n
  • \n
  • \n

    \n Object Lock - If\n ObjectLockEnabledForBucket is set to true in your\n CreateBucket request,\n s3:PutBucketObjectLockConfiguration and\n s3:PutBucketVersioning permissions are required.

    \n
  • \n
  • \n

    \n S3 Object Ownership - If your\n CreateBucket request includes the\n x-amz-object-ownership header, then the\n s3:PutBucketOwnershipControls permission is required. By\n default, ObjectOwnership is set to\n BucketOWnerEnforced and ACLs are disabled. We recommend\n keeping ACLs disabled, except in uncommon use cases where you must control\n access for each object individually. If you want to change the\n ObjectOwnership setting, you can use the\n x-amz-object-ownership header in your\n CreateBucket request to set the ObjectOwnership\n setting of your choice. For more information about S3 Object Ownership, see\n Controlling\n object ownership in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n S3 Block Public Access - If your\n specific use case requires granting public access to your S3 resources, you\n can disable Block Public Access. You can create a new bucket with Block\n Public Access enabled, then separately call the \n DeletePublicAccessBlock\n API. To use this operation, you must have the\n s3:PutBucketPublicAccessBlock permission. By default, all\n Block Public Access settings are enabled for new buckets. To avoid\n inadvertent exposure of your resources, we recommend keeping the S3 Block\n Public Access settings enabled. For more information about S3 Block Public\n Access, see Blocking\n public access to your Amazon S3 storage in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n \n

If your CreateBucket request sets BucketOwnerEnforced for\n Amazon S3 Object Ownership and specifies a bucket ACL that provides access to an external\n Amazon Web Services account, your request fails with a 400 error and returns the\n InvalidBucketAcLWithObjectOwnership error code. For more information,\n see Setting Object\n Ownership on an existing bucket in the Amazon S3 User Guide.\n

\n
\n

The following operations are related to CreateBucket:

\n ", "smithy.api#examples": [ { - "title": "To create a bucket ", - "documentation": "The following example creates a bucket.", + "title": "To create a bucket in a specific region", + "documentation": "The following example creates a bucket. The request specifies an AWS region where to create the bucket.", "input": { - "Bucket": "examplebucket" + "Bucket": "examplebucket", + "CreateBucketConfiguration": { + "LocationConstraint": "eu-west-1" + } }, "output": { - "Location": "/examplebucket" + "Location": "http://examplebucket..s3.amazonaws.com/" } } ], @@ -17612,7 +17673,10 @@ "traits": { "smithy.api#documentation": "

Object key for which the multipart upload is to be initiated.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Key" + } } }, "Metadata": { @@ -18604,7 +18668,10 @@ "traits": { "smithy.api#documentation": "

Key name of the object to delete.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Key" + } } }, "MFA": { @@ -18658,15 +18725,14 @@ "smithy.api#documentation": "

Removes the entire tag set from the specified object. For more information about\n managing object tags, see Object Tagging.

\n

To use this operation, you must have permission to perform the\n s3:DeleteObjectTagging action.

\n

To delete tags of a specific object version, add the versionId query\n parameter in the request. You will need permission for the\n s3:DeleteObjectVersionTagging action.

\n

The following operations are related to DeleteObjectTagging:

\n ", "smithy.api#examples": [ { - "title": "To remove tag set from an object version", - "documentation": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", + "title": "To remove tag set from an object", + "documentation": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "Key": "HappyFace.jpg" }, "output": { - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "VersionId": "null" } } ], @@ -18747,6 +18813,40 @@ "requestChecksumRequired": true }, "smithy.api#documentation": "

This action enables you to delete multiple objects from a bucket using a single HTTP\n request. If you know the object keys that you want to delete, then this action provides a\n suitable alternative to sending individual delete requests, reducing per-request\n overhead.

\n

The request contains a list of up to 1000 keys that you want to delete. In the XML, you\n provide the object key names, and optionally, version IDs if you want to delete a specific\n version of the object from a versioning-enabled bucket. For each key, Amazon S3 performs a\n delete action and returns the result of that delete, success, or failure, in the response.\n Note that if the object specified in the request is not found, Amazon S3 returns the result as\n deleted.

\n

The action supports two modes for the response: verbose and quiet. By default, the\n action uses verbose mode in which the response includes the result of deletion of each key\n in your request. In quiet mode the response includes only keys where the delete action\n encountered an error. For a successful deletion, the action does not return any information\n about the delete in the response body.

\n

When performing this action on an MFA Delete enabled bucket, that attempts to delete any\n versioned objects, you must include an MFA token. If you do not provide one, the entire\n request will fail, even if there are non-versioned objects you are trying to delete. If you\n provide an invalid token, whether there are versioned keys in the request or not, the\n entire Multi-Object Delete request will fail. For information about MFA Delete, see MFA\n Delete.

\n

Finally, the Content-MD5 header is required for all Multi-Object Delete requests. Amazon S3\n uses the header value to ensure that your request body has not been altered in\n transit.

\n

The following operations are related to DeleteObjects:

\n ", + "smithy.api#examples": [ + { + "title": "To delete multiple object versions from a versioned bucket", + "documentation": "The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object versions and returns the key and versions of deleted objects in the response.", + "input": { + "Bucket": "examplebucket", + "Delete": { + "Objects": [ + { + "Key": "HappyFace.jpg", + "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" + }, + { + "Key": "HappyFace.jpg", + "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" + } + ], + "Quiet": false + } + }, + "output": { + "Deleted": [ + { + "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd", + "Key": "HappyFace.jpg" + }, + { + "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b", + "Key": "HappyFace.jpg" + } + ] + } + } + ], "smithy.api#http": { "method": "POST", "uri": "/{Bucket}?delete&x-id=DeleteObjects", @@ -20990,7 +21090,10 @@ "traits": { "smithy.api#documentation": "

The key of the object for which to get the ACL information.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Key" + } } }, "VersionId": { @@ -21686,7 +21789,10 @@ "traits": { "smithy.api#documentation": "

Key of the object to get.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Key" + } } }, "Range": { @@ -21892,22 +21998,19 @@ "smithy.api#documentation": "

Returns the tag-set of an object. You send the GET request against the tagging\n subresource associated with the object.

\n

To use this operation, you must have permission to perform the\n s3:GetObjectTagging action. By default, the GET action returns information\n about current version of an object. For a versioned bucket, you can have multiple versions\n of an object in your bucket. To retrieve tags of any other version, use the versionId query\n parameter. You also need permission for the s3:GetObjectVersionTagging\n action.

\n

By default, the bucket owner has this permission and can grant this permission to\n others.

\n

For information about the Amazon S3 object tagging feature, see Object Tagging.

\n

The following actions are related to GetObjectTagging:

\n ", "smithy.api#examples": [ { - "title": "To retrieve tag set of an object", - "documentation": "The following example retrieves tag set of an object.", + "title": "To retrieve tag set of a specific object version", + "documentation": "The following example retrieves tag set of an object. The request specifies object version.", "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "exampleobject", + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "output": { - "VersionId": "null", + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI", "TagSet": [ { - "Value": "Value4", - "Key": "Key4" - }, - { - "Value": "Value3", - "Key": "Key3" + "Value": "Value1", + "Key": "Key1" } ] } @@ -22673,7 +22776,10 @@ "traits": { "smithy.api#documentation": "

The object key.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Key" + } } }, "Range": { @@ -24179,7 +24285,10 @@ "target": "com.amazonaws.s3#Prefix", "traits": { "smithy.api#documentation": "

Lists in-progress uploads only for those keys that begin with the specified prefix. You\n can use prefixes to separate a bucket into different grouping of keys. (You can think of\n using prefix to make groups in the same way that you'd use a folder in a file\n system.)

", - "smithy.api#httpQuery": "prefix" + "smithy.api#httpQuery": "prefix", + "smithy.rules#contextParam": { + "name": "Prefix" + } } }, "UploadIdMarker": { @@ -24407,7 +24516,10 @@ "target": "com.amazonaws.s3#Prefix", "traits": { "smithy.api#documentation": "

Use this parameter to select only those keys that begin with the specified prefix. You\n can use prefixes to separate a bucket into different groupings of keys. (You can think of\n using prefix to make groups in the same way that you'd use a folder in a file\n system.) You can use prefix with delimiter to roll up numerous\n objects into a single result under CommonPrefixes.

", - "smithy.api#httpQuery": "prefix" + "smithy.api#httpQuery": "prefix", + "smithy.rules#contextParam": { + "name": "Prefix" + } } }, "VersionIdMarker": { @@ -24586,7 +24698,10 @@ "target": "com.amazonaws.s3#Prefix", "traits": { "smithy.api#documentation": "

Limits the response to keys that begin with the specified prefix.

", - "smithy.api#httpQuery": "prefix" + "smithy.api#httpQuery": "prefix", + "smithy.rules#contextParam": { + "name": "Prefix" + } } }, "RequestPayer": { @@ -24770,7 +24885,10 @@ "target": "com.amazonaws.s3#Prefix", "traits": { "smithy.api#documentation": "

Limits the response to keys that begin with the specified prefix.

", - "smithy.api#httpQuery": "prefix" + "smithy.api#httpQuery": "prefix", + "smithy.rules#contextParam": { + "name": "Prefix" + } } }, "ContinuationToken": { @@ -24965,7 +25083,10 @@ "traits": { "smithy.api#documentation": "

Object key for which the multipart upload was initiated.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Key" + } } }, "MaxParts": { @@ -27984,19 +28105,16 @@ "smithy.api#documentation": "

Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object\n to it.

\n \n

Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the\n entire object to the bucket. You cannot use PutObject to only update a\n single piece of metadata for an existing object. You must put the entire object with\n updated metadata if you want to update some values.

\n
\n

Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. To prevent objects from\n being deleted or overwritten, you can use Amazon S3 Object\n Lock.

\n

To ensure that data is not corrupted traversing the network, use the\n Content-MD5 header. When you use this header, Amazon S3 checks the object\n against the provided MD5 value and, if they do not match, returns an error. Additionally,\n you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to\n the calculated MD5 value.

\n \n
    \n
  • \n

    To successfully complete the PutObject request, you must have the\n s3:PutObject in your IAM permissions.

    \n
  • \n
  • \n

    To successfully change the objects acl of your PutObject request,\n you must have the s3:PutObjectAcl in your IAM permissions.

    \n
  • \n
  • \n

    To successfully set the tag-set with your PutObject request, you\n must have the s3:PutObjectTagging in your IAM permissions.

    \n
  • \n
  • \n

    The Content-MD5 header is required for any request to upload an\n object with a retention period configured using Amazon S3 Object Lock. For more\n information about Amazon S3 Object Lock, see Amazon S3 Object Lock\n Overview in the Amazon S3 User Guide.

    \n
  • \n
\n
\n

You have four mutually exclusive options to protect data using server-side encryption in\n Amazon S3, depending on how you choose to manage the encryption keys. Specifically, the\n encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or\n DSSE-KMS), and customer-provided keys (SSE-C). Amazon S3 encrypts data with server-side\n encryption by using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to\n encrypt data at rest by using server-side encryption with other key options. For more\n information, see Using Server-Side\n Encryption.

\n

When adding a new object, you can use headers to grant ACL-based permissions to\n individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are\n then added to the ACL on the object. By default, all objects are private. Only the owner\n has full access control. For more information, see Access Control List (ACL) Overview\n and Managing\n ACLs Using the REST API.

\n

If the bucket that you're uploading objects to uses the bucket owner enforced setting\n for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that\n use this setting only accept PUT requests that don't specify an ACL or PUT requests that\n specify bucket owner full control ACLs, such as the bucket-owner-full-control\n canned ACL or an equivalent form of this ACL expressed in the XML format. PUT requests that\n contain other ACLs (for example, custom grants to certain Amazon Web Services accounts) fail and return a\n 400 error with the error code AccessControlListNotSupported.\n For more information, see Controlling ownership of\n objects and disabling ACLs in the Amazon S3 User Guide.

\n \n

If your bucket uses the bucket owner enforced setting for Object Ownership, all\n objects written to the bucket by any account will be owned by the bucket owner.

\n
\n

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The\n STANDARD storage class provides high durability and high availability. Depending on\n performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses\n the OUTPOSTS Storage Class. For more information, see Storage Classes in the\n Amazon S3 User Guide.

\n

If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID\n for the object being stored. Amazon S3 returns this ID in the response. When you enable\n versioning for a bucket, if Amazon S3 receives multiple write requests for the same object\n simultaneously, it stores all of the objects. For more information about versioning, see\n Adding Objects to\n Versioning-Enabled Buckets. For information about returning the versioning state\n of a bucket, see GetBucketVersioning.

\n

For more information about related Amazon S3 APIs, see the following:

\n ", "smithy.api#examples": [ { - "title": "To upload object and specify user-defined metadata", - "documentation": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", + "title": "To upload an object and specify optional tags", + "documentation": "The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.", "input": { - "Body": "filetoupload", + "Body": "c:\\HappyFace.jpg", "Bucket": "examplebucket", - "Key": "exampleobject", - "Metadata": { - "metadata1": "value1", - "metadata2": "value2" - } + "Key": "HappyFace.jpg", + "Tagging": "key1=value1&key2=value2" }, "output": { - "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0", + "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a", "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"" } } @@ -28145,7 +28263,10 @@ "traits": { "smithy.api#documentation": "

Key for which the PUT action was initiated.

\n

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Key" + } } }, "RequestPayer": { @@ -28290,7 +28411,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Places an Object Lock configuration on the specified bucket. The rule specified in the\n Object Lock configuration will be applied by default to every new object placed in the\n specified bucket. For more information, see Locking Objects.

\n \n
    \n
  • \n

    The DefaultRetention settings require both a mode and a\n period.

    \n
  • \n
  • \n

    The DefaultRetention period can be either Days or\n Years but you must select one. You cannot specify\n Days and Years at the same time.

    \n
  • \n
  • \n

    You can only enable Object Lock for new buckets. If you want to turn on Object\n Lock for an existing bucket, contact Amazon Web Services Support.

    \n
  • \n
\n
", + "smithy.api#documentation": "

Places an Object Lock configuration on the specified bucket. The rule specified in the\n Object Lock configuration will be applied by default to every new object placed in the\n specified bucket. For more information, see Locking Objects.

\n \n
    \n
  • \n

    The DefaultRetention settings require both a mode and a\n period.

    \n
  • \n
  • \n

    The DefaultRetention period can be either Days or\n Years but you must select one. You cannot specify\n Days and Years at the same time.

    \n
  • \n
  • \n

    You can enable Object Lock for new or existing buckets. For more\n information, see Configuring Object\n Lock.

    \n
  • \n
\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?object-lock", @@ -28631,7 +28752,10 @@ "traits": { "smithy.api#documentation": "

Object key for which the PUT action was initiated.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Key" + } } }, "Metadata": { @@ -31221,7 +31345,10 @@ "traits": { "smithy.api#documentation": "

Object key for which the multipart upload was initiated.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Key" + } } }, "PartNumber": { diff --git a/codegen/sdk-codegen/aws-models/secrets-manager.json b/codegen/sdk-codegen/aws-models/secrets-manager.json index a891388164a..59150731ab9 100644 --- a/codegen/sdk-codegen/aws-models/secrets-manager.json +++ b/codegen/sdk-codegen/aws-models/secrets-manager.json @@ -29,6 +29,38 @@ ] }, "shapes": { + "com.amazonaws.secretsmanager#APIErrorListType": { + "type": "list", + "member": { + "target": "com.amazonaws.secretsmanager#APIErrorType" + } + }, + "com.amazonaws.secretsmanager#APIErrorType": { + "type": "structure", + "members": { + "SecretId": { + "target": "com.amazonaws.secretsmanager#SecretIdType", + "traits": { + "smithy.api#documentation": "

The ARN or name of the secret.

" + } + }, + "ErrorCode": { + "target": "com.amazonaws.secretsmanager#ErrorCode", + "traits": { + "smithy.api#documentation": "

The error Secrets Manager encountered while retrieving an individual secret as part of BatchGetSecretValue, for example ResourceNotFoundException,InvalidParameterException, InvalidRequestException, DecryptionFailure, or AccessDeniedException.

" + } + }, + "Message": { + "target": "com.amazonaws.secretsmanager#ErrorMessage", + "traits": { + "smithy.api#documentation": "

A message describing the error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The error Secrets Manager encountered while retrieving an individual secret as part of BatchGetSecretValue.

" + } + }, "com.amazonaws.secretsmanager#AddReplicaRegionListType": { "type": "list", "member": { @@ -49,6 +81,101 @@ } } }, + "com.amazonaws.secretsmanager#BatchGetSecretValue": { + "type": "operation", + "input": { + "target": "com.amazonaws.secretsmanager#BatchGetSecretValueRequest" + }, + "output": { + "target": "com.amazonaws.secretsmanager#BatchGetSecretValueResponse" + }, + "errors": [ + { + "target": "com.amazonaws.secretsmanager#DecryptionFailure" + }, + { + "target": "com.amazonaws.secretsmanager#InternalServiceError" + }, + { + "target": "com.amazonaws.secretsmanager#InvalidNextTokenException" + }, + { + "target": "com.amazonaws.secretsmanager#InvalidParameterException" + }, + { + "target": "com.amazonaws.secretsmanager#InvalidRequestException" + }, + { + "target": "com.amazonaws.secretsmanager#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the contents of the encrypted fields SecretString or SecretBinary for up to 20 secrets. To retrieve a single secret, call GetSecretValue.

\n

To choose which secrets to retrieve, you can specify a list of secrets by name or ARN, or you can use filters. If Secrets Manager encounters errors such as AccessDeniedException while attempting to retrieve any of the secrets, you can see the errors in Errors in the response.

\n

Secrets Manager generates CloudTrail GetSecretValue log entries for each secret you request when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

\n

\n Required permissions: \n secretsmanager:BatchGetSecretValue, and you must have secretsmanager:GetSecretValue for each secret. If you use filters, you must also have secretsmanager:ListSecrets. If the secrets are encrypted using customer-managed keys instead of the Amazon Web Services managed key \n aws/secretsmanager, then you also need kms:Decrypt permissions for the keys.\n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.secretsmanager#BatchGetSecretValueRequest": { + "type": "structure", + "members": { + "SecretIdList": { + "target": "com.amazonaws.secretsmanager#SecretIdListType", + "traits": { + "smithy.api#documentation": "

The ARN or names of the secrets to retrieve. You must include Filters or SecretIdList, but not both.

" + } + }, + "Filters": { + "target": "com.amazonaws.secretsmanager#FiltersListType", + "traits": { + "smithy.api#documentation": "

The filters to choose which secrets to retrieve. You must include Filters or SecretIdList, but not both.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.secretsmanager#MaxResultsBatchType", + "traits": { + "smithy.api#documentation": "

The number of results to include in the response.

\n

If there are more results available, in the response, Secrets Manager includes NextToken. \n To get the next results, call BatchGetSecretValue again with the value from \n NextToken.

" + } + }, + "NextToken": { + "target": "com.amazonaws.secretsmanager#NextTokenType", + "traits": { + "smithy.api#documentation": "

A token that indicates where the output should continue from, if a \n previous call did not show all results. To get the next results, call BatchGetSecretValue again \n with this value.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.secretsmanager#BatchGetSecretValueResponse": { + "type": "structure", + "members": { + "SecretValues": { + "target": "com.amazonaws.secretsmanager#SecretValuesType", + "traits": { + "smithy.api#documentation": "

A list of secret values.

" + } + }, + "NextToken": { + "target": "com.amazonaws.secretsmanager#NextTokenType", + "traits": { + "smithy.api#documentation": "

Secrets Manager includes this value if \n there's more output available than what is included in the current response. This can \n occur even when the response includes no values at all, such as when you ask for a filtered view \n of a long list. To get the next results, call BatchGetSecretValue again \n with this value.

" + } + }, + "Errors": { + "target": "com.amazonaws.secretsmanager#APIErrorListType", + "traits": { + "smithy.api#documentation": "

A list of errors Secrets Manager encountered while attempting to retrieve individual secrets.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.secretsmanager#BooleanType": { "type": "boolean", "traits": { @@ -664,6 +791,9 @@ "smithy.api#error": "client" } }, + "com.amazonaws.secretsmanager#ErrorCode": { + "type": "string" + }, "com.amazonaws.secretsmanager#ErrorMessage": { "type": "string" }, @@ -1021,7 +1151,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the contents of the encrypted fields SecretString or\n SecretBinary from the specified version of a secret, whichever contains\n content.

\n

We recommend that you cache your secret values by using client-side caching. \n Caching secrets improves speed and reduces your costs. For more information, see Cache secrets for \n your applications.

\n

To retrieve the previous version of a secret, use VersionStage and specify \n AWSPREVIOUS. To revert to the previous version of a secret, call UpdateSecretVersionStage.

\n

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

\n

\n Required permissions: \n secretsmanager:GetSecretValue. \n If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key \n aws/secretsmanager, then you also need kms:Decrypt permissions for that key.\n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

", + "smithy.api#documentation": "

Retrieves the contents of the encrypted fields SecretString or\n SecretBinary from the specified version of a secret, whichever contains\n content.

\n

To retrieve the values for a group of secrets, call BatchGetSecretValue.

\n

We recommend that you cache your secret values by using client-side caching. \n Caching secrets improves speed and reduces your costs. For more information, see Cache secrets for \n your applications.

\n

To retrieve the previous version of a secret, use VersionStage and specify \n AWSPREVIOUS. To revert to the previous version of a secret, call UpdateSecretVersionStage.

\n

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

\n

\n Required permissions: \n secretsmanager:GetSecretValue. \n If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key \n aws/secretsmanager, then you also need kms:Decrypt permissions for that key.\n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

", "smithy.api#examples": [ { "title": "To retrieve the encrypted secret value of a secret", @@ -1364,7 +1494,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the secrets that are stored by Secrets Manager in the Amazon Web Services account, not including secrets \n that are marked for deletion. To see secrets marked for deletion, use the Secrets Manager console.

\n

ListSecrets is eventually consistent, however it might not reflect changes from the last five minutes. \n To get the latest information for a specific secret, use DescribeSecret.

\n

To list the versions of a secret, use ListSecretVersionIds.

\n

To get the secret value from SecretString or SecretBinary, \n call GetSecretValue.

\n

For information about finding secrets in the console, see Find secrets in Secrets Manager.

\n

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

\n

\n Required permissions: \n secretsmanager:ListSecrets. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

", + "smithy.api#documentation": "

Lists the secrets that are stored by Secrets Manager in the Amazon Web Services account, not including secrets \n that are marked for deletion. To see secrets marked for deletion, use the Secrets Manager console.

\n

ListSecrets is eventually consistent, however it might not reflect changes from the last five minutes. \n To get the latest information for a specific secret, use DescribeSecret.

\n

To list the versions of a secret, use ListSecretVersionIds.

\n

To retrieve the values for the secrets, call BatchGetSecretValue or GetSecretValue.

\n

For information about finding secrets in the console, see Find secrets in Secrets Manager.

\n

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

\n

\n Required permissions: \n secretsmanager:ListSecrets. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

", "smithy.api#examples": [ { "title": "To list the secrets in your account", @@ -1475,6 +1605,15 @@ "smithy.api#error": "client" } }, + "com.amazonaws.secretsmanager#MaxResultsBatchType": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 20 + } + } + }, "com.amazonaws.secretsmanager#MaxResultsType": { "type": "integer", "traits": { @@ -2335,6 +2474,18 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.secretsmanager#SecretIdListType": { + "type": "list", + "member": { + "target": "com.amazonaws.secretsmanager#SecretIdType" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20 + } + } + }, "com.amazonaws.secretsmanager#SecretIdType": { "type": "string", "traits": { @@ -2356,7 +2507,7 @@ "Name": { "target": "com.amazonaws.secretsmanager#SecretNameType", "traits": { - "smithy.api#documentation": "

The friendly name of the secret. You can use forward slashes in the name to represent a\n path hierarchy. For example, /prod/databases/dbserver1 could represent the secret\n for a server named dbserver1 in the folder databases in the folder\n prod.

" + "smithy.api#documentation": "

The friendly name of the secret.

" } }, "Description": { @@ -2480,6 +2631,62 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.secretsmanager#SecretValueEntry": { + "type": "structure", + "members": { + "ARN": { + "target": "com.amazonaws.secretsmanager#SecretARNType", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the secret.

" + } + }, + "Name": { + "target": "com.amazonaws.secretsmanager#SecretNameType", + "traits": { + "smithy.api#documentation": "

The friendly name of the secret.

" + } + }, + "VersionId": { + "target": "com.amazonaws.secretsmanager#SecretVersionIdType", + "traits": { + "smithy.api#documentation": "

The unique version identifier of this version of the secret.

" + } + }, + "SecretBinary": { + "target": "com.amazonaws.secretsmanager#SecretBinaryType", + "traits": { + "smithy.api#documentation": "

The decrypted secret value, if the secret value was originally provided as\n binary data in the form of a byte array. The parameter represents the binary data as\n a base64-encoded\n string.

" + } + }, + "SecretString": { + "target": "com.amazonaws.secretsmanager#SecretStringType", + "traits": { + "smithy.api#documentation": "

The decrypted secret value, if the secret value was originally provided as a string or \n through the Secrets Manager console.

" + } + }, + "VersionStages": { + "target": "com.amazonaws.secretsmanager#SecretVersionStagesType", + "traits": { + "smithy.api#documentation": "

A list of all of the staging labels currently attached to this version of the\n secret.

" + } + }, + "CreatedDate": { + "target": "com.amazonaws.secretsmanager#CreatedDateType", + "traits": { + "smithy.api#documentation": "

The date the secret was created.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that contains the secret value and other details for a secret.

" + } + }, + "com.amazonaws.secretsmanager#SecretValuesType": { + "type": "list", + "member": { + "target": "com.amazonaws.secretsmanager#SecretValueEntry" + } + }, "com.amazonaws.secretsmanager#SecretVersionIdType": { "type": "string", "traits": { @@ -3192,6 +3399,9 @@ "type": "service", "version": "2017-10-17", "operations": [ + { + "target": "com.amazonaws.secretsmanager#BatchGetSecretValue" + }, { "target": "com.amazonaws.secretsmanager#CancelRotateSecret" }, diff --git a/codegen/sdk-codegen/aws-models/securityhub.json b/codegen/sdk-codegen/aws-models/securityhub.json index fe848e378a0..11a773d16f3 100644 --- a/codegen/sdk-codegen/aws-models/securityhub.json +++ b/codegen/sdk-codegen/aws-models/securityhub.json @@ -483,6 +483,12 @@ } } }, + "com.amazonaws.securityhub#AlphaNumericNonEmptyString": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[-_ a-zA-Z0-9]+$" + } + }, "com.amazonaws.securityhub#ArnList": { "type": "list", "member": { @@ -4018,7 +4024,7 @@ } }, "traits": { - "smithy.api#documentation": "

A complex type that describes the\n Amazon S3 bucket, HTTP server (for example, a web server), AWS Elemental MediaStore, or other server from which CloudFront gets your files.

" + "smithy.api#documentation": "

A complex type that describes the\n Amazon S3 bucket, HTTP server (for example, a web server), Elemental MediaStore, or other server from which CloudFront gets your files.

" } }, "com.amazonaws.securityhub#AwsCloudFrontDistributionOriginItemList": { @@ -18638,10 +18644,34 @@ "traits": { "smithy.api#documentation": "

\n The unique identifier of a standard in which a control is enabled. This field consists of the resource portion of the \n Amazon Resource Name (ARN) returned for a standard in the DescribeStandards API response.\n

" } + }, + "VulnerabilitiesExploitAvailable": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n Indicates whether a software vulnerability in your environment has a known exploit. You can filter findings by this \n field only if you use Security Hub and Amazon Inspector.\n

" + } + }, + "VulnerabilitiesFixAvailable": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n Indicates whether a vulnerability is fixed in a newer version of the affected software packages. You can filter \n findings by this field only if you use Security Hub and Amazon Inspector.\n \n

" + } + }, + "ComplianceSecurityControlParametersName": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The name of a security control parameter.\n

" + } + }, + "ComplianceSecurityControlParametersValue": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The current value of a security control parameter.\n

" + } } }, "traits": { - "smithy.api#documentation": "

A collection of attributes that are applied to all active Security Hub-aggregated findings and\n that result in a subset of findings that are included in this insight.

\n

You can filter by up to 10 finding attributes. For each attribute, you can provide up to\n 20 filter values.

" + "smithy.api#documentation": "

A collection of filters that are applied to all active findings aggregated by Security Hub.

\n

You can filter by up to ten finding attributes. For each attribute, you can provide up to\n 20 filter values.

" } }, "com.amazonaws.securityhub#AwsSecurityFindingIdentifier": { @@ -20616,7 +20646,17 @@ "Description": "This AWS control checks whether ACM Certificates in your account are marked for expiration within a specified time period. Certificates provided by ACM are automatically renewed. ACM does not automatically renew certificates that you import.", "RemediationUrl": "https://docs.aws.amazon.com/console/securityhub/ACM.1/remediation", "SeverityRating": "MEDIUM", - "SecurityControlStatus": "ENABLED" + "SecurityControlStatus": "ENABLED", + "UpdateStatus": "UPDATING", + "Parameters": { + "daysToExpiration": { + "ValueType": "DEFAULT", + "Value": { + "Integer": 30 + } + } + }, + "LastUpdateReason": "Stayed with default value" }, { "SecurityControlId": "APIGateway.1", @@ -20625,7 +20665,17 @@ "Description": "This control checks whether all stages of Amazon API Gateway REST and WebSocket APIs have logging enabled. The control fails if logging is not enabled for all methods of a stage or if loggingLevel is neither ERROR nor INFO.", "RemediationUrl": "https://docs.aws.amazon.com/console/securityhub/APIGateway.1/remediation", "SeverityRating": "MEDIUM", - "SecurityControlStatus": "ENABLED" + "SecurityControlStatus": "ENABLED", + "UpdateStatus": "UPDATING", + "Parameters": { + "loggingLevel": { + "ValueType": "CUSTOM", + "Value": { + "Enum": "ERROR" + } + } + }, + "LastUpdateReason": "Updated control parameters to comply with internal requirements" } ] } @@ -21288,6 +21338,20 @@ "com.amazonaws.securityhub#Boolean": { "type": "boolean" }, + "com.amazonaws.securityhub#BooleanConfigurationOptions": { + "type": "structure", + "members": { + "DefaultValue": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#documentation": "

\n The Security Hub default value for a boolean parameter.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter with a boolean. For a boolean parameter, the options are \n true and false.\n

" + } + }, "com.amazonaws.securityhub#BooleanFilter": { "type": "structure", "members": { @@ -21552,6 +21616,12 @@ "traits": { "smithy.api#documentation": "

The enabled security standards in which a security control is currently enabled.\n

" } + }, + "SecurityControlParameters": { + "target": "com.amazonaws.securityhub#SecurityControlParametersList", + "traits": { + "smithy.api#documentation": "

\n An object that includes security control parameter names and values.\n

" + } } }, "traits": { @@ -21587,6 +21657,62 @@ } } }, + "com.amazonaws.securityhub#ConfigurationOptions": { + "type": "union", + "members": { + "Integer": { + "target": "com.amazonaws.securityhub#IntegerConfigurationOptions", + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is an integer.\n

" + } + }, + "IntegerList": { + "target": "com.amazonaws.securityhub#IntegerListConfigurationOptions", + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is a list of integers.\n

" + } + }, + "Double": { + "target": "com.amazonaws.securityhub#DoubleConfigurationOptions", + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is a double.\n

" + } + }, + "String": { + "target": "com.amazonaws.securityhub#StringConfigurationOptions", + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is a string data type.\n

" + } + }, + "StringList": { + "target": "com.amazonaws.securityhub#StringListConfigurationOptions", + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is a list of strings.\n

" + } + }, + "Boolean": { + "target": "com.amazonaws.securityhub#BooleanConfigurationOptions", + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is a boolean. For a boolean parameter, the options are \n true and false.\n

" + } + }, + "Enum": { + "target": "com.amazonaws.securityhub#EnumConfigurationOptions", + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is an enum.\n

" + } + }, + "EnumList": { + "target": "com.amazonaws.securityhub#EnumListConfigurationOptions", + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is a list of enums.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter.\n

" + } + }, "com.amazonaws.securityhub#ContainerDetails": { "type": "structure", "members": { @@ -22335,6 +22461,12 @@ "smithy.api#documentation": "

Contains an instance of sensitive data that was detected by a customer-defined identifier.

" } }, + "com.amazonaws.securityhub#CustomizableProperties": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#SecurityControlProperty" + } + }, "com.amazonaws.securityhub#Cvss": { "type": "structure", "members": { @@ -23896,6 +24028,32 @@ "com.amazonaws.securityhub#Double": { "type": "double" }, + "com.amazonaws.securityhub#DoubleConfigurationOptions": { + "type": "structure", + "members": { + "DefaultValue": { + "target": "com.amazonaws.securityhub#Double", + "traits": { + "smithy.api#documentation": "

\n The Security Hub default value for a control parameter that is a double.\n

" + } + }, + "Min": { + "target": "com.amazonaws.securityhub#Double", + "traits": { + "smithy.api#documentation": "

\n The minimum valid value for a control parameter that is a double.\n

" + } + }, + "Max": { + "target": "com.amazonaws.securityhub#Double", + "traits": { + "smithy.api#documentation": "

\n The maximum valid value for a control parameter that is a double.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is a double.\n

" + } + }, "com.amazonaws.securityhub#EnableImportFindingsForProduct": { "type": "operation", "input": { @@ -24114,6 +24272,52 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#EnumConfigurationOptions": { + "type": "structure", + "members": { + "DefaultValue": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The Security Hub default value for a control parameter that is an enum.\n

" + } + }, + "AllowedValues": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

\n The valid values for a control parameter that is an enum.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is an enum.\n

" + } + }, + "com.amazonaws.securityhub#EnumListConfigurationOptions": { + "type": "structure", + "members": { + "DefaultValue": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

\n The Security Hub default value for a control parameter that is a list of enums.\n

" + } + }, + "MaxItems": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

\n The maximum number of list items that an enum list control parameter can accept.\n

" + } + }, + "AllowedValues": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

\n The valid values for a control parameter that is a list of enums.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is a list of enums.\n

" + } + }, "com.amazonaws.securityhub#FieldMap": { "type": "map", "key": { @@ -25466,6 +25670,103 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#GetSecurityControlDefinition": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#GetSecurityControlDefinitionRequest" + }, + "output": { + "target": "com.amazonaws.securityhub#GetSecurityControlDefinitionResponse" + }, + "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 Retrieves the definition of a security control. The definition includes the control title, description, Region availability, parameter definitions, and other details.\n

", + "smithy.api#examples": [ + { + "title": "To get the definition of a security control.", + "documentation": "The following example retrieves definition details for the specified security control.", + "input": { + "SecurityControlId": "EC2.4" + }, + "output": { + "SecurityControlDefinition": { + "CurrentRegionAvailability": "AVAILABLE", + "Description": "This control checks whether an Amazon EC2 instance has been stopped for longer than the allowed number of days. The control fails if an EC2 instance is stopped for longer than the maximum allowed time period. Unless you provide a custom parameter value for the maximum allowed time period, Security Hub uses a default value of 30 days.", + "RemediationUrl": "https://docs.aws.amazon.com/console/securityhub/EC2.4/remediation", + "SecurityControlId": "EC2.4", + "SeverityRating": "MEDIUM", + "Title": "Stopped Amazon EC2 instances should be removed after a specified time period", + "ParameterDefinitions": { + "AllowedDays": { + "Description": "Number of days the EC2 instance is allowed to be in a stopped state before generating a failed finding", + "ConfigurationOptions": { + "Integer": { + "DefaultValue": 30, + "Min": 1, + "Max": 365 + } + } + } + } + } + } + } + ], + "smithy.api#http": { + "method": "GET", + "uri": "/securityControl/definition", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#GetSecurityControlDefinitionRequest": { + "type": "structure", + "members": { + "SecurityControlId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\n The ID of the security control to retrieve the definition for. This field doesn’t accept an Amazon Resource Name (ARN).\n

", + "smithy.api#httpQuery": "SecurityControlId", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#GetSecurityControlDefinitionResponse": { + "type": "structure", + "members": { + "SecurityControlDefinition": { + "target": "com.amazonaws.securityhub#SecurityControlDefinition", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#IcmpTypeCode": { "type": "structure", "members": { @@ -25635,12 +25936,70 @@ "com.amazonaws.securityhub#Integer": { "type": "integer" }, + "com.amazonaws.securityhub#IntegerConfigurationOptions": { + "type": "structure", + "members": { + "DefaultValue": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

\n The Security Hub default value for a control parameter that is an integer.\n

" + } + }, + "Min": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

\n The minimum valid value for a control parameter that is an integer.\n

" + } + }, + "Max": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

\n The maximum valid value for a control parameter that is an integer.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is an integer.\n

" + } + }, "com.amazonaws.securityhub#IntegerList": { "type": "list", "member": { "target": "com.amazonaws.securityhub#Integer" } }, + "com.amazonaws.securityhub#IntegerListConfigurationOptions": { + "type": "structure", + "members": { + "DefaultValue": { + "target": "com.amazonaws.securityhub#IntegerList", + "traits": { + "smithy.api#documentation": "

\n The Security Hub default value for a control parameter that is a list of integers.\n

" + } + }, + "Min": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

\n The minimum valid value for a control parameter that is a list of integers.\n

" + } + }, + "Max": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

\n The maximum valid value for a control parameter that is a list of integers.\n

" + } + }, + "MaxItems": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

\n The maximum number of list items that an interger list control parameter can accept.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is a list of integers.\n

" + } + }, "com.amazonaws.securityhub#IntegrationType": { "type": "enum", "members": { @@ -26550,7 +26909,10 @@ "Description": "This AWS control checks whether ACM Certificates in your account are marked for expiration within a specified time period. Certificates provided by ACM are automatically renewed. ACM does not automatically renew certificates that you import.", "RemediationUrl": "https://docs.aws.amazon.com/console/securityhub/ACM.1/remediation", "SeverityRating": "MEDIUM", - "CurrentRegionAvailability": "AVAILABLE" + "CurrentRegionAvailability": "AVAILABLE", + "CustomizableProperties": [ + "Parameters" + ] }, { "SecurityControlId": "APIGateway.1", @@ -26558,7 +26920,10 @@ "Description": "This control checks whether all stages of Amazon API Gateway REST and WebSocket APIs have logging enabled. The control fails if logging is not enabled for all methods of a stage or if loggingLevel is neither ERROR nor INFO.", "RemediationUrl": "https://docs.aws.amazon.com/console/securityhub/APIGateway.1/remediation", "SeverityRating": "MEDIUM", - "CurrentRegionAvailability": "AVAILABLE" + "CurrentRegionAvailability": "AVAILABLE", + "CustomizableProperties": [ + "Parameters" + ] }, { "SecurityControlId": "APIGateway.2", @@ -27421,6 +27786,18 @@ "smithy.api#documentation": "

The less-than-equal condition to be applied to a single field when querying for\n findings.

" } }, + "Gt": { + "target": "com.amazonaws.securityhub#Double", + "traits": { + "smithy.api#documentation": "

\n The greater-than condition to be applied to a single field when querying for findings.\n

" + } + }, + "Lt": { + "target": "com.amazonaws.securityhub#Double", + "traits": { + "smithy.api#documentation": "

\n The less-than condition to be applied to a single field when querying for findings.\n

" + } + }, "Eq": { "target": "com.amazonaws.securityhub#Double", "traits": { @@ -27508,14 +27885,151 @@ "target": "com.amazonaws.securityhub#Page" } }, - "com.amazonaws.securityhub#Partition": { - "type": "enum", + "com.amazonaws.securityhub#ParameterConfiguration": { + "type": "structure", "members": { - "AWS": { - "target": "smithy.api#Unit", + "ValueType": { + "target": "com.amazonaws.securityhub#ParameterValueType", "traits": { - "smithy.api#enumValue": "aws" - } + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\n Identifies whether a control parameter uses a custom user-defined value or the Security Hub default value.\n

", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.securityhub#ParameterValue", + "traits": { + "smithy.api#documentation": "

\n The current value of a control parameter.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n An object that provides the current value of a security control parameter and identifies whether it has been customized.\n

" + } + }, + "com.amazonaws.securityhub#ParameterDefinition": { + "type": "structure", + "members": { + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\n Description of a control parameter.\n

", + "smithy.api#required": {} + } + }, + "ConfigurationOptions": { + "target": "com.amazonaws.securityhub#ConfigurationOptions", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\n The options for customizing a control parameter. Customization options vary based on the data type of the parameter.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\n An object that describes a security control parameter and the options for customizing it. \n

" + } + }, + "com.amazonaws.securityhub#ParameterDefinitions": { + "type": "map", + "key": { + "target": "com.amazonaws.securityhub#NonEmptyString" + }, + "value": { + "target": "com.amazonaws.securityhub#ParameterDefinition" + } + }, + "com.amazonaws.securityhub#ParameterValue": { + "type": "union", + "members": { + "Integer": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

\n A control parameter that is an integer.\n

" + } + }, + "IntegerList": { + "target": "com.amazonaws.securityhub#IntegerList", + "traits": { + "smithy.api#documentation": "

\n A control parameter that is a list of integers.\n

" + } + }, + "Double": { + "target": "com.amazonaws.securityhub#Double", + "traits": { + "smithy.api#documentation": "

\n A control parameter that is a double.\n

" + } + }, + "String": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n A control parameter that is a string.\n

" + } + }, + "StringList": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

\n A control parameter that is a list of strings.\n

" + } + }, + "Boolean": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#documentation": "

\n A control parameter that is a boolean.\n

" + } + }, + "Enum": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n A control parameter that is an enum.\n

" + } + }, + "EnumList": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

\n A control parameter that is a list of enums.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n An object that includes the data type of a security control parameter and its current value.\n

" + } + }, + "com.amazonaws.securityhub#ParameterValueType": { + "type": "enum", + "members": { + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEFAULT" + } + }, + "CUSTOM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOM" + } + } + } + }, + "com.amazonaws.securityhub#Parameters": { + "type": "map", + "key": { + "target": "com.amazonaws.securityhub#NonEmptyString" + }, + "value": { + "target": "com.amazonaws.securityhub#ParameterConfiguration" + } + }, + "com.amazonaws.securityhub#Partition": { + "type": "enum", + "members": { + "AWS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "aws" + } }, "AWS_CN": { "target": "smithy.api#Unit", @@ -28676,6 +29190,22 @@ "smithy.api#documentation": "

Additional details about a resource related to a finding.

\n

To provide the details, use the object that corresponds to the resource type. For\n example, if the resource type is AwsEc2Instance, then you use the\n AwsEc2Instance object to provide the details.

\n

If the type-specific object does not contain all of the fields you want to populate,\n then you use the Other object to populate those additional fields.

\n

You also use the Other object to populate the details when the selected\n type does not have a corresponding object.

" } }, + "com.amazonaws.securityhub#ResourceInUseException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.securityhub#NonEmptyString" + }, + "Code": { + "target": "com.amazonaws.securityhub#NonEmptyString" + } + }, + "traits": { + "smithy.api#documentation": "

\n The request was rejected because it conflicts with the resource's availability. For example, you tried \n to update a security control that's currently in the UPDATING state.\n

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.securityhub#ResourceList": { "type": "list", "member": { @@ -29412,6 +29942,24 @@ "smithy.api#documentation": "

\n The enablement status of a security control in a specific standard.\n

", "smithy.api#required": {} } + }, + "UpdateStatus": { + "target": "com.amazonaws.securityhub#UpdateStatus", + "traits": { + "smithy.api#documentation": "

\n Identifies whether customizable properties of a security control are reflected in Security Hub findings. A status of \nREADY indicates findings include the current parameter values. A status of UPDATING indicates that \nall findings may not include the current parameter values.\n

" + } + }, + "Parameters": { + "target": "com.amazonaws.securityhub#Parameters", + "traits": { + "smithy.api#documentation": "

\n An object that identifies the name of a control parameter, its current value, and whether it has been customized.\n

" + } + }, + "LastUpdateReason": { + "target": "com.amazonaws.securityhub#AlphaNumericNonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The most recent reason for updating the customizable properties of a security control. This differs from the \n UpdateReason field of the \n BatchUpdateStandardsControlAssociations\n API, which tracks the \n reason for updating the enablement status of a control. This field accepts alphanumeric \n characters in addition to white spaces, dashes, and underscores.\n

" + } } }, "traits": { @@ -29468,6 +30016,18 @@ "smithy.api#documentation": "

\n Specifies whether a security control is available in the current Amazon Web Services Region.\n

", "smithy.api#required": {} } + }, + "CustomizableProperties": { + "target": "com.amazonaws.securityhub#CustomizableProperties", + "traits": { + "smithy.api#documentation": "

\n Security control properties that you can customize. Currently, only parameter customization is supported for select \n controls. An empty array is returned for controls that don’t support custom properties.\n

" + } + }, + "ParameterDefinitions": { + "target": "com.amazonaws.securityhub#ParameterDefinitions", + "traits": { + "smithy.api#documentation": "

\n An object that provides a security control parameter name, description, and the options for customizing it. This \nobject is excluded for a control that doesn't support custom parameters.\n

" + } } }, "traits": { @@ -29480,6 +30040,43 @@ "target": "com.amazonaws.securityhub#SecurityControlDefinition" } }, + "com.amazonaws.securityhub#SecurityControlParameter": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The name of a \n

" + } + }, + "Value": { + "target": "com.amazonaws.securityhub#TypeList", + "traits": { + "smithy.api#documentation": "

\n The current value of a control parameter.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n A parameter that a security control accepts.\n

" + } + }, + "com.amazonaws.securityhub#SecurityControlParametersList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#SecurityControlParameter" + } + }, + "com.amazonaws.securityhub#SecurityControlProperty": { + "type": "enum", + "members": { + "Parameters": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Parameters" + } + } + } + }, "com.amazonaws.securityhub#SecurityControls": { "type": "list", "member": { @@ -29640,6 +30237,9 @@ { "target": "com.amazonaws.securityhub#GetMembers" }, + { + "target": "com.amazonaws.securityhub#GetSecurityControlDefinition" + }, { "target": "com.amazonaws.securityhub#InviteMembers" }, @@ -29691,6 +30291,9 @@ { "target": "com.amazonaws.securityhub#UpdateOrganizationConfiguration" }, + { + "target": "com.amazonaws.securityhub#UpdateSecurityControl" + }, { "target": "com.amazonaws.securityhub#UpdateSecurityHubConfiguration" }, @@ -30763,7 +31366,7 @@ "Product": { "target": "com.amazonaws.securityhub#Double", "traits": { - "smithy.api#documentation": "

Deprecated. This attribute is being deprecated. Instead of providing\n Product, provide Original.

\n

The native severity as defined by the Amazon Web Services service or integrated partner product that\n generated the finding.

" + "smithy.api#documentation": "

Deprecated. This attribute isn't included in findings. Instead of providing\n Product, provide Original.

\n

The native severity as defined by the Amazon Web Services service or integrated partner product that\n generated the finding.

" } }, "Label": { @@ -30775,7 +31378,7 @@ "Normalized": { "target": "com.amazonaws.securityhub#Integer", "traits": { - "smithy.api#documentation": "

Deprecated. The normalized severity of a finding. This attribute is being deprecated.\n Instead of providing Normalized, provide Label.

\n

If you provide Label and do not provide Normalized, then\n Normalized is set automatically as follows.

\n
    \n
  • \n

    \n INFORMATIONAL - 0

    \n
  • \n
  • \n

    \n LOW - 1

    \n
  • \n
  • \n

    \n MEDIUM - 40

    \n
  • \n
  • \n

    \n HIGH - 70

    \n
  • \n
  • \n

    \n CRITICAL - 90

    \n
  • \n
" + "smithy.api#documentation": "

Deprecated. The normalized severity of a finding.\n Instead of providing Normalized, provide Label.

\n

If you provide Label and do not provide Normalized, then\n Normalized is set automatically as follows.

\n
    \n
  • \n

    \n INFORMATIONAL - 0

    \n
  • \n
  • \n

    \n LOW - 1

    \n
  • \n
  • \n

    \n MEDIUM - 40

    \n
  • \n
  • \n

    \n HIGH - 70

    \n
  • \n
  • \n

    \n CRITICAL - 90

    \n
  • \n
" } }, "Original": { @@ -31632,6 +32235,32 @@ "target": "com.amazonaws.securityhub#StatusReason" } }, + "com.amazonaws.securityhub#StringConfigurationOptions": { + "type": "structure", + "members": { + "DefaultValue": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The Security Hub default value for a control parameter that is a string.\n

" + } + }, + "Re2Expression": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n An RE2 regular expression that Security Hub uses to validate a user-provided control parameter string.\n

" + } + }, + "ExpressionDescription": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The description of the RE2 regular expression.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is a string.\n

" + } + }, "com.amazonaws.securityhub#StringFilter": { "type": "structure", "members": { @@ -31705,6 +32334,38 @@ "target": "com.amazonaws.securityhub#NonEmptyString" } }, + "com.amazonaws.securityhub#StringListConfigurationOptions": { + "type": "structure", + "members": { + "DefaultValue": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

\n The Security Hub default value for a control parameter that is a list of strings.\n

" + } + }, + "Re2Expression": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n An RE2 regular expression that Security Hub uses to validate a user-provided list of strings for a control \n parameter.\n

" + } + }, + "MaxItems": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

\n The maximum number of list items that a string list control parameter can accept.\n

" + } + }, + "ExpressionDescription": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The description of the RE2 regular expression.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The options for customizing a security control parameter that is a list of strings.\n

" + } + }, "com.amazonaws.securityhub#TagKey": { "type": "string", "traits": { @@ -32782,6 +33443,99 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#UpdateSecurityControl": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#UpdateSecurityControlRequest" + }, + "output": { + "target": "com.amazonaws.securityhub#UpdateSecurityControlResponse" + }, + "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#ResourceInUseException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Updates the properties of a security control. \n

", + "smithy.api#examples": [ + { + "title": "To update security control properties", + "documentation": "The following example updates the specified security control. Specifically, this example updates control parameters.", + "input": { + "SecurityControlId": "ACM.1", + "Parameters": { + "maxCredentialUsageAge": { + "ValueType": "CUSTOM", + "Value": { + "Integer": 15 + } + } + }, + "LastUpdateReason": "Comply with internal requirements" + }, + "output": {} + } + ], + "smithy.api#http": { + "method": "PATCH", + "uri": "/securityControl/update", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#UpdateSecurityControlRequest": { + "type": "structure", + "members": { + "SecurityControlId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) or ID of the control to update. \n

", + "smithy.api#required": {} + } + }, + "Parameters": { + "target": "com.amazonaws.securityhub#Parameters", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\n An object that specifies which security control parameters to update.\n

", + "smithy.api#required": {} + } + }, + "LastUpdateReason": { + "target": "com.amazonaws.securityhub#AlphaNumericNonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The most recent reason for updating the properties of the security control. This field accepts alphanumeric \ncharacters in addition to white spaces, dashes, and underscores.\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#UpdateSecurityControlResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#UpdateSecurityHubConfiguration": { "type": "operation", "input": { @@ -32930,6 +33684,23 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#UpdateStatus": { + "type": "enum", + "members": { + "READY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "READY" + } + }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + } + } + }, "com.amazonaws.securityhub#VerificationState": { "type": "enum", "members": { diff --git a/codegen/sdk-codegen/aws-models/sfn.json b/codegen/sdk-codegen/aws-models/sfn.json index 6afcef8f93e..a87b87d5195 100644 --- a/codegen/sdk-codegen/aws-models/sfn.json +++ b/codegen/sdk-codegen/aws-models/sfn.json @@ -126,6 +126,9 @@ { "target": "com.amazonaws.sfn#TagResource" }, + { + "target": "com.amazonaws.sfn#TestState" + }, { "target": "com.amazonaws.sfn#UntagResource" }, @@ -2187,7 +2190,7 @@ "redriveCount": { "target": "com.amazonaws.sfn#RedriveCount", "traits": { - "smithy.api#documentation": "

The number of times you've redriven an execution. If you have not yet redriven an execution, the redriveCount is 0. This count is not updated for redrives that failed to start or are pending to be redriven.

" + "smithy.api#documentation": "

The number of times you've redriven an execution. If you have not yet redriven an execution, the redriveCount is 0. This count is only updated if you successfully redrive an execution.

" } }, "redriveDate": { @@ -2326,7 +2329,7 @@ "redriveCount": { "target": "com.amazonaws.sfn#RedriveCount", "traits": { - "smithy.api#documentation": "

The number of times you've redriven a Map Run. If you have not yet redriven a Map Run, the redriveCount is 0. This count is not updated for redrives that failed to start or are pending to be redriven.

" + "smithy.api#documentation": "

The number of times you've redriven a Map Run. If you have not yet redriven a Map Run, the redriveCount is 0. This count is only updated if you successfully redrive a Map Run.

" } }, "redriveDate": { @@ -2814,7 +2817,7 @@ "redriveCount": { "target": "com.amazonaws.sfn#RedriveCount", "traits": { - "smithy.api#documentation": "

The number of times you've redriven an execution. If you have not yet redriven an execution, the redriveCount is 0. This count is not updated for redrives that failed to start or are pending to be redriven.

" + "smithy.api#documentation": "

The number of times you've redriven an execution. If you have not yet redriven an execution, the redriveCount is 0. This count is only updated when you successfully redrive an execution.

" } }, "redriveDate": { @@ -3168,6 +3171,24 @@ "smithy.api#output": {} } }, + "com.amazonaws.sfn#HTTPBody": { + "type": "string" + }, + "com.amazonaws.sfn#HTTPHeaders": { + "type": "string" + }, + "com.amazonaws.sfn#HTTPMethod": { + "type": "string" + }, + "com.amazonaws.sfn#HTTPProtocol": { + "type": "string" + }, + "com.amazonaws.sfn#HTTPStatusCode": { + "type": "string" + }, + "com.amazonaws.sfn#HTTPStatusMessage": { + "type": "string" + }, "com.amazonaws.sfn#HistoryEvent": { "type": "structure", "members": { @@ -3786,6 +3807,162 @@ "com.amazonaws.sfn#IncludeExecutionDataGetExecutionHistory": { "type": "boolean" }, + "com.amazonaws.sfn#InspectionData": { + "type": "structure", + "members": { + "input": { + "target": "com.amazonaws.sfn#SensitiveData", + "traits": { + "smithy.api#documentation": "

The raw state input.

" + } + }, + "afterInputPath": { + "target": "com.amazonaws.sfn#SensitiveData", + "traits": { + "smithy.api#documentation": "

The input after Step Functions applies the InputPath filter.

" + } + }, + "afterParameters": { + "target": "com.amazonaws.sfn#SensitiveData", + "traits": { + "smithy.api#documentation": "

The effective input after Step Functions applies the Parameters filter.

" + } + }, + "result": { + "target": "com.amazonaws.sfn#SensitiveData", + "traits": { + "smithy.api#documentation": "

The state's raw result.

" + } + }, + "afterResultSelector": { + "target": "com.amazonaws.sfn#SensitiveData", + "traits": { + "smithy.api#documentation": "

The effective result after Step Functions applies the ResultSelector filter.

" + } + }, + "afterResultPath": { + "target": "com.amazonaws.sfn#SensitiveData", + "traits": { + "smithy.api#documentation": "

The effective result combined with the raw state input after Step Functions applies the ResultPath filter.

" + } + }, + "request": { + "target": "com.amazonaws.sfn#InspectionDataRequest", + "traits": { + "smithy.api#documentation": "

The raw HTTP request that is sent when you test an HTTP Task.

" + } + }, + "response": { + "target": "com.amazonaws.sfn#InspectionDataResponse", + "traits": { + "smithy.api#documentation": "

The raw HTTP response that is returned when you test an HTTP Task.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains additional details about the state's execution, including its input and output data processing flow, and HTTP request and response information.

", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.sfn#InspectionDataRequest": { + "type": "structure", + "members": { + "protocol": { + "target": "com.amazonaws.sfn#HTTPProtocol", + "traits": { + "smithy.api#documentation": "

The protocol used to make the HTTP request.

" + } + }, + "method": { + "target": "com.amazonaws.sfn#HTTPMethod", + "traits": { + "smithy.api#documentation": "

The HTTP method used for the HTTP request.

" + } + }, + "url": { + "target": "com.amazonaws.sfn#URL", + "traits": { + "smithy.api#documentation": "

The API endpoint used for the HTTP request.

" + } + }, + "headers": { + "target": "com.amazonaws.sfn#HTTPHeaders", + "traits": { + "smithy.api#documentation": "

The request headers associated with the HTTP request.

" + } + }, + "body": { + "target": "com.amazonaws.sfn#HTTPBody", + "traits": { + "smithy.api#documentation": "

The request body for the HTTP request.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains additional details about the state's execution, including its input and output data processing flow, and HTTP request information.

" + } + }, + "com.amazonaws.sfn#InspectionDataResponse": { + "type": "structure", + "members": { + "protocol": { + "target": "com.amazonaws.sfn#HTTPProtocol", + "traits": { + "smithy.api#documentation": "

The protocol used to return the HTTP response.

" + } + }, + "statusCode": { + "target": "com.amazonaws.sfn#HTTPStatusCode", + "traits": { + "smithy.api#documentation": "

The HTTP response status code for the HTTP response.

" + } + }, + "statusMessage": { + "target": "com.amazonaws.sfn#HTTPStatusMessage", + "traits": { + "smithy.api#documentation": "

The message associated with the HTTP status code.

" + } + }, + "headers": { + "target": "com.amazonaws.sfn#HTTPHeaders", + "traits": { + "smithy.api#documentation": "

The response headers associated with the HTTP response.

" + } + }, + "body": { + "target": "com.amazonaws.sfn#HTTPBody", + "traits": { + "smithy.api#documentation": "

The HTTP response returned.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains additional details about the state's execution, including its input and output data processing flow, and HTTP response information. The inspectionLevel request parameter specifies which details are returned.

" + } + }, + "com.amazonaws.sfn#InspectionLevel": { + "type": "enum", + "members": { + "INFO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INFO" + } + }, + "DEBUG": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEBUG" + } + }, + "TRACE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TRACE" + } + } + } + }, "com.amazonaws.sfn#InvalidArn": { "type": "structure", "members": { @@ -4720,7 +4897,7 @@ "failuresNotRedrivable": { "target": "com.amazonaws.sfn#LongObject", "traits": { - "smithy.api#documentation": "

The number of FAILED, ABORTED, or TIMED_OUT child workflow executions that cannot be redriven because their execution status is terminal. For example, if your execution event history contains 25,000 entries, or the toleratedFailureCount or toleratedFailurePercentage for the Distributed Map has exceeded.

" + "smithy.api#documentation": "

The number of FAILED, ABORTED, or TIMED_OUT child workflow executions that cannot be redriven because their execution status is terminal. For example, child workflows with an execution status of FAILED, ABORTED, or TIMED_OUT and a redriveStatus of NOT_REDRIVABLE.

" } }, "pendingRedrive": { @@ -4824,7 +5001,7 @@ "failuresNotRedrivable": { "target": "com.amazonaws.sfn#LongObject", "traits": { - "smithy.api#documentation": "

The number of FAILED, ABORTED, or TIMED_OUT items in child workflow executions that cannot be redriven because the execution status of those child workflows is terminal. For example, if your execution event history contains 25,000 entries, or the toleratedFailureCount or toleratedFailurePercentage for the Distributed Map has exceeded.

" + "smithy.api#documentation": "

The number of FAILED, ABORTED, or TIMED_OUT items in child workflow executions that cannot be redriven because the execution status of those child workflows is terminal. For example, child workflows with an execution status of FAILED, ABORTED, or TIMED_OUT and a redriveStatus of NOT_REDRIVABLE.

" } }, "pendingRedrive": { @@ -5130,7 +5307,7 @@ } ], "traits": { - "smithy.api#documentation": "

Restarts unsuccessful executions of Standard workflows that didn't complete successfully in the last 14 days. These include failed, aborted, or timed out executions. When you redrive an execution, it continues the failed execution from the unsuccessful step and uses the same input. Step Functions preserves the results and execution history of the successful steps, and doesn't rerun these steps when you redrive an execution. Redriven executions use the same state machine definition and execution ARN as the original execution attempt.

\n

For workflows that include an Inline Map or Parallel state, RedriveExecution API action reschedules and redrives only the iterations and branches that failed or aborted.

\n

To redrive a workflow that includes a Distributed Map state with failed child workflow executions, you must redrive the parent workflow. The parent workflow redrives all the unsuccessful states, including Distributed Map.

\n \n

This API action is not supported by EXPRESS state machines.

\n

However, you can restart the unsuccessful executions of Express child workflows in a Distributed Map by redriving its Map Run. When you redrive a Map Run, the Express child workflows are rerun using the StartExecution API action. For more information, see Redriving Map Runs.

\n
\n

You can redrive executions if your original execution meets the following conditions:

\n
    \n
  • \n

    The execution status isn't SUCCEEDED.

    \n
  • \n
  • \n

    Your workflow execution has not exceeded the redrivable period of 14 days. Redrivable period refers to the time during which you can redrive a given execution. This period starts from the day a state machine completes its execution.

    \n
  • \n
  • \n

    The workflow execution has not exceeded the maximum open time of one year. For more information about state machine quotas, see Quotas related to state machine executions.

    \n
  • \n
  • \n

    The execution event history count is less than 24,999. Redriven executions append their event history to the existing event history. Make sure your workflow execution contains less than 24,999 events to accommodate the ExecutionRedriven history event and at least one other history event.

    \n
  • \n
", + "smithy.api#documentation": "

Restarts unsuccessful executions of Standard workflows that didn't complete successfully in the last 14 days. These include failed, aborted, or timed out executions. When you redrive an execution, it continues the failed execution from the unsuccessful step and uses the same input. Step Functions preserves the results and execution history of the successful steps, and doesn't rerun these steps when you redrive an execution. Redriven executions use the same state machine definition and execution ARN as the original execution attempt.

\n

For workflows that include an Inline Map or Parallel state, RedriveExecution API action reschedules and redrives only the iterations and branches that failed or aborted.

\n

To redrive a workflow that includes a Distributed Map state whose Map Run failed, you must redrive the parent workflow. The parent workflow redrives all the unsuccessful states, including a failed Map Run. If a Map Run was not started in the original execution attempt, the redriven parent workflow starts the Map Run.

\n \n

This API action is not supported by EXPRESS state machines.

\n

However, you can restart the unsuccessful executions of Express child workflows in a Distributed Map by redriving its Map Run. When you redrive a Map Run, the Express child workflows are rerun using the StartExecution API action. For more information, see Redriving Map Runs.

\n
\n

You can redrive executions if your original execution meets the following conditions:

\n
    \n
  • \n

    The execution status isn't SUCCEEDED.

    \n
  • \n
  • \n

    Your workflow execution has not exceeded the redrivable period of 14 days. Redrivable period refers to the time during which you can redrive a given execution. This period starts from the day a state machine completes its execution.

    \n
  • \n
  • \n

    The workflow execution has not exceeded the maximum open time of one year. For more information about state machine quotas, see Quotas related to state machine executions.

    \n
  • \n
  • \n

    The execution event history count is less than 24,999. Redriven executions append their event history to the existing event history. Make sure your workflow execution contains less than 24,999 events to accommodate the ExecutionRedriven history event and at least one other history event.

    \n
  • \n
", "smithy.api#idempotent": {} } }, @@ -5147,7 +5324,7 @@ "clientToken": { "target": "com.amazonaws.sfn#ClientToken", "traits": { - "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency. The API uses one of the last 10 client tokens provided.

", + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency. The API will return idempotent responses for the last 10 client tokens used to successfully redrive the execution. These client tokens are valid for up to 15 minutes after they are first used.

", "smithy.api#idempotencyToken": {} } } @@ -5187,6 +5364,12 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.sfn#RevealSecrets": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, "com.amazonaws.sfn#ReverseOrder": { "type": "boolean", "traits": { @@ -5939,6 +6122,15 @@ "smithy.api#documentation": "

Contains details about a specific state machine version.

" } }, + "com.amazonaws.sfn#StateName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 80 + } + } + }, "com.amazonaws.sfn#StopExecution": { "type": "operation", "input": { @@ -6458,6 +6650,149 @@ } } }, + "com.amazonaws.sfn#TestExecutionStatus": { + "type": "enum", + "members": { + "SUCCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUCCEEDED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "RETRIABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RETRIABLE" + } + }, + "CAUGHT_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CAUGHT_ERROR" + } + } + } + }, + "com.amazonaws.sfn#TestState": { + "type": "operation", + "input": { + "target": "com.amazonaws.sfn#TestStateInput" + }, + "output": { + "target": "com.amazonaws.sfn#TestStateOutput" + }, + "errors": [ + { + "target": "com.amazonaws.sfn#InvalidArn" + }, + { + "target": "com.amazonaws.sfn#InvalidDefinition" + }, + { + "target": "com.amazonaws.sfn#InvalidExecutionInput" + }, + { + "target": "com.amazonaws.sfn#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Accepts the definition of a single state and executes it. You can test a state without creating a state machine or updating an existing state machine. Using this API, you can test the following:

\n \n

You can call this API on only one state at a time. The states that you can test include the following:

\n \n

The TestState API assumes an IAM role which must contain the required IAM permissions for the resources your state is accessing. For information about the permissions a state might need, see IAM permissions to test a state.

\n

The TestState API can run for up to five minutes. If the execution of a state exceeds this duration, it fails with the States.Timeout error.

\n

\n TestState doesn't support Activity tasks, .sync or .waitForTaskToken\n service integration patterns, Parallel, or Map states.

", + "smithy.api#endpoint": { + "hostPrefix": "sync-" + } + } + }, + "com.amazonaws.sfn#TestStateInput": { + "type": "structure", + "members": { + "definition": { + "target": "com.amazonaws.sfn#Definition", + "traits": { + "smithy.api#documentation": "

The Amazon States Language (ASL) definition of the state.

", + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the execution role with the required IAM permissions for the state.

", + "smithy.api#required": {} + } + }, + "input": { + "target": "com.amazonaws.sfn#SensitiveData", + "traits": { + "smithy.api#documentation": "

A string that contains the JSON input data for the state.

" + } + }, + "inspectionLevel": { + "target": "com.amazonaws.sfn#InspectionLevel", + "traits": { + "smithy.api#documentation": "

Determines the values to return when a state is tested. You can specify one of the following types:

\n
    \n
  • \n

    \n INFO: Shows the final state output. By default, Step Functions sets inspectionLevel to INFO if you don't specify a level.

    \n
  • \n
  • \n

    \n DEBUG: Shows the final state output along with the input and output data processing result.

    \n
  • \n
  • \n

    \n TRACE: Shows the HTTP request and response for an HTTP Task. This level also shows the final state output along with the input and output data processing result.

    \n
  • \n
\n

Each of these levels also provide information about the status of the state execution and the next state to transition to.

" + } + }, + "revealSecrets": { + "target": "com.amazonaws.sfn#RevealSecrets", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether or not to include secret information in the test result. For HTTP Tasks, a secret includes the data that an EventBridge connection adds to modify the HTTP request headers, query parameters, and body. Step Functions doesn't omit any information included in the state definition or the HTTP response.

\n

If you set revealSecrets to true, you must make sure that the IAM user that calls the TestState API has permission for the states:RevealSecrets action. For an example of IAM policy that sets the states:RevealSecrets permission, see IAM permissions to test a state. Without this permission, Step Functions throws an access denied error.

\n

By default, revealSecrets is set to false.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.sfn#TestStateOutput": { + "type": "structure", + "members": { + "output": { + "target": "com.amazonaws.sfn#SensitiveData", + "traits": { + "smithy.api#documentation": "

The JSON output data of the state. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

" + } + }, + "error": { + "target": "com.amazonaws.sfn#SensitiveError", + "traits": { + "smithy.api#documentation": "

The error returned when the execution of a state fails.

" + } + }, + "cause": { + "target": "com.amazonaws.sfn#SensitiveCause", + "traits": { + "smithy.api#documentation": "

A detailed explanation of the cause for the error when the execution of a state fails.

" + } + }, + "inspectionData": { + "target": "com.amazonaws.sfn#InspectionData", + "traits": { + "smithy.api#documentation": "

Returns additional details about the state's execution, including its input and output data processing flow, and HTTP request and response information. The inspectionLevel request parameter specifies which details are returned.

" + } + }, + "nextState": { + "target": "com.amazonaws.sfn#StateName", + "traits": { + "smithy.api#documentation": "

The name of the next state to transition to. If you haven't defined a next state in your definition or if the execution of the state fails, this field doesn't contain a value.

" + } + }, + "status": { + "target": "com.amazonaws.sfn#TestExecutionStatus", + "traits": { + "smithy.api#documentation": "

The execution status of the state.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.sfn#TimeoutInSeconds": { "type": "long", "traits": { @@ -6527,6 +6862,9 @@ "smithy.api#documentation": "

Selects whether or not the state machine's X-Ray tracing is enabled. Default is\n false\n

" } }, + "com.amazonaws.sfn#URL": { + "type": "string" + }, "com.amazonaws.sfn#UnsignedInteger": { "type": "integer", "traits": { @@ -6723,6 +7061,9 @@ { "target": "com.amazonaws.sfn#ResourceNotFound" }, + { + "target": "com.amazonaws.sfn#StateMachineDeleting" + }, { "target": "com.amazonaws.sfn#ValidationException" } diff --git a/codegen/sdk-codegen/aws-models/transcribe.json b/codegen/sdk-codegen/aws-models/transcribe.json index 53fc340feb8..de4524b4288 100644 --- a/codegen/sdk-codegen/aws-models/transcribe.json +++ b/codegen/sdk-codegen/aws-models/transcribe.json @@ -287,6 +287,12 @@ "traits": { "smithy.api#documentation": "

If using automatic language identification in your request and you want to apply a\n custom language model, a custom vocabulary, or a custom vocabulary filter, include\n LanguageIdSettings with the relevant sub-parameters\n (VocabularyName, LanguageModelName, and\n VocabularyFilterName).

\n

\n LanguageIdSettings supports two to five language codes. Each language\n code you include can have an associated custom language model, custom vocabulary, and\n custom vocabulary filter. The language codes that you specify must match the languages\n of the associated custom language models, custom vocabularies, and custom vocabulary\n filters.

\n

It's recommended that you include LanguageOptions when using\n LanguageIdSettings to ensure that the correct language dialect is\n identified. For example, if you specify a custom vocabulary that is in\n en-US but Amazon Transcribe determines that the language spoken in\n your media is en-AU, your custom vocabulary is not\n applied to your transcription. If you include LanguageOptions and include\n en-US as the only English language dialect, your custom vocabulary\n is applied to your transcription.

\n

If you want to include a custom language model, custom vocabulary, or custom\n vocabulary filter with your request but do not want to\n use automatic language identification, use instead the parameter with the\n LanguageModelName, VocabularyName, or\n VocabularyFilterName sub-parameters.

\n

For a list of languages supported with Call Analytics, refer to Supported languages and \n language-specific features.

" } + }, + "Summarization": { + "target": "com.amazonaws.transcribe#Summarization", + "traits": { + "smithy.api#documentation": "

Contains GenerateAbstractiveSummary, which is a required parameter if you \n\t want to enable Generative call summarization in your Call Analytics request.

" + } } }, "traits": { @@ -2370,6 +2376,390 @@ "traits": { "smithy.api#enumValue": "sv-SE" } + }, + "AB_GE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ab-GE" + } + }, + "AST_ES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ast-ES" + } + }, + "AZ_AZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "az-AZ" + } + }, + "BA_RU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ba-RU" + } + }, + "BE_BY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "be-BY" + } + }, + "BG_BG": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "bg-BG" + } + }, + "BN_IN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "bn-IN" + } + }, + "BS_BA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "bs-BA" + } + }, + "CA_ES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ca-ES" + } + }, + "CKB_IQ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ckb-IQ" + } + }, + "CKB_IR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ckb-IR" + } + }, + "CS_CZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cs-CZ" + } + }, + "CY_WL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cy-WL" + } + }, + "EL_GR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "el-GR" + } + }, + "ET_ET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "et-ET" + } + }, + "EU_ES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-ES" + } + }, + "FI_FI": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fi-FI" + } + }, + "GL_ES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "gl-ES" + } + }, + "GU_IN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "gu-IN" + } + }, + "HA_NG": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ha-NG" + } + }, + "HR_HR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "hr-HR" + } + }, + "HU_HU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "hu-HU" + } + }, + "HY_AM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "hy-AM" + } + }, + "IS_IS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "is-IS" + } + }, + "KA_GE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ka-GE" + } + }, + "KAB_DZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "kab-DZ" + } + }, + "KK_KZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "kk-KZ" + } + }, + "KN_IN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "kn-IN" + } + }, + "KY_KG": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ky-KG" + } + }, + "LG_IN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "lg-IN" + } + }, + "LT_LT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "lt-LT" + } + }, + "LV_LV": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "lv-LV" + } + }, + "MHR_RU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "mhr-RU" + } + }, + "MI_NZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "mi-NZ" + } + }, + "MK_MK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "mk-MK" + } + }, + "ML_IN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml-IN" + } + }, + "MN_MN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "mn-MN" + } + }, + "MR_IN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "mr-IN" + } + }, + "MT_MT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "mt-MT" + } + }, + "NO_NO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "no-NO" + } + }, + "OR_IN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "or-IN" + } + }, + "PA_IN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pa-IN" + } + }, + "PL_PL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pl-PL" + } + }, + "PS_AF": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ps-AF" + } + }, + "RO_RO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ro-RO" + } + }, + "RW_RW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "rw-RW" + } + }, + "SI_LK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "si-LK" + } + }, + "SK_SK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sk-SK" + } + }, + "SL_SI": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sl-SI" + } + }, + "SO_SO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "so-SO" + } + }, + "SR_RS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sr-RS" + } + }, + "SU_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "su-ID" + } + }, + "SW_BI": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sw-BI" + } + }, + "SW_KE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sw-KE" + } + }, + "SW_RW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sw-RW" + } + }, + "SW_TZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sw-TZ" + } + }, + "SW_UG": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sw-UG" + } + }, + "TL_PH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "tl-PH" + } + }, + "TT_RU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "tt-RU" + } + }, + "UG_CN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ug-CN" + } + }, + "UK_UA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "uk-UA" + } + }, + "UZ_UZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "uz-UZ" + } + }, + "WO_SN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "wo-SN" + } + }, + "ZU_ZA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "zu-ZA" + } } } }, @@ -4734,6 +5124,21 @@ "smithy.api#documentation": "

Provides information about your subtitle file, including format, start index, and\n Amazon S3 location.

" } }, + "com.amazonaws.transcribe#Summarization": { + "type": "structure", + "members": { + "GenerateAbstractiveSummary": { + "target": "com.amazonaws.transcribe#Boolean", + "traits": { + "smithy.api#documentation": "

Enables Generative call summarization in your Call Analytics request

\n

Generative call summarization provides a summary of the transcript including important\n\t components discussed in the conversation.

\n

For more information, see Enabling generative call \n\t summarization.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains GenerateAbstractiveSummary, which is a required parameter if you\n\t want to enable Generative call summarization in your Call Analytics request.

" + } + }, "com.amazonaws.transcribe#Tag": { "type": "structure", "members": { @@ -5099,7 +5504,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -5142,7 +5546,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -5155,7 +5560,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -5169,7 +5573,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -5192,7 +5595,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -5227,7 +5629,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -5238,14 +5639,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -5259,14 +5662,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -5275,18 +5676,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws", { "fn": "getAttr", "argv": [ @@ -5295,7 +5695,8 @@ }, "name" ] - } + }, + "aws" ] } ], @@ -5311,7 +5712,6 @@ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -5320,7 +5720,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -5340,14 +5741,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -5361,7 +5764,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -5381,7 +5783,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -5392,14 +5793,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -5448,9 +5851,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/codegen/sdk-codegen/aws-models/workspaces-thin-client.json b/codegen/sdk-codegen/aws-models/workspaces-thin-client.json new file mode 100644 index 00000000000..b2f85ce943d --- /dev/null +++ b/codegen/sdk-codegen/aws-models/workspaces-thin-client.json @@ -0,0 +1,3371 @@ +{ + "smithy": "2.0", + "metadata": { + "suppressions": [ + { + "id": "SdkServiceId", + "namespace": "*" + } + ] + }, + "shapes": { + "com.amazonaws.workspacesthinclient#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.workspacesthinclient#ExceptionMessage" + } + }, + "traits": { + "smithy.api#documentation": "

You do not have sufficient access to perform this action.

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.workspacesthinclient#ActivationCode": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-z]{2}[a-z0-9]{6}$" + } + }, + "com.amazonaws.workspacesthinclient#ApplyTimeOf": { + "type": "enum", + "members": { + "UTC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UTC" + } + }, + "DEVICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEVICE" + } + } + } + }, + "com.amazonaws.workspacesthinclient#Arn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[0-9]{0,12}:[a-zA-Z0-9\\-\\/\\._]+$" + } + }, + "com.amazonaws.workspacesthinclient#ClientToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 512 + } + } + }, + "com.amazonaws.workspacesthinclient#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.workspacesthinclient#ExceptionMessage" + }, + "resourceId": { + "target": "com.amazonaws.workspacesthinclient#ResourceId", + "traits": { + "smithy.api#documentation": "

The ID of the resource associated with the request.

" + } + }, + "resourceType": { + "target": "com.amazonaws.workspacesthinclient#ResourceType", + "traits": { + "smithy.api#documentation": "

The type of the resource associated with the request.

" + } + } + }, + "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.workspacesthinclient#CreateEnvironment": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#CreateEnvironmentRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#CreateEnvironmentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ConflictException" + }, + { + "target": "com.amazonaws.workspacesthinclient#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an environment for your thin client devices.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "POST", + "uri": "/environments", + "code": 201 + } + } + }, + "com.amazonaws.workspacesthinclient#CreateEnvironmentRequest": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentName", + "traits": { + "smithy.api#documentation": "

The name for the environment.

" + } + }, + "desktopArn": { + "target": "com.amazonaws.workspacesthinclient#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces,\n WorkSpaces Web, or AppStream 2.0.

", + "smithy.api#required": {} + } + }, + "desktopEndpoint": { + "target": "com.amazonaws.workspacesthinclient#DesktopEndpoint", + "traits": { + "smithy.api#documentation": "

The URL for the identity provider login (only for environments that use AppStream 2.0).

" + } + }, + "softwareSetUpdateSchedule": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", + "traits": { + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + } + }, + "maintenanceWindow": { + "target": "com.amazonaws.workspacesthinclient#MaintenanceWindow", + "traits": { + "smithy.api#documentation": "

A specification for a time window to apply software updates.

" + } + }, + "softwareSetUpdateMode": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateMode", + "traits": { + "smithy.api#documentation": "

An option to define which software updates to apply.

" + } + }, + "desiredSoftwareSetId": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set to apply.

" + } + }, + "kmsKeyArn": { + "target": "com.amazonaws.workspacesthinclient#KmsKeyArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service key to use to encrypt the\n environment.

" + } + }, + "clientToken": { + "target": "com.amazonaws.workspacesthinclient#ClientToken", + "traits": { + "smithy.api#documentation": "

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency\n of the request. This lets you safely retry the request without accidentally performing the\n same operation a second time. Passing the same value to a later call to an operation\n requires that you also pass the same value for all other parameters. We recommend that you\n 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 different\n parameters, the retry fails with an IdempotentParameterMismatch error.

", + "smithy.api#idempotencyToken": {} + } + }, + "tags": { + "target": "com.amazonaws.workspacesthinclient#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs of the tag or tags to assign to the resource.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#CreateEnvironmentResponse": { + "type": "structure", + "members": { + "environment": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentSummary", + "traits": { + "smithy.api#documentation": "

Describes an environment.

", + "smithy.api#nestedProperties": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#DayOfWeek": { + "type": "enum", + "members": { + "MONDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MONDAY" + } + }, + "TUESDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TUESDAY" + } + }, + "WEDNESDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WEDNESDAY" + } + }, + "THURSDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "THURSDAY" + } + }, + "FRIDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FRIDAY" + } + }, + "SATURDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SATURDAY" + } + }, + "SUNDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUNDAY" + } + } + } + }, + "com.amazonaws.workspacesthinclient#DayOfWeekList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesthinclient#DayOfWeek" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 7 + } + } + }, + "com.amazonaws.workspacesthinclient#DeleteDevice": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#DeleteDeviceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#DeleteDeviceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ConflictException" + }, + { + "target": "com.amazonaws.workspacesthinclient#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a thin client device.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/devices/{id}", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesthinclient#DeleteDeviceRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#DeviceId", + "traits": { + "smithy.api#documentation": "

The ID of the device to delete.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.workspacesthinclient#ClientToken", + "traits": { + "smithy.api#documentation": "

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency\n of the request. This lets you safely retry the request without accidentally performing the\n same operation a second time. Passing the same value to a later call to an operation\n requires that you also pass the same value for all other parameters. We recommend that you\n 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 different\n parameters, the retry fails with an IdempotentParameterMismatch error.

", + "smithy.api#httpQuery": "clientToken", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#DeleteDeviceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#DeleteEnvironment": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#DeleteEnvironmentRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#DeleteEnvironmentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ConflictException" + }, + { + "target": "com.amazonaws.workspacesthinclient#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an environment.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/environments/{id}", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesthinclient#DeleteEnvironmentRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentId", + "traits": { + "smithy.api#documentation": "

The ID of the environment to delete.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.workspacesthinclient#ClientToken", + "traits": { + "smithy.api#documentation": "

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency\n of the request. This lets you safely retry the request without accidentally performing the\n same operation a second time. Passing the same value to a later call to an operation\n requires that you also pass the same value for all other parameters. We recommend that you\n 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 different\n parameters, the retry fails with an IdempotentParameterMismatch error.

", + "smithy.api#httpQuery": "clientToken", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#DeleteEnvironmentResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#DeregisterDevice": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#DeregisterDeviceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#DeregisterDeviceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ConflictException" + }, + { + "target": "com.amazonaws.workspacesthinclient#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deregisters a thin client device.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "POST", + "uri": "/deregister-device/{id}", + "code": 202 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesthinclient#DeregisterDeviceRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#DeviceId", + "traits": { + "smithy.api#documentation": "

The ID of the device to deregister.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "targetDeviceStatus": { + "target": "com.amazonaws.workspacesthinclient#TargetDeviceStatus", + "traits": { + "smithy.api#documentation": "

The desired new status for the device.

" + } + }, + "clientToken": { + "target": "com.amazonaws.workspacesthinclient#ClientToken", + "traits": { + "smithy.api#documentation": "

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency\n of the request. This lets you safely retry the request without accidentally performing the\n same operation a second time. Passing the same value to a later call to an operation\n requires that you also pass the same value for all other parameters. We recommend that you\n 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 different\n parameters, the retry fails with an IdempotentParameterMismatch error.

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#DeregisterDeviceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#DesktopEndpoint": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^(https:\\/\\/)[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,32}(:[0-9]{1,5})?(\\/.*)?$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesthinclient#DesktopType": { + "type": "enum", + "members": { + "WORKSPACES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "workspaces" + } + }, + "APPSTREAM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "appstream" + } + }, + "WORKSPACES_WEB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "workspaces-web" + } + } + } + }, + "com.amazonaws.workspacesthinclient#Device": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#DeviceId", + "traits": { + "smithy.api#documentation": "

The ID of the device.

" + } + }, + "serialNumber": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The hardware serial number of the device.

" + } + }, + "name": { + "target": "com.amazonaws.workspacesthinclient#DeviceName", + "traits": { + "smithy.api#documentation": "

The name of the device.

" + } + }, + "model": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The model number of the device.

" + } + }, + "environmentId": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentId", + "traits": { + "smithy.api#documentation": "

The ID of the environment the device is associated with.

" + } + }, + "status": { + "target": "com.amazonaws.workspacesthinclient#DeviceStatus", + "traits": { + "smithy.api#documentation": "

The status of the device.

" + } + }, + "currentSoftwareSetId": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set currently installed on the device.

" + } + }, + "currentSoftwareSetVersion": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The version of the software set currently installed on the device.

" + } + }, + "desiredSoftwareSetId": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set which the device has been set to.

" + } + }, + "pendingSoftwareSetId": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set that is pending to be installed on the device.

" + } + }, + "pendingSoftwareSetVersion": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The version of the software set that is pending to be installed on the device.

" + } + }, + "softwareSetUpdateSchedule": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", + "traits": { + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + } + }, + "softwareSetComplianceStatus": { + "target": "com.amazonaws.workspacesthinclient#DeviceSoftwareSetComplianceStatus", + "traits": { + "smithy.api#documentation": "

Describes if the software currently installed on the device is a supported\n version.

" + } + }, + "softwareSetUpdateStatus": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateStatus", + "traits": { + "smithy.api#documentation": "

Describes if the device has a supported version of software installed.

" + } + }, + "lastConnectedAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the most recent session on the device.

" + } + }, + "lastPostureAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the most recent check-in of the device.

" + } + }, + "createdAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the device was created.

" + } + }, + "updatedAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the device was updated.

" + } + }, + "arn": { + "target": "com.amazonaws.workspacesthinclient#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the device.

" + } + }, + "kmsKeyArn": { + "target": "com.amazonaws.workspacesthinclient#KmsKeyArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the\n device.

" + } + }, + "tags": { + "target": "com.amazonaws.workspacesthinclient#EmbeddedTag", + "traits": { + "smithy.api#documentation": "

The tag keys and optional values for the resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a thin client device.

" + } + }, + "com.amazonaws.workspacesthinclient#DeviceId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-zA-Z0-9]{24}$" + } + }, + "com.amazonaws.workspacesthinclient#DeviceList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesthinclient#DeviceSummary" + } + }, + "com.amazonaws.workspacesthinclient#DeviceName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[0-9\\p{IsAlphabetic}+:,.@'\" -]{1,64}$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesthinclient#DeviceSoftwareSetComplianceStatus": { + "type": "enum", + "members": { + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" + } + }, + "COMPLIANT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPLIANT" + } + }, + "NOT_COMPLIANT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_COMPLIANT" + } + } + } + }, + "com.amazonaws.workspacesthinclient#DeviceStatus": { + "type": "enum", + "members": { + "REGISTERED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REGISTERED" + } + }, + "DEREGISTERING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEREGISTERING" + } + }, + "DEREGISTERED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEREGISTERED" + } + }, + "ARCHIVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ARCHIVED" + } + } + } + }, + "com.amazonaws.workspacesthinclient#DeviceSummary": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#DeviceId", + "traits": { + "smithy.api#documentation": "

The ID of the device.

" + } + }, + "serialNumber": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The hardware serial number of the device.

" + } + }, + "name": { + "target": "com.amazonaws.workspacesthinclient#DeviceName", + "traits": { + "smithy.api#documentation": "

The name of the device.

" + } + }, + "model": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The model number of the device.

" + } + }, + "environmentId": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentId", + "traits": { + "smithy.api#documentation": "

The ID of the environment the device is associated with.

" + } + }, + "status": { + "target": "com.amazonaws.workspacesthinclient#DeviceStatus", + "traits": { + "smithy.api#documentation": "

The status of the device.

" + } + }, + "currentSoftwareSetId": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set currently installed on the device.

" + } + }, + "desiredSoftwareSetId": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set which the device has been set to.

" + } + }, + "pendingSoftwareSetId": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set that is pending to be installed on the device.

" + } + }, + "softwareSetUpdateSchedule": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", + "traits": { + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + } + }, + "lastConnectedAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the most recent session on the device.

" + } + }, + "lastPostureAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the most recent check-in of the device.

" + } + }, + "createdAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the device was created.

" + } + }, + "updatedAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the device was updated.

" + } + }, + "arn": { + "target": "com.amazonaws.workspacesthinclient#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the device.

" + } + }, + "tags": { + "target": "com.amazonaws.workspacesthinclient#EmbeddedTag", + "traits": { + "smithy.api#documentation": "

The tag keys and optional values for the resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a thin client device.

" + } + }, + "com.amazonaws.workspacesthinclient#EmbeddedTag": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a resource to tag.

" + } + }, + "internalId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The internal ID of a resource to tag.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The resource and internal ID of a resource to tag.

", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesthinclient#Environment": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentId", + "traits": { + "smithy.api#documentation": "

The ID of the environment.

" + } + }, + "name": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentName", + "traits": { + "smithy.api#documentation": "

The name of the environment.

" + } + }, + "desktopArn": { + "target": "com.amazonaws.workspacesthinclient#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces,\n WorkSpaces Web, or AppStream 2.0.

" + } + }, + "desktopEndpoint": { + "target": "com.amazonaws.workspacesthinclient#DesktopEndpoint", + "traits": { + "smithy.api#documentation": "

The URL for the identity provider login (only for environments that use AppStream 2.0).

" + } + }, + "desktopType": { + "target": "com.amazonaws.workspacesthinclient#DesktopType", + "traits": { + "smithy.api#documentation": "

The type of streaming desktop for the environment.

" + } + }, + "activationCode": { + "target": "com.amazonaws.workspacesthinclient#ActivationCode", + "traits": { + "smithy.api#documentation": "

The activation code to register a device to the environment.

" + } + }, + "registeredDevicesCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of devices registered to the environment.

" + } + }, + "softwareSetUpdateSchedule": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", + "traits": { + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + } + }, + "maintenanceWindow": { + "target": "com.amazonaws.workspacesthinclient#MaintenanceWindow", + "traits": { + "smithy.api#documentation": "

A specification for a time window to apply software updates.

" + } + }, + "softwareSetUpdateMode": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateMode", + "traits": { + "smithy.api#documentation": "

An option to define which software updates to apply.

" + } + }, + "desiredSoftwareSetId": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set to apply.

" + } + }, + "pendingSoftwareSetId": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set that is pending to be installed.

" + } + }, + "pendingSoftwareSetVersion": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The version of the software set that is pending to be installed.

" + } + }, + "softwareSetComplianceStatus": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentSoftwareSetComplianceStatus", + "traits": { + "smithy.api#documentation": "

Describes if the software currently installed on all devices in the environment is a\n supported version.

" + } + }, + "createdAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the environment was created.

" + } + }, + "updatedAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the device was updated.

" + } + }, + "arn": { + "target": "com.amazonaws.workspacesthinclient#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the environment.

" + } + }, + "kmsKeyArn": { + "target": "com.amazonaws.workspacesthinclient#KmsKeyArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the\n environment.

" + } + }, + "tags": { + "target": "com.amazonaws.workspacesthinclient#EmbeddedTag", + "traits": { + "smithy.api#documentation": "

The tag keys and optional values for the resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes an environment.

" + } + }, + "com.amazonaws.workspacesthinclient#EnvironmentId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-z0-9]{9}$" + } + }, + "com.amazonaws.workspacesthinclient#EnvironmentList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentSummary" + } + }, + "com.amazonaws.workspacesthinclient#EnvironmentName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[0-9\\p{IsAlphabetic}+:,.@'\" -][0-9\\p{IsAlphabetic}+=:,.@'\" -]{0,63}$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesthinclient#EnvironmentSoftwareSetComplianceStatus": { + "type": "enum", + "members": { + "NO_REGISTERED_DEVICES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NO_REGISTERED_DEVICES" + } + }, + "COMPLIANT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPLIANT" + } + }, + "NOT_COMPLIANT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_COMPLIANT" + } + } + } + }, + "com.amazonaws.workspacesthinclient#EnvironmentSummary": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentId", + "traits": { + "smithy.api#documentation": "

The ID of the environment.

" + } + }, + "name": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentName", + "traits": { + "smithy.api#documentation": "

The name of the environment.

" + } + }, + "desktopArn": { + "target": "com.amazonaws.workspacesthinclient#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces,\n WorkSpaces Web, or AppStream 2.0.

" + } + }, + "desktopEndpoint": { + "target": "com.amazonaws.workspacesthinclient#DesktopEndpoint", + "traits": { + "smithy.api#documentation": "

The URL for the identity provider login (only for environments that use AppStream 2.0).

" + } + }, + "desktopType": { + "target": "com.amazonaws.workspacesthinclient#DesktopType", + "traits": { + "smithy.api#documentation": "

The type of streaming desktop for the environment.

" + } + }, + "activationCode": { + "target": "com.amazonaws.workspacesthinclient#ActivationCode", + "traits": { + "smithy.api#documentation": "

The activation code to register a device to the environment.

" + } + }, + "softwareSetUpdateSchedule": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", + "traits": { + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + } + }, + "maintenanceWindow": { + "target": "com.amazonaws.workspacesthinclient#MaintenanceWindow", + "traits": { + "smithy.api#documentation": "

A specification for a time window to apply software updates.

" + } + }, + "softwareSetUpdateMode": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateMode", + "traits": { + "smithy.api#documentation": "

An option to define which software updates to apply.

" + } + }, + "desiredSoftwareSetId": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set to apply.

" + } + }, + "pendingSoftwareSetId": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set that is pending to be installed.

" + } + }, + "createdAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the environment was created.

" + } + }, + "updatedAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the device was updated.

" + } + }, + "arn": { + "target": "com.amazonaws.workspacesthinclient#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the environment.

" + } + }, + "tags": { + "target": "com.amazonaws.workspacesthinclient#EmbeddedTag", + "traits": { + "smithy.api#documentation": "

The tag keys and optional values for the resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes an environment.

" + } + }, + "com.amazonaws.workspacesthinclient#ExceptionMessage": { + "type": "string" + }, + "com.amazonaws.workspacesthinclient#FieldName": { + "type": "string" + }, + "com.amazonaws.workspacesthinclient#GetDevice": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#GetDeviceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#GetDeviceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesthinclient#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns information for a thin client device.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/devices/{id}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesthinclient#GetDeviceRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#DeviceId", + "traits": { + "smithy.api#documentation": "

The ID of the device for which to return information.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#GetDeviceResponse": { + "type": "structure", + "members": { + "device": { + "target": "com.amazonaws.workspacesthinclient#Device", + "traits": { + "smithy.api#documentation": "

Describes an device.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#GetEnvironment": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#GetEnvironmentRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#GetEnvironmentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesthinclient#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns information for an environment.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/environments/{id}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesthinclient#GetEnvironmentRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentId", + "traits": { + "smithy.api#documentation": "

The ID of the environment for which to return information.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#GetEnvironmentResponse": { + "type": "structure", + "members": { + "environment": { + "target": "com.amazonaws.workspacesthinclient#Environment", + "traits": { + "smithy.api#documentation": "

Describes an environment.

", + "smithy.api#nestedProperties": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#GetSoftwareSet": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#GetSoftwareSetRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#GetSoftwareSetResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesthinclient#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns information for a software set.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/softwaresets/{id}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesthinclient#GetSoftwareSetRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set for which to return information.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#GetSoftwareSetResponse": { + "type": "structure", + "members": { + "softwareSet": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSet", + "traits": { + "smithy.api#documentation": "

Describes a software set.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#Hour": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 23 + } + } + }, + "com.amazonaws.workspacesthinclient#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.workspacesthinclient#ExceptionMessage" + }, + "retryAfterSeconds": { + "target": "com.amazonaws.workspacesthinclient#RetryAfterSeconds", + "traits": { + "smithy.api#documentation": "

The number of seconds to wait before retrying the next request.

", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "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 + } + }, + "com.amazonaws.workspacesthinclient#InternalServiceException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.workspacesthinclient#ExceptionMessage" + }, + "retryAfterSeconds": { + "target": "com.amazonaws.workspacesthinclient#RetryAfterSeconds", + "traits": { + "smithy.api#documentation": "

The number of seconds to wait before retrying the next request.

", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

Request processing failed due to some unknown error, exception, or failure.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.workspacesthinclient#KmsKeyArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[0-9]{0,12}:key\\/[a-zA-Z0-9-]+$" + } + }, + "com.amazonaws.workspacesthinclient#ListDevices": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#ListDevicesRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#ListDevicesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesthinclient#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of thin client devices.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/devices", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "devices" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesthinclient#ListDevicesRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.workspacesthinclient#PaginationToken", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.workspacesthinclient#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use\n nextToken to obtain further pages of results.

\n

This is only an upper limit. The actual number of results returned per call might be\n fewer than the specified maximum.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#ListDevicesResponse": { + "type": "structure", + "members": { + "devices": { + "target": "com.amazonaws.workspacesthinclient#DeviceList", + "traits": { + "smithy.api#documentation": "

Describes devices.

" + } + }, + "nextToken": { + "target": "com.amazonaws.workspacesthinclient#PaginationToken", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#ListEnvironments": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#ListEnvironmentsRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#ListEnvironmentsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesthinclient#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of environments.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/environments", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "environments" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesthinclient#ListEnvironmentsRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.workspacesthinclient#PaginationToken", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.workspacesthinclient#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use\n nextToken to obtain further pages of results.

\n

This is only an upper limit. The actual number of results returned per call might be\n fewer than the specified maximum.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#ListEnvironmentsResponse": { + "type": "structure", + "members": { + "environments": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentList", + "traits": { + "smithy.api#documentation": "

Describes environments.

" + } + }, + "nextToken": { + "target": "com.amazonaws.workspacesthinclient#PaginationToken", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#ListSoftwareSets": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#ListSoftwareSetsRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#ListSoftwareSetsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesthinclient#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of software sets.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/softwaresets", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "softwareSets" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesthinclient#ListSoftwareSetsRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.workspacesthinclient#PaginationToken", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.workspacesthinclient#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use\n nextToken to obtain further pages of results.

\n

This is only an upper limit. The actual number of results returned per call might be\n fewer than the specified maximum.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#ListSoftwareSetsResponse": { + "type": "structure", + "members": { + "softwareSets": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetList", + "traits": { + "smithy.api#documentation": "

Describes software sets.

" + } + }, + "nextToken": { + "target": "com.amazonaws.workspacesthinclient#PaginationToken", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#InternalServiceException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of tags for a resource.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesthinclient#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource for which you want to retrieve\n tags.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "tags": { + "target": "com.amazonaws.workspacesthinclient#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs for the tag or tags assigned to the specified resource.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#MaintenanceWindow": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.workspacesthinclient#MaintenanceWindowType", + "traits": { + "smithy.api#documentation": "

An option to select the default or custom maintenance window.

" + } + }, + "startTimeHour": { + "target": "com.amazonaws.workspacesthinclient#Hour", + "traits": { + "smithy.api#documentation": "

The hour for the maintenance window start (00-23).

" + } + }, + "startTimeMinute": { + "target": "com.amazonaws.workspacesthinclient#Minute", + "traits": { + "smithy.api#documentation": "

The minutes past the hour for the maintenance window start\n (00-59).

" + } + }, + "endTimeHour": { + "target": "com.amazonaws.workspacesthinclient#Hour", + "traits": { + "smithy.api#documentation": "

The hour for the maintenance window end (00-23).

" + } + }, + "endTimeMinute": { + "target": "com.amazonaws.workspacesthinclient#Minute", + "traits": { + "smithy.api#documentation": "

The minutes for the maintenance window end (00-59).

" + } + }, + "daysOfTheWeek": { + "target": "com.amazonaws.workspacesthinclient#DayOfWeekList", + "traits": { + "smithy.api#documentation": "

The days of the week during which the maintenance window is open.

" + } + }, + "applyTimeOf": { + "target": "com.amazonaws.workspacesthinclient#ApplyTimeOf", + "traits": { + "smithy.api#documentation": "

The option to set the maintenance window during the device local time or Universal\n Coordinated Time (UTC).

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the maintenance window for a thin client device.

" + } + }, + "com.amazonaws.workspacesthinclient#MaintenanceWindowType": { + "type": "enum", + "members": { + "SYSTEM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SYSTEM" + } + }, + "CUSTOM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOM" + } + } + } + }, + "com.amazonaws.workspacesthinclient#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.workspacesthinclient#Minute": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 59 + } + } + }, + "com.amazonaws.workspacesthinclient#PaginationToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + }, + "smithy.api#pattern": "^\\S*$" + } + }, + "com.amazonaws.workspacesthinclient#QuotaCode": { + "type": "string" + }, + "com.amazonaws.workspacesthinclient#ResourceId": { + "type": "string" + }, + "com.amazonaws.workspacesthinclient#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.workspacesthinclient#ExceptionMessage" + }, + "resourceId": { + "target": "com.amazonaws.workspacesthinclient#ResourceId", + "traits": { + "smithy.api#documentation": "

The ID of the resource associated with the request.

" + } + }, + "resourceType": { + "target": "com.amazonaws.workspacesthinclient#ResourceType", + "traits": { + "smithy.api#documentation": "

The type of the resource associated with the request.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The resource specified in the request was not found.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.workspacesthinclient#ResourceType": { + "type": "string" + }, + "com.amazonaws.workspacesthinclient#RetryAfterSeconds": { + "type": "integer" + }, + "com.amazonaws.workspacesthinclient#ServiceCode": { + "type": "string" + }, + "com.amazonaws.workspacesthinclient#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.workspacesthinclient#ExceptionMessage" + }, + "resourceId": { + "target": "com.amazonaws.workspacesthinclient#ResourceId", + "traits": { + "smithy.api#documentation": "

The ID of the resource that exceeds the service quota.

" + } + }, + "resourceType": { + "target": "com.amazonaws.workspacesthinclient#ResourceType", + "traits": { + "smithy.api#documentation": "

The type of the resource that exceeds the service quota.

" + } + }, + "serviceCode": { + "target": "com.amazonaws.workspacesthinclient#ServiceCode", + "traits": { + "smithy.api#documentation": "

The code for the service in Service Quotas.

" + } + }, + "quotaCode": { + "target": "com.amazonaws.workspacesthinclient#QuotaCode", + "traits": { + "smithy.api#documentation": "

The code for the quota in Service Quotas.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Your request exceeds a service quota.

", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.workspacesthinclient#Software": { + "type": "structure", + "members": { + "name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the software component.

" + } + }, + "version": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The version of the software component.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes software.

" + } + }, + "com.amazonaws.workspacesthinclient#SoftwareList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesthinclient#Software" + } + }, + "com.amazonaws.workspacesthinclient#SoftwareSet": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set.

" + } + }, + "version": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The version of the software set.

" + } + }, + "releasedAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the software set was released.

" + } + }, + "supportedUntil": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the end of support for the software set.

" + } + }, + "validationStatus": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetValidationStatus", + "traits": { + "smithy.api#documentation": "

An option to define if the software set has been validated.

" + } + }, + "software": { + "target": "com.amazonaws.workspacesthinclient#SoftwareList", + "traits": { + "smithy.api#documentation": "

A list of the software components in the software set.

" + } + }, + "arn": { + "target": "com.amazonaws.workspacesthinclient#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the software set.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a software set.

" + } + }, + "com.amazonaws.workspacesthinclient#SoftwareSetId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[0-9]{1,9}$" + } + }, + "com.amazonaws.workspacesthinclient#SoftwareSetIdOrEmptyString": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[0-9]{0,9}$" + } + }, + "com.amazonaws.workspacesthinclient#SoftwareSetList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetSummary" + } + }, + "com.amazonaws.workspacesthinclient#SoftwareSetSummary": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set.

" + } + }, + "version": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The version of the software set.

" + } + }, + "releasedAt": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the software set was released.

" + } + }, + "supportedUntil": { + "target": "com.amazonaws.workspacesthinclient#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the end of support for the software set.

" + } + }, + "validationStatus": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetValidationStatus", + "traits": { + "smithy.api#documentation": "

An option to define if the software set has been validated.

" + } + }, + "arn": { + "target": "com.amazonaws.workspacesthinclient#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the software set.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a software set.

" + } + }, + "com.amazonaws.workspacesthinclient#SoftwareSetUpdateMode": { + "type": "enum", + "members": { + "USE_LATEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USE_LATEST" + } + }, + "USE_DESIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USE_DESIRED" + } + } + } + }, + "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule": { + "type": "enum", + "members": { + "USE_MAINTENANCE_WINDOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USE_MAINTENANCE_WINDOW" + } + }, + "APPLY_IMMEDIATELY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "APPLY_IMMEDIATELY" + } + } + } + }, + "com.amazonaws.workspacesthinclient#SoftwareSetUpdateStatus": { + "type": "enum", + "members": { + "AVAILABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AVAILABLE" + } + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "UP_TO_DATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UP_TO_DATE" + } + } + } + }, + "com.amazonaws.workspacesthinclient#SoftwareSetValidationStatus": { + "type": "enum", + "members": { + "VALIDATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VALIDATED" + } + }, + "NOT_VALIDATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_VALIDATED" + } + } + } + }, + "com.amazonaws.workspacesthinclient#TagKeys": { + "type": "list", + "member": { + "target": "smithy.api#String" + }, + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesthinclient#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#InternalServiceException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Assigns one or more tags (key-value pairs) to the specified resource.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "POST", + "uri": "/tags/{resourceArn}" + } + } + }, + "com.amazonaws.workspacesthinclient#TagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource that you want to tag.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.workspacesthinclient#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs of the tag or tags to assign to the resource.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#TagsMap": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "smithy.api#String" + }, + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesthinclient#TargetDeviceStatus": { + "type": "enum", + "members": { + "DEREGISTERED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEREGISTERED" + } + }, + "ARCHIVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ARCHIVED" + } + } + } + }, + "com.amazonaws.workspacesthinclient#ThinClient": { + "type": "service", + "version": "2023-08-22", + "operations": [ + { + "target": "com.amazonaws.workspacesthinclient#CreateEnvironment" + }, + { + "target": "com.amazonaws.workspacesthinclient#DeleteDevice" + }, + { + "target": "com.amazonaws.workspacesthinclient#DeleteEnvironment" + }, + { + "target": "com.amazonaws.workspacesthinclient#DeregisterDevice" + }, + { + "target": "com.amazonaws.workspacesthinclient#GetDevice" + }, + { + "target": "com.amazonaws.workspacesthinclient#GetEnvironment" + }, + { + "target": "com.amazonaws.workspacesthinclient#GetSoftwareSet" + }, + { + "target": "com.amazonaws.workspacesthinclient#ListDevices" + }, + { + "target": "com.amazonaws.workspacesthinclient#ListEnvironments" + }, + { + "target": "com.amazonaws.workspacesthinclient#ListSoftwareSets" + }, + { + "target": "com.amazonaws.workspacesthinclient#ListTagsForResource" + }, + { + "target": "com.amazonaws.workspacesthinclient#TagResource" + }, + { + "target": "com.amazonaws.workspacesthinclient#UntagResource" + }, + { + "target": "com.amazonaws.workspacesthinclient#UpdateDevice" + }, + { + "target": "com.amazonaws.workspacesthinclient#UpdateEnvironment" + }, + { + "target": "com.amazonaws.workspacesthinclient#UpdateSoftwareSet" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "WorkSpaces Thin Client", + "arnNamespace": "thinclient", + "cloudTrailEventSource": "thinclient.amazonaws.com" + }, + "aws.auth#sigv4": { + "name": "thinclient" + }, + "aws.protocols#restJson1": {}, + "smithy.api#cors": {}, + "smithy.api#documentation": "

Amazon WorkSpaces Thin Client is a affordable device built to work with Amazon Web Services End User\n Computing (EUC) virtual desktops to provide users with a complete cloud desktop\n solution. WorkSpaces Thin Client is a compact device designed to connect up to two monitors and USB\n devices like a keyboard, mouse, headset, and webcam. To maximize endpoint security, WorkSpaces Thin Client\n devices do not allow local data storage or installation of unapproved applications. The\n WorkSpaces Thin Client device ships preloaded with device management software.

\n

You can use these APIs to complete WorkSpaces Thin Client tasks, such as creating environments or\n viewing devices. For more information about WorkSpaces Thin Client, including the required permissions to\n use the service, see the Amazon WorkSpaces Thin Client Administrator Guide. For\n more information about using the Command Line Interface (CLI) to manage\n your WorkSpaces Thin Client resources, see the WorkSpaces Thin Client section of the\n CLI Reference.

", + "smithy.api#title": "Amazon WorkSpaces Thin Client", + "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" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "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" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://thinclient-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://thinclient-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://thinclient.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://thinclient.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://thinclient.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://thinclient.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://thinclient.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "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": { + "endpoint": { + "url": "https://thinclient-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "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": { + "endpoint": { + "url": "https://thinclient.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "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": { + "endpoint": { + "url": "https://thinclient-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "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": { + "endpoint": { + "url": "https://thinclient.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "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": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "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": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.workspacesthinclient#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.workspacesthinclient#ExceptionMessage" + }, + "serviceCode": { + "target": "com.amazonaws.workspacesthinclient#ServiceCode", + "traits": { + "smithy.api#documentation": "

The code for the service in Service Quotas.

" + } + }, + "quotaCode": { + "target": "com.amazonaws.workspacesthinclient#QuotaCode", + "traits": { + "smithy.api#documentation": "

The code for the quota in Service Quotas.

" + } + }, + "retryAfterSeconds": { + "target": "com.amazonaws.workspacesthinclient#RetryAfterSeconds", + "traits": { + "smithy.api#documentation": "

The number of seconds to wait before retrying the next request.

", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

The request was denied due to request throttling.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.workspacesthinclient#Timestamp": { + "type": "timestamp" + }, + "com.amazonaws.workspacesthinclient#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#InternalServiceException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Removes a tag or tags from a resource.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesthinclient#UntagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource that you want to untag.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tagKeys": { + "target": "com.amazonaws.workspacesthinclient#TagKeys", + "traits": { + "smithy.api#documentation": "

The keys of the key-value pairs for the tag or tags you want to remove from the\n specified resource.

", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#UpdateDevice": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#UpdateDeviceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#UpdateDeviceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesthinclient#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates a thin client device.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "PATCH", + "uri": "/devices/{id}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesthinclient#UpdateDeviceRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#DeviceId", + "traits": { + "smithy.api#documentation": "

The ID of the device to update.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.workspacesthinclient#DeviceName", + "traits": { + "smithy.api#documentation": "

The name of the device to update.

" + } + }, + "desiredSoftwareSetId": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set to apply.

" + } + }, + "softwareSetUpdateSchedule": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", + "traits": { + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + } + }, + "kmsKeyArn": { + "target": "com.amazonaws.workspacesthinclient#KmsKeyArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service key to use for the\n update.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#UpdateDeviceResponse": { + "type": "structure", + "members": { + "device": { + "target": "com.amazonaws.workspacesthinclient#DeviceSummary", + "traits": { + "smithy.api#documentation": "

Describes a device.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#UpdateEnvironment": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#UpdateEnvironmentRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#UpdateEnvironmentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesthinclient#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates an environment.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "PATCH", + "uri": "/environments/{id}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesthinclient#UpdateEnvironmentRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentId", + "traits": { + "smithy.api#documentation": "

The ID of the environment to update.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentName", + "traits": { + "smithy.api#documentation": "

The name of the environment to update.

" + } + }, + "desktopArn": { + "target": "com.amazonaws.workspacesthinclient#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces,\n WorkSpaces Web, or AppStream 2.0.

" + } + }, + "desktopEndpoint": { + "target": "com.amazonaws.workspacesthinclient#DesktopEndpoint", + "traits": { + "smithy.api#documentation": "

The URL for the identity provider login (only for environments that use AppStream 2.0).

" + } + }, + "softwareSetUpdateSchedule": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", + "traits": { + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + } + }, + "maintenanceWindow": { + "target": "com.amazonaws.workspacesthinclient#MaintenanceWindow", + "traits": { + "smithy.api#documentation": "

A specification for a time window to apply software updates.

" + } + }, + "softwareSetUpdateMode": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateMode", + "traits": { + "smithy.api#documentation": "

An option to define which software updates to apply.

" + } + }, + "desiredSoftwareSetId": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetIdOrEmptyString", + "traits": { + "smithy.api#documentation": "

The ID of the software set to apply.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#UpdateEnvironmentResponse": { + "type": "structure", + "members": { + "environment": { + "target": "com.amazonaws.workspacesthinclient#EnvironmentSummary", + "traits": { + "smithy.api#documentation": "

Describes an environment.

", + "smithy.api#nestedProperties": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#UpdateSoftwareSet": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesthinclient#UpdateSoftwareSetRequest" + }, + "output": { + "target": "com.amazonaws.workspacesthinclient#UpdateSoftwareSetResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesthinclient#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesthinclient#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates a software set.

", + "smithy.api#endpoint": { + "hostPrefix": "api." + }, + "smithy.api#http": { + "method": "PATCH", + "uri": "/softwaresets/{id}", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesthinclient#UpdateSoftwareSetRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetId", + "traits": { + "smithy.api#documentation": "

The ID of the software set to update.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "validationStatus": { + "target": "com.amazonaws.workspacesthinclient#SoftwareSetValidationStatus", + "traits": { + "smithy.api#documentation": "

An option to define if the software set has been validated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesthinclient#UpdateSoftwareSetResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesthinclient#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.workspacesthinclient#ExceptionMessage" + }, + "reason": { + "target": "com.amazonaws.workspacesthinclient#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "

The reason for the exception.

" + } + }, + "fieldList": { + "target": "com.amazonaws.workspacesthinclient#ValidationExceptionFieldList", + "traits": { + "smithy.api#documentation": "

A list of fields that didn't validate.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The input fails to satisfy the specified constraints.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.workspacesthinclient#ValidationExceptionField": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.workspacesthinclient#FieldName", + "traits": { + "smithy.api#documentation": "

The name of the exception.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "com.amazonaws.workspacesthinclient#ExceptionMessage", + "traits": { + "smithy.api#documentation": "

A message that describes the reason for the exception.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a validation exception.

" + } + }, + "com.amazonaws.workspacesthinclient#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesthinclient#ValidationExceptionField" + } + }, + "com.amazonaws.workspacesthinclient#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" + } + } + } + } + } +} \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/workspaces.json b/codegen/sdk-codegen/aws-models/workspaces.json index 6ae3b9ce966..001efdee743 100644 --- a/codegen/sdk-codegen/aws-models/workspaces.json +++ b/codegen/sdk-codegen/aws-models/workspaces.json @@ -2127,6 +2127,43 @@ "smithy.api#output": {} } }, + "com.amazonaws.workspaces#DataReplication": { + "type": "enum", + "members": { + "NO_REPLICATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NO_REPLICATION" + } + }, + "PRIMARY_AS_SOURCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRIMARY_AS_SOURCE" + } + } + } + }, + "com.amazonaws.workspaces#DataReplicationSettings": { + "type": "structure", + "members": { + "DataReplication": { + "target": "com.amazonaws.workspaces#DataReplication", + "traits": { + "smithy.api#documentation": "

Indicates whether data replication is enabled, and if enabled, the type of data replication.

" + } + }, + "RecoverySnapshotTime": { + "target": "com.amazonaws.workspaces#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time at which the last successful snapshot was taken of the \n primary WorkSpace used for replicating data.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the data replication settings.

" + } + }, "com.amazonaws.workspaces#DedicatedTenancyCidrRangeList": { "type": "list", "member": { @@ -5857,8 +5894,13 @@ "WorkspaceProperties": { "target": "com.amazonaws.workspaces#WorkspaceProperties", "traits": { - "smithy.api#documentation": "

The properties of the WorkSpace.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The properties of the WorkSpace.

" + } + }, + "DataReplication": { + "target": "com.amazonaws.workspaces#DataReplication", + "traits": { + "smithy.api#documentation": "

Indicates the data replication status.

" } } }, @@ -6890,6 +6932,12 @@ "traits": { "smithy.api#documentation": "

The tags associated with the standby WorkSpace.

" } + }, + "DataReplication": { + "target": "com.amazonaws.workspaces#DataReplication", + "traits": { + "smithy.api#documentation": "

Indicates whether data replication is enabled, and if enabled, the type of data replication.

" + } } }, "traits": { @@ -6919,6 +6967,38 @@ "target": "com.amazonaws.workspaces#StandbyWorkspace" } }, + "com.amazonaws.workspaces#StandbyWorkspacesProperties": { + "type": "structure", + "members": { + "StandbyWorkspaceId": { + "target": "com.amazonaws.workspaces#WorkspaceId", + "traits": { + "smithy.api#documentation": "

The identifier of the standby WorkSpace

" + } + }, + "DataReplication": { + "target": "com.amazonaws.workspaces#DataReplication", + "traits": { + "smithy.api#documentation": "

Indicates whether data replication is enabled, and if enabled, the type of data replication.

" + } + }, + "RecoverySnapshotTime": { + "target": "com.amazonaws.workspaces#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time at which the last successful snapshot was taken of the \n primary WorkSpace used for replicating data.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the properties of the related standby WorkSpaces.

" + } + }, + "com.amazonaws.workspaces#StandbyWorkspacesPropertiesList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspaces#StandbyWorkspacesProperties" + } + }, "com.amazonaws.workspaces#StartRequest": { "type": "structure", "members": { @@ -7897,6 +7977,18 @@ "traits": { "smithy.api#documentation": "

The standby WorkSpace or primary WorkSpace related to the specified WorkSpace.

" } + }, + "DataReplicationSettings": { + "target": "com.amazonaws.workspaces#DataReplicationSettings", + "traits": { + "smithy.api#documentation": "

Indicates the settings of the data replication.

" + } + }, + "StandbyWorkspacesProperties": { + "target": "com.amazonaws.workspaces#StandbyWorkspacesPropertiesList", + "traits": { + "smithy.api#documentation": "

The properties of the standby WorkSpace

" + } } }, "traits": {