From a7af3ec024028681a8aa676decf0929d962b9f9a Mon Sep 17 00:00:00 2001 From: awstools Date: Mon, 23 Dec 2019 19:20:06 +0000 Subject: [PATCH] Updates SDK to v2.596.0 --- .changes/2.596.0.json | 12 + CHANGELOG.md | 6 +- README.md | 2 +- apis/detective-2018-10-26.normal.json | 2 +- apis/fsx-2018-03-01.min.json | 242 +++++++++-- apis/fsx-2018-03-01.normal.json | 475 ++++++++++++++++++++- apis/fsx-2018-03-01.paginators.json | 5 + apis/health-2016-08-04.min.json | 379 ++++++++++++++--- apis/health-2016-08-04.normal.json | 551 ++++++++++++++++++++++++- apis/health-2016-08-04.paginators.json | 21 + clients/detective.d.ts | 4 +- clients/fsx.d.ts | 199 ++++++++- clients/health.d.ts | 307 +++++++++++++- dist/aws-sdk-core-react-native.js | 2 +- dist/aws-sdk-react-native.js | 10 +- dist/aws-sdk.js | 6 +- dist/aws-sdk.min.js | 4 +- lib/core.js | 2 +- package.json | 2 +- 19 files changed, 2072 insertions(+), 159 deletions(-) create mode 100644 .changes/2.596.0.json diff --git a/.changes/2.596.0.json b/.changes/2.596.0.json new file mode 100644 index 0000000000..1fd84cae65 --- /dev/null +++ b/.changes/2.596.0.json @@ -0,0 +1,12 @@ +[ + { + "type": "feature", + "category": "FSx", + "description": "This release adds a new family of APIs (create-data-repository-task, describe-data-repository-task, and cancel-data-repository-task) that allow users to perform operations between their file system and its linked data repository." + }, + { + "type": "feature", + "category": "Health", + "description": "With this release, you can now centrally aggregate AWS Health events from all accounts in your AWS organization. Visit AWS Health documentation to learn more about enabling and using this feature: https://docs.aws.amazon.com/health/latest/ug/organizational-view-health.html. " + } +] \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c2af623107..d5da96374d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,11 @@ # Changelog for AWS SDK for JavaScript - + +## 2.596.0 +* feature: FSx: This release adds a new family of APIs (create-data-repository-task, describe-data-repository-task, and cancel-data-repository-task) that allow users to perform operations between their file system and its linked data repository. +* feature: Health: With this release, you can now centrally aggregate AWS Health events from all accounts in your AWS organization. Visit AWS Health documentation to learn more about enabling and using this feature: https://docs.aws.amazon.com/health/latest/ug/organizational-view-health.html. + ## 2.595.0 * feature: DeviceFarm: Introduced browser testing support through AWS Device Farm * feature: EC2: This release introduces the ability to tag key pairs, placement groups, export tasks, import image tasks, import snapshot tasks and export image tasks. You can use tags to organize and identify your resources for cost allocation. diff --git a/README.md b/README.md index 06deb0fa3c..a84909d761 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ version. 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/detective-2018-10-26.normal.json b/apis/detective-2018-10-26.normal.json index 318596d163..2f5be6e300 100644 --- a/apis/detective-2018-10-26.normal.json +++ b/apis/detective-2018-10-26.normal.json @@ -132,7 +132,7 @@ "shape": "ValidationException" } ], - "documentation": "

Amazon Detective is currently in preview.

Deletes one or more member accounts from the master account behavior graph. This operation can only be called by a Detective master account. That account cannot use DeleteMembers to delete their own account from the Morocco graph. To disable a behavior graph, the master account uses the DeleteGraph API method.

" + "documentation": "

Amazon Detective is currently in preview.

Deletes one or more member accounts from the master account behavior graph. This operation can only be called by a Detective master account. That account cannot use DeleteMembers to delete their own account from the behavior graph. To disable a behavior graph, the master account uses the DeleteGraph API method.

" }, "DisassociateMembership": { "name": "DisassociateMembership", diff --git a/apis/fsx-2018-03-01.min.json b/apis/fsx-2018-03-01.min.json index 9df26cdf62..105f888e8f 100644 --- a/apis/fsx-2018-03-01.min.json +++ b/apis/fsx-2018-03-01.min.json @@ -12,6 +12,25 @@ "uid": "fsx-2018-03-01" }, "operations": { + "CancelDataRepositoryTask": { + "input": { + "type": "structure", + "required": [ + "TaskId" + ], + "members": { + "TaskId": {} + } + }, + "output": { + "type": "structure", + "members": { + "Lifecycle": {}, + "TaskId": {} + } + }, + "idempotent": true + }, "CreateBackup": { "input": { "type": "structure", @@ -24,7 +43,7 @@ "idempotencyToken": true }, "Tags": { - "shape": "S4" + "shape": "S8" } } }, @@ -32,7 +51,42 @@ "type": "structure", "members": { "Backup": { - "shape": "S9" + "shape": "Sd" + } + } + }, + "idempotent": true + }, + "CreateDataRepositoryTask": { + "input": { + "type": "structure", + "required": [ + "Type", + "FileSystemId", + "Report" + ], + "members": { + "Type": {}, + "Paths": { + "shape": "S1n" + }, + "FileSystemId": {}, + "Report": { + "shape": "S1p" + }, + "ClientRequestToken": { + "idempotencyToken": true + }, + "Tags": { + "shape": "S8" + } + } + }, + "output": { + "type": "structure", + "members": { + "DataRepositoryTask": { + "shape": "S1t" } } }, @@ -55,17 +109,17 @@ "type": "integer" }, "SubnetIds": { - "shape": "Sq" + "shape": "Su" }, "SecurityGroupIds": { - "shape": "S1i" + "shape": "S23" }, "Tags": { - "shape": "S4" + "shape": "S8" }, "KmsKeyId": {}, "WindowsConfiguration": { - "shape": "S1k" + "shape": "S25" }, "LustreConfiguration": { "type": "structure", @@ -84,7 +138,7 @@ "type": "structure", "members": { "FileSystem": { - "shape": "Sj" + "shape": "Sn" } } } @@ -102,16 +156,16 @@ "idempotencyToken": true }, "SubnetIds": { - "shape": "Sq" + "shape": "Su" }, "SecurityGroupIds": { - "shape": "S1i" + "shape": "S23" }, "Tags": { - "shape": "S4" + "shape": "S8" }, "WindowsConfiguration": { - "shape": "S1k" + "shape": "S25" } } }, @@ -119,7 +173,7 @@ "type": "structure", "members": { "FileSystem": { - "shape": "Sj" + "shape": "Sn" } } } @@ -164,7 +218,7 @@ "type": "boolean" }, "FinalBackupTags": { - "shape": "S4" + "shape": "S8" } } } @@ -180,7 +234,7 @@ "members": { "FinalBackupId": {}, "FinalBackupTags": { - "shape": "S4" + "shape": "S8" } } } @@ -221,7 +275,47 @@ "Backups": { "type": "list", "member": { - "shape": "S9" + "shape": "Sd" + } + }, + "NextToken": {} + } + } + }, + "DescribeDataRepositoryTasks": { + "input": { + "type": "structure", + "members": { + "TaskIds": { + "type": "list", + "member": {} + }, + "Filters": { + "type": "list", + "member": { + "type": "structure", + "members": { + "Name": {}, + "Values": { + "type": "list", + "member": {} + } + } + } + }, + "MaxResults": { + "type": "integer" + }, + "NextToken": {} + } + }, + "output": { + "type": "structure", + "members": { + "DataRepositoryTasks": { + "type": "list", + "member": { + "shape": "S1t" } }, "NextToken": {} @@ -248,7 +342,7 @@ "FileSystems": { "type": "list", "member": { - "shape": "Sj" + "shape": "Sn" } }, "NextToken": {} @@ -273,7 +367,7 @@ "type": "structure", "members": { "Tags": { - "shape": "S4" + "shape": "S8" }, "NextToken": {} } @@ -289,7 +383,7 @@ "members": { "ResourceARN": {}, "Tags": { - "shape": "S4" + "shape": "S8" } } }, @@ -344,10 +438,10 @@ "members": { "UserName": {}, "Password": { - "shape": "S1m" + "shape": "S27" }, "DnsIps": { - "shape": "S12" + "shape": "S16" } } } @@ -365,14 +459,14 @@ "type": "structure", "members": { "FileSystem": { - "shape": "Sj" + "shape": "Sn" } } } } }, "shapes": { - "S4": { + "S8": { "type": "list", "member": { "type": "structure", @@ -382,7 +476,7 @@ } } }, - "S9": { + "Sd": { "type": "structure", "required": [ "BackupId", @@ -410,10 +504,10 @@ "KmsKeyId": {}, "ResourceARN": {}, "Tags": { - "shape": "S4" + "shape": "S8" }, "FileSystem": { - "shape": "Sj" + "shape": "Sn" }, "DirectoryInformation": { "type": "structure", @@ -424,7 +518,7 @@ } } }, - "Sj": { + "Sn": { "type": "structure", "members": { "OwnerId": {}, @@ -445,7 +539,7 @@ }, "VpcId": {}, "SubnetIds": { - "shape": "Sq" + "shape": "Su" }, "NetworkInterfaceIds": { "type": "list", @@ -455,7 +549,7 @@ "KmsKeyId": {}, "ResourceARN": {}, "Tags": { - "shape": "S4" + "shape": "S8" }, "WindowsConfiguration": { "type": "structure", @@ -469,7 +563,7 @@ "FileSystemAdministratorsGroup": {}, "UserName": {}, "DnsIps": { - "shape": "S12" + "shape": "S16" } } }, @@ -512,19 +606,95 @@ } } }, - "Sq": { + "Su": { "type": "list", "member": {} }, - "S12": { + "S16": { "type": "list", "member": {} }, - "S1i": { + "S1n": { + "type": "list", + "member": {} + }, + "S1p": { + "type": "structure", + "required": [ + "Enabled" + ], + "members": { + "Enabled": { + "type": "boolean" + }, + "Path": {}, + "Format": {}, + "Scope": {} + } + }, + "S1t": { + "type": "structure", + "required": [ + "TaskId", + "Lifecycle", + "Type", + "CreationTime", + "FileSystemId" + ], + "members": { + "TaskId": {}, + "Lifecycle": {}, + "Type": {}, + "CreationTime": { + "type": "timestamp" + }, + "StartTime": { + "type": "timestamp" + }, + "EndTime": { + "type": "timestamp" + }, + "ResourceARN": {}, + "Tags": { + "shape": "S8" + }, + "FileSystemId": {}, + "Paths": { + "shape": "S1n" + }, + "FailureDetails": { + "type": "structure", + "members": { + "Message": {} + } + }, + "Status": { + "type": "structure", + "members": { + "TotalCount": { + "type": "long" + }, + "SucceededCount": { + "type": "long" + }, + "FailedCount": { + "type": "long" + }, + "LastUpdatedTime": { + "type": "timestamp" + } + } + }, + "Report": { + "shape": "S1p" + } + } + }, + "S23": { "type": "list", "member": {} }, - "S1k": { + "S25": { "type": "structure", "required": [ "ThroughputCapacity" @@ -545,10 +715,10 @@ "FileSystemAdministratorsGroup": {}, "UserName": {}, "Password": { - "shape": "S1m" + "shape": "S27" }, "DnsIps": { - "shape": "S12" + "shape": "S16" } } }, @@ -567,7 +737,7 @@ } } }, - "S1m": { + "S27": { "type": "string", "sensitive": true } diff --git a/apis/fsx-2018-03-01.normal.json b/apis/fsx-2018-03-01.normal.json index bf213fa592..6660807c87 100644 --- a/apis/fsx-2018-03-01.normal.json +++ b/apis/fsx-2018-03-01.normal.json @@ -12,6 +12,38 @@ "uid": "fsx-2018-03-01" }, "operations": { + "CancelDataRepositoryTask": { + "name": "CancelDataRepositoryTask", + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "CancelDataRepositoryTaskRequest" + }, + "output": { + "shape": "CancelDataRepositoryTaskResponse" + }, + "errors": [ + { + "shape": "BadRequest" + }, + { + "shape": "UnsupportedOperation" + }, + { + "shape": "DataRepositoryTaskNotFound" + }, + { + "shape": "DataRepositoryTaskEnded" + }, + { + "shape": "InternalServerError" + } + ], + "documentation": "

Cancels an existing Amazon FSx for Lustre data repository task if that task is in either the PENDING or EXECUTING state. When you cancel a task, Amazon FSx does the following.

", + "idempotent": true + }, "CreateBackup": { "name": "CreateBackup", "http": { @@ -50,6 +82,44 @@ "documentation": "

Creates a backup of an existing Amazon FSx for Windows File Server file system. Creating regular backups for your file system is a best practice that complements the replication that Amazon FSx for Windows File Server performs for your file system. It also enables you to restore from user modification of data.

If a backup with the specified client request token exists, and the parameters match, this operation returns the description of the existing backup. If a backup specified client request token exists, and the parameters don't match, this operation returns IncompatibleParameterError. If a backup with the specified client request token doesn't exist, CreateBackup does the following:

By using the idempotent operation, you can retry a CreateBackup operation without the risk of creating an extra backup. This approach can be useful when an initial call fails in a way that makes it unclear whether a backup was created. If you use the same client request token and the initial call created a backup, the operation returns a successful result because all the parameters are the same.

The CreateFileSystem operation returns while the backup's lifecycle state is still CREATING. You can check the file system creation status by calling the DescribeBackups operation, which returns the backup state along with other information.

", "idempotent": true }, + "CreateDataRepositoryTask": { + "name": "CreateDataRepositoryTask", + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "CreateDataRepositoryTaskRequest" + }, + "output": { + "shape": "CreateDataRepositoryTaskResponse" + }, + "errors": [ + { + "shape": "BadRequest" + }, + { + "shape": "UnsupportedOperation" + }, + { + "shape": "FileSystemNotFound" + }, + { + "shape": "IncompatibleParameterError" + }, + { + "shape": "ServiceLimitExceeded" + }, + { + "shape": "InternalServerError" + }, + { + "shape": "DataRepositoryTaskExecuting" + } + ], + "documentation": "

Creates an Amazon FSx for Lustre data repository task. You use data repository tasks to perform bulk operations between your Amazon FSx file system and its linked data repository. An example of a data repository task is exporting any data and metadata changes, including POSIX metadata, to files, directories, and symbolic links (symlinks) from your FSx file system to its linked data repository. A CreateDataRepositoryTask operation will fail if a data repository is not linked to the FSx file system. To learn more about data repository tasks, see Using Data Repository Tasks. To learn more about linking a data repository to your file system, see Step 1: Create Your Amazon FSx for Lustre File System.

", + "idempotent": true + }, "CreateFileSystem": { "name": "CreateFileSystem", "http": { @@ -197,7 +267,7 @@ "shape": "InternalServerError" } ], - "documentation": "

Deletes a file system, deleting its contents. After deletion, the file system no longer exists, and its data is gone. Any existing automatic backups will also be deleted.

By default, when you delete an Amazon FSx for Windows File Server file system, a final backup is created upon deletion. This final backup is not subject to the file system's retention policy, and must be manually deleted.

The DeleteFileSystem action returns while the file system has the DELETING status. You can check the file system deletion status by calling the DescribeFileSystems action, which returns a list of file systems in your account. If you pass the file system ID for a deleted file system, the DescribeFileSystems returns a FileSystemNotFound error.

The data in a deleted file system is also deleted and can't be recovered by any means.

", + "documentation": "

Deletes a file system, deleting its contents. After deletion, the file system no longer exists, and its data is gone. Any existing automatic backups will also be deleted.

By default, when you delete an Amazon FSx for Windows File Server file system, a final backup is created upon deletion. This final backup is not subject to the file system's retention policy, and must be manually deleted.

The DeleteFileSystem action returns while the file system has the DELETING status. You can check the file system deletion status by calling the DescribeFileSystems action, which returns a list of file systems in your account. If you pass the file system ID for a deleted file system, the DescribeFileSystems returns a FileSystemNotFound error.

Deleting an Amazon FSx for Lustre file system will fail with a 400 BadRequest if a data repository task is in a PENDING or EXECUTING state.

The data in a deleted file system is also deleted and can't be recovered by any means.

", "idempotent": true }, "DescribeBackups": { @@ -228,6 +298,34 @@ ], "documentation": "

Returns the description of specific Amazon FSx for Windows File Server backups, if a BackupIds value is provided for that backup. Otherwise, it returns all backups owned by your AWS account in the AWS Region of the endpoint that you're calling.

When retrieving all backups, you can optionally specify the MaxResults parameter to limit the number of backups in a response. If more backups remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

This action is used in an iterative process to retrieve a list of your backups. DescribeBackups is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken.

When using this action, keep the following in mind:

" }, + "DescribeDataRepositoryTasks": { + "name": "DescribeDataRepositoryTasks", + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribeDataRepositoryTasksRequest" + }, + "output": { + "shape": "DescribeDataRepositoryTasksResponse" + }, + "errors": [ + { + "shape": "BadRequest" + }, + { + "shape": "FileSystemNotFound" + }, + { + "shape": "DataRepositoryTaskNotFound" + }, + { + "shape": "InternalServerError" + } + ], + "documentation": "

Returns the description of specific Amazon FSx for Lustre data repository tasks, if one or more TaskIds values are provided in the request, or if filters are used in the request. You can use filters to narrow the response to include just tasks for specific file systems, or tasks in a specific lifecycle state. Otherwise, it returns all data repository tasks owned by your AWS account in the AWS Region of the endpoint that you're calling.

When retrieving all tasks, you can paginate the response by using the optional MaxResults parameter to limit the number of tasks returned in a response. If more tasks remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

" + }, "DescribeFileSystems": { "name": "DescribeFileSystems", "http": { @@ -406,12 +504,16 @@ "documentation": "

The Microsoft AD attributes of the Amazon FSx for Windows File Server file system.

" }, "ActiveDirectoryFullyQualifiedName": { - "type": "string" + "type": "string", + "max": 255, + "min": 1, + "pattern": "^.{1,255}$" }, "ArchivePath": { "type": "string", "max": 900, - "min": 3 + "min": 3, + "pattern": "^.{3,900}$" }, "AutomaticBackupRetentionDays": { "type": "integer", @@ -454,7 +556,7 @@ }, "KmsKeyId": { "shape": "KmsKeyId", - "documentation": "

The ID of the AWS Key Management Service (AWS KMS) key used to encrypt this backup's data.

" + "documentation": "

The ID of the AWS Key Management Service (AWS KMS) key used to encrypt this backup of the Amazon FSx for Windows file system's data at rest. Amazon FSx for Lustre does not support KMS encryption.

" }, "ResourceARN": { "shape": "ResourceARN", @@ -526,12 +628,63 @@ "documentation": "

A list of backups.

", "max": 50 }, + "CancelDataRepositoryTaskRequest": { + "type": "structure", + "required": [ + "TaskId" + ], + "members": { + "TaskId": { + "shape": "TaskId", + "documentation": "

Specifies the data repository task to cancel.

" + } + }, + "documentation": "

Cancels a data repository task.

" + }, + "CancelDataRepositoryTaskResponse": { + "type": "structure", + "members": { + "Lifecycle": { + "shape": "DataRepositoryTaskLifecycle", + "documentation": "

The lifecycle status of the data repository task, as follows:

" + }, + "TaskId": { + "shape": "TaskId", + "documentation": "

The ID of the task being canceled.

" + } + } + }, "ClientRequestToken": { "type": "string", "documentation": "

(Optional) An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.

", - "max": 255, + "max": 63, "min": 1, - "pattern": "[A-za-z0-9_.-]{0,255}$" + "pattern": "[A-za-z0-9_.-]{0,63}$" + }, + "CompletionReport": { + "type": "structure", + "required": [ + "Enabled" + ], + "members": { + "Enabled": { + "shape": "Flag", + "documentation": "

Set Enabled to True to generate a CompletionReport when the task completes. If set to true, then you need to provide a report Scope, Path, and Format. Set Enabled to False if you do not want a CompletionReport generated when the task completes.

" + }, + "Path": { + "shape": "ArchivePath", + "documentation": "

Required if Enabled is set to true. Specifies the location of the report on the file system's linked S3 data repository. An absolute path that defines where the completion report will be stored in the destination location. The Path you provide must be located within the file system’s ExportPath. An example Path value is \"s3://myBucket/myExportPath/optionalPrefix\". The report provides the following information for each file in the report: FilePath, FileStatus, and ErrorCode. To learn more about a file system's ExportPath, see .

" + }, + "Format": { + "shape": "ReportFormat", + "documentation": "

Required if Enabled is set to true. Specifies the format of the CompletionReport. REPORT_CSV_20191124 is the only format currently supported. When Format is set to REPORT_CSV_20191124, the CompletionReport is provided in CSV format, and is delivered to {path}/task-{id}/failures.csv.

" + }, + "Scope": { + "shape": "ReportScope", + "documentation": "

Required if Enabled is set to true. Specifies the scope of the CompletionReport; FAILED_FILES_ONLY is the only scope currently supported. When Scope is set to FAILED_FILES_ONLY, the CompletionReport only contains information about files that the data repository task failed to process.

" + } + }, + "documentation": "

Provides a report detailing the data repository task results of the files processed that match the criteria specified in the report Scope parameter. FSx delivers the report to the file system's linked data repository in Amazon S3, using the path specified in the report Path parameter. You can specify whether or not a report gets generated for a task using the Enabled parameter.

" }, "CreateBackupRequest": { "type": "structure", @@ -565,6 +718,47 @@ }, "documentation": "

The response object for the CreateBackup operation.

" }, + "CreateDataRepositoryTaskRequest": { + "type": "structure", + "required": [ + "Type", + "FileSystemId", + "Report" + ], + "members": { + "Type": { + "shape": "DataRepositoryTaskType", + "documentation": "

Specifies the type of data repository task to create.

" + }, + "Paths": { + "shape": "DataRepositoryTaskPaths", + "documentation": "

(Optional) The path or paths on the Amazon FSx file system to use when the data repository task is processed. The default path is the file system root directory.

" + }, + "FileSystemId": { + "shape": "FileSystemId" + }, + "Report": { + "shape": "CompletionReport", + "documentation": "

Defines whether or not Amazon FSx provides a CompletionReport once the task has completed. A CompletionReport provides a detailed report on the files that Amazon FSx processed that meet the criteria specified by the Scope parameter.

" + }, + "ClientRequestToken": { + "shape": "ClientRequestToken", + "idempotencyToken": true + }, + "Tags": { + "shape": "Tags" + } + } + }, + "CreateDataRepositoryTaskResponse": { + "type": "structure", + "members": { + "DataRepositoryTask": { + "shape": "DataRepositoryTask", + "documentation": "

The description of the data repository task that you just created.

" + } + } + }, "CreateFileSystemFromBackupRequest": { "type": "structure", "required": [ @@ -767,6 +961,175 @@ }, "documentation": "

The data repository configuration object for Lustre file systems returned in the response of the CreateFileSystem operation.

" }, + "DataRepositoryTask": { + "type": "structure", + "required": [ + "TaskId", + "Lifecycle", + "Type", + "CreationTime", + "FileSystemId" + ], + "members": { + "TaskId": { + "shape": "TaskId", + "documentation": "

The system-generated, unique 17-digit ID of the data repository task.

" + }, + "Lifecycle": { + "shape": "DataRepositoryTaskLifecycle", + "documentation": "

The lifecycle status of the data repository task, as follows:

You cannot delete an FSx for Lustre file system if there are data repository tasks for the file system in the PENDING or EXECUTING states. Please retry when the data repository task is finished (with a status of CANCELED, SUCCEEDED, or FAILED). You can use the DescribeDataRepositoryTask action to monitor the task status. Contact the FSx team if you need to delete your file system immediately.

" + }, + "Type": { + "shape": "DataRepositoryTaskType", + "documentation": "

The type of data repository task; EXPORT_TO_REPOSITORY is the only type currently supported.

" + }, + "CreationTime": { + "shape": "CreationTime" + }, + "StartTime": { + "shape": "StartTime", + "documentation": "

The time that Amazon FSx began processing the task.

" + }, + "EndTime": { + "shape": "EndTime", + "documentation": "

The time that Amazon FSx completed processing the task, populated after the task is complete.

" + }, + "ResourceARN": { + "shape": "ResourceARN" + }, + "Tags": { + "shape": "Tags" + }, + "FileSystemId": { + "shape": "FileSystemId" + }, + "Paths": { + "shape": "DataRepositoryTaskPaths", + "documentation": "

An array of paths on the Amazon FSx for Lustre file system that specify the data for the data repository task to process. For example, in an EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked data repository.

(Default) If Paths is not specified, Amazon FSx uses the file system root directory.

" + }, + "FailureDetails": { + "shape": "DataRepositoryTaskFailureDetails", + "documentation": "

Failure message describing why the task failed, it is populated only when Lifecycle is set to FAILED.

" + }, + "Status": { + "shape": "DataRepositoryTaskStatus", + "documentation": "

Provides the status of the number of files that the task has processed successfully and failed to process.

" + }, + "Report": { + "shape": "CompletionReport" + } + }, + "documentation": "

A description of the data repository task. You use data repository tasks to perform bulk transfer operations between your Amazon FSx file system and its linked data repository.

" + }, + "DataRepositoryTaskFailureDetails": { + "type": "structure", + "members": { + "Message": { + "shape": "ErrorMessage" + } + }, + "documentation": "

Provides information about why a data repository task failed. Only populated when the task Lifecycle is set to FAILED.

" + }, + "DataRepositoryTaskFilter": { + "type": "structure", + "members": { + "Name": { + "shape": "DataRepositoryTaskFilterName", + "documentation": "

Name of the task property to use in filtering the tasks returned in the response.

" + }, + "Values": { + "shape": "DataRepositoryTaskFilterValues", + "documentation": "

Use Values to include the specific file system IDs and task lifecycle states for the filters you are using.

" + } + }, + "documentation": "

(Optional) An array of filter objects you can use to filter the response of data repository tasks you will see in the the response. You can filter the tasks returned in the response by one or more file system IDs, task lifecycles, and by task type. A filter object consists of a filter Name, and one or more Values for the filter.

" + }, + "DataRepositoryTaskFilterName": { + "type": "string", + "enum": [ + "file-system-id", + "task-lifecycle" + ] + }, + "DataRepositoryTaskFilterValue": { + "type": "string", + "max": 128, + "min": 1, + "pattern": "^[0-9a-zA-Z\\*\\.\\\\/\\?\\-\\_]*$" + }, + "DataRepositoryTaskFilterValues": { + "type": "list", + "member": { + "shape": "DataRepositoryTaskFilterValue" + }, + "max": 20 + }, + "DataRepositoryTaskFilters": { + "type": "list", + "member": { + "shape": "DataRepositoryTaskFilter" + }, + "max": 3 + }, + "DataRepositoryTaskLifecycle": { + "type": "string", + "enum": [ + "PENDING", + "EXECUTING", + "FAILED", + "SUCCEEDED", + "CANCELED", + "CANCELING" + ] + }, + "DataRepositoryTaskPath": { + "type": "string", + "max": 4096, + "min": 0, + "pattern": "^.{0,4096}$" + }, + "DataRepositoryTaskPaths": { + "type": "list", + "member": { + "shape": "DataRepositoryTaskPath" + }, + "max": 100 + }, + "DataRepositoryTaskStatus": { + "type": "structure", + "members": { + "TotalCount": { + "shape": "TotalCount", + "documentation": "

The total number of files that the task will process. While a task is executing, the sum of SucceededCount plus FailedCount may not equal TotalCount. When the task is complete, TotalCount equals the sum of SucceededCount plus FailedCount.

" + }, + "SucceededCount": { + "shape": "SucceededCount", + "documentation": "

A running total of the number of files that the task has successfully processed.

" + }, + "FailedCount": { + "shape": "FailedCount", + "documentation": "

A running total of the number of files that the task failed to process.

" + }, + "LastUpdatedTime": { + "shape": "LastUpdatedTime", + "documentation": "

The time at which the task status was last updated.

" + } + }, + "documentation": "

Provides the task status showing a running total of the total number of files to be processed, the number successfully processed, and the number of files the task failed to process.

" + }, + "DataRepositoryTaskType": { + "type": "string", + "enum": [ + "EXPORT_TO_REPOSITORY" + ] + }, + "DataRepositoryTasks": { + "type": "list", + "member": { + "shape": "DataRepositoryTask" + }, + "max": 50 + }, "DeleteBackupRequest": { "type": "structure", "required": [ @@ -901,6 +1264,37 @@ }, "documentation": "

Response object for DescribeBackups operation.

" }, + "DescribeDataRepositoryTasksRequest": { + "type": "structure", + "members": { + "TaskIds": { + "shape": "TaskIds", + "documentation": "

(Optional) IDs of the tasks whose descriptions you want to retrieve (String).

" + }, + "Filters": { + "shape": "DataRepositoryTaskFilters", + "documentation": "

(Optional) You can use filters to narrow the DescribeDataRepositoryTasks response to include just tasks for specific file systems, or tasks in a specific lifecycle state.

" + }, + "MaxResults": { + "shape": "MaxResults" + }, + "NextToken": { + "shape": "NextToken" + } + } + }, + "DescribeDataRepositoryTasksResponse": { + "type": "structure", + "members": { + "DataRepositoryTasks": { + "shape": "DataRepositoryTasks", + "documentation": "

The collection of data repository task descriptions returned.

" + }, + "NextToken": { + "shape": "NextToken" + } + } + }, "DescribeFileSystemsRequest": { "type": "structure", "members": { @@ -943,12 +1337,14 @@ "type": "string", "max": 256, "min": 1, + "pattern": "^.{1,256}$", "sensitive": true }, "DirectoryUserName": { "type": "string", "max": 256, - "min": 1 + "min": 1, + "pattern": "^.{1,256}$" }, "DnsIps": { "type": "list", @@ -958,12 +1354,18 @@ "max": 2, "min": 1 }, + "EndTime": { + "type": "timestamp" + }, "ErrorMessage": { "type": "string", "documentation": "

A detailed error message.

", "max": 256, "min": 1 }, + "FailedCount": { + "type": "long" + }, "FileSystem": { "type": "structure", "members": { @@ -1012,7 +1414,7 @@ }, "KmsKeyId": { "shape": "KmsKeyId", - "documentation": "

The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for an Amazon FSx for Windows File Server file system.

" + "documentation": "

The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for an Amazon FSx for Windows File Server file system. Amazon FSx for Lustre does not support KMS encryption.

" }, "ResourceARN": { "shape": "ResourceARN", @@ -1035,7 +1437,8 @@ "FileSystemAdministratorsGroupName": { "type": "string", "max": 256, - "min": 1 + "min": 1, + "pattern": "^.{1,256}$" }, "FileSystemFailureDetails": { "type": "structure", @@ -1156,15 +1559,20 @@ }, "IpAddress": { "type": "string", + "max": 15, + "min": 7, "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" }, "KmsKeyId": { "type": "string", - "documentation": "

The ID of your AWS Key Management Service (AWS KMS) key. This ID is used to encrypt the data in your file system at rest. For more information, see Encrypt in the AWS Key Management Service API Reference.

", + "documentation": "

