diff --git a/.changes/2.1287.0.json b/.changes/2.1287.0.json new file mode 100644 index 0000000000..2003c38f30 --- /dev/null +++ b/.changes/2.1287.0.json @@ -0,0 +1,7 @@ +[ + { + "type": "feature", + "category": "SecurityLake", + "description": "Allow CreateSubscriber API to take string input that allows setting more descriptive SubscriberDescription field. Make souceTypes field required in model level for UpdateSubscriberRequest as it is required for every API call on the backend. Allow ListSubscribers take any String as nextToken param." + } +] \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 92e37c640b..504e5f02e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,10 @@ # Changelog for AWS SDK for JavaScript - + +## 2.1287.0 +* feature: SecurityLake: Allow CreateSubscriber API to take string input that allows setting more descriptive SubscriberDescription field. Make souceTypes field required in model level for UpdateSubscriberRequest as it is required for every API call on the backend. Allow ListSubscribers take any String as nextToken param. + ## 2.1286.0 * feature: CloudFront: Extend response headers policy to support removing headers from viewer responses diff --git a/README.md b/README.md index dac0e40bcf..f562ee67e0 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ for further details. 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/securitylake-2018-05-10.min.json b/apis/securitylake-2018-05-10.min.json index d175ba5fab..3819a9da30 100644 --- a/apis/securitylake-2018-05-10.min.json +++ b/apis/securitylake-2018-05-10.min.json @@ -627,7 +627,7 @@ "type": "structure", "members": { "subscriber": { - "shape": "S2m" + "shape": "S2n" } } } @@ -674,7 +674,7 @@ "exceptionMessage": {}, "remediation": {}, "timestamp": { - "shape": "S2n" + "shape": "S2o" } } } @@ -758,7 +758,7 @@ "subscribers": { "type": "list", "member": { - "shape": "S2m" + "shape": "S2n" } } } @@ -840,7 +840,8 @@ "input": { "type": "structure", "required": [ - "id" + "id", + "sourceTypes" ], "members": { "externalId": {}, @@ -859,7 +860,7 @@ "type": "structure", "members": { "subscriber": { - "shape": "S2m" + "shape": "S2n" } } }, @@ -1000,7 +1001,7 @@ "union": true } }, - "S2m": { + "S2n": { "type": "structure", "required": [ "accountId", @@ -1013,7 +1014,7 @@ }, "accountId": {}, "createdAt": { - "shape": "S2n" + "shape": "S2o" }, "externalId": {}, "roleArn": {}, @@ -1029,11 +1030,11 @@ "subscriptionProtocol": {}, "subscriptionStatus": {}, "updatedAt": { - "shape": "S2n" + "shape": "S2o" } } }, - "S2n": { + "S2o": { "type": "timestamp", "timestampFormat": "iso8601" } diff --git a/apis/securitylake-2018-05-10.normal.json b/apis/securitylake-2018-05-10.normal.json index cb93a299bb..908ac9cf68 100644 --- a/apis/securitylake-2018-05-10.normal.json +++ b/apis/securitylake-2018-05-10.normal.json @@ -45,7 +45,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Adds a natively-supported Amazon Web Services service as a Security Lake source. Enables source types for member accounts in required Regions, based on specified parameters. You can choose any source type in any Region for accounts that are either part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, any combination of the three dimensions can be supplied to this API.

By default, dimension refers to the entire set. When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when members is not specified, the API disables all Security Lake member accounts for sources. Similarly, when Regions are not specified, Security Lake is disabled for all the Regions where Security Lake is available as a service.

You can use this API only to enable a natively-supported Amazon Web Services services as a source. Use CreateCustomLogSource to enable data collection from a custom source.

" + "documentation": "

Adds a natively supported Amazon Web Service as an Amazon Security Lake source. Enables source types for member accounts in required Amazon Web Services Regions, based on the parameters you specify. You can choose any source type in any Region for either accounts that are part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, you can supply any combination of the three dimensions to this API.

By default, a dimension refers to the entire set. When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when you do not specify members, the API enables all Security Lake member accounts for all sources. Similarly, when you do not specify Regions, Security Lake is enabled for all the Regions where Security Lake is available as a service.

You can use this API only to enable natively supported Amazon Web Services as a source. Use CreateCustomLogSource to enable data collection from a custom source.

" }, "CreateCustomLogSource": { "name": "CreateCustomLogSource", @@ -83,7 +83,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Adds a third-party custom source in Amazon Security Lake, from the Region where you want to create a custom source. Security Lake can collect logs and events from third-party custom sources. After creating the appropriate API roles, use this API to add a custom source name in Security Lake. This operation creates a partition in the Security Lake S3 bucket as the target location for log files from the custom source, an associated Glue table, and an Glue crawler.

" + "documentation": "

Adds a third-party custom source in Amazon Security Lake, from the Amazon Web Services Region where you want to create a custom source. Security Lake can collect logs and events from third-party custom sources. After creating the appropriate IAM role to invoke Glue crawler, use this API to add a custom source name in Security Lake. This operation creates a partition in the Amazon S3 bucket for Security Lake as the target location for log files from the custom source in addition to an associated Glue table and an Glue crawler.

" }, "CreateDatalake": { "name": "CreateDatalake", @@ -121,7 +121,7 @@ "shape": "ResourceNotFoundException" } ], - "documentation": "

Initializes an Amazon Security Lake instance with the provided (or default) configuration. You can enable Security Lake in Regions with customized settings in advance before enabling log collection in Regions. You can either use the enableAll parameter to specify all Regions or you can specify the Regions you want to enable Security Lake using the Regions parameter and configure these Regions using the configurations parameter. When the CreateDataLake API is called multiple times, if that Region is already enabled, it will update the Region if configuration for that Region is provided. If that Region is a new Region, it will be set up with the customized configurations if it is specified.

When you enable Security Lake, it starts ingesting security data after the CreateAwsLogSource call. This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also enables all the existing settings and resources that it stores or maintains for your account in the current Region, including security log and event data. For more information, see the Amazon Security Lake User Guide.

" + "documentation": "

Initializes an Amazon Security Lake instance with the provided (or default) configuration. You can enable Security Lake in Amazon Web Services Regions with customized settings before enabling log collection in Regions. You can either use the enableAll parameter to specify all Regions or specify the Regions where you want to enable Security Lake. To specify particular Regions, use the Regions parameter and then configure these Regions using the configurations parameter. If you have already enabled Security Lake in a Region when you call this command, the command will update the Region if you provide new configuration parameters. If you have not already enabled Security Lake in the Region when you call this API, it will set up the data lake in the Region with the specified configurations.

When you enable Security Lake, it starts ingesting security data after the CreateAwsLogSource call. This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also enables all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. For more information, see the Amazon Security Lake User Guide.

" }, "CreateDatalakeAutoEnable": { "name": "CreateDatalakeAutoEnable", @@ -150,7 +150,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Automatically enable Security Lake in the specified Regions to begin ingesting security data. When you choose to enable organization accounts automatically, then Security Lake begins to enable new accounts as member accounts as they are added to the organization. Security Lake does not enable existing organization accounts that are not yet enabled.

" + "documentation": "

Automatically enables Amazon Security Lake for new member accounts in your organization. Security Lake is not automatically enabled for any existing member accounts in your organization.

" }, "CreateDatalakeDelegatedAdmin": { "name": "CreateDatalakeDelegatedAdmin", @@ -179,7 +179,7 @@ "shape": "AccessDeniedException" } ], - "documentation": "

Designates the Security Lake administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account.

" + "documentation": "

Designates the Amazon Security Lake delegated administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account.

" }, "CreateDatalakeExceptionsSubscription": { "name": "CreateDatalakeExceptionsSubscription", @@ -208,7 +208,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Creates the specified notification subscription in Security Lake. Creates the specified subscription notifications in the specified organization.

" + "documentation": "

Creates the specified notification subscription in Amazon Security Lake for the organization you specify.

" }, "CreateSubscriber": { "name": "CreateSubscriber", @@ -249,7 +249,7 @@ "shape": "InvalidInputException" } ], - "documentation": "

Creates a subscription permission for accounts that are already enabled in Security Lake.

" + "documentation": "

Creates a subscription permission for accounts that are already enabled in Amazon Security Lake. You can create a subscriber with access to data in the current Amazon Web Services Region.

" }, "CreateSubscriptionNotificationConfiguration": { "name": "CreateSubscriptionNotificationConfiguration", @@ -287,7 +287,7 @@ "shape": "InvalidInputException" } ], - "documentation": "

Creates the specified notification subscription in Security Lake. Creates the specified subscription notifications from the specified organization.

" + "documentation": "

Notifies the subscriber when new data is written to the data lake for the sources that the subscriber consumes in Security Lake.

" }, "DeleteAwsLogSource": { "name": "DeleteAwsLogSource", @@ -316,7 +316,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Removes a natively-supported Amazon Web Services service as a Amazon Security Lake source. When you remove the source, Security Lake stops collecting data from that source, and subscribers can no longer consume new data from the source. Subscribers can still consume data that Amazon Security Lake collected from the source before disablement.

You can choose any source type in any Region for accounts that are either part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, any combination of the three dimensions can be supplied to this API.

By default, dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when members is not specified, the API disables all Security Lake member accounts for sources. Similarly, when Regions are not specified, Security Lake is disabled for all the Regions where Security Lake is available as a service.

You can use this API to remove a natively-supported Amazon Web Services service as a source. Use DeregisterCustomData to remove a custom source.

When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. For example, if you don't provide specific accounts, the API applies to the entire set of accounts in your organization.

" + "documentation": "

Removes a natively supported Amazon Web Service as an Amazon Security Lake source. When you remove the source, Security Lake stops collecting data from that source, and subscribers can no longer consume new data from the source. Subscribers can still consume data that Security Lake collected from the source before disablement.

You can choose any source type in any Amazon Web Services Region for either accounts that are part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, you can supply any combination of the three dimensions to this API.

By default, a dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when you do not specify members, the API disables all Security Lake member accounts for sources. Similarly, when you do not specify Regions, Security Lake is disabled for all the Regions where Security Lake is available as a service.

When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. For example, if you don't provide specific accounts, the API applies to the entire set of accounts in your organization.

" }, "DeleteCustomLogSource": { "name": "DeleteCustomLogSource", @@ -354,7 +354,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Removes a custom log source from Security Lake.

", + "documentation": "

Removes a custom log source from Amazon Security Lake.

", "idempotent": true }, "DeleteDatalake": { @@ -393,7 +393,7 @@ "shape": "ResourceNotFoundException" } ], - "documentation": "

When you delete Amazon Security Lake from your account, Security Lake is disabled in all Regions. Also, this API automatically performs the off-boarding steps to off-board the account from Security Lake . This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your account in the current Region, including security log and event data. DeleteDatalake does not delete the S3 bucket which is owned by the Amazon Web Services account. For more information, see the Amazon Security Lake User Guide.

", + "documentation": "

When you delete Amazon Security Lake from your account, Security Lake is disabled in all Amazon Web Services Regions. Also, this API automatically takes steps to remove the account from Security Lake .

This operation disables security data collection from sources, deletes data stored, and stops making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. The DeleteDatalake operation does not delete the Amazon S3 bucket, which is owned by your Amazon Web Services account. For more information, see the Amazon Security Lake User Guide.

", "idempotent": true }, "DeleteDatalakeAutoEnable": { @@ -423,7 +423,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Automatically delete Security Lake in the specified Regions to stop ingesting security data. When you delete Amazon Security Lake from your account, Security Lake is disabled in all Regions. Also, this API automatically performs the off-boarding steps to off-board the account from Security Lake . This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your account in the current Region, including security log and event data. For more information, see the Amazon Security Lake User Guide.

" + "documentation": "

Automatically deletes Amazon Security Lake to stop collecting security data. When you delete Amazon Security Lake from your account, Security Lake is disabled in all Regions. Also, this API automatically takes steps to remove the account from Security Lake .

This operation disables security data collection from sources, deletes data stored, and stops making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. The DeleteDatalake operation does not delete the Amazon S3 bucket, which is owned by your Amazon Web Services account. For more information, see the Amazon Security Lake User Guide.

" }, "DeleteDatalakeDelegatedAdmin": { "name": "DeleteDatalakeDelegatedAdmin", @@ -452,7 +452,7 @@ "shape": "AccessDeniedException" } ], - "documentation": "

Deletes the Security Lake administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account.

" + "documentation": "

Deletes the Amazon Security Lake delegated administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account.

" }, "DeleteDatalakeExceptionsSubscription": { "name": "DeleteDatalakeExceptionsSubscription", @@ -481,7 +481,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Deletes the specified notification subscription in Security Lake. Deletes the specified subscription notifications in the specified organization.

" + "documentation": "

Deletes the specified notification subscription in Amazon Security Lake for the organization you specify.

" }, "DeleteSubscriber": { "name": "DeleteSubscriber", @@ -522,7 +522,7 @@ "shape": "InvalidInputException" } ], - "documentation": "

Deletes the specified subscription permissions to Security Lake. Deletes the specified subscription permissions from the specified organization.

", + "documentation": "

Deletes the subscription permission for accounts that are already enabled in Amazon Security Lake. You can delete a subscriber and remove access to data in the current Amazon Web Services Region.

", "idempotent": true }, "DeleteSubscriptionNotificationConfiguration": { @@ -561,7 +561,7 @@ "shape": "InvalidInputException" } ], - "documentation": "

Deletes the specified notification subscription in Security Lake. Deletes the specified subscription notifications from the specified organization.

", + "documentation": "

Deletes the specified notification subscription in Amazon Security Lake for the organization you specify.

", "idempotent": true }, "GetDatalake": { @@ -594,7 +594,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Retrieve the Security Lake configuration object for the specified account ID. This API does not take input parameters.

" + "documentation": "

Retrieves the Amazon Security Lake configuration object for the specified Amazon Web Services account ID. You can use the GetDatalake API to know whether Security Lake is enabled for the current Region. This API does not take input parameters.

" }, "GetDatalakeAutoEnable": { "name": "GetDatalakeAutoEnable", @@ -623,7 +623,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Retrieves the configuration that will be automatically set up for accounts added to the organization after the organization has on boarded to Amazon Security Lake. This API does not take input parameters.

" + "documentation": "

Retrieves the configuration that will be automatically set up for accounts added to the organization after the organization has onboarded to Amazon Security Lake. This API does not take input parameters.

" }, "GetDatalakeExceptionsExpiry": { "name": "GetDatalakeExceptionsExpiry", @@ -652,7 +652,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Retrieves the expiration period and time-to-live (TTL) for which the exception message will remain. Exceptions are stored by default, for a 2 week period of time from when a record was created in Security Lake. This API does not take input parameters. This API does not take input parameters.

" + "documentation": "

Retrieves the expiration period and time-to-live (TTL) for which the exception message will remain. Exceptions are stored by default, for 2 weeks from when a record was created in Amazon Security Lake. This API does not take input parameters.

" }, "GetDatalakeExceptionsSubscription": { "name": "GetDatalakeExceptionsSubscription", @@ -710,7 +710,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Retrieve the Security Lake configuration object for the specified account ID. This API does not take input parameters.

" + "documentation": "

Retrieves a snapshot of the current Region, including whether Amazon Security Lake is enabled for those accounts and which sources Security Lake is collecting data from.

" }, "GetSubscriber": { "name": "GetSubscriber", @@ -742,7 +742,7 @@ "shape": "InvalidInputException" } ], - "documentation": "

Retrieves subscription information for the specified subscription ID.

" + "documentation": "

Retrieves the subscription information for the specified subscription ID. You can get information about a specific subscriber.

" }, "ListDatalakeExceptions": { "name": "ListDatalakeExceptions", @@ -771,7 +771,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

List the Amazon Security Lake exceptions that you can use to find the source of problems and fix them.

" + "documentation": "

Lists the Amazon Security Lake exceptions that you can use to find the source of problems and fix them.

" }, "ListLogSources": { "name": "ListLogSources", @@ -803,7 +803,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Lists the log sources in the current region.

" + "documentation": "

Retrieves the log sources in the current Amazon Web Services Region.

" }, "ListSubscribers": { "name": "ListSubscribers", @@ -838,7 +838,7 @@ "shape": "InvalidInputException" } ], - "documentation": "

List all subscribers for the specific Security Lake account ID.

" + "documentation": "

List all subscribers for the specific Amazon Security Lake account ID. You can retrieve a list of subscriptions associated with a specific organization or Amazon Web Services account.

" }, "UpdateDatalake": { "name": "UpdateDatalake", @@ -870,7 +870,7 @@ "shape": "ResourceNotFoundException" } ], - "documentation": "

Amazon Security Lake allows you to specify where to store your security data and for how long. You can specify a rollup Region to consolidate data from multiple regions.

You can update the properties of a Region or source. Input can either be directly specified to the API.

", + "documentation": "

Specifies where to store your security data and for how long. You can add a rollup Region to consolidate data from multiple Amazon Web Services Regions.

", "idempotent": true }, "UpdateDatalakeExceptionsExpiry": { @@ -900,7 +900,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Update the expiration period for the exception message to your preferred time, and control the time-to-live (TTL) for the exception message to remain. Exceptions are stored by default, for a 2 week period of time from when a record was created in Security Lake.

" + "documentation": "

Update the expiration period for the exception message to your preferred time, and control the time-to-live (TTL) for the exception message to remain. Exceptions are stored by default for 2 weeks from when a record was created in Amazon Security Lake.

" }, "UpdateDatalakeExceptionsSubscription": { "name": "UpdateDatalakeExceptionsSubscription", @@ -929,7 +929,7 @@ "shape": "AccountNotFoundException" } ], - "documentation": "

Update the subscription notification for exception notification.

" + "documentation": "

Updates the specified notification subscription in Amazon Security Lake for the organization you specify.

" }, "UpdateSubscriber": { "name": "UpdateSubscriber", @@ -967,7 +967,7 @@ "shape": "InvalidInputException" } ], - "documentation": "

Update the subscription permission for the given Security Lake account ID.

", + "documentation": "

Updates an existing subscription for the given Amazon Security Lake account ID. You can update a subscriber by changing the sources that the subscriber consumes data from.

", "idempotent": true }, "UpdateSubscriptionNotificationConfiguration": { @@ -1006,7 +1006,7 @@ "shape": "InvalidInputException" } ], - "documentation": "

Create a new subscription notification or add the existing subscription notification setting for the specified subscription ID.

" + "documentation": "

Creates a new subscription notification or adds the existing subscription notification setting for the specified subscription ID.

" } }, "shapes": { @@ -1038,7 +1038,7 @@ "members": { "account": { "shape": "String", - "documentation": "

Account ID of the Security Lake account for which logs are collected.

" + "documentation": "

The ID of the Security Lake account for which logs are collected.

" }, "eventClass": { "shape": "OcsfEventClass", @@ -1046,14 +1046,14 @@ }, "logsStatus": { "shape": "LogsStatusList", - "documentation": "

Log status for the Security Lake account.

" + "documentation": "

The log status for the Security Lake account.

" }, "sourceType": { "shape": "String", - "documentation": "

The supported Amazon Web Services services from which logs and events are collected. Amazon Security Lake supports logs and events collection for natively-supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide.

" + "documentation": "

The supported Amazon Web Services from which logs and events are collected. Amazon Security Lake supports log and event collection for natively supported Amazon Web Services.

" } }, - "documentation": "

Security Lake can collect logs and events from supported Amazon Web Services services and custom sources.

" + "documentation": "

Amazon Security Lake collects logs and events from supported Amazon Web Services and custom sources. For the list of supported Amazon Web Services, see the Amazon Security Lake User Guide.

" }, "AccountSourcesList": { "type": "list", @@ -1079,14 +1079,14 @@ "members": { "region": { "shape": "Region", - "documentation": "

The Regions where Security Lake is auto enabled

" + "documentation": "

The Amazon Web Services Regions where Security Lake is automatically enabled.

" }, "sources": { "shape": "AwsSourceTypeList", - "documentation": "

The Amazon Web Services sources which are auto enabled in Security Lake.

" + "documentation": "

The Amazon Web Services sources that are automatically enabled in Security Lake.

" } }, - "documentation": "

Automatically enable new organization accounts as member accounts from a Security Lake administrator account.

" + "documentation": "

Automatically enable new organization accounts as member accounts from an Amazon Security Lake administrator account.

" }, "AutoEnableNewRegionConfigurationList": { "type": "list", @@ -1127,19 +1127,19 @@ "members": { "enableAllDimensions": { "shape": "AllDimensionsMap", - "documentation": "

Enables specific sources in all Regions and source types.

" + "documentation": "

Enables data collection from specific Amazon Web Services sources in all specific accounts and specific Regions.

" }, "enableSingleDimension": { "shape": "InputSet", - "documentation": "

Enables all sources in specific accounts or Regions.

" + "documentation": "

Enables data collection from all Amazon Web Services sources in specific accounts or Regions.

" }, "enableTwoDimensions": { "shape": "TwoDimensionsMap", - "documentation": "

Enables specific service sources in specific accounts or Regions.

" + "documentation": "

Enables data collection from specific Amazon Web Services sources in specific accounts or Regions.

" }, "inputOrder": { "shape": "DimensionSet", - "documentation": "

Specifies the input order to enable dimensions in Security Lake, namely region, source type, and member account.

" + "documentation": "

Specifies the input order to enable dimensions in Security Lake, namely Region, source type, and member account.

" } } }, @@ -1148,11 +1148,11 @@ "members": { "failed": { "shape": "AccountList", - "documentation": "

List of all accounts in which enabling a natively-supported Amazon Web Services service as a Security Lake failed. The failure occurred as these accounts are not part of an organization.

" + "documentation": "

Lists all accounts in which enabling a natively supported Amazon Web Service as a Security Lake source failed. The failure occurred as these accounts are not part of an organization.

" }, "processing": { "shape": "AccountList", - "documentation": "

List of all accounts which are in the process of enabling a natively-supported Amazon Web Services service as a Security Lake.

" + "documentation": "

Lists the accounts that are in the process of enabling a natively supported Amazon Web Service as a Security Lake source.

" } } }, @@ -1167,19 +1167,19 @@ "members": { "customSourceName": { "shape": "CustomSourceType", - "documentation": "

The custom source name for a third-party custom source.

" + "documentation": "

The name for a third-party custom source. This must be a Regionally unique value.

" }, "eventClass": { "shape": "OcsfEventClass", - "documentation": "

The Open Cybersecurity Schema Framework (OCSF) event class.

" + "documentation": "

The Open Cybersecurity Schema Framework (OCSF) event class which describes the type of data that the custom source will send to Security Lake.

" }, "glueInvocationRoleArn": { "shape": "RoleArn", - "documentation": "

The IAM Role ARN to be used by the Glue Crawler. The recommended IAM policies are:

" + "documentation": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role to be used by the Glue crawler. The recommended IAM policies are:

" }, "logProviderAccountId": { "shape": "AwsAccountId", - "documentation": "

The Account ID that will assume the above Role to put logs into the Data Lake.

" + "documentation": "

The Amazon Web Services account ID of the custom source that will write logs and events into the Amazon S3 Data Lake.

" } } }, @@ -1195,7 +1195,7 @@ "members": { "customDataLocation": { "shape": "String", - "documentation": "

The location of the partition in the Security Lake S3 bucket.

" + "documentation": "

The location of the partition in the Amazon S3 bucket for Security Lake.

" }, "glueCrawlerName": { "shape": "String", @@ -1211,7 +1211,7 @@ }, "logProviderAccessRoleArn": { "shape": "String", - "documentation": "

IAM Role ARN to be used by the entity putting logs into your Custom Source partition. Security Lake will apply the correct access policies to this Role, but this Role must have the trust policy created manually. This Role's name must start with the text 'Security Lake'. It must trust the logProviderAccountId to assume it.

" + "documentation": "

The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the logProviderAccountId to assume the role.

" } } }, @@ -1223,7 +1223,7 @@ "members": { "configurationForNewAccounts": { "shape": "AutoEnableNewRegionConfigurationList", - "documentation": "

Enable Amazon Security Lake with the specified configurations settings to begin ingesting security data for new accounts in Security Lake.

" + "documentation": "

Enable Security Lake with the specified configuration settings to begin collecting security data for new accounts in your organization.

" } } }, @@ -1239,7 +1239,7 @@ "members": { "account": { "shape": "SafeString", - "documentation": "

Account ID of the Security Lake delegated administrator.

" + "documentation": "

The Amazon Web Services account ID of the Security Lake delegated administrator.

" } } }, @@ -1256,11 +1256,11 @@ "members": { "notificationEndpoint": { "shape": "SafeString", - "documentation": "

The account in which the exception notifications subscription is created.

" + "documentation": "

The Amazon Web Services account where you want to receive exception notifications.

" }, "subscriptionProtocol": { "shape": "SubscriptionProtocolType", - "documentation": "

The subscription protocol to which exception messages are posted.

" + "documentation": "

The subscription protocol to which exception notifications are posted.

" } } }, @@ -1273,19 +1273,19 @@ "members": { "configurations": { "shape": "LakeConfigurationRequestMap", - "documentation": "

Enable Security Lake with the specified configurations settings to begin ingesting security data.

" + "documentation": "

Specify the Region or Regions that will contribute data to the rollup region.

" }, "enableAll": { "shape": "Boolean", - "documentation": "

Enable Security Lake in all Regions to begin ingesting security data.

" + "documentation": "

Enable Security Lake in all Regions.

" }, "metaStoreManagerRoleArn": { "shape": "RoleArn", - "documentation": "

The Role ARN used to create and update the Glue table with partitions generated by ingestion and normalization of Amazon Web Services log sources and custom sources.

" + "documentation": "

The Amazon Resource Name (ARN) used to create and update the Glue table. This table contains partitions generated by the ingestion and normalization of Amazon Web Services log sources and custom sources.

" }, "regions": { "shape": "RegionSet", - "documentation": "

Enable Security Lake in the specified Regions to begin ingesting security data. To enable Security Lake in specific Amazon Web Services Regions, such as us-east-1 or ap-northeast-3, provide the Region codes. For a list of Region codes, see Region codes in the Amazon Web Services General Reference.

" + "documentation": "

Enable Security Lake in the specified Regions. To enable Security Lake in specific Amazon Web Services Regions, such as us-east-1 or ap-northeast-3, provide the Region codes. For a list of Region codes, see Amazon Security Lake endpoints in the Amazon Web Services General Reference.

" } } }, @@ -1308,23 +1308,23 @@ }, "accountId": { "shape": "AwsAccountId", - "documentation": "

The third party Amazon Web Services account ID used to access your data.

" + "documentation": "

The Amazon Web Services account ID used to access your data.

" }, "externalId": { "shape": "SafeString", - "documentation": "

