diff --git a/.changes/2.861.0.json b/.changes/2.861.0.json new file mode 100644 index 0000000000..ac134520a7 --- /dev/null +++ b/.changes/2.861.0.json @@ -0,0 +1,22 @@ +[ + { + "type": "feature", + "category": "AccessAnalyzer", + "description": "This release adds support to preview IAM Access Analyzer findings for a resource before deploying resource permission changes." + }, + { + "type": "feature", + "category": "Backup", + "description": "Added support for enabling continuous backups." + }, + { + "type": "feature", + "category": "S3", + "description": "Adding ID element to the CORSRule schema" + }, + { + "type": "feature", + "category": "SSM", + "description": "Systems Manager support for tagging OpsMetadata." + } +] \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index a48292d450..5495981fb6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,13 @@ # Changelog for AWS SDK for JavaScript - + +## 2.861.0 +* feature: AccessAnalyzer: This release adds support to preview IAM Access Analyzer findings for a resource before deploying resource permission changes. +* feature: Backup: Added support for enabling continuous backups. +* feature: S3: Adding ID element to the CORSRule schema +* feature: SSM: Systems Manager support for tagging OpsMetadata. + ## 2.860.0 * feature: AutoScaling: EC2 Auto Scaling now supports setting a local time zone for cron expressions in scheduled actions, removing the need to adjust for Daylight Saving Time (DST) * feature: CodeGuruProfiler: Update documentation to include Python. Add ConflictException for DeleteProfilingGroup. Add FrameMetricValue. diff --git a/README.md b/README.md index 02bfe9b4c4..7d1fc16f26 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ For release notes, see the [CHANGELOG](https://github.com/aws/aws-sdk-js/blob/ma To use the SDK in the browser, simply add the following script tag to your HTML pages: - + You can also build a custom browser SDK with your specified set of AWS services. This can allow you to reduce the SDK's size, specify different API versions of diff --git a/apis/accessanalyzer-2019-11-01.min.json b/apis/accessanalyzer-2019-11-01.min.json index 2a413f8bb9..53608cc078 100644 --- a/apis/accessanalyzer-2019-11-01.min.json +++ b/apis/accessanalyzer-2019-11-01.min.json @@ -34,6 +34,39 @@ }, "idempotent": true }, + "CreateAccessPreview": { + "http": { + "method": "PUT", + "requestUri": "/access-preview", + "responseCode": 200 + }, + "input": { + "type": "structure", + "required": [ + "analyzerArn", + "configurations" + ], + "members": { + "analyzerArn": {}, + "clientToken": { + "idempotencyToken": true + }, + "configurations": { + "shape": "S6" + } + } + }, + "output": { + "type": "structure", + "required": [ + "id" + ], + "members": { + "id": {} + } + }, + "idempotent": true + }, "CreateAnalyzer": { "http": { "method": "PUT", @@ -58,7 +91,7 @@ ], "members": { "filter": { - "shape": "S8" + "shape": "S1i" }, "ruleName": {} } @@ -68,7 +101,7 @@ "idempotencyToken": true }, "tags": { - "shape": "Sc" + "shape": "S1l" }, "type": {} } @@ -103,7 +136,7 @@ "idempotencyToken": true }, "filter": { - "shape": "S8" + "shape": "S1i" }, "ruleName": {} } @@ -165,6 +198,62 @@ }, "idempotent": true }, + "GetAccessPreview": { + "http": { + "method": "GET", + "requestUri": "/access-preview/{accessPreviewId}", + "responseCode": 200 + }, + "input": { + "type": "structure", + "required": [ + "accessPreviewId", + "analyzerArn" + ], + "members": { + "accessPreviewId": { + "location": "uri", + "locationName": "accessPreviewId" + }, + "analyzerArn": { + "location": "querystring", + "locationName": "analyzerArn" + } + } + }, + "output": { + "type": "structure", + "required": [ + "accessPreview" + ], + "members": { + "accessPreview": { + "type": "structure", + "required": [ + "analyzerArn", + "configurations", + "createdAt", + "id", + "status" + ], + "members": { + "analyzerArn": {}, + "configurations": { + "shape": "S6" + }, + "createdAt": { + "shape": "S1u" + }, + "id": {}, + "status": {}, + "statusReason": { + "shape": "S1w" + } + } + } + } + } + }, "GetAnalyzedResource": { "http": { "method": "GET", @@ -204,13 +293,13 @@ ], "members": { "actions": { - "shape": "Sm" + "shape": "S22" }, "analyzedAt": { - "shape": "Sn" + "shape": "S1u" }, "createdAt": { - "shape": "Sn" + "shape": "S1u" }, "error": {}, "isPublic": { @@ -225,7 +314,7 @@ }, "status": {}, "updatedAt": { - "shape": "Sn" + "shape": "S1u" } } } @@ -257,7 +346,7 @@ ], "members": { "analyzer": { - "shape": "St" + "shape": "S28" } } } @@ -292,7 +381,7 @@ ], "members": { "archiveRule": { - "shape": "Sz" + "shape": "S2e" } } } @@ -337,16 +426,16 @@ ], "members": { "action": { - "shape": "Sm" + "shape": "S22" }, "analyzedAt": { - "shape": "Sn" + "shape": "S1u" }, "condition": { - "shape": "S14" + "shape": "S2j" }, "createdAt": { - "shape": "Sn" + "shape": "S1u" }, "error": {}, "id": {}, @@ -354,23 +443,162 @@ "type": "boolean" }, "principal": { - "shape": "S15" + "shape": "S2k" }, "resource": {}, "resourceOwnerAccount": {}, "resourceType": {}, "sources": { - "shape": "S16" + "shape": "S2l" }, "status": {}, "updatedAt": { - "shape": "Sn" + "shape": "S1u" } } } } } }, + "ListAccessPreviewFindings": { + "http": { + "requestUri": "/access-preview/{accessPreviewId}", + "responseCode": 200 + }, + "input": { + "type": "structure", + "required": [ + "accessPreviewId", + "analyzerArn" + ], + "members": { + "accessPreviewId": { + "location": "uri", + "locationName": "accessPreviewId" + }, + "analyzerArn": {}, + "filter": { + "shape": "S1i" + }, + "maxResults": { + "type": "integer" + }, + "nextToken": {} + } + }, + "output": { + "type": "structure", + "required": [ + "findings" + ], + "members": { + "findings": { + "type": "list", + "member": { + "type": "structure", + "required": [ + "changeType", + "createdAt", + "id", + "resourceOwnerAccount", + "resourceType", + "status" + ], + "members": { + "action": { + "shape": "S22" + }, + "changeType": {}, + "condition": { + "shape": "S2j" + }, + "createdAt": { + "shape": "S1u" + }, + "error": {}, + "existingFindingId": {}, + "existingFindingStatus": {}, + "id": {}, + "isPublic": { + "type": "boolean" + }, + "principal": { + "shape": "S2k" + }, + "resource": {}, + "resourceOwnerAccount": {}, + "resourceType": {}, + "sources": { + "shape": "S2l" + }, + "status": {} + } + } + }, + "nextToken": {} + } + } + }, + "ListAccessPreviews": { + "http": { + "method": "GET", + "requestUri": "/access-preview", + "responseCode": 200 + }, + "input": { + "type": "structure", + "required": [ + "analyzerArn" + ], + "members": { + "analyzerArn": { + "location": "querystring", + "locationName": "analyzerArn" + }, + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "type": "integer" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken" + } + } + }, + "output": { + "type": "structure", + "required": [ + "accessPreviews" + ], + "members": { + "accessPreviews": { + "type": "list", + "member": { + "type": "structure", + "required": [ + "analyzerArn", + "createdAt", + "id", + "status" + ], + "members": { + "analyzerArn": {}, + "createdAt": { + "shape": "S1u" + }, + "id": {}, + "status": {}, + "statusReason": { + "shape": "S1w" + } + } + } + }, + "nextToken": {} + } + } + }, "ListAnalyzedResources": { "http": { "requestUri": "/analyzed-resource", @@ -449,7 +677,7 @@ "analyzers": { "type": "list", "member": { - "shape": "St" + "shape": "S28" } }, "nextToken": {} @@ -492,7 +720,7 @@ "archiveRules": { "type": "list", "member": { - "shape": "Sz" + "shape": "S2e" } }, "nextToken": {} @@ -512,7 +740,7 @@ "members": { "analyzerArn": {}, "filter": { - "shape": "S8" + "shape": "S1i" }, "maxResults": { "type": "integer" @@ -549,16 +777,16 @@ ], "members": { "action": { - "shape": "Sm" + "shape": "S22" }, "analyzedAt": { - "shape": "Sn" + "shape": "S1u" }, "condition": { - "shape": "S14" + "shape": "S2j" }, "createdAt": { - "shape": "Sn" + "shape": "S1u" }, "error": {}, "id": {}, @@ -566,17 +794,17 @@ "type": "boolean" }, "principal": { - "shape": "S15" + "shape": "S2k" }, "resource": {}, "resourceOwnerAccount": {}, "resourceType": {}, "sources": { - "shape": "S16" + "shape": "S2l" }, "status": {}, "updatedAt": { - "shape": "Sn" + "shape": "S1u" } } } @@ -607,7 +835,7 @@ "type": "structure", "members": { "tags": { - "shape": "Sc" + "shape": "S1l" } } } @@ -646,7 +874,7 @@ "locationName": "resourceArn" }, "tags": { - "shape": "Sc" + "shape": "S1l" } } }, @@ -709,7 +937,7 @@ "idempotencyToken": true }, "filter": { - "shape": "S8" + "shape": "S1i" }, "ruleName": { "location": "uri", @@ -748,45 +976,206 @@ } }, "shapes": { - "S8": { + "S6": { + "type": "map", + "key": {}, + "value": { + "type": "structure", + "members": { + "iamRole": { + "type": "structure", + "members": { + "trustPolicy": {} + } + }, + "kmsKey": { + "type": "structure", + "members": { + "grants": { + "type": "list", + "member": { + "type": "structure", + "required": [ + "granteePrincipal", + "issuingAccount", + "operations" + ], + "members": { + "constraints": { + "type": "structure", + "members": { + "encryptionContextEquals": { + "shape": "Sf" + }, + "encryptionContextSubset": { + "shape": "Sf" + } + } + }, + "granteePrincipal": {}, + "issuingAccount": {}, + "operations": { + "type": "list", + "member": {} + }, + "retiringPrincipal": {} + } + } + }, + "keyPolicies": { + "type": "map", + "key": {}, + "value": {} + } + } + }, + "s3Bucket": { + "type": "structure", + "members": { + "accessPoints": { + "type": "map", + "key": {}, + "value": { + "type": "structure", + "members": { + "accessPointPolicy": {}, + "networkOrigin": { + "type": "structure", + "members": { + "internetConfiguration": { + "type": "structure", + "members": {} + }, + "vpcConfiguration": { + "type": "structure", + "required": [ + "vpcId" + ], + "members": { + "vpcId": {} + } + } + }, + "union": true + }, + "publicAccessBlock": { + "shape": "Sz" + } + } + } + }, + "bucketAclGrants": { + "type": "list", + "member": { + "type": "structure", + "required": [ + "grantee", + "permission" + ], + "members": { + "grantee": { + "type": "structure", + "members": { + "id": {}, + "uri": {} + }, + "union": true + }, + "permission": {} + } + } + }, + "bucketPolicy": {}, + "bucketPublicAccessBlock": { + "shape": "Sz" + } + } + }, + "secretsManagerSecret": { + "type": "structure", + "members": { + "kmsKeyId": {}, + "secretPolicy": {} + } + }, + "sqsQueue": { + "type": "structure", + "members": { + "queuePolicy": {} + } + } + }, + "union": true + } + }, + "Sf": { + "type": "map", + "key": {}, + "value": {} + }, + "Sz": { + "type": "structure", + "required": [ + "ignorePublicAcls", + "restrictPublicBuckets" + ], + "members": { + "ignorePublicAcls": { + "type": "boolean" + }, + "restrictPublicBuckets": { + "type": "boolean" + } + } + }, + "S1i": { "type": "map", "key": {}, "value": { "type": "structure", "members": { "contains": { - "shape": "Sa" + "shape": "S1k" }, "eq": { - "shape": "Sa" + "shape": "S1k" }, "exists": { "type": "boolean" }, "neq": { - "shape": "Sa" + "shape": "S1k" } } } }, - "Sa": { + "S1k": { "type": "list", "member": {} }, - "Sc": { + "S1l": { "type": "map", "key": {}, "value": {} }, - "Sm": { - "type": "list", - "member": {} - }, - "Sn": { + "S1u": { "type": "timestamp", "timestampFormat": "iso8601" }, - "St": { + "S1w": { + "type": "structure", + "required": [ + "code" + ], + "members": { + "code": {} + } + }, + "S22": { + "type": "list", + "member": {} + }, + "S28": { "type": "structure", "required": [ "arn", @@ -798,11 +1187,11 @@ "members": { "arn": {}, "createdAt": { - "shape": "Sn" + "shape": "S1u" }, "lastResourceAnalyzed": {}, "lastResourceAnalyzedAt": { - "shape": "Sn" + "shape": "S1u" }, "name": {}, "status": {}, @@ -816,12 +1205,12 @@ } }, "tags": { - "shape": "Sc" + "shape": "S1l" }, "type": {} } }, - "Sz": { + "S2e": { "type": "structure", "required": [ "createdAt", @@ -831,28 +1220,28 @@ ], "members": { "createdAt": { - "shape": "Sn" + "shape": "S1u" }, "filter": { - "shape": "S8" + "shape": "S1i" }, "ruleName": {}, "updatedAt": { - "shape": "Sn" + "shape": "S1u" } } }, - "S14": { + "S2j": { "type": "map", "key": {}, "value": {} }, - "S15": { + "S2k": { "type": "map", "key": {}, "value": {} }, - "S16": { + "S2l": { "type": "list", "member": { "type": "structure", diff --git a/apis/accessanalyzer-2019-11-01.normal.json b/apis/accessanalyzer-2019-11-01.normal.json index 72c28f8171..774355e072 100644 --- a/apis/accessanalyzer-2019-11-01.normal.json +++ b/apis/accessanalyzer-2019-11-01.normal.json @@ -42,6 +42,45 @@ "documentation": "
Retroactively applies the archive rule to existing findings that meet the archive rule criteria.
", "idempotent": true }, + "CreateAccessPreview": { + "name": "CreateAccessPreview", + "http": { + "method": "PUT", + "requestUri": "/access-preview", + "responseCode": 200 + }, + "input": { + "shape": "CreateAccessPreviewRequest" + }, + "output": { + "shape": "CreateAccessPreviewResponse" + }, + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "documentation": "Creates an access preview that allows you to preview Access Analyzer findings for your resource before deploying resource permissions.
", + "idempotent": true + }, "CreateAnalyzer": { "name": "CreateAnalyzer", "http": { @@ -174,6 +213,38 @@ "documentation": "Deletes the specified archive rule.
", "idempotent": true }, + "GetAccessPreview": { + "name": "GetAccessPreview", + "http": { + "method": "GET", + "requestUri": "/access-preview/{accessPreviewId}", + "responseCode": 200 + }, + "input": { + "shape": "GetAccessPreviewRequest" + }, + "output": { + "shape": "GetAccessPreviewResponse" + }, + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "documentation": "Retrieves information about an access preview for the specified analyzer.
" + }, "GetAnalyzedResource": { "name": "GetAnalyzedResource", "http": { @@ -302,6 +373,73 @@ ], "documentation": "Retrieves information about the specified finding.
" }, + "ListAccessPreviewFindings": { + "name": "ListAccessPreviewFindings", + "http": { + "method": "POST", + "requestUri": "/access-preview/{accessPreviewId}", + "responseCode": 200 + }, + "input": { + "shape": "ListAccessPreviewFindingsRequest" + }, + "output": { + "shape": "ListAccessPreviewFindingsResponse" + }, + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "documentation": "Retrieves a list of access preview findings generated by the specified access preview.
" + }, + "ListAccessPreviews": { + "name": "ListAccessPreviews", + "http": { + "method": "GET", + "requestUri": "/access-preview", + "responseCode": 200 + }, + "input": { + "shape": "ListAccessPreviewsRequest" + }, + "output": { + "shape": "ListAccessPreviewsResponse" + }, + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "documentation": "Retrieves a list of access previews for the specified analyzer.
" + }, "ListAnalyzedResources": { "name": "ListAnalyzedResources", "http": { @@ -422,7 +560,7 @@ "shape": "AccessDeniedException" } ], - "documentation": "Retrieves a list of findings generated by the specified analyzer.
To learn about filter keys that you can use to create an archive rule, see Access Analyzer filter keys in the IAM User Guide.
" + "documentation": "Retrieves a list of findings generated by the specified analyzer.
To learn about filter keys that you can use to retrieve a list of findings, see Access Analyzer filter keys in the IAM User Guide.
" }, "ListTagsForResource": { "name": "ListTagsForResource", @@ -613,6 +751,233 @@ } }, "shapes": { + "AccessPointArn": { + "type": "string", + "pattern": "arn:[^:]*:s3:[^:]*:[^:]*:accesspoint/.*$" + }, + "AccessPointPolicy": { + "type": "string" + }, + "AccessPreview": { + "type": "structure", + "required": [ + "analyzerArn", + "configurations", + "createdAt", + "id", + "status" + ], + "members": { + "analyzerArn": { + "shape": "AnalyzerArn", + "documentation": "The ARN of the analyzer used to generate the access preview.
" + }, + "configurations": { + "shape": "ConfigurationsMap", + "documentation": "A map of resource ARNs for the proposed resource configuration.
" + }, + "createdAt": { + "shape": "Timestamp", + "documentation": "The time at which the access preview was created.
" + }, + "id": { + "shape": "AccessPreviewId", + "documentation": "The unique ID for the access preview.
" + }, + "status": { + "shape": "AccessPreviewStatus", + "documentation": "The status of the access preview.
Creating
- The access preview creation is in progress.
Completed
- The access preview is complete. You can preview findings for external access to the resource.
Failed
- The access preview creation has failed.
Provides more details about the current status of the access preview.
For example, if the creation of the access preview fails, a Failed
status is returned. This failure can be due to an internal issue with the analysis or due to an invalid resource configuration.
Contains information about an access preview.
" + }, + "AccessPreviewFinding": { + "type": "structure", + "required": [ + "changeType", + "createdAt", + "id", + "resourceOwnerAccount", + "resourceType", + "status" + ], + "members": { + "action": { + "shape": "ActionList", + "documentation": "The action in the analyzed policy statement that an external principal has permission to perform.
" + }, + "changeType": { + "shape": "FindingChangeType", + "documentation": "Provides context on how the access preview finding compares to existing access identified in Access Analyzer.
New
- The finding is for newly-introduced access.
Unchanged
- The preview finding is an existing finding that would remain unchanged.
Changed
- The preview finding is an existing finding with a change in status.
For example, a Changed
finding with preview status Resolved
and existing status Active
indicates the existing Active
finding would become Resolved
as a result of the proposed permissions change.
The condition in the analyzed policy statement that resulted in a finding.
" + }, + "createdAt": { + "shape": "Timestamp", + "documentation": "The time at which the access preview finding was created.
" + }, + "error": { + "shape": "String", + "documentation": "An error.
" + }, + "existingFindingId": { + "shape": "FindingId", + "documentation": "The existing ID of the finding in Access Analyzer, provided only for existing findings.
" + }, + "existingFindingStatus": { + "shape": "FindingStatus", + "documentation": "The existing status of the finding, provided only for existing findings.
" + }, + "id": { + "shape": "AccessPreviewFindingId", + "documentation": "The ID of the access preview finding. This ID uniquely identifies the element in the list of access preview findings and is not related to the finding ID in Access Analyzer.
" + }, + "isPublic": { + "shape": "Boolean", + "documentation": "Indicates whether the policy that generated the finding allows public access to the resource.
" + }, + "principal": { + "shape": "PrincipalMap", + "documentation": "The external principal that has access to a resource within the zone of trust.
" + }, + "resource": { + "shape": "String", + "documentation": "The resource that an external principal has access to. This is the resource associated with the access preview.
" + }, + "resourceOwnerAccount": { + "shape": "String", + "documentation": "The AWS account ID that owns the resource. For most AWS resources, the owning account is the account in which the resource was created.
" + }, + "resourceType": { + "shape": "ResourceType", + "documentation": "The type of the resource that can be accessed in the finding.
" + }, + "sources": { + "shape": "FindingSourceList", + "documentation": "The sources of the finding. This indicates how the access that generated the finding is granted. It is populated for Amazon S3 bucket findings.
" + }, + "status": { + "shape": "FindingStatus", + "documentation": "The preview status of the finding. This is what the status of the finding would be after permissions deployment. For example, a Changed
finding with preview status Resolved
and existing status Active
indicates the existing Active
finding would become Resolved
as a result of the proposed permissions change.
An access preview finding generated by the access preview.
" + }, + "AccessPreviewFindingId": { + "type": "string" + }, + "AccessPreviewFindingsList": { + "type": "list", + "member": { + "shape": "AccessPreviewFinding" + } + }, + "AccessPreviewId": { + "type": "string", + "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + }, + "AccessPreviewStatus": { + "type": "string", + "enum": [ + "COMPLETED", + "CREATING", + "FAILED" + ] + }, + "AccessPreviewStatusReason": { + "type": "structure", + "required": [ + "code" + ], + "members": { + "code": { + "shape": "AccessPreviewStatusReasonCode", + "documentation": "The reason code for the current status of the access preview.
" + } + }, + "documentation": "Provides more details about the current status of the access preview. For example, if the creation of the access preview fails, a Failed
status is returned. This failure can be due to an internal issue with the analysis or due to an invalid proposed resource configuration.
The ARN of the analyzer used to generate the access preview.
" + }, + "createdAt": { + "shape": "Timestamp", + "documentation": "The time at which the access preview was created.
" + }, + "id": { + "shape": "AccessPreviewId", + "documentation": "The unique ID for the access preview.
" + }, + "status": { + "shape": "AccessPreviewStatus", + "documentation": "The status of the access preview.
Creating
- The access preview creation is in progress.
Completed
- The access preview is complete and previews the findings for external access to the resource.
Failed
- The access preview creation has failed.
Contains a summary of information about an access preview.
" + }, + "AccessPreviewsList": { + "type": "list", + "member": { + "shape": "AccessPreviewSummary" + } + }, + "AclCanonicalId": { + "type": "string" + }, + "AclGrantee": { + "type": "structure", + "members": { + "id": { + "shape": "AclCanonicalId", + "documentation": "The value specified is the canonical user ID of an AWS account.
" + }, + "uri": { + "shape": "AclUri", + "documentation": "Used for granting permissions to a predefined group.
" + } + }, + "documentation": "You specify each grantee as a type-value pair using one of these types. You can specify only one type of grantee. For more information, see PutBucketAcl.
", + "union": true + }, + "AclPermission": { + "type": "string", + "enum": [ + "READ", + "WRITE", + "READ_ACP", + "WRITE_ACP", + "FULL_CONTROL" + ] + }, + "AclUri": { + "type": "string" + }, "ActionList": { "type": "list", "member": { @@ -756,7 +1121,7 @@ }, "statusReason": { "shape": "StatusReason", - "documentation": "The statusReason
provides more details about the current status of the analyzer. For example, if the creation for the analyzer fails, a Failed
status is displayed. For an analyzer with organization as the type, this failure can be due to an issue with creating the service-linked roles required in the member accounts of the AWS organization.
The statusReason
provides more details about the current status of the analyzer. For example, if the creation for the analyzer fails, a Failed
status is returned. For an analyzer with organization as the type, this failure can be due to an issue with creating the service-linked roles required in the member accounts of the AWS organization.
The access control configuration is for an IAM role.
" + }, + "kmsKey": { + "shape": "KmsKeyConfiguration", + "documentation": "The access control configuration is for a KMS key.
" + }, + "s3Bucket": { + "shape": "S3BucketConfiguration", + "documentation": "The access control configuration is for an Amazon S3 Bucket.
" + }, + "secretsManagerSecret": { + "shape": "SecretsManagerSecretConfiguration", + "documentation": "The access control configuration is for a Secrets Manager secret.
" + }, + "sqsQueue": { + "shape": "SqsQueueConfiguration", + "documentation": "The access control configuration is for an SQS queue.
" + } + }, + "documentation": "Access control configuration structures for your resource. You specify the configuration as a type-value pair. You can specify only one type of access control configuration.
", + "union": true + }, + "ConfigurationsMap": { + "type": "map", + "key": { + "shape": "ConfigurationsMapKey" + }, + "value": { + "shape": "Configuration" + } + }, + "ConfigurationsMapKey": { + "type": "string" + }, + "CreateAccessPreviewRequest": { + "type": "structure", + "required": [ + "analyzerArn", + "configurations" + ], + "members": { + "analyzerArn": { + "shape": "AnalyzerArn", + "documentation": "The ARN of the account analyzer used to generate the access preview. You can only create an access preview for analyzers with an Account
type and Active
status.
A client token.
", + "idempotencyToken": true + }, + "configurations": { + "shape": "ConfigurationsMap", + "documentation": "Access control configuration for your resource that is used to generate the access preview. The access preview includes findings for external access allowed to the resource with the proposed access control configuration. The configuration must contain exactly one element.
" + } + } + }, + "CreateAccessPreviewResponse": { + "type": "structure", + "required": [ + "id" + ], + "members": { + "id": { + "shape": "AccessPreviewId", + "documentation": "The unique ID for the access preview.
" + } + } + }, "CreateAnalyzerRequest": { "type": "structure", "required": [ @@ -1053,7 +1491,7 @@ }, "resourceType": { "shape": "ResourceType", - "documentation": "The type of the resource reported in the finding.
" + "documentation": "The type of the resource identified in the finding.
" }, "sources": { "shape": "FindingSourceList", @@ -1070,6 +1508,14 @@ }, "documentation": "Contains information about a finding.
" }, + "FindingChangeType": { + "type": "string", + "enum": [ + "CHANGED", + "NEW", + "UNCHANGED" + ] + }, "FindingId": { "type": "string" }, @@ -1213,6 +1659,39 @@ "shape": "FindingSummary" } }, + "GetAccessPreviewRequest": { + "type": "structure", + "required": [ + "accessPreviewId", + "analyzerArn" + ], + "members": { + "accessPreviewId": { + "shape": "AccessPreviewId", + "documentation": "The unique ID for the access preview.
", + "location": "uri", + "locationName": "accessPreviewId" + }, + "analyzerArn": { + "shape": "AnalyzerArn", + "documentation": "The ARN of the analyzer used to generate the access preview.
", + "location": "querystring", + "locationName": "analyzerArn" + } + } + }, + "GetAccessPreviewResponse": { + "type": "structure", + "required": [ + "accessPreview" + ], + "members": { + "accessPreview": { + "shape": "AccessPreview", + "documentation": "An object that contains information about the access preview.
" + } + } + }, "GetAnalyzedResourceRequest": { "type": "structure", "required": [ @@ -1222,7 +1701,7 @@ "members": { "analyzerArn": { "shape": "AnalyzerArn", - "documentation": "The ARN of the analyzer to retrieve information from.
", + "documentation": "The ARN of the analyzer to retrieve information from.
", "location": "querystring", "locationName": "analyzerArn" }, @@ -1240,7 +1719,7 @@ "members": { "resource": { "shape": "AnalyzedResource", - "documentation": "An AnalyedResource
object that contains information that Access Analyzer found when it analyzed the resource.
An AnalyzedResource
object that contains information that Access Analyzer found when it analyzed the resource.
The response to the request.
" @@ -1316,7 +1795,7 @@ "members": { "analyzerArn": { "shape": "AnalyzerArn", - "documentation": "The ARN of the analyzer that generated the finding.
", + "documentation": "The ARN of the analyzer that generated the finding.
", "location": "querystring", "locationName": "analyzerArn" }, @@ -1339,6 +1818,22 @@ }, "documentation": "The response to the request.
" }, + "GranteePrincipal": { + "type": "string" + }, + "IamRoleConfiguration": { + "type": "structure", + "members": { + "trustPolicy": { + "shape": "IamTrustPolicy", + "documentation": "The proposed trust policy for the IAM role.
" + } + }, + "documentation": "The proposed access control configuration for an IAM role. You can propose a configuration for a new IAM role or an existing IAM role that you own by specifying the trust policy. If the configuration is for a new IAM role, you must specify the trust policy. If the configuration is for an existing IAM role that you own and you do not propose the trust policy, the access preview uses the existing trust policy for the role. The proposed trust policy cannot be an empty string. For more information about role trust policy limits, see IAM and STS quotas.
" + }, + "IamTrustPolicy": { + "type": "string" + }, "InlineArchiveRule": { "type": "structure", "required": [ @@ -1367,6 +1862,220 @@ "type": "integer", "box": true }, + "InternetConfiguration": { + "type": "structure", + "members": {}, + "documentation": "This configuration sets the Amazon S3 access point network origin to Internet
.
Use this structure to propose allowing cryptographic operations in the grant only when the operation request includes the specified encryption context.
" + }, + "granteePrincipal": { + "shape": "GranteePrincipal", + "documentation": "The principal that is given permission to perform the operations that the grant permits.
" + }, + "issuingAccount": { + "shape": "IssuingAccount", + "documentation": "The AWS account under which the grant was issued. The account is used to propose KMS grants issued by accounts other than the owner of the key.
" + }, + "operations": { + "shape": "KmsGrantOperationsList", + "documentation": "A list of operations that the grant permits.
" + }, + "retiringPrincipal": { + "shape": "RetiringPrincipal", + "documentation": "The principal that is given permission to retire the grant by using RetireGrant operation.
" + } + }, + "documentation": "A proposed grant configuration for a KMS key. For more information, see CreateGrant.
" + }, + "KmsGrantConfigurationsList": { + "type": "list", + "member": { + "shape": "KmsGrantConfiguration" + } + }, + "KmsGrantConstraints": { + "type": "structure", + "members": { + "encryptionContextEquals": { + "shape": "KmsConstraintsMap", + "documentation": "A list of key-value pairs that must match the encryption context in the cryptographic operation request. The grant allows the operation only when the encryption context in the request is the same as the encryption context specified in this constraint.
" + }, + "encryptionContextSubset": { + "shape": "KmsConstraintsMap", + "documentation": "A list of key-value pairs that must be included in the encryption context of the cryptographic operation request. The grant allows the cryptographic operation only when the encryption context in the request includes the key-value pairs specified in this constraint, although it can include additional key-value pairs.
" + } + }, + "documentation": "Use this structure to propose allowing cryptographic operations in the grant only when the operation request includes the specified encryption context. You can specify only one type of encryption context. An empty map is treated as not specified. For more information, see GrantConstraints.
" + }, + "KmsGrantOperation": { + "type": "string", + "enum": [ + "CreateGrant", + "Decrypt", + "DescribeKey", + "Encrypt", + "GenerateDataKey", + "GenerateDataKeyPair", + "GenerateDataKeyPairWithoutPlaintext", + "GenerateDataKeyWithoutPlaintext", + "GetPublicKey", + "ReEncryptFrom", + "ReEncryptTo", + "RetireGrant", + "Sign", + "Verify" + ] + }, + "KmsGrantOperationsList": { + "type": "list", + "member": { + "shape": "KmsGrantOperation" + } + }, + "KmsKeyConfiguration": { + "type": "structure", + "members": { + "grants": { + "shape": "KmsGrantConfigurationsList", + "documentation": "A list of proposed grant configurations for the KMS key. If the proposed grant configuration is for an existing key, the access preview uses the proposed list of grant configurations in place of the existing grants. Otherwise, the access preview uses the existing grants for the key.
" + }, + "keyPolicies": { + "shape": "KmsKeyPoliciesMap", + "documentation": "Resource policy configuration for the KMS key. The only valid value for the name of the key policy is default
. For more information, see Default key policy.
Proposed access control configuration for a KMS key. You can propose a configuration for a new KMS key or an existing KMS key that you own by specifying the key policy and KMS grant configuration. If the configuration is for an existing key and you do not specify the key policy, the access preview uses the existing policy for the key. If the access preview is for a new resource and you do not specify the key policy, then the access preview uses the default key policy. The proposed key policy cannot be an empty string. For more information, see Default key policy. For more information about key policy limits, see Resource quotas.
" + }, + "KmsKeyPoliciesMap": { + "type": "map", + "key": { + "shape": "PolicyName" + }, + "value": { + "shape": "KmsKeyPolicy" + } + }, + "KmsKeyPolicy": { + "type": "string" + }, + "ListAccessPreviewFindingsRequest": { + "type": "structure", + "required": [ + "accessPreviewId", + "analyzerArn" + ], + "members": { + "accessPreviewId": { + "shape": "AccessPreviewId", + "documentation": "The unique ID for the access preview.
", + "location": "uri", + "locationName": "accessPreviewId" + }, + "analyzerArn": { + "shape": "AnalyzerArn", + "documentation": "The ARN of the analyzer used to generate the access.
" + }, + "filter": { + "shape": "FilterCriteriaMap", + "documentation": "Criteria to filter the returned findings.
" + }, + "maxResults": { + "shape": "Integer", + "documentation": "The maximum number of results to return in the response.
" + }, + "nextToken": { + "shape": "Token", + "documentation": "A token used for pagination of results returned.
" + } + } + }, + "ListAccessPreviewFindingsResponse": { + "type": "structure", + "required": [ + "findings" + ], + "members": { + "findings": { + "shape": "AccessPreviewFindingsList", + "documentation": "A list of access preview findings that match the specified filter criteria.
" + }, + "nextToken": { + "shape": "Token", + "documentation": "A token used for pagination of results returned.
" + } + } + }, + "ListAccessPreviewsRequest": { + "type": "structure", + "required": [ + "analyzerArn" + ], + "members": { + "analyzerArn": { + "shape": "AnalyzerArn", + "documentation": "The ARN of the analyzer used to generate the access preview.
", + "location": "querystring", + "locationName": "analyzerArn" + }, + "maxResults": { + "shape": "Integer", + "documentation": "The maximum number of results to return in the response.
", + "location": "querystring", + "locationName": "maxResults" + }, + "nextToken": { + "shape": "Token", + "documentation": "A token used for pagination of results returned.
", + "location": "querystring", + "locationName": "nextToken" + } + } + }, + "ListAccessPreviewsResponse": { + "type": "structure", + "required": [ + "accessPreviews" + ], + "members": { + "accessPreviews": { + "shape": "AccessPreviewsList", + "documentation": "A list of access previews retrieved for the analyzer.
" + }, + "nextToken": { + "shape": "Token", + "documentation": "A token used for pagination of results returned.
" + } + } + }, "ListAnalyzedResourcesRequest": { "type": "structure", "required": [ @@ -1375,7 +2084,7 @@ "members": { "analyzerArn": { "shape": "AnalyzerArn", - "documentation": "The ARN of the analyzer to retrieve a list of analyzed resources from.
" + "documentation": "The ARN of the analyzer to retrieve a list of analyzed resources from.
" }, "maxResults": { "shape": "Integer", @@ -1502,7 +2211,7 @@ "members": { "analyzerArn": { "shape": "AnalyzerArn", - "documentation": "The ARN of the analyzer to retrieve findings from.
" + "documentation": "The ARN of the analyzer to retrieve findings from.
" }, "filter": { "shape": "FilterCriteriaMap", @@ -1571,6 +2280,20 @@ "min": 1, "pattern": "^[A-Za-z][A-Za-z0-9_.-]*$" }, + "NetworkOriginConfiguration": { + "type": "structure", + "members": { + "internetConfiguration": { + "shape": "InternetConfiguration", + "documentation": "The configuration for the Amazon S3 access point with an Internet
origin.
The proposed InternetConfiguration
or VpcConfiguration
to apply to the Amazon S3 Access point. You can make the access point accessible from the internet, or you can specify that all requests made through that access point must originate from a specific virtual private cloud (VPC). You can specify only one type of network configuration. For more information, see Creating access points.
The access point policy.
" + }, + "networkOrigin": { + "shape": "NetworkOriginConfiguration", + "documentation": "The proposed Internet
and VpcConfiguration
to apply to this Amazon S3 access point. If the access preview is for a new resource and neither is specified, the access preview uses Internet
for the network origin. If the access preview is for an existing resource and neither is specified, the access preview uses the exiting network origin.
The proposed S3PublicAccessBlock
configuration to apply to this Amazon S3 Access Point.
The configuration for an Amazon S3 access point for the bucket. You can propose up to 10 access points per bucket. If the proposed Amazon S3 access point configuration is for an existing bucket, the access preview uses the proposed access point configuration in place of the existing access points. To propose an access point without a policy, you can provide an empty string as the access point policy. For more information, see Creating access points. For more information about access point policy limits, see Access points restrictions and limitations.
" + }, + "S3AccessPointConfigurationsMap": { + "type": "map", + "key": { + "shape": "AccessPointArn" + }, + "value": { + "shape": "S3AccessPointConfiguration" + } + }, + "S3BucketAclGrantConfiguration": { + "type": "structure", + "required": [ + "grantee", + "permission" + ], + "members": { + "grantee": { + "shape": "AclGrantee", + "documentation": "The grantee to whom you’re assigning access rights.
" + }, + "permission": { + "shape": "AclPermission", + "documentation": "The permissions being granted.
" + } + }, + "documentation": "A proposed access control list grant configuration for an Amazon S3 bucket. For more information, see How to Specify an ACL.
" + }, + "S3BucketAclGrantConfigurationsList": { + "type": "list", + "member": { + "shape": "S3BucketAclGrantConfiguration" + } + }, + "S3BucketConfiguration": { + "type": "structure", + "members": { + "accessPoints": { + "shape": "S3AccessPointConfigurationsMap", + "documentation": "The configuration of Amazon S3 access points for the bucket.
" + }, + "bucketAclGrants": { + "shape": "S3BucketAclGrantConfigurationsList", + "documentation": "The proposed list of ACL grants for the Amazon S3 bucket. You can propose up to 100 ACL grants per bucket. If the proposed grant configuration is for an existing bucket, the access preview uses the proposed list of grant configurations in place of the existing grants. Otherwise, the access preview uses the existing grants for the bucket.
" + }, + "bucketPolicy": { + "shape": "S3BucketPolicy", + "documentation": "The proposed bucket policy for the Amazon S3 bucket.
" + }, + "bucketPublicAccessBlock": { + "shape": "S3PublicAccessBlockConfiguration", + "documentation": "The proposed block public access configuration for the Amazon S3 bucket.
" + } + }, + "documentation": "Proposed access control configuration for an Amazon S3 bucket. You can propose a configuration for a new Amazon S3 bucket or an existing Amazon S3 bucket that you own by specifying the Amazon S3 bucket policy, bucket ACLs, bucket BPA settings, and Amazon S3 access points attached to the bucket. If the configuration is for an existing Amazon S3 bucket and you do not specify the Amazon S3 bucket policy, the access preview uses the existing policy attached to the bucket. If the access preview is for a new resource and you do not specify the Amazon S3 bucket policy, the access preview assumes a bucket without a policy. To propose deletion of an existing bucket policy, you can specify an empty string. For more information about bucket policy limits, see Bucket Policy Examples.
" + }, + "S3BucketPolicy": { + "type": "string" + }, + "S3PublicAccessBlockConfiguration": { + "type": "structure", + "required": [ + "ignorePublicAcls", + "restrictPublicBuckets" + ], + "members": { + "ignorePublicAcls": { + "shape": "Boolean", + "documentation": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket.
" + }, + "restrictPublicBuckets": { + "shape": "Boolean", + "documentation": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket.
" + } + }, + "documentation": "The PublicAccessBlock
configuration to apply to this Amazon S3 bucket. If the proposed configuration is for an existing Amazon S3 bucket and the configuration is not specified, the access preview uses the existing setting. If the proposed configuration is for a new bucket and the configuration is not specified, the access preview uses false
. If the proposed configuration is for a new access point and the access point BPA configuration is not specified, the access preview uses true
. For more information, see PublicAccessBlockConfiguration.
The proposed ARN, key ID, or alias of the AWS KMS customer master key (CMK).
" + }, + "secretPolicy": { + "shape": "SecretsManagerSecretPolicy", + "documentation": "The proposed resource policy defining who can access or manage the secret.
" + } + }, + "documentation": "The configuration for a Secrets Manager secret. For more information, see CreateSecret.
You can propose a configuration for a new secret or an existing secret that you own by specifying the secret policy and optional KMS encryption key. If the configuration is for an existing secret and you do not specify the secret policy, the access preview uses the existing policy for the secret. If the access preview is for a new resource and you do not specify the policy, the access preview assumes a secret without a policy. To propose deletion of an existing policy, you can specify an empty string. If the proposed configuration is for a new secret and you do not specify the KMS key ID, the access preview uses the default CMK of the AWS account. If you specify an empty string for the KMS key ID, the access preview uses the default CMK of the AWS account. For more information about secret policy limits, see Quotas for AWS Secrets Manager..
" + }, + "SecretsManagerSecretKmsId": { + "type": "string" + }, + "SecretsManagerSecretPolicy": { + "type": "string" + }, "SharedViaList": { "type": "list", "member": { @@ -1632,6 +2475,19 @@ }, "documentation": "The criteria used to sort.
" }, + "SqsQueueConfiguration": { + "type": "structure", + "members": { + "queuePolicy": { + "shape": "SqsQueuePolicy", + "documentation": "The proposed resource policy for the SQS queue.
" + } + }, + "documentation": "The proposed access control configuration for an SQS queue. You can propose a configuration for a new SQS queue or an existing SQS queue that you own by specifying the SQS policy. If the configuration is for an existing SQS queue and you do not specify the SQS policy, the access preview uses the existing SQS policy for the queue. If the access preview is for a new resource and you do not specify the policy, the access preview assumes an SQS queue without a policy. To propose deletion of an existing SQS queue policy, you can specify an empty string for the SQS policy. For more information about SQS policy limits, see Quotas related to policies.
" + }, + "SqsQueuePolicy": { + "type": "string" + }, "StartResourceScanRequest": { "type": "structure", "required": [ @@ -1641,7 +2497,7 @@ "members": { "analyzerArn": { "shape": "AnalyzerArn", - "documentation": "The ARN of the analyzer to use to scan the policies applied to the specified resource.
" + "documentation": "The ARN of the analyzer to use to scan the policies applied to the specified resource.
" }, "resourceArn": { "shape": "ResourceArn", @@ -1661,7 +2517,7 @@ "documentation": "The reason code for the current status of the analyzer.
" } }, - "documentation": "Provides more details about the current status of the analyzer. For example, if the creation for the analyzer fails, a Failed
status is displayed. For an analyzer with organization as the type, this failure can be due to an issue with creating the service-linked roles required in the member accounts of the AWS organization.
Provides more details about the current status of the analyzer. For example, if the creation for the analyzer fails, a Failed
status is returned. For an analyzer with organization as the type, this failure can be due to an issue with creating the service-linked roles required in the member accounts of the AWS organization.
The ARN of the analyzer that generated the findings to update.
" + "documentation": "The ARN of the analyzer that generated the findings to update.
" }, "clientToken": { "shape": "String", @@ -1817,7 +2673,24 @@ }, "max": 20, "min": 1 + }, + "VpcConfiguration": { + "type": "structure", + "required": [ + "vpcId" + ], + "members": { + "vpcId": { + "shape": "VpcId", + "documentation": "If this field is specified, this access point will only allow connections from the specified VPC ID.
" + } + }, + "documentation": "The proposed virtual private cloud (VPC) configuration for the Amazon S3 access point. For more information, see VpcConfiguration.
" + }, + "VpcId": { + "type": "string", + "pattern": "^vpc-([0-9a-f]){8}(([0-9a-f]){9})?$" } }, - "documentation": "AWS IAM Access Analyzer helps identify potential resource-access risks by enabling you to identify any policies that grant access to an external principal. It does this by using logic-based reasoning to analyze resource-based policies in your AWS environment. An external principal can be another AWS account, a root user, an IAM user or role, a federated user, an AWS service, or an anonymous user. This guide describes the AWS IAM Access Analyzer operations that you can call programmatically. For general information about Access Analyzer, see AWS IAM Access Analyzer in the IAM User Guide.
To start using Access Analyzer, you first need to create an analyzer.
" + "documentation": "AWS IAM Access Analyzer helps identify potential resource-access risks by enabling you to identify any policies that grant access to an external principal. It does this by using logic-based reasoning to analyze resource-based policies in your AWS environment. An external principal can be another AWS account, a root user, an IAM user or role, a federated user, an AWS service, or an anonymous user. You can also use Access Analyzer to preview and validate public and cross-account access to your resources before deploying permissions changes. This guide describes the AWS IAM Access Analyzer operations that you can call programmatically. For general information about Access Analyzer, see AWS IAM Access Analyzer in the IAM User Guide.
To start using Access Analyzer, you first need to create an analyzer.
" } \ No newline at end of file diff --git a/apis/accessanalyzer-2019-11-01.paginators.json b/apis/accessanalyzer-2019-11-01.paginators.json index 64553f7bdf..02c0458a08 100644 --- a/apis/accessanalyzer-2019-11-01.paginators.json +++ b/apis/accessanalyzer-2019-11-01.paginators.json @@ -1,5 +1,17 @@ { "pagination": { + "ListAccessPreviewFindings": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "findings" + }, + "ListAccessPreviews": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "accessPreviews" + }, "ListAnalyzedResources": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/apis/backup-2018-11-15.min.json b/apis/backup-2018-11-15.min.json index 6c5038d8db..6236867432 100644 --- a/apis/backup-2018-11-15.min.json +++ b/apis/backup-2018-11-15.min.json @@ -41,7 +41,7 @@ }, "VersionId": {}, "AdvancedBackupSettings": { - "shape": "Si" + "shape": "Sj" } } }, @@ -64,7 +64,7 @@ "locationName": "backupPlanId" }, "BackupSelection": { - "shape": "Ss" + "shape": "St" }, "CreatorRequestId": {} } @@ -287,7 +287,7 @@ }, "IamRoleArn": {}, "CreatedBy": { - "shape": "S1f" + "shape": "S1g" }, "ResourceType": {}, "BytesTransferred": { @@ -300,7 +300,7 @@ "type": "timestamp" }, "BackupOptions": { - "shape": "Sl" + "shape": "Sm" }, "BackupType": {} } @@ -362,7 +362,7 @@ "type": "structure", "members": { "CopyJob": { - "shape": "S1l" + "shape": "S1m" } } }, @@ -381,7 +381,7 @@ "type": "structure", "members": { "GlobalSettings": { - "shape": "S1p" + "shape": "S1q" }, "LastUpdateTime": { "type": "timestamp" @@ -450,7 +450,7 @@ "ResourceArn": {}, "ResourceType": {}, "CreatedBy": { - "shape": "S1f" + "shape": "S1g" }, "IamRoleArn": {}, "Status": {}, @@ -464,7 +464,7 @@ "type": "long" }, "CalculatedLifecycle": { - "shape": "S1x" + "shape": "S1y" }, "Lifecycle": { "shape": "Sa" @@ -494,7 +494,7 @@ "type": "structure", "members": { "ResourceTypeOptInPreference": { - "shape": "S22" + "shape": "S23" } } } @@ -544,6 +544,28 @@ }, "idempotent": true }, + "DisassociateRecoveryPoint": { + "http": { + "requestUri": "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}/disassociate" + }, + "input": { + "type": "structure", + "required": [ + "BackupVaultName", + "RecoveryPointArn" + ], + "members": { + "BackupVaultName": { + "location": "uri", + "locationName": "backupVaultName" + }, + "RecoveryPointArn": { + "location": "uri", + "locationName": "recoveryPointArn" + } + } + } + }, "ExportBackupPlanTemplate": { "http": { "method": "GET", @@ -593,7 +615,7 @@ "type": "structure", "members": { "BackupPlan": { - "shape": "S2c" + "shape": "S2e" }, "BackupPlanId": {}, "BackupPlanArn": {}, @@ -609,7 +631,7 @@ "type": "timestamp" }, "AdvancedBackupSettings": { - "shape": "Si" + "shape": "Sj" } } }, @@ -632,7 +654,7 @@ "type": "structure", "members": { "BackupPlan": { - "shape": "S2c" + "shape": "S2e" } } } @@ -658,7 +680,7 @@ "type": "structure", "members": { "BackupPlanDocument": { - "shape": "S2c" + "shape": "S2e" } } } @@ -689,7 +711,7 @@ "type": "structure", "members": { "BackupSelection": { - "shape": "Ss" + "shape": "St" }, "SelectionId": {}, "BackupPlanId": {}, @@ -752,7 +774,7 @@ "BackupVaultArn": {}, "SNSTopicArn": {}, "BackupVaultEvents": { - "shape": "S2q" + "shape": "S2s" } } }, @@ -786,7 +808,7 @@ "BackupVaultArn": {}, "RecoveryPointArn": {}, "RestoreMetadata": { - "shape": "S2u" + "shape": "S2w" } } }, @@ -884,7 +906,7 @@ }, "IamRoleArn": {}, "CreatedBy": { - "shape": "S1f" + "shape": "S1g" }, "ExpectedCompletionDate": { "type": "timestamp" @@ -897,7 +919,7 @@ "type": "long" }, "BackupOptions": { - "shape": "Sl" + "shape": "Sm" }, "BackupType": {} } @@ -977,7 +999,7 @@ "BackupPlanVersionsList": { "type": "list", "member": { - "shape": "S3b" + "shape": "S3d" } } } @@ -1015,7 +1037,7 @@ "BackupPlansList": { "type": "list", "member": { - "shape": "S3b" + "shape": "S3d" } } } @@ -1172,7 +1194,7 @@ "CopyJobs": { "type": "list", "member": { - "shape": "S1l" + "shape": "S1m" } }, "NextToken": {} @@ -1283,7 +1305,7 @@ "ResourceArn": {}, "ResourceType": {}, "CreatedBy": { - "shape": "S1f" + "shape": "S1g" }, "IamRoleArn": {}, "Status": {}, @@ -1297,7 +1319,7 @@ "type": "long" }, "CalculatedLifecycle": { - "shape": "S1x" + "shape": "S1y" }, "Lifecycle": { "shape": "Sa" @@ -1518,7 +1540,7 @@ }, "SNSTopicArn": {}, "BackupVaultEvents": { - "shape": "S2q" + "shape": "S2s" } } }, @@ -1554,7 +1576,7 @@ "shape": "Sc" }, "BackupOptions": { - "shape": "Sl" + "shape": "Sm" } } }, @@ -1620,7 +1642,7 @@ "members": { "RecoveryPointArn": {}, "Metadata": { - "shape": "S2u" + "shape": "S2w" }, "IamRoleArn": {}, "IdempotencyToken": {}, @@ -1728,7 +1750,7 @@ }, "VersionId": {}, "AdvancedBackupSettings": { - "shape": "Si" + "shape": "Sj" } } }, @@ -1743,7 +1765,7 @@ "type": "structure", "members": { "GlobalSettings": { - "shape": "S1p" + "shape": "S1q" } } } @@ -1781,7 +1803,7 @@ "shape": "Sa" }, "CalculatedLifecycle": { - "shape": "S1x" + "shape": "S1y" } } }, @@ -1796,7 +1818,7 @@ "type": "structure", "members": { "ResourceTypeOptInPreference": { - "shape": "S22" + "shape": "S23" } } } @@ -1837,12 +1859,15 @@ }, "CopyActions": { "shape": "Sf" + }, + "EnableContinuousBackup": { + "type": "boolean" } } } }, "AdvancedBackupSettings": { - "shape": "Si" + "shape": "Sj" } } }, @@ -1878,24 +1903,24 @@ } } }, - "Si": { + "Sj": { "type": "list", "member": { "type": "structure", "members": { "ResourceType": {}, "BackupOptions": { - "shape": "Sl" + "shape": "Sm" } } } }, - "Sl": { + "Sm": { "type": "map", "key": {}, "value": {} }, - "Ss": { + "St": { "type": "structure", "required": [ "SelectionName", @@ -1926,7 +1951,7 @@ } } }, - "S1f": { + "S1g": { "type": "structure", "members": { "BackupPlanId": {}, @@ -1935,7 +1960,7 @@ "BackupRuleId": {} } }, - "S1l": { + "S1m": { "type": "structure", "members": { "AccountId": {}, @@ -1958,17 +1983,17 @@ }, "IamRoleArn": {}, "CreatedBy": { - "shape": "S1f" + "shape": "S1g" }, "ResourceType": {} } }, - "S1p": { + "S1q": { "type": "map", "key": {}, "value": {} }, - "S1x": { + "S1y": { "type": "structure", "members": { "MoveToColdStorageAt": { @@ -1979,14 +2004,14 @@ } } }, - "S22": { + "S23": { "type": "map", "key": {}, "value": { "type": "boolean" } }, - "S2c": { + "S2e": { "type": "structure", "required": [ "BackupPlanName", @@ -2021,26 +2046,29 @@ "RuleId": {}, "CopyActions": { "shape": "Sf" + }, + "EnableContinuousBackup": { + "type": "boolean" } } } }, "AdvancedBackupSettings": { - "shape": "Si" + "shape": "Sj" } } }, - "S2q": { + "S2s": { "type": "list", "member": {} }, - "S2u": { + "S2w": { "type": "map", "key": {}, "value": {}, "sensitive": true }, - "S3b": { + "S3d": { "type": "structure", "members": { "BackupPlanArn": {}, @@ -2058,7 +2086,7 @@ "type": "timestamp" }, "AdvancedBackupSettings": { - "shape": "Si" + "shape": "Sj" } } } diff --git a/apis/backup-2018-11-15.normal.json b/apis/backup-2018-11-15.normal.json index 5a0ef58c4c..3726409e38 100644 --- a/apis/backup-2018-11-15.normal.json +++ b/apis/backup-2018-11-15.normal.json @@ -262,6 +262,9 @@ { "shape": "MissingParameterValueException" }, + { + "shape": "InvalidResourceStateException" + }, { "shape": "ServiceUnavailableException" }, @@ -269,7 +272,7 @@ "shape": "InvalidRequestException" } ], - "documentation": "Deletes the recovery point specified by a recovery point ID.
", + "documentation": "Deletes the recovery point specified by a recovery point ID.
If the recovery point ID belongs to a continuous backup, calling this endpoint deletes the existing continuous backup and stops future continuous backup.
", "idempotent": true }, "DescribeBackupJob": { @@ -375,6 +378,9 @@ "shape": "DescribeGlobalSettingsOutput" }, "errors": [ + { + "shape": "InvalidRequestException" + }, { "shape": "ServiceUnavailableException" } @@ -490,6 +496,37 @@ "documentation": "Returns metadata associated with a restore job that is specified by a job ID.
", "idempotent": true }, + "DisassociateRecoveryPoint": { + "name": "DisassociateRecoveryPoint", + "http": { + "method": "POST", + "requestUri": "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}/disassociate" + }, + "input": { + "shape": "DisassociateRecoveryPointInput" + }, + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InvalidParameterValueException" + }, + { + "shape": "MissingParameterValueException" + }, + { + "shape": "InvalidResourceStateException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "InvalidRequestException" + } + ], + "documentation": "Deletes the specified continuous backup recovery point from AWS Backup and releases control of that continuous backup to the source service, such as Amazon RDS. The source service will continue to create and retain continuous backups using the lifecycle that you specified in your original backup plan.
Does not support snapshot backup recovery points.
" + }, "ExportBackupPlanTemplate": { "name": "ExportBackupPlanTemplate", "http": { @@ -544,7 +581,7 @@ "shape": "ServiceUnavailableException" } ], - "documentation": "Returns BackupPlan
details for the specified BackupPlanId
. Returns the body of a backup plan in JSON format, in addition to plan metadata.
Returns BackupPlan
details for the specified BackupPlanId
. The details are the body of a backup plan in JSON format, in addition to plan metadata.
Returns a list of existing backup jobs for an authenticated account.
", + "documentation": "Returns a list of existing backup jobs for an authenticated account for the last 30 days. For a longer period of time, consider using these monitoring tools.
", "idempotent": true }, "ListBackupPlanTemplates": { @@ -1180,9 +1217,12 @@ }, { "shape": "LimitExceededException" + }, + { + "shape": "InvalidRequestException" } ], - "documentation": "Starts a job to create a one-time copy of the specified resource.
", + "documentation": "Starts a job to create a one-time copy of the specified resource.
Does not support continuous backups.
", "idempotent": true }, "StartRestoreJob": { @@ -1211,7 +1251,7 @@ "shape": "ServiceUnavailableException" } ], - "documentation": "Recovers the saved resource identified by an Amazon Resource Name (ARN).
", + "documentation": "Recovers the saved resource identified by an Amazon Resource Name (ARN).
", "idempotent": true }, "StopBackupJob": { @@ -1377,7 +1417,7 @@ "shape": "ServiceUnavailableException" } ], - "documentation": "Sets the transition lifecycle of a recovery point.
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.
Only Amazon EFS file system backups can be transitioned to cold storage.
", + "documentation": "Sets the transition lifecycle of a recovery point.
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.
Only Amazon EFS file system backups can be transitioned to cold storage.
Does not support continuous backups.
", "idempotent": true }, "UpdateRegionSettings": { @@ -1716,6 +1756,10 @@ "CopyActions": { "shape": "CopyActions", "documentation": "An array of CopyAction
objects, which contains the details of the copy operation.
Specifies whether AWS Backup creates continuous backups. True causes AWS Backup to create continuous backups capable of point-in-time restore (PITR). False (or not specified) causes AWS Backup to create snapshot backups.
" } }, "documentation": "Specifies a scheduled task used to back up a selection of resources.
" @@ -1758,6 +1802,10 @@ "CopyActions": { "shape": "CopyActions", "documentation": "An array of CopyAction
objects, which contains the details of the copy operation.
Specifies whether AWS Backup creates continuous backups. True causes AWS Backup to create continuous backups capable of point-in-time restore (PITR). False (or not specified) causes AWS Backup to create snapshot backups.
" } }, "documentation": "Specifies a scheduled task used to back up a selection of resources.
" @@ -2044,7 +2092,7 @@ }, "ResourceType": { "shape": "ResourceType", - "documentation": "The type of AWS resource to be copied; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.
" + "documentation": "The type of AWS resource to be copied; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.
" } }, "documentation": "Contains detailed information about a copy job.
" @@ -2709,6 +2757,27 @@ } } }, + "DisassociateRecoveryPointInput": { + "type": "structure", + "required": [ + "BackupVaultName", + "RecoveryPointArn" + ], + "members": { + "BackupVaultName": { + "shape": "BackupVaultName", + "documentation": "The unique name of an AWS Backup vault. Required.
", + "location": "uri", + "locationName": "backupVaultName" + }, + "RecoveryPointArn": { + "shape": "ARN", + "documentation": "An Amazon Resource Name (ARN) that uniquely identifies an AWS Backup recovery point. Required.
", + "location": "uri", + "locationName": "recoveryPointArn" + } + } + }, "ExportBackupPlanTemplateInput": { "type": "structure", "required": [ @@ -4124,7 +4193,7 @@ }, "Tags": { "shape": "Tags", - "documentation": "Key-value pairs that are used to help organize your resources. You can assign your own metadata to the resources you create.
" + "documentation": "Key-value pairs that are used to help organize your resources. You can assign your own metadata to the resources you create.
" } } }, diff --git a/apis/s3-2006-03-01.examples.json b/apis/s3-2006-03-01.examples.json index 176209dfae..1ae1025faa 100644 --- a/apis/s3-2006-03-01.examples.json +++ b/apis/s3-2006-03-01.examples.json @@ -257,8 +257,10 @@ "DeleteObject": [ { "input": { - "Bucket": "ExampleBucket", - "Key": "HappyFace.jpg" + "Bucket": "examplebucket", + "Key": "objectkey.jpg" + }, + "output": { }, "comments": { "input": { @@ -266,16 +268,14 @@ "output": { } }, - "description": "The following example deletes an object from a non-versioned bucket.", - "id": "to-delete-an-object-from-a-non-versioned-bucket-1481588533089", - "title": "To delete an object (from a non-versioned bucket)" + "description": "The following example deletes an object from an S3 bucket.", + "id": "to-delete-an-object-1472850136595", + "title": "To delete an object" }, { "input": { - "Bucket": "examplebucket", - "Key": "objectkey.jpg" - }, - "output": { + "Bucket": "ExampleBucket", + "Key": "HappyFace.jpg" }, "comments": { "input": { @@ -283,9 +283,9 @@ "output": { } }, - "description": "The following example deletes an object from an S3 bucket.", - "id": "to-delete-an-object-1472850136595", - "title": "To delete an object" + "description": "The following example deletes an object from a non-versioned bucket.", + "id": "to-delete-an-object-from-a-non-versioned-bucket-1481588533089", + "title": "To delete an object (from a non-versioned bucket)" } ], "DeleteObjectTagging": [ @@ -334,12 +334,10 @@ "Delete": { "Objects": [ { - "Key": "HappyFace.jpg", - "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" + "Key": "objectkey1" }, { - "Key": "HappyFace.jpg", - "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" + "Key": "objectkey2" } ], "Quiet": false @@ -348,12 +346,14 @@ "output": { "Deleted": [ { - "Key": "HappyFace.jpg", - "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" + "DeleteMarker": "true", + "DeleteMarkerVersionId": "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F", + "Key": "objectkey1" }, { - "Key": "HappyFace.jpg", - "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" + "DeleteMarker": "true", + "DeleteMarkerVersionId": "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt", + "Key": "objectkey2" } ] }, @@ -363,9 +363,9 @@ "output": { } }, - "description": "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.", - "id": "to-delete-multiple-object-versions-from-a-versioned-bucket-1483147087737", - "title": "To delete multiple object versions from a versioned bucket" + "description": "The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.", + "id": "to-delete-multiple-objects-from-a-versioned-bucket-1483146248805", + "title": "To delete multiple objects from a versioned bucket" }, { "input": { @@ -373,10 +373,12 @@ "Delete": { "Objects": [ { - "Key": "objectkey1" + "Key": "HappyFace.jpg", + "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" }, { - "Key": "objectkey2" + "Key": "HappyFace.jpg", + "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" } ], "Quiet": false @@ -385,14 +387,12 @@ "output": { "Deleted": [ { - "DeleteMarker": "true", - "DeleteMarkerVersionId": "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F", - "Key": "objectkey1" + "Key": "HappyFace.jpg", + "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" }, { - "DeleteMarker": "true", - "DeleteMarkerVersionId": "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt", - "Key": "objectkey2" + "Key": "HappyFace.jpg", + "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" } ] }, @@ -402,9 +402,9 @@ "output": { } }, - "description": "The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.", - "id": "to-delete-multiple-objects-from-a-versioned-bucket-1483146248805", - "title": "To delete multiple objects from a versioned bucket" + "description": "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.", + "id": "to-delete-multiple-object-versions-from-a-versioned-bucket-1483147087737", + "title": "To delete multiple object versions from a versioned bucket" } ], "GetBucketCors": [ @@ -728,17 +728,18 @@ { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "SampleFile.txt", + "Range": "bytes=0-9" }, "output": { "AcceptRanges": "bytes", - "ContentLength": "3191", - "ContentType": "image/jpeg", - "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "LastModified": "Thu, 15 Dec 2016 01:19:41 GMT", + "ContentLength": "10", + "ContentRange": "bytes 0-9/43", + "ContentType": "text/plain", + "ETag": "\"0d94420ffd0bc68cd3d152506b97a9cc\"", + "LastModified": "Thu, 09 Oct 2014 22:57:28 GMT", "Metadata": { }, - "TagCount": 2, "VersionId": "null" }, "comments": { @@ -747,25 +748,24 @@ "output": { } }, - "description": "The following example retrieves an object for an S3 bucket.", - "id": "to-retrieve-an-object-1481827837012", - "title": "To retrieve an object" + "description": "The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a specific byte range.", + "id": "to-retrieve-a-byte-range-of-an-object--1481832674603", + "title": "To retrieve a byte range of an object " }, { "input": { "Bucket": "examplebucket", - "Key": "SampleFile.txt", - "Range": "bytes=0-9" + "Key": "HappyFace.jpg" }, "output": { "AcceptRanges": "bytes", - "ContentLength": "10", - "ContentRange": "bytes 0-9/43", - "ContentType": "text/plain", - "ETag": "\"0d94420ffd0bc68cd3d152506b97a9cc\"", - "LastModified": "Thu, 09 Oct 2014 22:57:28 GMT", + "ContentLength": "3191", + "ContentType": "image/jpeg", + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "LastModified": "Thu, 15 Dec 2016 01:19:41 GMT", "Metadata": { }, + "TagCount": 2, "VersionId": "null" }, "comments": { @@ -774,9 +774,9 @@ "output": { } }, - "description": "The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a specific byte range.", - "id": "to-retrieve-a-byte-range-of-an-object--1481832674603", - "title": "To retrieve a byte range of an object " + "description": "The following example retrieves an object for an S3 bucket.", + "id": "to-retrieve-an-object-1481827837012", + "title": "To retrieve an object" } ], "GetObjectAcl": [ @@ -989,37 +989,47 @@ "ListMultipartUploads": [ { "input": { - "Bucket": "examplebucket" + "Bucket": "examplebucket", + "KeyMarker": "nextkeyfrompreviousresponse", + "MaxUploads": "2", + "UploadIdMarker": "valuefrompreviousresponse" }, "output": { + "Bucket": "acl1", + "IsTruncated": true, + "KeyMarker": "", + "MaxUploads": "2", + "NextKeyMarker": "someobjectkey", + "NextUploadIdMarker": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--", + "UploadIdMarker": "", "Uploads": [ { "Initiated": "2014-05-01T05:40:58.000Z", "Initiator": { - "DisplayName": "display-name", + "DisplayName": "ownder-display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "Key": "JavaFile", "Owner": { - "DisplayName": "display-name", - "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + "DisplayName": "mohanataws", + "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "StorageClass": "STANDARD", - "UploadId": "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" + "UploadId": "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" }, { "Initiated": "2014-05-01T05:41:27.000Z", "Initiator": { - "DisplayName": "display-name", + "DisplayName": "ownder-display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "Key": "JavaFile", "Owner": { - "DisplayName": "display-name", + "DisplayName": "ownder-display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "StorageClass": "STANDARD", - "UploadId": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" + "UploadId": "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" } ] }, @@ -1029,53 +1039,43 @@ "output": { } }, - "description": "The following example lists in-progress multipart uploads on a specific bucket.", - "id": "to-list-in-progress-multipart-uploads-on-a-bucket-1481852775260", - "title": "To list in-progress multipart uploads on a bucket" + "description": "The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next setup of multipart uploads.", + "id": "list-next-set-of-multipart-uploads-when-previous-result-is-truncated-1482428106748", + "title": "List next set of multipart uploads when previous result is truncated" }, { "input": { - "Bucket": "examplebucket", - "KeyMarker": "nextkeyfrompreviousresponse", - "MaxUploads": "2", - "UploadIdMarker": "valuefrompreviousresponse" + "Bucket": "examplebucket" }, "output": { - "Bucket": "acl1", - "IsTruncated": true, - "KeyMarker": "", - "MaxUploads": "2", - "NextKeyMarker": "someobjectkey", - "NextUploadIdMarker": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--", - "UploadIdMarker": "", "Uploads": [ { "Initiated": "2014-05-01T05:40:58.000Z", "Initiator": { - "DisplayName": "ownder-display-name", + "DisplayName": "display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "Key": "JavaFile", "Owner": { - "DisplayName": "mohanataws", - "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + "DisplayName": "display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "StorageClass": "STANDARD", - "UploadId": "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" + "UploadId": "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" }, { "Initiated": "2014-05-01T05:41:27.000Z", "Initiator": { - "DisplayName": "ownder-display-name", + "DisplayName": "display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "Key": "JavaFile", "Owner": { - "DisplayName": "ownder-display-name", + "DisplayName": "display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "StorageClass": "STANDARD", - "UploadId": "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" + "UploadId": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" } ] }, @@ -1085,9 +1085,9 @@ "output": { } }, - "description": "The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next setup of multipart uploads.", - "id": "list-next-set-of-multipart-uploads-when-previous-result-is-truncated-1482428106748", - "title": "List next set of multipart uploads when previous result is truncated" + "description": "The following example lists in-progress multipart uploads on a specific bucket.", + "id": "to-list-in-progress-multipart-uploads-on-a-bucket-1481852775260", + "title": "To list in-progress multipart uploads on a bucket" } ], "ListObjectVersions": [ @@ -1567,13 +1567,14 @@ "PutObject": [ { "input": { - "Body": "HappyFace.jpg", + "Body": "c:\\HappyFace.jpg", "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "HappyFace.jpg", + "Tagging": "key1=value1&key2=value2" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" + "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a" }, "comments": { "input": { @@ -1581,22 +1582,20 @@ "output": { } }, - "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", - "id": "to-upload-an-object-1481760101010", - "title": "To upload an object" + "description": "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.", + "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", + "title": "To upload an object and specify optional tags" }, { "input": { + "ACL": "authenticated-read", "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "exampleobject", - "ServerSideEncryption": "AES256", - "Tagging": "key1=value1&key2=value2" + "Key": "exampleobject" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "ServerSideEncryption": "AES256", - "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt" + "VersionId": "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr" }, "comments": { "input": { @@ -1604,22 +1603,19 @@ "output": { } }, - "description": "The following example uploads and object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831", - "title": "To upload an object and specify server-side encryption and object tags" + "description": "The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-an-object-and-specify-canned-acl-1483397779571", + "title": "To upload an object and specify canned ACL." }, { "input": { - "Body": "HappyFace.jpg", + "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "ServerSideEncryption": "AES256", - "StorageClass": "STANDARD_IA" + "Key": "objectkey" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "ServerSideEncryption": "AES256", - "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" + "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ" }, "comments": { "input": { @@ -1627,19 +1623,22 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", - "id": "to-upload-an-object-(specify-optional-headers)", - "title": "To upload an object (specify optional headers)" + "description": "The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-create-an-object-1483147613675", + "title": "To create an object." }, { "input": { "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "objectkey" + "Key": "exampleobject", + "ServerSideEncryption": "AES256", + "Tagging": "key1=value1&key2=value2" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ" + "ServerSideEncryption": "AES256", + "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt" }, "comments": { "input": { @@ -1647,20 +1646,23 @@ "output": { } }, - "description": "The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-create-an-object-1483147613675", - "title": "To create an object." + "description": "The following example uploads and object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831", + "title": "To upload an object and specify server-side encryption and object tags" }, { "input": { - "ACL": "authenticated-read", "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "exampleobject" + "Key": "exampleobject", + "Metadata": { + "metadata1": "value1", + "metadata2": "value2" + } }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr" + "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" }, "comments": { "input": { @@ -1668,20 +1670,19 @@ "output": { } }, - "description": "The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-an-object-and-specify-canned-acl-1483397779571", - "title": "To upload an object and specify canned ACL." + "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", + "title": "To upload object and specify user-defined metadata" }, { "input": { - "Body": "c:\\HappyFace.jpg", + "Body": "HappyFace.jpg", "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "Tagging": "key1=value1&key2=value2" + "Key": "HappyFace.jpg" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a" + "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" }, "comments": { "input": { @@ -1689,23 +1690,22 @@ "output": { } }, - "description": "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.", - "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", - "title": "To upload an object and specify optional tags" + "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", + "id": "to-upload-an-object-1481760101010", + "title": "To upload an object" }, { "input": { - "Body": "filetoupload", + "Body": "HappyFace.jpg", "Bucket": "examplebucket", - "Key": "exampleobject", - "Metadata": { - "metadata1": "value1", - "metadata2": "value2" - } + "Key": "HappyFace.jpg", + "ServerSideEncryption": "AES256", + "StorageClass": "STANDARD_IA" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" + "ServerSideEncryption": "AES256", + "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" }, "comments": { "input": { @@ -1713,9 +1713,9 @@ "output": { } }, - "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", - "title": "To upload object and specify user-defined metadata" + "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", + "id": "to-upload-an-object-(specify-optional-headers)", + "title": "To upload an object (specify optional headers)" } ], "PutObjectAcl": [ diff --git a/apis/s3-2006-03-01.min.json b/apis/s3-2006-03-01.min.json index 5ed42a13cd..9ee425a975 100644 --- a/apis/s3-2006-03-01.min.json +++ b/apis/s3-2006-03-01.min.json @@ -5347,6 +5347,7 @@ "AllowedOrigins" ], "members": { + "ID": {}, "AllowedHeaders": { "locationName": "AllowedHeader", "type": "list", diff --git a/apis/s3-2006-03-01.normal.json b/apis/s3-2006-03-01.normal.json index 8fad964611..ad07d51e6c 100644 --- a/apis/s3-2006-03-01.normal.json +++ b/apis/s3-2006-03-01.normal.json @@ -1805,6 +1805,10 @@ "AllowedOrigins" ], "members": { + "ID": { + "shape": "ID", + "documentation": "Unique identifier for the rule. The value cannot be longer than 255 characters.
" + }, "AllowedHeaders": { "shape": "AllowedHeaders", "documentation": "Headers that are specified in the Access-Control-Request-Headers
header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.
The resource ID you want to tag.
Use the ID of the resource. Here are some examples:
ManagedInstance: mi-012345abcde
MaintenanceWindow: mw-012345abcde
PatchBaseline: pb-012345abcde
For the Document and Parameter values, use the name of the resource.
The ManagedInstance type for this API action is only for on-premises managed instances. You must specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.
The resource ID you want to tag.
Use the ID of the resource. Here are some examples:
ManagedInstance: mi-012345abcde
MaintenanceWindow: mw-012345abcde
PatchBaseline: pb-012345abcde
OpsMetadata object: ResourceID
for tagging is created from the Amazon Resource Name (ARN) for the object. Specifically, ResourceID
is created from the strings that come after the word opsmetadata
in the ARN. For example, an OpsMetadata object with an ARN of arn:aws:ssm:us-east-2:1234567890:opsmetadata/aws/ssm/MyGroup/appmanager
has a ResourceID
of either aws/ssm/MyGroup/appmanager
or /aws/ssm/MyGroup/appmanager
.
For the Document and Parameter values, use the name of the resource.
The ManagedInstance type for this API action is only for on-premises managed instances. You must specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.
Metadata for a new Application Manager application.
" + }, + "Tags": { + "shape": "TagList", + "documentation": "Optional metadata that you assign to a resource. You can specify a maximum of five tags for an OpsMetadata object. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an OpsMetadata object to identify an environment or target AWS Region. In this case, you could specify the following key-value pairs:
Key=Environment,Value=Production
Key=Region,Value=us-east-2
(Optional) The name of the plugin for which you want detailed results. If the document contains only one plugin, the name can be omitted and the details will be returned.
Plugin names are also referred to as step names in Systems Manager documents.
" + "documentation": "The name of the plugin for which you want detailed results. If the document contains only one plugin, you can omit the name and details for that plugin are returned. If the document contains more than one plugin, you must specify the name of the plugin for which you want to view details.
Plugin names are also referred to as step names in Systems Manager documents. For example, aws:RunShellScript
is a plugin.
The name of the plugin for which you want detailed results. For example, aws:RunShellScript is a plugin.
" + "documentation": "The name of the plugin, or step name, for which details are reported. For example, aws:RunShellScript
is a plugin.
An S3 bucket where you want to store the results of this request.
" } }, - "documentation": "An S3 bucket where you want to store the results of this request.
" + "documentation": "An S3 bucket where you want to store the results of this request.
For the minimal permissions required to enable Amazon S3 output for an association, see Creating associations in the Systems Manager User Guide.
" }, "InstanceAssociationOutputUrl": { "type": "structure", @@ -14342,7 +14346,7 @@ }, "ResourceId": { "shape": "ResourceId", - "documentation": "The ID of the resource from which you want to remove tags. For example:
ManagedInstance: mi-012345abcde
MaintenanceWindow: mw-012345abcde
PatchBaseline: pb-012345abcde
For the Document and Parameter values, use the name of the resource.
The ManagedInstance type for this API action is only for on-premises managed instances. Specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.
The ID of the resource from which you want to remove tags. For example:
ManagedInstance: mi-012345abcde
MaintenanceWindow: mw-012345abcde
PatchBaseline: pb-012345abcde
OpsMetadata object: ResourceID
for tagging is created from the Amazon Resource Name (ARN) for the object. Specifically, ResourceID
is created from the strings that come after the word opsmetadata
in the ARN. For example, an OpsMetadata object with an ARN of arn:aws:ssm:us-east-2:1234567890:opsmetadata/aws/ssm/MyGroup/appmanager
has a ResourceID
of either aws/ssm/MyGroup/appmanager
or /aws/ssm/MyGroup/appmanager
.
For the Document and Parameter values, use the name of the resource.
The ManagedInstance type for this API action is only for on-premises managed instances. Specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.
>1,l=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:s-1,y=i?1:-1,b=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(n=isNaN(t)?1:0,o=m):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),t+=o+c>=1?l/u:l*Math.pow(2,1-c),t*u>=2&&(o++,u/=2),o+c>=m?(n=0,o=m):o+c>=1?(n=(t*u-1)*Math.pow(2,a),o+=c):(n=t*Math.pow(2,c-1)*Math.pow(2,a),o=0));a>=8;e[r+d]=255&n,d+=y,n/=256,a-=8);for(o=o<0;e[r+d]=255&o,d+=y,o/=256,p-=8);e[r+d-y]|=128*b}},{}],419:[function(e,t,r){var i={}.toString;t.exports=Array.isArray||function(e){return"[object Array]"==i.call(e)}},{}],420:[function(e,t,r){!function(e){"use strict";function t(e){return null!==e&&"[object Array]"===Object.prototype.toString.call(e)}function r(e){return null!==e&&"[object Object]"===Object.prototype.toString.call(e)}function i(e,a){if(e===a)return!0;if(Object.prototype.toString.call(e)!==Object.prototype.toString.call(a))return!1;if(!0===t(e)){if(e.length!==a.length)return!1;for(var s=0;s G((f-r)/h)&&a("overflow"),r+=(p-t)*h,t=p,u=0;u =0?(c=b.substr(0,S),l=b.substr(S+1)):(c=b,l=""),d=decodeURIComponent(c),y=decodeURIComponent(l),i(o,d)?a(o[d])?o[d].push(y):o[d]=[o[d],y]:o[d]=y}return o};var a=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],424:[function(e,t,r){"use strict";function i(e,t){if(e.map)return e.map(t);for(var r=[],i=0;i=55296&&t<=56319&&a65535&&(e-=65536,t+=B(e>>>10&1023|55296),e=56320|1023&e),t+=B(e)}).join("")}function p(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:T}function m(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function c(e,t,r){var i=0;for(e=r?G(e/A):e>>1,e+=G(e/t);e>L*k>>1;i+=T)e=G(e/L);return G(i+(L+1)*e/(e+v))}function l(e){var t,r,i,s,o,n,m,l,d,y,b=[],S=e.length,h=0,g=D,I=R;for(r=e.lastIndexOf(P),r<0&&(r=0),i=0;i=S&&a("invalid-input"),l=p(e.charCodeAt(s++)),(l>=T||l>G((f-h)/n))&&a("overflow"),h+=l*n,d=m<=I?C:m>=I+k?k:m-I,!(l=t&&bf&&a("overflow"),b==t){for(l=r,d=T;y=d<=o?C:d>=o+k?k:d-o,!(l>>((3&t)<<3)&255;return s}}},{}],437:[function(e,t,r){function i(e,t,r){var i=t&&r||0,m=t||[];e=e||{};var c=e.node||a,l=void 0!==e.clockseq?e.clockseq:s;if(null==c||null==l){var d=o();null==c&&(c=a=[1|d[0],d[1],d[2],d[3],d[4],d[5]]),null==l&&(l=s=16383&(d[6]<<8|d[7]))}var y=void 0!==e.msecs?e.msecs:(new Date).getTime(),b=void 0!==e.nsecs?e.nsecs:p+1,S=y-u+(b-p)/1e4;if(S<0&&void 0===e.clockseq&&(l=l+1&16383),(S<0||y>u)&&void 0===e.nsecs&&(b=0),b>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");u=y,p=b,s=l,y+=122192928e5;var h=(1e4*(268435455&y)+b)%4294967296;m[i++]=h>>>24&255,m[i++]=h>>>16&255,m[i++]=h>>>8&255,m[i++]=255&h;var g=y/4294967296*1e4&268435455;m[i++]=g>>>8&255,m[i++]=255&g,m[i++]=g>>>24&15|16,m[i++]=g>>>16&255,m[i++]=l>>>8|128,m[i++]=255&l;for(var I=0;I<6;++I)m[i+I]=c[I];return t||n(m)}var a,s,o=e("./lib/rng"),n=e("./lib/bytesToUuid"),u=0,p=0;t.exports=i},{"./lib/bytesToUuid":435,"./lib/rng":436}],438:[function(e,t,r){function i(e,t,r){var i=t&&r||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null),e=e||{};var o=e.random||(e.rng||a)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t)for(var n=0;n<16;++n)t[i+n]=o[n];return t||s(o)}var a=e("./lib/rng"),s=e("./lib/bytesToUuid");t.exports=i},{"./lib/bytesToUuid":435,"./lib/rng":436}],439:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var i=e("./utils/LRU"),a=1e3,s=function(){function e(e){void 0===e&&(e=a),this.maxSize=e,this.cache=new i.LRUCache(e)}return Object.defineProperty(e.prototype,"size",{get:function(){return this.cache.length},enumerable:!0,configurable:!0}),e.prototype.put=function(t,r){var i="string"!=typeof t?e.getKeyString(t):t,a=this.populateValue(r);this.cache.put(i,a)},e.prototype.get=function(t){var r="string"!=typeof t?e.getKeyString(t):t,i=Date.now(),a=this.cache.get(r);if(a)for(var s=0;s0){t=new n.XML.Parser;var c=t.parse(i.toString(),s);u.update(e.data,c)}}var n=e("../core"),u=e("../util"),p=e("./rest");t.exports={buildRequest:a,extractError:s,extractData:o}},{"../core":332,"../util":407,"./rest":369}],372:[function(e,t,r){function i(){}function a(e){return e.isQueryName||"ec2"!==e.api.protocol?e.name:e.name[0].toUpperCase()+e.name.substr(1)}function s(e,t,r,i){p.each(r.members,function(r,s){var o=t[r];if(null!==o&&void 0!==o){var n=a(s);n=e?e+"."+n:n,u(n,o,s,i)}})}function o(e,t,r,i){var a=1;p.each(t,function(t,s){var o=r.flattened?".":".entry.",n=o+a+++".",p=n+(r.key.name||"key"),m=n+(r.value.name||"value");u(e+p,t,r.key,i),u(e+m,s,r.value,i)})}function n(e,t,r,i){var s=r.member||{};if(0===t.length)return void i.call(this,e,null);p.arrayEach(t,function(t,o){var n="."+(o+1);if("ec2"===r.api.protocol)n+="";else if(r.flattened){if(s.name){var p=e.split(".");p.pop(),p.push(a(s)),e=p.join(".")}}else n="."+(s.name?s.name:"member")+n;u(e+n,t,s,i)})}function u(e,t,r,i){null!==t&&void 0!==t&&("structure"===r.type?s(e,t,r,i):"list"===r.type?n(e,t,r,i):"map"===r.type?o(e,t,r,i):i(e,r.toWireFormat(t).toString()))}var p=e("../util");i.prototype.serialize=function(e,t,r){s("",e,t,r)},t.exports=i},{"../util":407}],373:[function(e,t,r){var i=e("../core"),a=null,s={signatureVersion:"v4",signingName:"rds-db",operations:{}},o={region:"string",hostname:"string",port:"number",username:"string"};i.RDS.Signer=i.util.inherit({constructor:function(e){this.options=e||{}},convertUrlToAuthToken:function(e){if(0===e.indexOf("https://"))return e.substring("https://".length)},getAuthToken:function(e,t){"function"==typeof e&&void 0===t&&(t=e,e={});var r=this,o="function"==typeof t;e=i.util.merge(this.options,e);var n=this.validateAuthTokenOptions(e);if(!0!==n){if(o)return t(n,null);throw n}var u={region:e.region,endpoint:new i.Endpoint(e.hostname+":"+e.port),paramValidation:!1,signatureVersion:"v4"};e.credentials&&(u.credentials=e.credentials),a=new i.Service(u),a.api=s;var p=a.makeRequest();if(this.modifyRequestForAuthToken(p,e),!o){var m=p.presign(900);return this.convertUrlToAuthToken(m)}p.presign(900,function(e,i){i&&(i=r.convertUrlToAuthToken(i)),t(e,i)})},modifyRequestForAuthToken:function(e,t){e.on("build",e.buildAsGet),e.httpRequest.body=i.util.queryParamsToString({Action:"connect",DBUser:t.username})},validateAuthTokenOptions:function(e){var t="";e=e||{};for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&typeof e[r]!==o[r]&&(t+="option '"+r+"' should have been type '"+o[r]+"', was '"+typeof e[r]+"'.\n");return!t.length||i.util.error(new Error,{code:"InvalidParameter",message:t})}})},{"../core":332}],374:[function(e,t,r){t.exports={now:function(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}}},{}],375:[function(e,t,r){function i(e){if(!e)return null;var t=e.split("-");return t.length<3?null:t.slice(0,t.length-2).join("-")+"-*"}function a(e){var t=e.config.region,r=i(t),a=e.api.endpointPrefix;return[[t,a],[r,a],[t,"*"],[r,"*"],["*",a],["*","*"]].map(function(e){return e[0]&&e[1]?e.join("/"):null})}function s(e,t){u.each(t,function(t,r){"globalEndpoint"!==t&&(void 0!==e.config[t]&&null!==e.config[t]||(e.config[t]=r))})}function o(e){for(var t=a(e),r=0;r>>8*(i?a:1-a)}function w(e,t,r,i){t<0&&(t=4294967295+t+1);for(var a=0,s=Math.min(e.length-r,4);a>>8*(i?a:3-a)&255}function U(e,t,r,i,a,s){if(r+i>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function _(e,t,r,i,a){return a||U(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),X.write(e,t,r,i,23,4),r+4}function F(e,t,r,i,a){return a||U(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),X.write(e,t,r,i,52,8),r+8}function O(e){if(e=V(e).replace(ee,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function V(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function z(e){return e<16?"0"+e.toString(16):e.toString(16)}function K(e,t){t=t||1/0;for(var r,i=e.length,a=null,s=[],o=0;o55295&&r<57344){if(!a){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}a=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),a=r;continue}r=65536+(a-55296<<10|r-56320)}else a&&(t-=3)>-1&&s.push(239,191,189);if(a=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function j(e){for(var t=[],r=0;r