The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for an Amazon FSx for Windows File Server file system at rest. Amazon FSx for Lustre does not support KMS encryption. For more information, see Encrypt in the AWS Key Management Service API Reference.

", "max": 2048, "min": 1, "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[89aAbB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}|arn:aws[a-z-]{0,7}:kms:[a-z]{2}-[a-z-]{4,}-\\d+:\\d{12}:(key|alias)\\/([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[89aAbB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}|[a-zA-Z0-9:\\/_-]+)|alias\\/[a-zA-Z0-9:\\/_-]+$" }, + "LastUpdatedTime": { + "type": "timestamp" + }, "ListTagsForResourceRequest": { "type": "structure", "required": [ @@ -1254,7 +1662,8 @@ "OrganizationalUnitDistinguishedName": { "type": "string", "max": 2000, - "min": 1 + "min": 1, + "pattern": "^.{1,2000}$" }, "ProgressPercent": { "type": "integer", @@ -1262,6 +1671,18 @@ "max": 100, "min": 0 }, + "ReportFormat": { + "type": "string", + "enum": [ + "REPORT_CSV_20191124" + ] + }, + "ReportScope": { + "type": "string", + "enum": [ + "FAILED_FILES_ONLY" + ] + }, "ResourceARN": { "type": "string", "documentation": "

The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify AWS resources. We require an ARN when you need to specify a resource unambiguously across all of AWS. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", @@ -1341,7 +1762,7 @@ }, "DnsIps": { "shape": "DnsIps", - "documentation": "

A list of up to two IP addresses of DNS servers or domain controllers in the self-managed AD directory. The IP addresses need to be either in the same VPC CIDR range as the one in which your Amazon FSx file system is being created, or in the private IP version 4 (Iv4) address ranges, as specified in RFC 1918:

" + "documentation": "

A list of up to two IP addresses of DNS servers or domain controllers in the self-managed AD directory. The IP addresses need to be either in the same VPC CIDR range as the one in which your Amazon FSx file system is being created, or in the private IP version 4 (IPv4) address ranges, as specified in RFC 1918:

" } }, "documentation": "

The configuration that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory.

" @@ -1364,10 +1785,13 @@ }, "documentation": "

The configuration that Amazon FSx uses to join the Windows File Server instance to the self-managed Microsoft Active Directory (AD) directory.

" }, + "StartTime": { + "type": "timestamp" + }, "StorageCapacity": { "type": "integer", "documentation": "

The storage capacity for your Amazon FSx file system, in gibibytes.

", - "min": 1 + "min": 0 }, "SubnetId": { "type": "string", @@ -1384,6 +1808,9 @@ "documentation": "

A list of subnet IDs. Currently, you can specify only one subnet ID in a call to the CreateFileSystem operation.

", "max": 50 }, + "SucceededCount": { + "type": "long" + }, "Tag": { "type": "structure", "members": { @@ -1402,7 +1829,8 @@ "type": "string", "documentation": "

A string of 1 to 128 characters that specifies the key for a tag. Tag keys must be unique for the resource to which they are attached.

", "max": 128, - "min": 1 + "min": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "TagKeys": { "type": "list", @@ -1440,7 +1868,8 @@ "type": "string", "documentation": "

A string of 0 to 256 characters that specifies the value for a tag. Tag values can be null and don't have to be unique in a tag set.

", "max": 256, - "min": 0 + "min": 0, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "Tags": { "type": "list", @@ -1451,6 +1880,22 @@ "max": 50, "min": 1 }, + "TaskId": { + "type": "string", + "max": 128, + "min": 12, + "pattern": "^(task-[0-9a-f]{17,})$" + }, + "TaskIds": { + "type": "list", + "member": { + "shape": "TaskId" + }, + "max": 50 + }, + "TotalCount": { + "type": "long" + }, "UntagResourceRequest": { "type": "structure", "required": [ diff --git a/apis/fsx-2018-03-01.paginators.json b/apis/fsx-2018-03-01.paginators.json index 912e2f2de2..43df3a5f3a 100644 --- a/apis/fsx-2018-03-01.paginators.json +++ b/apis/fsx-2018-03-01.paginators.json @@ -5,6 +5,11 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "DescribeDataRepositoryTasks": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "DescribeFileSystems": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/apis/health-2016-08-04.min.json b/apis/health-2016-08-04.min.json index 8f81b5f7be..686e33a628 100644 --- a/apis/health-2016-08-04.min.json +++ b/apis/health-2016-08-04.min.json @@ -13,6 +13,32 @@ "uid": "health-2016-08-04" }, "operations": { + "DescribeAffectedAccountsForOrganization": { + "input": { + "type": "structure", + "required": [ + "eventArn" + ], + "members": { + "eventArn": {}, + "nextToken": {}, + "maxResults": { + "type": "integer" + } + } + }, + "output": { + "type": "structure", + "members": { + "affectedAccounts": { + "type": "list", + "member": {} + }, + "nextToken": {} + } + }, + "idempotent": true + }, "DescribeAffectedEntities": { "input": { "type": "structure", @@ -27,19 +53,19 @@ ], "members": { "eventArns": { - "shape": "S3" + "shape": "Sa" }, "entityArns": { - "shape": "S5" + "shape": "Sb" }, "entityValues": { - "shape": "S7" + "shape": "Sd" }, "lastUpdatedTimes": { - "shape": "S9" + "shape": "Sf" }, "tags": { - "shape": "Sc" + "shape": "Si" }, "statusCodes": { "type": "list", @@ -58,22 +84,48 @@ "type": "structure", "members": { "entities": { + "shape": "Sq" + }, + "nextToken": {} + } + }, + "idempotent": true + }, + "DescribeAffectedEntitiesForOrganization": { + "input": { + "type": "structure", + "required": [ + "organizationEntityFilters" + ], + "members": { + "organizationEntityFilters": { + "type": "list", + "member": { + "shape": "Sv" + } + }, + "locale": {}, + "nextToken": {}, + "maxResults": { + "type": "integer" + } + } + }, + "output": { + "type": "structure", + "members": { + "entities": { + "shape": "Sq" + }, + "failedSet": { "type": "list", "member": { "type": "structure", "members": { - "entityArn": {}, - "eventArn": {}, - "entityValue": {}, - "entityUrl": {}, "awsAccountId": {}, - "lastUpdatedTime": { - "type": "timestamp" - }, - "statusCode": {}, - "tags": { - "shape": "Sd" - } + "eventArn": {}, + "errorName": {}, + "errorMessage": {} } } }, @@ -119,7 +171,7 @@ ], "members": { "filter": { - "shape": "Sx" + "shape": "S17" }, "aggregateField": {}, "maxResults": { @@ -156,7 +208,7 @@ ], "members": { "eventArns": { - "shape": "S3" + "shape": "Sa" }, "locale": {} } @@ -170,18 +222,13 @@ "type": "structure", "members": { "event": { - "shape": "S1j" + "shape": "S1t" }, "eventDescription": { - "type": "structure", - "members": { - "latestDescription": {} - } + "shape": "S1v" }, "eventMetadata": { - "type": "map", - "key": {}, - "value": {} + "shape": "S1x" } } } @@ -201,6 +248,59 @@ }, "idempotent": true }, + "DescribeEventDetailsForOrganization": { + "input": { + "type": "structure", + "required": [ + "organizationEventDetailFilters" + ], + "members": { + "organizationEventDetailFilters": { + "type": "list", + "member": { + "shape": "Sv" + } + }, + "locale": {} + } + }, + "output": { + "type": "structure", + "members": { + "successfulSet": { + "type": "list", + "member": { + "type": "structure", + "members": { + "awsAccountId": {}, + "event": { + "shape": "S1t" + }, + "eventDescription": { + "shape": "S1v" + }, + "eventMetadata": { + "shape": "S1x" + } + } + } + }, + "failedSet": { + "type": "list", + "member": { + "type": "structure", + "members": { + "awsAccountId": {}, + "eventArn": {}, + "errorName": {}, + "errorMessage": {} + } + } + } + } + }, + "idempotent": true + }, "DescribeEventTypes": { "input": { "type": "structure", @@ -213,7 +313,7 @@ "member": {} }, "services": { - "shape": "S10" + "shape": "S1a" }, "eventTypeCategories": { "type": "list", @@ -252,7 +352,7 @@ "type": "structure", "members": { "filter": { - "shape": "Sx" + "shape": "S17" }, "nextToken": {}, "maxResults": { @@ -267,107 +367,249 @@ "events": { "type": "list", "member": { - "shape": "S1j" + "shape": "S1t" } }, "nextToken": {} } }, "idempotent": true + }, + "DescribeEventsForOrganization": { + "input": { + "type": "structure", + "members": { + "filter": { + "type": "structure", + "members": { + "eventTypeCodes": { + "shape": "S18" + }, + "awsAccountIds": { + "type": "list", + "member": {} + }, + "services": { + "shape": "S1a" + }, + "regions": { + "shape": "S1c" + }, + "startTime": { + "shape": "Sg" + }, + "endTime": { + "shape": "Sg" + }, + "lastUpdatedTime": { + "shape": "Sg" + }, + "entityArns": { + "shape": "Sb" + }, + "entityValues": { + "shape": "Sd" + }, + "eventTypeCategories": { + "shape": "S1g" + }, + "eventStatusCodes": { + "shape": "S1i" + } + } + }, + "nextToken": {}, + "maxResults": { + "type": "integer" + }, + "locale": {} + } + }, + "output": { + "type": "structure", + "members": { + "events": { + "type": "list", + "member": { + "type": "structure", + "members": { + "arn": {}, + "service": {}, + "eventTypeCode": {}, + "eventTypeCategory": {}, + "region": {}, + "startTime": { + "type": "timestamp" + }, + "endTime": { + "type": "timestamp" + }, + "lastUpdatedTime": { + "type": "timestamp" + }, + "statusCode": {} + } + } + }, + "nextToken": {} + } + }, + "idempotent": true + }, + "DescribeHealthServiceStatusForOrganization": { + "output": { + "type": "structure", + "members": { + "healthServiceAccessStatusForOrganization": {} + } + }, + "idempotent": true + }, + "DisableHealthServiceAccessForOrganization": { + "idempotent": true + }, + "EnableHealthServiceAccessForOrganization": { + "idempotent": true } }, "shapes": { - "S3": { + "Sa": { "type": "list", "member": {} }, - "S5": { + "Sb": { "type": "list", "member": {} }, - "S7": { + "Sd": { "type": "list", "member": {} }, - "S9": { + "Sf": { "type": "list", "member": { - "type": "structure", - "members": { - "from": { - "type": "timestamp" - }, - "to": { - "type": "timestamp" - } + "shape": "Sg" + } + }, + "Sg": { + "type": "structure", + "members": { + "from": { + "type": "timestamp" + }, + "to": { + "type": "timestamp" } } }, - "Sc": { + "Si": { "type": "list", "member": { - "shape": "Sd" + "shape": "Sj" } }, - "Sd": { + "Sj": { "type": "map", "key": {}, "value": {} }, - "Sx": { + "Sq": { + "type": "list", + "member": { + "type": "structure", + "members": { + "entityArn": {}, + "eventArn": {}, + "entityValue": {}, + "entityUrl": {}, + "awsAccountId": {}, + "lastUpdatedTime": { + "type": "timestamp" + }, + "statusCode": {}, + "tags": { + "shape": "Sj" + } + } + } + }, + "Sv": { + "type": "structure", + "required": [ + "eventArn", + "awsAccountId" + ], + "members": { + "eventArn": {}, + "awsAccountId": {} + } + }, + "S17": { "type": "structure", "members": { "eventArns": { - "shape": "S3" + "shape": "Sa" }, "eventTypeCodes": { - "type": "list", - "member": {} + "shape": "S18" }, "services": { - "shape": "S10" + "shape": "S1a" }, "regions": { - "type": "list", - "member": {} + "shape": "S1c" }, "availabilityZones": { "type": "list", "member": {} }, "startTimes": { - "shape": "S9" + "shape": "Sf" }, "endTimes": { - "shape": "S9" + "shape": "Sf" }, "lastUpdatedTimes": { - "shape": "S9" + "shape": "Sf" }, "entityArns": { - "shape": "S5" + "shape": "Sb" }, "entityValues": { - "shape": "S7" + "shape": "Sd" }, "eventTypeCategories": { - "type": "list", - "member": {} + "shape": "S1g" }, "tags": { - "shape": "Sc" + "shape": "Si" }, "eventStatusCodes": { - "type": "list", - "member": {} + "shape": "S1i" } } }, - "S10": { + "S18": { + "type": "list", + "member": {} + }, + "S1a": { + "type": "list", + "member": {} + }, + "S1c": { "type": "list", "member": {} }, - "S1j": { + "S1g": { + "type": "list", + "member": {} + }, + "S1i": { + "type": "list", + "member": {} + }, + "S1t": { "type": "structure", "members": { "arn": {}, @@ -387,6 +629,17 @@ }, "statusCode": {} } + }, + "S1v": { + "type": "structure", + "members": { + "latestDescription": {} + } + }, + "S1x": { + "type": "map", + "key": {}, + "value": {} } } } \ No newline at end of file diff --git a/apis/health-2016-08-04.normal.json b/apis/health-2016-08-04.normal.json index 5d39f8d32c..26191656c1 100644 --- a/apis/health-2016-08-04.normal.json +++ b/apis/health-2016-08-04.normal.json @@ -13,6 +13,26 @@ "uid": "health-2016-08-04" }, "operations": { + "DescribeAffectedAccountsForOrganization": { + "name": "DescribeAffectedAccountsForOrganization", + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribeAffectedAccountsForOrganizationRequest" + }, + "output": { + "shape": "DescribeAffectedAccountsForOrganizationResponse" + }, + "errors": [ + { + "shape": "InvalidPaginationToken" + } + ], + "documentation": "

Returns a list of accounts in the organization from AWS Organizations that are affected by the provided event.

Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account.

", + "idempotent": true + }, "DescribeAffectedEntities": { "name": "DescribeAffectedEntities", "http": { @@ -36,6 +56,29 @@ "documentation": "

Returns a list of entities that have been affected by the specified events, based on the specified filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the AWS service. Events that have impact beyond that of the affected entities, or where the extent of impact is unknown, include at least one entity indicating this.

At least one event ARN is required. Results are sorted by the lastUpdatedTime of the entity, starting with the most recent.

", "idempotent": true }, + "DescribeAffectedEntitiesForOrganization": { + "name": "DescribeAffectedEntitiesForOrganization", + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribeAffectedEntitiesForOrganizationRequest" + }, + "output": { + "shape": "DescribeAffectedEntitiesForOrganizationResponse" + }, + "errors": [ + { + "shape": "InvalidPaginationToken" + }, + { + "shape": "UnsupportedLocale" + } + ], + "documentation": "

Returns a list of entities that have been affected by one or more events for one or more accounts in your organization in AWS Organizations, based on the filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the AWS service.

At least one event ARN and account ID are required. Results are sorted by the lastUpdatedTime of the entity, starting with the most recent.

Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account.

", + "idempotent": true + }, "DescribeEntityAggregates": { "name": "DescribeEntityAggregates", "http": { @@ -88,7 +131,27 @@ "shape": "UnsupportedLocale" } ], - "documentation": "

Returns detailed information about one or more specified events. Information includes standard event data (region, service, etc., as returned by DescribeEvents), a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntities operation.

If a specified event cannot be retrieved, an error message is returned for that event.

", + "documentation": "

Returns detailed information about one or more specified events. Information includes standard event data (region, service, and so on, as returned by DescribeEvents), a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntities operation.

If a specified event cannot be retrieved, an error message is returned for that event.

", + "idempotent": true + }, + "DescribeEventDetailsForOrganization": { + "name": "DescribeEventDetailsForOrganization", + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribeEventDetailsForOrganizationRequest" + }, + "output": { + "shape": "DescribeEventDetailsForOrganizationResponse" + }, + "errors": [ + { + "shape": "UnsupportedLocale" + } + ], + "documentation": "

Returns detailed information about one or more specified events for one or more accounts in your organization. Information includes standard event data (Region, service, and so on, as returned by DescribeEventsForOrganization, a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntitiesForOrganization operation.

Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account.

", "idempotent": true }, "DescribeEventTypes": { @@ -136,6 +199,69 @@ ], "documentation": "

Returns information about events that meet the specified filter criteria. Events are returned in a summary form and do not include the detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the DescribeEventDetails and DescribeAffectedEntities operations.

If no filter criteria are specified, all events are returned. Results are sorted by lastModifiedTime, starting with the most recent.

", "idempotent": true + }, + "DescribeEventsForOrganization": { + "name": "DescribeEventsForOrganization", + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribeEventsForOrganizationRequest" + }, + "output": { + "shape": "DescribeEventsForOrganizationResponse" + }, + "errors": [ + { + "shape": "InvalidPaginationToken" + }, + { + "shape": "UnsupportedLocale" + } + ], + "documentation": "

Returns information about events across your organization in AWS Organizations, meeting the specified filter criteria. Events are returned in a summary form and do not include the accounts impacted, detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the DescribeAffectedAccountsForOrganization, DescribeEventDetailsForOrganization, and DescribeAffectedEntitiesForOrganization operations.

If no filter criteria are specified, all events across your organization are returned. Results are sorted by lastModifiedTime, starting with the most recent.

Before you can call this operation, you must first enable Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account.

", + "idempotent": true + }, + "DescribeHealthServiceStatusForOrganization": { + "name": "DescribeHealthServiceStatusForOrganization", + "http": { + "method": "POST", + "requestUri": "/" + }, + "output": { + "shape": "DescribeHealthServiceStatusForOrganizationResponse" + }, + "documentation": "

This operation provides status information on enabling or disabling AWS Health to work with your organization. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account.

", + "idempotent": true + }, + "DisableHealthServiceAccessForOrganization": { + "name": "DisableHealthServiceAccessForOrganization", + "http": { + "method": "POST", + "requestUri": "/" + }, + "errors": [ + { + "shape": "ConcurrentModificationException" + } + ], + "documentation": "

Calling this operation disables Health from working with AWS Organizations. This does not remove the Service Linked Role (SLR) from the the master account in your organization. Use the IAM console, API, or AWS CLI to remove the SLR if desired. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account.

", + "idempotent": true + }, + "EnableHealthServiceAccessForOrganization": { + "name": "EnableHealthServiceAccessForOrganization", + "http": { + "method": "POST", + "requestUri": "/" + }, + "errors": [ + { + "shape": "ConcurrentModificationException" + } + ], + "documentation": "

Calling this operation enables AWS Health to work with AWS Organizations. This applies a Service Linked Role (SLR) to the master account in the organization. To learn more about the steps in this process, visit enabling service access for AWS Health in AWS Organizations. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account.

", + "idempotent": true } }, "shapes": { @@ -155,7 +281,8 @@ "documentation": "

The ID of the affected entity.

" }, "entityUrl": { - "shape": "entityUrl" + "shape": "entityUrl", + "documentation": "

The URL of the affected entity.

" }, "awsAccountId": { "shape": "accountId", @@ -190,6 +317,86 @@ }, "documentation": "

A range of dates and times that is used by the EventFilter and EntityFilter objects. If from is set and to is set: match items where the timestamp (startTime, endTime, or lastUpdatedTime) is between from and to inclusive. If from is set and to is not set: match items where the timestamp value is equal to or after from. If from is not set and to is set: match items where the timestamp value is equal to or before to.