The external ID of the subscriber. External ID allows the user that is assuming the role to assert the circumstances in which they are operating. It also provides a way for the account owner to permit the role to be assumed only under specific circumstances.

" + "documentation": "

The external ID of the subscriber. This lets the user that is assuming the role assert the circumstances in which they are operating. It also provides a way for the account owner to permit the role to be assumed only under specific circumstances.

" }, "sourceTypes": { "shape": "SourceTypeList", - "documentation": "

The supported Amazon Web Services services from which logs and events are collected. Amazon Security Lake supports logs and events collection for natively-supported Amazon Web Services services.

" + "documentation": "

The supported Amazon Web Services from which logs and events are collected. Security Lake supports log and event collection for natively supported Amazon Web Services.

" }, "subscriberDescription": { - "shape": "SafeString", - "documentation": "

The subscriber descriptions for the subscriber account in Amazon Security Lake.

" + "shape": "DescriptionString", + "documentation": "

The description for your subscriber account in Security Lake.

" }, "subscriberName": { "shape": "CreateSubscriberRequestSubscriberNameString", - "documentation": "

The name of your Amazon Security Lake subscriber account.

" + "documentation": "

The name of your Security Lake subscriber account.

" } } }, @@ -1341,19 +1341,19 @@ "members": { "roleArn": { "shape": "RoleArn", - "documentation": "

The Amazon Resource Name (ARN) created by the user to provide to the subscriber. For more information about ARNs and how to use them in policies, see IAM identifiers in the IAM User Guide.

" + "documentation": "

The Amazon Resource Name (ARN) created by you to provide to the subscriber. For more information about ARNs and how to use them in policies, see IAM identifiers in the Identity and Access Management (IAM) User Guide. .

" }, "s3BucketArn": { "shape": "S3BucketArn", - "documentation": "

The Amazon Resource Name (ARN) for the Amazon S3 bucket.

" + "documentation": "

The ARN for the Amazon S3 bucket.

" }, "snsArn": { "shape": "SnsTopicArn", - "documentation": "

The Amazon Resource Name (ARN) for the Amazon Simple Notification Service.

" + "documentation": "

The ARN for the Amazon Simple Notification Service.

" }, "subscriptionId": { "shape": "UUID", - "documentation": "

The subscriptionId that was created by the CreateSubscriber API call.

" + "documentation": "

The subscriptionId created by the CreateSubscriber API call.

" } } }, @@ -1365,31 +1365,31 @@ "members": { "createSqs": { "shape": "Boolean", - "documentation": "

Create a new subscription notification for the specified subscription ID in Security Lake.

" + "documentation": "

Create an Amazon Simple Queue Service queue.

" }, "httpsApiKeyName": { "shape": "String", - "documentation": "

The key name for the subscription notification.

" + "documentation": "

The key name for the notification subscription.

" }, "httpsApiKeyValue": { "shape": "String", - "documentation": "

The key value for the subscription notification.

" + "documentation": "

The key value for the notification subscription.

" }, "httpsMethod": { "shape": "HttpsMethod", - "documentation": "

The HTTPS method used for the subscription notification.

" + "documentation": "

The HTTPS method used for the notification subscription.

" }, "roleArn": { "shape": "RoleArn", - "documentation": "

The Amazon Resource Name (ARN) specifying the role of the subscriber.

" + "documentation": "

The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role that you created.

" }, "subscriptionEndpoint": { "shape": "CreateSubscriptionNotificationConfigurationRequestSubscriptionEndpointString", - "documentation": "

The subscription endpoint in Security Lake.

" + "documentation": "

The subscription endpoint in Security Lake. If you prefer notification with an HTTPs endpoint, populate this field.

" }, "subscriptionId": { "shape": "UUID", - "documentation": "

The subscription ID for which the subscription notification is specified.

", + "documentation": "

The subscription ID for the notification subscription/

", "location": "uri", "locationName": "subscriptionId" } @@ -1404,7 +1404,7 @@ "members": { "queueArn": { "shape": "SafeString", - "documentation": "

Returns the Amazon resource name (ARN) of the queue.

" + "documentation": "

Returns the Amazon Resource Name (ARN) of the queue.

" } } }, @@ -1420,7 +1420,7 @@ "members": { "disableAllDimensions": { "shape": "AllDimensionsMap", - "documentation": "

Removes the specific Amazon Web Services sources from all Regions and source types.

" + "documentation": "

Removes the specific Amazon Web Services sources from specific accounts and specific Regions.

" }, "disableSingleDimension": { "shape": "InputSet", @@ -1432,7 +1432,7 @@ }, "inputOrder": { "shape": "DimensionSet", - "documentation": "

This is a mandatory input. Specifies the input order to disable dimensions in Security Lake, namely Region, source type, and member.

" + "documentation": "