" }, + "DescribeAffectedAccountsForOrganizationRequest": { + "type": "structure", + "required": [ + "eventArn" + ], + "members": { + "eventArn": { + "shape": "eventArn", + "documentation": "

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "nextToken": { + "shape": "nextToken", + "documentation": "

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults": { + "shape": "maxResults", + "documentation": "

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" + } + } + }, + "DescribeAffectedAccountsForOrganizationResponse": { + "type": "structure", + "members": { + "affectedAccounts": { + "shape": "affectedAccountsList", + "documentation": "

A JSON set of elements of the affected accounts.

" + }, + "nextToken": { + "shape": "nextToken", + "documentation": "

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + } + } + }, + "DescribeAffectedEntitiesForOrganizationFailedSet": { + "type": "list", + "member": { + "shape": "OrganizationAffectedEntitiesErrorItem" + } + }, + "DescribeAffectedEntitiesForOrganizationRequest": { + "type": "structure", + "required": [ + "organizationEntityFilters" + ], + "members": { + "organizationEntityFilters": { + "shape": "OrganizationEntityFiltersList", + "documentation": "

A JSON set of elements including the awsAccountId and the eventArn.

" + }, + "locale": { + "shape": "locale", + "documentation": "

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" + }, + "nextToken": { + "shape": "nextToken", + "documentation": "

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults": { + "shape": "maxResults", + "documentation": "

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" + } + } + }, + "DescribeAffectedEntitiesForOrganizationResponse": { + "type": "structure", + "members": { + "entities": { + "shape": "EntityList", + "documentation": "

A JSON set of elements including the awsAccountId and its entityArn, entityValue and its entityArn, lastUpdatedTime, statusCode, and tags.

" + }, + "failedSet": { + "shape": "DescribeAffectedEntitiesForOrganizationFailedSet", + "documentation": "

A JSON set of elements of the failed response, including the awsAccountId, errorMessage, errorName, and eventArn.

" + }, + "nextToken": { + "shape": "nextToken", + "documentation": "

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + } + } + }, "DescribeAffectedEntitiesRequest": { "type": "structure", "required": [ @@ -198,7 +405,7 @@ "members": { "filter": { "shape": "EntityFilter", - "documentation": "

Values to narrow the results returned. At least one event ARN is required.

" + "documentation": "

Values to narrow the results returned. At least one event ARN is required.

" }, "locale": { "shape": "locale", @@ -288,6 +495,47 @@ "shape": "EventDetailsErrorItem" } }, + "DescribeEventDetailsForOrganizationFailedSet": { + "type": "list", + "member": { + "shape": "OrganizationEventDetailsErrorItem" + } + }, + "DescribeEventDetailsForOrganizationRequest": { + "type": "structure", + "required": [ + "organizationEventDetailFilters" + ], + "members": { + "organizationEventDetailFilters": { + "shape": "OrganizationEventDetailFiltersList", + "documentation": "

A set of JSON elements that includes the awsAccountId and the eventArn.

" + }, + "locale": { + "shape": "locale", + "documentation": "

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" + } + } + }, + "DescribeEventDetailsForOrganizationResponse": { + "type": "structure", + "members": { + "successfulSet": { + "shape": "DescribeEventDetailsForOrganizationSuccessfulSet", + "documentation": "

Information about the events that could be retrieved.

" + }, + "failedSet": { + "shape": "DescribeEventDetailsForOrganizationFailedSet", + "documentation": "

Error messages for any events that could not be retrieved.

" + } + } + }, + "DescribeEventDetailsForOrganizationSuccessfulSet": { + "type": "list", + "member": { + "shape": "OrganizationEventDetails" + } + }, "DescribeEventDetailsRequest": { "type": "structure", "required": [ @@ -357,6 +605,40 @@ } } }, + "DescribeEventsForOrganizationRequest": { + "type": "structure", + "members": { + "filter": { + "shape": "OrganizationEventFilter", + "documentation": "

Values to narrow the results returned.

" + }, + "nextToken": { + "shape": "nextToken", + "documentation": "

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults": { + "shape": "maxResults", + "documentation": "

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" + }, + "locale": { + "shape": "locale", + "documentation": "

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" + } + } + }, + "DescribeEventsForOrganizationResponse": { + "type": "structure", + "members": { + "events": { + "shape": "OrganizationEventList", + "documentation": "

The events that match the specified filter criteria.

" + }, + "nextToken": { + "shape": "nextToken", + "documentation": "

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + } + } + }, "DescribeEventsRequest": { "type": "structure", "members": { @@ -391,6 +673,15 @@ } } }, + "DescribeHealthServiceStatusForOrganizationResponse": { + "type": "structure", + "members": { + "healthServiceAccessStatusForOrganization": { + "shape": "healthServiceAccessStatusForOrganization", + "documentation": "

Information about the status of enabling or disabling AWS Health Organizational View in your organization.

Valid values are ENABLED | DISABLED | PENDING.

" + } + } + }, "EntityAggregate": { "type": "structure", "members": { @@ -494,7 +785,25 @@ "documentation": "

The most recent status of the event. Possible values are open, closed, and upcoming.

" } }, - "documentation": "

Summary information about an event, returned by the DescribeEvents operation. The DescribeEventDetails operation also returns this information, as well as the EventDescription and additional event metadata.

" + "documentation": "

Summary information about an AWS Health event.

" + }, + "EventAccountFilter": { + "type": "structure", + "required": [ + "eventArn", + "awsAccountId" + ], + "members": { + "eventArn": { + "shape": "eventArn", + "documentation": "

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "awsAccountId": { + "shape": "accountId", + "documentation": "

The 12-digit AWS account numbers that contains the affected entities.

" + } + }, + "documentation": "

The values used to filter results from the DescribeEventDetailsForOrganization and DescribeAffectedEntitiesForOrganization operations.

" }, "EventAggregate": { "type": "structure", @@ -579,7 +888,7 @@ }, "eventTypeCodes": { "shape": "eventTypeList", - "documentation": "

A list of unique identifiers for event types. For example, \"AWS_EC2_SYSTEM_MAINTENANCE_EVENT\",\"AWS_RDS_MAINTENANCE_SCHEDULED\"

" + "documentation": "

A list of unique identifiers for event types. For example, \"AWS_EC2_SYSTEM_MAINTENANCE_EVENT\",\"AWS_RDS_MAINTENANCE_SCHEDULED\".

" }, "services": { "shape": "serviceList", @@ -692,15 +1001,199 @@ "shape": "EventType" } }, + "OrganizationAffectedEntitiesErrorItem": { + "type": "structure", + "members": { + "awsAccountId": { + "shape": "accountId", + "documentation": "

The 12-digit AWS account numbers that contains the affected entities.

" + }, + "eventArn": { + "shape": "eventArn", + "documentation": "

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "errorName": { + "shape": "string", + "documentation": "

The name of the error.

" + }, + "errorMessage": { + "shape": "string", + "documentation": "

The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION. For example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

" + } + }, + "documentation": "

Error information returned when a DescribeAffectedEntitiesForOrganization operation cannot find or process a specific entity.

" + }, + "OrganizationEntityFiltersList": { + "type": "list", + "member": { + "shape": "EventAccountFilter" + }, + "max": 10, + "min": 1 + }, + "OrganizationEvent": { + "type": "structure", + "members": { + "arn": { + "shape": "eventArn", + "documentation": "

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "service": { + "shape": "service", + "documentation": "

The AWS service that is affected by the event. For example, EC2, RDS.

" + }, + "eventTypeCode": { + "shape": "eventTypeCode", + "documentation": "

The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION. For example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

" + }, + "eventTypeCategory": { + "shape": "eventTypeCategory", + "documentation": "

The category of the event type.

" + }, + "region": { + "shape": "region", + "documentation": "

The AWS Region name of the event.

" + }, + "startTime": { + "shape": "timestamp", + "documentation": "

The date and time that the event began.

" + }, + "endTime": { + "shape": "timestamp", + "documentation": "

The date and time that the event ended.

" + }, + "lastUpdatedTime": { + "shape": "timestamp", + "documentation": "

The most recent date and time that the event was updated.

" + }, + "statusCode": { + "shape": "eventStatusCode", + "documentation": "

The most recent status of the event. Possible values are open, closed, and upcoming.

" + } + }, + "documentation": "

Summary information about an event, returned by the DescribeEventsForOrganization operation.

" + }, + "OrganizationEventDetailFiltersList": { + "type": "list", + "member": { + "shape": "EventAccountFilter" + }, + "max": 10, + "min": 1 + }, + "OrganizationEventDetails": { + "type": "structure", + "members": { + "awsAccountId": { + "shape": "accountId", + "documentation": "

The 12-digit AWS account numbers that contains the affected entities.

" + }, + "event": { + "shape": "Event" + }, + "eventDescription": { + "shape": "EventDescription" + }, + "eventMetadata": { + "shape": "eventMetadata", + "documentation": "

Additional metadata about the event.

" + } + }, + "documentation": "

Detailed information about an event. A combination of an Event object, an EventDescription object, and additional metadata about the event. Returned by the DescribeEventDetailsForOrganization operation.

" + }, + "OrganizationEventDetailsErrorItem": { + "type": "structure", + "members": { + "awsAccountId": { + "shape": "accountId", + "documentation": "

Error information returned when a DescribeEventDetailsForOrganization operation cannot find a specified event.

" + }, + "eventArn": { + "shape": "eventArn", + "documentation": "

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "errorName": { + "shape": "string", + "documentation": "

The name of the error.

" + }, + "errorMessage": { + "shape": "string", + "documentation": "

A message that describes the error.

" + } + }, + "documentation": "

Error information returned when a DescribeEventDetailsForOrganization operation cannot find a specified event.

" + }, + "OrganizationEventFilter": { + "type": "structure", + "members": { + "eventTypeCodes": { + "shape": "eventTypeList", + "documentation": "

A list of unique identifiers for event types. For example, \"AWS_EC2_SYSTEM_MAINTENANCE_EVENT\",\"AWS_RDS_MAINTENANCE_SCHEDULED\".

" + }, + "awsAccountIds": { + "shape": "awsAccountIdsList", + "documentation": "

A list of 12-digit AWS account numbers that contains the affected entities.

" + }, + "services": { + "shape": "serviceList", + "documentation": "

The AWS services associated with the event. For example, EC2, RDS.

" + }, + "regions": { + "shape": "regionList", + "documentation": "

A list of AWS Regions.

" + }, + "startTime": { + "shape": "DateTimeRange" + }, + "endTime": { + "shape": "DateTimeRange" + }, + "lastUpdatedTime": { + "shape": "DateTimeRange" + }, + "entityArns": { + "shape": "entityArnList", + "documentation": "

REPLACEME

" + }, + "entityValues": { + "shape": "entityValueList", + "documentation": "

A list of entity identifiers, such as EC2 instance IDs (i-34ab692e) or EBS volumes (vol-426ab23e).

" + }, + "eventTypeCategories": { + "shape": "eventTypeCategoryList", + "documentation": "

REPLACEME

" + }, + "eventStatusCodes": { + "shape": "eventStatusCodeList", + "documentation": "

A list of event status codes.

" + } + }, + "documentation": "

The values to filter results from the DescribeEventsForOrganization operation.

" + }, + "OrganizationEventList": { + "type": "list", + "member": { + "shape": "OrganizationEvent" + } + }, "accountId": { "type": "string", - "pattern": "[0-9]{12}" + "max": 12, + "pattern": "^\\S+$" + }, + "affectedAccountsList": { + "type": "list", + "member": { + "shape": "accountId" + } }, "aggregateValue": { "type": "string" }, "availabilityZone": { "type": "string", + "max": 18, + "min": 6, "pattern": "[a-z]{2}\\-[0-9a-z\\-]{4,16}" }, "availabilityZones": { @@ -709,6 +1202,14 @@ "shape": "availabilityZone" } }, + "awsAccountIdsList": { + "type": "list", + "member": { + "shape": "accountId" + }, + "max": 50, + "min": 1 + }, "count": { "type": "integer" }, @@ -722,7 +1223,8 @@ }, "entityArn": { "type": "string", - "max": 1600 + "max": 1600, + "pattern": ".{0,1600}" }, "entityArnList": { "type": "list", @@ -749,12 +1251,12 @@ "min": 1 }, "entityUrl": { - "type": "string", - "pattern": "https?://.+\\.(amazon\\.com|amazonaws\\.com|amazonaws\\.cn|c2s\\.ic\\.gov|sc2s\\.sgov\\.gov|amazonaws-us-gov.com)/.*" + "type": "string" }, "entityValue": { "type": "string", - "max": 256 + "max": 256, + "pattern": ".{0,256}" }, "entityValueList": { "type": "list", @@ -814,7 +1316,8 @@ "eventType": { "type": "string", "max": 100, - "min": 3 + "min": 3, + "pattern": "[^:/]{3,100}" }, "eventTypeCategory": { "type": "string", @@ -838,7 +1341,8 @@ "eventTypeCode": { "type": "string", "max": 100, - "min": 3 + "min": 3, + "pattern": "[a-zA-Z0-9\\_\\-]{3,100}" }, "eventTypeList": { "type": "list", @@ -848,10 +1352,14 @@ "max": 10, "min": 1 }, + "healthServiceAccessStatusForOrganization": { + "type": "string" + }, "locale": { "type": "string", "max": 256, - "min": 2 + "min": 2, + "pattern": ".{2,256}" }, "maxResults": { "type": "integer", @@ -867,10 +1375,14 @@ }, "nextToken": { "type": "string", - "pattern": "[a-zA-Z0-9=/+_.-]{4,512}" + "max": 10000, + "min": 4, + "pattern": "[a-zA-Z0-9=/+_.-]{4,10000}" }, "region": { "type": "string", + "max": 25, + "min": 2, "pattern": "[^:/]{2,25}" }, "regionList": { @@ -884,7 +1396,8 @@ "service": { "type": "string", "max": 30, - "min": 2 + "min": 2, + "pattern": "[^:/]{2,30}" }, "serviceList": { "type": "list", @@ -906,7 +1419,8 @@ }, "tagKey": { "type": "string", - "max": 127 + "max": 127, + "pattern": ".{0,127}" }, "tagSet": { "type": "map", @@ -920,11 +1434,12 @@ }, "tagValue": { "type": "string", - "max": 255 + "max": 255, + "pattern": ".{0,255}" }, "timestamp": { "type": "timestamp" } }, - "documentation": "AWS Health

The AWS Health API provides programmatic access to the AWS Health information that is presented in the AWS Personal Health Dashboard. You can get information about events that affect your AWS resources:

In addition, these operations provide information about event types and summary counts of events or affected entities:

The Health API requires a Business or Enterprise support plan from AWS Support. Calling the Health API from an account that does not have a Business or Enterprise support plan causes a SubscriptionRequiredException.

For authentication of requests, AWS Health uses the Signature Version 4 Signing Process.

See the AWS Health User Guide for information about how to use the API.

Service Endpoint

The HTTP endpoint for the AWS Health API is:

" + "documentation": "AWS Health

The AWS Health API provides programmatic access to the AWS Health information that is presented in the AWS Personal Health Dashboard. You can get information about events that affect your AWS resources:

In addition, these operations provide information about event types and summary counts of events or affected entities:

AWS Health integrates with AWS Organizations to provide a centralized view of AWS Health events across all accounts in your organization.

You can use the following operations to enable or disable AWS Health from working with AWS Organizations.

The Health API requires a Business or Enterprise support plan from AWS Support. Calling the Health API from an account that does not have a Business or Enterprise support plan causes a SubscriptionRequiredException.

For authentication of requests, AWS Health uses the Signature Version 4 Signing Process.

See the AWS Health User Guide for information about how to use the API.

Service Endpoint

The HTTP endpoint for the AWS Health API is:

" } \ No newline at end of file diff --git a/apis/health-2016-08-04.paginators.json b/apis/health-2016-08-04.paginators.json index 3a30b01671..e7e6c2ad88 100644 --- a/apis/health-2016-08-04.paginators.json +++ b/apis/health-2016-08-04.paginators.json @@ -1,11 +1,26 @@ { "pagination": { + "DescribeAffectedAccountsForOrganization": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "affectedAccounts" + }, "DescribeAffectedEntities": { "input_token": "nextToken", "limit_key": "maxResults", "output_token": "nextToken", "result_key": "entities" }, + "DescribeAffectedEntitiesForOrganization": { + "input_token": "nextToken", + "limit_key": "maxResults", + "non_aggregate_keys": [ + "failedSet" + ], + "output_token": "nextToken", + "result_key": "entities" + }, "DescribeEntityAggregates": { "result_key": "entityAggregates" }, @@ -26,6 +41,12 @@ "limit_key": "maxResults", "output_token": "nextToken", "result_key": "events" + }, + "DescribeEventsForOrganization": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "events" } } } \ No newline at end of file diff --git a/clients/detective.d.ts b/clients/detective.d.ts index 4b35c285ba..c31720dcc5 100644 --- a/clients/detective.d.ts +++ b/clients/detective.d.ts @@ -40,11 +40,11 @@ declare class Detective extends Service { */ deleteGraph(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * Amazon Detective is currently in preview. Deletes one or more member accounts from the master account behavior graph. This operation can only be called by a Detective master account. That account cannot use DeleteMembers to delete their own account from the Morocco graph. To disable a behavior graph, the master account uses the DeleteGraph API method. + * Amazon Detective is currently in preview. Deletes one or more member accounts from the master account behavior graph. This operation can only be called by a Detective master account. That account cannot use DeleteMembers to delete their own account from the behavior graph. To disable a behavior graph, the master account uses the DeleteGraph API method. */ deleteMembers(params: Detective.Types.DeleteMembersRequest, callback?: (err: AWSError, data: Detective.Types.DeleteMembersResponse) => void): Request; /** - * Amazon Detective is currently in preview. Deletes one or more member accounts from the master account behavior graph. This operation can only be called by a Detective master account. That account cannot use DeleteMembers to delete their own account from the Morocco graph. To disable a behavior graph, the master account uses the DeleteGraph API method. + * Amazon Detective is currently in preview. Deletes one or more member accounts from the master account behavior graph. This operation can only be called by a Detective master account. That account cannot use DeleteMembers to delete their own account from the behavior graph. To disable a behavior graph, the master account uses the DeleteGraph API method. */ deleteMembers(callback?: (err: AWSError, data: Detective.Types.DeleteMembersResponse) => void): Request; /** diff --git a/clients/fsx.d.ts b/clients/fsx.d.ts index 58f34d3f43..fc9d169a85 100644 --- a/clients/fsx.d.ts +++ b/clients/fsx.d.ts @@ -11,6 +11,14 @@ declare class FSx extends Service { */ constructor(options?: FSx.Types.ClientConfiguration) config: Config & FSx.Types.ClientConfiguration; + /** + * Cancels an existing Amazon FSx for Lustre data repository task if that task is in either the PENDING or EXECUTING state. When you cancel a task, Amazon FSx does the following. Any files that FSx has already exported are not reverted. FSx continues to export any files that are "in-flight" when the cancel operation is received. FSx does not export any files that have not yet been exported. + */ + cancelDataRepositoryTask(params: FSx.Types.CancelDataRepositoryTaskRequest, callback?: (err: AWSError, data: FSx.Types.CancelDataRepositoryTaskResponse) => void): Request; + /** + * Cancels an existing Amazon FSx for Lustre data repository task if that task is in either the PENDING or EXECUTING state. When you cancel a task, Amazon FSx does the following. Any files that FSx has already exported are not reverted. FSx continues to export any files that are "in-flight" when the cancel operation is received. FSx does not export any files that have not yet been exported. + */ + cancelDataRepositoryTask(callback?: (err: AWSError, data: FSx.Types.CancelDataRepositoryTaskResponse) => void): Request; /** * Creates a backup of an existing Amazon FSx for Windows File Server file system. Creating regular backups for your file system is a best practice that complements the replication that Amazon FSx for Windows File Server performs for your file system. It also enables you to restore from user modification of data. If a backup with the specified client request token exists, and the parameters match, this operation returns the description of the existing backup. If a backup specified client request token exists, and the parameters don't match, this operation returns IncompatibleParameterError. If a backup with the specified client request token doesn't exist, CreateBackup does the following: Creates a new Amazon FSx backup with an assigned ID, and an initial lifecycle state of CREATING. Returns the description of the backup. By using the idempotent operation, you can retry a CreateBackup operation without the risk of creating an extra backup. This approach can be useful when an initial call fails in a way that makes it unclear whether a backup was created. If you use the same client request token and the initial call created a backup, the operation returns a successful result because all the parameters are the same. The CreateFileSystem operation returns while the backup's lifecycle state is still CREATING. You can check the file system creation status by calling the DescribeBackups operation, which returns the backup state along with other information. */ @@ -19,6 +27,14 @@ declare class FSx extends Service { * Creates a backup of an existing Amazon FSx for Windows File Server file system. Creating regular backups for your file system is a best practice that complements the replication that Amazon FSx for Windows File Server performs for your file system. It also enables you to restore from user modification of data. If a backup with the specified client request token exists, and the parameters match, this operation returns the description of the existing backup. If a backup specified client request token exists, and the parameters don't match, this operation returns IncompatibleParameterError. If a backup with the specified client request token doesn't exist, CreateBackup does the following: Creates a new Amazon FSx backup with an assigned ID, and an initial lifecycle state of CREATING. Returns the description of the backup. By using the idempotent operation, you can retry a CreateBackup operation without the risk of creating an extra backup. This approach can be useful when an initial call fails in a way that makes it unclear whether a backup was created. If you use the same client request token and the initial call created a backup, the operation returns a successful result because all the parameters are the same. The CreateFileSystem operation returns while the backup's lifecycle state is still CREATING. You can check the file system creation status by calling the DescribeBackups operation, which returns the backup state along with other information. */ createBackup(callback?: (err: AWSError, data: FSx.Types.CreateBackupResponse) => void): Request; + /** + * Creates an Amazon FSx for Lustre data repository task. You use data repository tasks to perform bulk operations between your Amazon FSx file system and its linked data repository. An example of a data repository task is exporting any data and metadata changes, including POSIX metadata, to files, directories, and symbolic links (symlinks) from your FSx file system to its linked data repository. A CreateDataRepositoryTask operation will fail if a data repository is not linked to the FSx file system. To learn more about data repository tasks, see Using Data Repository Tasks. To learn more about linking a data repository to your file system, see Step 1: Create Your Amazon FSx for Lustre File System. + */ + createDataRepositoryTask(params: FSx.Types.CreateDataRepositoryTaskRequest, callback?: (err: AWSError, data: FSx.Types.CreateDataRepositoryTaskResponse) => void): Request; + /** + * Creates an Amazon FSx for Lustre data repository task. You use data repository tasks to perform bulk operations between your Amazon FSx file system and its linked data repository. An example of a data repository task is exporting any data and metadata changes, including POSIX metadata, to files, directories, and symbolic links (symlinks) from your FSx file system to its linked data repository. A CreateDataRepositoryTask operation will fail if a data repository is not linked to the FSx file system. To learn more about data repository tasks, see Using Data Repository Tasks. To learn more about linking a data repository to your file system, see Step 1: Create Your Amazon FSx for Lustre File System. + */ + createDataRepositoryTask(callback?: (err: AWSError, data: FSx.Types.CreateDataRepositoryTaskResponse) => void): Request; /** * Creates a new, empty Amazon FSx file system. If a file system with the specified client request token exists and the parameters match, CreateFileSystem returns the description of the existing file system. If a file system specified client request token exists and the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, CreateFileSystem does the following: Creates a new, empty Amazon FSx file system with an assigned ID, and an initial lifecycle state of CREATING. Returns the description of the file system. This operation requires a client request token in the request that Amazon FSx uses to ensure idempotent creation. This means that calling the operation multiple times with the same client request token has no effect. By using the idempotent operation, you can retry a CreateFileSystem operation without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives success as long as the parameters are the same. The CreateFileSystem call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information. */ @@ -44,11 +60,11 @@ declare class FSx extends Service { */ deleteBackup(callback?: (err: AWSError, data: FSx.Types.DeleteBackupResponse) => void): Request; /** - * Deletes a file system, deleting its contents. After deletion, the file system no longer exists, and its data is gone. Any existing automatic backups will also be deleted. By default, when you delete an Amazon FSx for Windows File Server file system, a final backup is created upon deletion. This final backup is not subject to the file system's retention policy, and must be manually deleted. The DeleteFileSystem action returns while the file system has the DELETING status. You can check the file system deletion status by calling the DescribeFileSystems action, which returns a list of file systems in your account. If you pass the file system ID for a deleted file system, the DescribeFileSystems returns a FileSystemNotFound error. The data in a deleted file system is also deleted and can't be recovered by any means. + * Deletes a file system, deleting its contents. After deletion, the file system no longer exists, and its data is gone. Any existing automatic backups will also be deleted. By default, when you delete an Amazon FSx for Windows File Server file system, a final backup is created upon deletion. This final backup is not subject to the file system's retention policy, and must be manually deleted. The DeleteFileSystem action returns while the file system has the DELETING status. You can check the file system deletion status by calling the DescribeFileSystems action, which returns a list of file systems in your account. If you pass the file system ID for a deleted file system, the DescribeFileSystems returns a FileSystemNotFound error. Deleting an Amazon FSx for Lustre file system will fail with a 400 BadRequest if a data repository task is in a PENDING or EXECUTING state. The data in a deleted file system is also deleted and can't be recovered by any means. */ deleteFileSystem(params: FSx.Types.DeleteFileSystemRequest, callback?: (err: AWSError, data: FSx.Types.DeleteFileSystemResponse) => void): Request; /** - * Deletes a file system, deleting its contents. After deletion, the file system no longer exists, and its data is gone. Any existing automatic backups will also be deleted. By default, when you delete an Amazon FSx for Windows File Server file system, a final backup is created upon deletion. This final backup is not subject to the file system's retention policy, and must be manually deleted. The DeleteFileSystem action returns while the file system has the DELETING status. You can check the file system deletion status by calling the DescribeFileSystems action, which returns a list of file systems in your account. If you pass the file system ID for a deleted file system, the DescribeFileSystems returns a FileSystemNotFound error. The data in a deleted file system is also deleted and can't be recovered by any means. + * Deletes a file system, deleting its contents. After deletion, the file system no longer exists, and its data is gone. Any existing automatic backups will also be deleted. By default, when you delete an Amazon FSx for Windows File Server file system, a final backup is created upon deletion. This final backup is not subject to the file system's retention policy, and must be manually deleted. The DeleteFileSystem action returns while the file system has the DELETING status. You can check the file system deletion status by calling the DescribeFileSystems action, which returns a list of file systems in your account. If you pass the file system ID for a deleted file system, the DescribeFileSystems returns a FileSystemNotFound error. Deleting an Amazon FSx for Lustre file system will fail with a 400 BadRequest if a data repository task is in a PENDING or EXECUTING state. The data in a deleted file system is also deleted and can't be recovered by any means. */ deleteFileSystem(callback?: (err: AWSError, data: FSx.Types.DeleteFileSystemResponse) => void): Request; /** @@ -59,6 +75,14 @@ declare class FSx extends Service { * Returns the description of specific Amazon FSx for Windows File Server backups, if a BackupIds value is provided for that backup. Otherwise, it returns all backups owned by your AWS account in the AWS Region of the endpoint that you're calling. When retrieving all backups, you can optionally specify the MaxResults parameter to limit the number of backups in a response. If more backups remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response. This action is used in an iterative process to retrieve a list of your backups. DescribeBackups is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken. When using this action, keep the following in mind: The implementation might return fewer than MaxResults file system descriptions while still including a NextToken value. The order of backups returned in the response of one DescribeBackups call and the order of backups returned across the responses of a multi-call iteration is unspecified. */ describeBackups(callback?: (err: AWSError, data: FSx.Types.DescribeBackupsResponse) => void): Request; + /** + * Returns the description of specific Amazon FSx for Lustre data repository tasks, if one or more TaskIds values are provided in the request, or if filters are used in the request. You can use filters to narrow the response to include just tasks for specific file systems, or tasks in a specific lifecycle state. Otherwise, it returns all data repository tasks owned by your AWS account in the AWS Region of the endpoint that you're calling. When retrieving all tasks, you can paginate the response by using the optional MaxResults parameter to limit the number of tasks returned in a response. If more tasks remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response. + */ + describeDataRepositoryTasks(params: FSx.Types.DescribeDataRepositoryTasksRequest, callback?: (err: AWSError, data: FSx.Types.DescribeDataRepositoryTasksResponse) => void): Request; + /** + * Returns the description of specific Amazon FSx for Lustre data repository tasks, if one or more TaskIds values are provided in the request, or if filters are used in the request. You can use filters to narrow the response to include just tasks for specific file systems, or tasks in a specific lifecycle state. Otherwise, it returns all data repository tasks owned by your AWS account in the AWS Region of the endpoint that you're calling. When retrieving all tasks, you can paginate the response by using the optional MaxResults parameter to limit the number of tasks returned in a response. If more tasks remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response. + */ + describeDataRepositoryTasks(callback?: (err: AWSError, data: FSx.Types.DescribeDataRepositoryTasksResponse) => void): Request; /** * Returns the description of specific Amazon FSx file systems, if a FileSystemIds value is provided for that file system. Otherwise, it returns descriptions of all file systems owned by your AWS account in the AWS Region of the endpoint that you're calling. When retrieving all file system descriptions, you can optionally specify the MaxResults parameter to limit the number of descriptions in a response. If more file system descriptions remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response. This action is used in an iterative process to retrieve a list of your file system descriptions. DescribeFileSystems is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken. When using this action, keep the following in mind: The implementation might return fewer than MaxResults file system descriptions while still including a NextToken value. The order of file systems returned in the response of one DescribeFileSystems call and the order of file systems returned across the responses of a multicall iteration is unspecified. */ @@ -138,7 +162,7 @@ declare namespace FSx { */ CreationTime: CreationTime; /** - * The ID of the AWS Key Management Service (AWS KMS) key used to encrypt this backup's data. + * The ID of the AWS Key Management Service (AWS KMS) key used to encrypt this backup of the Amazon FSx for Windows file system's data at rest. Amazon FSx for Lustre does not support KMS encryption. */ KmsKeyId?: KmsKeyId; /** @@ -169,7 +193,41 @@ declare namespace FSx { export type BackupLifecycle = "AVAILABLE"|"CREATING"|"DELETED"|"FAILED"|string; export type BackupType = "AUTOMATIC"|"USER_INITIATED"|string; export type Backups = Backup[]; + export interface CancelDataRepositoryTaskRequest { + /** + * Specifies the data repository task to cancel. + */ + TaskId: TaskId; + } + export interface CancelDataRepositoryTaskResponse { + /** + * The lifecycle status of the data repository task, as follows: PENDING - Amazon FSx has not started the task. EXECUTING - Amazon FSx is processing the task. FAILED - Amazon FSx was not able to complete the task. For example, there may be files the task failed to process. The DataRepositoryTaskFailureDetails property provides more information about task failures. SUCCEEDED - FSx completed the task successfully. CANCELED - Amazon FSx canceled the task and it did not complete. CANCELING - FSx is in process of canceling the task. + */ + Lifecycle?: DataRepositoryTaskLifecycle; + /** + * The ID of the task being canceled. + */ + TaskId?: TaskId; + } export type ClientRequestToken = string; + export interface CompletionReport { + /** + * Set Enabled to True to generate a CompletionReport when the task completes. If set to true, then you need to provide a report Scope, Path, and Format. Set Enabled to False if you do not want a CompletionReport generated when the task completes. + */ + Enabled: Flag; + /** + * Required if Enabled is set to true. Specifies the location of the report on the file system's linked S3 data repository. An absolute path that defines where the completion report will be stored in the destination location. The Path you provide must be located within the file system’s ExportPath. An example Path value is "s3://myBucket/myExportPath/optionalPrefix". The report provides the following information for each file in the report: FilePath, FileStatus, and ErrorCode. To learn more about a file system's ExportPath, see . + */ + Path?: ArchivePath; + /** + * Required if Enabled is set to true. Specifies the format of the CompletionReport. REPORT_CSV_20191124 is the only format currently supported. When Format is set to REPORT_CSV_20191124, the CompletionReport is provided in CSV format, and is delivered to {path}/task-{id}/failures.csv. + */ + Format?: ReportFormat; + /** + * Required if Enabled is set to true. Specifies the scope of the CompletionReport; FAILED_FILES_ONLY is the only scope currently supported. When Scope is set to FAILED_FILES_ONLY, the CompletionReport only contains information about files that the data repository task failed to process. + */ + Scope?: ReportScope; + } export interface CreateBackupRequest { /** * The ID of the file system to back up. @@ -190,6 +248,29 @@ declare namespace FSx { */ Backup?: Backup; } + export interface CreateDataRepositoryTaskRequest { + /** + * Specifies the type of data repository task to create. + */ + Type: DataRepositoryTaskType; + /** + * (Optional) The path or paths on the Amazon FSx file system to use when the data repository task is processed. The default path is the file system root directory. + */ + Paths?: DataRepositoryTaskPaths; + FileSystemId: FileSystemId; + /** + * Defines whether or not Amazon FSx provides a CompletionReport once the task has completed. A CompletionReport provides a detailed report on the files that Amazon FSx processed that meet the criteria specified by the Scope parameter. + */ + Report: CompletionReport; + ClientRequestToken?: ClientRequestToken; + Tags?: Tags; + } + export interface CreateDataRepositoryTaskResponse { + /** + * The description of the data repository task that you just created. + */ + DataRepositoryTask?: DataRepositoryTask; + } export interface CreateFileSystemFromBackupRequest { BackupId: BackupId; /** @@ -327,6 +408,85 @@ declare namespace FSx { */ ImportedFileChunkSize?: Megabytes; } + export interface DataRepositoryTask { + /** + * The system-generated, unique 17-digit ID of the data repository task. + */ + TaskId: TaskId; + /** + * The lifecycle status of the data repository task, as follows: PENDING - Amazon FSx has not started the task. EXECUTING - Amazon FSx is processing the task. FAILED - Amazon FSx was not able to complete the task. For example, there may be files the task failed to process. The DataRepositoryTaskFailureDetails property provides more information about task failures. SUCCEEDED - FSx completed the task successfully. CANCELED - Amazon FSx canceled the task and it did not complete. CANCELING - FSx is in process of canceling the task. You cannot delete an FSx for Lustre file system if there are data repository tasks for the file system in the PENDING or EXECUTING states. Please retry when the data repository task is finished (with a status of CANCELED, SUCCEEDED, or FAILED). You can use the DescribeDataRepositoryTask action to monitor the task status. Contact the FSx team if you need to delete your file system immediately. + */ + Lifecycle: DataRepositoryTaskLifecycle; + /** + * The type of data repository task; EXPORT_TO_REPOSITORY is the only type currently supported. + */ + Type: DataRepositoryTaskType; + CreationTime: CreationTime; + /** + * The time that Amazon FSx began processing the task. + */ + StartTime?: StartTime; + /** + * The time that Amazon FSx completed processing the task, populated after the task is complete. + */ + EndTime?: EndTime; + ResourceARN?: ResourceARN; + Tags?: Tags; + FileSystemId: FileSystemId; + /** + * An array of paths on the Amazon FSx for Lustre file system that specify the data for the data repository task to process. For example, in an EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked data repository. (Default) If Paths is not specified, Amazon FSx uses the file system root directory. + */ + Paths?: DataRepositoryTaskPaths; + /** + * Failure message describing why the task failed, it is populated only when Lifecycle is set to FAILED. + */ + FailureDetails?: DataRepositoryTaskFailureDetails; + /** + * Provides the status of the number of files that the task has processed successfully and failed to process. + */ + Status?: DataRepositoryTaskStatus; + Report?: CompletionReport; + } + export interface DataRepositoryTaskFailureDetails { + Message?: ErrorMessage; + } + export interface DataRepositoryTaskFilter { + /** + * Name of the task property to use in filtering the tasks returned in the response. Use file-system-id to retrieve data repository tasks for specific file systems. Use task-lifecycle to retrieve data repository tasks with one or more specific lifecycle states, as follows: CANCELED, EXECUTING, FAILED, PENDING, and SUCCEEDED. + */ + Name?: DataRepositoryTaskFilterName; + /** + * Use Values to include the specific file system IDs and task lifecycle states for the filters you are using. + */ + Values?: DataRepositoryTaskFilterValues; + } + export type DataRepositoryTaskFilterName = "file-system-id"|"task-lifecycle"|string; + export type DataRepositoryTaskFilterValue = string; + export type DataRepositoryTaskFilterValues = DataRepositoryTaskFilterValue[]; + export type DataRepositoryTaskFilters = DataRepositoryTaskFilter[]; + export type DataRepositoryTaskLifecycle = "PENDING"|"EXECUTING"|"FAILED"|"SUCCEEDED"|"CANCELED"|"CANCELING"|string; + export type DataRepositoryTaskPath = string; + export type DataRepositoryTaskPaths = DataRepositoryTaskPath[]; + export interface DataRepositoryTaskStatus { + /** + * The total number of files that the task will process. While a task is executing, the sum of SucceededCount plus FailedCount may not equal TotalCount. When the task is complete, TotalCount equals the sum of SucceededCount plus FailedCount. + */ + TotalCount?: TotalCount; + /** + * A running total of the number of files that the task has successfully processed. + */ + SucceededCount?: SucceededCount; + /** + * A running total of the number of files that the task failed to process. + */ + FailedCount?: FailedCount; + /** + * The time at which the task status was last updated. + */ + LastUpdatedTime?: LastUpdatedTime; + } + export type DataRepositoryTaskType = "EXPORT_TO_REPOSITORY"|string; + export type DataRepositoryTasks = DataRepositoryTask[]; export interface DeleteBackupRequest { /** * The ID of the backup you want to delete. @@ -417,6 +577,25 @@ declare namespace FSx { */ NextToken?: NextToken; } + export interface DescribeDataRepositoryTasksRequest { + /** + * (Optional) IDs of the tasks whose descriptions you want to retrieve (String). + */ + TaskIds?: TaskIds; + /** + * (Optional) You can use filters to narrow the DescribeDataRepositoryTasks response to include just tasks for specific file systems, or tasks in a specific lifecycle state. + */ + Filters?: DataRepositoryTaskFilters; + MaxResults?: MaxResults; + NextToken?: NextToken; + } + export interface DescribeDataRepositoryTasksResponse { + /** + * The collection of data repository task descriptions returned. + */ + DataRepositoryTasks?: DataRepositoryTasks; + NextToken?: NextToken; + } export interface DescribeFileSystemsRequest { /** * (Optional) IDs of the file systems whose descriptions you want to retrieve (String). @@ -445,7 +624,9 @@ declare namespace FSx { export type DirectoryPassword = string; export type DirectoryUserName = string; export type DnsIps = IpAddress[]; + export type EndTime = Date; export type ErrorMessage = string; + export type FailedCount = number; export interface FileSystem { /** * The AWS account that created the file system. If the file system was created by an AWS Identity and Access Management (IAM) user, the AWS account to which the IAM user belongs is the owner. @@ -489,7 +670,7 @@ declare namespace FSx { */ DNSName?: DNSName; /** - * The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for an Amazon FSx for Windows File Server file system. + * The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for an Amazon FSx for Windows File Server file system. Amazon FSx for Lustre does not support KMS encryption. */ KmsKeyId?: KmsKeyId; /** @@ -537,6 +718,7 @@ declare namespace FSx { export type Flag = boolean; export type IpAddress = string; export type KmsKeyId = string; + export type LastUpdatedTime = Date; export interface ListTagsForResourceRequest { /** * The ARN of the Amazon FSx resource that will have its tags listed. @@ -576,6 +758,8 @@ declare namespace FSx { export type NextToken = string; export type OrganizationalUnitDistinguishedName = string; export type ProgressPercent = number; + export type ReportFormat = "REPORT_CSV_20191124"|string; + export type ReportScope = "FAILED_FILES_ONLY"|string; export type ResourceARN = string; export type SecurityGroupId = string; export type SecurityGroupIds = SecurityGroupId[]; @@ -623,7 +807,7 @@ declare namespace FSx { */ Password: DirectoryPassword; /** - * A list of up to two IP addresses of DNS servers or domain controllers in the self-managed AD directory. The IP addresses need to be either in the same VPC CIDR range as the one in which your Amazon FSx file system is being created, or in the private IP version 4 (Iv4) address ranges, as specified in RFC 1918: 10.0.0.0 - 10.255.255.255 (10/8 prefix) 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) 192.168.0.0 - 192.168.255.255 (192.168/16 prefix) + * A list of up to two IP addresses of DNS servers or domain controllers in the self-managed AD directory. The IP addresses need to be either in the same VPC CIDR range as the one in which your Amazon FSx file system is being created, or in the private IP version 4 (IPv4) address ranges, as specified in RFC 1918: 10.0.0.0 - 10.255.255.255 (10/8 prefix) 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) 192.168.0.0 - 192.168.255.255 (192.168/16 prefix) */ DnsIps: DnsIps; } @@ -641,9 +825,11 @@ declare namespace FSx { */ DnsIps?: DnsIps; } + export type StartTime = Date; export type StorageCapacity = number; export type SubnetId = string; export type SubnetIds = SubnetId[]; + export type SucceededCount = number; export interface Tag { /** * A value that specifies the TagKey, the name of the tag. Tag keys must be unique for the resource to which they are attached. @@ -670,6 +856,9 @@ declare namespace FSx { } export type TagValue = string; export type Tags = Tag[]; + export type TaskId = string; + export type TaskIds = TaskId[]; + export type TotalCount = number; export interface UntagResourceRequest { /** * The ARN of the Amazon FSx resource to untag. diff --git a/clients/health.d.ts b/clients/health.d.ts index 6b1ef843b8..cbeae4135b 100644 --- a/clients/health.d.ts +++ b/clients/health.d.ts @@ -11,6 +11,14 @@ declare class Health extends Service { */ constructor(options?: Health.Types.ClientConfiguration) config: Config & Health.Types.ClientConfiguration; + /** + * Returns a list of accounts in the organization from AWS Organizations that are affected by the provided event. Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account. + */ + describeAffectedAccountsForOrganization(params: Health.Types.DescribeAffectedAccountsForOrganizationRequest, callback?: (err: AWSError, data: Health.Types.DescribeAffectedAccountsForOrganizationResponse) => void): Request; + /** + * Returns a list of accounts in the organization from AWS Organizations that are affected by the provided event. Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account. + */ + describeAffectedAccountsForOrganization(callback?: (err: AWSError, data: Health.Types.DescribeAffectedAccountsForOrganizationResponse) => void): Request; /** * Returns a list of entities that have been affected by the specified events, based on the specified filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the AWS service. Events that have impact beyond that of the affected entities, or where the extent of impact is unknown, include at least one entity indicating this. At least one event ARN is required. Results are sorted by the lastUpdatedTime of the entity, starting with the most recent. */ @@ -19,6 +27,14 @@ declare class Health extends Service { * Returns a list of entities that have been affected by the specified events, based on the specified filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the AWS service. Events that have impact beyond that of the affected entities, or where the extent of impact is unknown, include at least one entity indicating this. At least one event ARN is required. Results are sorted by the lastUpdatedTime of the entity, starting with the most recent. */ describeAffectedEntities(callback?: (err: AWSError, data: Health.Types.DescribeAffectedEntitiesResponse) => void): Request; + /** + * Returns a list of entities that have been affected by one or more events for one or more accounts in your organization in AWS Organizations, based on the filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the AWS service. At least one event ARN and account ID are required. Results are sorted by the lastUpdatedTime of the entity, starting with the most recent. Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account. + */ + describeAffectedEntitiesForOrganization(params: Health.Types.DescribeAffectedEntitiesForOrganizationRequest, callback?: (err: AWSError, data: Health.Types.DescribeAffectedEntitiesForOrganizationResponse) => void): Request; + /** + * Returns a list of entities that have been affected by one or more events for one or more accounts in your organization in AWS Organizations, based on the filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the AWS service. At least one event ARN and account ID are required. Results are sorted by the lastUpdatedTime of the entity, starting with the most recent. Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account. + */ + describeAffectedEntitiesForOrganization(callback?: (err: AWSError, data: Health.Types.DescribeAffectedEntitiesForOrganizationResponse) => void): Request; /** * Returns the number of entities that are affected by each of the specified events. If no events are specified, the counts of all affected entities are returned. */ @@ -36,13 +52,21 @@ declare class Health extends Service { */ describeEventAggregates(callback?: (err: AWSError, data: Health.Types.DescribeEventAggregatesResponse) => void): Request; /** - * Returns detailed information about one or more specified events. Information includes standard event data (region, service, etc., as returned by DescribeEvents), a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntities operation. If a specified event cannot be retrieved, an error message is returned for that event. + * Returns detailed information about one or more specified events. Information includes standard event data (region, service, and so on, as returned by DescribeEvents), a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntities operation. If a specified event cannot be retrieved, an error message is returned for that event. */ describeEventDetails(params: Health.Types.DescribeEventDetailsRequest, callback?: (err: AWSError, data: Health.Types.DescribeEventDetailsResponse) => void): Request; /** - * Returns detailed information about one or more specified events. Information includes standard event data (region, service, etc., as returned by DescribeEvents), a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntities operation. If a specified event cannot be retrieved, an error message is returned for that event. + * Returns detailed information about one or more specified events. Information includes standard event data (region, service, and so on, as returned by DescribeEvents), a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntities operation. If a specified event cannot be retrieved, an error message is returned for that event. */ describeEventDetails(callback?: (err: AWSError, data: Health.Types.DescribeEventDetailsResponse) => void): Request; + /** + * Returns detailed information about one or more specified events for one or more accounts in your organization. Information includes standard event data (Region, service, and so on, as returned by DescribeEventsForOrganization, a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntitiesForOrganization operation. Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account. + */ + describeEventDetailsForOrganization(params: Health.Types.DescribeEventDetailsForOrganizationRequest, callback?: (err: AWSError, data: Health.Types.DescribeEventDetailsForOrganizationResponse) => void): Request; + /** + * Returns detailed information about one or more specified events for one or more accounts in your organization. Information includes standard event data (Region, service, and so on, as returned by DescribeEventsForOrganization, a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntitiesForOrganization operation. Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account. + */ + describeEventDetailsForOrganization(callback?: (err: AWSError, data: Health.Types.DescribeEventDetailsForOrganizationResponse) => void): Request; /** * Returns the event types that meet the specified filter criteria. If no filter criteria are specified, all event types are returned, in no particular order. */ @@ -59,6 +83,26 @@ declare class Health extends Service { * Returns information about events that meet the specified filter criteria. Events are returned in a summary form and do not include the detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the DescribeEventDetails and DescribeAffectedEntities operations. If no filter criteria are specified, all events are returned. Results are sorted by lastModifiedTime, starting with the most recent. */ describeEvents(callback?: (err: AWSError, data: Health.Types.DescribeEventsResponse) => void): Request; + /** + * Returns information about events across your organization in AWS Organizations, meeting the specified filter criteria. Events are returned in a summary form and do not include the accounts impacted, detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the DescribeAffectedAccountsForOrganization, DescribeEventDetailsForOrganization, and DescribeAffectedEntitiesForOrganization operations. If no filter criteria are specified, all events across your organization are returned. Results are sorted by lastModifiedTime, starting with the most recent. Before you can call this operation, you must first enable Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account. + */ + describeEventsForOrganization(params: Health.Types.DescribeEventsForOrganizationRequest, callback?: (err: AWSError, data: Health.Types.DescribeEventsForOrganizationResponse) => void): Request; + /** + * Returns information about events across your organization in AWS Organizations, meeting the specified filter criteria. Events are returned in a summary form and do not include the accounts impacted, detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the DescribeAffectedAccountsForOrganization, DescribeEventDetailsForOrganization, and DescribeAffectedEntitiesForOrganization operations. If no filter criteria are specified, all events across your organization are returned. Results are sorted by lastModifiedTime, starting with the most recent. Before you can call this operation, you must first enable Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account. + */ + describeEventsForOrganization(callback?: (err: AWSError, data: Health.Types.DescribeEventsForOrganizationResponse) => void): Request; + /** + * This operation provides status information on enabling or disabling AWS Health to work with your organization. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account. + */ + describeHealthServiceStatusForOrganization(callback?: (err: AWSError, data: Health.Types.DescribeHealthServiceStatusForOrganizationResponse) => void): Request; + /** + * Calling this operation disables Health from working with AWS Organizations. This does not remove the Service Linked Role (SLR) from the the master account in your organization. Use the IAM console, API, or AWS CLI to remove the SLR if desired. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account. + */ + disableHealthServiceAccessForOrganization(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; + /** + * Calling this operation enables AWS Health to work with AWS Organizations. This applies a Service Linked Role (SLR) to the master account in the organization. To learn more about the steps in this process, visit enabling service access for AWS Health in AWS Organizations. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account. + */ + enableHealthServiceAccessForOrganization(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; } declare namespace Health { export interface AffectedEntity { @@ -74,6 +118,9 @@ declare namespace Health { * The ID of the affected entity. */ entityValue?: entityValue; + /** + * The URL of the affected entity. + */ entityUrl?: entityUrl; /** * The 12-digit AWS account number that contains the affected entity. @@ -102,9 +149,66 @@ declare namespace Health { */ to?: timestamp; } + export interface DescribeAffectedAccountsForOrganizationRequest { + /** + * The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 + */ + eventArn: eventArn; + /** + * If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. + */ + nextToken?: nextToken; + /** + * The maximum number of items to return in one batch, between 10 and 100, inclusive. + */ + maxResults?: maxResults; + } + export interface DescribeAffectedAccountsForOrganizationResponse { + /** + * A JSON set of elements of the affected accounts. + */ + affectedAccounts?: affectedAccountsList; + /** + * If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. + */ + nextToken?: nextToken; + } + export type DescribeAffectedEntitiesForOrganizationFailedSet = OrganizationAffectedEntitiesErrorItem[]; + export interface DescribeAffectedEntitiesForOrganizationRequest { + /** + * A JSON set of elements including the awsAccountId and the eventArn. + */ + organizationEntityFilters: OrganizationEntityFiltersList; + /** + * The locale (language) to return information in. English (en) is the default and the only supported value at this time. + */ + locale?: locale; + /** + * If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. + */ + nextToken?: nextToken; + /** + * The maximum number of items to return in one batch, between 10 and 100, inclusive. + */ + maxResults?: maxResults; + } + export interface DescribeAffectedEntitiesForOrganizationResponse { + /** + * A JSON set of elements including the awsAccountId and its entityArn, entityValue and its entityArn, lastUpdatedTime, statusCode, and tags. + */ + entities?: EntityList; + /** + * A JSON set of elements of the failed response, including the awsAccountId, errorMessage, errorName, and eventArn. + */ + failedSet?: DescribeAffectedEntitiesForOrganizationFailedSet; + /** + * If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. + */ + nextToken?: nextToken; + } export interface DescribeAffectedEntitiesRequest { /** - * Values to narrow the results returned. At least one event ARN is required. + * Values to narrow the results returned. At least one event ARN is required. */ filter: EntityFilter; /** @@ -171,6 +275,28 @@ declare namespace Health { nextToken?: nextToken; } export type DescribeEventDetailsFailedSet = EventDetailsErrorItem[]; + export type DescribeEventDetailsForOrganizationFailedSet = OrganizationEventDetailsErrorItem[]; + export interface DescribeEventDetailsForOrganizationRequest { + /** + * A set of JSON elements that includes the awsAccountId and the eventArn. + */ + organizationEventDetailFilters: OrganizationEventDetailFiltersList; + /** + * The locale (language) to return information in. English (en) is the default and the only supported value at this time. + */ + locale?: locale; + } + export interface DescribeEventDetailsForOrganizationResponse { + /** + * Information about the events that could be retrieved. + */ + successfulSet?: DescribeEventDetailsForOrganizationSuccessfulSet; + /** + * Error messages for any events that could not be retrieved. + */ + failedSet?: DescribeEventDetailsForOrganizationFailedSet; + } + export type DescribeEventDetailsForOrganizationSuccessfulSet = OrganizationEventDetails[]; export interface DescribeEventDetailsRequest { /** * A list of event ARNs (unique identifiers). For example: "arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456", "arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101" @@ -220,6 +346,34 @@ declare namespace Health { */ nextToken?: nextToken; } + export interface DescribeEventsForOrganizationRequest { + /** + * Values to narrow the results returned. + */ + filter?: OrganizationEventFilter; + /** + * If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. + */ + nextToken?: nextToken; + /** + * The maximum number of items to return in one batch, between 10 and 100, inclusive. + */ + maxResults?: maxResults; + /** + * The locale (language) to return information in. English (en) is the default and the only supported value at this time. + */ + locale?: locale; + } + export interface DescribeEventsForOrganizationResponse { + /** + * The events that match the specified filter criteria. + */ + events?: OrganizationEventList; + /** + * If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. + */ + nextToken?: nextToken; + } export interface DescribeEventsRequest { /** * Values to narrow the results returned. @@ -248,6 +402,12 @@ declare namespace Health { */ nextToken?: nextToken; } + export interface DescribeHealthServiceStatusForOrganizationResponse { + /** + * Information about the status of enabling or disabling AWS Health Organizational View in your organization. Valid values are ENABLED | DISABLED | PENDING. + */ + healthServiceAccessStatusForOrganization?: healthServiceAccessStatusForOrganization; + } export interface EntityAggregate { /** * The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 @@ -328,6 +488,16 @@ declare namespace Health { */ statusCode?: eventStatusCode; } + export interface EventAccountFilter { + /** + * The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 + */ + eventArn: eventArn; + /** + * The 12-digit AWS account numbers that contains the affected entities. + */ + awsAccountId: accountId; + } export interface EventAggregate { /** * The issue type for the associated count. @@ -380,7 +550,7 @@ declare namespace Health { */ eventArns?: eventArnList; /** - * A list of unique identifiers for event types. For example, "AWS_EC2_SYSTEM_MAINTENANCE_EVENT","AWS_RDS_MAINTENANCE_SCHEDULED" + * A list of unique identifiers for event types. For example, "AWS_EC2_SYSTEM_MAINTENANCE_EVENT","AWS_RDS_MAINTENANCE_SCHEDULED". */ eventTypeCodes?: eventTypeList; /** @@ -460,10 +630,138 @@ declare namespace Health { eventTypeCategories?: EventTypeCategoryList; } export type EventTypeList = EventType[]; + export interface OrganizationAffectedEntitiesErrorItem { + /** + * The 12-digit AWS account numbers that contains the affected entities. + */ + awsAccountId?: accountId; + /** + * The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 + */ + eventArn?: eventArn; + /** + * The name of the error. + */ + errorName?: string; + /** + * The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION. For example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT. + */ + errorMessage?: string; + } + export type OrganizationEntityFiltersList = EventAccountFilter[]; + export interface OrganizationEvent { + /** + * The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 + */ + arn?: eventArn; + /** + * The AWS service that is affected by the event. For example, EC2, RDS. + */ + service?: service; + /** + * The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION. For example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT. + */ + eventTypeCode?: eventTypeCode; + /** + * The category of the event type. + */ + eventTypeCategory?: eventTypeCategory; + /** + * The AWS Region name of the event. + */ + region?: region; + /** + * The date and time that the event began. + */ + startTime?: timestamp; + /** + * The date and time that the event ended. + */ + endTime?: timestamp; + /** + * The most recent date and time that the event was updated. + */ + lastUpdatedTime?: timestamp; + /** + * The most recent status of the event. Possible values are open, closed, and upcoming. + */ + statusCode?: eventStatusCode; + } + export type OrganizationEventDetailFiltersList = EventAccountFilter[]; + export interface OrganizationEventDetails { + /** + * The 12-digit AWS account numbers that contains the affected entities. + */ + awsAccountId?: accountId; + event?: Event; + eventDescription?: EventDescription; + /** + * Additional metadata about the event. + */ + eventMetadata?: eventMetadata; + } + export interface OrganizationEventDetailsErrorItem { + /** + * Error information returned when a DescribeEventDetailsForOrganization operation cannot find a specified event. + */ + awsAccountId?: accountId; + /** + * The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 + */ + eventArn?: eventArn; + /** + * The name of the error. + */ + errorName?: string; + /** + * A message that describes the error. + */ + errorMessage?: string; + } + export interface OrganizationEventFilter { + /** + * A list of unique identifiers for event types. For example, "AWS_EC2_SYSTEM_MAINTENANCE_EVENT","AWS_RDS_MAINTENANCE_SCHEDULED". + */ + eventTypeCodes?: eventTypeList; + /** + * A list of 12-digit AWS account numbers that contains the affected entities. + */ + awsAccountIds?: awsAccountIdsList; + /** + * The AWS services associated with the event. For example, EC2, RDS. + */ + services?: serviceList; + /** + * A list of AWS Regions. + */ + regions?: regionList; + startTime?: DateTimeRange; + endTime?: DateTimeRange; + lastUpdatedTime?: DateTimeRange; + /** + * REPLACEME + */ + entityArns?: entityArnList; + /** + * A list of entity identifiers, such as EC2 instance IDs (i-34ab692e) or EBS volumes (vol-426ab23e). + */ + entityValues?: entityValueList; + /** + * REPLACEME + */ + eventTypeCategories?: eventTypeCategoryList; + /** + * A list of event status codes. + */ + eventStatusCodes?: eventStatusCodeList; + } + export type OrganizationEventList = OrganizationEvent[]; export type accountId = string; + export type affectedAccountsList = accountId[]; export type aggregateValue = string; export type availabilityZone = string; export type availabilityZones = availabilityZone[]; + export type awsAccountIdsList = accountId[]; export type count = number; export type dateTimeRangeList = DateTimeRange[]; export type entityArn = string; @@ -485,6 +783,7 @@ declare namespace Health { export type eventTypeCategoryList = eventTypeCategory[]; export type eventTypeCode = string; export type eventTypeList = eventType[]; + export type healthServiceAccessStatusForOrganization = string; export type locale = string; export type maxResults = number; export type metadataKey = string; diff --git a/dist/aws-sdk-core-react-native.js b/dist/aws-sdk-core-react-native.js index 1199d66ad1..5acfcccd8f 100644 --- a/dist/aws-sdk-core-react-native.js +++ b/dist/aws-sdk-core-react-native.js @@ -83,7 +83,7 @@ return /******/ (function(modules) { // webpackBootstrap /** * @constant */ - VERSION: '2.595.0', + VERSION: '2.596.0', /** * @api private diff --git a/dist/aws-sdk-react-native.js b/dist/aws-sdk-react-native.js index 1802c2f302..f8cdf42e51 100644 --- a/dist/aws-sdk-react-native.js +++ b/dist/aws-sdk-react-native.js @@ -395,7 +395,7 @@ return /******/ (function(modules) { // webpackBootstrap /** * @constant */ - VERSION: '2.595.0', + VERSION: '2.596.0', /** * @api private @@ -34882,13 +34882,13 @@ return /******/ (function(modules) { // webpackBootstrap /* 242 */ /***/ (function(module, exports) { - module.exports = {"version":"2.0","metadata":{"apiVersion":"2016-08-04","endpointPrefix":"health","jsonVersion":"1.1","protocol":"json","serviceAbbreviation":"AWSHealth","serviceFullName":"AWS Health APIs and Notifications","serviceId":"Health","signatureVersion":"v4","targetPrefix":"AWSHealth_20160804","uid":"health-2016-08-04"},"operations":{"DescribeAffectedEntities":{"input":{"type":"structure","required":["filter"],"members":{"filter":{"type":"structure","required":["eventArns"],"members":{"eventArns":{"shape":"S3"},"entityArns":{"shape":"S5"},"entityValues":{"shape":"S7"},"lastUpdatedTimes":{"shape":"S9"},"tags":{"shape":"Sc"},"statusCodes":{"type":"list","member":{}}}},"locale":{},"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"entities":{"type":"list","member":{"type":"structure","members":{"entityArn":{},"eventArn":{},"entityValue":{},"entityUrl":{},"awsAccountId":{},"lastUpdatedTime":{"type":"timestamp"},"statusCode":{},"tags":{"shape":"Sd"}}}},"nextToken":{}}},"idempotent":true},"DescribeEntityAggregates":{"input":{"type":"structure","members":{"eventArns":{"type":"list","member":{}}}},"output":{"type":"structure","members":{"entityAggregates":{"type":"list","member":{"type":"structure","members":{"eventArn":{},"count":{"type":"integer"}}}}}},"idempotent":true},"DescribeEventAggregates":{"input":{"type":"structure","required":["aggregateField"],"members":{"filter":{"shape":"Sx"},"aggregateField":{},"maxResults":{"type":"integer"},"nextToken":{}}},"output":{"type":"structure","members":{"eventAggregates":{"type":"list","member":{"type":"structure","members":{"aggregateValue":{},"count":{"type":"integer"}}}},"nextToken":{}}},"idempotent":true},"DescribeEventDetails":{"input":{"type":"structure","required":["eventArns"],"members":{"eventArns":{"shape":"S3"},"locale":{}}},"output":{"type":"structure","members":{"successfulSet":{"type":"list","member":{"type":"structure","members":{"event":{"shape":"S1j"},"eventDescription":{"type":"structure","members":{"latestDescription":{}}},"eventMetadata":{"type":"map","key":{},"value":{}}}}},"failedSet":{"type":"list","member":{"type":"structure","members":{"eventArn":{},"errorName":{},"errorMessage":{}}}}}},"idempotent":true},"DescribeEventTypes":{"input":{"type":"structure","members":{"filter":{"type":"structure","members":{"eventTypeCodes":{"type":"list","member":{}},"services":{"shape":"S10"},"eventTypeCategories":{"type":"list","member":{}}}},"locale":{},"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"eventTypes":{"type":"list","member":{"type":"structure","members":{"service":{},"code":{},"category":{}}}},"nextToken":{}}},"idempotent":true},"DescribeEvents":{"input":{"type":"structure","members":{"filter":{"shape":"Sx"},"nextToken":{},"maxResults":{"type":"integer"},"locale":{}}},"output":{"type":"structure","members":{"events":{"type":"list","member":{"shape":"S1j"}},"nextToken":{}}},"idempotent":true}},"shapes":{"S3":{"type":"list","member":{}},"S5":{"type":"list","member":{}},"S7":{"type":"list","member":{}},"S9":{"type":"list","member":{"type":"structure","members":{"from":{"type":"timestamp"},"to":{"type":"timestamp"}}}},"Sc":{"type":"list","member":{"shape":"Sd"}},"Sd":{"type":"map","key":{},"value":{}},"Sx":{"type":"structure","members":{"eventArns":{"shape":"S3"},"eventTypeCodes":{"type":"list","member":{}},"services":{"shape":"S10"},"regions":{"type":"list","member":{}},"availabilityZones":{"type":"list","member":{}},"startTimes":{"shape":"S9"},"endTimes":{"shape":"S9"},"lastUpdatedTimes":{"shape":"S9"},"entityArns":{"shape":"S5"},"entityValues":{"shape":"S7"},"eventTypeCategories":{"type":"list","member":{}},"tags":{"shape":"Sc"},"eventStatusCodes":{"type":"list","member":{}}}},"S10":{"type":"list","member":{}},"S1j":{"type":"structure","members":{"arn":{},"service":{},"eventTypeCode":{},"eventTypeCategory":{},"region":{},"availabilityZone":{},"startTime":{"type":"timestamp"},"endTime":{"type":"timestamp"},"lastUpdatedTime":{"type":"timestamp"},"statusCode":{}}}}} + module.exports = {"version":"2.0","metadata":{"apiVersion":"2016-08-04","endpointPrefix":"health","jsonVersion":"1.1","protocol":"json","serviceAbbreviation":"AWSHealth","serviceFullName":"AWS Health APIs and Notifications","serviceId":"Health","signatureVersion":"v4","targetPrefix":"AWSHealth_20160804","uid":"health-2016-08-04"},"operations":{"DescribeAffectedAccountsForOrganization":{"input":{"type":"structure","required":["eventArn"],"members":{"eventArn":{},"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"affectedAccounts":{"type":"list","member":{}},"nextToken":{}}},"idempotent":true},"DescribeAffectedEntities":{"input":{"type":"structure","required":["filter"],"members":{"filter":{"type":"structure","required":["eventArns"],"members":{"eventArns":{"shape":"Sa"},"entityArns":{"shape":"Sb"},"entityValues":{"shape":"Sd"},"lastUpdatedTimes":{"shape":"Sf"},"tags":{"shape":"Si"},"statusCodes":{"type":"list","member":{}}}},"locale":{},"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"entities":{"shape":"Sq"},"nextToken":{}}},"idempotent":true},"DescribeAffectedEntitiesForOrganization":{"input":{"type":"structure","required":["organizationEntityFilters"],"members":{"organizationEntityFilters":{"type":"list","member":{"shape":"Sv"}},"locale":{},"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"entities":{"shape":"Sq"},"failedSet":{"type":"list","member":{"type":"structure","members":{"awsAccountId":{},"eventArn":{},"errorName":{},"errorMessage":{}}}},"nextToken":{}}},"idempotent":true},"DescribeEntityAggregates":{"input":{"type":"structure","members":{"eventArns":{"type":"list","member":{}}}},"output":{"type":"structure","members":{"entityAggregates":{"type":"list","member":{"type":"structure","members":{"eventArn":{},"count":{"type":"integer"}}}}}},"idempotent":true},"DescribeEventAggregates":{"input":{"type":"structure","required":["aggregateField"],"members":{"filter":{"shape":"S17"},"aggregateField":{},"maxResults":{"type":"integer"},"nextToken":{}}},"output":{"type":"structure","members":{"eventAggregates":{"type":"list","member":{"type":"structure","members":{"aggregateValue":{},"count":{"type":"integer"}}}},"nextToken":{}}},"idempotent":true},"DescribeEventDetails":{"input":{"type":"structure","required":["eventArns"],"members":{"eventArns":{"shape":"Sa"},"locale":{}}},"output":{"type":"structure","members":{"successfulSet":{"type":"list","member":{"type":"structure","members":{"event":{"shape":"S1t"},"eventDescription":{"shape":"S1v"},"eventMetadata":{"shape":"S1x"}}}},"failedSet":{"type":"list","member":{"type":"structure","members":{"eventArn":{},"errorName":{},"errorMessage":{}}}}}},"idempotent":true},"DescribeEventDetailsForOrganization":{"input":{"type":"structure","required":["organizationEventDetailFilters"],"members":{"organizationEventDetailFilters":{"type":"list","member":{"shape":"Sv"}},"locale":{}}},"output":{"type":"structure","members":{"successfulSet":{"type":"list","member":{"type":"structure","members":{"awsAccountId":{},"event":{"shape":"S1t"},"eventDescription":{"shape":"S1v"},"eventMetadata":{"shape":"S1x"}}}},"failedSet":{"type":"list","member":{"type":"structure","members":{"awsAccountId":{},"eventArn":{},"errorName":{},"errorMessage":{}}}}}},"idempotent":true},"DescribeEventTypes":{"input":{"type":"structure","members":{"filter":{"type":"structure","members":{"eventTypeCodes":{"type":"list","member":{}},"services":{"shape":"S1a"},"eventTypeCategories":{"type":"list","member":{}}}},"locale":{},"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"eventTypes":{"type":"list","member":{"type":"structure","members":{"service":{},"code":{},"category":{}}}},"nextToken":{}}},"idempotent":true},"DescribeEvents":{"input":{"type":"structure","members":{"filter":{"shape":"S17"},"nextToken":{},"maxResults":{"type":"integer"},"locale":{}}},"output":{"type":"structure","members":{"events":{"type":"list","member":{"shape":"S1t"}},"nextToken":{}}},"idempotent":true},"DescribeEventsForOrganization":{"input":{"type":"structure","members":{"filter":{"type":"structure","members":{"eventTypeCodes":{"shape":"S18"},"awsAccountIds":{"type":"list","member":{}},"services":{"shape":"S1a"},"regions":{"shape":"S1c"},"startTime":{"shape":"Sg"},"endTime":{"shape":"Sg"},"lastUpdatedTime":{"shape":"Sg"},"entityArns":{"shape":"Sb"},"entityValues":{"shape":"Sd"},"eventTypeCategories":{"shape":"S1g"},"eventStatusCodes":{"shape":"S1i"}}},"nextToken":{},"maxResults":{"type":"integer"},"locale":{}}},"output":{"type":"structure","members":{"events":{"type":"list","member":{"type":"structure","members":{"arn":{},"service":{},"eventTypeCode":{},"eventTypeCategory":{},"region":{},"startTime":{"type":"timestamp"},"endTime":{"type":"timestamp"},"lastUpdatedTime":{"type":"timestamp"},"statusCode":{}}}},"nextToken":{}}},"idempotent":true},"DescribeHealthServiceStatusForOrganization":{"output":{"type":"structure","members":{"healthServiceAccessStatusForOrganization":{}}},"idempotent":true},"DisableHealthServiceAccessForOrganization":{"idempotent":true},"EnableHealthServiceAccessForOrganization":{"idempotent":true}},"shapes":{"Sa":{"type":"list","member":{}},"Sb":{"type":"list","member":{}},"Sd":{"type":"list","member":{}},"Sf":{"type":"list","member":{"shape":"Sg"}},"Sg":{"type":"structure","members":{"from":{"type":"timestamp"},"to":{"type":"timestamp"}}},"Si":{"type":"list","member":{"shape":"Sj"}},"Sj":{"type":"map","key":{},"value":{}},"Sq":{"type":"list","member":{"type":"structure","members":{"entityArn":{},"eventArn":{},"entityValue":{},"entityUrl":{},"awsAccountId":{},"lastUpdatedTime":{"type":"timestamp"},"statusCode":{},"tags":{"shape":"Sj"}}}},"Sv":{"type":"structure","required":["eventArn","awsAccountId"],"members":{"eventArn":{},"awsAccountId":{}}},"S17":{"type":"structure","members":{"eventArns":{"shape":"Sa"},"eventTypeCodes":{"shape":"S18"},"services":{"shape":"S1a"},"regions":{"shape":"S1c"},"availabilityZones":{"type":"list","member":{}},"startTimes":{"shape":"Sf"},"endTimes":{"shape":"Sf"},"lastUpdatedTimes":{"shape":"Sf"},"entityArns":{"shape":"Sb"},"entityValues":{"shape":"Sd"},"eventTypeCategories":{"shape":"S1g"},"tags":{"shape":"Si"},"eventStatusCodes":{"shape":"S1i"}}},"S18":{"type":"list","member":{}},"S1a":{"type":"list","member":{}},"S1c":{"type":"list","member":{}},"S1g":{"type":"list","member":{}},"S1i":{"type":"list","member":{}},"S1t":{"type":"structure","members":{"arn":{},"service":{},"eventTypeCode":{},"eventTypeCategory":{},"region":{},"availabilityZone":{},"startTime":{"type":"timestamp"},"endTime":{"type":"timestamp"},"lastUpdatedTime":{"type":"timestamp"},"statusCode":{}}},"S1v":{"type":"structure","members":{"latestDescription":{}}},"S1x":{"type":"map","key":{},"value":{}}}} /***/ }), /* 243 */ /***/ (function(module, exports) { - module.exports = {"pagination":{"DescribeAffectedEntities":{"input_token":"nextToken","limit_key":"maxResults","output_token":"nextToken","result_key":"entities"},"DescribeEntityAggregates":{"result_key":"entityAggregates"},"DescribeEventAggregates":{"input_token":"nextToken","limit_key":"maxResults","output_token":"nextToken","result_key":"eventAggregates"},"DescribeEventTypes":{"input_token":"nextToken","limit_key":"maxResults","output_token":"nextToken","result_key":"eventTypes"},"DescribeEvents":{"input_token":"nextToken","limit_key":"maxResults","output_token":"nextToken","result_key":"events"}}} + module.exports = {"pagination":{"DescribeAffectedAccountsForOrganization":{"input_token":"nextToken","limit_key":"maxResults","output_token":"nextToken","result_key":"affectedAccounts"},"DescribeAffectedEntities":{"input_token":"nextToken","limit_key":"maxResults","output_token":"nextToken","result_key":"entities"},"DescribeAffectedEntitiesForOrganization":{"input_token":"nextToken","limit_key":"maxResults","non_aggregate_keys":["failedSet"],"output_token":"nextToken","result_key":"entities"},"DescribeEntityAggregates":{"result_key":"entityAggregates"},"DescribeEventAggregates":{"input_token":"nextToken","limit_key":"maxResults","output_token":"nextToken","result_key":"eventAggregates"},"DescribeEventTypes":{"input_token":"nextToken","limit_key":"maxResults","output_token":"nextToken","result_key":"eventTypes"},"DescribeEvents":{"input_token":"nextToken","limit_key":"maxResults","output_token":"nextToken","result_key":"events"},"DescribeEventsForOrganization":{"input_token":"nextToken","limit_key":"maxResults","output_token":"nextToken","result_key":"events"}}} /***/ }), /* 244 */ @@ -49814,13 +49814,13 @@ return /******/ (function(modules) { // webpackBootstrap /* 681 */ /***/ (function(module, exports) { - module.exports = {"version":"2.0","metadata":{"apiVersion":"2018-03-01","endpointPrefix":"fsx","jsonVersion":"1.1","protocol":"json","serviceFullName":"Amazon FSx","serviceId":"FSx","signatureVersion":"v4","targetPrefix":"AWSSimbaAPIService_v20180301","uid":"fsx-2018-03-01"},"operations":{"CreateBackup":{"input":{"type":"structure","required":["FileSystemId"],"members":{"FileSystemId":{},"ClientRequestToken":{"idempotencyToken":true},"Tags":{"shape":"S4"}}},"output":{"type":"structure","members":{"Backup":{"shape":"S9"}}},"idempotent":true},"CreateFileSystem":{"input":{"type":"structure","required":["FileSystemType","StorageCapacity","SubnetIds"],"members":{"ClientRequestToken":{"idempotencyToken":true},"FileSystemType":{},"StorageCapacity":{"type":"integer"},"SubnetIds":{"shape":"Sq"},"SecurityGroupIds":{"shape":"S1i"},"Tags":{"shape":"S4"},"KmsKeyId":{},"WindowsConfiguration":{"shape":"S1k"},"LustreConfiguration":{"type":"structure","members":{"WeeklyMaintenanceStartTime":{},"ImportPath":{},"ExportPath":{},"ImportedFileChunkSize":{"type":"integer"}}}}},"output":{"type":"structure","members":{"FileSystem":{"shape":"Sj"}}}},"CreateFileSystemFromBackup":{"input":{"type":"structure","required":["BackupId","SubnetIds"],"members":{"BackupId":{},"ClientRequestToken":{"idempotencyToken":true},"SubnetIds":{"shape":"Sq"},"SecurityGroupIds":{"shape":"S1i"},"Tags":{"shape":"S4"},"WindowsConfiguration":{"shape":"S1k"}}},"output":{"type":"structure","members":{"FileSystem":{"shape":"Sj"}}}},"DeleteBackup":{"input":{"type":"structure","required":["BackupId"],"members":{"BackupId":{},"ClientRequestToken":{"idempotencyToken":true}}},"output":{"type":"structure","members":{"BackupId":{},"Lifecycle":{}}},"idempotent":true},"DeleteFileSystem":{"input":{"type":"structure","required":["FileSystemId"],"members":{"FileSystemId":{},"ClientRequestToken":{"idempotencyToken":true},"WindowsConfiguration":{"type":"structure","members":{"SkipFinalBackup":{"type":"boolean"},"FinalBackupTags":{"shape":"S4"}}}}},"output":{"type":"structure","members":{"FileSystemId":{},"Lifecycle":{},"WindowsResponse":{"type":"structure","members":{"FinalBackupId":{},"FinalBackupTags":{"shape":"S4"}}}}},"idempotent":true},"DescribeBackups":{"input":{"type":"structure","members":{"BackupIds":{"type":"list","member":{}},"Filters":{"type":"list","member":{"type":"structure","members":{"Name":{},"Values":{"type":"list","member":{}}}}},"MaxResults":{"type":"integer"},"NextToken":{}}},"output":{"type":"structure","members":{"Backups":{"type":"list","member":{"shape":"S9"}},"NextToken":{}}}},"DescribeFileSystems":{"input":{"type":"structure","members":{"FileSystemIds":{"type":"list","member":{}},"MaxResults":{"type":"integer"},"NextToken":{}}},"output":{"type":"structure","members":{"FileSystems":{"type":"list","member":{"shape":"Sj"}},"NextToken":{}}}},"ListTagsForResource":{"input":{"type":"structure","required":["ResourceARN"],"members":{"ResourceARN":{},"MaxResults":{"type":"integer"},"NextToken":{}}},"output":{"type":"structure","members":{"Tags":{"shape":"S4"},"NextToken":{}}}},"TagResource":{"input":{"type":"structure","required":["ResourceARN","Tags"],"members":{"ResourceARN":{},"Tags":{"shape":"S4"}}},"output":{"type":"structure","members":{}},"idempotent":true},"UntagResource":{"input":{"type":"structure","required":["ResourceARN","TagKeys"],"members":{"ResourceARN":{},"TagKeys":{"type":"list","member":{}}}},"output":{"type":"structure","members":{}},"idempotent":true},"UpdateFileSystem":{"input":{"type":"structure","required":["FileSystemId"],"members":{"FileSystemId":{},"ClientRequestToken":{"idempotencyToken":true},"WindowsConfiguration":{"type":"structure","members":{"WeeklyMaintenanceStartTime":{},"DailyAutomaticBackupStartTime":{},"AutomaticBackupRetentionDays":{"type":"integer"},"SelfManagedActiveDirectoryConfiguration":{"type":"structure","members":{"UserName":{},"Password":{"shape":"S1m"},"DnsIps":{"shape":"S12"}}}}},"LustreConfiguration":{"type":"structure","members":{"WeeklyMaintenanceStartTime":{}}}}},"output":{"type":"structure","members":{"FileSystem":{"shape":"Sj"}}}}},"shapes":{"S4":{"type":"list","member":{"type":"structure","members":{"Key":{},"Value":{}}}},"S9":{"type":"structure","required":["BackupId","Lifecycle","Type","CreationTime","FileSystem"],"members":{"BackupId":{},"Lifecycle":{},"FailureDetails":{"type":"structure","members":{"Message":{}}},"Type":{},"ProgressPercent":{"type":"integer"},"CreationTime":{"type":"timestamp"},"KmsKeyId":{},"ResourceARN":{},"Tags":{"shape":"S4"},"FileSystem":{"shape":"Sj"},"DirectoryInformation":{"type":"structure","members":{"DomainName":{},"ActiveDirectoryId":{}}}}},"Sj":{"type":"structure","members":{"OwnerId":{},"CreationTime":{"type":"timestamp"},"FileSystemId":{},"FileSystemType":{},"Lifecycle":{},"FailureDetails":{"type":"structure","members":{"Message":{}}},"StorageCapacity":{"type":"integer"},"VpcId":{},"SubnetIds":{"shape":"Sq"},"NetworkInterfaceIds":{"type":"list","member":{}},"DNSName":{},"KmsKeyId":{},"ResourceARN":{},"Tags":{"shape":"S4"},"WindowsConfiguration":{"type":"structure","members":{"ActiveDirectoryId":{},"SelfManagedActiveDirectoryConfiguration":{"type":"structure","members":{"DomainName":{},"OrganizationalUnitDistinguishedName":{},"FileSystemAdministratorsGroup":{},"UserName":{},"DnsIps":{"shape":"S12"}}},"DeploymentType":{},"RemoteAdministrationEndpoint":{},"PreferredSubnetId":{},"PreferredFileServerIp":{},"ThroughputCapacity":{"type":"integer"},"MaintenanceOperationsInProgress":{"type":"list","member":{}},"WeeklyMaintenanceStartTime":{},"DailyAutomaticBackupStartTime":{},"AutomaticBackupRetentionDays":{"type":"integer"},"CopyTagsToBackups":{"type":"boolean"}}},"LustreConfiguration":{"type":"structure","members":{"WeeklyMaintenanceStartTime":{},"DataRepositoryConfiguration":{"type":"structure","members":{"ImportPath":{},"ExportPath":{},"ImportedFileChunkSize":{"type":"integer"}}}}}}},"Sq":{"type":"list","member":{}},"S12":{"type":"list","member":{}},"S1i":{"type":"list","member":{}},"S1k":{"type":"structure","required":["ThroughputCapacity"],"members":{"ActiveDirectoryId":{},"SelfManagedActiveDirectoryConfiguration":{"type":"structure","required":["DomainName","UserName","Password","DnsIps"],"members":{"DomainName":{},"OrganizationalUnitDistinguishedName":{},"FileSystemAdministratorsGroup":{},"UserName":{},"Password":{"shape":"S1m"},"DnsIps":{"shape":"S12"}}},"DeploymentType":{},"PreferredSubnetId":{},"ThroughputCapacity":{"type":"integer"},"WeeklyMaintenanceStartTime":{},"DailyAutomaticBackupStartTime":{},"AutomaticBackupRetentionDays":{"type":"integer"},"CopyTagsToBackups":{"type":"boolean"}}},"S1m":{"type":"string","sensitive":true}}} + module.exports = {"version":"2.0","metadata":{"apiVersion":"2018-03-01","endpointPrefix":"fsx","jsonVersion":"1.1","protocol":"json","serviceFullName":"Amazon FSx","serviceId":"FSx","signatureVersion":"v4","targetPrefix":"AWSSimbaAPIService_v20180301","uid":"fsx-2018-03-01"},"operations":{"CancelDataRepositoryTask":{"input":{"type":"structure","required":["TaskId"],"members":{"TaskId":{}}},"output":{"type":"structure","members":{"Lifecycle":{},"TaskId":{}}},"idempotent":true},"CreateBackup":{"input":{"type":"structure","required":["FileSystemId"],"members":{"FileSystemId":{},"ClientRequestToken":{"idempotencyToken":true},"Tags":{"shape":"S8"}}},"output":{"type":"structure","members":{"Backup":{"shape":"Sd"}}},"idempotent":true},"CreateDataRepositoryTask":{"input":{"type":"structure","required":["Type","FileSystemId","Report"],"members":{"Type":{},"Paths":{"shape":"S1n"},"FileSystemId":{},"Report":{"shape":"S1p"},"ClientRequestToken":{"idempotencyToken":true},"Tags":{"shape":"S8"}}},"output":{"type":"structure","members":{"DataRepositoryTask":{"shape":"S1t"}}},"idempotent":true},"CreateFileSystem":{"input":{"type":"structure","required":["FileSystemType","StorageCapacity","SubnetIds"],"members":{"ClientRequestToken":{"idempotencyToken":true},"FileSystemType":{},"StorageCapacity":{"type":"integer"},"SubnetIds":{"shape":"Su"},"SecurityGroupIds":{"shape":"S23"},"Tags":{"shape":"S8"},"KmsKeyId":{},"WindowsConfiguration":{"shape":"S25"},"LustreConfiguration":{"type":"structure","members":{"WeeklyMaintenanceStartTime":{},"ImportPath":{},"ExportPath":{},"ImportedFileChunkSize":{"type":"integer"}}}}},"output":{"type":"structure","members":{"FileSystem":{"shape":"Sn"}}}},"CreateFileSystemFromBackup":{"input":{"type":"structure","required":["BackupId","SubnetIds"],"members":{"BackupId":{},"ClientRequestToken":{"idempotencyToken":true},"SubnetIds":{"shape":"Su"},"SecurityGroupIds":{"shape":"S23"},"Tags":{"shape":"S8"},"WindowsConfiguration":{"shape":"S25"}}},"output":{"type":"structure","members":{"FileSystem":{"shape":"Sn"}}}},"DeleteBackup":{"input":{"type":"structure","required":["BackupId"],"members":{"BackupId":{},"ClientRequestToken":{"idempotencyToken":true}}},"output":{"type":"structure","members":{"BackupId":{},"Lifecycle":{}}},"idempotent":true},"DeleteFileSystem":{"input":{"type":"structure","required":["FileSystemId"],"members":{"FileSystemId":{},"ClientRequestToken":{"idempotencyToken":true},"WindowsConfiguration":{"type":"structure","members":{"SkipFinalBackup":{"type":"boolean"},"FinalBackupTags":{"shape":"S8"}}}}},"output":{"type":"structure","members":{"FileSystemId":{},"Lifecycle":{},"WindowsResponse":{"type":"structure","members":{"FinalBackupId":{},"FinalBackupTags":{"shape":"S8"}}}}},"idempotent":true},"DescribeBackups":{"input":{"type":"structure","members":{"BackupIds":{"type":"list","member":{}},"Filters":{"type":"list","member":{"type":"structure","members":{"Name":{},"Values":{"type":"list","member":{}}}}},"MaxResults":{"type":"integer"},"NextToken":{}}},"output":{"type":"structure","members":{"Backups":{"type":"list","member":{"shape":"Sd"}},"NextToken":{}}}},"DescribeDataRepositoryTasks":{"input":{"type":"structure","members":{"TaskIds":{"type":"list","member":{}},"Filters":{"type":"list","member":{"type":"structure","members":{"Name":{},"Values":{"type":"list","member":{}}}}},"MaxResults":{"type":"integer"},"NextToken":{}}},"output":{"type":"structure","members":{"DataRepositoryTasks":{"type":"list","member":{"shape":"S1t"}},"NextToken":{}}}},"DescribeFileSystems":{"input":{"type":"structure","members":{"FileSystemIds":{"type":"list","member":{}},"MaxResults":{"type":"integer"},"NextToken":{}}},"output":{"type":"structure","members":{"FileSystems":{"type":"list","member":{"shape":"Sn"}},"NextToken":{}}}},"ListTagsForResource":{"input":{"type":"structure","required":["ResourceARN"],"members":{"ResourceARN":{},"MaxResults":{"type":"integer"},"NextToken":{}}},"output":{"type":"structure","members":{"Tags":{"shape":"S8"},"NextToken":{}}}},"TagResource":{"input":{"type":"structure","required":["ResourceARN","Tags"],"members":{"ResourceARN":{},"Tags":{"shape":"S8"}}},"output":{"type":"structure","members":{}},"idempotent":true},"UntagResource":{"input":{"type":"structure","required":["ResourceARN","TagKeys"],"members":{"ResourceARN":{},"TagKeys":{"type":"list","member":{}}}},"output":{"type":"structure","members":{}},"idempotent":true},"UpdateFileSystem":{"input":{"type":"structure","required":["FileSystemId"],"members":{"FileSystemId":{},"ClientRequestToken":{"idempotencyToken":true},"WindowsConfiguration":{"type":"structure","members":{"WeeklyMaintenanceStartTime":{},"DailyAutomaticBackupStartTime":{},"AutomaticBackupRetentionDays":{"type":"integer"},"SelfManagedActiveDirectoryConfiguration":{"type":"structure","members":{"UserName":{},"Password":{"shape":"S27"},"DnsIps":{"shape":"S16"}}}}},"LustreConfiguration":{"type":"structure","members":{"WeeklyMaintenanceStartTime":{}}}}},"output":{"type":"structure","members":{"FileSystem":{"shape":"Sn"}}}}},"shapes":{"S8":{"type":"list","member":{"type":"structure","members":{"Key":{},"Value":{}}}},"Sd":{"type":"structure","required":["BackupId","Lifecycle","Type","CreationTime","FileSystem"],"members":{"BackupId":{},"Lifecycle":{},"FailureDetails":{"type":"structure","members":{"Message":{}}},"Type":{},"ProgressPercent":{"type":"integer"},"CreationTime":{"type":"timestamp"},"KmsKeyId":{},"ResourceARN":{},"Tags":{"shape":"S8"},"FileSystem":{"shape":"Sn"},"DirectoryInformation":{"type":"structure","members":{"DomainName":{},"ActiveDirectoryId":{}}}}},"Sn":{"type":"structure","members":{"OwnerId":{},"CreationTime":{"type":"timestamp"},"FileSystemId":{},"FileSystemType":{},"Lifecycle":{},"FailureDetails":{"type":"structure","members":{"Message":{}}},"StorageCapacity":{"type":"integer"},"VpcId":{},"SubnetIds":{"shape":"Su"},"NetworkInterfaceIds":{"type":"list","member":{}},"DNSName":{},"KmsKeyId":{},"ResourceARN":{},"Tags":{"shape":"S8"},"WindowsConfiguration":{"type":"structure","members":{"ActiveDirectoryId":{},"SelfManagedActiveDirectoryConfiguration":{"type":"structure","members":{"DomainName":{},"OrganizationalUnitDistinguishedName":{},"FileSystemAdministratorsGroup":{},"UserName":{},"DnsIps":{"shape":"S16"}}},"DeploymentType":{},"RemoteAdministrationEndpoint":{},"PreferredSubnetId":{},"PreferredFileServerIp":{},"ThroughputCapacity":{"type":"integer"},"MaintenanceOperationsInProgress":{"type":"list","member":{}},"WeeklyMaintenanceStartTime":{},"DailyAutomaticBackupStartTime":{},"AutomaticBackupRetentionDays":{"type":"integer"},"CopyTagsToBackups":{"type":"boolean"}}},"LustreConfiguration":{"type":"structure","members":{"WeeklyMaintenanceStartTime":{},"DataRepositoryConfiguration":{"type":"structure","members":{"ImportPath":{},"ExportPath":{},"ImportedFileChunkSize":{"type":"integer"}}}}}}},"Su":{"type":"list","member":{}},"S16":{"type":"list","member":{}},"S1n":{"type":"list","member":{}},"S1p":{"type":"structure","required":["Enabled"],"members":{"Enabled":{"type":"boolean"},"Path":{},"Format":{},"Scope":{}}},"S1t":{"type":"structure","required":["TaskId","Lifecycle","Type","CreationTime","FileSystemId"],"members":{"TaskId":{},"Lifecycle":{},"Type":{},"CreationTime":{"type":"timestamp"},"StartTime":{"type":"timestamp"},"EndTime":{"type":"timestamp"},"ResourceARN":{},"Tags":{"shape":"S8"},"FileSystemId":{},"Paths":{"shape":"S1n"},"FailureDetails":{"type":"structure","members":{"Message":{}}},"Status":{"type":"structure","members":{"TotalCount":{"type":"long"},"SucceededCount":{"type":"long"},"FailedCount":{"type":"long"},"LastUpdatedTime":{"type":"timestamp"}}},"Report":{"shape":"S1p"}}},"S23":{"type":"list","member":{}},"S25":{"type":"structure","required":["ThroughputCapacity"],"members":{"ActiveDirectoryId":{},"SelfManagedActiveDirectoryConfiguration":{"type":"structure","required":["DomainName","UserName","Password","DnsIps"],"members":{"DomainName":{},"OrganizationalUnitDistinguishedName":{},"FileSystemAdministratorsGroup":{},"UserName":{},"Password":{"shape":"S27"},"DnsIps":{"shape":"S16"}}},"DeploymentType":{},"PreferredSubnetId":{},"ThroughputCapacity":{"type":"integer"},"WeeklyMaintenanceStartTime":{},"DailyAutomaticBackupStartTime":{},"AutomaticBackupRetentionDays":{"type":"integer"},"CopyTagsToBackups":{"type":"boolean"}}},"S27":{"type":"string","sensitive":true}}} /***/ }), /* 682 */ /***/ (function(module, exports) { - module.exports = {"pagination":{"DescribeBackups":{"input_token":"NextToken","output_token":"NextToken","limit_key":"MaxResults"},"DescribeFileSystems":{"input_token":"NextToken","output_token":"NextToken","limit_key":"MaxResults"}}} + module.exports = {"pagination":{"DescribeBackups":{"input_token":"NextToken","output_token":"NextToken","limit_key":"MaxResults"},"DescribeDataRepositoryTasks":{"input_token":"NextToken","output_token":"NextToken","limit_key":"MaxResults"},"DescribeFileSystems":{"input_token":"NextToken","output_token":"NextToken","limit_key":"MaxResults"}}} /***/ }), /* 683 */ diff --git a/dist/aws-sdk.js b/dist/aws-sdk.js index 75ad1bad41..09816c3522 100644 --- a/dist/aws-sdk.js +++ b/dist/aws-sdk.js @@ -1,4 +1,4 @@ -// AWS SDK for JavaScript v2.595.0 +// AWS SDK for JavaScript v2.596.0 // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // License at https://sdk.amazonaws.com/js/BUNDLE_LICENSE.txt (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i-1});var o=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]","[object DataView]"];t.exports={isEmptyData:i,convertToBuffer:a}},{"buffer/":405}],314:[function(e,t,r){function i(e,t){this.hash=new e,this.outer=new e;var r=a(e,t),i=new Uint8Array(e.BLOCK_SIZE);i.set(r);for(var s=0;se.BLOCK_SIZE){var i=new e;i.update(r),r=i.digest()}var a=new Uint8Array(e.BLOCK_SIZE);return a.set(r),a}var s=e("./browserHashUtils");t.exports=i,i.prototype.update=function(e){if(s.isEmptyData(e)||this.error)return this;try{this.hash.update(s.convertToBuffer(e))}catch(e){this.error=e}return this},i.prototype.digest=function(e){return this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest(e)}},{"./browserHashUtils":313}],315:[function(e,t,r){function i(){this.state=[1732584193,4023233417,2562383102,271733878],this.buffer=new DataView(new ArrayBuffer(c)),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}function a(e,t,r,i,a,s){return((t=(t+e&4294967295)+(i+s&4294967295)&4294967295)<>>32-a)+r&4294967295}function s(e,t,r,i,s,o,n){return a(t&r|~t&i,e,t,s,o,n)}function o(e,t,r,i,s,o,n){return a(t&i|r&~i,e,t,s,o,n)}function n(e,t,r,i,s,o,n){return a(t^r^i,e,t,s,o,n)}function u(e,t,r,i,s,o,n){return a(r^(t|~i),e,t,s,o,n)}var p=e("./browserHashUtils"),m=e("buffer/").Buffer,c=64;t.exports=i,i.BLOCK_SIZE=c,i.prototype.update=function(e){if(p.isEmptyData(e))return this;if(this.finished)throw new Error("Attempted to update an already finished hash.");var t=p.convertToBuffer(e),r=0,i=t.byteLength;for(this.bytesHashed+=i;i>0;)this.buffer.setUint8(this.bufferLength++,t[r++]),i--,this.bufferLength===c&&(this.hashBuffer(),this.bufferLength=0);return this},i.prototype.digest=function(e){if(!this.finished){var t=this,r=t.buffer,i=t.bufferLength,a=t.bytesHashed,s=8*a;if(r.setUint8(this.bufferLength++,128),i%c>=c-8){for(var o=this.bufferLength;o>>0,!0),r.setUint32(c-4,Math.floor(s/4294967296),!0),this.hashBuffer(),this.finished=!0}for(var n=new DataView(new ArrayBuffer(16)),o=0;o<4;o++)n.setUint32(4*o,this.state[o],!0);var u=new m(n.buffer,n.byteOffset,n.byteLength);return e?u.toString(e):u},i.prototype.hashBuffer=function(){var e=this,t=e.buffer,r=e.state,i=r[0],a=r[1],p=r[2],m=r[3];i=s(i,a,p,m,t.getUint32(0,!0),7,3614090360),m=s(m,i,a,p,t.getUint32(4,!0),12,3905402710),p=s(p,m,i,a,t.getUint32(8,!0),17,606105819),a=s(a,p,m,i,t.getUint32(12,!0),22,3250441966),i=s(i,a,p,m,t.getUint32(16,!0),7,4118548399),m=s(m,i,a,p,t.getUint32(20,!0),12,1200080426),p=s(p,m,i,a,t.getUint32(24,!0),17,2821735955),a=s(a,p,m,i,t.getUint32(28,!0),22,4249261313),i=s(i,a,p,m,t.getUint32(32,!0),7,1770035416),m=s(m,i,a,p,t.getUint32(36,!0),12,2336552879),p=s(p,m,i,a,t.getUint32(40,!0),17,4294925233),a=s(a,p,m,i,t.getUint32(44,!0),22,2304563134),i=s(i,a,p,m,t.getUint32(48,!0),7,1804603682),m=s(m,i,a,p,t.getUint32(52,!0),12,4254626195),p=s(p,m,i,a,t.getUint32(56,!0),17,2792965006),a=s(a,p,m,i,t.getUint32(60,!0),22,1236535329),i=o(i,a,p,m,t.getUint32(4,!0),5,4129170786),m=o(m,i,a,p,t.getUint32(24,!0),9,3225465664),p=o(p,m,i,a,t.getUint32(44,!0),14,643717713),a=o(a,p,m,i,t.getUint32(0,!0),20,3921069994),i=o(i,a,p,m,t.getUint32(20,!0),5,3593408605),m=o(m,i,a,p,t.getUint32(40,!0),9,38016083),p=o(p,m,i,a,t.getUint32(60,!0),14,3634488961),a=o(a,p,m,i,t.getUint32(16,!0),20,3889429448),i=o(i,a,p,m,t.getUint32(36,!0),5,568446438),m=o(m,i,a,p,t.getUint32(56,!0),9,3275163606),p=o(p,m,i,a,t.getUint32(12,!0),14,4107603335),a=o(a,p,m,i,t.getUint32(32,!0),20,1163531501),i=o(i,a,p,m,t.getUint32(52,!0),5,2850285829),m=o(m,i,a,p,t.getUint32(8,!0),9,4243563512),p=o(p,m,i,a,t.getUint32(28,!0),14,1735328473),a=o(a,p,m,i,t.getUint32(48,!0),20,2368359562),i=n(i,a,p,m,t.getUint32(20,!0),4,4294588738),m=n(m,i,a,p,t.getUint32(32,!0),11,2272392833),p=n(p,m,i,a,t.getUint32(44,!0),16,1839030562),a=n(a,p,m,i,t.getUint32(56,!0),23,4259657740),i=n(i,a,p,m,t.getUint32(4,!0),4,2763975236),m=n(m,i,a,p,t.getUint32(16,!0),11,1272893353),p=n(p,m,i,a,t.getUint32(28,!0),16,4139469664),a=n(a,p,m,i,t.getUint32(40,!0),23,3200236656),i=n(i,a,p,m,t.getUint32(52,!0),4,681279174),m=n(m,i,a,p,t.getUint32(0,!0),11,3936430074),p=n(p,m,i,a,t.getUint32(12,!0),16,3572445317),a=n(a,p,m,i,t.getUint32(24,!0),23,76029189),i=n(i,a,p,m,t.getUint32(36,!0),4,3654602809),m=n(m,i,a,p,t.getUint32(48,!0),11,3873151461),p=n(p,m,i,a,t.getUint32(60,!0),16,530742520),a=n(a,p,m,i,t.getUint32(8,!0),23,3299628645),i=u(i,a,p,m,t.getUint32(0,!0),6,4096336452),m=u(m,i,a,p,t.getUint32(28,!0),10,1126891415),p=u(p,m,i,a,t.getUint32(56,!0),15,2878612391),a=u(a,p,m,i,t.getUint32(20,!0),21,4237533241),i=u(i,a,p,m,t.getUint32(48,!0),6,1700485571),m=u(m,i,a,p,t.getUint32(12,!0),10,2399980690),p=u(p,m,i,a,t.getUint32(40,!0),15,4293915773),a=u(a,p,m,i,t.getUint32(4,!0),21,2240044497),i=u(i,a,p,m,t.getUint32(32,!0),6,1873313359),m=u(m,i,a,p,t.getUint32(60,!0),10,4264355552),p=u(p,m,i,a,t.getUint32(24,!0),15,2734768916),a=u(a,p,m,i,t.getUint32(52,!0),21,1309151649),i=u(i,a,p,m,t.getUint32(16,!0),6,4149444226),m=u(m,i,a,p,t.getUint32(44,!0),10,3174756917),p=u(p,m,i,a,t.getUint32(8,!0),15,718787259),a=u(a,p,m,i,t.getUint32(36,!0),21,3951481745),r[0]=i+r[0]&4294967295,r[1]=a+r[1]&4294967295,r[2]=p+r[2]&4294967295,r[3]=m+r[3]&4294967295}},{"./browserHashUtils":313,"buffer/":405}],316:[function(e,t,r){function i(){this.h0=1732584193,this.h1=4023233417,this.h2=2562383102,this.h3=271733878,this.h4=3285377520,this.block=new Uint32Array(80),this.offset=0,this.shift=24,this.totalLength=0}var a=e("buffer/").Buffer,s=e("./browserHashUtils");new Uint32Array([1518500249,1859775393,-1894007588,-899497514]),Math.pow(2,53);t.exports=i,i.BLOCK_SIZE=64,i.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");if(s.isEmptyData(e))return this;e=s.convertToBuffer(e);var t=e.length;this.totalLength+=8*t;for(var r=0;r14||14===this.offset&&this.shift<24)&&this.processBlock(),this.offset=14,this.shift=24,this.write(0),this.write(0),this.write(this.totalLength>0xffffffffff?this.totalLength/1099511627776:0),this.write(this.totalLength>4294967295?this.totalLength/4294967296:0);for(var t=24;t>=0;t-=8)this.write(this.totalLength>>t);var r=new a(20),i=new DataView(r.buffer);return i.setUint32(0,this.h0,!1),i.setUint32(4,this.h1,!1),i.setUint32(8,this.h2,!1),i.setUint32(12,this.h3,!1),i.setUint32(16,this.h4,!1),e?r.toString(e):r},i.prototype.processBlock=function(){for(var e=16;e<80;e++){var t=this.block[e-3]^this.block[e-8]^this.block[e-14]^this.block[e-16];this.block[e]=t<<1|t>>>31}var r,i,a=this.h0,s=this.h1,o=this.h2,n=this.h3,u=this.h4;for(e=0;e<80;e++){e<20?(r=n^s&(o^n),i=1518500249):e<40?(r=s^o^n,i=1859775393):e<60?(r=s&o|n&(s|o),i=2400959708):(r=s^o^n,i=3395469782);var p=(a<<5|a>>>27)+r+u+i+(0|this.block[e]);u=n,n=o,o=s<<30|s>>>2,s=a,a=p}for(this.h0=this.h0+a|0,this.h1=this.h1+s|0,this.h2=this.h2+o|0,this.h3=this.h3+n|0,this.h4=this.h4+u|0,this.offset=0,e=0;e<16;e++)this.block[e]=0}},{"./browserHashUtils":313,"buffer/":405}],317:[function(e,t,r){function i(){this.state=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}var a=e("buffer/").Buffer,s=e("./browserHashUtils"),o=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),n=Math.pow(2,53)-1;t.exports=i,i.BLOCK_SIZE=64,i.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");if(s.isEmptyData(e))return this;e=s.convertToBuffer(e);var t=0,r=e.byteLength;if(this.bytesHashed+=r,8*this.bytesHashed>n)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;r>0;)this.buffer[this.bufferLength++]=e[t++],r--,64===this.bufferLength&&(this.hashBuffer(),this.bufferLength=0);return this},i.prototype.digest=function(e){if(!this.finished){var t=8*this.bytesHashed,r=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),i=this.bufferLength;if(r.setUint8(this.bufferLength++,128),i%64>=56){for(var s=this.bufferLength;s<64;s++)r.setUint8(s,0);this.hashBuffer(),this.bufferLength=0}for(var s=this.bufferLength;s<56;s++)r.setUint8(s,0);r.setUint32(56,Math.floor(t/4294967296),!0),r.setUint32(60,t),this.hashBuffer(),this.finished=!0}for(var o=new a(32),s=0;s<8;s++)o[4*s]=this.state[s]>>>24&255,o[4*s+1]=this.state[s]>>>16&255,o[4*s+2]=this.state[s]>>>8&255,o[4*s+3]=this.state[s]>>>0&255;return e?o.toString(e):o},i.prototype.hashBuffer=function(){for(var e=this,t=e.buffer,r=e.state,i=r[0],a=r[1],s=r[2],n=r[3],u=r[4],p=r[5],m=r[6],c=r[7],l=0;l<64;l++){if(l<16)this.temp[l]=(255&t[4*l])<<24|(255&t[4*l+1])<<16|(255&t[4*l+2])<<8|255&t[4*l+3];else{var d=this.temp[l-2],y=(d>>>17|d<<15)^(d>>>19|d<<13)^d>>>10;d=this.temp[l-15];var b=(d>>>7|d<<25)^(d>>>18|d<<14)^d>>>3;this.temp[l]=(y+this.temp[l-7]|0)+(b+this.temp[l-16]|0)}var S=(((u>>>6|u<<26)^(u>>>11|u<<21)^(u>>>25|u<<7))+(u&p^~u&m)|0)+(c+(o[l]+this.temp[l]|0)|0)|0,h=((i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10))+(i&a^i&s^a&s)|0;c=m,m=p,p=u,u=n+S|0,n=s,s=a,a=i,i=S+h|0}r[0]+=i,r[1]+=a,r[2]+=s,r[3]+=n,r[4]+=u,r[5]+=p,r[6]+=m,r[7]+=c}},{"./browserHashUtils":313,"buffer/":405}],318:[function(e,t,r){(function(r){var i=e("./util");i.crypto.lib=e("./browserCryptoLib"),i.Buffer=e("buffer/").Buffer,i.url=e("url/"),i.querystring=e("querystring/"),i.realClock=e("./realclock/browserClock"),i.environment="js",i.createEventStream=e("./event-stream/buffered-create-event-stream").createEventStream,i.isBrowser=function(){return!0},i.isNode=function(){return!1};var a=e("./core");if(t.exports=a,e("./credentials"),e("./credentials/credential_provider_chain"), -e("./credentials/temporary_credentials"),e("./credentials/chainable_temporary_credentials"),e("./credentials/web_identity_credentials"),e("./credentials/cognito_identity_credentials"),e("./credentials/saml_credentials"),a.XML.Parser=e("./xml/browser_parser"),e("./http/xhr"),void 0===r)var r={browser:!0}}).call(this,e("_process"))},{"./browserCryptoLib":312,"./core":322,"./credentials":323,"./credentials/chainable_temporary_credentials":324,"./credentials/cognito_identity_credentials":325,"./credentials/credential_provider_chain":326,"./credentials/saml_credentials":327,"./credentials/temporary_credentials":328,"./credentials/web_identity_credentials":329,"./event-stream/buffered-create-event-stream":337,"./http/xhr":345,"./realclock/browserClock":364,"./util":396,"./xml/browser_parser":397,_process:410,"buffer/":405,"querystring/":417,"url/":419}],319:[function(e,t,r){var i=e("../core"),a=i.util.url,s=i.util.crypto.lib,o=i.util.base64.encode,n=i.util.inherit,u=function(e){var t={"+":"-","=":"_","/":"~"};return e.replace(/[\+=\/]/g,function(e){return t[e]})},p=function(e,t){var r=s.createSign("RSA-SHA1");return r.write(e),u(r.sign(t,"base64"))},m=function(e,t,r,i){var a=JSON.stringify({Statement:[{Resource:e,Condition:{DateLessThan:{"AWS:EpochTime":t}}}]});return{Expires:t,"Key-Pair-Id":r,Signature:p(a.toString(),i)}},c=function(e,t,r){return e=e.replace(/\s/gm,""),{Policy:u(o(e)),"Key-Pair-Id":t,Signature:p(e,r)}},l=function(e){var t=e.split("://");if(t.length<2)throw new Error("Invalid URL.");return t[0].replace("*","")},d=function(e){var t=a.parse(e);return t.path.replace(/^\//,"")+(t.hash||"")},y=function(e){switch(l(e)){case"http":case"https":return e;case"rtmp":return d(e);default:throw new Error("Invalid URI scheme. Scheme must be one of http, https, or rtmp")}},b=function(e,t){if(!t||"function"!=typeof t)throw e;t(e)},S=function(e,t){if(!t||"function"!=typeof t)return e;t(null,e)};i.CloudFront.Signer=n({constructor:function(e,t){if(void 0===e||void 0===t)throw new Error("A key pair ID and private key are required");this.keyPairId=e,this.privateKey=t},getSignedCookie:function(e,t){var r="policy"in e?c(e.policy,this.keyPairId,this.privateKey):m(e.url,e.expires,this.keyPairId,this.privateKey),i={};for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(i["CloudFront-"+a]=r[a]);return S(i,t)},getSignedUrl:function(e,t){try{var r=y(e.url)}catch(e){return b(e,t)}var i=a.parse(e.url,!0),s=Object.prototype.hasOwnProperty.call(e,"policy")?c(e.policy,this.keyPairId,this.privateKey):m(r,e.expires,this.keyPairId,this.privateKey);i.search=null;for(var o in s)Object.prototype.hasOwnProperty.call(s,o)&&(i.query[o]=s[o]);try{var n="rtmp"===l(e.url)?d(a.format(i)):a.format(i)}catch(e){return b(e,t)}return S(n,t)}}),t.exports=i.CloudFront.Signer},{"../core":322}],320:[function(e,t,r){var i=e("./core");e("./credentials"),e("./credentials/credential_provider_chain");var a;i.Config=i.util.inherit({constructor:function(e){void 0===e&&(e={}),e=this.extractCredentials(e),i.util.each.call(this,this.keys,function(t,r){this.set(t,e[t],r)})},getCredentials:function(e){function t(t){e(t,t?null:a.credentials)}function r(e,t){return new i.util.error(t||new Error,{code:"CredentialsError",message:e,name:"CredentialsError"})}var a=this;a.credentials?"function"==typeof a.credentials.get?function(){a.credentials.get(function(e){e&&(e=r("Could not load credentials from "+a.credentials.constructor.name,e)),t(e)})}():function(){var e=null;a.credentials.accessKeyId&&a.credentials.secretAccessKey||(e=r("Missing credentials")),t(e)}():a.credentialProvider?a.credentialProvider.resolve(function(e,i){e&&(e=r("Could not load credentials from any providers",e)),a.credentials=i,t(e)}):t(r("No credentials to load"))},update:function(e,t){t=t||!1,e=this.extractCredentials(e),i.util.each.call(this,e,function(e,r){(t||Object.prototype.hasOwnProperty.call(this.keys,e)||i.Service.hasService(e))&&this.set(e,r)})},loadFromPath:function(e){this.clear();var t=JSON.parse(i.util.readFileSync(e)),r=new i.FileSystemCredentials(e),a=new i.CredentialProviderChain;return a.providers.unshift(r),a.resolve(function(e,r){if(e)throw e;t.credentials=r}),this.constructor(t),this},clear:function(){i.util.each.call(this,this.keys,function(e){delete this[e]}),this.set("credentials",void 0),this.set("credentialProvider",void 0)},set:function(e,t,r){void 0===t?(void 0===r&&(r=this.keys[e]),this[e]="function"==typeof r?r.call(this):r):"httpOptions"===e&&this[e]?this[e]=i.util.merge(this[e],t):this[e]=t},keys:{credentials:null,credentialProvider:null,region:null,logger:null,apiVersions:{},apiVersion:null,endpoint:void 0,httpOptions:{timeout:12e4},maxRetries:void 0,maxRedirects:10,paramValidation:!0,sslEnabled:!0,s3ForcePathStyle:!1,s3BucketEndpoint:!1,s3DisableBodySigning:!0,s3UsEast1RegionalEndpoint:"legacy",s3UseArnRegion:void 0,computeChecksums:!0,convertResponseTypes:!0,correctClockSkew:!1,customUserAgent:null,dynamoDbCrc32:!0,systemClockOffset:0,signatureVersion:null,signatureCache:!0,retryDelayOptions:{},useAccelerateEndpoint:!1,clientSideMonitoring:!1,endpointDiscoveryEnabled:!1,endpointCacheSize:1e3,hostPrefixEnabled:!0,stsRegionalEndpoints:"legacy"},extractCredentials:function(e){return e.accessKeyId&&e.secretAccessKey&&(e=i.util.copy(e),e.credentials=new i.Credentials(e)),e},setPromisesDependency:function(e){a=e,null===e&&"function"==typeof Promise&&(a=Promise);var t=[i.Request,i.Credentials,i.CredentialProviderChain];i.S3&&(t.push(i.S3),i.S3.ManagedUpload&&t.push(i.S3.ManagedUpload)),i.util.addPromises(t,a)},getPromisesDependency:function(){return a}}),i.config=new i.Config},{"./core":322,"./credentials":323,"./credentials/credential_provider_chain":326}],321:[function(e,t,r){(function(r){function i(e,t){if("string"==typeof e){if(["legacy","regional"].indexOf(e.toLowerCase())>=0)return e.toLowerCase();throw s.util.error(new Error,t)}}function a(e,t){e=e||{};var a;if(e[t.clientConfig]&&(a=i(e[t.clientConfig],{code:"InvalidConfiguration",message:'invalid "'+t.clientConfig+'" configuration. Expect "legacy" or "regional". Got "'+e[t.clientConfig]+'".'})))return a;if(!s.util.isNode())return a;if(Object.prototype.hasOwnProperty.call(r.env,t.env)){if(a=i(r.env[t.env],{code:"InvalidEnvironmentalVariable",message:"invalid "+t.env+' environmental variable. Expect "legacy" or "regional". Got "'+r.env[t.env]+'".'}))return a}var o={};try{o=s.util.getProfilesFromSharedConfig(s.util.iniLoader)[r.env.AWS_PROFILE||s.util.defaultProfile]}catch(e){}if(o&&Object.prototype.hasOwnProperty.call(o,t.sharedConfig)){if(a=i(o[t.sharedConfig],{code:"InvalidConfiguration",message:"invalid "+t.sharedConfig+' profile config. Expect "legacy" or "regional". Got "'+o[t.sharedConfig]+'".'}))return a}return a}var s=e("./core");t.exports=a}).call(this,e("_process"))},{"./core":322,_process:410}],322:[function(e,t,r){var i={util:e("./util")};({}).toString(),t.exports=i,i.util.update(i,{VERSION:"2.595.0",Signers:{},Protocol:{Json:e("./protocol/json"),Query:e("./protocol/query"),Rest:e("./protocol/rest"),RestJson:e("./protocol/rest_json"),RestXml:e("./protocol/rest_xml")},XML:{Builder:e("./xml/builder"),Parser:null},JSON:{Builder:e("./json/builder"),Parser:e("./json/parser")},Model:{Api:e("./model/api"),Operation:e("./model/operation"),Shape:e("./model/shape"),Paginator:e("./model/paginator"),ResourceWaiter:e("./model/resource_waiter")},apiLoader:e("./api_loader"),EndpointCache:e("../vendor/endpoint-cache").EndpointCache}),e("./sequential_executor"),e("./service"),e("./config"),e("./http"),e("./event_listeners"),e("./request"),e("./response"),e("./resource_waiter"),e("./signers/request_signer"),e("./param_validator"),i.events=new i.SequentialExecutor,i.util.memoizedProperty(i,"endpointCache",function(){return new i.EndpointCache(i.config.endpointCacheSize)},!0)},{"../vendor/endpoint-cache":428,"./api_loader":311,"./config":320,"./event_listeners":343,"./http":344,"./json/builder":346,"./json/parser":347,"./model/api":348,"./model/operation":350,"./model/paginator":351,"./model/resource_waiter":352,"./model/shape":353,"./param_validator":354,"./protocol/json":357,"./protocol/query":358,"./protocol/rest":359,"./protocol/rest_json":360,"./protocol/rest_xml":361,"./request":367,"./resource_waiter":368,"./response":369,"./sequential_executor":371,"./service":372,"./signers/request_signer":388,"./util":396,"./xml/builder":398}],323:[function(e,t,r){var i=e("./core");i.Credentials=i.util.inherit({constructor:function(){if(i.util.hideProperties(this,["secretAccessKey"]),this.expired=!1,this.expireTime=null,this.refreshCallbacks=[],1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0].credentials||arguments[0];this.accessKeyId=e.accessKeyId,this.secretAccessKey=e.secretAccessKey,this.sessionToken=e.sessionToken}else this.accessKeyId=arguments[0],this.secretAccessKey=arguments[1],this.sessionToken=arguments[2]},expiryWindow:15,needsRefresh:function(){var e=i.util.date.getDate().getTime(),t=new Date(e+1e3*this.expiryWindow);return!!(this.expireTime&&t>this.expireTime)||(this.expired||!this.accessKeyId||!this.secretAccessKey)},get:function(e){var t=this;this.needsRefresh()?this.refresh(function(r){r||(t.expired=!1),e&&e(r)}):e&&e()},refresh:function(e){this.expired=!1,e()},coalesceRefresh:function(e,t){var r=this;1===r.refreshCallbacks.push(e)&&r.load(function(e){i.util.arrayEach(r.refreshCallbacks,function(r){t?r(e):i.util.defer(function(){r(e)})}),r.refreshCallbacks.length=0})},load:function(e){e()}}),i.Credentials.addPromisesToClass=function(e){this.prototype.getPromise=i.util.promisifyMethod("get",e),this.prototype.refreshPromise=i.util.promisifyMethod("refresh",e)},i.Credentials.deletePromisesFromClass=function(){delete this.prototype.getPromise,delete this.prototype.refreshPromise},i.util.addPromises(i.Credentials)},{"./core":322}],324:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.ChainableTemporaryCredentials=i.util.inherit(i.Credentials,{constructor:function(e){i.Credentials.call(this),e=e||{},this.errorCode="ChainableTemporaryCredentialsProviderFailure",this.expired=!0,this.tokenCodeFn=null;var t=i.util.copy(e.params)||{};if(t.RoleArn&&(t.RoleSessionName=t.RoleSessionName||"temporary-credentials"),t.SerialNumber){if(!e.tokenCodeFn||"function"!=typeof e.tokenCodeFn)throw new i.util.error(new Error("tokenCodeFn must be a function when params.SerialNumber is given"),{code:this.errorCode});this.tokenCodeFn=e.tokenCodeFn}var r=i.util.merge({params:t,credentials:e.masterCredentials||i.config.credentials},e.stsConfig||{});this.service=new a(r)},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this,r=t.service.config.params.RoleArn?"assumeRole":"getSessionToken";this.getTokenCode(function(i,a){var s={};if(i)return void e(i);a&&(s.TokenCode=a),t.service[r](s,function(r,i){r||t.service.credentialsFrom(i,t),e(r)})})},getTokenCode:function(e){var t=this;this.tokenCodeFn?this.tokenCodeFn(this.service.config.params.SerialNumber,function(r,a){if(r){var s=r;return r instanceof Error&&(s=r.message),void e(i.util.error(new Error("Error fetching MFA token: "+s),{code:t.errorCode}))}e(null,a)}):e(null)}})},{"../../clients/sts":306,"../core":322}],325:[function(e,t,r){var i=e("../core"),a=e("../../clients/cognitoidentity"),s=e("../../clients/sts");i.CognitoIdentityCredentials=i.util.inherit(i.Credentials,{localStorageKey:{id:"aws.cognito.identity-id.",providers:"aws.cognito.identity-providers."},constructor:function(e,t){i.Credentials.call(this),this.expired=!0,this.params=e,this.data=null,this._identityId=null,this._clientConfig=i.util.copy(t||{}),this.loadCachedId();var r=this;Object.defineProperty(this,"identityId",{get:function(){return r.loadCachedId(),r._identityId||r.params.IdentityId},set:function(e){r._identityId=e}})},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.data=null,t._identityId=null,t.getId(function(r){r?(t.clearIdOnNotAuthorized(r),e(r)):t.params.RoleArn?t.getCredentialsFromSTS(e):t.getCredentialsForIdentity(e)})},clearCachedId:function(){this._identityId=null,delete this.params.IdentityId;var e=this.params.IdentityPoolId,t=this.params.LoginId||"";delete this.storage[this.localStorageKey.id+e+t],delete this.storage[this.localStorageKey.providers+e+t]},clearIdOnNotAuthorized:function(e){var t=this;"NotAuthorizedException"==e.code&&t.clearCachedId()},getId:function(e){var t=this;if("string"==typeof t.params.IdentityId)return e(null,t.params.IdentityId);t.cognito.getId(function(r,i){!r&&i.IdentityId?(t.params.IdentityId=i.IdentityId,e(null,i.IdentityId)):e(r)})},loadCredentials:function(e,t){e&&t&&(t.expired=!1,t.accessKeyId=e.Credentials.AccessKeyId,t.secretAccessKey=e.Credentials.SecretKey,t.sessionToken=e.Credentials.SessionToken,t.expireTime=e.Credentials.Expiration)},getCredentialsForIdentity:function(e){var t=this;t.cognito.getCredentialsForIdentity(function(r,i){r?t.clearIdOnNotAuthorized(r):(t.cacheId(i),t.data=i,t.loadCredentials(t.data,t)),e(r)})},getCredentialsFromSTS:function(e){var t=this;t.cognito.getOpenIdToken(function(r,i){r?(t.clearIdOnNotAuthorized(r),e(r)):(t.cacheId(i),t.params.WebIdentityToken=i.Token,t.webIdentityCredentials.refresh(function(r){r||(t.data=t.webIdentityCredentials.data,t.sts.credentialsFrom(t.data,t)),e(r)}))})},loadCachedId:function(){var e=this;if(i.util.isBrowser()&&!e.params.IdentityId){var t=e.getStorage("id");if(t&&e.params.Logins){var r=Object.keys(e.params.Logins);0!==(e.getStorage("providers")||"").split(",").filter(function(e){return-1!==r.indexOf(e)}).length&&(e.params.IdentityId=t)}else t&&(e.params.IdentityId=t)}},createClients:function(){var e=this._clientConfig;if(this.webIdentityCredentials=this.webIdentityCredentials||new i.WebIdentityCredentials(this.params,e),!this.cognito){var t=i.util.merge({},e);t.params=this.params,this.cognito=new a(t)}this.sts=this.sts||new s(e)},cacheId:function(e){this._identityId=e.IdentityId,this.params.IdentityId=this._identityId,i.util.isBrowser()&&(this.setStorage("id",e.IdentityId),this.params.Logins&&this.setStorage("providers",Object.keys(this.params.Logins).join(",")))},getStorage:function(e){return this.storage[this.localStorageKey[e]+this.params.IdentityPoolId+(this.params.LoginId||"")]},setStorage:function(e,t){try{this.storage[this.localStorageKey[e]+this.params.IdentityPoolId+(this.params.LoginId||"")]=t}catch(e){}},storage:function(){try{var e=i.util.isBrowser()&&null!==window.localStorage&&"object"==typeof window.localStorage?window.localStorage:{};return e["aws.test-storage"]="foobar",delete e["aws.test-storage"],e}catch(e){return{}}}()})},{"../../clients/cognitoidentity":240,"../../clients/sts":306,"../core":322}],326:[function(e,t,r){var i=e("../core");i.CredentialProviderChain=i.util.inherit(i.Credentials,{constructor:function(e){this.providers=e||i.CredentialProviderChain.defaultProviders.slice(0),this.resolveCallbacks=[]},resolve:function(e){function t(e,o){if(!e&&o||a===s.length)return i.util.arrayEach(r.resolveCallbacks,function(t){t(e,o)}),void(r.resolveCallbacks.length=0);var n=s[a++];o="function"==typeof n?n.call():n,o.get?o.get(function(e){t(e,e?null:o)}):t(null,o)}var r=this;if(0===r.providers.length)return e(new Error("No providers")),r;if(1===r.resolveCallbacks.push(e)){var a=0,s=r.providers.slice(0);t()}return r}}),i.CredentialProviderChain.defaultProviders=[],i.CredentialProviderChain.addPromisesToClass=function(e){this.prototype.resolvePromise=i.util.promisifyMethod("resolve",e)},i.CredentialProviderChain.deletePromisesFromClass=function(){delete this.prototype.resolvePromise},i.util.addPromises(i.CredentialProviderChain)},{"../core":322}],327:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.SAMLCredentials=i.util.inherit(i.Credentials,{constructor:function(e){i.Credentials.call(this),this.expired=!0,this.params=e},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.service.assumeRoleWithSAML(function(r,i){r||t.service.credentialsFrom(i,t),e(r)})},createClients:function(){this.service=this.service||new a({params:this.params})}})},{"../../clients/sts":306,"../core":322}],328:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.TemporaryCredentials=i.util.inherit(i.Credentials,{constructor:function(e,t){i.Credentials.call(this),this.loadMasterCredentials(t),this.expired=!0,this.params=e||{},this.params.RoleArn&&(this.params.RoleSessionName=this.params.RoleSessionName||"temporary-credentials")},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.masterCredentials.get(function(){t.service.config.credentials=t.masterCredentials,(t.params.RoleArn?t.service.assumeRole:t.service.getSessionToken).call(t.service,function(r,i){r||t.service.credentialsFrom(i,t),e(r)})})},loadMasterCredentials:function(e){for(this.masterCredentials=e||i.config.credentials;this.masterCredentials.masterCredentials;)this.masterCredentials=this.masterCredentials.masterCredentials;"function"!=typeof this.masterCredentials.get&&(this.masterCredentials=new i.Credentials(this.masterCredentials))},createClients:function(){this.service=this.service||new a({params:this.params})}})},{"../../clients/sts":306,"../core":322}],329:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.WebIdentityCredentials=i.util.inherit(i.Credentials,{constructor:function(e,t){i.Credentials.call(this),this.expired=!0,this.params=e,this.params.RoleSessionName=this.params.RoleSessionName||"web-identity",this.data=null,this._clientConfig=i.util.copy(t||{})},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.service.assumeRoleWithWebIdentity(function(r,i){t.data=null,r||(t.data=i,t.service.credentialsFrom(i,t)),e(r)})},createClients:function(){if(!this.service){var e=i.util.merge({},this._clientConfig);e.params=this.params,this.service=new a(e)}}})},{"../../clients/sts":306,"../core":322}],330:[function(e,t,r){(function(r){function i(e){var t=e.service,r=t.api||{},i={};return t.config.region&&(i.region=t.config.region),r.serviceId&&(i.serviceId=r.serviceId),t.config.credentials.accessKeyId&&(i.accessKeyId=t.config.credentials.accessKeyId),i}function a(e,t,r){r&&void 0!==t&&null!==t&&"structure"===r.type&&r.required&&r.required.length>0&&b.arrayEach(r.required,function(i){var s=r.members[i];if(!0===s.endpointDiscoveryId){var o=s.isLocationName?s.name:i;e[o]=String(t[i])}else a(e,t[i],s)})}function s(e,t){var r={};return a(r,e.params,t),r}function o(e){var t=e.service,r=t.api,a=r.operations?r.operations[e.operation]:void 0,o=a?a.input:void 0,n=s(e,o),p=i(e);Object.keys(n).length>0&&(p=b.update(p,n),a&&(p.operation=a.name));var m=y.endpointCache.get(p);if(!m||1!==m.length||""!==m[0].Address)if(m&&m.length>0)e.httpRequest.updateEndpoint(m[0].Address);else{var c=t.makeRequest(r.endpointOperation,{Operation:a.name,Identifiers:n});u(c),c.removeListener("validate",y.EventListeners.Core.VALIDATE_PARAMETERS),c.removeListener("retry",y.EventListeners.Core.RETRY_CHECK),y.endpointCache.put(p,[{Address:"",CachePeriodInMinutes:1}]),c.send(function(e,t){t&&t.Endpoints?y.endpointCache.put(p,t.Endpoints):e&&y.endpointCache.put(p,[{Address:"",CachePeriodInMinutes:1}])})}}function n(e,t){var r=e.service,a=r.api,o=a.operations?a.operations[e.operation]:void 0,n=o?o.input:void 0,p=s(e,n),m=i(e);Object.keys(p).length>0&&(m=b.update(m,p),o&&(m.operation=o.name));var c=y.EndpointCache.getKeyString(m),l=y.endpointCache.get(c);if(l&&1===l.length&&""===l[0].Address)return h[c]||(h[c]=[]),void h[c].push({request:e,callback:t});if(l&&l.length>0)e.httpRequest.updateEndpoint(l[0].Address),t();else{var d=r.makeRequest(a.endpointOperation,{Operation:o.name,Identifiers:p});d.removeListener("validate",y.EventListeners.Core.VALIDATE_PARAMETERS),u(d),y.endpointCache.put(c,[{Address:"",CachePeriodInMinutes:60}]),d.send(function(r,i){if(r){var a={code:"EndpointDiscoveryException",message:"Request cannot be fulfilled without specifying an endpoint",retryable:!1};if(e.response.error=b.error(r,a),y.endpointCache.remove(m),h[c]){var s=h[c];b.arrayEach(s,function(e){e.request.response.error=b.error(r,a),e.callback()}),delete h[c]}}else if(i&&(y.endpointCache.put(c,i.Endpoints),e.httpRequest.updateEndpoint(i.Endpoints[0].Address),h[c])){var s=h[c];b.arrayEach(s,function(e){e.request.httpRequest.updateEndpoint(i.Endpoints[0].Address),e.callback()}),delete h[c]}t()})}}function u(e){var t=e.service.api,r=t.apiVersion;r&&!e.httpRequest.headers["x-amz-api-version"]&&(e.httpRequest.headers["x-amz-api-version"]=r)}function p(e){var t=e.error,r=e.httpResponse;if(t&&("InvalidEndpointException"===t.code||421===r.statusCode)){var a=e.request,o=a.service.api.operations||{},n=o[a.operation]?o[a.operation].input:void 0,u=s(a,n),p=i(a);Object.keys(u).length>0&&(p=b.update(p,u),o[a.operation]&&(p.operation=o[a.operation].name)),y.endpointCache.remove(p)}}function m(e){if(e._originalConfig&&e._originalConfig.endpoint&&!0===e._originalConfig.endpointDiscoveryEnabled)throw b.error(new Error,{code:"ConfigurationException",message:"Custom endpoint is supplied; endpointDiscoveryEnabled must not be true."});var t=y.config[e.serviceIdentifier]||{};return Boolean(y.config.endpoint||t.endpoint||e._originalConfig&&e._originalConfig.endpoint)}function c(e){return["false","0"].indexOf(e)>=0}function l(e){if(!0===(e.service||{}).config.endpointDiscoveryEnabled)return!0;if(b.isBrowser())return!1;for(var t=0;t=0)return e.toLowerCase();throw s.util.error(new Error,t)}}function a(e,t){e=e||{};var a;if(e[t.clientConfig]&&(a=i(e[t.clientConfig],{code:"InvalidConfiguration",message:'invalid "'+t.clientConfig+'" configuration. Expect "legacy" or "regional". Got "'+e[t.clientConfig]+'".'})))return a;if(!s.util.isNode())return a;if(Object.prototype.hasOwnProperty.call(r.env,t.env)){if(a=i(r.env[t.env],{code:"InvalidEnvironmentalVariable",message:"invalid "+t.env+' environmental variable. Expect "legacy" or "regional". Got "'+r.env[t.env]+'".'}))return a}var o={};try{o=s.util.getProfilesFromSharedConfig(s.util.iniLoader)[r.env.AWS_PROFILE||s.util.defaultProfile]}catch(e){}if(o&&Object.prototype.hasOwnProperty.call(o,t.sharedConfig)){if(a=i(o[t.sharedConfig],{code:"InvalidConfiguration",message:"invalid "+t.sharedConfig+' profile config. Expect "legacy" or "regional". Got "'+o[t.sharedConfig]+'".'}))return a}return a}var s=e("./core");t.exports=a}).call(this,e("_process"))},{"./core":322,_process:410}],322:[function(e,t,r){var i={util:e("./util")};({}).toString(),t.exports=i,i.util.update(i,{VERSION:"2.596.0",Signers:{},Protocol:{Json:e("./protocol/json"),Query:e("./protocol/query"),Rest:e("./protocol/rest"),RestJson:e("./protocol/rest_json"),RestXml:e("./protocol/rest_xml")},XML:{Builder:e("./xml/builder"),Parser:null},JSON:{Builder:e("./json/builder"),Parser:e("./json/parser")},Model:{Api:e("./model/api"),Operation:e("./model/operation"),Shape:e("./model/shape"),Paginator:e("./model/paginator"),ResourceWaiter:e("./model/resource_waiter")},apiLoader:e("./api_loader"),EndpointCache:e("../vendor/endpoint-cache").EndpointCache}),e("./sequential_executor"),e("./service"),e("./config"),e("./http"),e("./event_listeners"),e("./request"),e("./response"),e("./resource_waiter"),e("./signers/request_signer"),e("./param_validator"),i.events=new i.SequentialExecutor,i.util.memoizedProperty(i,"endpointCache",function(){return new i.EndpointCache(i.config.endpointCacheSize)},!0)},{"../vendor/endpoint-cache":428,"./api_loader":311,"./config":320,"./event_listeners":343,"./http":344,"./json/builder":346,"./json/parser":347,"./model/api":348,"./model/operation":350,"./model/paginator":351,"./model/resource_waiter":352,"./model/shape":353,"./param_validator":354,"./protocol/json":357,"./protocol/query":358,"./protocol/rest":359,"./protocol/rest_json":360,"./protocol/rest_xml":361,"./request":367,"./resource_waiter":368,"./response":369,"./sequential_executor":371,"./service":372,"./signers/request_signer":388,"./util":396,"./xml/builder":398}],323:[function(e,t,r){var i=e("./core");i.Credentials=i.util.inherit({constructor:function(){if(i.util.hideProperties(this,["secretAccessKey"]),this.expired=!1,this.expireTime=null,this.refreshCallbacks=[],1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0].credentials||arguments[0];this.accessKeyId=e.accessKeyId,this.secretAccessKey=e.secretAccessKey,this.sessionToken=e.sessionToken}else this.accessKeyId=arguments[0],this.secretAccessKey=arguments[1],this.sessionToken=arguments[2]},expiryWindow:15,needsRefresh:function(){var e=i.util.date.getDate().getTime(),t=new Date(e+1e3*this.expiryWindow);return!!(this.expireTime&&t>this.expireTime)||(this.expired||!this.accessKeyId||!this.secretAccessKey)},get:function(e){var t=this;this.needsRefresh()?this.refresh(function(r){r||(t.expired=!1),e&&e(r)}):e&&e()},refresh:function(e){this.expired=!1,e()},coalesceRefresh:function(e,t){var r=this;1===r.refreshCallbacks.push(e)&&r.load(function(e){i.util.arrayEach(r.refreshCallbacks,function(r){t?r(e):i.util.defer(function(){r(e)})}),r.refreshCallbacks.length=0})},load:function(e){e()}}),i.Credentials.addPromisesToClass=function(e){this.prototype.getPromise=i.util.promisifyMethod("get",e),this.prototype.refreshPromise=i.util.promisifyMethod("refresh",e)},i.Credentials.deletePromisesFromClass=function(){delete this.prototype.getPromise,delete this.prototype.refreshPromise},i.util.addPromises(i.Credentials)},{"./core":322}],324:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.ChainableTemporaryCredentials=i.util.inherit(i.Credentials,{constructor:function(e){i.Credentials.call(this),e=e||{},this.errorCode="ChainableTemporaryCredentialsProviderFailure",this.expired=!0,this.tokenCodeFn=null;var t=i.util.copy(e.params)||{};if(t.RoleArn&&(t.RoleSessionName=t.RoleSessionName||"temporary-credentials"),t.SerialNumber){if(!e.tokenCodeFn||"function"!=typeof e.tokenCodeFn)throw new i.util.error(new Error("tokenCodeFn must be a function when params.SerialNumber is given"),{code:this.errorCode});this.tokenCodeFn=e.tokenCodeFn}var r=i.util.merge({params:t,credentials:e.masterCredentials||i.config.credentials},e.stsConfig||{});this.service=new a(r)},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this,r=t.service.config.params.RoleArn?"assumeRole":"getSessionToken";this.getTokenCode(function(i,a){var s={};if(i)return void e(i);a&&(s.TokenCode=a),t.service[r](s,function(r,i){r||t.service.credentialsFrom(i,t),e(r)})})},getTokenCode:function(e){var t=this;this.tokenCodeFn?this.tokenCodeFn(this.service.config.params.SerialNumber,function(r,a){if(r){var s=r;return r instanceof Error&&(s=r.message),void e(i.util.error(new Error("Error fetching MFA token: "+s),{code:t.errorCode}))}e(null,a)}):e(null)}})},{"../../clients/sts":306,"../core":322}],325:[function(e,t,r){var i=e("../core"),a=e("../../clients/cognitoidentity"),s=e("../../clients/sts");i.CognitoIdentityCredentials=i.util.inherit(i.Credentials,{localStorageKey:{id:"aws.cognito.identity-id.",providers:"aws.cognito.identity-providers."},constructor:function(e,t){i.Credentials.call(this),this.expired=!0,this.params=e,this.data=null,this._identityId=null,this._clientConfig=i.util.copy(t||{}),this.loadCachedId();var r=this;Object.defineProperty(this,"identityId",{get:function(){return r.loadCachedId(),r._identityId||r.params.IdentityId},set:function(e){r._identityId=e}})},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.data=null,t._identityId=null,t.getId(function(r){r?(t.clearIdOnNotAuthorized(r),e(r)):t.params.RoleArn?t.getCredentialsFromSTS(e):t.getCredentialsForIdentity(e)})},clearCachedId:function(){this._identityId=null,delete this.params.IdentityId;var e=this.params.IdentityPoolId,t=this.params.LoginId||"";delete this.storage[this.localStorageKey.id+e+t],delete this.storage[this.localStorageKey.providers+e+t]},clearIdOnNotAuthorized:function(e){var t=this;"NotAuthorizedException"==e.code&&t.clearCachedId()},getId:function(e){var t=this;if("string"==typeof t.params.IdentityId)return e(null,t.params.IdentityId);t.cognito.getId(function(r,i){!r&&i.IdentityId?(t.params.IdentityId=i.IdentityId,e(null,i.IdentityId)):e(r)})},loadCredentials:function(e,t){e&&t&&(t.expired=!1,t.accessKeyId=e.Credentials.AccessKeyId,t.secretAccessKey=e.Credentials.SecretKey,t.sessionToken=e.Credentials.SessionToken,t.expireTime=e.Credentials.Expiration)},getCredentialsForIdentity:function(e){var t=this;t.cognito.getCredentialsForIdentity(function(r,i){r?t.clearIdOnNotAuthorized(r):(t.cacheId(i),t.data=i,t.loadCredentials(t.data,t)),e(r)})},getCredentialsFromSTS:function(e){var t=this;t.cognito.getOpenIdToken(function(r,i){r?(t.clearIdOnNotAuthorized(r),e(r)):(t.cacheId(i),t.params.WebIdentityToken=i.Token,t.webIdentityCredentials.refresh(function(r){r||(t.data=t.webIdentityCredentials.data,t.sts.credentialsFrom(t.data,t)),e(r)}))})},loadCachedId:function(){var e=this;if(i.util.isBrowser()&&!e.params.IdentityId){var t=e.getStorage("id");if(t&&e.params.Logins){var r=Object.keys(e.params.Logins);0!==(e.getStorage("providers")||"").split(",").filter(function(e){return-1!==r.indexOf(e)}).length&&(e.params.IdentityId=t)}else t&&(e.params.IdentityId=t)}},createClients:function(){var e=this._clientConfig;if(this.webIdentityCredentials=this.webIdentityCredentials||new i.WebIdentityCredentials(this.params,e),!this.cognito){var t=i.util.merge({},e);t.params=this.params,this.cognito=new a(t)}this.sts=this.sts||new s(e)},cacheId:function(e){this._identityId=e.IdentityId,this.params.IdentityId=this._identityId,i.util.isBrowser()&&(this.setStorage("id",e.IdentityId),this.params.Logins&&this.setStorage("providers",Object.keys(this.params.Logins).join(",")))},getStorage:function(e){return this.storage[this.localStorageKey[e]+this.params.IdentityPoolId+(this.params.LoginId||"")]},setStorage:function(e,t){try{this.storage[this.localStorageKey[e]+this.params.IdentityPoolId+(this.params.LoginId||"")]=t}catch(e){}},storage:function(){try{var e=i.util.isBrowser()&&null!==window.localStorage&&"object"==typeof window.localStorage?window.localStorage:{};return e["aws.test-storage"]="foobar",delete e["aws.test-storage"],e}catch(e){return{}}}()})},{"../../clients/cognitoidentity":240,"../../clients/sts":306,"../core":322}],326:[function(e,t,r){var i=e("../core");i.CredentialProviderChain=i.util.inherit(i.Credentials,{constructor:function(e){this.providers=e||i.CredentialProviderChain.defaultProviders.slice(0),this.resolveCallbacks=[]},resolve:function(e){function t(e,o){if(!e&&o||a===s.length)return i.util.arrayEach(r.resolveCallbacks,function(t){t(e,o)}),void(r.resolveCallbacks.length=0);var n=s[a++];o="function"==typeof n?n.call():n,o.get?o.get(function(e){t(e,e?null:o)}):t(null,o)}var r=this;if(0===r.providers.length)return e(new Error("No providers")),r;if(1===r.resolveCallbacks.push(e)){var a=0,s=r.providers.slice(0);t()}return r}}),i.CredentialProviderChain.defaultProviders=[],i.CredentialProviderChain.addPromisesToClass=function(e){this.prototype.resolvePromise=i.util.promisifyMethod("resolve",e)},i.CredentialProviderChain.deletePromisesFromClass=function(){delete this.prototype.resolvePromise},i.util.addPromises(i.CredentialProviderChain)},{"../core":322}],327:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.SAMLCredentials=i.util.inherit(i.Credentials,{constructor:function(e){i.Credentials.call(this),this.expired=!0,this.params=e},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.service.assumeRoleWithSAML(function(r,i){r||t.service.credentialsFrom(i,t),e(r)})},createClients:function(){this.service=this.service||new a({params:this.params})}})},{"../../clients/sts":306,"../core":322}],328:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.TemporaryCredentials=i.util.inherit(i.Credentials,{constructor:function(e,t){i.Credentials.call(this),this.loadMasterCredentials(t),this.expired=!0,this.params=e||{},this.params.RoleArn&&(this.params.RoleSessionName=this.params.RoleSessionName||"temporary-credentials")},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.masterCredentials.get(function(){t.service.config.credentials=t.masterCredentials,(t.params.RoleArn?t.service.assumeRole:t.service.getSessionToken).call(t.service,function(r,i){r||t.service.credentialsFrom(i,t),e(r)})})},loadMasterCredentials:function(e){for(this.masterCredentials=e||i.config.credentials;this.masterCredentials.masterCredentials;)this.masterCredentials=this.masterCredentials.masterCredentials;"function"!=typeof this.masterCredentials.get&&(this.masterCredentials=new i.Credentials(this.masterCredentials))},createClients:function(){this.service=this.service||new a({params:this.params})}})},{"../../clients/sts":306,"../core":322}],329:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.WebIdentityCredentials=i.util.inherit(i.Credentials,{constructor:function(e,t){i.Credentials.call(this),this.expired=!0,this.params=e,this.params.RoleSessionName=this.params.RoleSessionName||"web-identity",this.data=null,this._clientConfig=i.util.copy(t||{})},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.service.assumeRoleWithWebIdentity(function(r,i){t.data=null,r||(t.data=i,t.service.credentialsFrom(i,t)),e(r)})},createClients:function(){if(!this.service){var e=i.util.merge({},this._clientConfig);e.params=this.params,this.service=new a(e)}}})},{"../../clients/sts":306,"../core":322}],330:[function(e,t,r){(function(r){function i(e){var t=e.service,r=t.api||{},i={};return t.config.region&&(i.region=t.config.region),r.serviceId&&(i.serviceId=r.serviceId),t.config.credentials.accessKeyId&&(i.accessKeyId=t.config.credentials.accessKeyId),i}function a(e,t,r){r&&void 0!==t&&null!==t&&"structure"===r.type&&r.required&&r.required.length>0&&b.arrayEach(r.required,function(i){var s=r.members[i];if(!0===s.endpointDiscoveryId){var o=s.isLocationName?s.name:i;e[o]=String(t[i])}else a(e,t[i],s)})}function s(e,t){var r={};return a(r,e.params,t),r}function o(e){var t=e.service,r=t.api,a=r.operations?r.operations[e.operation]:void 0,o=a?a.input:void 0,n=s(e,o),p=i(e);Object.keys(n).length>0&&(p=b.update(p,n),a&&(p.operation=a.name));var m=y.endpointCache.get(p);if(!m||1!==m.length||""!==m[0].Address)if(m&&m.length>0)e.httpRequest.updateEndpoint(m[0].Address);else{var c=t.makeRequest(r.endpointOperation,{Operation:a.name,Identifiers:n});u(c),c.removeListener("validate",y.EventListeners.Core.VALIDATE_PARAMETERS),c.removeListener("retry",y.EventListeners.Core.RETRY_CHECK),y.endpointCache.put(p,[{Address:"",CachePeriodInMinutes:1}]),c.send(function(e,t){t&&t.Endpoints?y.endpointCache.put(p,t.Endpoints):e&&y.endpointCache.put(p,[{Address:"",CachePeriodInMinutes:1}])})}}function n(e,t){var r=e.service,a=r.api,o=a.operations?a.operations[e.operation]:void 0,n=o?o.input:void 0,p=s(e,n),m=i(e);Object.keys(p).length>0&&(m=b.update(m,p),o&&(m.operation=o.name));var c=y.EndpointCache.getKeyString(m),l=y.endpointCache.get(c);if(l&&1===l.length&&""===l[0].Address)return h[c]||(h[c]=[]),void h[c].push({request:e,callback:t});if(l&&l.length>0)e.httpRequest.updateEndpoint(l[0].Address),t();else{var d=r.makeRequest(a.endpointOperation,{Operation:o.name,Identifiers:p});d.removeListener("validate",y.EventListeners.Core.VALIDATE_PARAMETERS),u(d),y.endpointCache.put(c,[{Address:"",CachePeriodInMinutes:60}]),d.send(function(r,i){if(r){var a={code:"EndpointDiscoveryException",message:"Request cannot be fulfilled without specifying an endpoint",retryable:!1};if(e.response.error=b.error(r,a),y.endpointCache.remove(m),h[c]){var s=h[c];b.arrayEach(s,function(e){e.request.response.error=b.error(r,a),e.callback()}),delete h[c]}}else if(i&&(y.endpointCache.put(c,i.Endpoints),e.httpRequest.updateEndpoint(i.Endpoints[0].Address),h[c])){var s=h[c];b.arrayEach(s,function(e){e.request.httpRequest.updateEndpoint(i.Endpoints[0].Address),e.callback()}),delete h[c]}t()})}}function u(e){var t=e.service.api,r=t.apiVersion;r&&!e.httpRequest.headers["x-amz-api-version"]&&(e.httpRequest.headers["x-amz-api-version"]=r)}function p(e){var t=e.error,r=e.httpResponse;if(t&&("InvalidEndpointException"===t.code||421===r.statusCode)){var a=e.request,o=a.service.api.operations||{},n=o[a.operation]?o[a.operation].input:void 0,u=s(a,n),p=i(a);Object.keys(u).length>0&&(p=b.update(p,u),o[a.operation]&&(p.operation=o[a.operation].name)),y.endpointCache.remove(p)}}function m(e){if(e._originalConfig&&e._originalConfig.endpoint&&!0===e._originalConfig.endpointDiscoveryEnabled)throw b.error(new Error,{code:"ConfigurationException",message:"Custom endpoint is supplied; endpointDiscoveryEnabled must not be true."});var t=y.config[e.serviceIdentifier]||{};return Boolean(y.config.endpoint||t.endpoint||e._originalConfig&&e._originalConfig.endpoint)}function c(e){return["false","0"].indexOf(e)>=0}function l(e){if(!0===(e.service||{}).config.endpointDiscoveryEnabled)return!0;if(b.isBrowser())return!1;for(var t=0;t-1&&0===++e[t];t--);}var s=e("../core").util,o=s.buffer.toBuffer;i.fromNumber=function(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw new Error(e+" is too large (or, if negative, too small) to represent as an Int64");for(var t=new Uint8Array(8),r=7,s=Math.abs(Math.round(e));r>-1&&s>0;r--,s/=256)t[r]=s;return e<0&&a(t),new i(t)},i.prototype.valueOf=function(){var e=this.bytes.slice(0),t=128&e[0];return t&&a(e),parseInt(e.toString("hex"),16)*(t?-1:1)},i.prototype.toString=function(){return String(this.valueOf())},t.exports={Int64:i}},{"../core":322}],340:[function(e,t,r){function i(e,t,r){var i=s(t),o=i.headers[":message-type"];if(o){if("error"===o.value)throw a(i);if("event"!==o.value)return}var n=i.headers[":event-type"],u=r.members[n.value];if(u){var p={},m=u.eventPayloadMemberName;if(m){var c=u.members[m];"binary"===c.type?p[m]=i.body:p[m]=e.parse(i.body.toString(),c)}for(var l=u.eventHeaderMemberNames,d=0;d=0)return e.httpRequest.headers["X-Amz-Content-Sha256"]="UNSIGNED-PAYLOAD",t();a.util.computeSha256(s,function(r,i){r?t(r):(e.httpRequest.headers["X-Amz-Content-Sha256"]=i,t())})}else t()}}),e("SET_CONTENT_LENGTH","afterBuild",function(e){var t=i(e),r=a.util.getRequestPayloadShape(e);if(void 0===e.httpRequest.headers["Content-Length"])try{var s=a.util.string.byteLength(e.httpRequest.body);e.httpRequest.headers["Content-Length"]=s}catch(i){if(r&&r.isStreaming){if(r.requiresLength)throw i;if(t.indexOf("unsigned-body")>=0)return void(e.httpRequest.headers["Transfer-Encoding"]="chunked");throw i}throw i}}),e("SET_HTTP_HOST","afterBuild",function(e){e.httpRequest.headers.Host=e.httpRequest.endpoint.host}),e("RESTART","restart",function(){var e=this.response.error;e&&e.retryable&&(this.httpRequest=new a.HttpRequest(this.service.endpoint,this.service.region),this.response.retryCount=600?this.emit("sign",[this],function(e){e?t(e):o()}):o()}),e("HTTP_HEADERS","httpHeaders",function(e,t,r,i){r.httpResponse.statusCode=e,r.httpResponse.statusMessage=i,r.httpResponse.headers=t,r.httpResponse.body=a.util.buffer.toBuffer(""),r.httpResponse.buffers=[],r.httpResponse.numBytes=0;var s=t.date||t.Date,o=r.request.service;if(s){var n=Date.parse(s);o.config.correctClockSkew&&o.isClockSkewed(n)&&o.applyClockOffset(n)}}),e("HTTP_DATA","httpData",function(e,t){if(e){if(a.util.isNode()){t.httpResponse.numBytes+=e.length;var r=t.httpResponse.headers["content-length"],i={loaded:t.httpResponse.numBytes,total:r};t.request.emit("httpDownloadProgress",[i,t])}t.httpResponse.buffers.push(a.util.buffer.toBuffer(e))}}),e("HTTP_DONE","httpDone",function(e){if(e.httpResponse.buffers&&e.httpResponse.buffers.length>0){var t=a.util.buffer.concat(e.httpResponse.buffers);e.httpResponse.body=t}delete e.httpResponse.numBytes,delete e.httpResponse.buffers}),e("FINALIZE_ERROR","retry",function(e){e.httpResponse.statusCode&&(e.error.statusCode=e.httpResponse.statusCode,void 0===e.error.retryable&&(e.error.retryable=this.service.retryableError(e.error,this)))}),e("INVALIDATE_CREDENTIALS","retry",function(e){if(e.error)switch(e.error.code){case"RequestExpired":case"ExpiredTokenException":case"ExpiredToken":e.error.retryable=!0,e.request.service.config.credentials.expired=!0}}),e("EXPIRED_SIGNATURE","retry",function(e){var t=e.error;t&&"string"==typeof t.code&&"string"==typeof t.message&&t.code.match(/Signature/)&&t.message.match(/expired/)&&(e.error.retryable=!0)}),e("CLOCK_SKEWED","retry",function(e){e.error&&this.service.clockSkewError(e.error)&&this.service.config.correctClockSkew&&(e.error.retryable=!0)}),e("REDIRECT","retry",function(e){e.error&&e.error.statusCode>=300&&e.error.statusCode<400&&e.httpResponse.headers.location&&(this.httpRequest.endpoint=new a.Endpoint(e.httpResponse.headers.location),this.httpRequest.headers.Host=this.httpRequest.endpoint.host,e.error.redirect=!0,e.error.retryable=!0)}),e("RETRY_CHECK","retry",function(e){e.error&&(e.error.redirect&&e.redirectCount=0?(e.error=null,setTimeout(t,r)):t()})}),CorePost:(new s).addNamedListeners(function(e){e("EXTRACT_REQUEST_ID","extractData",a.util.extractRequestId),e("EXTRACT_REQUEST_ID","extractError",a.util.extractRequestId),e("ENOTFOUND_ERROR","httpError",function(e){if("NetworkingError"===e.code&&"ENOTFOUND"===e.errno){var t="Inaccessible host: `"+e.hostname+"'. This service may not be available in the `"+e.region+"' region.";this.response.error=a.util.error(new Error(t),{code:"UnknownEndpoint",region:e.region,hostname:e.hostname,retryable:!0,originalError:e})}})}),Logger:(new s).addNamedListeners(function(t){t("LOG_REQUEST","complete",function(t){function r(e,t){if(!t)return t;switch(e.type){case"structure":var i={};return a.util.each(t,function(t,a){Object.prototype.hasOwnProperty.call(e.members,t)?i[t]=r(e.members[t],a):i[t]=a}),i;case"list":var s=[];return a.util.arrayEach(t,function(t,i){s.push(r(e.member,t))}),s;case"map":var o={};return a.util.each(t,function(t,i){o[t]=r(e.value,i)}),o;default:return e.isSensitive?"***SensitiveInformation***":t}}var i=t.request,s=i.service.config.logger;if(s){var o=function(){var o=t.request.service.getSkewCorrectedDate().getTime(),n=(o-i.startTime.getTime())/1e3,u=!!s.isTTY,p=t.httpResponse.statusCode,m=i.params;if(i.service.api.operations&&i.service.api.operations[i.operation]&&i.service.api.operations[i.operation].input){m=r(i.service.api.operations[i.operation].input,i.params)}var c=e("util").inspect(m,!0,null),l="";return u&&(l+=""),l+="[AWS "+i.service.serviceIdentifier+" "+p,l+=" "+n.toString()+"s "+t.retryCount+" retries]",u&&(l+=""),l+=" "+a.util.string.lowerFirst(i.operation),l+="("+c+")",u&&(l+=""),l}();"function"==typeof s.log?s.log(o):"function"==typeof s.write&&s.write(o+"\n")}})}),Json:(new s).addNamedListeners(function(t){var r=e("./protocol/json");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)}),Rest:(new s).addNamedListeners(function(t){var r=e("./protocol/rest");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)}),RestJson:(new s).addNamedListeners(function(t){var r=e("./protocol/rest_json");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)}),RestXml:(new s).addNamedListeners(function(t){var r=e("./protocol/rest_xml");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)}),Query:(new s).addNamedListeners(function(t){var r=e("./protocol/query");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)})}},{"./core":322,"./discover_endpoint":330,"./protocol/json":357,"./protocol/query":358,"./protocol/rest":359,"./protocol/rest_json":360,"./protocol/rest_xml":361,"./sequential_executor":371,util:422}],344:[function(e,t,r){var i=e("./core"),a=i.util.inherit;i.Endpoint=a({constructor:function(e,t){if(i.util.hideProperties(this,["slashes","auth","hash","search","query"]),void 0===e||null===e)throw new Error("Invalid endpoint: "+e);if("string"!=typeof e)return i.util.copy(e);if(!e.match(/^http/)){e=((t&&void 0!==t.sslEnabled?t.sslEnabled:i.config.sslEnabled)?"https":"http")+"://"+e}i.util.update(this,i.util.urlParse(e)),this.port?this.port=parseInt(this.port,10):this.port="https:"===this.protocol?443:80}}),i.HttpRequest=a({constructor:function(e,t){e=new i.Endpoint(e),this.method="POST",this.path=e.path||"/",this.headers={},this.body="",this.endpoint=e,this.region=t,this._userAgent="",this.setUserAgent()},setUserAgent:function(){this._userAgent=this.headers[this.getUserAgentHeaderName()]=i.util.userAgent()},getUserAgentHeaderName:function(){return(i.util.isBrowser()?"X-Amz-":"")+"User-Agent"},appendToUserAgent:function(e){"string"==typeof e&&e&&(this._userAgent+=" "+e),this.headers[this.getUserAgentHeaderName()]=this._userAgent},getUserAgent:function(){return this._userAgent},pathname:function(){return this.path.split("?",1)[0]},search:function(){var e=this.path.split("?",2)[1];return e?(e=i.util.queryStringParse(e),i.util.queryParamsToString(e)):""},updateEndpoint:function(e){var t=new i.Endpoint(e);this.endpoint=t,this.path=t.path||"/"}}),i.HttpResponse=a({constructor:function(){this.statusCode=void 0,this.headers={},this.body=void 0,this.streaming=!1,this.stream=null},createUnbufferedStream:function(){return this.streaming=!0,this.stream}}),i.HttpClient=a({}),i.HttpClient.getInstance=function(){return void 0===this.singleton&&(this.singleton=new this),this.singleton}},{"./core":322}],345:[function(e,t,r){var i=e("../core"),a=e("events").EventEmitter;e("../http"),i.XHRClient=i.util.inherit({handleRequest:function(e,t,r,s){var o=this,n=e.endpoint,u=new a,p=n.protocol+"//"+n.hostname;80!==n.port&&443!==n.port&&(p+=":"+n.port),p+=e.path;var m=new XMLHttpRequest,c=!1;e.stream=m,m.addEventListener("readystatechange",function(){try{if(0===m.status)return}catch(e){return}this.readyState>=this.HEADERS_RECEIVED&&!c&&(u.statusCode=m.status,u.headers=o.parseHeaders(m.getAllResponseHeaders()),u.emit("headers",u.statusCode,u.headers,m.statusText),c=!0),this.readyState===this.DONE&&o.finishRequest(m,u)},!1),m.upload.addEventListener("progress",function(e){u.emit("sendProgress",e)}),m.addEventListener("progress",function(e){u.emit("receiveProgress",e)},!1),m.addEventListener("timeout",function(){s(i.util.error(new Error("Timeout"),{code:"TimeoutError"}))},!1),m.addEventListener("error",function(){s(i.util.error(new Error("Network Failure"),{code:"NetworkingError"}))},!1),m.addEventListener("abort",function(){s(i.util.error(new Error("Request aborted"),{code:"RequestAbortedError"}))},!1),r(u),m.open(e.method,p,!1!==t.xhrAsync),i.util.each(e.headers,function(e,t){"Content-Length"!==e&&"User-Agent"!==e&&"Host"!==e&&m.setRequestHeader(e,t)}),t.timeout&&!1!==t.xhrAsync&&(m.timeout=t.timeout),t.xhrWithCredentials&&(m.withCredentials=!0);try{m.responseType="arraybuffer"}catch(e){}try{e.body?m.send(e.body):m.send()}catch(t){if(!e.body||"object"!=typeof e.body.buffer)throw t;m.send(e.body.buffer)}return u},parseHeaders:function(e){var t={};return i.util.arrayEach(e.split(/\r?\n/),function(e){var r=e.split(":",1)[0],i=e.substring(r.length+2);r.length>0&&(t[r.toLowerCase()]=i)}),t},finishRequest:function(e,t){var r;if("arraybuffer"===e.responseType&&e.response){var a=e.response;r=new i.util.Buffer(a.byteLength);for(var s=new Uint8Array(a),o=0;o-1?t||"":t,this.isJsonValue?JSON.parse(t):t&&"function"==typeof t.toString?t.toString():t},this.toWireFormat=function(e){return this.isJsonValue?JSON.stringify(e):e}}function l(){s.apply(this,arguments),this.toType=function(e){return null===e||void 0===e?null:parseFloat(e)},this.toWireFormat=this.toType}function d(){s.apply(this,arguments),this.toType=function(e){return null===e||void 0===e?null:parseInt(e,10)},this.toWireFormat=this.toType}function y(){s.apply(this,arguments),this.toType=function(e){var t=g.base64.decode(e);if(this.isSensitive&&g.isNode()&&"function"==typeof g.Buffer.alloc){var r=g.Buffer.alloc(t.length,t);t.fill(0),t=r}return t},this.toWireFormat=g.base64.encode}function b(){y.apply(this,arguments)}function S(){s.apply(this,arguments),this.toType=function(e){return"boolean"==typeof e?e:null===e||void 0===e?null:"true"===e}}var h=e("./collection"),g=e("../util");s.normalizedTypes={character:"string",double:"float",long:"integer",short:"integer",biginteger:"integer",bigdecimal:"float",blob:"binary"},s.types={structure:n,list:u,map:p,boolean:S,timestamp:m,float:l,integer:d,string:c,base64:b,binary:y},s.resolve=function(e,t){if(e.shape){var r=t.api.shapes[e.shape];if(!r)throw new Error("Cannot find shape reference: "+e.shape);return r}return null},s.create=function(e,t,r){if(e.isShape)return e;var i=s.resolve(e,t);if(i){var a=Object.keys(e);t.documentation||(a=a.filter(function(e){return!e.match(/documentation/)}));var o=function(){i.constructor.call(this,e,t,r)};return o.prototype=i,new o}e.type||(e.members?e.type="structure":e.member?e.type="list":e.key?e.type="map":e.type="string");var n=e.type;if(s.normalizedTypes[e.type]&&(e.type=s.normalizedTypes[e.type]),s.types[e.type])return new s.types[e.type](e,t,r);throw new Error("Unrecognized shape type: "+n)},s.shapes={StructureShape:n,ListShape:u,MapShape:p,StringShape:c,BooleanShape:S,Base64Shape:b},t.exports=s},{"../util":396,"./collection":349}],354:[function(e,t,r){var i=e("./core");i.ParamValidator=i.util.inherit({constructor:function(e){!0!==e&&void 0!==e||(e={min:!0}),this.validation=e},validate:function(e,t,r){if(this.errors=[],this.validateMember(e,t||{},r||"params"),this.errors.length>1){var a=this.errors.join("\n* ");throw a="There were "+this.errors.length+" validation errors:\n* "+a,i.util.error(new Error(a),{code:"MultipleValidationErrors",errors:this.errors})}if(1===this.errors.length)throw this.errors[0];return!0},fail:function(e,t){this.errors.push(i.util.error(new Error(t),{code:e}))},validateStructure:function(e,t,r){this.validateType(t,r,["object"],"structure");for(var i,a=0;e.required&&a= 1, but found "'+t+'" for '+r)},validatePattern:function(e,t,r){this.validation.pattern&&void 0!==e.pattern&&(new RegExp(e.pattern).test(t)||this.fail("PatternMatchError",'Provided value "'+t+'" does not match regex pattern /'+e.pattern+"/ for "+r))},validateRange:function(e,t,r,i){this.validation.min&&void 0!==e.min&&t= "+e.min+", but found "+t+" for "+r),this.validation.max&&void 0!==e.max&&t>e.max&&this.fail("MaxRangeError","Expected "+i+" <= "+e.max+", but found "+t+" for "+r)},validateEnum:function(e,t,r){this.validation.enum&&void 0!==e.enum&&-1===e.enum.indexOf(t)&&this.fail("EnumError","Found string value of "+t+", but expected "+e.enum.join("|")+" for "+r)},validateType:function(e,t,r,a){if(null===e||void 0===e)return!1;for(var s=!1,o=0;o63)throw u.error(new Error,{code:"ValidationError",message:"Hostname label length should be between 1 to 63 characters, inclusive."});if(!r.test(e))throw p.util.error(new Error,{code:"ValidationError",message:e+" is not hostname compatible."})})}var u=e("../util"),p=e("../core");t.exports={populateHostPrefix:i}},{"../core":322,"../util":396}],357:[function(e,t,r){function i(e){var t=e.httpRequest,r=e.service.api,i=r.targetPrefix+"."+r.operations[e.operation].name,a=r.jsonVersion||"1.0",s=r.operations[e.operation].input,o=new n;1===a&&(a="1.0"),t.body=o.build(e.params||{},s),t.headers["Content-Type"]="application/x-amz-json-"+a,t.headers["X-Amz-Target"]=i,p(e)}function a(e){var t={},r=e.httpResponse;if(t.code=r.headers["x-amzn-errortype"]||"UnknownError","string"==typeof t.code&&(t.code=t.code.split(":")[0]),r.body.length>0)try{var i=JSON.parse(r.body.toString());(i.__type||i.code)&&(t.code=(i.__type||i.code).split("#").pop()),"RequestEntityTooLarge"===t.code?t.message="Request body must be less than 1 MB":t.message=i.message||i.Message||null}catch(i){t.statusCode=r.statusCode,t.message=r.statusMessage}else t.statusCode=r.statusCode,t.message=r.statusCode.toString();e.error=o.error(new Error,t)}function s(e){var t=e.httpResponse.body.toString()||"{}";if(!1===e.request.service.config.convertResponseTypes)e.data=JSON.parse(t);else{var r=e.request.service.api.operations[e.request.operation],i=r.output||{},a=new u;e.data=a.parse(t,i)}}var o=e("../util"),n=e("../json/builder"),u=e("../json/parser"),p=e("./helpers").populateHostPrefix;t.exports={buildRequest:i,extractError:a,extractData:s}},{"../json/builder":346,"../json/parser":347,"../util":396,"./helpers":356}],358:[function(e,t,r){function i(e){var t=e.service.api.operations[e.operation],r=e.httpRequest;r.headers["Content-Type"]="application/x-www-form-urlencoded; charset=utf-8",r.params={Version:e.service.api.apiVersion,Action:t.name},(new u).serialize(e.params,t.input,function(e,t){r.params[e]=t}),r.body=n.queryParamsToString(r.params),m(e)}function a(e){var t,r=e.httpResponse.body.toString();if(r.match("=0?"&":"?";var n=[];m.arrayEach(Object.keys(s).sort(),function(e){Array.isArray(s[e])||(s[e]=[s[e]]);for(var t=0;t0){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":322,"../util":396,"./rest":359}],362:[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":396}],363:[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":322}],364:[function(e,t,r){t.exports={now:function(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}}},{}],365:[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=0){u=!0;var p=0}var m=function(){u&&p!==n?a.emit("error",i.util.error(new Error("Stream content length mismatch. Received "+p+" of "+n+" bytes."),{code:"StreamContentLengthMismatch"})):2===i.HttpClient.streamsApiVersion?a.end():a.emit("end")},c=o.httpResponse.createUnbufferedStream();if(2===i.HttpClient.streamsApiVersion)if(u){var l=new e.PassThrough;l._write=function(t){return t&&t.length&&(p+=t.length),e.PassThrough.prototype._write.apply(this,arguments)},l.on("end",m),a.on("error",function(e){u=!1,c.unpipe(l),l.emit("end"),l.end()}),c.pipe(l).pipe(a,{end:!1})}else c.pipe(a);else u&&c.on("data",function(e){e&&e.length&&(p+=e.length)}),c.on("data",function(e){a.emit("data",e)}),c.on("end",m);c.on("error",function(e){u=!1,a.emit("error",e)})}}),a},emitEvent:function(e,t,r){"function"==typeof t&&(r=t,t=null),r||(r=function(){}),t||(t=this.eventParameters(e,this.response)),i.SequentialExecutor.prototype.emit.call(this,e,t,function(e){e&&(this.response.error=e),r.call(this,e)})},eventParameters:function(e){switch(e){case"restart":case"validate":case"sign":case"build":case"afterValidate":case"afterBuild":return[this];case"error":return[this.response.error,this.response];default:return[this.response]}},presign:function(e,t){return t||"function"!=typeof e||(t=e,e=null),(new i.Signers.Presign).sign(this.toGet(),e,t)},isPresigned:function(){return Object.prototype.hasOwnProperty.call(this.httpRequest.headers,"presigned-expires")},toUnauthenticated:function(){return this._unAuthenticated=!0,this.removeListener("validate",i.EventListeners.Core.VALIDATE_CREDENTIALS),this.removeListener("sign",i.EventListeners.Core.SIGN),this},toGet:function(){return"query"!==this.service.api.protocol&&"ec2"!==this.service.api.protocol||(this.removeListener("build",this.buildAsGet),this.addListener("build",this.buildAsGet)),this},buildAsGet:function(e){e.httpRequest.method="GET",e.httpRequest.path=e.service.endpoint.path+"?"+e.httpRequest.body,e.httpRequest.body="",delete e.httpRequest.headers["Content-Length"],delete e.httpRequest.headers["Content-Type"]},haltHandlersOnError:function(){this._haltHandlersOnError=!0}}),i.Request.addPromisesToClass=function(e){this.prototype.promise=function(){var t=this;return this.httpRequest.appendToUserAgent("promise"),new e(function(e,r){t.on("complete",function(t){t.error?r(t.error):e(Object.defineProperty(t.data||{},"$response",{value:t}))}),t.runTo()})}},i.Request.deletePromisesFromClass=function(){delete this.prototype.promise},i.util.addPromises(i.Request),i.util.mixin(i.Request,i.SequentialExecutor)}).call(this,e("_process"))},{"./core":322,"./state_machine":395,_process:410,jmespath:409}],368:[function(e,t,r){function i(e){var t=e.request._waiter,r=t.config.acceptors,i=!1,a="retry";r.forEach(function(r){if(!i){var s=t.matchers[r.matcher];s&&s(e,r.expected,r.argument)&&(i=!0,a=r.state)}}),!i&&e.error&&(a="failure"),"success"===a?t.setSuccess(e):t.setError(e,"retry"===a)}var a=e("./core"),s=a.util.inherit,o=e("jmespath");a.ResourceWaiter=s({constructor:function(e,t){this.service=e,this.state=t,this.loadWaiterConfig(this.state)},service:null,state:null,config:null,matchers:{path:function(e,t,r){try{var i=o.search(e.data,r)}catch(e){return!1}return o.strictDeepEqual(i,t)},pathAll:function(e,t,r){try{var i=o.search(e.data,r)}catch(e){return!1}Array.isArray(i)||(i=[i]);var a=i.length;if(!a)return!1;for(var s=0;s=1&&t.doneParts===t.numParts&&t.finishMultiPart()}))}r&&t.fillQueue.call(t)},abort:function(){var e=this;!0===e.isDoneChunking&&1===e.totalPartNumbers&&e.singlePart?e.singlePart.abort():e.cleanup(i.util.error(new Error("Request aborted by user"),{code:"RequestAbortedError",retryable:!1}))},validateBody:function(){var e=this;if(e.body=e.service.config.params.Body,"string"==typeof e.body)e.body=i.util.buffer.toBuffer(e.body);else if(!e.body)throw new Error("params.Body is required");e.sliceFn=i.util.arraySliceFn(e.body)},bindServiceObject:function(e){e=e||{};var t=this;if(t.service){var r=t.service,a=i.util.copy(r.config);a.signatureVersion=r.getSignatureVersion(),t.service=new r.constructor.__super__(a),t.service.config.params=i.util.merge(t.service.config.params||{},e)}else t.service=new i.S3({params:e})},adjustTotalBytes:function(){var e=this;try{e.totalBytes=a(e.body)}catch(e){}if(e.totalBytes){var t=Math.ceil(e.totalBytes/e.maxTotalParts);t>e.partSize&&(e.partSize=t)}else e.totalBytes=void 0},isDoneChunking:!1,partPos:0,totalChunkedBytes:0,totalUploadedBytes:0,totalBytes:void 0,numParts:0,totalPartNumbers:0,activeParts:0,doneParts:0,parts:null,completeInfo:null,failed:!1,multipartReq:null,partBuffers:null,partBufferLength:0,fillBuffer:function(){var e=this,t=a(e.body);if(0===t)return e.isDoneChunking=!0,e.numParts=1,void e.nextChunk(e.body);for(;e.activeParts=e.queueSize)){var t=e.body.read(e.partSize-e.partBufferLength)||e.body.read();if(t&&(e.partBuffers.push(t),e.partBufferLength+=t.length,e.totalChunkedBytes+=t.length),e.partBufferLength>=e.partSize){var r=1===e.partBuffers.length?e.partBuffers[0]:s.concat(e.partBuffers);if(e.partBuffers=[],e.partBufferLength=0,r.length>e.partSize){var i=r.slice(e.partSize);e.partBuffers.push(i),e.partBufferLength+=i.length,r=r.slice(0,e.partSize)}e.nextChunk(r)}e.isDoneChunking&&!e.isDoneSending&&(r=1===e.partBuffers.length?e.partBuffers[0]:s.concat(e.partBuffers),e.partBuffers=[],e.partBufferLength=0,e.totalBytes=e.totalChunkedBytes,e.isDoneSending=!0,(0===e.numParts||r.length>0)&&(e.numParts++,e.nextChunk(r))),e.body.read(0)}},nextChunk:function(e){var t=this;if(t.failed)return null;var r=++t.totalPartNumbers;if(t.isDoneChunking&&1===r){var a={Body:e};this.tags&&(a.Tagging=this.getTaggingHeader());var s=t.service.putObject(a);return s._managedUpload=t,s.on("httpUploadProgress",t.progress).send(t.finishSinglePart),t.singlePart=s,null}if(t.service.config.params.ContentMD5){var o=i.util.error(new Error("The Content-MD5 you specified is invalid for multi-part uploads."),{code:"InvalidDigest",retryable:!1});return t.cleanup(o),null}if(t.completeInfo[r]&&null!==t.completeInfo[r].ETag)return null;t.activeParts++,t.service.config.params.UploadId?t.uploadPart(e,r):t.multipartReq?t.queueChunks(e,r):(t.multipartReq=t.service.createMultipartUpload(),t.multipartReq.on("success",function(e){t.service.config.params.UploadId=e.data.UploadId,t.multipartReq=null}),t.queueChunks(e,r),t.multipartReq.on("error",function(e){t.cleanup(e)}),t.multipartReq.send())},getTaggingHeader:function(){for(var e=[],t=0;t-1&&r.splice(a,1)}return this},removeAllListeners:function(e){return e?delete this._events[e]:this._events={},this},emit:function(e,t,r){r||(r=function(){});var i=this.listeners(e),a=i.length;return this.callListeners(i,t,r),a>0},callListeners:function(e,t,r,a){function s(a){if(a&&(n=i.util.error(n||new Error,a),o._haltHandlersOnError))return r.call(o,n);o.callListeners(e,t,r,n)}for(var o=this,n=a||null;e.length>0;){var u=e.shift();if(u._isAsync)return void u.apply(o,t.concat([s]));try{u.apply(o,t)}catch(e){n=i.util.error(n||new Error,e)}if(n&&o._haltHandlersOnError)return void r.call(o,n)}r.call(o,n)},addListeners:function(e){var t=this;return e._events&&(e=e._events),i.util.each(e,function(e,r){"function"==typeof r&&(r=[r]),i.util.arrayEach(r,function(r){t.on(e,r)})}),t},addNamedListener:function(e,t,r,i){return this[e]=r,this.addListener(t,r,i),this},addNamedAsyncListener:function(e,t,r,i){return r._isAsync=!0,this.addNamedListener(e,t,r,i)},addNamedListeners:function(e){var t=this;return e(function(){t.addNamedListener.apply(t,arguments)},function(){t.addNamedAsyncListener.apply(t,arguments)}),this}}),i.SequentialExecutor.prototype.addListener=i.SequentialExecutor.prototype.on,t.exports=i.SequentialExecutor},{"./core":322}],372:[function(e,t,r){(function(r){var i=e("./core"),a=e("./model/api"),s=e("./region_config"),o=i.util.inherit,n=0;i.Service=o({constructor:function(e){if(!this.loadServiceClass)throw i.util.error(new Error,"Service must be constructed with `new' operator");var t=this.loadServiceClass(e||{});if(t){var r=i.util.copy(e),a=new t(e);return Object.defineProperty(a,"_originalConfig",{get:function(){return r},enumerable:!1,configurable:!0}),a._clientId=++n,a}this.initialize(e)},initialize:function(e){var t=i.config[this.serviceIdentifier];if(this.config=new i.Config(i.config),t&&this.config.update(t,!0),e&&this.config.update(e,!0),this.validateService(),this.config.endpoint||s.configureEndpoint(this),this.config.endpoint=this.endpointFromTemplate(this.config.endpoint),this.setEndpoint(this.config.endpoint),i.SequentialExecutor.call(this),i.Service.addDefaultMonitoringListeners(this),(this.config.clientSideMonitoring||i.Service._clientSideMonitoring)&&this.publisher){var a=this.publisher;this.addNamedListener("PUBLISH_API_CALL","apiCall",function(e){r.nextTick(function(){a.eventHandler(e)})}),this.addNamedListener("PUBLISH_API_ATTEMPT","apiCallAttempt",function(e){r.nextTick(function(){a.eventHandler(e)})})}},validateService:function(){},loadServiceClass:function(e){var t=e;if(i.util.isEmpty(this.api)){if(t.apiConfig)return i.Service.defineServiceApi(this.constructor,t.apiConfig);if(this.constructor.services){t=new i.Config(i.config),t.update(e,!0);var r=t.apiVersions[this.constructor.serviceIdentifier];return r=r||t.apiVersion,this.getLatestServiceClass(r)}return null}return null},getLatestServiceClass:function(e){return e=this.getLatestServiceVersion(e),null===this.constructor.services[e]&&i.Service.defineServiceApi(this.constructor,e),this.constructor.services[e]},getLatestServiceVersion:function(e){if(!this.constructor.services||0===this.constructor.services.length)throw new Error("No services defined on "+this.constructor.serviceIdentifier);if(e?i.util.isType(e,Date)&&(e=i.util.date.iso8601(e).split("T")[0]):e="latest",Object.hasOwnProperty(this.constructor.services,e))return e;for(var t=Object.keys(this.constructor.services).sort(),r=null,a=t.length-1;a>=0;a--)if("*"!==t[a][t[a].length-1]&&(r=t[a]),t[a].substr(0,10)<=e)return r;throw new Error("Could not find "+this.constructor.serviceIdentifier+" API to satisfy version constraint `"+e+"'")},api:{},defaultRetryCount:3,customizeRequests:function(e){if(e){if("function"!=typeof e)throw new Error("Invalid callback type '"+typeof e+"' provided in customizeRequests");this.customRequestHandler=e}else this.customRequestHandler=null},makeRequest:function(e,t,r){if("function"==typeof t&&(r=t,t=null),t=t||{},this.config.params){var a=this.api.operations[e];a&&(t=i.util.copy(t),i.util.each(this.config.params,function(e,r){a.input.members[e]&&(void 0!==t[e]&&null!==t[e]||(t[e]=r))}))}var s=new i.Request(this,e,t);return this.addAllRequestListeners(s),this.attachMonitoringEmitter(s),r&&s.send(r),s},makeUnauthenticatedRequest:function(e,t,r){"function"==typeof t&&(r=t,t={});var i=this.makeRequest(e,t).toUnauthenticated();return r?i.send(r):i},waitFor:function(e,t,r){return new i.ResourceWaiter(this,e).wait(t,r)},addAllRequestListeners:function(e){for(var t=[i.events,i.EventListeners.Core,this.serviceInterface(),i.EventListeners.CorePost],r=0;r299?(a.code&&(r.FinalAwsException=a.code),a.message&&(r.FinalAwsExceptionMessage=a.message)):((a.code||a.name)&&(r.FinalSdkException=a.code||a.name),a.message&&(r.FinalSdkExceptionMessage=a.message))}return r},apiAttemptEvent:function(e){var t=e.service.api.operations[e.operation],r={Type:"ApiCallAttempt",Api:t?t.name:e.operation,Version:1,Service:e.service.api.serviceId||e.service.api.endpointPrefix,Fqdn:e.httpRequest.endpoint.hostname,UserAgent:e.httpRequest.getUserAgent()},i=e.response;return i.httpResponse.statusCode&&(r.HttpStatusCode=i.httpResponse.statusCode),!e._unAuthenticated&&e.service.config.credentials&&e.service.config.credentials.accessKeyId&&(r.AccessKey=e.service.config.credentials.accessKeyId),i.httpResponse.headers?(e.httpRequest.headers["x-amz-security-token"]&&(r.SessionToken=e.httpRequest.headers["x-amz-security-token"]),i.httpResponse.headers["x-amzn-requestid"]&&(r.XAmznRequestId=i.httpResponse.headers["x-amzn-requestid"]),i.httpResponse.headers["x-amz-request-id"]&&(r.XAmzRequestId=i.httpResponse.headers["x-amz-request-id"]),i.httpResponse.headers["x-amz-id-2"]&&(r.XAmzId2=i.httpResponse.headers["x-amz-id-2"]),r):r},attemptFailEvent:function(e){var t=this.apiAttemptEvent(e),r=e.response,i=r.error;return r.httpResponse.statusCode>299?(i.code&&(t.AwsException=i.code),i.message&&(t.AwsExceptionMessage=i.message)):((i.code||i.name)&&(t.SdkException=i.code||i.name),i.message&&(t.SdkExceptionMessage=i.message)),t},attachMonitoringEmitter:function(e){var t,r,a,s,o,n,u=0,p=this;e.on("validate",function(){s=i.util.realClock.now(),n=Date.now()},!0),e.on("sign",function(){r=i.util.realClock.now(),t=Date.now(),o=e.httpRequest.region,u++},!0),e.on("validateResponse",function(){a=Math.round(i.util.realClock.now()-r)}),e.addNamedListener("API_CALL_ATTEMPT","success",function(){var r=p.apiAttemptEvent(e);r.Timestamp=t,r.AttemptLatency=a>=0?a:0,r.Region=o,p.emit("apiCallAttempt",[r])}),e.addNamedListener("API_CALL_ATTEMPT_RETRY","retry",function(){var s=p.attemptFailEvent(e);s.Timestamp=t,a=a||Math.round(i.util.realClock.now()-r),s.AttemptLatency=a>=0?a:0,s.Region=o,p.emit("apiCallAttempt",[s])}),e.addNamedListener("API_CALL","complete",function(){var t=p.apiCallEvent(e);if(t.AttemptCount=u,!(t.AttemptCount<=0)){t.Timestamp=n;var r=Math.round(i.util.realClock.now()-s);t.Latency=r>=0?r:0;var a=e.response;"number"==typeof a.retryCount&&"number"==typeof a.maxRetries&&a.retryCount>=a.maxRetries&&(t.MaxRetriesExceeded=1),p.emit("apiCall",[t])}})},setupRequestListeners:function(e){},getSignerClass:function(e){var t,r=null,a="";if(e){r=(e.service.api.operations||{})[e.operation]||null,a=r?r.authtype:""}return t=this.config.signatureVersion?this.config.signatureVersion:"v4"===a||"v4-unsigned-body"===a?"v4":this.api.signatureVersion,i.Signers.RequestSigner.getVersion(t)},serviceInterface:function(){switch(this.api.protocol){case"ec2":case"query":return i.EventListeners.Query;case"json":return i.EventListeners.Json;case"rest-json":return i.EventListeners.RestJson;case"rest-xml":return i.EventListeners.RestXml}if(this.api.protocol)throw new Error("Invalid service `protocol' "+this.api.protocol+" in API config")},successfulResponse:function(e){return e.httpResponse.statusCode<300},numRetries:function(){return void 0!==this.config.maxRetries?this.config.maxRetries:this.defaultRetryCount},retryDelays:function(e,t){return i.util.calculateRetryDelay(e,this.config.retryDelayOptions,t)},retryableError:function(e){return!!this.timeoutError(e)||(!!this.networkingError(e)||(!!this.expiredCredentialsError(e)||(!!this.throttledError(e)||e.statusCode>=500)))},networkingError:function(e){return"NetworkingError"===e.code},timeoutError:function(e){return"TimeoutError"===e.code},expiredCredentialsError:function(e){return"ExpiredTokenException"===e.code},clockSkewError:function(e){switch(e.code){case"RequestTimeTooSkewed":case"RequestExpired":case"InvalidSignatureException":case"SignatureDoesNotMatch":case"AuthFailure":case"RequestInTheFuture":return!0;default:return!1}},getSkewCorrectedDate:function(){return new Date(Date.now()+this.config.systemClockOffset)},applyClockOffset:function(e){e&&(this.config.systemClockOffset=e-Date.now())},isClockSkewed:function(e){if(e)return Math.abs(this.getSkewCorrectedDate().getTime()-e)>=3e5},throttledError:function(e){if(429===e.statusCode)return!0;switch(e.code){case"ProvisionedThroughputExceededException":case"Throttling":case"ThrottlingException":case"RequestLimitExceeded":case"RequestThrottled":case"RequestThrottledException":case"TooManyRequestsException":case"TransactionInProgressException":return!0;default:return!1}},endpointFromTemplate:function(e){if("string"!=typeof e)return e;var t=e;return t=t.replace(/\{service\}/g,this.api.endpointPrefix),t=t.replace(/\{region\}/g,this.config.region),t=t.replace(/\{scheme\}/g,this.config.sslEnabled?"https":"http")},setEndpoint:function(e){this.endpoint=new i.Endpoint(e,this.config)},paginationConfig:function(e,t){var r=this.api.operations[e].paginator;if(!r){if(t){var a=new Error;throw i.util.error(a,"No pagination configuration for "+e)}return null}return r}}),i.util.update(i.Service,{defineMethods:function(e){i.util.each(e.prototype.api.operations,function(t){if(!e.prototype[t]){"none"===e.prototype.api.operations[t].authtype?e.prototype[t]=function(e,r){return this.makeUnauthenticatedRequest(t,e,r)}:e.prototype[t]=function(e,r){return this.makeRequest(t,e,r)}}})},defineService:function(e,t,r){i.Service._serviceMap[e]=!0,Array.isArray(t)||(r=t,t=[]);var a=o(i.Service,r||{});if("string"==typeof e){i.Service.addVersions(a,t);var s=a.serviceIdentifier||e;a.serviceIdentifier=s}else a.prototype.api=e,i.Service.defineMethods(a);if(i.SequentialExecutor.call(this.prototype),!this.prototype.publisher&&i.util.clientSideMonitoring){var n=i.util.clientSideMonitoring.Publisher,u=i.util.clientSideMonitoring.configProvider,p=u();this.prototype.publisher=new n(p),p.enabled&&(i.Service._clientSideMonitoring=!0)}return i.SequentialExecutor.call(a.prototype),i.Service.addDefaultMonitoringListeners(a.prototype),a},addVersions:function(e,t){Array.isArray(t)||(t=[t]),e.services=e.services||{};for(var r=0;r=0){throw i.util.error(new Error,{name:"InvalidEndpoint",message:"AWS.IotData requires an explicit `endpoint' configuration option."})}},setupRequestListeners:function(e){e.addListener("validateResponse",this.validateResponseBody),a.indexOf(e.operation)>-1&&e.addListener("extractData",i.util.convertPayloadToString)},validateResponseBody:function(e){var t=e.httpResponse.body.toString()||"{}",r=t.trim();r&&"{"===r.charAt(0)||(e.httpResponse.body="")}})},{"../core":322}],379:[function(e,t,r){var i=e("../core");i.util.update(i.Lambda.prototype,{setupRequestListeners:function(e){"invoke"===e.operation&&e.addListener("extractData",i.util.convertPayloadToString)}})},{"../core":322}],380:[function(e,t,r){var i=e("../core");i.util.update(i.MachineLearning.prototype,{setupRequestListeners:function(e){"predict"===e.operation&&e.addListener("build",this.buildEndpoint)},buildEndpoint:function(e){var t=e.params.PredictEndpoint;t&&(e.httpRequest.endpoint=new i.Endpoint(t))}})},{"../core":322}],381:[function(e,t,r){e("../polly/presigner")},{"../polly/presigner":355}],382:[function(e,t,r){var i=e("../core");e("../rds/signer");var a=["copyDBSnapshot","createDBInstanceReadReplica","createDBCluster","copyDBClusterSnapshot"];i.util.update(i.RDS.prototype,{setupRequestListeners:function(e){if(-1!==a.indexOf(e.operation)&&e.params.SourceRegion)if(e.params=i.util.copy(e.params),e.params.PreSignedUrl||e.params.SourceRegion===this.config.region)delete e.params.SourceRegion;else{var t=!!this.config.paramValidation;t&&e.removeListener("validate",i.EventListeners.Core.VALIDATE_PARAMETERS),e.onAsync("validate",this.buildCrossRegionPresignedUrl),t&&e.addListener("validate",i.EventListeners.Core.VALIDATE_PARAMETERS)}},buildCrossRegionPresignedUrl:function(e,t){var r=i.util.copy(e.service.config);r.region=e.params.SourceRegion,delete e.params.SourceRegion,delete r.endpoint,delete r.params,r.signatureVersion="v4";var a=e.service.config.region,s=new e.service.constructor(r),o=s[e.operation](i.util.copy(e.params));o.on("build",function(e){var t=e.httpRequest;t.params.DestinationRegion=a,t.body=i.util.queryParamsToString(t.params)}),o.presign(function(r,i){r?t(r):(e.params.PreSignedUrl=i,t())})}})},{"../core":322,"../rds/signer":363}],383:[function(e,t,r){var i=e("../core");i.util.update(i.Route53.prototype,{setupRequestListeners:function(e){e.on("build",this.sanitizeUrl)},sanitizeUrl:function(e){var t=e.httpRequest.path;e.httpRequest.path=t.replace(/\/%2F\w+%2F/,"/")},retryableError:function(e){return"PriorRequestNotComplete"===e.code&&400===e.statusCode||i.Service.prototype.retryableError.call(this,e)}})},{"../core":322}],384:[function(e,t,r){(function(t){var r=e("../core"),i=e("../signers/v4_credentials"),a=e("../config_regional_endpoint"),s=e("../region_config");e("../s3/managed_upload");var o={completeMultipartUpload:!0,copyObject:!0,uploadPartCopy:!0},n=["AuthorizationHeaderMalformed","BadRequest","PermanentRedirect",301];r.util.update(r.S3.prototype,{getSignatureVersion:function(e){var t=this.api.signatureVersion,r=this._originalConfig?this._originalConfig.signatureVersion:null,i=this.config.signatureVersion,a=!!e&&e.isPresigned();return r?r="v2"===r?"s3":r:(!0!==a?t="v4":i&&(t=i),t)},getSignerClass:function(e){var t=this.getSignatureVersion(e);return r.Signers.RequestSigner.getVersion(t)},validateService:function(){var e,t=[];if(this.config.region||(this.config.region="us-east-1"),!this.config.endpoint&&this.config.s3BucketEndpoint&&t.push("An endpoint must be provided when configuring `s3BucketEndpoint` to true."),1===t.length?e=t[0]:t.length>1&&(e="Multiple configuration errors:\n"+t.join("\n")),e)throw r.util.error(new Error,{name:"InvalidEndpoint",message:e})},shouldDisableBodySigning:function(e){var t=this.getSignerClass();return!0===this.config.s3DisableBodySigning&&t===r.Signers.V4&&"https:"===e.httpRequest.endpoint.protocol},setupRequestListeners:function(e){if(e.addListener("validate",this.validateScheme),e.addListener("validate",this.validateBucketName,!0),e.addListener("validate",this.optInUsEast1RegionalEndpoint,!0),e.removeListener("validate",r.EventListeners.Core.VALIDATE_REGION),e.addListener("build",this.addContentType),e.addListener("build",this.computeContentMd5),e.addListener("build",this.computeSseCustomerKeyMd5),e.addListener("build",this.populateURI),e.addListener("afterBuild",this.addExpect100Continue),e.addListener("extractError",this.extractError),e.addListener("extractData",r.util.hoistPayloadMember),e.addListener("extractData",this.extractData),e.addListener("beforePresign",this.prepareSignedUrl),this.shouldDisableBodySigning(e)&&(e.removeListener("afterBuild",r.EventListeners.Core.COMPUTE_SHA256),e.addListener("afterBuild",this.disableBodySigning)),this.isAccessPointApplicable(e))return e.removeListener("validate",this.validateBucketName),e.addListener("validate",this.validateAccessPointArn,!0),e.addListener("validate",this.validateArnRegion),e.removeListener("build",this.populateURI),void e.addListener("build",this.populateUriFromAccessPoint);e.addListener("validate",this.validateBucketEndpoint),e.addListener("validate",this.correctBucketRegionFromCache),e.onAsync("extractError",this.requestBucketRegion),r.util.isBrowser()&&e.onAsync("retry",this.reqRegionForNetworkingError)},validateScheme:function(e){var t=e.params,i=e.httpRequest.endpoint.protocol;if((t.SSECustomerKey||t.CopySourceSSECustomerKey)&&"https:"!==i)throw r.util.error(new Error,{code:"ConfigError",message:"Cannot send SSE keys over HTTP. Set 'sslEnabled'to 'true' in your configuration"})},validateBucketEndpoint:function(e){if(!e.params.Bucket&&e.service.config.s3BucketEndpoint){throw r.util.error(new Error,{code:"ConfigError",message:"Cannot send requests to root API with `s3BucketEndpoint` set."})}},isAccessPointApplicable:function(e){var t=(e.service.api.operations[e.operation]||{}).input||{},i=t.members||{};return!("createBucket"===e.operation||!e.params.Bucket||!i.Bucket)&&!!r.util.ARN.validate(e.params.Bucket)},validateAccessPointArn:function(e){var t=r.util.ARN.parse(e.params.Bucket);e._parsedAccessPointArn=t;var t=e._parsedAccessPointArn;if("s3"!==t.service)throw r.util.error(new Error,{code:"InvalidAccessPointARN",message:"expect 's3' in access point ARN service component"});if(!t.region)throw r.util.error(new Error,{code:"InvalidAccessPointARN",message:"Access point ARN region is empty"});if(0!==t.resource.indexOf("accesspoint:")&&0!==t.resource.indexOf("accesspoint/"))throw r.util.error(new Error,{code:"InvalidAccessPointARN",message:"Access point ARN resource should begin with 'accesspoint/'"});var i=t.resource["accesspoint".length];if(2!==t.resource.split(i).length)throw r.util.error(new Error,{code:"InvalidAccessPointARN",message:"Too many resource parameters in access point ARN"});var a=t.resource.split(i)[1],s=a+"-"+t.accountId;if(!e.service.isDnsCompatible(s)||s.match(/\./))throw r.util.error(new Error,{code:"InvalidAccessPointARN",message:"Access point ARN is not DNS compatible. Got "+a});e._parsedAccessPointArn.accessPoint=a},validateArnRegion:function(e){var t=e.service.loadUseArnRegionConfig(e),i=e._parsedAccessPointArn.region,a=e.service.config.region;if(a.indexOf("fips")>=0||i.indexOf("fips")>=0)throw r.util.error(new Error,{code:"InvalidConfiguration",message:"Access point endpoint is not compatible with FIPS region"});if(!t&&i!==a)throw r.util.error(new Error,{code:"InvalidConfiguration",message:"Configured region conflicts with access point region"});if(t&&s.getEndpointSuffix(i)!==s.getEndpointSuffix(a))throw r.util.error(new Error,{code:"InvalidConfiguration",message:"Configured region and access point region not in same partition"});if(e.service.config.useAccelerateEndpoint)throw r.util.error(new Error,{code:"InvalidConfiguration",message:"useAccelerateEndpoint config is not supported with access point ARN"})},loadUseArnRegionConfig:function(e){var i="AWS_S3_USE_ARN_REGION",a="s3_use_arn_region",s=!0,o=e.service._originalConfig||{};if(void 0!==e.service.config.s3UseArnRegion)return e.service.config.s3UseArnRegion;if(void 0!==o.s3UseArnRegion)s=!0===o.s3UseArnRegion;else if(r.util.isNode())if(t.env[i]){var n=t.env[i].trim().toLowerCase();if(["false","true"].indexOf(n)<0)throw r.util.error(new Error,{code:"InvalidConfiguration",message:i+" only accepts true or false. Got "+t.env[i],retryable:!1});s="true"===n}else{var u={},p={};try{u=r.util.getProfilesFromSharedConfig(r.util.iniLoader),p=u[t.env.AWS_PROFILE||r.util.defaultProfile]}catch(e){}if(p[a]){if(["false","true"].indexOf(p[a].trim().toLowerCase())<0)throw r.util.error(new Error,{code:"InvalidConfiguration",message:a+" only accepts true or false. Got "+p[a],retryable:!1});s="true"===p[a].trim().toLowerCase()}}return e.service.config.s3UseArnRegion=s,s},validateBucketName:function(e){var t=e.service,i=t.getSignatureVersion(e),a=e.params&&e.params.Bucket,s=e.params&&e.params.Key,o=a&&a.indexOf("/");if(a&&o>=0)if("string"==typeof s&&o>0){e.params=r.util.copy(e.params);var n=a.substr(o+1)||"";e.params.Key=n+"/"+s,e.params.Bucket=a.substr(0,o)}else if("v4"===i){var u="Bucket names cannot contain forward slashes. Bucket: "+a;throw r.util.error(new Error,{code:"InvalidBucket",message:u})}},isValidAccelerateOperation:function(e){return-1===["createBucket","deleteBucket","listBuckets"].indexOf(e)},optInUsEast1RegionalEndpoint:function(e){var t=e.service,r=t.config;if(r.s3UsEast1RegionalEndpoint=a(t._originalConfig,{env:"AWS_S3_US_EAST_1_REGIONAL_ENDPOINT",sharedConfig:"s3_us_east_1_regional_endpoint",clientConfig:"s3UsEast1RegionalEndpoint"}),!(t._originalConfig||{}).endpoint&&"us-east-1"===e.httpRequest.region&&"regional"===r.s3UsEast1RegionalEndpoint&&e.httpRequest.endpoint.hostname.indexOf("s3.amazonaws.com")>=0){var i=r.endpoint.indexOf(".amazonaws.com");regionalEndpoint=r.endpoint.substring(0,i)+".us-east-1"+r.endpoint.substring(i),e.httpRequest.updateEndpoint(regionalEndpoint)}},populateURI:function(e){var t=e.httpRequest,r=e.params.Bucket,i=e.service,a=t.endpoint;if(r&&!i.pathStyleBucketName(r)){i.config.useAccelerateEndpoint&&i.isValidAccelerateOperation(e.operation)?i.config.useDualstack?a.hostname=r+".s3-accelerate.dualstack.amazonaws.com":a.hostname=r+".s3-accelerate.amazonaws.com":i.config.s3BucketEndpoint||(a.hostname=r+"."+a.hostname);var s=a.port;a.host=80!==s&&443!==s?a.hostname+":"+a.port:a.hostname, diff --git a/lib/core.js b/lib/core.js index bcabbe8722..83e373fda1 100644 --- a/lib/core.js +++ b/lib/core.js @@ -20,7 +20,7 @@ AWS.util.update(AWS, { /** * @constant */ - VERSION: '2.595.0', + VERSION: '2.596.0', /** * @api private diff --git a/package.json b/package.json index 11f4055a8a..a2002f97a8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "aws-sdk", "description": "AWS SDK for JavaScript", - "version": "2.595.0", + "version": "2.596.0", "author": { "name": "Amazon Web Services", "email": "",