This is a mandatory input. Specify the input order to disable dimensions in Security Lake, namely Region (Amazon Web Services Region code, source type, and member (account ID of a specific Amazon Web Services account).

" } } }, @@ -1445,7 +1445,7 @@ }, "processing": { "shape": "AccountList", - "documentation": "

Deletion of the Amazon Web Services sources is in-progress.

" + "documentation": "

Deletion of the Amazon Web Services sources is in progress.

" } } }, @@ -1457,7 +1457,7 @@ "members": { "customSourceName": { "shape": "String", - "documentation": "

The custom source name for the custome log source.

", + "documentation": "

The custom source name for the custom log source.

", "location": "querystring", "locationName": "customSourceName" } @@ -1471,7 +1471,7 @@ "members": { "customDataLocation": { "shape": "String", - "documentation": "

The location of the partition in the Security Lake S3 bucket.

" + "documentation": "

The location of the partition in the Amazon S3 bucket for Security Lake.

" } } }, @@ -1483,7 +1483,7 @@ "members": { "removeFromConfigurationForNewAccounts": { "shape": "AutoEnableNewRegionConfigurationList", - "documentation": "

Delete Amazon Security Lake with the specified configurations settings to stop ingesting security data for new accounts in Security Lake.

" + "documentation": "

Delete Amazon Security Lake with the specified configuration settings to stop ingesting security data for new accounts in Security Lake.

" } } }, @@ -1499,7 +1499,7 @@ "members": { "account": { "shape": "SafeString", - "documentation": "

Account ID the Security Lake delegated administrator.

", + "documentation": "

The account ID the Security Lake delegated administrator.

", "location": "uri", "locationName": "account" } @@ -1559,7 +1559,7 @@ "members": { "subscriptionId": { "shape": "UUID", - "documentation": "

The subscription ID of the Amazon Security Lake subscriber account.

", + "documentation": "

The ID of the Security Lake subscriber account.

", "location": "uri", "locationName": "subscriptionId" } @@ -1569,6 +1569,10 @@ "type": "structure", "members": {} }, + "DescriptionString": { + "type": "string", + "pattern": "^[\\\\\\w\\s\\-_:/,.@=+]*$" + }, "Dimension": { "type": "string", "enum": [ @@ -1622,10 +1626,10 @@ }, "region": { "shape": "SafeString", - "documentation": "

List of Regions where the failure occurred.

" + "documentation": "

List of Amazon Web Services Regions where the failure occurred.

" } }, - "documentation": "

Response element for actions which make changes namely create, update, or delete actions.

" + "documentation": "

Response element for actions that make changes, namely create, update, or delete actions.

" }, "FailuresResponseList": { "type": "list", @@ -1708,15 +1712,15 @@ "members": { "accountSet": { "shape": "InputSet", - "documentation": "

The account IDs for which a static snapshot of the current Region, including enabled accounts and log sources is retrieved.

" + "documentation": "

The Amazon Web Services account ID for which a static snapshot of the current Amazon Web Services Region, including enabled accounts and log sources, is retrieved.

" }, "maxAccountResults": { "shape": "Integer", - "documentation": "

The maximum limit of accounts for which the static snapshot of the current Region including enabled accounts and log sources is retrieved.

" + "documentation": "

The maximum limit of accounts for which the static snapshot of the current Region, including enabled accounts and log sources, is retrieved.

" }, "nextToken": { "shape": "SafeString", - "documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + "documentation": "

Lists if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged.

Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } }, @@ -1732,7 +1736,7 @@ }, "nextToken": { "shape": "SafeString", - "documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + "documentation": "

Lists if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged.

Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } }, @@ -1744,7 +1748,7 @@ "members": { "id": { "shape": "String", - "documentation": "

A value created by Security Lake that uniquely identifies your GetSubscriber API request.

", + "documentation": "

A value created by Amazon Security Lake that uniquely identifies your GetSubscriber API request.

", "location": "uri", "locationName": "id" } @@ -1755,7 +1759,7 @@ "members": { "subscriber": { "shape": "SubscriberResource", - "documentation": "

Subscription information for the specified subscription ID

" + "documentation": "

The subscription information for the specified subscription ID.

" } } }, @@ -1781,7 +1785,7 @@ "members": { "encryptionKey": { "shape": "String", - "documentation": "

The type of encryption key used by Security Lake to encrypt the lake configuration object.

" + "documentation": "

The type of encryption key used by Amazon Security Lake to encrypt the Security Lake configuration object.

" }, "replicationDestinationRegions": { "shape": "RegionSet", @@ -1789,7 +1793,7 @@ }, "replicationRoleArn": { "shape": "RoleArn", - "documentation": "

Replication settings for the Amazon S3 buckets. This parameter uses the IAM role created by you that is managed by Security Lake, to ensure the replication setting is correct.

" + "documentation": "

Replication settings for the Amazon S3 buckets. This parameter uses the Identity and Access Management (IAM) role you created that is managed by Security Lake, to ensure the replication setting is correct.

" }, "retentionSettings": { "shape": "RetentionSettingList", @@ -1800,7 +1804,7 @@ "documentation": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value, both of which you define.

" } }, - "documentation": "

Provides details of lake configuration object in Amazon Security Lake.

" + "documentation": "

Provides details of Amazon Security Lake configuration object.

" }, "LakeConfigurationRequestMap": { "type": "map", @@ -1816,15 +1820,15 @@ "members": { "encryptionKey": { "shape": "String", - "documentation": "

The type of encryption key used by Security Lake to encrypt the lake configuration

" + "documentation": "

The type of encryption key used by secure the Security Lake configuration object.

" }, "replicationDestinationRegions": { "shape": "RegionSet", - "documentation": "

Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. Amazon S3 buckets that are configured for object replication can be owned by the same AWS account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different Amazon Web Services Regions or within the same Region as the source bucket.

Set up one or more rollup Regions by providing the Region or Regions that should contribute to the central rollup Region.

" + "documentation": "

Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. Amazon S3 buckets that are configured for object replication can be owned by the same Amazon Web Services account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different Amazon Web Services Regions or within the same Region as the source bucket.

Set up one or more rollup Regions by providing the Region or Regions that should contribute to the central rollup Region.

" }, "replicationRoleArn": { "shape": "RoleArn", - "documentation": "

Replication settings for the Amazon S3 buckets. This parameter uses the IAM role created by you that is managed by Security Lake, to ensure the replication setting is correct.

" + "documentation": "

Replication settings for the Amazon S3 buckets. This parameter uses the IAM role you created that is managed by Security Lake, to ensure the replication setting is correct.

" }, "retentionSettings": { "shape": "RetentionSettingList", @@ -1843,7 +1847,7 @@ "documentation": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value, both of which you define.

" } }, - "documentation": "

Provides details of lake configuration object in Amazon Security Lake.

" + "documentation": "

Provides details of Amazon Security Lake lake configuration object.

" }, "LakeConfigurationResponseMap": { "type": "map", @@ -1863,11 +1867,11 @@ }, "nextToken": { "shape": "SafeString", - "documentation": "

List if there are more results available. if nextToken is returned, You can make the call again using the returned token to retrieve the next page

" + "documentation": "

List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged.

Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" }, "regionSet": { "shape": "RegionSet", - "documentation": "

List the regions from which exceptions are retrieved.

" + "documentation": "

List the Amazon Web Services Regions from which exceptions are retrieved.

" } } }, @@ -1879,11 +1883,11 @@ "members": { "nextToken": { "shape": "SafeString", - "documentation": "

List if there are more results available. if nextToken is returned, You can make the call again using the returned token to retrieve the next page

" + "documentation": "

List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged.

Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" }, "nonRetryableFailures": { "shape": "FailuresResponseList", - "documentation": "

Lists the non-retryable failures in the current region.

" + "documentation": "

Lists the failures that cannot be retried in the current Region.

" } } }, @@ -1896,23 +1900,23 @@ }, "listAllDimensions": { "shape": "AllDimensionsMap", - "documentation": "

List the view of log sources for enabled Security Lake accounts in all Regions and source types.

" + "documentation": "

List the view of log sources for enabled Amazon Security Lake accounts for specific Amazon Web Services sources from specific accounts and specific Regions.

" }, "listSingleDimension": { "shape": "InputSet", - "documentation": "

List the view of log sources for enabled Security Lake accounts for the entire region.

" + "documentation": "

List the view of log sources for enabled Security Lake accounts for all Amazon Web Services sources from specific accounts or specific Regions.

" }, "listTwoDimensions": { "shape": "TwoDimensionsMap", - "documentation": "

Lists the log sources for the specified source types in enabled Security Lake accounts for the entire Region, for selected member accounts.

" + "documentation": "

Lists the view of log sources for enabled Security Lake accounts for specific Amazon Web Services sources from specific accounts or specific Regions.

" }, "maxResults": { "shape": "Integer", - "documentation": "

The maximum number of accounts for which the configuration is displayed.

" + "documentation": "

The maximum number of accounts for which the log sources are displayed.

" }, "nextToken": { "shape": "SafeString", - "documentation": "

If nextToken is returned, there are more results available. You can make the call again using the returned token to retrieve the next page.

" + "documentation": "

If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page.

" } } }, @@ -1924,11 +1928,11 @@ "members": { "nextToken": { "shape": "String", - "documentation": "

If nextToken is returned, there are more results available. You can make the call again using the returned token to retrieve the next page.

" + "documentation": "

If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page.

" }, "regionSourceTypesAccountsList": { "shape": "RegionSourceTypesAccountsList", - "documentation": "

Lists the log sources in the Regions for enabled Security Lake accounts.

" + "documentation": "

Lists the log sources by Regions for enabled Security Lake accounts.

" } } }, @@ -1942,8 +1946,8 @@ "locationName": "maxResults" }, "nextToken": { - "shape": "SafeString", - "documentation": "

If nextToken is returned, there are more results available. You can make the call again using the returned token to retrieve the next page.

", + "shape": "String", + "documentation": "

If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page.

", "location": "querystring", "locationName": "nextToken" } @@ -1956,12 +1960,12 @@ ], "members": { "nextToken": { - "shape": "SafeString", - "documentation": "

If nextToken is returned, there are more results available. You can make the call again using the returned token to retrieve the next page.

" + "shape": "String", + "documentation": "

If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page.

" }, "subscribers": { "shape": "SubscriberList", - "documentation": "

The subscribers available in the specified Security Lake account ID.

" + "documentation": "

The subscribers available for the specified Security Lake account ID.

" } } }, @@ -1974,14 +1978,14 @@ "members": { "healthStatus": { "shape": "SourceStatus", - "documentation": "

Health status of services including error codes and patterns.

" + "documentation": "

The health status of services, including error codes and patterns.

" }, "pathToLogs": { "shape": "String", "documentation": "

Defines path the stored logs are available which has information on your systems, applications, and services.

" } }, - "documentation": "

Log status for the Security Lake account.

" + "documentation": "

Retrieves the Logs status for the Amazon Security Lake account.

" }, "LogsStatusList": { "type": "list", @@ -2036,14 +2040,14 @@ "members": { "endpoint": { "shape": "SafeString", - "documentation": "

The account which is subscribed to receive exception notifications.

" + "documentation": "

The account that is subscribed to receive exception notifications.

" }, "protocol": { "shape": "SafeString", "documentation": "

The protocol to which notification messages are posted.

" } }, - "documentation": "

Notifications in Security Lake which dictates how notifications are posted at the endpoint.

" + "documentation": "

Protocol used in Amazon Security Lake that dictates how notifications are posted at the endpoint.

" }, "Region": { "type": "string", @@ -2074,14 +2078,14 @@ "members": { "retentionPeriod": { "shape": "RetentionSettingRetentionPeriodInteger", - "documentation": "

The retention period specifies a fixed period of time during which the Security Lake object remains locked. You can specify the retention period for one or more source in days.

" + "documentation": "

The retention period specifies a fixed period of time during which the Security Lake object remains locked. You can specify the retention period in days for one or more sources.

" }, "storageClass": { "shape": "StorageClass", "documentation": "

The range of storage classes that you can choose from based on the data access, resiliency, and cost requirements of your workloads.

" } }, - "documentation": "

Retention settings for the destination Amazon S3 buckets in Security Lake.

" + "documentation": "

Retention settings for the destination Amazon S3 buckets in Amazon Security Lake.

" }, "RetentionSettingList": { "type": "list", @@ -2121,14 +2125,14 @@ "members": { "awsSourceType": { "shape": "AwsLogSourceType", - "documentation": "

Amazon Security Lake supports logs and events collection for natively-supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide.

" + "documentation": "

Amazon Security Lake supports log and event collection for natively supported Amazon Web Services.

" }, "customSourceType": { "shape": "CustomSourceType", - "documentation": "

Amazon Security Lake supports custom source types. For the detailed list, see the Amazon Security Lake User Guide.

" + "documentation": "

Amazon Security Lake supports custom source types. For a detailed list, see the Amazon Security Lake User Guide.

" } }, - "documentation": "

The supported source types from which logs and events are collected in Amazon Security Lake.

", + "documentation": "

The supported source types from which logs and events are collected in Amazon Security Lake. For the list of supported Amazon Web Services, see the Amazon Security Lake User Guide.

", "union": true }, "SourceTypeList": { @@ -2168,11 +2172,11 @@ "members": { "accessTypes": { "shape": "AccessTypeList", - "documentation": "

You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber.

Subscribers can consume data by directly querying Lake Formation tables in your S3 bucket via services like Amazon Athena. This subscription type is defined as LAKEFORMATION.

" + "documentation": "

You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber.

Subscribers can consume data by directly querying Lake Formation tables in your Amazon S3 bucket through services like Amazon Athena. This subscription type is defined as LAKEFORMATION.

" }, "accountId": { "shape": "AwsAccountId", - "documentation": "

The Amazon Web Services account ID of the account that you are using to create your Amazon Security Lake account.

" + "documentation": "

The Amazon Web Services account ID you are using to create your Amazon Security Lake account.

" }, "createdAt": { "shape": "SyntheticTimestamp_date_time", @@ -2180,7 +2184,7 @@ }, "externalId": { "shape": "SafeString", - "documentation": "

The external ID of the subscriber. External ID allows the user that is assuming the role to assert the circumstances in which they are operating. It also provides a way for the account owner to permit the role to be assumed only under specific circumstances.

" + "documentation": "

The external ID of the subscriber. The external ID lets the user that is assuming the role assert the circumstances in which they are operating. It also provides a way for the account owner to permit the role to be assumed only under specific circumstances.

" }, "roleArn": { "shape": "RoleArn", @@ -2188,15 +2192,15 @@ }, "s3BucketArn": { "shape": "S3BucketArn", - "documentation": "

The Amazon Resource Name (ARN) for the Amazon S3 bucket.

" + "documentation": "

The ARN for the Amazon S3 bucket.

" }, "snsArn": { "shape": "SnsTopicArn", - "documentation": "

The Amazon Resource Name (ARN) for the Amazon Simple Notification Service.

" + "documentation": "

The ARN for the Amazon Simple Notification Service.

" }, "sourceTypes": { "shape": "SourceTypeList", - "documentation": "

Amazon Security Lake supports logs and events collection for the natively-supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide.

" + "documentation": "

Amazon Security Lake supports log and event collection for natively supported Amazon Web Services. For more information, see the Amazon Security Lake User Guide.

" }, "subscriberDescription": { "shape": "SafeString", @@ -2220,14 +2224,14 @@ }, "subscriptionStatus": { "shape": "SubscriptionStatus", - "documentation": "

Subscription status of the Amazon Security Lake subscriber account.

" + "documentation": "

The subscription status of the Amazon Security Lake subscriber account.

" }, "updatedAt": { "shape": "SyntheticTimestamp_date_time", "documentation": "

The date and time when the subscription was created.

" } }, - "documentation": "

Provides details of the Amazon Security Lake account subscription. Subscribers are notified of new objects for a source as the data is written to your Amazon Security Lake S3 bucket.

" + "documentation": "

Provides details about the Amazon Security Lake account subscription. Subscribers are notified of new objects for a source as the data is written to your Amazon S3 bucket for Security Lake.

" }, "SubscriptionProtocolType": { "type": "string", @@ -2308,7 +2312,7 @@ "members": { "notificationEndpoint": { "shape": "SafeString", - "documentation": "

The account which is subscribed to receive exception notifications.

" + "documentation": "

The account that is subscribed to receive exception notifications.

" }, "subscriptionProtocol": { "shape": "SubscriptionProtocolType", @@ -2328,7 +2332,7 @@ "members": { "configurations": { "shape": "LakeConfigurationRequestMap", - "documentation": "

The configuration object

" + "documentation": "

Specify the Region or Regions that will contribute data to the rollup region.

" } } }, @@ -2339,30 +2343,31 @@ "UpdateSubscriberRequest": { "type": "structure", "required": [ - "id" + "id", + "sourceTypes" ], "members": { "externalId": { "shape": "SafeString", - "documentation": "

External ID of the Security Lake account.

" + "documentation": "

The external ID of the Security Lake account.

" }, "id": { "shape": "String", - "documentation": "

A value created by Security Lake that uniquely identifies your UpdateSubscriber API request.

", + "documentation": "

A value created by Security Lake that uniquely identifies your subscription.

", "location": "uri", "locationName": "id" }, "sourceTypes": { "shape": "SourceTypeList", - "documentation": "

The supported Amazon Web Services services from which logs and events are collected. Amazon Security Lake supports logs and events collection for the following natively-supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide.

" + "documentation": "

The supported Amazon Web Services from which logs and events are collected. For the list of supported Amazon Web Services, see the Amazon Security Lake User Guide.

" }, "subscriberDescription": { - "shape": "SafeString", - "documentation": "

Description of the Security Lake account subscriber.

" + "shape": "DescriptionString", + "documentation": "

The description of the Security Lake account subscriber.

" }, "subscriberName": { "shape": "UpdateSubscriberRequestSubscriberNameString", - "documentation": "

Name of the Security Lake account subscriber.

" + "documentation": "

The name of the Security Lake account subscriber.

" } } }, @@ -2377,7 +2382,7 @@ "members": { "subscriber": { "shape": "SubscriberResource", - "documentation": "

The account subscriber in Amazon Security Lake.

" + "documentation": "

The account of the subscriber.

" } } }, @@ -2389,7 +2394,7 @@ "members": { "createSqs": { "shape": "Boolean", - "documentation": "

Create a new subscription notification for the specified subscription ID in Security Lake.

" + "documentation": "

Create a new subscription notification for the specified subscription ID in Amazon Security Lake.

" }, "httpsApiKeyName": { "shape": "String", @@ -2428,7 +2433,7 @@ "members": { "queueArn": { "shape": "SafeString", - "documentation": "

Returns the Amazon resource name (ARN) of the queue.

" + "documentation": "

Returns the ARN of the queue.

" } } }, @@ -2448,5 +2453,5 @@ ] } }, - "documentation": "

Amazon Security Lake is in preview release. Your use of the Amazon Security Lake preview is subject to Section 2 of the Amazon Web Services Service Terms(\"Betas and Previews\").

Amazon Security Lake is a fully-managed security data lake service. You can use Security Lake to automatically centralize security data from cloud, on-premises, and custom sources into a data lake that's stored in your account. Security Lake helps you analyze security data, so you can get a more complete understanding of your security posture across the entire organization and improve the protection of your workloads, applications, and data.

The data lake is backed by Amazon Simple Storage Service (Amazon S3) buckets, and you retain ownership over your data.

Security Lake automates the collection of security-related log and event data from integrated Amazon Web Services. and third-party services and manages the lifecycle of data with customizable retention and replication settings. Security Lake also converts ingested data into Apache Parquet format and a standard open-source schema called the Open Cybersecurity Schema Framework (OCSF).

Other Amazon Web Services and third-party services can subscribe to the data that's stored in Security Lake for incident response and security data analytics.

" + "documentation": "

Amazon Security Lake is in preview release. Your use of the Security Lake preview is subject to Section 2 of the Amazon Web Services Service Terms(\"Betas and Previews\").

Amazon Security Lake is a fully managed security data lake service. You can use Security Lake to automatically centralize security data from cloud, on-premises, and custom sources into a data lake that's stored in your Amazon Web Servicesaccount. Amazon Web Services Organizations is an account management service that lets you consolidate multiple Amazon Web Services accounts into an organization that you create and centrally manage. With Organizations, you can create member accounts and invite existing accounts to join your organization. Security Lake helps you analyze security data for a more complete understanding of your security posture across the entire organization. It can also help you improve the protection of your workloads, applications, and data.

The data lake is backed by Amazon Simple Storage Service (Amazon S3) buckets, and you retain ownership over your data.

Amazon Security Lake integrates with CloudTrail, a service that provides a record of actions taken by a user, role, or an Amazon Web Services service in Security Lake CloudTrail captures API calls for Security Lake as events. The calls captured include calls from the Security Lake console and code calls to the Security Lake API operations. If you create a trail, you can enable continuous delivery of CloudTrail events to an Amazon S3 bucket, including events for Security Lake. If you don't configure a trail, you can still view the most recent events in the CloudTrail console in Event history. Using the information collected by CloudTrail you can determine the request that was made to Security Lake, the IP address from which the request was made, who made the request, when it was made, and additional details. To learn more about Security Lake information in CloudTrail, see the Amazon Security Lake User Guide.

Security Lake automates the collection of security-related log and event data from integrated Amazon Web Services and third-party services. It also helps you manage the lifecycle of data with customizable retention and replication settings. Security Lake converts ingested data into Apache Parquet format and a standard open-source schema called the Open Cybersecurity Schema Framework (OCSF).

Other Amazon Web Services and third-party services can subscribe to the data that's stored in Security Lake for incident response and security data analytics.

" } \ No newline at end of file diff --git a/clients/securitylake.d.ts b/clients/securitylake.d.ts index c6650db0eb..a96df36319 100644 --- a/clients/securitylake.d.ts +++ b/clients/securitylake.d.ts @@ -12,155 +12,155 @@ declare class SecurityLake extends Service { constructor(options?: SecurityLake.Types.ClientConfiguration) config: Config & SecurityLake.Types.ClientConfiguration; /** - * Adds a natively-supported Amazon Web Services service as a Security Lake source. Enables source types for member accounts in required Regions, based on specified parameters. You can choose any source type in any Region for accounts that are either part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, any combination of the three dimensions can be supplied to this API. By default, dimension refers to the entire set. When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when members is not specified, the API disables all Security Lake member accounts for sources. Similarly, when Regions are not specified, Security Lake is disabled for all the Regions where Security Lake is available as a service. You can use this API only to enable a natively-supported Amazon Web Services services as a source. Use CreateCustomLogSource to enable data collection from a custom source. + * Adds a natively supported Amazon Web Service as an Amazon Security Lake source. Enables source types for member accounts in required Amazon Web Services Regions, based on the parameters you specify. You can choose any source type in any Region for either accounts that are part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, you can supply any combination of the three dimensions to this API. By default, a dimension refers to the entire set. When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when you do not specify members, the API enables all Security Lake member accounts for all sources. Similarly, when you do not specify Regions, Security Lake is enabled for all the Regions where Security Lake is available as a service. You can use this API only to enable natively supported Amazon Web Services as a source. Use CreateCustomLogSource to enable data collection from a custom source. */ createAwsLogSource(params: SecurityLake.Types.CreateAwsLogSourceRequest, callback?: (err: AWSError, data: SecurityLake.Types.CreateAwsLogSourceResponse) => void): Request; /** - * Adds a natively-supported Amazon Web Services service as a Security Lake source. Enables source types for member accounts in required Regions, based on specified parameters. You can choose any source type in any Region for accounts that are either part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, any combination of the three dimensions can be supplied to this API. By default, dimension refers to the entire set. When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when members is not specified, the API disables all Security Lake member accounts for sources. Similarly, when Regions are not specified, Security Lake is disabled for all the Regions where Security Lake is available as a service. You can use this API only to enable a natively-supported Amazon Web Services services as a source. Use CreateCustomLogSource to enable data collection from a custom source. + * Adds a natively supported Amazon Web Service as an Amazon Security Lake source. Enables source types for member accounts in required Amazon Web Services Regions, based on the parameters you specify. You can choose any source type in any Region for either accounts that are part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, you can supply any combination of the three dimensions to this API. By default, a dimension refers to the entire set. When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when you do not specify members, the API enables all Security Lake member accounts for all sources. Similarly, when you do not specify Regions, Security Lake is enabled for all the Regions where Security Lake is available as a service. You can use this API only to enable natively supported Amazon Web Services as a source. Use CreateCustomLogSource to enable data collection from a custom source. */ createAwsLogSource(callback?: (err: AWSError, data: SecurityLake.Types.CreateAwsLogSourceResponse) => void): Request; /** - * Adds a third-party custom source in Amazon Security Lake, from the Region where you want to create a custom source. Security Lake can collect logs and events from third-party custom sources. After creating the appropriate API roles, use this API to add a custom source name in Security Lake. This operation creates a partition in the Security Lake S3 bucket as the target location for log files from the custom source, an associated Glue table, and an Glue crawler. + * Adds a third-party custom source in Amazon Security Lake, from the Amazon Web Services Region where you want to create a custom source. Security Lake can collect logs and events from third-party custom sources. After creating the appropriate IAM role to invoke Glue crawler, use this API to add a custom source name in Security Lake. This operation creates a partition in the Amazon S3 bucket for Security Lake as the target location for log files from the custom source in addition to an associated Glue table and an Glue crawler. */ createCustomLogSource(params: SecurityLake.Types.CreateCustomLogSourceRequest, callback?: (err: AWSError, data: SecurityLake.Types.CreateCustomLogSourceResponse) => void): Request; /** - * Adds a third-party custom source in Amazon Security Lake, from the Region where you want to create a custom source. Security Lake can collect logs and events from third-party custom sources. After creating the appropriate API roles, use this API to add a custom source name in Security Lake. This operation creates a partition in the Security Lake S3 bucket as the target location for log files from the custom source, an associated Glue table, and an Glue crawler. + * Adds a third-party custom source in Amazon Security Lake, from the Amazon Web Services Region where you want to create a custom source. Security Lake can collect logs and events from third-party custom sources. After creating the appropriate IAM role to invoke Glue crawler, use this API to add a custom source name in Security Lake. This operation creates a partition in the Amazon S3 bucket for Security Lake as the target location for log files from the custom source in addition to an associated Glue table and an Glue crawler. */ createCustomLogSource(callback?: (err: AWSError, data: SecurityLake.Types.CreateCustomLogSourceResponse) => void): Request; /** - * Initializes an Amazon Security Lake instance with the provided (or default) configuration. You can enable Security Lake in Regions with customized settings in advance before enabling log collection in Regions. You can either use the enableAll parameter to specify all Regions or you can specify the Regions you want to enable Security Lake using the Regions parameter and configure these Regions using the configurations parameter. When the CreateDataLake API is called multiple times, if that Region is already enabled, it will update the Region if configuration for that Region is provided. If that Region is a new Region, it will be set up with the customized configurations if it is specified. When you enable Security Lake, it starts ingesting security data after the CreateAwsLogSource call. This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also enables all the existing settings and resources that it stores or maintains for your account in the current Region, including security log and event data. For more information, see the Amazon Security Lake User Guide. + * Initializes an Amazon Security Lake instance with the provided (or default) configuration. You can enable Security Lake in Amazon Web Services Regions with customized settings before enabling log collection in Regions. You can either use the enableAll parameter to specify all Regions or specify the Regions where you want to enable Security Lake. To specify particular Regions, use the Regions parameter and then configure these Regions using the configurations parameter. If you have already enabled Security Lake in a Region when you call this command, the command will update the Region if you provide new configuration parameters. If you have not already enabled Security Lake in the Region when you call this API, it will set up the data lake in the Region with the specified configurations. When you enable Security Lake, it starts ingesting security data after the CreateAwsLogSource call. This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also enables all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. For more information, see the Amazon Security Lake User Guide. */ createDatalake(params: SecurityLake.Types.CreateDatalakeRequest, callback?: (err: AWSError, data: SecurityLake.Types.CreateDatalakeResponse) => void): Request; /** - * Initializes an Amazon Security Lake instance with the provided (or default) configuration. You can enable Security Lake in Regions with customized settings in advance before enabling log collection in Regions. You can either use the enableAll parameter to specify all Regions or you can specify the Regions you want to enable Security Lake using the Regions parameter and configure these Regions using the configurations parameter. When the CreateDataLake API is called multiple times, if that Region is already enabled, it will update the Region if configuration for that Region is provided. If that Region is a new Region, it will be set up with the customized configurations if it is specified. When you enable Security Lake, it starts ingesting security data after the CreateAwsLogSource call. This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also enables all the existing settings and resources that it stores or maintains for your account in the current Region, including security log and event data. For more information, see the Amazon Security Lake User Guide. + * Initializes an Amazon Security Lake instance with the provided (or default) configuration. You can enable Security Lake in Amazon Web Services Regions with customized settings before enabling log collection in Regions. You can either use the enableAll parameter to specify all Regions or specify the Regions where you want to enable Security Lake. To specify particular Regions, use the Regions parameter and then configure these Regions using the configurations parameter. If you have already enabled Security Lake in a Region when you call this command, the command will update the Region if you provide new configuration parameters. If you have not already enabled Security Lake in the Region when you call this API, it will set up the data lake in the Region with the specified configurations. When you enable Security Lake, it starts ingesting security data after the CreateAwsLogSource call. This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also enables all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. For more information, see the Amazon Security Lake User Guide. */ createDatalake(callback?: (err: AWSError, data: SecurityLake.Types.CreateDatalakeResponse) => void): Request; /** - * Automatically enable Security Lake in the specified Regions to begin ingesting security data. When you choose to enable organization accounts automatically, then Security Lake begins to enable new accounts as member accounts as they are added to the organization. Security Lake does not enable existing organization accounts that are not yet enabled. + * Automatically enables Amazon Security Lake for new member accounts in your organization. Security Lake is not automatically enabled for any existing member accounts in your organization. */ createDatalakeAutoEnable(params: SecurityLake.Types.CreateDatalakeAutoEnableRequest, callback?: (err: AWSError, data: SecurityLake.Types.CreateDatalakeAutoEnableResponse) => void): Request; /** - * Automatically enable Security Lake in the specified Regions to begin ingesting security data. When you choose to enable organization accounts automatically, then Security Lake begins to enable new accounts as member accounts as they are added to the organization. Security Lake does not enable existing organization accounts that are not yet enabled. + * Automatically enables Amazon Security Lake for new member accounts in your organization. Security Lake is not automatically enabled for any existing member accounts in your organization. */ createDatalakeAutoEnable(callback?: (err: AWSError, data: SecurityLake.Types.CreateDatalakeAutoEnableResponse) => void): Request; /** - * Designates the Security Lake administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account. + * Designates the Amazon Security Lake delegated administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account. */ createDatalakeDelegatedAdmin(params: SecurityLake.Types.CreateDatalakeDelegatedAdminRequest, callback?: (err: AWSError, data: SecurityLake.Types.CreateDatalakeDelegatedAdminResponse) => void): Request; /** - * Designates the Security Lake administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account. + * Designates the Amazon Security Lake delegated administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account. */ createDatalakeDelegatedAdmin(callback?: (err: AWSError, data: SecurityLake.Types.CreateDatalakeDelegatedAdminResponse) => void): Request; /** - * Creates the specified notification subscription in Security Lake. Creates the specified subscription notifications in the specified organization. + * Creates the specified notification subscription in Amazon Security Lake for the organization you specify. */ createDatalakeExceptionsSubscription(params: SecurityLake.Types.CreateDatalakeExceptionsSubscriptionRequest, callback?: (err: AWSError, data: SecurityLake.Types.CreateDatalakeExceptionsSubscriptionResponse) => void): Request; /** - * Creates the specified notification subscription in Security Lake. Creates the specified subscription notifications in the specified organization. + * Creates the specified notification subscription in Amazon Security Lake for the organization you specify. */ createDatalakeExceptionsSubscription(callback?: (err: AWSError, data: SecurityLake.Types.CreateDatalakeExceptionsSubscriptionResponse) => void): Request; /** - * Creates a subscription permission for accounts that are already enabled in Security Lake. + * Creates a subscription permission for accounts that are already enabled in Amazon Security Lake. You can create a subscriber with access to data in the current Amazon Web Services Region. */ createSubscriber(params: SecurityLake.Types.CreateSubscriberRequest, callback?: (err: AWSError, data: SecurityLake.Types.CreateSubscriberResponse) => void): Request; /** - * Creates a subscription permission for accounts that are already enabled in Security Lake. + * Creates a subscription permission for accounts that are already enabled in Amazon Security Lake. You can create a subscriber with access to data in the current Amazon Web Services Region. */ createSubscriber(callback?: (err: AWSError, data: SecurityLake.Types.CreateSubscriberResponse) => void): Request; /** - * Creates the specified notification subscription in Security Lake. Creates the specified subscription notifications from the specified organization. + * Notifies the subscriber when new data is written to the data lake for the sources that the subscriber consumes in Security Lake. */ createSubscriptionNotificationConfiguration(params: SecurityLake.Types.CreateSubscriptionNotificationConfigurationRequest, callback?: (err: AWSError, data: SecurityLake.Types.CreateSubscriptionNotificationConfigurationResponse) => void): Request; /** - * Creates the specified notification subscription in Security Lake. Creates the specified subscription notifications from the specified organization. + * Notifies the subscriber when new data is written to the data lake for the sources that the subscriber consumes in Security Lake. */ createSubscriptionNotificationConfiguration(callback?: (err: AWSError, data: SecurityLake.Types.CreateSubscriptionNotificationConfigurationResponse) => void): Request; /** - * Removes a natively-supported Amazon Web Services service as a Amazon Security Lake source. When you remove the source, Security Lake stops collecting data from that source, and subscribers can no longer consume new data from the source. Subscribers can still consume data that Amazon Security Lake collected from the source before disablement. You can choose any source type in any Region for accounts that are either part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, any combination of the three dimensions can be supplied to this API. By default, dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when members is not specified, the API disables all Security Lake member accounts for sources. Similarly, when Regions are not specified, Security Lake is disabled for all the Regions where Security Lake is available as a service. You can use this API to remove a natively-supported Amazon Web Services service as a source. Use DeregisterCustomData to remove a custom source. When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. For example, if you don't provide specific accounts, the API applies to the entire set of accounts in your organization. + * Removes a natively supported Amazon Web Service as an Amazon Security Lake source. When you remove the source, Security Lake stops collecting data from that source, and subscribers can no longer consume new data from the source. Subscribers can still consume data that Security Lake collected from the source before disablement. You can choose any source type in any Amazon Web Services Region for either accounts that are part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, you can supply any combination of the three dimensions to this API. By default, a dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when you do not specify members, the API disables all Security Lake member accounts for sources. Similarly, when you do not specify Regions, Security Lake is disabled for all the Regions where Security Lake is available as a service. When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. For example, if you don't provide specific accounts, the API applies to the entire set of accounts in your organization. */ deleteAwsLogSource(params: SecurityLake.Types.DeleteAwsLogSourceRequest, callback?: (err: AWSError, data: SecurityLake.Types.DeleteAwsLogSourceResponse) => void): Request; /** - * Removes a natively-supported Amazon Web Services service as a Amazon Security Lake source. When you remove the source, Security Lake stops collecting data from that source, and subscribers can no longer consume new data from the source. Subscribers can still consume data that Amazon Security Lake collected from the source before disablement. You can choose any source type in any Region for accounts that are either part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, any combination of the three dimensions can be supplied to this API. By default, dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when members is not specified, the API disables all Security Lake member accounts for sources. Similarly, when Regions are not specified, Security Lake is disabled for all the Regions where Security Lake is available as a service. You can use this API to remove a natively-supported Amazon Web Services service as a source. Use DeregisterCustomData to remove a custom source. When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. For example, if you don't provide specific accounts, the API applies to the entire set of accounts in your organization. + * Removes a natively supported Amazon Web Service as an Amazon Security Lake source. When you remove the source, Security Lake stops collecting data from that source, and subscribers can no longer consume new data from the source. Subscribers can still consume data that Security Lake collected from the source before disablement. You can choose any source type in any Amazon Web Services Region for either accounts that are part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, you can supply any combination of the three dimensions to this API. By default, a dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when you do not specify members, the API disables all Security Lake member accounts for sources. Similarly, when you do not specify Regions, Security Lake is disabled for all the Regions where Security Lake is available as a service. When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. For example, if you don't provide specific accounts, the API applies to the entire set of accounts in your organization. */ deleteAwsLogSource(callback?: (err: AWSError, data: SecurityLake.Types.DeleteAwsLogSourceResponse) => void): Request; /** - * Removes a custom log source from Security Lake. + * Removes a custom log source from Amazon Security Lake. */ deleteCustomLogSource(params: SecurityLake.Types.DeleteCustomLogSourceRequest, callback?: (err: AWSError, data: SecurityLake.Types.DeleteCustomLogSourceResponse) => void): Request; /** - * Removes a custom log source from Security Lake. + * Removes a custom log source from Amazon Security Lake. */ deleteCustomLogSource(callback?: (err: AWSError, data: SecurityLake.Types.DeleteCustomLogSourceResponse) => void): Request; /** - * When you delete Amazon Security Lake from your account, Security Lake is disabled in all Regions. Also, this API automatically performs the off-boarding steps to off-board the account from Security Lake . This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your account in the current Region, including security log and event data. DeleteDatalake does not delete the S3 bucket which is owned by the Amazon Web Services account. For more information, see the Amazon Security Lake User Guide. + * When you delete Amazon Security Lake from your account, Security Lake is disabled in all Amazon Web Services Regions. Also, this API automatically takes steps to remove the account from Security Lake . This operation disables security data collection from sources, deletes data stored, and stops making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. The DeleteDatalake operation does not delete the Amazon S3 bucket, which is owned by your Amazon Web Services account. For more information, see the Amazon Security Lake User Guide. */ deleteDatalake(params: SecurityLake.Types.DeleteDatalakeRequest, callback?: (err: AWSError, data: SecurityLake.Types.DeleteDatalakeResponse) => void): Request; /** - * When you delete Amazon Security Lake from your account, Security Lake is disabled in all Regions. Also, this API automatically performs the off-boarding steps to off-board the account from Security Lake . This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your account in the current Region, including security log and event data. DeleteDatalake does not delete the S3 bucket which is owned by the Amazon Web Services account. For more information, see the Amazon Security Lake User Guide. + * When you delete Amazon Security Lake from your account, Security Lake is disabled in all Amazon Web Services Regions. Also, this API automatically takes steps to remove the account from Security Lake . This operation disables security data collection from sources, deletes data stored, and stops making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. The DeleteDatalake operation does not delete the Amazon S3 bucket, which is owned by your Amazon Web Services account. For more information, see the Amazon Security Lake User Guide. */ deleteDatalake(callback?: (err: AWSError, data: SecurityLake.Types.DeleteDatalakeResponse) => void): Request; /** - * Automatically delete Security Lake in the specified Regions to stop ingesting security data. When you delete Amazon Security Lake from your account, Security Lake is disabled in all Regions. Also, this API automatically performs the off-boarding steps to off-board the account from Security Lake . This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your account in the current Region, including security log and event data. For more information, see the Amazon Security Lake User Guide. + * Automatically deletes Amazon Security Lake to stop collecting security data. When you delete Amazon Security Lake from your account, Security Lake is disabled in all Regions. Also, this API automatically takes steps to remove the account from Security Lake . This operation disables security data collection from sources, deletes data stored, and stops making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. The DeleteDatalake operation does not delete the Amazon S3 bucket, which is owned by your Amazon Web Services account. For more information, see the Amazon Security Lake User Guide. */ deleteDatalakeAutoEnable(params: SecurityLake.Types.DeleteDatalakeAutoEnableRequest, callback?: (err: AWSError, data: SecurityLake.Types.DeleteDatalakeAutoEnableResponse) => void): Request; /** - * Automatically delete Security Lake in the specified Regions to stop ingesting security data. When you delete Amazon Security Lake from your account, Security Lake is disabled in all Regions. Also, this API automatically performs the off-boarding steps to off-board the account from Security Lake . This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your account in the current Region, including security log and event data. For more information, see the Amazon Security Lake User Guide. + * Automatically deletes Amazon Security Lake to stop collecting security data. When you delete Amazon Security Lake from your account, Security Lake is disabled in all Regions. Also, this API automatically takes steps to remove the account from Security Lake . This operation disables security data collection from sources, deletes data stored, and stops making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. The DeleteDatalake operation does not delete the Amazon S3 bucket, which is owned by your Amazon Web Services account. For more information, see the Amazon Security Lake User Guide. */ deleteDatalakeAutoEnable(callback?: (err: AWSError, data: SecurityLake.Types.DeleteDatalakeAutoEnableResponse) => void): Request; /** - * Deletes the Security Lake administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account. + * Deletes the Amazon Security Lake delegated administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account. */ deleteDatalakeDelegatedAdmin(params: SecurityLake.Types.DeleteDatalakeDelegatedAdminRequest, callback?: (err: AWSError, data: SecurityLake.Types.DeleteDatalakeDelegatedAdminResponse) => void): Request; /** - * Deletes the Security Lake administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account. + * Deletes the Amazon Security Lake delegated administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account. */ deleteDatalakeDelegatedAdmin(callback?: (err: AWSError, data: SecurityLake.Types.DeleteDatalakeDelegatedAdminResponse) => void): Request; /** - * Deletes the specified notification subscription in Security Lake. Deletes the specified subscription notifications in the specified organization. + * Deletes the specified notification subscription in Amazon Security Lake for the organization you specify. */ deleteDatalakeExceptionsSubscription(params: SecurityLake.Types.DeleteDatalakeExceptionsSubscriptionRequest, callback?: (err: AWSError, data: SecurityLake.Types.DeleteDatalakeExceptionsSubscriptionResponse) => void): Request; /** - * Deletes the specified notification subscription in Security Lake. Deletes the specified subscription notifications in the specified organization. + * Deletes the specified notification subscription in Amazon Security Lake for the organization you specify. */ deleteDatalakeExceptionsSubscription(callback?: (err: AWSError, data: SecurityLake.Types.DeleteDatalakeExceptionsSubscriptionResponse) => void): Request; /** - * Deletes the specified subscription permissions to Security Lake. Deletes the specified subscription permissions from the specified organization. + * Deletes the subscription permission for accounts that are already enabled in Amazon Security Lake. You can delete a subscriber and remove access to data in the current Amazon Web Services Region. */ deleteSubscriber(params: SecurityLake.Types.DeleteSubscriberRequest, callback?: (err: AWSError, data: SecurityLake.Types.DeleteSubscriberResponse) => void): Request; /** - * Deletes the specified subscription permissions to Security Lake. Deletes the specified subscription permissions from the specified organization. + * Deletes the subscription permission for accounts that are already enabled in Amazon Security Lake. You can delete a subscriber and remove access to data in the current Amazon Web Services Region. */ deleteSubscriber(callback?: (err: AWSError, data: SecurityLake.Types.DeleteSubscriberResponse) => void): Request; /** - * Deletes the specified notification subscription in Security Lake. Deletes the specified subscription notifications from the specified organization. + * Deletes the specified notification subscription in Amazon Security Lake for the organization you specify. */ deleteSubscriptionNotificationConfiguration(params: SecurityLake.Types.DeleteSubscriptionNotificationConfigurationRequest, callback?: (err: AWSError, data: SecurityLake.Types.DeleteSubscriptionNotificationConfigurationResponse) => void): Request; /** - * Deletes the specified notification subscription in Security Lake. Deletes the specified subscription notifications from the specified organization. + * Deletes the specified notification subscription in Amazon Security Lake for the organization you specify. */ deleteSubscriptionNotificationConfiguration(callback?: (err: AWSError, data: SecurityLake.Types.DeleteSubscriptionNotificationConfigurationResponse) => void): Request; /** - * Retrieve the Security Lake configuration object for the specified account ID. This API does not take input parameters. + * Retrieves the Amazon Security Lake configuration object for the specified Amazon Web Services account ID. You can use the GetDatalake API to know whether Security Lake is enabled for the current Region. This API does not take input parameters. */ getDatalake(params: SecurityLake.Types.GetDatalakeRequest, callback?: (err: AWSError, data: SecurityLake.Types.GetDatalakeResponse) => void): Request; /** - * Retrieve the Security Lake configuration object for the specified account ID. This API does not take input parameters. + * Retrieves the Amazon Security Lake configuration object for the specified Amazon Web Services account ID. You can use the GetDatalake API to know whether Security Lake is enabled for the current Region. This API does not take input parameters. */ getDatalake(callback?: (err: AWSError, data: SecurityLake.Types.GetDatalakeResponse) => void): Request; /** - * Retrieves the configuration that will be automatically set up for accounts added to the organization after the organization has on boarded to Amazon Security Lake. This API does not take input parameters. + * Retrieves the configuration that will be automatically set up for accounts added to the organization after the organization has onboarded to Amazon Security Lake. This API does not take input parameters. */ getDatalakeAutoEnable(params: SecurityLake.Types.GetDatalakeAutoEnableRequest, callback?: (err: AWSError, data: SecurityLake.Types.GetDatalakeAutoEnableResponse) => void): Request; /** - * Retrieves the configuration that will be automatically set up for accounts added to the organization after the organization has on boarded to Amazon Security Lake. This API does not take input parameters. + * Retrieves the configuration that will be automatically set up for accounts added to the organization after the organization has onboarded to Amazon Security Lake. This API does not take input parameters. */ getDatalakeAutoEnable(callback?: (err: AWSError, data: SecurityLake.Types.GetDatalakeAutoEnableResponse) => void): Request; /** - * Retrieves the expiration period and time-to-live (TTL) for which the exception message will remain. Exceptions are stored by default, for a 2 week period of time from when a record was created in Security Lake. This API does not take input parameters. This API does not take input parameters. + * Retrieves the expiration period and time-to-live (TTL) for which the exception message will remain. Exceptions are stored by default, for 2 weeks from when a record was created in Amazon Security Lake. This API does not take input parameters. */ getDatalakeExceptionsExpiry(params: SecurityLake.Types.GetDatalakeExceptionsExpiryRequest, callback?: (err: AWSError, data: SecurityLake.Types.GetDatalakeExceptionsExpiryResponse) => void): Request; /** - * Retrieves the expiration period and time-to-live (TTL) for which the exception message will remain. Exceptions are stored by default, for a 2 week period of time from when a record was created in Security Lake. This API does not take input parameters. This API does not take input parameters. + * Retrieves the expiration period and time-to-live (TTL) for which the exception message will remain. Exceptions are stored by default, for 2 weeks from when a record was created in Amazon Security Lake. This API does not take input parameters. */ getDatalakeExceptionsExpiry(callback?: (err: AWSError, data: SecurityLake.Types.GetDatalakeExceptionsExpiryResponse) => void): Request; /** @@ -172,83 +172,83 @@ declare class SecurityLake extends Service { */ getDatalakeExceptionsSubscription(callback?: (err: AWSError, data: SecurityLake.Types.GetDatalakeExceptionsSubscriptionResponse) => void): Request; /** - * Retrieve the Security Lake configuration object for the specified account ID. This API does not take input parameters. + * Retrieves a snapshot of the current Region, including whether Amazon Security Lake is enabled for those accounts and which sources Security Lake is collecting data from. */ getDatalakeStatus(params: SecurityLake.Types.GetDatalakeStatusRequest, callback?: (err: AWSError, data: SecurityLake.Types.GetDatalakeStatusResponse) => void): Request; /** - * Retrieve the Security Lake configuration object for the specified account ID. This API does not take input parameters. + * Retrieves a snapshot of the current Region, including whether Amazon Security Lake is enabled for those accounts and which sources Security Lake is collecting data from. */ getDatalakeStatus(callback?: (err: AWSError, data: SecurityLake.Types.GetDatalakeStatusResponse) => void): Request; /** - * Retrieves subscription information for the specified subscription ID. + * Retrieves the subscription information for the specified subscription ID. You can get information about a specific subscriber. */ getSubscriber(params: SecurityLake.Types.GetSubscriberRequest, callback?: (err: AWSError, data: SecurityLake.Types.GetSubscriberResponse) => void): Request; /** - * Retrieves subscription information for the specified subscription ID. + * Retrieves the subscription information for the specified subscription ID. You can get information about a specific subscriber. */ getSubscriber(callback?: (err: AWSError, data: SecurityLake.Types.GetSubscriberResponse) => void): Request; /** - * List the Amazon Security Lake exceptions that you can use to find the source of problems and fix them. + * Lists the Amazon Security Lake exceptions that you can use to find the source of problems and fix them. */ listDatalakeExceptions(params: SecurityLake.Types.ListDatalakeExceptionsRequest, callback?: (err: AWSError, data: SecurityLake.Types.ListDatalakeExceptionsResponse) => void): Request; /** - * List the Amazon Security Lake exceptions that you can use to find the source of problems and fix them. + * Lists the Amazon Security Lake exceptions that you can use to find the source of problems and fix them. */ listDatalakeExceptions(callback?: (err: AWSError, data: SecurityLake.Types.ListDatalakeExceptionsResponse) => void): Request; /** - * Lists the log sources in the current region. + * Retrieves the log sources in the current Amazon Web Services Region. */ listLogSources(params: SecurityLake.Types.ListLogSourcesRequest, callback?: (err: AWSError, data: SecurityLake.Types.ListLogSourcesResponse) => void): Request; /** - * Lists the log sources in the current region. + * Retrieves the log sources in the current Amazon Web Services Region. */ listLogSources(callback?: (err: AWSError, data: SecurityLake.Types.ListLogSourcesResponse) => void): Request; /** - * List all subscribers for the specific Security Lake account ID. + * List all subscribers for the specific Amazon Security Lake account ID. You can retrieve a list of subscriptions associated with a specific organization or Amazon Web Services account. */ listSubscribers(params: SecurityLake.Types.ListSubscribersRequest, callback?: (err: AWSError, data: SecurityLake.Types.ListSubscribersResponse) => void): Request; /** - * List all subscribers for the specific Security Lake account ID. + * List all subscribers for the specific Amazon Security Lake account ID. You can retrieve a list of subscriptions associated with a specific organization or Amazon Web Services account. */ listSubscribers(callback?: (err: AWSError, data: SecurityLake.Types.ListSubscribersResponse) => void): Request; /** - * Amazon Security Lake allows you to specify where to store your security data and for how long. You can specify a rollup Region to consolidate data from multiple regions. You can update the properties of a Region or source. Input can either be directly specified to the API. + * Specifies where to store your security data and for how long. You can add a rollup Region to consolidate data from multiple Amazon Web Services Regions. */ updateDatalake(params: SecurityLake.Types.UpdateDatalakeRequest, callback?: (err: AWSError, data: SecurityLake.Types.UpdateDatalakeResponse) => void): Request; /** - * Amazon Security Lake allows you to specify where to store your security data and for how long. You can specify a rollup Region to consolidate data from multiple regions. You can update the properties of a Region or source. Input can either be directly specified to the API. + * Specifies where to store your security data and for how long. You can add a rollup Region to consolidate data from multiple Amazon Web Services Regions. */ updateDatalake(callback?: (err: AWSError, data: SecurityLake.Types.UpdateDatalakeResponse) => void): Request; /** - * Update the expiration period for the exception message to your preferred time, and control the time-to-live (TTL) for the exception message to remain. Exceptions are stored by default, for a 2 week period of time from when a record was created in Security Lake. + * Update the expiration period for the exception message to your preferred time, and control the time-to-live (TTL) for the exception message to remain. Exceptions are stored by default for 2 weeks from when a record was created in Amazon Security Lake. */ updateDatalakeExceptionsExpiry(params: SecurityLake.Types.UpdateDatalakeExceptionsExpiryRequest, callback?: (err: AWSError, data: SecurityLake.Types.UpdateDatalakeExceptionsExpiryResponse) => void): Request; /** - * Update the expiration period for the exception message to your preferred time, and control the time-to-live (TTL) for the exception message to remain. Exceptions are stored by default, for a 2 week period of time from when a record was created in Security Lake. + * Update the expiration period for the exception message to your preferred time, and control the time-to-live (TTL) for the exception message to remain. Exceptions are stored by default for 2 weeks from when a record was created in Amazon Security Lake. */ updateDatalakeExceptionsExpiry(callback?: (err: AWSError, data: SecurityLake.Types.UpdateDatalakeExceptionsExpiryResponse) => void): Request; /** - * Update the subscription notification for exception notification. + * Updates the specified notification subscription in Amazon Security Lake for the organization you specify. */ updateDatalakeExceptionsSubscription(params: SecurityLake.Types.UpdateDatalakeExceptionsSubscriptionRequest, callback?: (err: AWSError, data: SecurityLake.Types.UpdateDatalakeExceptionsSubscriptionResponse) => void): Request; /** - * Update the subscription notification for exception notification. + * Updates the specified notification subscription in Amazon Security Lake for the organization you specify. */ updateDatalakeExceptionsSubscription(callback?: (err: AWSError, data: SecurityLake.Types.UpdateDatalakeExceptionsSubscriptionResponse) => void): Request; /** - * Update the subscription permission for the given Security Lake account ID. + * Updates an existing subscription for the given Amazon Security Lake account ID. You can update a subscriber by changing the sources that the subscriber consumes data from. */ updateSubscriber(params: SecurityLake.Types.UpdateSubscriberRequest, callback?: (err: AWSError, data: SecurityLake.Types.UpdateSubscriberResponse) => void): Request; /** - * Update the subscription permission for the given Security Lake account ID. + * Updates an existing subscription for the given Amazon Security Lake account ID. You can update a subscriber by changing the sources that the subscriber consumes data from. */ updateSubscriber(callback?: (err: AWSError, data: SecurityLake.Types.UpdateSubscriberResponse) => void): Request; /** - * Create a new subscription notification or add the existing subscription notification setting for the specified subscription ID. + * Creates a new subscription notification or adds the existing subscription notification setting for the specified subscription ID. */ updateSubscriptionNotificationConfiguration(params: SecurityLake.Types.UpdateSubscriptionNotificationConfigurationRequest, callback?: (err: AWSError, data: SecurityLake.Types.UpdateSubscriptionNotificationConfigurationResponse) => void): Request; /** - * Create a new subscription notification or add the existing subscription notification setting for the specified subscription ID. + * Creates a new subscription notification or adds the existing subscription notification setting for the specified subscription ID. */ updateSubscriptionNotificationConfiguration(callback?: (err: AWSError, data: SecurityLake.Types.UpdateSubscriptionNotificationConfigurationResponse) => void): Request; } @@ -258,7 +258,7 @@ declare namespace SecurityLake { export type AccountList = String[]; export interface AccountSources { /** - * Account ID of the Security Lake account for which logs are collected. + * The ID of the Security Lake account for which logs are collected. */ account: String; /** @@ -266,11 +266,11 @@ declare namespace SecurityLake { */ eventClass?: OcsfEventClass; /** - * Log status for the Security Lake account. + * The log status for the Security Lake account. */ logsStatus?: LogsStatusList; /** - * The supported Amazon Web Services services from which logs and events are collected. Amazon Security Lake supports logs and events collection for natively-supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. + * The supported Amazon Web Services from which logs and events are collected. Amazon Security Lake supports log and event collection for natively supported Amazon Web Services. */ sourceType: String; } @@ -278,11 +278,11 @@ declare namespace SecurityLake { export type AllDimensionsMap = {[key: string]: TwoDimensionsMap}; export interface AutoEnableNewRegionConfiguration { /** - * The Regions where Security Lake is auto enabled + * The Amazon Web Services Regions where Security Lake is automatically enabled. */ region: Region; /** - * The Amazon Web Services sources which are auto enabled in Security Lake. + * The Amazon Web Services sources that are automatically enabled in Security Lake. */ sources: AwsSourceTypeList; } @@ -293,53 +293,53 @@ declare namespace SecurityLake { export type Boolean = boolean; export interface CreateAwsLogSourceRequest { /** - * Enables specific sources in all Regions and source types. + * Enables data collection from specific Amazon Web Services sources in all specific accounts and specific Regions. */ enableAllDimensions?: AllDimensionsMap; /** - * Enables all sources in specific accounts or Regions. + * Enables data collection from all Amazon Web Services sources in specific accounts or Regions. */ enableSingleDimension?: InputSet; /** - * Enables specific service sources in specific accounts or Regions. + * Enables data collection from specific Amazon Web Services sources in specific accounts or Regions. */ enableTwoDimensions?: TwoDimensionsMap; /** - * Specifies the input order to enable dimensions in Security Lake, namely region, source type, and member account. + * Specifies the input order to enable dimensions in Security Lake, namely Region, source type, and member account. */ inputOrder: DimensionSet; } export interface CreateAwsLogSourceResponse { /** - * List of all accounts in which enabling a natively-supported Amazon Web Services service as a Security Lake failed. The failure occurred as these accounts are not part of an organization. + * Lists all accounts in which enabling a natively supported Amazon Web Service as a Security Lake source failed. The failure occurred as these accounts are not part of an organization. */ failed?: AccountList; /** - * List of all accounts which are in the process of enabling a natively-supported Amazon Web Services service as a Security Lake. + * Lists the accounts that are in the process of enabling a natively supported Amazon Web Service as a Security Lake source. */ processing?: AccountList; } export interface CreateCustomLogSourceRequest { /** - * The custom source name for a third-party custom source. + * The name for a third-party custom source. This must be a Regionally unique value. */ customSourceName: CustomSourceType; /** - * The Open Cybersecurity Schema Framework (OCSF) event class. + * The Open Cybersecurity Schema Framework (OCSF) event class which describes the type of data that the custom source will send to Security Lake. */ eventClass: OcsfEventClass; /** - * The IAM Role ARN to be used by the Glue Crawler. The recommended IAM policies are: The managed policy AWSGlueServiceRole A custom policy granting access to your S3 Data Lake + * The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role to be used by the Glue crawler. The recommended IAM policies are: The managed policy AWSGlueServiceRole A custom policy granting access to your Amazon S3 Data Lake */ glueInvocationRoleArn: RoleArn; /** - * The Account ID that will assume the above Role to put logs into the Data Lake. + * The Amazon Web Services account ID of the custom source that will write logs and events into the Amazon S3 Data Lake. */ logProviderAccountId: AwsAccountId; } export interface CreateCustomLogSourceResponse { /** - * The location of the partition in the Security Lake S3 bucket. + * The location of the partition in the Amazon S3 bucket for Security Lake. */ customDataLocation: String; /** @@ -355,13 +355,13 @@ declare namespace SecurityLake { */ glueTableName: String; /** - * IAM Role ARN to be used by the entity putting logs into your Custom Source partition. Security Lake will apply the correct access policies to this Role, but this Role must have the trust policy created manually. This Role's name must start with the text 'Security Lake'. It must trust the logProviderAccountId to assume it. + * The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the logProviderAccountId to assume the role. */ logProviderAccessRoleArn: String; } export interface CreateDatalakeAutoEnableRequest { /** - * Enable Amazon Security Lake with the specified configurations settings to begin ingesting security data for new accounts in Security Lake. + * Enable Security Lake with the specified configuration settings to begin collecting security data for new accounts in your organization. */ configurationForNewAccounts: AutoEnableNewRegionConfigurationList; } @@ -369,7 +369,7 @@ declare namespace SecurityLake { } export interface CreateDatalakeDelegatedAdminRequest { /** - * Account ID of the Security Lake delegated administrator. + * The Amazon Web Services account ID of the Security Lake delegated administrator. */ account: SafeString; } @@ -377,11 +377,11 @@ declare namespace SecurityLake { } export interface CreateDatalakeExceptionsSubscriptionRequest { /** - * The account in which the exception notifications subscription is created. + * The Amazon Web Services account where you want to receive exception notifications. */ notificationEndpoint: SafeString; /** - * The subscription protocol to which exception messages are posted. + * The subscription protocol to which exception notifications are posted. */ subscriptionProtocol: SubscriptionProtocolType; } @@ -389,19 +389,19 @@ declare namespace SecurityLake { } export interface CreateDatalakeRequest { /** - * Enable Security Lake with the specified configurations settings to begin ingesting security data. + * Specify the Region or Regions that will contribute data to the rollup region. */ configurations?: LakeConfigurationRequestMap; /** - * Enable Security Lake in all Regions to begin ingesting security data. + * Enable Security Lake in all Regions. */ enableAll?: Boolean; /** - * The Role ARN used to create and update the Glue table with partitions generated by ingestion and normalization of Amazon Web Services log sources and custom sources. + * The Amazon Resource Name (ARN) used to create and update the Glue table. This table contains partitions generated by the ingestion and normalization of Amazon Web Services log sources and custom sources. */ metaStoreManagerRoleArn?: RoleArn; /** - * Enable Security Lake in the specified Regions to begin ingesting security data. To enable Security Lake in specific Amazon Web Services Regions, such as us-east-1 or ap-northeast-3, provide the Region codes. For a list of Region codes, see Region codes in the Amazon Web Services General Reference. + * Enable Security Lake in the specified Regions. To enable Security Lake in specific Amazon Web Services Regions, such as us-east-1 or ap-northeast-3, provide the Region codes. For a list of Region codes, see Amazon Security Lake endpoints in the Amazon Web Services General Reference. */ regions?: RegionSet; } @@ -413,86 +413,86 @@ declare namespace SecurityLake { */ accessTypes?: AccessTypeList; /** - * The third party Amazon Web Services account ID used to access your data. + * The Amazon Web Services account ID used to access your data. */ accountId: AwsAccountId; /** - * The external ID of the subscriber. External ID allows the user that is assuming the role to assert the circumstances in which they are operating. It also provides a way for the account owner to permit the role to be assumed only under specific circumstances. + * The external ID of the subscriber. This lets the user that is assuming the role assert the circumstances in which they are operating. It also provides a way for the account owner to permit the role to be assumed only under specific circumstances. */ externalId: SafeString; /** - * The supported Amazon Web Services services from which logs and events are collected. Amazon Security Lake supports logs and events collection for natively-supported Amazon Web Services services. + * The supported Amazon Web Services from which logs and events are collected. Security Lake supports log and event collection for natively supported Amazon Web Services. */ sourceTypes: SourceTypeList; /** - * The subscriber descriptions for the subscriber account in Amazon Security Lake. + * The description for your subscriber account in Security Lake. */ - subscriberDescription?: SafeString; + subscriberDescription?: DescriptionString; /** - * The name of your Amazon Security Lake subscriber account. + * The name of your Security Lake subscriber account. */ subscriberName: CreateSubscriberRequestSubscriberNameString; } export type CreateSubscriberRequestSubscriberNameString = string; export interface CreateSubscriberResponse { /** - * The Amazon Resource Name (ARN) created by the user to provide to the subscriber. For more information about ARNs and how to use them in policies, see IAM identifiers in the IAM User Guide. + * The Amazon Resource Name (ARN) created by you to provide to the subscriber. For more information about ARNs and how to use them in policies, see IAM identifiers in the Identity and Access Management (IAM) User Guide. . */ roleArn?: RoleArn; /** - * The Amazon Resource Name (ARN) for the Amazon S3 bucket. + * The ARN for the Amazon S3 bucket. */ s3BucketArn?: S3BucketArn; /** - * The Amazon Resource Name (ARN) for the Amazon Simple Notification Service. + * The ARN for the Amazon Simple Notification Service. */ snsArn?: SnsTopicArn; /** - * The subscriptionId that was created by the CreateSubscriber API call. + * The subscriptionId created by the CreateSubscriber API call. */ subscriptionId: UUID; } export interface CreateSubscriptionNotificationConfigurationRequest { /** - * Create a new subscription notification for the specified subscription ID in Security Lake. + * Create an Amazon Simple Queue Service queue. */ createSqs?: Boolean; /** - * The key name for the subscription notification. + * The key name for the notification subscription. */ httpsApiKeyName?: String; /** - * The key value for the subscription notification. + * The key value for the notification subscription. */ httpsApiKeyValue?: String; /** - * The HTTPS method used for the subscription notification. + * The HTTPS method used for the notification subscription. */ httpsMethod?: HttpsMethod; /** - * The Amazon Resource Name (ARN) specifying the role of the subscriber. + * The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role that you created. */ roleArn?: RoleArn; /** - * The subscription endpoint in Security Lake. + * The subscription endpoint in Security Lake. If you prefer notification with an HTTPs endpoint, populate this field. */ subscriptionEndpoint?: CreateSubscriptionNotificationConfigurationRequestSubscriptionEndpointString; /** - * The subscription ID for which the subscription notification is specified. + * The subscription ID for the notification subscription/ */ subscriptionId: UUID; } export type CreateSubscriptionNotificationConfigurationRequestSubscriptionEndpointString = string; export interface CreateSubscriptionNotificationConfigurationResponse { /** - * Returns the Amazon resource name (ARN) of the queue. + * Returns the Amazon Resource Name (ARN) of the queue. */ queueArn?: SafeString; } export type CustomSourceType = string; export interface DeleteAwsLogSourceRequest { /** - * Removes the specific Amazon Web Services sources from all Regions and source types. + * Removes the specific Amazon Web Services sources from specific accounts and specific Regions. */ disableAllDimensions?: AllDimensionsMap; /** @@ -504,7 +504,7 @@ declare namespace SecurityLake { */ disableTwoDimensions?: TwoDimensionsMap; /** - * This is a mandatory input. Specifies the input order to disable dimensions in Security Lake, namely Region, source type, and member. + * This is a mandatory input. Specify the input order to disable dimensions in Security Lake, namely Region (Amazon Web Services Region code, source type, and member (account ID of a specific Amazon Web Services account). */ inputOrder: DimensionSet; } @@ -514,25 +514,25 @@ declare namespace SecurityLake { */ failed?: AccountList; /** - * Deletion of the Amazon Web Services sources is in-progress. + * Deletion of the Amazon Web Services sources is in progress. */ processing?: AccountList; } export interface DeleteCustomLogSourceRequest { /** - * The custom source name for the custome log source. + * The custom source name for the custom log source. */ customSourceName: String; } export interface DeleteCustomLogSourceResponse { /** - * The location of the partition in the Security Lake S3 bucket. + * The location of the partition in the Amazon S3 bucket for Security Lake. */ customDataLocation: String; } export interface DeleteDatalakeAutoEnableRequest { /** - * Delete Amazon Security Lake with the specified configurations settings to stop ingesting security data for new accounts in Security Lake. + * Delete Amazon Security Lake with the specified configuration settings to stop ingesting security data for new accounts in Security Lake. */ removeFromConfigurationForNewAccounts: AutoEnableNewRegionConfigurationList; } @@ -540,7 +540,7 @@ declare namespace SecurityLake { } export interface DeleteDatalakeDelegatedAdminRequest { /** - * Account ID the Security Lake delegated administrator. + * The account ID the Security Lake delegated administrator. */ account: SafeString; } @@ -568,12 +568,13 @@ declare namespace SecurityLake { } export interface DeleteSubscriptionNotificationConfigurationRequest { /** - * The subscription ID of the Amazon Security Lake subscriber account. + * The ID of the Security Lake subscriber account. */ subscriptionId: UUID; } export interface DeleteSubscriptionNotificationConfigurationResponse { } + export type DescriptionString = string; export type Dimension = "REGION"|"SOURCE_TYPE"|"MEMBER"|string; export type DimensionSet = Dimension[]; export type EndpointProtocol = "HTTPS"|"SQS"|string; @@ -597,7 +598,7 @@ declare namespace SecurityLake { */ failures?: Failureslist; /** - * List of Regions where the failure occurred. + * List of Amazon Web Services Regions where the failure occurred. */ region?: SafeString; } @@ -637,15 +638,15 @@ declare namespace SecurityLake { } export interface GetDatalakeStatusRequest { /** - * The account IDs for which a static snapshot of the current Region, including enabled accounts and log sources is retrieved. + * The Amazon Web Services account ID for which a static snapshot of the current Amazon Web Services Region, including enabled accounts and log sources, is retrieved. */ accountSet?: InputSet; /** - * The maximum limit of accounts for which the static snapshot of the current Region including enabled accounts and log sources is retrieved. + * The maximum limit of accounts for which the static snapshot of the current Region, including enabled accounts and log sources, is retrieved. */ maxAccountResults?: Integer; /** - * If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. + * Lists if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. */ nextToken?: SafeString; } @@ -655,19 +656,19 @@ declare namespace SecurityLake { */ accountSourcesList: AccountSourcesList; /** - * If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. + * Lists if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. */ nextToken?: SafeString; } export interface GetSubscriberRequest { /** - * A value created by Security Lake that uniquely identifies your GetSubscriber API request. + * A value created by Amazon Security Lake that uniquely identifies your GetSubscriber API request. */ id: String; } export interface GetSubscriberResponse { /** - * Subscription information for the specified subscription ID + * The subscription information for the specified subscription ID. */ subscriber?: SubscriberResource; } @@ -676,7 +677,7 @@ declare namespace SecurityLake { export type Integer = number; export interface LakeConfigurationRequest { /** - * The type of encryption key used by Security Lake to encrypt the lake configuration object. + * The type of encryption key used by Amazon Security Lake to encrypt the Security Lake configuration object. */ encryptionKey?: String; /** @@ -684,7 +685,7 @@ declare namespace SecurityLake { */ replicationDestinationRegions?: RegionSet; /** - * Replication settings for the Amazon S3 buckets. This parameter uses the IAM role created by you that is managed by Security Lake, to ensure the replication setting is correct. + * Replication settings for the Amazon S3 buckets. This parameter uses the Identity and Access Management (IAM) role you created that is managed by Security Lake, to ensure the replication setting is correct. */ replicationRoleArn?: RoleArn; /** @@ -699,15 +700,15 @@ declare namespace SecurityLake { export type LakeConfigurationRequestMap = {[key: string]: LakeConfigurationRequest}; export interface LakeConfigurationResponse { /** - * The type of encryption key used by Security Lake to encrypt the lake configuration + * The type of encryption key used by secure the Security Lake configuration object. */ encryptionKey?: String; /** - * Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. Amazon S3 buckets that are configured for object replication can be owned by the same AWS account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different Amazon Web Services Regions or within the same Region as the source bucket. Set up one or more rollup Regions by providing the Region or Regions that should contribute to the central rollup Region. + * Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. Amazon S3 buckets that are configured for object replication can be owned by the same Amazon Web Services account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different Amazon Web Services Regions or within the same Region as the source bucket. Set up one or more rollup Regions by providing the Region or Regions that should contribute to the central rollup Region. */ replicationDestinationRegions?: RegionSet; /** - * Replication settings for the Amazon S3 buckets. This parameter uses the IAM role created by you that is managed by Security Lake, to ensure the replication setting is correct. + * Replication settings for the Amazon S3 buckets. This parameter uses the IAM role you created that is managed by Security Lake, to ensure the replication setting is correct. */ replicationRoleArn?: RoleArn; /** @@ -734,21 +735,21 @@ declare namespace SecurityLake { */ maxFailures?: Integer; /** - * List if there are more results available. if nextToken is returned, You can make the call again using the returned token to retrieve the next page + * List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. */ nextToken?: SafeString; /** - * List the regions from which exceptions are retrieved. + * List the Amazon Web Services Regions from which exceptions are retrieved. */ regionSet?: RegionSet; } export interface ListDatalakeExceptionsResponse { /** - * List if there are more results available. if nextToken is returned, You can make the call again using the returned token to retrieve the next page + * List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. */ nextToken?: SafeString; /** - * Lists the non-retryable failures in the current region. + * Lists the failures that cannot be retried in the current Region. */ nonRetryableFailures: FailuresResponseList; } @@ -758,33 +759,33 @@ declare namespace SecurityLake { */ inputOrder?: DimensionSet; /** - * List the view of log sources for enabled Security Lake accounts in all Regions and source types. + * List the view of log sources for enabled Amazon Security Lake accounts for specific Amazon Web Services sources from specific accounts and specific Regions. */ listAllDimensions?: AllDimensionsMap; /** - * List the view of log sources for enabled Security Lake accounts for the entire region. + * List the view of log sources for enabled Security Lake accounts for all Amazon Web Services sources from specific accounts or specific Regions. */ listSingleDimension?: InputSet; /** - * Lists the log sources for the specified source types in enabled Security Lake accounts for the entire Region, for selected member accounts. + * Lists the view of log sources for enabled Security Lake accounts for specific Amazon Web Services sources from specific accounts or specific Regions. */ listTwoDimensions?: TwoDimensionsMap; /** - * The maximum number of accounts for which the configuration is displayed. + * The maximum number of accounts for which the log sources are displayed. */ maxResults?: Integer; /** - * If nextToken is returned, there are more results available. You can make the call again using the returned token to retrieve the next page. + * If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page. */ nextToken?: SafeString; } export interface ListLogSourcesResponse { /** - * If nextToken is returned, there are more results available. You can make the call again using the returned token to retrieve the next page. + * If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page. */ nextToken?: String; /** - * Lists the log sources in the Regions for enabled Security Lake accounts. + * Lists the log sources by Regions for enabled Security Lake accounts. */ regionSourceTypesAccountsList: RegionSourceTypesAccountsList; } @@ -794,23 +795,23 @@ declare namespace SecurityLake { */ maxResults?: Integer; /** - * If nextToken is returned, there are more results available. You can make the call again using the returned token to retrieve the next page. + * If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page. */ - nextToken?: SafeString; + nextToken?: String; } export interface ListSubscribersResponse { /** - * If nextToken is returned, there are more results available. You can make the call again using the returned token to retrieve the next page. + * If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page. */ - nextToken?: SafeString; + nextToken?: String; /** - * The subscribers available in the specified Security Lake account ID. + * The subscribers available for the specified Security Lake account ID. */ subscribers: SubscriberList; } export interface LogsStatus { /** - * Health status of services including error codes and patterns. + * The health status of services, including error codes and patterns. */ healthStatus: SourceStatus; /** @@ -823,7 +824,7 @@ declare namespace SecurityLake { export type OcsfEventClass = "ACCESS_ACTIVITY"|"FILE_ACTIVITY"|"KERNEL_ACTIVITY"|"KERNEL_EXTENSION"|"MEMORY_ACTIVITY"|"MODULE_ACTIVITY"|"PROCESS_ACTIVITY"|"REGISTRY_KEY_ACTIVITY"|"REGISTRY_VALUE_ACTIVITY"|"RESOURCE_ACTIVITY"|"SCHEDULED_JOB_ACTIVITY"|"SECURITY_FINDING"|"ACCOUNT_CHANGE"|"AUTHENTICATION"|"AUTHORIZATION"|"ENTITY_MANAGEMENT_AUDIT"|"DHCP_ACTIVITY"|"NETWORK_ACTIVITY"|"DNS_ACTIVITY"|"FTP_ACTIVITY"|"HTTP_ACTIVITY"|"RDP_ACTIVITY"|"SMB_ACTIVITY"|"SSH_ACTIVITY"|"CLOUD_API"|"CONTAINER_LIFECYCLE"|"DATABASE_LIFECYCLE"|"CONFIG_STATE"|"CLOUD_STORAGE"|"INVENTORY_INFO"|"RFB_ACTIVITY"|"SMTP_ACTIVITY"|"VIRTUAL_MACHINE_ACTIVITY"|string; export interface ProtocolAndNotificationEndpoint { /** - * The account which is subscribed to receive exception notifications. + * The account that is subscribed to receive exception notifications. */ endpoint?: SafeString; /** @@ -836,7 +837,7 @@ declare namespace SecurityLake { export type RegionSourceTypesAccountsList = AllDimensionsMap[]; export interface RetentionSetting { /** - * The retention period specifies a fixed period of time during which the Security Lake object remains locked. You can specify the retention period for one or more source in days. + * The retention period specifies a fixed period of time during which the Security Lake object remains locked. You can specify the retention period in days for one or more sources. */ retentionPeriod?: RetentionSettingRetentionPeriodInteger; /** @@ -853,11 +854,11 @@ declare namespace SecurityLake { export type SourceStatus = "ACTIVE"|"DEACTIVATED"|"PENDING"|string; export interface SourceType { /** - * Amazon Security Lake supports logs and events collection for natively-supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. + * Amazon Security Lake supports log and event collection for natively supported Amazon Web Services. */ awsSourceType?: AwsLogSourceType; /** - * Amazon Security Lake supports custom source types. For the detailed list, see the Amazon Security Lake User Guide. + * Amazon Security Lake supports custom source types. For a detailed list, see the Amazon Security Lake User Guide. */ customSourceType?: CustomSourceType; } @@ -867,11 +868,11 @@ declare namespace SecurityLake { export type SubscriberList = SubscriberResource[]; export interface SubscriberResource { /** - * You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber. Subscribers can consume data by directly querying Lake Formation tables in your S3 bucket via services like Amazon Athena. This subscription type is defined as LAKEFORMATION. + * You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber. Subscribers can consume data by directly querying Lake Formation tables in your Amazon S3 bucket through services like Amazon Athena. This subscription type is defined as LAKEFORMATION. */ accessTypes?: AccessTypeList; /** - * The Amazon Web Services account ID of the account that you are using to create your Amazon Security Lake account. + * The Amazon Web Services account ID you are using to create your Amazon Security Lake account. */ accountId: AwsAccountId; /** @@ -879,7 +880,7 @@ declare namespace SecurityLake { */ createdAt?: SyntheticTimestamp_date_time; /** - * The external ID of the subscriber. External ID allows the user that is assuming the role to assert the circumstances in which they are operating. It also provides a way for the account owner to permit the role to be assumed only under specific circumstances. + * The external ID of the subscriber. The external ID lets the user that is assuming the role assert the circumstances in which they are operating. It also provides a way for the account owner to permit the role to be assumed only under specific circumstances. */ externalId?: SafeString; /** @@ -887,15 +888,15 @@ declare namespace SecurityLake { */ roleArn?: RoleArn; /** - * The Amazon Resource Name (ARN) for the Amazon S3 bucket. + * The ARN for the Amazon S3 bucket. */ s3BucketArn?: S3BucketArn; /** - * The Amazon Resource Name (ARN) for the Amazon Simple Notification Service. + * The ARN for the Amazon Simple Notification Service. */ snsArn?: SnsTopicArn; /** - * Amazon Security Lake supports logs and events collection for the natively-supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. + * Amazon Security Lake supports log and event collection for natively supported Amazon Web Services. For more information, see the Amazon Security Lake User Guide. */ sourceTypes: SourceTypeList; /** @@ -919,7 +920,7 @@ declare namespace SecurityLake { */ subscriptionProtocol?: EndpointProtocol; /** - * Subscription status of the Amazon Security Lake subscriber account. + * The subscription status of the Amazon Security Lake subscriber account. */ subscriptionStatus?: SubscriptionStatus; /** @@ -944,7 +945,7 @@ declare namespace SecurityLake { } export interface UpdateDatalakeExceptionsSubscriptionRequest { /** - * The account which is subscribed to receive exception notifications. + * The account that is subscribed to receive exception notifications. */ notificationEndpoint: SafeString; /** @@ -956,7 +957,7 @@ declare namespace SecurityLake { } export interface UpdateDatalakeRequest { /** - * The configuration object + * Specify the Region or Regions that will contribute data to the rollup region. */ configurations: LakeConfigurationRequestMap; } @@ -964,36 +965,36 @@ declare namespace SecurityLake { } export interface UpdateSubscriberRequest { /** - * External ID of the Security Lake account. + * The external ID of the Security Lake account. */ externalId?: SafeString; /** - * A value created by Security Lake that uniquely identifies your UpdateSubscriber API request. + * A value created by Security Lake that uniquely identifies your subscription. */ id: String; /** - * The supported Amazon Web Services services from which logs and events are collected. Amazon Security Lake supports logs and events collection for the following natively-supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. + * The supported Amazon Web Services from which logs and events are collected. For the list of supported Amazon Web Services, see the Amazon Security Lake User Guide. */ - sourceTypes?: SourceTypeList; + sourceTypes: SourceTypeList; /** - * Description of the Security Lake account subscriber. + * The description of the Security Lake account subscriber. */ - subscriberDescription?: SafeString; + subscriberDescription?: DescriptionString; /** - * Name of the Security Lake account subscriber. + * The name of the Security Lake account subscriber. */ subscriberName?: UpdateSubscriberRequestSubscriberNameString; } export type UpdateSubscriberRequestSubscriberNameString = string; export interface UpdateSubscriberResponse { /** - * The account subscriber in Amazon Security Lake. + * The account of the subscriber. */ subscriber?: SubscriberResource; } export interface UpdateSubscriptionNotificationConfigurationRequest { /** - * Create a new subscription notification for the specified subscription ID in Security Lake. + * Create a new subscription notification for the specified subscription ID in Amazon Security Lake. */ createSqs?: Boolean; /** @@ -1024,7 +1025,7 @@ declare namespace SecurityLake { export type UpdateSubscriptionNotificationConfigurationRequestSubscriptionEndpointString = string; export interface UpdateSubscriptionNotificationConfigurationResponse { /** - * Returns the Amazon resource name (ARN) of the queue. + * Returns the ARN of the queue. */ queueArn?: SafeString; } diff --git a/dist/aws-sdk-core-react-native.js b/dist/aws-sdk-core-react-native.js index a4a8a84509..26d9c632bf 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.1286.0', + VERSION: '2.1287.0', /** * @api private diff --git a/dist/aws-sdk-react-native.js b/dist/aws-sdk-react-native.js index a7841f444e..e5ca3b4a61 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.1286.0', + VERSION: '2.1287.0', /** * @api private @@ -61353,7 +61353,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 1241 */ /***/ (function(module, exports) { - module.exports = {"version":"2.0","metadata":{"apiVersion":"2018-05-10","endpointPrefix":"securitylake","jsonVersion":"1.1","protocol":"rest-json","serviceFullName":"Amazon Security Lake","serviceId":"SecurityLake","signatureVersion":"v4","signingName":"securitylake","uid":"securitylake-2018-05-10"},"operations":{"CreateAwsLogSource":{"http":{"requestUri":"/v1/logsources/aws","responseCode":200},"input":{"type":"structure","required":["inputOrder"],"members":{"enableAllDimensions":{"shape":"S2"},"enableSingleDimension":{"shape":"S6"},"enableTwoDimensions":{"shape":"S4"},"inputOrder":{"shape":"S8"}}},"output":{"type":"structure","members":{"failed":{"shape":"Sb"},"processing":{"shape":"Sb"}}}},"CreateCustomLogSource":{"http":{"requestUri":"/v1/logsources/custom","responseCode":200},"input":{"type":"structure","required":["customSourceName","eventClass","glueInvocationRoleArn","logProviderAccountId"],"members":{"customSourceName":{},"eventClass":{},"glueInvocationRoleArn":{},"logProviderAccountId":{}}},"output":{"type":"structure","required":["customDataLocation","glueCrawlerName","glueDatabaseName","glueTableName","logProviderAccessRoleArn"],"members":{"customDataLocation":{},"glueCrawlerName":{},"glueDatabaseName":{},"glueTableName":{},"logProviderAccessRoleArn":{}}}},"CreateDatalake":{"http":{"requestUri":"/v1/datalake","responseCode":200},"input":{"type":"structure","members":{"configurations":{"shape":"Sj"},"enableAll":{"type":"boolean"},"metaStoreManagerRoleArn":{},"regions":{"shape":"Sm"}}},"output":{"type":"structure","members":{}}},"CreateDatalakeAutoEnable":{"http":{"requestUri":"/v1/datalake/autoenable","responseCode":200},"input":{"type":"structure","required":["configurationForNewAccounts"],"members":{"configurationForNewAccounts":{"shape":"Sv"}}},"output":{"type":"structure","members":{}}},"CreateDatalakeDelegatedAdmin":{"http":{"requestUri":"/v1/datalake/delegate","responseCode":200},"input":{"type":"structure","required":["account"],"members":{"account":{}}},"output":{"type":"structure","members":{}}},"CreateDatalakeExceptionsSubscription":{"http":{"requestUri":"/v1/datalake/exceptions/subscription","responseCode":200},"input":{"type":"structure","required":["notificationEndpoint","subscriptionProtocol"],"members":{"notificationEndpoint":{},"subscriptionProtocol":{}}},"output":{"type":"structure","members":{}}},"CreateSubscriber":{"http":{"requestUri":"/v1/subscribers","responseCode":200},"input":{"type":"structure","required":["accountId","externalId","sourceTypes","subscriberName"],"members":{"accessTypes":{"shape":"S16"},"accountId":{},"externalId":{},"sourceTypes":{"shape":"S18"},"subscriberDescription":{},"subscriberName":{}}},"output":{"type":"structure","required":["subscriptionId"],"members":{"roleArn":{},"s3BucketArn":{},"snsArn":{},"subscriptionId":{}}}},"CreateSubscriptionNotificationConfiguration":{"http":{"requestUri":"/subscription-notifications/{subscriptionId}","responseCode":200},"input":{"type":"structure","required":["subscriptionId"],"members":{"createSqs":{"type":"boolean"},"httpsApiKeyName":{},"httpsApiKeyValue":{},"httpsMethod":{},"roleArn":{},"subscriptionEndpoint":{},"subscriptionId":{"location":"uri","locationName":"subscriptionId"}}},"output":{"type":"structure","members":{"queueArn":{}}}},"DeleteAwsLogSource":{"http":{"requestUri":"/v1/logsources/aws/delete","responseCode":200},"input":{"type":"structure","required":["inputOrder"],"members":{"disableAllDimensions":{"shape":"S2"},"disableSingleDimension":{"shape":"S6"},"disableTwoDimensions":{"shape":"S4"},"inputOrder":{"shape":"S8"}}},"output":{"type":"structure","members":{"failed":{"shape":"Sb"},"processing":{"shape":"Sb"}}}},"DeleteCustomLogSource":{"http":{"method":"DELETE","requestUri":"/v1/logsources/custom","responseCode":200},"input":{"type":"structure","required":["customSourceName"],"members":{"customSourceName":{"location":"querystring","locationName":"customSourceName"}}},"output":{"type":"structure","required":["customDataLocation"],"members":{"customDataLocation":{}}},"idempotent":true},"DeleteDatalake":{"http":{"method":"DELETE","requestUri":"/v1/datalake","responseCode":200},"input":{"type":"structure","members":{}},"output":{"type":"structure","members":{}},"idempotent":true},"DeleteDatalakeAutoEnable":{"http":{"requestUri":"/v1/datalake/autoenable/delete","responseCode":200},"input":{"type":"structure","required":["removeFromConfigurationForNewAccounts"],"members":{"removeFromConfigurationForNewAccounts":{"shape":"Sv"}}},"output":{"type":"structure","members":{}}},"DeleteDatalakeDelegatedAdmin":{"http":{"method":"DELETE","requestUri":"/v1/datalake/delegate/{account}","responseCode":200},"input":{"type":"structure","required":["account"],"members":{"account":{"location":"uri","locationName":"account"}}},"output":{"type":"structure","members":{}}},"DeleteDatalakeExceptionsSubscription":{"http":{"method":"DELETE","requestUri":"/v1/datalake/exceptions/subscription","responseCode":200},"input":{"type":"structure","members":{}},"output":{"type":"structure","required":["status"],"members":{"status":{}}}},"DeleteSubscriber":{"http":{"method":"DELETE","requestUri":"/v1/subscribers","responseCode":200},"input":{"type":"structure","required":["id"],"members":{"id":{"location":"querystring","locationName":"id"}}},"output":{"type":"structure","members":{}},"idempotent":true},"DeleteSubscriptionNotificationConfiguration":{"http":{"method":"DELETE","requestUri":"/subscription-notifications/{subscriptionId}","responseCode":200},"input":{"type":"structure","required":["subscriptionId"],"members":{"subscriptionId":{"location":"uri","locationName":"subscriptionId"}}},"output":{"type":"structure","members":{}},"idempotent":true},"GetDatalake":{"http":{"method":"GET","requestUri":"/v1/datalake","responseCode":200},"input":{"type":"structure","members":{}},"output":{"type":"structure","required":["configurations"],"members":{"configurations":{"type":"map","key":{},"value":{"type":"structure","members":{"encryptionKey":{},"replicationDestinationRegions":{"shape":"Sm"},"replicationRoleArn":{},"retentionSettings":{"shape":"Sn"},"s3BucketArn":{},"status":{},"tagsMap":{"shape":"Sr"}}}}}}},"GetDatalakeAutoEnable":{"http":{"method":"GET","requestUri":"/v1/datalake/autoenable","responseCode":200},"input":{"type":"structure","members":{}},"output":{"type":"structure","required":["autoEnableNewAccounts"],"members":{"autoEnableNewAccounts":{"shape":"Sv"}}}},"GetDatalakeExceptionsExpiry":{"http":{"method":"GET","requestUri":"/v1/datalake/exceptions/expiry","responseCode":200},"input":{"type":"structure","members":{}},"output":{"type":"structure","required":["exceptionMessageExpiry"],"members":{"exceptionMessageExpiry":{"type":"long"}}}},"GetDatalakeExceptionsSubscription":{"http":{"method":"GET","requestUri":"/v1/datalake/exceptions/subscription","responseCode":200},"input":{"type":"structure","members":{}},"output":{"type":"structure","required":["protocolAndNotificationEndpoint"],"members":{"protocolAndNotificationEndpoint":{"type":"structure","members":{"endpoint":{},"protocol":{}}}}}},"GetDatalakeStatus":{"http":{"requestUri":"/v1/datalake/status","responseCode":200},"input":{"type":"structure","members":{"accountSet":{"shape":"S6"},"maxAccountResults":{"type":"integer"},"nextToken":{}}},"output":{"type":"structure","required":["accountSourcesList"],"members":{"accountSourcesList":{"type":"list","member":{"type":"structure","required":["account","sourceType"],"members":{"account":{},"eventClass":{},"logsStatus":{"type":"list","member":{"type":"structure","required":["healthStatus","pathToLogs"],"members":{"healthStatus":{},"pathToLogs":{}}}},"sourceType":{}}}},"nextToken":{}}}},"GetSubscriber":{"http":{"method":"GET","requestUri":"/v1/subscribers/{id}","responseCode":200},"input":{"type":"structure","required":["id"],"members":{"id":{"location":"uri","locationName":"id"}}},"output":{"type":"structure","members":{"subscriber":{"shape":"S2m"}}}},"ListDatalakeExceptions":{"http":{"requestUri":"/v1/datalake/exceptions","responseCode":200},"input":{"type":"structure","members":{"maxFailures":{"type":"integer"},"nextToken":{},"regionSet":{"shape":"Sm"}}},"output":{"type":"structure","required":["nonRetryableFailures"],"members":{"nextToken":{},"nonRetryableFailures":{"type":"list","member":{"type":"structure","members":{"failures":{"type":"list","member":{"type":"structure","required":["exceptionMessage","remediation","timestamp"],"members":{"exceptionMessage":{},"remediation":{},"timestamp":{"shape":"S2n"}}}},"region":{}}}}}}},"ListLogSources":{"http":{"requestUri":"/v1/logsources/list","responseCode":200},"input":{"type":"structure","members":{"inputOrder":{"shape":"S8"},"listAllDimensions":{"shape":"S2"},"listSingleDimension":{"shape":"S6"},"listTwoDimensions":{"shape":"S4"},"maxResults":{"type":"integer"},"nextToken":{}}},"output":{"type":"structure","required":["regionSourceTypesAccountsList"],"members":{"nextToken":{},"regionSourceTypesAccountsList":{"type":"list","member":{"shape":"S2"}}}}},"ListSubscribers":{"http":{"method":"GET","requestUri":"/v1/subscribers","responseCode":200},"input":{"type":"structure","members":{"maxResults":{"location":"querystring","locationName":"maxResults","type":"integer"},"nextToken":{"location":"querystring","locationName":"nextToken"}}},"output":{"type":"structure","required":["subscribers"],"members":{"nextToken":{},"subscribers":{"type":"list","member":{"shape":"S2m"}}}}},"UpdateDatalake":{"http":{"method":"PUT","requestUri":"/v1/datalake","responseCode":200},"input":{"type":"structure","required":["configurations"],"members":{"configurations":{"shape":"Sj"}}},"output":{"type":"structure","members":{}},"idempotent":true},"UpdateDatalakeExceptionsExpiry":{"http":{"method":"PUT","requestUri":"/v1/datalake/exceptions/expiry","responseCode":200},"input":{"type":"structure","required":["exceptionMessageExpiry"],"members":{"exceptionMessageExpiry":{"type":"long"}}},"output":{"type":"structure","members":{}}},"UpdateDatalakeExceptionsSubscription":{"http":{"method":"PUT","requestUri":"/v1/datalake/exceptions/subscription","responseCode":200},"input":{"type":"structure","required":["notificationEndpoint","subscriptionProtocol"],"members":{"notificationEndpoint":{},"subscriptionProtocol":{}}},"output":{"type":"structure","members":{}}},"UpdateSubscriber":{"http":{"method":"PUT","requestUri":"/v1/subscribers/{id}","responseCode":200},"input":{"type":"structure","required":["id"],"members":{"externalId":{},"id":{"location":"uri","locationName":"id"},"sourceTypes":{"shape":"S18"},"subscriberDescription":{},"subscriberName":{}}},"output":{"type":"structure","members":{"subscriber":{"shape":"S2m"}}},"idempotent":true},"UpdateSubscriptionNotificationConfiguration":{"http":{"method":"PUT","requestUri":"/subscription-notifications/{subscriptionId}","responseCode":200},"input":{"type":"structure","required":["subscriptionId"],"members":{"createSqs":{"type":"boolean"},"httpsApiKeyName":{},"httpsApiKeyValue":{},"httpsMethod":{},"roleArn":{},"subscriptionEndpoint":{},"subscriptionId":{"location":"uri","locationName":"subscriptionId"}}},"output":{"type":"structure","members":{"queueArn":{}}}}},"shapes":{"S2":{"type":"map","key":{},"value":{"shape":"S4"}},"S4":{"type":"map","key":{},"value":{"type":"list","member":{}}},"S6":{"type":"list","member":{}},"S8":{"type":"list","member":{}},"Sb":{"type":"list","member":{}},"Sj":{"type":"map","key":{},"value":{"type":"structure","members":{"encryptionKey":{},"replicationDestinationRegions":{"shape":"Sm"},"replicationRoleArn":{},"retentionSettings":{"shape":"Sn"},"tagsMap":{"shape":"Sr"}}}},"Sm":{"type":"list","member":{}},"Sn":{"type":"list","member":{"type":"structure","members":{"retentionPeriod":{"type":"integer"},"storageClass":{}}}},"Sr":{"type":"map","key":{},"value":{}},"Sv":{"type":"list","member":{"type":"structure","required":["region","sources"],"members":{"region":{},"sources":{"type":"list","member":{}}}}},"S16":{"type":"list","member":{}},"S18":{"type":"list","member":{"type":"structure","members":{"awsSourceType":{},"customSourceType":{}},"union":true}},"S2m":{"type":"structure","required":["accountId","sourceTypes","subscriptionId"],"members":{"accessTypes":{"shape":"S16"},"accountId":{},"createdAt":{"shape":"S2n"},"externalId":{},"roleArn":{},"s3BucketArn":{},"snsArn":{},"sourceTypes":{"shape":"S18"},"subscriberDescription":{},"subscriberName":{},"subscriptionEndpoint":{},"subscriptionId":{},"subscriptionProtocol":{},"subscriptionStatus":{},"updatedAt":{"shape":"S2n"}}},"S2n":{"type":"timestamp","timestampFormat":"iso8601"}}} + module.exports = {"version":"2.0","metadata":{"apiVersion":"2018-05-10","endpointPrefix":"securitylake","jsonVersion":"1.1","protocol":"rest-json","serviceFullName":"Amazon Security Lake","serviceId":"SecurityLake","signatureVersion":"v4","signingName":"securitylake","uid":"securitylake-2018-05-10"},"operations":{"CreateAwsLogSource":{"http":{"requestUri":"/v1/logsources/aws","responseCode":200},"input":{"type":"structure","required":["inputOrder"],"members":{"enableAllDimensions":{"shape":"S2"},"enableSingleDimension":{"shape":"S6"},"enableTwoDimensions":{"shape":"S4"},"inputOrder":{"shape":"S8"}}},"output":{"type":"structure","members":{"failed":{"shape":"Sb"},"processing":{"shape":"Sb"}}}},"CreateCustomLogSource":{"http":{"requestUri":"/v1/logsources/custom","responseCode":200},"input":{"type":"structure","required":["customSourceName","eventClass","glueInvocationRoleArn","logProviderAccountId"],"members":{"customSourceName":{},"eventClass":{},"glueInvocationRoleArn":{},"logProviderAccountId":{}}},"output":{"type":"structure","required":["customDataLocation","glueCrawlerName","glueDatabaseName","glueTableName","logProviderAccessRoleArn"],"members":{"customDataLocation":{},"glueCrawlerName":{},"glueDatabaseName":{},"glueTableName":{},"logProviderAccessRoleArn":{}}}},"CreateDatalake":{"http":{"requestUri":"/v1/datalake","responseCode":200},"input":{"type":"structure","members":{"configurations":{"shape":"Sj"},"enableAll":{"type":"boolean"},"metaStoreManagerRoleArn":{},"regions":{"shape":"Sm"}}},"output":{"type":"structure","members":{}}},"CreateDatalakeAutoEnable":{"http":{"requestUri":"/v1/datalake/autoenable","responseCode":200},"input":{"type":"structure","required":["configurationForNewAccounts"],"members":{"configurationForNewAccounts":{"shape":"Sv"}}},"output":{"type":"structure","members":{}}},"CreateDatalakeDelegatedAdmin":{"http":{"requestUri":"/v1/datalake/delegate","responseCode":200},"input":{"type":"structure","required":["account"],"members":{"account":{}}},"output":{"type":"structure","members":{}}},"CreateDatalakeExceptionsSubscription":{"http":{"requestUri":"/v1/datalake/exceptions/subscription","responseCode":200},"input":{"type":"structure","required":["notificationEndpoint","subscriptionProtocol"],"members":{"notificationEndpoint":{},"subscriptionProtocol":{}}},"output":{"type":"structure","members":{}}},"CreateSubscriber":{"http":{"requestUri":"/v1/subscribers","responseCode":200},"input":{"type":"structure","required":["accountId","externalId","sourceTypes","subscriberName"],"members":{"accessTypes":{"shape":"S16"},"accountId":{},"externalId":{},"sourceTypes":{"shape":"S18"},"subscriberDescription":{},"subscriberName":{}}},"output":{"type":"structure","required":["subscriptionId"],"members":{"roleArn":{},"s3BucketArn":{},"snsArn":{},"subscriptionId":{}}}},"CreateSubscriptionNotificationConfiguration":{"http":{"requestUri":"/subscription-notifications/{subscriptionId}","responseCode":200},"input":{"type":"structure","required":["subscriptionId"],"members":{"createSqs":{"type":"boolean"},"httpsApiKeyName":{},"httpsApiKeyValue":{},"httpsMethod":{},"roleArn":{},"subscriptionEndpoint":{},"subscriptionId":{"location":"uri","locationName":"subscriptionId"}}},"output":{"type":"structure","members":{"queueArn":{}}}},"DeleteAwsLogSource":{"http":{"requestUri":"/v1/logsources/aws/delete","responseCode":200},"input":{"type":"structure","required":["inputOrder"],"members":{"disableAllDimensions":{"shape":"S2"},"disableSingleDimension":{"shape":"S6"},"disableTwoDimensions":{"shape":"S4"},"inputOrder":{"shape":"S8"}}},"output":{"type":"structure","members":{"failed":{"shape":"Sb"},"processing":{"shape":"Sb"}}}},"DeleteCustomLogSource":{"http":{"method":"DELETE","requestUri":"/v1/logsources/custom","responseCode":200},"input":{"type":"structure","required":["customSourceName"],"members":{"customSourceName":{"location":"querystring","locationName":"customSourceName"}}},"output":{"type":"structure","required":["customDataLocation"],"members":{"customDataLocation":{}}},"idempotent":true},"DeleteDatalake":{"http":{"method":"DELETE","requestUri":"/v1/datalake","responseCode":200},"input":{"type":"structure","members":{}},"output":{"type":"structure","members":{}},"idempotent":true},"DeleteDatalakeAutoEnable":{"http":{"requestUri":"/v1/datalake/autoenable/delete","responseCode":200},"input":{"type":"structure","required":["removeFromConfigurationForNewAccounts"],"members":{"removeFromConfigurationForNewAccounts":{"shape":"Sv"}}},"output":{"type":"structure","members":{}}},"DeleteDatalakeDelegatedAdmin":{"http":{"method":"DELETE","requestUri":"/v1/datalake/delegate/{account}","responseCode":200},"input":{"type":"structure","required":["account"],"members":{"account":{"location":"uri","locationName":"account"}}},"output":{"type":"structure","members":{}}},"DeleteDatalakeExceptionsSubscription":{"http":{"method":"DELETE","requestUri":"/v1/datalake/exceptions/subscription","responseCode":200},"input":{"type":"structure","members":{}},"output":{"type":"structure","required":["status"],"members":{"status":{}}}},"DeleteSubscriber":{"http":{"method":"DELETE","requestUri":"/v1/subscribers","responseCode":200},"input":{"type":"structure","required":["id"],"members":{"id":{"location":"querystring","locationName":"id"}}},"output":{"type":"structure","members":{}},"idempotent":true},"DeleteSubscriptionNotificationConfiguration":{"http":{"method":"DELETE","requestUri":"/subscription-notifications/{subscriptionId}","responseCode":200},"input":{"type":"structure","required":["subscriptionId"],"members":{"subscriptionId":{"location":"uri","locationName":"subscriptionId"}}},"output":{"type":"structure","members":{}},"idempotent":true},"GetDatalake":{"http":{"method":"GET","requestUri":"/v1/datalake","responseCode":200},"input":{"type":"structure","members":{}},"output":{"type":"structure","required":["configurations"],"members":{"configurations":{"type":"map","key":{},"value":{"type":"structure","members":{"encryptionKey":{},"replicationDestinationRegions":{"shape":"Sm"},"replicationRoleArn":{},"retentionSettings":{"shape":"Sn"},"s3BucketArn":{},"status":{},"tagsMap":{"shape":"Sr"}}}}}}},"GetDatalakeAutoEnable":{"http":{"method":"GET","requestUri":"/v1/datalake/autoenable","responseCode":200},"input":{"type":"structure","members":{}},"output":{"type":"structure","required":["autoEnableNewAccounts"],"members":{"autoEnableNewAccounts":{"shape":"Sv"}}}},"GetDatalakeExceptionsExpiry":{"http":{"method":"GET","requestUri":"/v1/datalake/exceptions/expiry","responseCode":200},"input":{"type":"structure","members":{}},"output":{"type":"structure","required":["exceptionMessageExpiry"],"members":{"exceptionMessageExpiry":{"type":"long"}}}},"GetDatalakeExceptionsSubscription":{"http":{"method":"GET","requestUri":"/v1/datalake/exceptions/subscription","responseCode":200},"input":{"type":"structure","members":{}},"output":{"type":"structure","required":["protocolAndNotificationEndpoint"],"members":{"protocolAndNotificationEndpoint":{"type":"structure","members":{"endpoint":{},"protocol":{}}}}}},"GetDatalakeStatus":{"http":{"requestUri":"/v1/datalake/status","responseCode":200},"input":{"type":"structure","members":{"accountSet":{"shape":"S6"},"maxAccountResults":{"type":"integer"},"nextToken":{}}},"output":{"type":"structure","required":["accountSourcesList"],"members":{"accountSourcesList":{"type":"list","member":{"type":"structure","required":["account","sourceType"],"members":{"account":{},"eventClass":{},"logsStatus":{"type":"list","member":{"type":"structure","required":["healthStatus","pathToLogs"],"members":{"healthStatus":{},"pathToLogs":{}}}},"sourceType":{}}}},"nextToken":{}}}},"GetSubscriber":{"http":{"method":"GET","requestUri":"/v1/subscribers/{id}","responseCode":200},"input":{"type":"structure","required":["id"],"members":{"id":{"location":"uri","locationName":"id"}}},"output":{"type":"structure","members":{"subscriber":{"shape":"S2n"}}}},"ListDatalakeExceptions":{"http":{"requestUri":"/v1/datalake/exceptions","responseCode":200},"input":{"type":"structure","members":{"maxFailures":{"type":"integer"},"nextToken":{},"regionSet":{"shape":"Sm"}}},"output":{"type":"structure","required":["nonRetryableFailures"],"members":{"nextToken":{},"nonRetryableFailures":{"type":"list","member":{"type":"structure","members":{"failures":{"type":"list","member":{"type":"structure","required":["exceptionMessage","remediation","timestamp"],"members":{"exceptionMessage":{},"remediation":{},"timestamp":{"shape":"S2o"}}}},"region":{}}}}}}},"ListLogSources":{"http":{"requestUri":"/v1/logsources/list","responseCode":200},"input":{"type":"structure","members":{"inputOrder":{"shape":"S8"},"listAllDimensions":{"shape":"S2"},"listSingleDimension":{"shape":"S6"},"listTwoDimensions":{"shape":"S4"},"maxResults":{"type":"integer"},"nextToken":{}}},"output":{"type":"structure","required":["regionSourceTypesAccountsList"],"members":{"nextToken":{},"regionSourceTypesAccountsList":{"type":"list","member":{"shape":"S2"}}}}},"ListSubscribers":{"http":{"method":"GET","requestUri":"/v1/subscribers","responseCode":200},"input":{"type":"structure","members":{"maxResults":{"location":"querystring","locationName":"maxResults","type":"integer"},"nextToken":{"location":"querystring","locationName":"nextToken"}}},"output":{"type":"structure","required":["subscribers"],"members":{"nextToken":{},"subscribers":{"type":"list","member":{"shape":"S2n"}}}}},"UpdateDatalake":{"http":{"method":"PUT","requestUri":"/v1/datalake","responseCode":200},"input":{"type":"structure","required":["configurations"],"members":{"configurations":{"shape":"Sj"}}},"output":{"type":"structure","members":{}},"idempotent":true},"UpdateDatalakeExceptionsExpiry":{"http":{"method":"PUT","requestUri":"/v1/datalake/exceptions/expiry","responseCode":200},"input":{"type":"structure","required":["exceptionMessageExpiry"],"members":{"exceptionMessageExpiry":{"type":"long"}}},"output":{"type":"structure","members":{}}},"UpdateDatalakeExceptionsSubscription":{"http":{"method":"PUT","requestUri":"/v1/datalake/exceptions/subscription","responseCode":200},"input":{"type":"structure","required":["notificationEndpoint","subscriptionProtocol"],"members":{"notificationEndpoint":{},"subscriptionProtocol":{}}},"output":{"type":"structure","members":{}}},"UpdateSubscriber":{"http":{"method":"PUT","requestUri":"/v1/subscribers/{id}","responseCode":200},"input":{"type":"structure","required":["id","sourceTypes"],"members":{"externalId":{},"id":{"location":"uri","locationName":"id"},"sourceTypes":{"shape":"S18"},"subscriberDescription":{},"subscriberName":{}}},"output":{"type":"structure","members":{"subscriber":{"shape":"S2n"}}},"idempotent":true},"UpdateSubscriptionNotificationConfiguration":{"http":{"method":"PUT","requestUri":"/subscription-notifications/{subscriptionId}","responseCode":200},"input":{"type":"structure","required":["subscriptionId"],"members":{"createSqs":{"type":"boolean"},"httpsApiKeyName":{},"httpsApiKeyValue":{},"httpsMethod":{},"roleArn":{},"subscriptionEndpoint":{},"subscriptionId":{"location":"uri","locationName":"subscriptionId"}}},"output":{"type":"structure","members":{"queueArn":{}}}}},"shapes":{"S2":{"type":"map","key":{},"value":{"shape":"S4"}},"S4":{"type":"map","key":{},"value":{"type":"list","member":{}}},"S6":{"type":"list","member":{}},"S8":{"type":"list","member":{}},"Sb":{"type":"list","member":{}},"Sj":{"type":"map","key":{},"value":{"type":"structure","members":{"encryptionKey":{},"replicationDestinationRegions":{"shape":"Sm"},"replicationRoleArn":{},"retentionSettings":{"shape":"Sn"},"tagsMap":{"shape":"Sr"}}}},"Sm":{"type":"list","member":{}},"Sn":{"type":"list","member":{"type":"structure","members":{"retentionPeriod":{"type":"integer"},"storageClass":{}}}},"Sr":{"type":"map","key":{},"value":{}},"Sv":{"type":"list","member":{"type":"structure","required":["region","sources"],"members":{"region":{},"sources":{"type":"list","member":{}}}}},"S16":{"type":"list","member":{}},"S18":{"type":"list","member":{"type":"structure","members":{"awsSourceType":{},"customSourceType":{}},"union":true}},"S2n":{"type":"structure","required":["accountId","sourceTypes","subscriptionId"],"members":{"accessTypes":{"shape":"S16"},"accountId":{},"createdAt":{"shape":"S2o"},"externalId":{},"roleArn":{},"s3BucketArn":{},"snsArn":{},"sourceTypes":{"shape":"S18"},"subscriberDescription":{},"subscriberName":{},"subscriptionEndpoint":{},"subscriptionId":{},"subscriptionProtocol":{},"subscriptionStatus":{},"updatedAt":{"shape":"S2o"}}},"S2o":{"type":"timestamp","timestampFormat":"iso8601"}}} /***/ }), /* 1242 */ diff --git a/dist/aws-sdk.js b/dist/aws-sdk.js index 2bcc218903..d4e046d390 100644 --- a/dist/aws-sdk.js +++ b/dist/aws-sdk.js @@ -1,4 +1,4 @@ -// AWS SDK for JavaScript v2.1286.0 +// AWS SDK for JavaScript v2.1287.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:a,convertToBuffer:i}},{"buffer/":434}],337:[function(e,t,r){function a(e,t){this.hash=new e,this.outer=new e;var r=i(e,t),a=new Uint8Array(e.BLOCK_SIZE);a.set(r);for(var s=0;se.BLOCK_SIZE){var a=new e;a.update(r),r=a.digest()}var i=new Uint8Array(e.BLOCK_SIZE);return i.set(r),i}var s=e("./browserHashUtils");t.exports=a,a.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},a.prototype.digest=function(e){return this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest(e)}},{"./browserHashUtils":336}],338:[function(e,t,r){function a(){this.state=[1732584193,4023233417,2562383102,271733878],this.buffer=new DataView(new ArrayBuffer(c)),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}function i(e,t,r,a,i,s){return((t=(t+e&4294967295)+(a+s&4294967295)&4294967295)<>>32-i)+r&4294967295}function s(e,t,r,a,s,o,n){return i(t&r|~t&a,e,t,s,o,n)}function o(e,t,r,a,s,o,n){return i(t&a|r&~a,e,t,s,o,n)}function n(e,t,r,a,s,o,n){return i(t^r^a,e,t,s,o,n)}function u(e,t,r,a,s,o,n){return i(r^(t|~a),e,t,s,o,n)}var p=e("./browserHashUtils"),m=e("buffer/").Buffer,c=64;t.exports=a,a.BLOCK_SIZE=c,a.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,a=t.byteLength;for(this.bytesHashed+=a;a>0;)this.buffer.setUint8(this.bufferLength++,t[r++]),a--,this.bufferLength===c&&(this.hashBuffer(),this.bufferLength=0);return this},a.prototype.digest=function(e){if(!this.finished){var t=this,r=t.buffer,a=t.bufferLength,i=t.bytesHashed,s=8*i;if(r.setUint8(this.bufferLength++,128),a%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},a.prototype.hashBuffer=function(){var e=this,t=e.buffer,r=e.state,a=r[0],i=r[1],p=r[2],m=r[3];a=s(a,i,p,m,t.getUint32(0,!0),7,3614090360),m=s(m,a,i,p,t.getUint32(4,!0),12,3905402710),p=s(p,m,a,i,t.getUint32(8,!0),17,606105819),i=s(i,p,m,a,t.getUint32(12,!0),22,3250441966),a=s(a,i,p,m,t.getUint32(16,!0),7,4118548399),m=s(m,a,i,p,t.getUint32(20,!0),12,1200080426),p=s(p,m,a,i,t.getUint32(24,!0),17,2821735955),i=s(i,p,m,a,t.getUint32(28,!0),22,4249261313),a=s(a,i,p,m,t.getUint32(32,!0),7,1770035416),m=s(m,a,i,p,t.getUint32(36,!0),12,2336552879),p=s(p,m,a,i,t.getUint32(40,!0),17,4294925233),i=s(i,p,m,a,t.getUint32(44,!0),22,2304563134),a=s(a,i,p,m,t.getUint32(48,!0),7,1804603682),m=s(m,a,i,p,t.getUint32(52,!0),12,4254626195),p=s(p,m,a,i,t.getUint32(56,!0),17,2792965006),i=s(i,p,m,a,t.getUint32(60,!0),22,1236535329),a=o(a,i,p,m,t.getUint32(4,!0),5,4129170786),m=o(m,a,i,p,t.getUint32(24,!0),9,3225465664),p=o(p,m,a,i,t.getUint32(44,!0),14,643717713),i=o(i,p,m,a,t.getUint32(0,!0),20,3921069994),a=o(a,i,p,m,t.getUint32(20,!0),5,3593408605),m=o(m,a,i,p,t.getUint32(40,!0),9,38016083),p=o(p,m,a,i,t.getUint32(60,!0),14,3634488961),i=o(i,p,m,a,t.getUint32(16,!0),20,3889429448),a=o(a,i,p,m,t.getUint32(36,!0),5,568446438),m=o(m,a,i,p,t.getUint32(56,!0),9,3275163606),p=o(p,m,a,i,t.getUint32(12,!0),14,4107603335),i=o(i,p,m,a,t.getUint32(32,!0),20,1163531501),a=o(a,i,p,m,t.getUint32(52,!0),5,2850285829),m=o(m,a,i,p,t.getUint32(8,!0),9,4243563512),p=o(p,m,a,i,t.getUint32(28,!0),14,1735328473),i=o(i,p,m,a,t.getUint32(48,!0),20,2368359562),a=n(a,i,p,m,t.getUint32(20,!0),4,4294588738),m=n(m,a,i,p,t.getUint32(32,!0),11,2272392833),p=n(p,m,a,i,t.getUint32(44,!0),16,1839030562),i=n(i,p,m,a,t.getUint32(56,!0),23,4259657740),a=n(a,i,p,m,t.getUint32(4,!0),4,2763975236),m=n(m,a,i,p,t.getUint32(16,!0),11,1272893353),p=n(p,m,a,i,t.getUint32(28,!0),16,4139469664),i=n(i,p,m,a,t.getUint32(40,!0),23,3200236656),a=n(a,i,p,m,t.getUint32(52,!0),4,681279174),m=n(m,a,i,p,t.getUint32(0,!0),11,3936430074),p=n(p,m,a,i,t.getUint32(12,!0),16,3572445317),i=n(i,p,m,a,t.getUint32(24,!0),23,76029189),a=n(a,i,p,m,t.getUint32(36,!0),4,3654602809),m=n(m,a,i,p,t.getUint32(48,!0),11,3873151461),p=n(p,m,a,i,t.getUint32(60,!0),16,530742520),i=n(i,p,m,a,t.getUint32(8,!0),23,3299628645),a=u(a,i,p,m,t.getUint32(0,!0),6,4096336452),m=u(m,a,i,p,t.getUint32(28,!0),10,1126891415),p=u(p,m,a,i,t.getUint32(56,!0),15,2878612391),i=u(i,p,m,a,t.getUint32(20,!0),21,4237533241),a=u(a,i,p,m,t.getUint32(48,!0),6,1700485571),m=u(m,a,i,p,t.getUint32(12,!0),10,2399980690),p=u(p,m,a,i,t.getUint32(40,!0),15,4293915773),i=u(i,p,m,a,t.getUint32(4,!0),21,2240044497),a=u(a,i,p,m,t.getUint32(32,!0),6,1873313359),m=u(m,a,i,p,t.getUint32(60,!0),10,4264355552),p=u(p,m,a,i,t.getUint32(24,!0),15,2734768916),i=u(i,p,m,a,t.getUint32(52,!0),21,1309151649),a=u(a,i,p,m,t.getUint32(16,!0),6,4149444226),m=u(m,a,i,p,t.getUint32(44,!0),10,3174756917),p=u(p,m,a,i,t.getUint32(8,!0),15,718787259),i=u(i,p,m,a,t.getUint32(36,!0),21,3951481745),r[0]=a+r[0]&4294967295,r[1]=i+r[1]&4294967295,r[2]=p+r[2]&4294967295,r[3]=m+r[3]&4294967295}},{"./browserHashUtils":336,"buffer/":434}],339:[function(e,t,r){function a(){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 i=e("buffer/").Buffer,s=e("./browserHashUtils");new Uint32Array([1518500249,1859775393,-1894007588,-899497514]),Math.pow(2,53);t.exports=a,a.BLOCK_SIZE=64,a.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 i(20),a=new DataView(r.buffer);return a.setUint32(0,this.h0,!1),a.setUint32(4,this.h1,!1),a.setUint32(8,this.h2,!1),a.setUint32(12,this.h3,!1),a.setUint32(16,this.h4,!1),e?r.toString(e):r},a.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,a,i=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),a=1518500249):e<40?(r=s^o^n,a=1859775393):e<60?(r=s&o|n&(s|o),a=2400959708):(r=s^o^n,a=3395469782);var p=(i<<5|i>>>27)+r+u+a+(0|this.block[e]);u=n,n=o,o=s<<30|s>>>2,s=i,i=p}for(this.h0=this.h0+i|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":336,"buffer/":434}],340:[function(e,t,r){function a(){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 i=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=a,a.BLOCK_SIZE=64,a.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},a.prototype.digest=function(e){if(!this.finished){var t=8*this.bytesHashed,r=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),a=this.bufferLength;if(r.setUint8(this.bufferLength++,128),a%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 i(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},a.prototype.hashBuffer=function(){for(var e=this,t=e.buffer,r=e.state,a=r[0],i=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,g=((a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10))+(a&i^a&s^i&s)|0;c=m,m=p,p=u,u=n+S|0,n=s,s=i,i=a,a=S+g|0}r[0]+=a,r[1]+=i,r[2]+=s,r[3]+=n,r[4]+=u,r[5]+=p,r[6]+=m,r[7]+=c}},{"./browserHashUtils":336,"buffer/":434}],341:[function(e,t,r){(function(r){(function(){var r=e("./util");r.crypto.lib=e("./browserCryptoLib"),r.Buffer=e("buffer/").Buffer,r.url=e("url/"),r.querystring=e("querystring/"),r.realClock=e("./realclock/browserClock"),r.environment="js",r.createEventStream=e("./event-stream/buffered-create-event-stream").createEventStream,r.isBrowser=function(){return!0},r.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===i)var i={browser:!0}}).call(this)}).call(this,e("_process"))},{"./browserCryptoLib":335,"./core":345,"./credentials":346,"./credentials/chainable_temporary_credentials":347,"./credentials/cognito_identity_credentials":348,"./credentials/credential_provider_chain":349,"./credentials/saml_credentials":350,"./credentials/temporary_credentials":351,"./credentials/web_identity_credentials":352,"./event-stream/buffered-create-event-stream":360,"./http/xhr":368,"./realclock/browserClock":387,"./util":422,"./xml/browser_parser":423,_process:439,"buffer/":434,"querystring/":446,"url/":448}],342:[function(e,t,r){var a=e("../core"),i=a.util.url,s=a.util.crypto.lib,o=a.util.base64.encode,n=a.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,a){var i=JSON.stringify({Statement:[{Resource:e,Condition:{DateLessThan:{"AWS:EpochTime":t}}}]});return{Expires:t,"Key-Pair-Id":r,Signature:p(i.toString(),a)}},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=i.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)};a.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),a={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(a["CloudFront-"+i]=r[i]);return S(a,t)},getSignedUrl:function(e,t){try{var r=y(e.url)}catch(e){return b(e,t)}var a=i.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);a.search=null;for(var o in s)Object.prototype.hasOwnProperty.call(s,o)&&(a.query[o]=s[o]);try{var n="rtmp"===l(e.url)?d(i.format(a)):i.format(a)}catch(e){return b(e,t)}return S(n,t)}}),t.exports=a.CloudFront.Signer},{"../core":345}],343:[function(e,t,r){var a=e("./core");e("./credentials"),e("./credentials/credential_provider_chain");var i;a.Config=a.util.inherit({constructor:function(e){void 0===e&&(e={}),e=this.extractCredentials(e),a.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:i.credentials)}function r(e,t){return new a.util.error(t||new Error,{code:"CredentialsError",message:e,name:"CredentialsError"})}var i=this;i.credentials?"function"==typeof i.credentials.get?function(){i.credentials.get(function(e){e&&(e=r("Could not load credentials from "+i.credentials.constructor.name,e)),t(e)})}():function(){var e=null;i.credentials.accessKeyId&&i.credentials.secretAccessKey||(e=r("Missing credentials")),t(e)}():i.credentialProvider?i.credentialProvider.resolve(function(e,a){e&&(e=r("Could not load credentials from any providers",e)),i.credentials=a,t(e)}):t(r("No credentials to load"))},getToken:function(e){function t(t){e(t,t?null:i.token)}function r(e,t){return new a.util.error(t||new Error,{code:"TokenError",message:e,name:"TokenError"})}var i=this;i.token?"function"==typeof i.token.get?function(){i.token.get(function(e){e&&(e=r("Could not load token from "+i.token.constructor.name,e)),t(e)})}():function(){var e=null;i.token.token||(e=r("Missing token")),t(e)}():i.tokenProvider?i.tokenProvider.resolve(function(e,a){e&&(e=r("Could not load token from any providers",e)),i.token=a,t(e)}):t(r("No token to load"))},update:function(e,t){t=t||!1,e=this.extractCredentials(e),a.util.each.call(this,e,function(e,r){(t||Object.prototype.hasOwnProperty.call(this.keys,e)||a.Service.hasService(e))&&this.set(e,r)})},loadFromPath:function(e){this.clear();var t=JSON.parse(a.util.readFileSync(e)),r=new a.FileSystemCredentials(e),i=new a.CredentialProviderChain;return i.providers.unshift(r),i.resolve(function(e,r){if(e)throw e;t.credentials=r}),this.constructor(t),this},clear:function(){a.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]=a.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:void 0,endpointCacheSize:1e3,hostPrefixEnabled:!0,stsRegionalEndpoints:"legacy",useFipsEndpoint:!1,useDualstackEndpoint:!1,token:null},extractCredentials:function(e){return e.accessKeyId&&e.secretAccessKey&&(e=a.util.copy(e),e.credentials=new a.Credentials(e)),e},setPromisesDependency:function(e){i=e,null===e&&"function"==typeof Promise&&(i=Promise);var t=[a.Request,a.Credentials,a.CredentialProviderChain];a.S3&&(t.push(a.S3),a.S3.ManagedUpload&&t.push(a.S3.ManagedUpload)),a.util.addPromises(t,i)},getPromisesDependency:function(){return i}}),a.config=new a.Config},{"./core":345,"./credentials":346,"./credentials/credential_provider_chain":349}],344:[function(e,t,r){(function(r){(function(){function a(e,t){if("string"==typeof e){if(["legacy","regional"].indexOf(e.toLowerCase())>=0)return e.toLowerCase();throw s.util.error(new Error,t)}}function i(e,t){e=e||{};var i;if(e[t.clientConfig]&&(i=a(e[t.clientConfig],{code:"InvalidConfiguration",message:'invalid "'+t.clientConfig+'" configuration. Expect "legacy" or "regional". Got "'+e[t.clientConfig]+'".'})))return i;if(!s.util.isNode())return i;if(Object.prototype.hasOwnProperty.call(r.env,t.env)){if(i=a(r.env[t.env],{code:"InvalidEnvironmentalVariable",message:"invalid "+t.env+' environmental variable. Expect "legacy" or "regional". Got "'+r.env[t.env]+'".'}))return i}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(i=a(o[t.sharedConfig],{code:"InvalidConfiguration",message:"invalid "+t.sharedConfig+' profile config. Expect "legacy" or "regional". Got "'+o[t.sharedConfig]+'".'}))return i}return i}var s=e("./core");t.exports=i}).call(this)}).call(this,e("_process"))},{"./core":345,_process:439}],345:[function(e,t,r){var a={util:e("./util")};({}).toString(),t.exports=a,a.util.update(a,{VERSION:"2.1286.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"),a.events=new a.SequentialExecutor,a.util.memoizedProperty(a,"endpointCache",function(){return new a.EndpointCache(a.config.endpointCacheSize)},!0)},{"../vendor/endpoint-cache":459,"./api_loader":334,"./config":343,"./event_listeners":366,"./http":367,"./json/builder":369,"./json/parser":370,"./model/api":371,"./model/operation":373,"./model/paginator":374,"./model/resource_waiter":375,"./model/shape":376,"./param_validator":377,"./protocol/json":380,"./protocol/query":381,"./protocol/rest":382,"./protocol/rest_json":383,"./protocol/rest_xml":384,"./request":391,"./resource_waiter":392,"./response":393,"./sequential_executor":395,"./service":396,"./signers/request_signer":414,"./util":422,"./xml/builder":424}],346:[function(e,t,r){var a=e("./core");a.Credentials=a.util.inherit({constructor:function(){if(a.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=a.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){a.util.arrayEach(r.refreshCallbacks,function(r){t?r(e):a.util.defer(function(){r(e)})}),r.refreshCallbacks.length=0})},load:function(e){e()}}),a.Credentials.addPromisesToClass=function(e){this.prototype.getPromise=a.util.promisifyMethod("get",e),this.prototype.refreshPromise=a.util.promisifyMethod("refresh",e)},a.Credentials.deletePromisesFromClass=function(){delete this.prototype.getPromise,delete this.prototype.refreshPromise},a.util.addPromises(a.Credentials)},{"./core":345}],347:[function(e,t,r){var a=e("../core"),i=e("../../clients/sts");a.ChainableTemporaryCredentials=a.util.inherit(a.Credentials,{constructor:function(e){a.Credentials.call(this),e=e||{},this.errorCode="ChainableTemporaryCredentialsProviderFailure",this.expired=!0,this.tokenCodeFn=null;var t=a.util.copy(e.params)||{};if(t.RoleArn&&(t.RoleSessionName=t.RoleSessionName||"temporary-credentials"),t.SerialNumber){if(!e.tokenCodeFn||"function"!=typeof e.tokenCodeFn)throw new a.util.error(new Error("tokenCodeFn must be a function when params.SerialNumber is given"),{code:this.errorCode});this.tokenCodeFn=e.tokenCodeFn}var r=a.util.merge({params:t,credentials:e.masterCredentials||a.config.credentials},e.stsConfig||{});this.service=new i(r)},refresh:function(e){this.coalesceRefresh(e||a.util.fn.callback)},load:function(e){var t=this,r=t.service.config.params.RoleArn?"assumeRole":"getSessionToken";this.getTokenCode(function(a,i){var s={};if(a)return void e(a);i&&(s.TokenCode=i),t.service[r](s,function(r,a){r||t.service.credentialsFrom(a,t),e(r)})})},getTokenCode:function(e){var t=this;this.tokenCodeFn?this.tokenCodeFn(this.service.config.params.SerialNumber,function(r,i){if(r){var s=r;return r instanceof Error&&(s=r.message),void e(a.util.error(new Error("Error fetching MFA token: "+s),{code:t.errorCode}))}e(null,i)}):e(null)}})},{"../../clients/sts":329,"../core":345}],348:[function(e,t,r){var a=e("../core"),i=e("../../clients/cognitoidentity"),s=e("../../clients/sts");a.CognitoIdentityCredentials=a.util.inherit(a.Credentials,{localStorageKey:{id:"aws.cognito.identity-id.",providers:"aws.cognito.identity-providers."},constructor:function(e,t){a.Credentials.call(this),this.expired=!0,this.params=e,this.data=null,this._identityId=null,this._clientConfig=a.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||a.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,a){!r&&a.IdentityId?(t.params.IdentityId=a.IdentityId,e(null,a.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,a){r?t.clearIdOnNotAuthorized(r):(t.cacheId(a),t.data=a,t.loadCredentials(t.data,t)),e(r)})},getCredentialsFromSTS:function(e){var t=this;t.cognito.getOpenIdToken(function(r,a){r?(t.clearIdOnNotAuthorized(r),e(r)):(t.cacheId(a),t.params.WebIdentityToken=a.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(a.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 a.WebIdentityCredentials(this.params,e),!this.cognito){var t=a.util.merge({},e);t.params=this.params,this.cognito=new i(t)}this.sts=this.sts||new s(e)},cacheId:function(e){this._identityId=e.IdentityId,this.params.IdentityId=this._identityId,a.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=a.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":260,"../../clients/sts":329,"../core":345}],349:[function(e,t,r){var a=e("../core");a.CredentialProviderChain=a.util.inherit(a.Credentials,{constructor:function(e){this.providers=e||a.CredentialProviderChain.defaultProviders.slice(0),this.resolveCallbacks=[]},resolve:function(e){function t(e,o){if(!e&&o||i===s.length)return a.util.arrayEach(r.resolveCallbacks,function(t){t(e,o)}),void(r.resolveCallbacks.length=0);var n=s[i++];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 i=0,s=r.providers.slice(0);t()}return r}}),a.CredentialProviderChain.defaultProviders=[],a.CredentialProviderChain.addPromisesToClass=function(e){this.prototype.resolvePromise=a.util.promisifyMethod("resolve",e)},a.CredentialProviderChain.deletePromisesFromClass=function(){delete this.prototype.resolvePromise},a.util.addPromises(a.CredentialProviderChain)},{"../core":345}],350:[function(e,t,r){var a=e("../core"),i=e("../../clients/sts");a.SAMLCredentials=a.util.inherit(a.Credentials,{constructor:function(e){a.Credentials.call(this),this.expired=!0,this.params=e},refresh:function(e){this.coalesceRefresh(e||a.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.service.assumeRoleWithSAML(function(r,a){r||t.service.credentialsFrom(a,t),e(r)})},createClients:function(){this.service=this.service||new i({params:this.params})}})},{"../../clients/sts":329,"../core":345}],351:[function(e,t,r){var a=e("../core"),i=e("../../clients/sts");a.TemporaryCredentials=a.util.inherit(a.Credentials,{constructor:function(e,t){a.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||a.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,a){r||t.service.credentialsFrom(a,t),e(r)})})},loadMasterCredentials:function(e){for(this.masterCredentials=e||a.config.credentials;this.masterCredentials.masterCredentials;)this.masterCredentials=this.masterCredentials.masterCredentials;"function"!=typeof this.masterCredentials.get&&(this.masterCredentials=new a.Credentials(this.masterCredentials))},createClients:function(){this.service=this.service||new i({params:this.params})}})},{"../../clients/sts":329,"../core":345}],352:[function(e,t,r){var a=e("../core"),i=e("../../clients/sts");a.WebIdentityCredentials=a.util.inherit(a.Credentials,{constructor:function(e,t){a.Credentials.call(this),this.expired=!0,this.params=e,this.params.RoleSessionName=this.params.RoleSessionName||"web-identity",this.data=null,this._clientConfig=a.util.copy(t||{})},refresh:function(e){this.coalesceRefresh(e||a.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.service.assumeRoleWithWebIdentity(function(r,a){t.data=null,r||(t.data=a,t.service.credentialsFrom(a,t)),e(r)})},createClients:function(){if(!this.service){var e=a.util.merge({},this._clientConfig);e.params=this.params,this.service=new i(e)}}})},{"../../clients/sts":329,"../core":345}],353:[function(e,t,r){(function(r){(function(){function a(e){var t=e.service,r=t.api||{},a={};return t.config.region&&(a.region=t.config.region),r.serviceId&&(a.serviceId=r.serviceId),t.config.credentials.accessKeyId&&(a.accessKeyId=t.config.credentials.accessKeyId),a}function i(e,t,r){r&&void 0!==t&&null!==t&&"structure"===r.type&&r.required&&r.required.length>0&&b.arrayEach(r.required,function(a){var s=r.members[a];if(!0===s.endpointDiscoveryId){var o=s.isLocationName?s.name:a;e[o]=String(t[a])}else i(e,t[a],s)})}function s(e,t){var r={};return i(r,e.params,t),r}function o(e){var t=e.service,r=t.api,i=r.operations?r.operations[e.operation]:void 0,o=i?i.input:void 0,n=s(e,o),p=a(e);Object.keys(n).length>0&&(p=b.update(p,n),i&&(p.operation=i.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:i.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,i=r.api,o=i.operations?i.operations[e.operation]:void 0,n=o?o.input:void 0,p=s(e,n),m=a(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 g[c]||(g[c]=[]),void g[c].push({request:e,callback:t});if(l&&l.length>0)e.httpRequest.updateEndpoint(l[0].Address),t();else{var d=r.makeRequest(i.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,a){if(r){if(e.response.error=b.error(r,{retryable:!1}), +ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}var s=e("buffer/").Buffer;"undefined"!=typeof ArrayBuffer&&void 0===ArrayBuffer.isView&&(ArrayBuffer.isView=function(e){return o.indexOf(Object.prototype.toString.call(e))>-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:a,convertToBuffer:i}},{"buffer/":434}],337:[function(e,t,r){function a(e,t){this.hash=new e,this.outer=new e;var r=i(e,t),a=new Uint8Array(e.BLOCK_SIZE);a.set(r);for(var s=0;se.BLOCK_SIZE){var a=new e;a.update(r),r=a.digest()}var i=new Uint8Array(e.BLOCK_SIZE);return i.set(r),i}var s=e("./browserHashUtils");t.exports=a,a.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},a.prototype.digest=function(e){return this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest(e)}},{"./browserHashUtils":336}],338:[function(e,t,r){function a(){this.state=[1732584193,4023233417,2562383102,271733878],this.buffer=new DataView(new ArrayBuffer(c)),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}function i(e,t,r,a,i,s){return((t=(t+e&4294967295)+(a+s&4294967295)&4294967295)<>>32-i)+r&4294967295}function s(e,t,r,a,s,o,n){return i(t&r|~t&a,e,t,s,o,n)}function o(e,t,r,a,s,o,n){return i(t&a|r&~a,e,t,s,o,n)}function n(e,t,r,a,s,o,n){return i(t^r^a,e,t,s,o,n)}function u(e,t,r,a,s,o,n){return i(r^(t|~a),e,t,s,o,n)}var p=e("./browserHashUtils"),m=e("buffer/").Buffer,c=64;t.exports=a,a.BLOCK_SIZE=c,a.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,a=t.byteLength;for(this.bytesHashed+=a;a>0;)this.buffer.setUint8(this.bufferLength++,t[r++]),a--,this.bufferLength===c&&(this.hashBuffer(),this.bufferLength=0);return this},a.prototype.digest=function(e){if(!this.finished){var t=this,r=t.buffer,a=t.bufferLength,i=t.bytesHashed,s=8*i;if(r.setUint8(this.bufferLength++,128),a%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},a.prototype.hashBuffer=function(){var e=this,t=e.buffer,r=e.state,a=r[0],i=r[1],p=r[2],m=r[3];a=s(a,i,p,m,t.getUint32(0,!0),7,3614090360),m=s(m,a,i,p,t.getUint32(4,!0),12,3905402710),p=s(p,m,a,i,t.getUint32(8,!0),17,606105819),i=s(i,p,m,a,t.getUint32(12,!0),22,3250441966),a=s(a,i,p,m,t.getUint32(16,!0),7,4118548399),m=s(m,a,i,p,t.getUint32(20,!0),12,1200080426),p=s(p,m,a,i,t.getUint32(24,!0),17,2821735955),i=s(i,p,m,a,t.getUint32(28,!0),22,4249261313),a=s(a,i,p,m,t.getUint32(32,!0),7,1770035416),m=s(m,a,i,p,t.getUint32(36,!0),12,2336552879),p=s(p,m,a,i,t.getUint32(40,!0),17,4294925233),i=s(i,p,m,a,t.getUint32(44,!0),22,2304563134),a=s(a,i,p,m,t.getUint32(48,!0),7,1804603682),m=s(m,a,i,p,t.getUint32(52,!0),12,4254626195),p=s(p,m,a,i,t.getUint32(56,!0),17,2792965006),i=s(i,p,m,a,t.getUint32(60,!0),22,1236535329),a=o(a,i,p,m,t.getUint32(4,!0),5,4129170786),m=o(m,a,i,p,t.getUint32(24,!0),9,3225465664),p=o(p,m,a,i,t.getUint32(44,!0),14,643717713),i=o(i,p,m,a,t.getUint32(0,!0),20,3921069994),a=o(a,i,p,m,t.getUint32(20,!0),5,3593408605),m=o(m,a,i,p,t.getUint32(40,!0),9,38016083),p=o(p,m,a,i,t.getUint32(60,!0),14,3634488961),i=o(i,p,m,a,t.getUint32(16,!0),20,3889429448),a=o(a,i,p,m,t.getUint32(36,!0),5,568446438),m=o(m,a,i,p,t.getUint32(56,!0),9,3275163606),p=o(p,m,a,i,t.getUint32(12,!0),14,4107603335),i=o(i,p,m,a,t.getUint32(32,!0),20,1163531501),a=o(a,i,p,m,t.getUint32(52,!0),5,2850285829),m=o(m,a,i,p,t.getUint32(8,!0),9,4243563512),p=o(p,m,a,i,t.getUint32(28,!0),14,1735328473),i=o(i,p,m,a,t.getUint32(48,!0),20,2368359562),a=n(a,i,p,m,t.getUint32(20,!0),4,4294588738),m=n(m,a,i,p,t.getUint32(32,!0),11,2272392833),p=n(p,m,a,i,t.getUint32(44,!0),16,1839030562),i=n(i,p,m,a,t.getUint32(56,!0),23,4259657740),a=n(a,i,p,m,t.getUint32(4,!0),4,2763975236),m=n(m,a,i,p,t.getUint32(16,!0),11,1272893353),p=n(p,m,a,i,t.getUint32(28,!0),16,4139469664),i=n(i,p,m,a,t.getUint32(40,!0),23,3200236656),a=n(a,i,p,m,t.getUint32(52,!0),4,681279174),m=n(m,a,i,p,t.getUint32(0,!0),11,3936430074),p=n(p,m,a,i,t.getUint32(12,!0),16,3572445317),i=n(i,p,m,a,t.getUint32(24,!0),23,76029189),a=n(a,i,p,m,t.getUint32(36,!0),4,3654602809),m=n(m,a,i,p,t.getUint32(48,!0),11,3873151461),p=n(p,m,a,i,t.getUint32(60,!0),16,530742520),i=n(i,p,m,a,t.getUint32(8,!0),23,3299628645),a=u(a,i,p,m,t.getUint32(0,!0),6,4096336452),m=u(m,a,i,p,t.getUint32(28,!0),10,1126891415),p=u(p,m,a,i,t.getUint32(56,!0),15,2878612391),i=u(i,p,m,a,t.getUint32(20,!0),21,4237533241),a=u(a,i,p,m,t.getUint32(48,!0),6,1700485571),m=u(m,a,i,p,t.getUint32(12,!0),10,2399980690),p=u(p,m,a,i,t.getUint32(40,!0),15,4293915773),i=u(i,p,m,a,t.getUint32(4,!0),21,2240044497),a=u(a,i,p,m,t.getUint32(32,!0),6,1873313359),m=u(m,a,i,p,t.getUint32(60,!0),10,4264355552),p=u(p,m,a,i,t.getUint32(24,!0),15,2734768916),i=u(i,p,m,a,t.getUint32(52,!0),21,1309151649),a=u(a,i,p,m,t.getUint32(16,!0),6,4149444226),m=u(m,a,i,p,t.getUint32(44,!0),10,3174756917),p=u(p,m,a,i,t.getUint32(8,!0),15,718787259),i=u(i,p,m,a,t.getUint32(36,!0),21,3951481745),r[0]=a+r[0]&4294967295,r[1]=i+r[1]&4294967295,r[2]=p+r[2]&4294967295,r[3]=m+r[3]&4294967295}},{"./browserHashUtils":336,"buffer/":434}],339:[function(e,t,r){function a(){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 i=e("buffer/").Buffer,s=e("./browserHashUtils");new Uint32Array([1518500249,1859775393,-1894007588,-899497514]),Math.pow(2,53);t.exports=a,a.BLOCK_SIZE=64,a.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 i(20),a=new DataView(r.buffer);return a.setUint32(0,this.h0,!1),a.setUint32(4,this.h1,!1),a.setUint32(8,this.h2,!1),a.setUint32(12,this.h3,!1),a.setUint32(16,this.h4,!1),e?r.toString(e):r},a.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,a,i=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),a=1518500249):e<40?(r=s^o^n,a=1859775393):e<60?(r=s&o|n&(s|o),a=2400959708):(r=s^o^n,a=3395469782);var p=(i<<5|i>>>27)+r+u+a+(0|this.block[e]);u=n,n=o,o=s<<30|s>>>2,s=i,i=p}for(this.h0=this.h0+i|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":336,"buffer/":434}],340:[function(e,t,r){function a(){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 i=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=a,a.BLOCK_SIZE=64,a.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},a.prototype.digest=function(e){if(!this.finished){var t=8*this.bytesHashed,r=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),a=this.bufferLength;if(r.setUint8(this.bufferLength++,128),a%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 i(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},a.prototype.hashBuffer=function(){for(var e=this,t=e.buffer,r=e.state,a=r[0],i=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,g=((a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10))+(a&i^a&s^i&s)|0;c=m,m=p,p=u,u=n+S|0,n=s,s=i,i=a,a=S+g|0}r[0]+=a,r[1]+=i,r[2]+=s,r[3]+=n,r[4]+=u,r[5]+=p,r[6]+=m,r[7]+=c}},{"./browserHashUtils":336,"buffer/":434}],341:[function(e,t,r){(function(r){(function(){var r=e("./util");r.crypto.lib=e("./browserCryptoLib"),r.Buffer=e("buffer/").Buffer,r.url=e("url/"),r.querystring=e("querystring/"),r.realClock=e("./realclock/browserClock"),r.environment="js",r.createEventStream=e("./event-stream/buffered-create-event-stream").createEventStream,r.isBrowser=function(){return!0},r.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===i)var i={browser:!0}}).call(this)}).call(this,e("_process"))},{"./browserCryptoLib":335,"./core":345,"./credentials":346,"./credentials/chainable_temporary_credentials":347,"./credentials/cognito_identity_credentials":348,"./credentials/credential_provider_chain":349,"./credentials/saml_credentials":350,"./credentials/temporary_credentials":351,"./credentials/web_identity_credentials":352,"./event-stream/buffered-create-event-stream":360,"./http/xhr":368,"./realclock/browserClock":387,"./util":422,"./xml/browser_parser":423,_process:439,"buffer/":434,"querystring/":446,"url/":448}],342:[function(e,t,r){var a=e("../core"),i=a.util.url,s=a.util.crypto.lib,o=a.util.base64.encode,n=a.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,a){var i=JSON.stringify({Statement:[{Resource:e,Condition:{DateLessThan:{"AWS:EpochTime":t}}}]});return{Expires:t,"Key-Pair-Id":r,Signature:p(i.toString(),a)}},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=i.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)};a.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),a={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(a["CloudFront-"+i]=r[i]);return S(a,t)},getSignedUrl:function(e,t){try{var r=y(e.url)}catch(e){return b(e,t)}var a=i.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);a.search=null;for(var o in s)Object.prototype.hasOwnProperty.call(s,o)&&(a.query[o]=s[o]);try{var n="rtmp"===l(e.url)?d(i.format(a)):i.format(a)}catch(e){return b(e,t)}return S(n,t)}}),t.exports=a.CloudFront.Signer},{"../core":345}],343:[function(e,t,r){var a=e("./core");e("./credentials"),e("./credentials/credential_provider_chain");var i;a.Config=a.util.inherit({constructor:function(e){void 0===e&&(e={}),e=this.extractCredentials(e),a.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:i.credentials)}function r(e,t){return new a.util.error(t||new Error,{code:"CredentialsError",message:e,name:"CredentialsError"})}var i=this;i.credentials?"function"==typeof i.credentials.get?function(){i.credentials.get(function(e){e&&(e=r("Could not load credentials from "+i.credentials.constructor.name,e)),t(e)})}():function(){var e=null;i.credentials.accessKeyId&&i.credentials.secretAccessKey||(e=r("Missing credentials")),t(e)}():i.credentialProvider?i.credentialProvider.resolve(function(e,a){e&&(e=r("Could not load credentials from any providers",e)),i.credentials=a,t(e)}):t(r("No credentials to load"))},getToken:function(e){function t(t){e(t,t?null:i.token)}function r(e,t){return new a.util.error(t||new Error,{code:"TokenError",message:e,name:"TokenError"})}var i=this;i.token?"function"==typeof i.token.get?function(){i.token.get(function(e){e&&(e=r("Could not load token from "+i.token.constructor.name,e)),t(e)})}():function(){var e=null;i.token.token||(e=r("Missing token")),t(e)}():i.tokenProvider?i.tokenProvider.resolve(function(e,a){e&&(e=r("Could not load token from any providers",e)),i.token=a,t(e)}):t(r("No token to load"))},update:function(e,t){t=t||!1,e=this.extractCredentials(e),a.util.each.call(this,e,function(e,r){(t||Object.prototype.hasOwnProperty.call(this.keys,e)||a.Service.hasService(e))&&this.set(e,r)})},loadFromPath:function(e){this.clear();var t=JSON.parse(a.util.readFileSync(e)),r=new a.FileSystemCredentials(e),i=new a.CredentialProviderChain;return i.providers.unshift(r),i.resolve(function(e,r){if(e)throw e;t.credentials=r}),this.constructor(t),this},clear:function(){a.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]=a.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:void 0,endpointCacheSize:1e3,hostPrefixEnabled:!0,stsRegionalEndpoints:"legacy",useFipsEndpoint:!1,useDualstackEndpoint:!1,token:null},extractCredentials:function(e){return e.accessKeyId&&e.secretAccessKey&&(e=a.util.copy(e),e.credentials=new a.Credentials(e)),e},setPromisesDependency:function(e){i=e,null===e&&"function"==typeof Promise&&(i=Promise);var t=[a.Request,a.Credentials,a.CredentialProviderChain];a.S3&&(t.push(a.S3),a.S3.ManagedUpload&&t.push(a.S3.ManagedUpload)),a.util.addPromises(t,i)},getPromisesDependency:function(){return i}}),a.config=new a.Config},{"./core":345,"./credentials":346,"./credentials/credential_provider_chain":349}],344:[function(e,t,r){(function(r){(function(){function a(e,t){if("string"==typeof e){if(["legacy","regional"].indexOf(e.toLowerCase())>=0)return e.toLowerCase();throw s.util.error(new Error,t)}}function i(e,t){e=e||{};var i;if(e[t.clientConfig]&&(i=a(e[t.clientConfig],{code:"InvalidConfiguration",message:'invalid "'+t.clientConfig+'" configuration. Expect "legacy" or "regional". Got "'+e[t.clientConfig]+'".'})))return i;if(!s.util.isNode())return i;if(Object.prototype.hasOwnProperty.call(r.env,t.env)){if(i=a(r.env[t.env],{code:"InvalidEnvironmentalVariable",message:"invalid "+t.env+' environmental variable. Expect "legacy" or "regional". Got "'+r.env[t.env]+'".'}))return i}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(i=a(o[t.sharedConfig],{code:"InvalidConfiguration",message:"invalid "+t.sharedConfig+' profile config. Expect "legacy" or "regional". Got "'+o[t.sharedConfig]+'".'}))return i}return i}var s=e("./core");t.exports=i}).call(this)}).call(this,e("_process"))},{"./core":345,_process:439}],345:[function(e,t,r){var a={util:e("./util")};({}).toString(),t.exports=a,a.util.update(a,{VERSION:"2.1287.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"),a.events=new a.SequentialExecutor,a.util.memoizedProperty(a,"endpointCache",function(){return new a.EndpointCache(a.config.endpointCacheSize)},!0)},{"../vendor/endpoint-cache":459,"./api_loader":334,"./config":343,"./event_listeners":366,"./http":367,"./json/builder":369,"./json/parser":370,"./model/api":371,"./model/operation":373,"./model/paginator":374,"./model/resource_waiter":375,"./model/shape":376,"./param_validator":377,"./protocol/json":380,"./protocol/query":381,"./protocol/rest":382,"./protocol/rest_json":383,"./protocol/rest_xml":384,"./request":391,"./resource_waiter":392,"./response":393,"./sequential_executor":395,"./service":396,"./signers/request_signer":414,"./util":422,"./xml/builder":424}],346:[function(e,t,r){var a=e("./core");a.Credentials=a.util.inherit({constructor:function(){if(a.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=a.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){a.util.arrayEach(r.refreshCallbacks,function(r){t?r(e):a.util.defer(function(){r(e)})}),r.refreshCallbacks.length=0})},load:function(e){e()}}),a.Credentials.addPromisesToClass=function(e){this.prototype.getPromise=a.util.promisifyMethod("get",e),this.prototype.refreshPromise=a.util.promisifyMethod("refresh",e)},a.Credentials.deletePromisesFromClass=function(){delete this.prototype.getPromise,delete this.prototype.refreshPromise},a.util.addPromises(a.Credentials)},{"./core":345}],347:[function(e,t,r){var a=e("../core"),i=e("../../clients/sts");a.ChainableTemporaryCredentials=a.util.inherit(a.Credentials,{constructor:function(e){a.Credentials.call(this),e=e||{},this.errorCode="ChainableTemporaryCredentialsProviderFailure",this.expired=!0,this.tokenCodeFn=null;var t=a.util.copy(e.params)||{};if(t.RoleArn&&(t.RoleSessionName=t.RoleSessionName||"temporary-credentials"),t.SerialNumber){if(!e.tokenCodeFn||"function"!=typeof e.tokenCodeFn)throw new a.util.error(new Error("tokenCodeFn must be a function when params.SerialNumber is given"),{code:this.errorCode});this.tokenCodeFn=e.tokenCodeFn}var r=a.util.merge({params:t,credentials:e.masterCredentials||a.config.credentials},e.stsConfig||{});this.service=new i(r)},refresh:function(e){this.coalesceRefresh(e||a.util.fn.callback)},load:function(e){var t=this,r=t.service.config.params.RoleArn?"assumeRole":"getSessionToken";this.getTokenCode(function(a,i){var s={};if(a)return void e(a);i&&(s.TokenCode=i),t.service[r](s,function(r,a){r||t.service.credentialsFrom(a,t),e(r)})})},getTokenCode:function(e){var t=this;this.tokenCodeFn?this.tokenCodeFn(this.service.config.params.SerialNumber,function(r,i){if(r){var s=r;return r instanceof Error&&(s=r.message),void e(a.util.error(new Error("Error fetching MFA token: "+s),{code:t.errorCode}))}e(null,i)}):e(null)}})},{"../../clients/sts":329,"../core":345}],348:[function(e,t,r){var a=e("../core"),i=e("../../clients/cognitoidentity"),s=e("../../clients/sts");a.CognitoIdentityCredentials=a.util.inherit(a.Credentials,{localStorageKey:{id:"aws.cognito.identity-id.",providers:"aws.cognito.identity-providers."},constructor:function(e,t){a.Credentials.call(this),this.expired=!0,this.params=e,this.data=null,this._identityId=null,this._clientConfig=a.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||a.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,a){!r&&a.IdentityId?(t.params.IdentityId=a.IdentityId,e(null,a.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,a){r?t.clearIdOnNotAuthorized(r):(t.cacheId(a),t.data=a,t.loadCredentials(t.data,t)),e(r)})},getCredentialsFromSTS:function(e){var t=this;t.cognito.getOpenIdToken(function(r,a){r?(t.clearIdOnNotAuthorized(r),e(r)):(t.cacheId(a),t.params.WebIdentityToken=a.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(a.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 a.WebIdentityCredentials(this.params,e),!this.cognito){var t=a.util.merge({},e);t.params=this.params,this.cognito=new i(t)}this.sts=this.sts||new s(e)},cacheId:function(e){this._identityId=e.IdentityId,this.params.IdentityId=this._identityId,a.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=a.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":260,"../../clients/sts":329,"../core":345}],349:[function(e,t,r){var a=e("../core");a.CredentialProviderChain=a.util.inherit(a.Credentials,{constructor:function(e){this.providers=e||a.CredentialProviderChain.defaultProviders.slice(0),this.resolveCallbacks=[]},resolve:function(e){function t(e,o){if(!e&&o||i===s.length)return a.util.arrayEach(r.resolveCallbacks,function(t){t(e,o)}),void(r.resolveCallbacks.length=0);var n=s[i++];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 i=0,s=r.providers.slice(0);t()}return r}}),a.CredentialProviderChain.defaultProviders=[],a.CredentialProviderChain.addPromisesToClass=function(e){this.prototype.resolvePromise=a.util.promisifyMethod("resolve",e)},a.CredentialProviderChain.deletePromisesFromClass=function(){delete this.prototype.resolvePromise},a.util.addPromises(a.CredentialProviderChain)},{"../core":345}],350:[function(e,t,r){var a=e("../core"),i=e("../../clients/sts");a.SAMLCredentials=a.util.inherit(a.Credentials,{constructor:function(e){a.Credentials.call(this),this.expired=!0,this.params=e},refresh:function(e){this.coalesceRefresh(e||a.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.service.assumeRoleWithSAML(function(r,a){r||t.service.credentialsFrom(a,t),e(r)})},createClients:function(){this.service=this.service||new i({params:this.params})}})},{"../../clients/sts":329,"../core":345}],351:[function(e,t,r){var a=e("../core"),i=e("../../clients/sts");a.TemporaryCredentials=a.util.inherit(a.Credentials,{constructor:function(e,t){a.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||a.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,a){r||t.service.credentialsFrom(a,t),e(r)})})},loadMasterCredentials:function(e){for(this.masterCredentials=e||a.config.credentials;this.masterCredentials.masterCredentials;)this.masterCredentials=this.masterCredentials.masterCredentials;"function"!=typeof this.masterCredentials.get&&(this.masterCredentials=new a.Credentials(this.masterCredentials))},createClients:function(){this.service=this.service||new i({params:this.params})}})},{"../../clients/sts":329,"../core":345}],352:[function(e,t,r){var a=e("../core"),i=e("../../clients/sts");a.WebIdentityCredentials=a.util.inherit(a.Credentials,{constructor:function(e,t){a.Credentials.call(this),this.expired=!0,this.params=e,this.params.RoleSessionName=this.params.RoleSessionName||"web-identity",this.data=null,this._clientConfig=a.util.copy(t||{})},refresh:function(e){this.coalesceRefresh(e||a.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.service.assumeRoleWithWebIdentity(function(r,a){t.data=null,r||(t.data=a,t.service.credentialsFrom(a,t)),e(r)})},createClients:function(){if(!this.service){var e=a.util.merge({},this._clientConfig);e.params=this.params,this.service=new i(e)}}})},{"../../clients/sts":329,"../core":345}],353:[function(e,t,r){(function(r){(function(){function a(e){var t=e.service,r=t.api||{},a={};return t.config.region&&(a.region=t.config.region),r.serviceId&&(a.serviceId=r.serviceId),t.config.credentials.accessKeyId&&(a.accessKeyId=t.config.credentials.accessKeyId),a}function i(e,t,r){r&&void 0!==t&&null!==t&&"structure"===r.type&&r.required&&r.required.length>0&&b.arrayEach(r.required,function(a){var s=r.members[a];if(!0===s.endpointDiscoveryId){var o=s.isLocationName?s.name:a;e[o]=String(t[a])}else i(e,t[a],s)})}function s(e,t){var r={};return i(r,e.params,t),r}function o(e){var t=e.service,r=t.api,i=r.operations?r.operations[e.operation]:void 0,o=i?i.input:void 0,n=s(e,o),p=a(e);Object.keys(n).length>0&&(p=b.update(p,n),i&&(p.operation=i.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:i.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,i=r.api,o=i.operations?i.operations[e.operation]:void 0,n=o?o.input:void 0,p=s(e,n),m=a(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 g[c]||(g[c]=[]),void g[c].push({request:e,callback:t});if(l&&l.length>0)e.httpRequest.updateEndpoint(l[0].Address),t();else{var d=r.makeRequest(i.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,a){if(r){if(e.response.error=b.error(r,{retryable:!1}), y.endpointCache.remove(m),g[c]){var i=g[c];b.arrayEach(i,function(e){e.request.response.error=b.error(r,{retryable:!1}),e.callback()}),delete g[c]}}else if(a&&(y.endpointCache.put(c,a.Endpoints),e.httpRequest.updateEndpoint(a.Endpoints[0].Address),g[c])){var i=g[c];b.arrayEach(i,function(e){e.request.httpRequest.updateEndpoint(a.Endpoints[0].Address),e.callback()}),delete g[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 i=e.request,o=i.service.api.operations||{},n=o[i.operation]?o[i.operation].input:void 0,u=s(i,n),p=a(i);Object.keys(u).length>0&&(p=b.update(p,u),o[i.operation]&&(p.operation=o[i.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){var t=e.service||{};if(void 0!==t.config.endpointDiscoveryEnabled)return t.config.endpointDiscoveryEnabled;if(!b.isBrowser()){for(var a=0;a-1&&0===++e[t];t--);}var s=e("../core").util,o=s.buffer.toBuffer;a.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&&i(t),new a(t)},a.prototype.valueOf=function(){var e=this.bytes.slice(0),t=128&e[0];return t&&i(e),parseInt(e.toString("hex"),16)*(t?-1:1)},a.prototype.toString=function(){return String(this.valueOf())},t.exports={Int64:a}},{"../core":345}],363:[function(e,t,r){function a(e,t,r){var a=s(t),o=a.headers[":message-type"];if(o){if("error"===o.value)throw i(a);if("event"!==o.value)return}var n=a.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]=a.body:p[m]=e.parse(a.body.toString(),c)}for(var l=u.eventHeaderMemberNames,d=0;d=0)return e.httpRequest.headers["X-Amz-Content-Sha256"]="UNSIGNED-PAYLOAD",t();i.util.computeSha256(s,function(r,a){r?t(r):(e.httpRequest.headers["X-Amz-Content-Sha256"]=a,t())})}else t()}}),e("SET_CONTENT_LENGTH","afterBuild",function(e){var t=r(e),a=i.util.getRequestPayloadShape(e);if(void 0===e.httpRequest.headers["Content-Length"])try{var s=i.util.string.byteLength(e.httpRequest.body);e.httpRequest.headers["Content-Length"]=s}catch(r){if(a&&a.isStreaming){if(a.requiresLength)throw r;if(t.indexOf("unsigned-body")>=0)return void(e.httpRequest.headers["Transfer-Encoding"]="chunked");throw r}throw r}}),e("SET_HTTP_HOST","afterBuild",function(e){e.httpRequest.headers.Host=e.httpRequest.endpoint.host}),e("SET_TRACE_ID","afterBuild",function(e){if(i.util.isNode()&&!Object.hasOwnProperty.call(e.httpRequest.headers,"X-Amzn-Trace-Id")){var r=t.env.AWS_LAMBDA_FUNCTION_NAME,a=t.env._X_AMZN_TRACE_ID;"string"==typeof r&&r.length>0&&"string"==typeof a&&a.length>0&&(e.httpRequest.headers["X-Amzn-Trace-Id"]=a)}}),e("RESTART","restart",function(){var e=this.response.error;e&&e.retryable&&(this.httpRequest=new i.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,a){r.httpResponse.statusCode=e,r.httpResponse.statusMessage=a,r.httpResponse.headers=t,r.httpResponse.body=i.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(i.util.isNode()){t.httpResponse.numBytes+=e.length;var r=t.httpResponse.headers["content-length"],a={loaded:t.httpResponse.numBytes,total:r};t.request.emit("httpDownloadProgress",[a,t])}t.httpResponse.buffers.push(i.util.buffer.toBuffer(e))}}),e("HTTP_DONE","httpDone",function(e){if(e.httpResponse.buffers&&e.httpResponse.buffers.length>0){var t=i.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 i.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",i.util.extractRequestId),e("EXTRACT_REQUEST_ID","extractError",i.util.extractRequestId),e("ENOTFOUND_ERROR","httpError",function(e){if("NetworkingError"===e.code&&function(e){return"ENOTFOUND"===e.errno||"number"==typeof e.errno&&"function"==typeof i.util.getSystemErrorName&&["EAI_NONAME","EAI_NODATA"].indexOf(i.util.getSystemErrorName(e.errno)>=0)}(e)){var t="Inaccessible host: `"+e.hostname+"' at port `"+e.port+"'. This service may not be available in the `"+e.region+"' region.";this.response.error=i.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;if(e.isSensitive)return"***SensitiveInformation***";switch(e.type){case"structure":var a={};return i.util.each(t,function(t,i){Object.prototype.hasOwnProperty.call(e.members,t)?a[t]=r(e.members[t],i):a[t]=i}),a;case"list":var s=[];return i.util.arrayEach(t,function(t,a){s.push(r(e.member,t))}),s;case"map":var o={};return i.util.each(t,function(t,a){o[t]=r(e.value,a)}),o;default:return t}}var a=t.request,s=a.service.config.logger;if(s){var o=function(){var o=t.request.service.getSkewCorrectedDate().getTime(),n=(o-a.startTime.getTime())/1e3,u=!!s.isTTY,p=t.httpResponse.statusCode,m=a.params;if(a.service.api.operations&&a.service.api.operations[a.operation]&&a.service.api.operations[a.operation].input){m=r(a.service.api.operations[a.operation].input,a.params)}var c=e("util").inspect(m,!0,null),l="";return u&&(l+=""),l+="[AWS "+a.service.serviceIdentifier+" "+p,l+=" "+n.toString()+"s "+t.retryCount+" retries]",u&&(l+=""),l+=" "+i.util.string.lowerFirst(a.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),t("UNSET_CONTENT_LENGTH","afterBuild",r.unsetContentLength)}),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)})}}).call(this)}).call(this,e("_process"))},{"./core":345,"./discover_endpoint":353,"./protocol/json":380,"./protocol/query":381,"./protocol/rest":382,"./protocol/rest_json":383,"./protocol/rest_xml":384,"./sequential_executor":395,_process:439,util:433}],367:[function(e,t,r){var a=e("./core"),i=a.util.inherit;a.Endpoint=i({constructor:function(e,t){if(a.util.hideProperties(this,["slashes","auth","hash","search","query"]),void 0===e||null===e)throw new Error("Invalid endpoint: "+e);if("string"!=typeof e)return a.util.copy(e);if(!e.match(/^http/)){e=((t&&void 0!==t.sslEnabled?t.sslEnabled:a.config.sslEnabled)?"https":"http")+"://"+e}a.util.update(this,a.util.urlParse(e)),this.port?this.port=parseInt(this.port,10):this.port="https:"===this.protocol?443:80}}),a.HttpRequest=i({constructor:function(e,t){e=new a.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()]=a.util.userAgent()},getUserAgentHeaderName:function(){return(a.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=a.util.queryStringParse(e),a.util.queryParamsToString(e)):""},updateEndpoint:function(e){var t=new a.Endpoint(e);this.endpoint=t,this.path=t.path||"/",this.headers.Host&&(this.headers.Host=t.host)}}),a.HttpResponse=i({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}}),a.HttpClient=i({}),a.HttpClient.getInstance=function(){return void 0===this.singleton&&(this.singleton=new this),this.singleton}},{"./core":345}],368:[function(e,t,r){var a=e("../core"),i=e("events").EventEmitter;e("../http"),a.XHRClient=a.util.inherit({handleRequest:function(e,t,r,s){var o=this,n=e.endpoint,u=new i,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(a.util.error(new Error("Timeout"),{code:"TimeoutError"}))},!1),m.addEventListener("error",function(){s(a.util.error(new Error("Network Failure"),{code:"NetworkingError"}))},!1),m.addEventListener("abort",function(){s(a.util.error(new Error("Request aborted"),{code:"RequestAbortedError"}))},!1),r(u),m.open(e.method,p,!1!==t.xhrAsync),a.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 a.util.arrayEach(e.split(/\r?\n/),function(e){var r=e.split(":",1)[0],a=e.substring(r.length+2);r.length>0&&(t[r.toLowerCase()]=a)}),t},finishRequest:function(e,t){var r;if("arraybuffer"===e.responseType&&e.response){var i=e.response;r=new a.util.Buffer(i.byteLength);for(var s=new Uint8Array(i),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=h.base64.decode(e);if(this.isSensitive&&h.isNode()&&"function"==typeof h.Buffer.alloc){var r=h.Buffer.alloc(t.length,t);t.fill(0),t=r}return t},this.toWireFormat=h.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 g=e("./collection"),h=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 a=s.resolve(e,t);if(a){var i=Object.keys(e);t.documentation||(i=i.filter(function(e){return!e.match(/documentation/)}));var o=function(){a.constructor.call(this,e,t,r)};return o.prototype=a,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":422,"./collection":372}],377:[function(e,t,r){var a=e("./core");a.ParamValidator=a.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 i=this.errors.join("\n* ");throw i="There were "+this.errors.length+" validation errors:\n* "+i,a.util.error(new Error(i),{code:"MultipleValidationErrors",errors:this.errors})}if(1===this.errors.length)throw this.errors[0];return!0},fail:function(e,t){this.errors.push(a.util.error(new Error(t),{code:e}))},validateStructure:function(e,t,r){if(e.isDocument)return!0;this.validateType(t,r,["object"],"structure");for(var a,i=0;e.required&&i= 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,a){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 "+a+" <= "+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,i){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:a}},{"../core":345,"../util":422}],380:[function(e,t,r){function a(e){var t=e.httpRequest,r=e.service.api,a=r.targetPrefix+"."+r.operations[e.operation].name,i=r.jsonVersion||"1.0",s=r.operations[e.operation].input,o=new n;1===i&&(i="1.0"),t.body=o.build(e.params||{},s),t.headers["Content-Type"]="application/x-amz-json-"+i,t.headers["X-Amz-Target"]=a,p(e)}function i(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 a=JSON.parse(r.body.toString()),i=a.__type||a.code||a.Code;i&&(t.code=i.split("#").pop()),"RequestEntityTooLarge"===t.code?t.message="Request body must be less than 1 MB":t.message=a.message||a.Message||null}catch(a){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],a=r.output||{},i=new u;e.data=i.parse(t,a)}}var o=e("../util"),n=e("../json/builder"),u=e("../json/parser"),p=e("./helpers").populateHostPrefix;t.exports={buildRequest:a,extractError:i,extractData:s}},{"../json/builder":369,"../json/parser":370,"../util":422,"./helpers":379}],381:[function(e,t,r){function a(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 i(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;t=0&&delete e.httpRequest.headers["Content-Length"]}function i(e){var t=new l,r=e.service.api.operations[e.operation].input;if(r.payload){var a={},i=r.members[r.payload];a=e.params[r.payload],"structure"===i.type?(e.httpRequest.body=t.build(a||{},i),s(e)):void 0!==a&&(e.httpRequest.body=a,("binary"===i.type||i.isStreaming)&&s(e,!0))}else e.httpRequest.body=t.build(e.params,r),s(e)}function s(e,t){if(!e.httpRequest.headers["Content-Type"]){var r=t?"binary/octet-stream":"application/json";e.httpRequest.headers["Content-Type"]=r}}function o(e){m.buildRequest(e),y.indexOf(e.httpRequest.method)<0&&i(e)}function n(e){c.extractError(e)}function u(e){m.extractData(e);var t,r=e.request,a=r.service.api.operations[r.operation],i=r.service.api.operations[r.operation].output||{};a.hasEventOutput;if(i.payload){var s=i.members[i.payload],o=e.httpResponse.body;if(s.isEventStream)t=new d,e.data[payload]=p.createEventStream(2===AWS.HttpClient.streamsApiVersion?e.httpResponse.stream:o,t,s);else if("structure"===s.type||"list"===s.type){var t=new d;e.data[i.payload]=t.parse(o,s)}else"binary"===s.type||s.isStreaming?e.data[i.payload]=o:e.data[i.payload]=s.toType(o)}else{var n=e.data;c.extractData(e),e.data=p.merge(n,e.data)}}var p=e("../util"),m=e("./rest"),c=e("./json"),l=e("../json/builder"),d=e("../json/parser"),y=["GET","HEAD","DELETE"];t.exports={buildRequest:o,extractError:n,extractData:u,unsetContentLength:a}},{"../json/builder":369,"../json/parser":370,"../util":422,"./json":380,"./rest":382}],384:[function(e,t,r){function a(e){var t=e.service.api.operations[e.operation].input,r=new n.XML.Builder,a=e.params,i=t.payload;if(i){var s=t.members[i];if(void 0===(a=a[i]))return;if("structure"===s.type){var o=s.name;e.httpRequest.body=r.toXML(a,s,o,!0)}else e.httpRequest.body=a}else e.httpRequest.body=r.toXML(a,t,t.name||t.shape||u.string.upperFirst(e.operation)+"Request")}function i(e){p.buildRequest(e),["GET","HEAD"].indexOf(e.httpRequest.method)<0&&a(e)}function s(e){p.extractError(e);var t;try{t=(new n.XML.Parser).parse(e.httpResponse.body.toString())}catch(r){t={Code:e.httpResponse.statusCode,Message:e.httpResponse.statusMessage}}t.Errors&&(t=t.Errors),t.Error&&(t=t.Error),t.Code?e.error=u.error(new Error,{code:t.Code,message:t.Message}):e.error=u.error(new Error,{code:e.httpResponse.statusCode,message:null})}function o(e){p.extractData(e);var t,r=e.request,a=e.httpResponse.body,i=r.service.api.operations[r.operation],s=i.output,o=(i.hasEventOutput,s.payload);if(o){var m=s.members[o];m.isEventStream?(t=new n.XML.Parser,e.data[o]=u.createEventStream(2===n.HttpClient.streamsApiVersion?e.httpResponse.stream:e.httpResponse.body,t,m)):"structure"===m.type?(t=new n.XML.Parser,e.data[o]=t.parse(a.toString(),m)):"binary"===m.type||m.isStreaming?e.data[o]=a:e.data[o]=m.toType(a)}else if(a.length>0){t=new n.XML.Parser;var c=t.parse(a.toString(),s);u.update(e.data,c)}}var n=e("../core"),u=e("../util"),p=e("./rest");t.exports={buildRequest:i,extractError:s,extractData:o}},{"../core":345,"../util":422,"./rest":382}],385:[function(e,t,r){function a(){}function i(e){return e.isQueryName||"ec2"!==e.api.protocol?e.name:e.name[0].toUpperCase()+e.name.substr(1)}function s(e,t,r,a){p.each(r.members,function(r,s){var o=t[r];if(null!==o&&void 0!==o){var n=i(s);n=e?e+"."+n:n,u(n,o,s,a)}})}function o(e,t,r,a){var i=1;p.each(t,function(t,s){var o=r.flattened?".":".entry.",n=o+i+++".",p=n+(r.key.name||"key"),m=n+(r.value.name||"value");u(e+p,t,r.key,a),u(e+m,s,r.value,a)})}function n(e,t,r,a){var s=r.member||{};if(0===t.length)return void a.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(i(s)),e=p.join(".")}}else n="."+(s.name?s.name:"member")+n;u(e+n,t,s,a)})}function u(e,t,r,a){null!==t&&void 0!==t&&("structure"===r.type?s(e,t,r,a):"list"===r.type?n(e,t,r,a):"map"===r.type?o(e,t,r,a):a(e,r.toWireFormat(t).toString()))}var p=e("../util");a.prototype.serialize=function(e,t,r){s("",e,t,r)},t.exports=a},{"../util":422}],386:[function(e,t,r){var a=e("../core"),i=null,s={signatureVersion:"v4",signingName:"rds-db",operations:{}},o={region:"string",hostname:"string",port:"number",username:"string"};a.RDS.Signer=a.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=a.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 a.Endpoint(e.hostname+":"+e.port),paramValidation:!1,signatureVersion:"v4"};e.credentials&&(u.credentials=e.credentials),i=new a.Service(u),i.api=s;var p=i.makeRequest();if(this.modifyRequestForAuthToken(p,e),!o){var m=p.presign(900);return this.convertUrlToAuthToken(m)}p.presign(900,function(e,a){a&&(a=r.convertUrlToAuthToken(a)),t(e,a)})},modifyRequestForAuthToken:function(e,t){e.on("build",e.buildAsGet),e.httpRequest.body=a.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||a.util.error(new Error,{code:"InvalidParameter",message:t})}})},{"../core":345}],387:[function(e,t,r){t.exports={now:function(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}}},{}],388:[function(e,t,r){function a(e){return"string"==typeof e&&(e.startsWith("fips-")||e.endsWith("-fips"))}function i(e){return"string"==typeof e&&["aws-global","aws-us-gov-global"].includes(e)}function s(e){return["fips-aws-global","aws-fips","aws-global"].includes(e)?"us-east-1":["fips-aws-us-gov-global","aws-us-gov-global"].includes(e)?"us-gov-west-1":e.replace(/fips-(dkr-|prod-)?|-fips/,"")}t.exports={isFipsRegion:a,isGlobalRegion:i,getRealRegion:s}},{}],389:[function(e,t,r){function a(e){if(!e)return null;var t=e.split("-");return t.length<3?null:t.slice(0,t.length-2).join("-")+"-*"}function i(e){var t=e.config.region,r=a(t),i=e.api.endpointPrefix;return[[t,i],[r,i],[t,"*"],[r,"*"],["*",i],["*","*"]].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=i(e),r=e.config.useFipsEndpoint,a=e.config.useDualstackEndpoint,o=0;o=0){u=!0;var p=0}var m=function(){u&&p!==n?i.emit("error",a.util.error(new Error("Stream content length mismatch. Received "+p+" of "+n+" bytes."),{code:"StreamContentLengthMismatch"})):2===a.HttpClient.streamsApiVersion?i.end():i.emit("end")},c=o.httpResponse.createUnbufferedStream();if(2===a.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),i.on("error",function(e){u=!1,c.unpipe(l),l.emit("end"),l.end()}),c.pipe(l).pipe(i,{end:!1})}else c.pipe(i);else u&&c.on("data",function(e){e&&e.length&&(p+=e.length)}),c.on("data",function(e){i.emit("data",e)}),c.on("end",m);c.on("error",function(e){u=!1,i.emit("error",e)})}}),i},emitEvent:function(e,t,r){"function"==typeof t&&(r=t,t=null),r||(r=function(){}),t||(t=this.eventParameters(e,this.response)),a.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 a.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",a.EventListeners.Core.VALIDATE_CREDENTIALS),this.removeListener("sign",a.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}}),a.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()})}},a.Request.deletePromisesFromClass=function(){delete this.prototype.promise},a.util.addPromises(a.Request),a.util.mixin(a.Request,a.SequentialExecutor)}).call(this)}).call(this,e("_process"))},{"./core":345,"./state_machine":421,_process:439,jmespath:438}],392:[function(e,t,r){function a(e){var t=e.request._waiter,r=t.config.acceptors,a=!1,i="retry";r.forEach(function(r){if(!a){var s=t.matchers[r.matcher];s&&s(e,r.expected,r.argument)&&(a=!0,i=r.state)}}),!a&&e.error&&(i="failure"),"success"===i?t.setSuccess(e):t.setError(e,"retry"===i)}var i=e("./core"),s=i.util.inherit,o=e("jmespath");i.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 a=o.search(e.data,r)}catch(e){return!1}return o.strictDeepEqual(a,t)},pathAll:function(e,t,r){try{var a=o.search(e.data,r)}catch(e){return!1}Array.isArray(a)||(a=[a]);var i=a.length;if(!i)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(a.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=a.util.buffer.toBuffer(e.body);else if(!e.body)throw new Error("params.Body is required");e.sliceFn=a.util.arraySliceFn(e.body)},bindServiceObject:function(e){e=e||{};var t=this;if(t.service){var r=t.service,i=a.util.copy(r.config);i.signatureVersion=r.getSignatureVersion(),t.service=new r.constructor.__super__(i),t.service.config.params=a.util.merge(t.service.config.params||{},e),Object.defineProperty(t.service,"_originalConfig",{get:function(){return r._originalConfig},enumerable:!1,configurable:!0})}else t.service=new a.S3({params:e})},adjustTotalBytes:function(){var e=this;try{e.totalBytes=i(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=i(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 a=r.slice(e.partSize);e.partBuffers.push(a),e.partBufferLength+=a.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 i={Body:e};this.tags&&(i.Tagging=this.getTaggingHeader());var s=t.service.putObject(i);return s._managedUpload=t,s.on("httpUploadProgress",t.progress).send(t.finishSinglePart),t.singlePart=s,null}if(t.service.config.params.ContentMD5){var o=a.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(i,1)}return this},removeAllListeners:function(e){return e?delete this._events[e]:this._events={},this},emit:function(e,t,r){r||(r=function(){});var a=this.listeners(e),i=a.length;return this.callListeners(a,t,r),i>0},callListeners:function(e,t,r,i){function s(i){if(i&&(n=a.util.error(n||new Error,i),o._haltHandlersOnError))return r.call(o,n);o.callListeners(e,t,r,n)}for(var o=this,n=i||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=a.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),a.util.each(e,function(e,r){"function"==typeof r&&(r=[r]),a.util.arrayEach(r,function(r){t.on(e,r)})}),t},addNamedListener:function(e,t,r,a){return this[e]=r,this.addListener(t,r,a),this},addNamedAsyncListener:function(e,t,r,a){return r._isAsync=!0,this.addNamedListener(e,t,r,a)},addNamedListeners:function(e){var t=this;return e(function(){t.addNamedListener.apply(t,arguments)},function(){t.addNamedAsyncListener.apply(t,arguments)}),this}}),a.SequentialExecutor.prototype.addListener=a.SequentialExecutor.prototype.on,t.exports=a.SequentialExecutor},{"./core":345}],396:[function(e,t,r){(function(r){(function(){var a=e("./core"),i=e("./model/api"),s=e("./region_config"),o=a.util.inherit,n=0,u=e("./region/utils");a.Service=o({constructor:function(e){if(!this.loadServiceClass)throw a.util.error(new Error,"Service must be constructed with `new' operator");if(e){if(e.region){var t=e.region;u.isFipsRegion(t)&&(e.region=u.getRealRegion(t),e.useFipsEndpoint=!0),u.isGlobalRegion(t)&&(e.region=u.getRealRegion(t))}"boolean"==typeof e.useDualstack&&"boolean"!=typeof e.useDualstackEndpoint&&(e.useDualstackEndpoint=e.useDualstack)}var r=this.loadServiceClass(e||{});if(r){var i=a.util.copy(e),s=new r(e);return Object.defineProperty(s,"_originalConfig",{get:function(){return i},enumerable:!1,configurable:!0}),s._clientId=++n,s}this.initialize(e)},initialize:function(e){var t=a.config[this.serviceIdentifier];if(this.config=new a.Config(a.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),a.SequentialExecutor.call(this),a.Service.addDefaultMonitoringListeners(this),(this.config.clientSideMonitoring||a.Service._clientSideMonitoring)&&this.publisher){var i=this.publisher;this.addNamedListener("PUBLISH_API_CALL","apiCall",function(e){r.nextTick(function(){i.eventHandler(e)})}),this.addNamedListener("PUBLISH_API_ATTEMPT","apiCallAttempt",function(e){r.nextTick(function(){i.eventHandler(e)})})}},validateService:function(){},loadServiceClass:function(e){var t=e;if(a.util.isEmpty(this.api)){if(t.apiConfig)return a.Service.defineServiceApi(this.constructor,t.apiConfig);if(this.constructor.services){t=new a.Config(a.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]&&a.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?a.util.isType(e,Date)&&(e=a.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,i=t.length-1;i>=0;i--)if("*"!==t[i][t[i].length-1]&&(r=t[i]),t[i].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 i=this.api.operations[e];i&&(t=a.util.copy(t),a.util.each(this.config.params,function(e,r){i.input.members[e]&&(void 0!==t[e]&&null!==t[e]||(t[e]=r))}))}var s=new a.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 a=this.makeRequest(e,t).toUnauthenticated();return r?a.send(r):a},waitFor:function(e,t,r){return new a.ResourceWaiter(this,e).wait(t,r)},addAllRequestListeners:function(e){for(var t=[a.events,a.EventListeners.Core,this.serviceInterface(),a.EventListeners.CorePost],r=0;r299?(i.code&&(r.FinalAwsException=i.code),i.message&&(r.FinalAwsExceptionMessage=i.message)):((i.code||i.name)&&(r.FinalSdkException=i.code||i.name),i.message&&(r.FinalSdkExceptionMessage=i.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()},a=e.response;return a.httpResponse.statusCode&&(r.HttpStatusCode=a.httpResponse.statusCode), diff --git a/lib/core.js b/lib/core.js index 9a60d27b68..0ea8ce6f70 100644 --- a/lib/core.js +++ b/lib/core.js @@ -20,7 +20,7 @@ AWS.util.update(AWS, { /** * @constant */ - VERSION: '2.1286.0', + VERSION: '2.1287.0', /** * @api private diff --git a/package.json b/package.json index a29518b090..897c526803 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "aws-sdk", "description": "AWS SDK for JavaScript", - "version": "2.1286.0", + "version": "2.1287.0", "author": { "name": "Amazon Web Services", "email": "",