diff --git a/.changes/2.85.0.json b/.changes/2.85.0.json
new file mode 100644
index 0000000000..f45ffc49ff
--- /dev/null
+++ b/.changes/2.85.0.json
@@ -0,0 +1,12 @@
+[
+ {
+ "type": "feature",
+ "category": "Discovery",
+ "description": "Adding feature to the Export API for Discovery Service to allow filters for the export task to allow export based on per agent id."
+ },
+ {
+ "type": "feature",
+ "category": "EC2",
+ "description": "New EC2 GPU Graphics instance"
+ }
+]
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 93596e2db9..249476717f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,11 @@
# Changelog for AWS SDK for JavaScript
-
+
+## 2.85.0
+* feature: Discovery: Adding feature to the Export API for Discovery Service to allow filters for the export task to allow export based on per agent id.
+* feature: EC2: New EC2 GPU Graphics instance
+
## 2.84.0
* bugfix: S3: Updates S3 client to no longer attempt to determine a bucket's region when a request is aborted.
* feature: APIGateway: Adds support for management of gateway responses.
diff --git a/README.md b/README.md
index 232a1b8a0b..83e41e151c 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@ to work with the new major version.
To use the SDK in the browser, simply add the following script tag to your
HTML pages:
-
+
You can also build a custom browser SDK with your specified set of AWS services.
This can allow you to reduce the SDK's size, specify different API versions of
diff --git a/apis/discovery-2015-11-01.examples.json b/apis/discovery-2015-11-01.examples.json
new file mode 100644
index 0000000000..0ea7e3b0bb
--- /dev/null
+++ b/apis/discovery-2015-11-01.examples.json
@@ -0,0 +1,5 @@
+{
+ "version": "1.0",
+ "examples": {
+ }
+}
diff --git a/apis/discovery-2015-11-01.min.json b/apis/discovery-2015-11-01.min.json
index 5c8e6a8bf6..c284cd30ec 100644
--- a/apis/discovery-2015-11-01.min.json
+++ b/apis/discovery-2015-11-01.min.json
@@ -214,6 +214,9 @@
"exportIds": {
"shape": "S15"
},
+ "filters": {
+ "shape": "S1h"
+ },
"maxResults": {
"type": "integer"
},
@@ -516,7 +519,7 @@
"type": "structure",
"members": {
"agentsConfigurationStatus": {
- "shape": "S2c"
+ "shape": "S2e"
}
}
}
@@ -528,6 +531,15 @@
"exportDataFormat": {
"type": "list",
"member": {}
+ },
+ "filters": {
+ "shape": "S1h"
+ },
+ "startTime": {
+ "type": "timestamp"
+ },
+ "endTime": {
+ "type": "timestamp"
}
}
},
@@ -554,7 +566,7 @@
"type": "structure",
"members": {
"agentsConfigurationStatus": {
- "shape": "S2c"
+ "shape": "S2e"
}
}
}
@@ -646,11 +658,38 @@
"configurationsDownloadUrl": {},
"exportRequestTime": {
"type": "timestamp"
+ },
+ "isTruncated": {
+ "type": "boolean"
+ },
+ "requestedStartTime": {
+ "type": "timestamp"
+ },
+ "requestedEndTime": {
+ "type": "timestamp"
}
}
}
},
- "S2c": {
+ "S1h": {
+ "type": "list",
+ "member": {
+ "type": "structure",
+ "required": [
+ "name",
+ "values",
+ "condition"
+ ],
+ "members": {
+ "name": {},
+ "values": {
+ "shape": "Sp"
+ },
+ "condition": {}
+ }
+ }
+ },
+ "S2e": {
"type": "list",
"member": {
"type": "structure",
diff --git a/apis/discovery-2015-11-01.normal.json b/apis/discovery-2015-11-01.normal.json
index 9c721e0650..7723b9c831 100644
--- a/apis/discovery-2015-11-01.normal.json
+++ b/apis/discovery-2015-11-01.normal.json
@@ -289,7 +289,7 @@
{"shape":"ServerInternalErrorException"},
{"shape":"OperationNotPermittedException"}
],
- "documentation":"
Export the configuration data about discovered configuration items and relationships to an S3 bucket in a specified format.
"
+ "documentation":" Begins the export of discovered data to an S3 bucket.
If you specify agentId
in a filter, the task exports up to 72 hours of detailed data collected by the identified Application Discovery Agent, including network, process, and performance details. A time range for exported agent data may be set by using startTime
and endTime
. Export of detailed agent data is limited to five concurrently running exports.
If you do not include an agentId
filter, summary data is exported that includes both AWS Agentless Discovery Connector data and summary data from AWS Discovery Agents. Export of summary data is limited to two exports per day.
"
},
"StopDataCollectionByAgentIds":{
"name":"StopDataCollectionByAgentIds",
@@ -794,6 +794,10 @@
"shape":"ExportIds",
"documentation":"One or more unique identifiers used to query the status of an export request.
"
},
+ "filters":{
+ "shape":"ExportFilters",
+ "documentation":"One or more filters.
"
+ },
"maxResults":{
"shape":"Integer",
"documentation":"The maximum number of volume results returned by DescribeExportTasks
in paginated output. When this parameter is used, DescribeExportTasks
only returns maxResults
results in a single page along with a nextToken
response element.
"
@@ -889,6 +893,33 @@
"type":"list",
"member":{"shape":"ExportDataFormat"}
},
+ "ExportFilter":{
+ "type":"structure",
+ "required":[
+ "name",
+ "values",
+ "condition"
+ ],
+ "members":{
+ "name":{
+ "shape":"FilterName",
+ "documentation":"A single ExportFilter
name. Supported filters: agentId
.
"
+ },
+ "values":{
+ "shape":"FilterValues",
+ "documentation":"A single agentId
for a Discovery Agent. An agentId
can be found using the DescribeAgents action. Typically an ADS agentId
is in the form o-0123456789abcdef0
.
"
+ },
+ "condition":{
+ "shape":"Condition",
+ "documentation":"Supported condition: EQUALS
"
+ }
+ },
+ "documentation":"Used to select which agent's data is to be exported. A single agent ID may be selected for export using the StartExportTask action.
"
+ },
+ "ExportFilters":{
+ "type":"list",
+ "member":{"shape":"ExportFilter"}
+ },
"ExportIds":{
"type":"list",
"member":{"shape":"ConfigurationsExportId"}
@@ -904,26 +935,38 @@
"members":{
"exportId":{
"shape":"ConfigurationsExportId",
- "documentation":"A unique identifier that you can use to query the export.
"
+ "documentation":"A unique identifier used to query an export.
"
},
"exportStatus":{
"shape":"ExportStatus",
- "documentation":"The status of the configuration data export. The status can succeed, fail, or be in-progress.
"
+ "documentation":"The status of the data export job.
"
},
"statusMessage":{
"shape":"ExportStatusMessage",
- "documentation":"Helpful status messages for API callers. For example: Too many exports in the last 6 hours. Export in progress. Export was successful.
"
+ "documentation":"A status message provided for API callers.
"
},
"configurationsDownloadUrl":{
"shape":"ConfigurationsDownloadUrl",
- "documentation":"A URL for an Amazon S3 bucket where you can review the configuration data. The URL is displayed only if the export succeeded.
"
+ "documentation":"A URL for an Amazon S3 bucket where you can review the exported data. The URL is displayed only if the export succeeded.
"
},
"exportRequestTime":{
"shape":"ExportRequestTime",
- "documentation":"The time that the configuration data export was initiated.
"
+ "documentation":"The time that the data export was initiated.
"
+ },
+ "isTruncated":{
+ "shape":"Boolean",
+ "documentation":"If true, the export of agent information exceeded the size limit for a single export and the exported data is incomplete for the requested time range. To address this, select a smaller time range for the export by using startDate
and endDate
.
"
+ },
+ "requestedStartTime":{
+ "shape":"TimeStamp",
+ "documentation":"The value of startTime
parameter in the StartExportTask
request. If no startTime
was requested, this result does not appear in ExportInfo
.
"
+ },
+ "requestedEndTime":{
+ "shape":"TimeStamp",
+ "documentation":"The endTime
used in the StartExportTask
request. If no endTime
was requested, this result does not appear in ExportInfo
.
"
}
},
- "documentation":"Information regarding the export status of the discovered data. The value is an array of objects.
"
+ "documentation":"Information regarding the export status of discovered data. The value is an array of objects.
"
},
"ExportRequestTime":{"type":"timestamp"},
"ExportStatus":{
@@ -1216,6 +1259,18 @@
"exportDataFormat":{
"shape":"ExportDataFormats",
"documentation":"The file format for the returned export data. Default value is CSV
.
"
+ },
+ "filters":{
+ "shape":"ExportFilters",
+ "documentation":"If a filter is present, it selects the single agentId
of the Application Discovery Agent for which data is exported. The agentId
can be found in the results of the DescribeAgents
API or CLI. If no filter is present, startTime
and endTime
are ignored and exported data includes both Agentless Discovery Connector data and summary data from Application Discovery agents.
"
+ },
+ "startTime":{
+ "shape":"TimeStamp",
+ "documentation":"The start timestamp for exported data from the single Application Discovery Agent selected in the filters. If no value is specified, data is exported starting from the first data collected by the agent.
"
+ },
+ "endTime":{
+ "shape":"TimeStamp",
+ "documentation":"The end timestamp for exported data from the single Application Discovery Agent selected in the filters. If no value is specified, exported data includes the most recent data collected by the agent.
"
}
}
},
@@ -1224,7 +1279,7 @@
"members":{
"exportId":{
"shape":"ConfigurationsExportId",
- "documentation":" A unique identifier used to query the status of an export request.
"
+ "documentation":"A unique identifier used to query the status of an export request.
"
}
}
},
diff --git a/apis/ec2-2016-11-15.normal.json b/apis/ec2-2016-11-15.normal.json
index 4687d4f8bb..86beeb23cd 100644
--- a/apis/ec2-2016-11-15.normal.json
+++ b/apis/ec2-2016-11-15.normal.json
@@ -12096,6 +12096,9 @@
"cc2.8xlarge",
"g2.2xlarge",
"g2.8xlarge",
+ "g3.4xlarge",
+ "g3.8xlarge",
+ "g3.16xlarge",
"cg1.4xlarge",
"p2.xlarge",
"p2.8xlarge",
diff --git a/apis/marketplacecommerceanalytics-2015-07-01.normal.json b/apis/marketplacecommerceanalytics-2015-07-01.normal.json
index 17753cf652..e610770063 100644
--- a/apis/marketplacecommerceanalytics-2015-07-01.normal.json
+++ b/apis/marketplacecommerceanalytics-2015-07-01.normal.json
@@ -96,7 +96,7 @@
"members":{
"dataSetType":{
"shape":"DataSetType",
- "documentation":"The desired data set type.
- customer_subscriber_hourly_monthly_subscriptions - Available daily by 5:00 PM Pacific Time since 2014-07-21.
- customer_subscriber_annual_subscriptions - Available daily by 5:00 PM Pacific Time since 2014-07-21.
- daily_business_usage_by_instance_type - Available daily by 5:00 PM Pacific Time since 2015-01-26.
- daily_business_fees - Available daily by 5:00 PM Pacific Time since 2015-01-26.
- daily_business_free_trial_conversions - Available daily by 5:00 PM Pacific Time since 2015-01-26.
- daily_business_new_instances - Available daily by 5:00 PM Pacific Time since 2015-01-26.
- daily_business_new_product_subscribers - Available daily by 5:00 PM Pacific Time since 2015-01-26.
- daily_business_canceled_product_subscribers - Available daily by 5:00 PM Pacific Time since 2015-01-26.
- monthly_revenue_billing_and_revenue_data - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2015-02.
- monthly_revenue_annual_subscriptions - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2015-02.
- disbursed_amount_by_product - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26.
- disbursed_amount_by_product_with_uncollected_funds -This data set is only available from 2012-04-19 until 2015-01-25. After 2015-01-25, this data set was split into three data sets: disbursed_amount_by_product, disbursed_amount_by_age_of_uncollected_funds, and disbursed_amount_by_age_of_disbursed_funds.
- disbursed_amount_by_instance_hours - Available every 30 days by 5:00 PM Pacific Time since 2012-09-04.
- disbursed_amount_by_customer_geo - Available every 30 days by 5:00 PM Pacific Time since 2012-04-19.
- disbursed_amount_by_age_of_uncollected_funds - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26.
- disbursed_amount_by_age_of_disbursed_funds - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26.
- customer_profile_by_industry - Available daily by 5:00 PM Pacific Time from 2015-10-01 to 2017-06-29. After 2017-06-29 this data set will no longer be published.
- customer_profile_by_revenue - Available daily by 5:00 PM Pacific Time from 2015-10-01 to 2017-06-29. After 2017-06-29 this data set will no longer be published.
- customer_profile_by_geography - Available daily by 5:00 PM Pacific Time from 2015-10-01 to 2017-06-29. After 2017-06-29 this data set will no longer be published.
- sales_compensation_billed_revenue - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2016-12.
- us_sales_and_use_tax_records - Available monthly on the 15th day of the month by 5:00 PM Pacific Time since 2017-02-15.
"
+ "documentation":"The desired data set type.
- customer_subscriber_hourly_monthly_subscriptions
From 2014-07-21 to present: Available daily by 5:00 PM Pacific Time.
- customer_subscriber_annual_subscriptions
From 2014-07-21 to present: Available daily by 5:00 PM Pacific Time.
- daily_business_usage_by_instance_type
From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time.
- daily_business_fees
From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time.
- daily_business_free_trial_conversions
From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time.
- daily_business_new_instances
From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time.
- daily_business_new_product_subscribers
From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time.
- daily_business_canceled_product_subscribers
From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time.
- monthly_revenue_billing_and_revenue_data
From 2015-02 to 2017-06: Available monthly on the 4th day of the month by 5:00pm Pacific Time. Data includes metered transactions (e.g. hourly) from two months prior.
From 2017-07 to present: Available monthly on the 15th day of the month by 5:00pm Pacific Time. Data includes metered transactions (e.g. hourly) from one month prior.
- monthly_revenue_annual_subscriptions
From 2015-02 to 2017-06: Available monthly on the 4th day of the month by 5:00pm Pacific Time. Data includes up-front software charges (e.g. annual) from one month prior.
From 2017-07 to present: Available monthly on the 15th day of the month by 5:00pm Pacific Time. Data includes up-front software charges (e.g. annual) from one month prior.
- disbursed_amount_by_product
From 2015-01-26 to present: Available every 30 days by 5:00 PM Pacific Time.
- disbursed_amount_by_product_with_uncollected_funds
From 2012-04-19 to 2015-01-25: Available every 30 days by 5:00 PM Pacific Time.
From 2015-01-26 to present: This data set was split into three data sets: disbursed_amount_by_product, disbursed_amount_by_age_of_uncollected_funds, and disbursed_amount_by_age_of_disbursed_funds.
- disbursed_amount_by_instance_hours
From 2012-09-04 to present: Available every 30 days by 5:00 PM Pacific Time.
- disbursed_amount_by_customer_geo
From 2012-04-19 to present: Available every 30 days by 5:00 PM Pacific Time.
- disbursed_amount_by_age_of_uncollected_funds
From 2015-01-26 to present: Available every 30 days by 5:00 PM Pacific Time.
- disbursed_amount_by_age_of_disbursed_funds
From 2015-01-26 to present: Available every 30 days by 5:00 PM Pacific Time.
- customer_profile_by_industry
From 2015-10-01 to 2017-06-29: Available daily by 5:00 PM Pacific Time.
From 2017-06-30 to present: This data set is no longer available.
- customer_profile_by_revenue
From 2015-10-01 to 2017-06-29: Available daily by 5:00 PM Pacific Time.
From 2017-06-30 to present: This data set is no longer available.
- customer_profile_by_geography
From 2015-10-01 to 2017-06-29: Available daily by 5:00 PM Pacific Time.
From 2017-06-30 to present: This data set is no longer available.
- sales_compensation_billed_revenue
From 2016-12 to 2017-06: Available monthly on the 4th day of the month by 5:00pm Pacific Time. Data includes metered transactions (e.g. hourly) from two months prior, and up-front software charges (e.g. annual) from one month prior.
From 2017-06 to present: Available monthly on the 15th day of the month by 5:00pm Pacific Time. Data includes metered transactions (e.g. hourly) from one month prior, and up-front software charges (e.g. annual) from one month prior.
- us_sales_and_use_tax_records
From 2017-02-15 to present: Available monthly on the 15th day of the month by 5:00 PM Pacific Time.
"
},
"dataSetPublicationDate":{
"shape":"DataSetPublicationDate",
diff --git a/clients/discovery.d.ts b/clients/discovery.d.ts
index 035ff73c61..a0837e1a5b 100644
--- a/clients/discovery.d.ts
+++ b/clients/discovery.d.ts
@@ -136,11 +136,11 @@ declare class Discovery extends Service {
*/
startDataCollectionByAgentIds(callback?: (err: AWSError, data: Discovery.Types.StartDataCollectionByAgentIdsResponse) => void): Request;
/**
- * Export the configuration data about discovered configuration items and relationships to an S3 bucket in a specified format.
+ * Begins the export of discovered data to an S3 bucket. If you specify agentId in a filter, the task exports up to 72 hours of detailed data collected by the identified Application Discovery Agent, including network, process, and performance details. A time range for exported agent data may be set by using startTime and endTime. Export of detailed agent data is limited to five concurrently running exports. If you do not include an agentId filter, summary data is exported that includes both AWS Agentless Discovery Connector data and summary data from AWS Discovery Agents. Export of summary data is limited to two exports per day.
*/
startExportTask(params: Discovery.Types.StartExportTaskRequest, callback?: (err: AWSError, data: Discovery.Types.StartExportTaskResponse) => void): Request;
/**
- * Export the configuration data about discovered configuration items and relationships to an S3 bucket in a specified format.
+ * Begins the export of discovered data to an S3 bucket. If you specify agentId in a filter, the task exports up to 72 hours of detailed data collected by the identified Application Discovery Agent, including network, process, and performance details. A time range for exported agent data may be set by using startTime and endTime. Export of detailed agent data is limited to five concurrently running exports. If you do not include an agentId filter, summary data is exported that includes both AWS Agentless Discovery Connector data and summary data from AWS Discovery Agents. Export of summary data is limited to two exports per day.
*/
startExportTask(callback?: (err: AWSError, data: Discovery.Types.StartExportTaskResponse) => void): Request;
/**
@@ -459,6 +459,10 @@ declare namespace Discovery {
* One or more unique identifiers used to query the status of an export request.
*/
exportIds?: ExportIds;
+ /**
+ * One or more filters. AgentId - ID of the agent whose collected data will be exported
+ */
+ filters?: ExportFilters;
/**
* The maximum number of volume results returned by DescribeExportTasks in paginated output. When this parameter is used, DescribeExportTasks only returns maxResults results in a single page along with a nextToken response element.
*/
@@ -522,28 +526,55 @@ declare namespace Discovery {
}
export type ExportDataFormat = "CSV"|"GRAPHML"|string;
export type ExportDataFormats = ExportDataFormat[];
+ export interface ExportFilter {
+ /**
+ * A single ExportFilter name. Supported filters: agentId.
+ */
+ name: FilterName;
+ /**
+ * A single agentId for a Discovery Agent. An agentId can be found using the DescribeAgents action. Typically an ADS agentId is in the form o-0123456789abcdef0.
+ */
+ values: FilterValues;
+ /**
+ * Supported condition: EQUALS
+ */
+ condition: Condition;
+ }
+ export type ExportFilters = ExportFilter[];
export type ExportIds = ConfigurationsExportId[];
export interface ExportInfo {
/**
- * A unique identifier that you can use to query the export.
+ * A unique identifier used to query an export.
*/
exportId: ConfigurationsExportId;
/**
- * The status of the configuration data export. The status can succeed, fail, or be in-progress.
+ * The status of the data export job.
*/
exportStatus: ExportStatus;
/**
- * Helpful status messages for API callers. For example: Too many exports in the last 6 hours. Export in progress. Export was successful.
+ * A status message provided for API callers.
*/
statusMessage: ExportStatusMessage;
/**
- * A URL for an Amazon S3 bucket where you can review the configuration data. The URL is displayed only if the export succeeded.
+ * A URL for an Amazon S3 bucket where you can review the exported data. The URL is displayed only if the export succeeded.
*/
configurationsDownloadUrl?: ConfigurationsDownloadUrl;
/**
- * The time that the configuration data export was initiated.
+ * The time that the data export was initiated.
*/
exportRequestTime: ExportRequestTime;
+ /**
+ * If true, the export of agent information exceeded the size limit for a single export and the exported data is incomplete for the requested time range. To address this, select a smaller time range for the export by using startDate and endDate.
+ */
+ isTruncated?: Boolean;
+ /**
+ * The value of startTime parameter in the StartExportTask request. If no startTime was requested, this result does not appear in ExportInfo.
+ */
+ requestedStartTime?: TimeStamp;
+ /**
+ * The endTime used in the StartExportTask request. If no endTime was requested, this result does not appear in ExportInfo.
+ */
+ requestedEndTime?: TimeStamp;
}
export type ExportRequestTime = Date;
export type ExportStatus = "FAILED"|"SUCCEEDED"|"IN_PROGRESS"|string;
@@ -718,10 +749,22 @@ declare namespace Discovery {
* The file format for the returned export data. Default value is CSV.
*/
exportDataFormat?: ExportDataFormats;
+ /**
+ * If a filter is present, it selects the single agentId of the Application Discovery Agent for which data is exported. The agentId can be found in the results of the DescribeAgents API or CLI. If no filter is present, startTime and endTime are ignored and exported data includes both Agentless Discovery Connector data and summary data from Application Discovery agents.
+ */
+ filters?: ExportFilters;
+ /**
+ * The start timestamp for exported data from the single Application Discovery Agent selected in the filters. If no value is specified, data is exported starting from the first data collected by the agent.
+ */
+ startTime?: TimeStamp;
+ /**
+ * The end timestamp for exported data from the single Application Discovery Agent selected in the filters. If no value is specified, exported data includes the most recent data collected by the agent.
+ */
+ endTime?: TimeStamp;
}
export interface StartExportTaskResponse {
/**
- * A unique identifier used to query the status of an export request.
+ * A unique identifier used to query the status of an export request.
*/
exportId?: ConfigurationsExportId;
}
diff --git a/clients/ec2.d.ts b/clients/ec2.d.ts
index 1cb38569f6..a3af921e0f 100644
--- a/clients/ec2.d.ts
+++ b/clients/ec2.d.ts
@@ -8220,7 +8220,7 @@ declare namespace EC2 {
*/
Status?: SummaryStatus;
}
- export type InstanceType = "t1.micro"|"t2.nano"|"t2.micro"|"t2.small"|"t2.medium"|"t2.large"|"t2.xlarge"|"t2.2xlarge"|"m1.small"|"m1.medium"|"m1.large"|"m1.xlarge"|"m3.medium"|"m3.large"|"m3.xlarge"|"m3.2xlarge"|"m4.large"|"m4.xlarge"|"m4.2xlarge"|"m4.4xlarge"|"m4.10xlarge"|"m4.16xlarge"|"m2.xlarge"|"m2.2xlarge"|"m2.4xlarge"|"cr1.8xlarge"|"r3.large"|"r3.xlarge"|"r3.2xlarge"|"r3.4xlarge"|"r3.8xlarge"|"r4.large"|"r4.xlarge"|"r4.2xlarge"|"r4.4xlarge"|"r4.8xlarge"|"r4.16xlarge"|"x1.16xlarge"|"x1.32xlarge"|"i2.xlarge"|"i2.2xlarge"|"i2.4xlarge"|"i2.8xlarge"|"i3.large"|"i3.xlarge"|"i3.2xlarge"|"i3.4xlarge"|"i3.8xlarge"|"i3.16xlarge"|"hi1.4xlarge"|"hs1.8xlarge"|"c1.medium"|"c1.xlarge"|"c3.large"|"c3.xlarge"|"c3.2xlarge"|"c3.4xlarge"|"c3.8xlarge"|"c4.large"|"c4.xlarge"|"c4.2xlarge"|"c4.4xlarge"|"c4.8xlarge"|"cc1.4xlarge"|"cc2.8xlarge"|"g2.2xlarge"|"g2.8xlarge"|"cg1.4xlarge"|"p2.xlarge"|"p2.8xlarge"|"p2.16xlarge"|"d2.xlarge"|"d2.2xlarge"|"d2.4xlarge"|"d2.8xlarge"|"f1.2xlarge"|"f1.16xlarge"|string;
+ export type InstanceType = "t1.micro"|"t2.nano"|"t2.micro"|"t2.small"|"t2.medium"|"t2.large"|"t2.xlarge"|"t2.2xlarge"|"m1.small"|"m1.medium"|"m1.large"|"m1.xlarge"|"m3.medium"|"m3.large"|"m3.xlarge"|"m3.2xlarge"|"m4.large"|"m4.xlarge"|"m4.2xlarge"|"m4.4xlarge"|"m4.10xlarge"|"m4.16xlarge"|"m2.xlarge"|"m2.2xlarge"|"m2.4xlarge"|"cr1.8xlarge"|"r3.large"|"r3.xlarge"|"r3.2xlarge"|"r3.4xlarge"|"r3.8xlarge"|"r4.large"|"r4.xlarge"|"r4.2xlarge"|"r4.4xlarge"|"r4.8xlarge"|"r4.16xlarge"|"x1.16xlarge"|"x1.32xlarge"|"i2.xlarge"|"i2.2xlarge"|"i2.4xlarge"|"i2.8xlarge"|"i3.large"|"i3.xlarge"|"i3.2xlarge"|"i3.4xlarge"|"i3.8xlarge"|"i3.16xlarge"|"hi1.4xlarge"|"hs1.8xlarge"|"c1.medium"|"c1.xlarge"|"c3.large"|"c3.xlarge"|"c3.2xlarge"|"c3.4xlarge"|"c3.8xlarge"|"c4.large"|"c4.xlarge"|"c4.2xlarge"|"c4.4xlarge"|"c4.8xlarge"|"cc1.4xlarge"|"cc2.8xlarge"|"g2.2xlarge"|"g2.8xlarge"|"g3.4xlarge"|"g3.8xlarge"|"g3.16xlarge"|"cg1.4xlarge"|"p2.xlarge"|"p2.8xlarge"|"p2.16xlarge"|"d2.xlarge"|"d2.2xlarge"|"d2.4xlarge"|"d2.8xlarge"|"f1.2xlarge"|"f1.16xlarge"|string;
export type InstanceTypeList = InstanceType[];
export type Integer = number;
export type InterfacePermissionType = "INSTANCE-ATTACH"|"EIP-ASSOCIATE"|string;
diff --git a/clients/marketplacecommerceanalytics.d.ts b/clients/marketplacecommerceanalytics.d.ts
index 648c7f12e6..aa3652b711 100644
--- a/clients/marketplacecommerceanalytics.d.ts
+++ b/clients/marketplacecommerceanalytics.d.ts
@@ -39,7 +39,7 @@ declare namespace MarketplaceCommerceAnalytics {
export type FromDate = Date;
export interface GenerateDataSetRequest {
/**
- * The desired data set type. customer_subscriber_hourly_monthly_subscriptions - Available daily by 5:00 PM Pacific Time since 2014-07-21. customer_subscriber_annual_subscriptions - Available daily by 5:00 PM Pacific Time since 2014-07-21. daily_business_usage_by_instance_type - Available daily by 5:00 PM Pacific Time since 2015-01-26. daily_business_fees - Available daily by 5:00 PM Pacific Time since 2015-01-26. daily_business_free_trial_conversions - Available daily by 5:00 PM Pacific Time since 2015-01-26. daily_business_new_instances - Available daily by 5:00 PM Pacific Time since 2015-01-26. daily_business_new_product_subscribers - Available daily by 5:00 PM Pacific Time since 2015-01-26. daily_business_canceled_product_subscribers - Available daily by 5:00 PM Pacific Time since 2015-01-26. monthly_revenue_billing_and_revenue_data - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2015-02. monthly_revenue_annual_subscriptions - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2015-02. disbursed_amount_by_product - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26. disbursed_amount_by_product_with_uncollected_funds -This data set is only available from 2012-04-19 until 2015-01-25. After 2015-01-25, this data set was split into three data sets: disbursed_amount_by_product, disbursed_amount_by_age_of_uncollected_funds, and disbursed_amount_by_age_of_disbursed_funds. disbursed_amount_by_instance_hours - Available every 30 days by 5:00 PM Pacific Time since 2012-09-04. disbursed_amount_by_customer_geo - Available every 30 days by 5:00 PM Pacific Time since 2012-04-19. disbursed_amount_by_age_of_uncollected_funds - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26. disbursed_amount_by_age_of_disbursed_funds - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26. customer_profile_by_industry - Available daily by 5:00 PM Pacific Time from 2015-10-01 to 2017-06-29. After 2017-06-29 this data set will no longer be published. customer_profile_by_revenue - Available daily by 5:00 PM Pacific Time from 2015-10-01 to 2017-06-29. After 2017-06-29 this data set will no longer be published. customer_profile_by_geography - Available daily by 5:00 PM Pacific Time from 2015-10-01 to 2017-06-29. After 2017-06-29 this data set will no longer be published. sales_compensation_billed_revenue - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2016-12. us_sales_and_use_tax_records - Available monthly on the 15th day of the month by 5:00 PM Pacific Time since 2017-02-15.
+ * The desired data set type. customer_subscriber_hourly_monthly_subscriptions From 2014-07-21 to present: Available daily by 5:00 PM Pacific Time. customer_subscriber_annual_subscriptions From 2014-07-21 to present: Available daily by 5:00 PM Pacific Time. daily_business_usage_by_instance_type From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time. daily_business_fees From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time. daily_business_free_trial_conversions From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time. daily_business_new_instances From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time. daily_business_new_product_subscribers From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time. daily_business_canceled_product_subscribers From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time. monthly_revenue_billing_and_revenue_data From 2015-02 to 2017-06: Available monthly on the 4th day of the month by 5:00pm Pacific Time. Data includes metered transactions (e.g. hourly) from two months prior. From 2017-07 to present: Available monthly on the 15th day of the month by 5:00pm Pacific Time. Data includes metered transactions (e.g. hourly) from one month prior. monthly_revenue_annual_subscriptions From 2015-02 to 2017-06: Available monthly on the 4th day of the month by 5:00pm Pacific Time. Data includes up-front software charges (e.g. annual) from one month prior. From 2017-07 to present: Available monthly on the 15th day of the month by 5:00pm Pacific Time. Data includes up-front software charges (e.g. annual) from one month prior. disbursed_amount_by_product From 2015-01-26 to present: Available every 30 days by 5:00 PM Pacific Time. disbursed_amount_by_product_with_uncollected_funds From 2012-04-19 to 2015-01-25: Available every 30 days by 5:00 PM Pacific Time. From 2015-01-26 to present: This data set was split into three data sets: disbursed_amount_by_product, disbursed_amount_by_age_of_uncollected_funds, and disbursed_amount_by_age_of_disbursed_funds. disbursed_amount_by_instance_hours From 2012-09-04 to present: Available every 30 days by 5:00 PM Pacific Time. disbursed_amount_by_customer_geo From 2012-04-19 to present: Available every 30 days by 5:00 PM Pacific Time. disbursed_amount_by_age_of_uncollected_funds From 2015-01-26 to present: Available every 30 days by 5:00 PM Pacific Time. disbursed_amount_by_age_of_disbursed_funds From 2015-01-26 to present: Available every 30 days by 5:00 PM Pacific Time. customer_profile_by_industry From 2015-10-01 to 2017-06-29: Available daily by 5:00 PM Pacific Time. From 2017-06-30 to present: This data set is no longer available. customer_profile_by_revenue From 2015-10-01 to 2017-06-29: Available daily by 5:00 PM Pacific Time. From 2017-06-30 to present: This data set is no longer available. customer_profile_by_geography From 2015-10-01 to 2017-06-29: Available daily by 5:00 PM Pacific Time. From 2017-06-30 to present: This data set is no longer available. sales_compensation_billed_revenue From 2016-12 to 2017-06: Available monthly on the 4th day of the month by 5:00pm Pacific Time. Data includes metered transactions (e.g. hourly) from two months prior, and up-front software charges (e.g. annual) from one month prior. From 2017-06 to present: Available monthly on the 15th day of the month by 5:00pm Pacific Time. Data includes metered transactions (e.g. hourly) from one month prior, and up-front software charges (e.g. annual) from one month prior. us_sales_and_use_tax_records From 2017-02-15 to present: Available monthly on the 15th day of the month by 5:00 PM Pacific Time.
*/
dataSetType: DataSetType;
/**
diff --git a/dist/aws-sdk-core-react-native.js b/dist/aws-sdk-core-react-native.js
index f356fdb43d..9e56bbc0fd 100644
--- a/dist/aws-sdk-core-react-native.js
+++ b/dist/aws-sdk-core-react-native.js
@@ -80,7 +80,7 @@ return /******/ (function(modules) { // webpackBootstrap
/**
* @constant
*/
- VERSION: '2.84.0',
+ VERSION: '2.85.0',
/**
* @api private
diff --git a/dist/aws-sdk-react-native.js b/dist/aws-sdk-react-native.js
index a22ef6357e..bb9381d109 100644
--- a/dist/aws-sdk-react-native.js
+++ b/dist/aws-sdk-react-native.js
@@ -381,7 +381,7 @@ return /******/ (function(modules) { // webpackBootstrap
/**
* @constant
*/
- VERSION: '2.84.0',
+ VERSION: '2.85.0',
/**
* @api private
@@ -74701,6 +74701,9 @@ return /******/ (function(modules) { // webpackBootstrap
"exportIds": {
"shape": "S15"
},
+ "filters": {
+ "shape": "S1h"
+ },
"maxResults": {
"type": "integer"
},
@@ -75003,7 +75006,7 @@ return /******/ (function(modules) { // webpackBootstrap
"type": "structure",
"members": {
"agentsConfigurationStatus": {
- "shape": "S2c"
+ "shape": "S2e"
}
}
}
@@ -75015,6 +75018,15 @@ return /******/ (function(modules) { // webpackBootstrap
"exportDataFormat": {
"type": "list",
"member": {}
+ },
+ "filters": {
+ "shape": "S1h"
+ },
+ "startTime": {
+ "type": "timestamp"
+ },
+ "endTime": {
+ "type": "timestamp"
}
}
},
@@ -75041,7 +75053,7 @@ return /******/ (function(modules) { // webpackBootstrap
"type": "structure",
"members": {
"agentsConfigurationStatus": {
- "shape": "S2c"
+ "shape": "S2e"
}
}
}
@@ -75133,11 +75145,38 @@ return /******/ (function(modules) { // webpackBootstrap
"configurationsDownloadUrl": {},
"exportRequestTime": {
"type": "timestamp"
+ },
+ "isTruncated": {
+ "type": "boolean"
+ },
+ "requestedStartTime": {
+ "type": "timestamp"
+ },
+ "requestedEndTime": {
+ "type": "timestamp"
}
}
}
},
- "S2c": {
+ "S1h": {
+ "type": "list",
+ "member": {
+ "type": "structure",
+ "required": [
+ "name",
+ "values",
+ "condition"
+ ],
+ "members": {
+ "name": {},
+ "values": {
+ "shape": "Sp"
+ },
+ "condition": {}
+ }
+ }
+ },
+ "S2e": {
"type": "list",
"member": {
"type": "structure",
diff --git a/dist/aws-sdk.js b/dist/aws-sdk.js
index 61753e26f9..088a1e3c46 100644
--- a/dist/aws-sdk.js
+++ b/dist/aws-sdk.js
@@ -1,4 +1,4 @@
-// AWS SDK for JavaScript v2.84.0
+// AWS SDK for JavaScript v2.85.0
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// License at https://sdk.amazonaws.com/js/BUNDLE_LICENSE.txt
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;othis.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()}}),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":227}],229:[function(e,t,r){var a=e("../core"),s=e("../../clients/cognitoidentity"),i=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){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 s(t)}this.sts=this.sts||new i(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":174,"../../clients/sts":220,"../core":227}],230:[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)},resolve:function(e){function t(s,i){if(!s&&i||r===a.length)return void e(s,i);var o=a[r++];i="function"==typeof o?o.call():o,i.get?i.get(function(e){t(e,e?null:i)}):t(null,i)}if(0===this.providers.length)return e(new Error("No providers")),this;var r=0,a=this.providers.slice(0);return t(),this}}),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":227}],231:[function(e,t,r){var a=e("../core"),s=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){var t=this;t.createClients(),e||(e=function(e){if(e)throw e}),t.service.assumeRoleWithSAML(function(r,a){r||t.service.credentialsFrom(a,t),e(r)})},createClients:function(){this.service=this.service||new s({params:this.params})}})},{"../../clients/sts":220,"../core":227}],232:[function(e,t,r){var a=e("../core"),s=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){var t=this;t.createClients(),e||(e=function(e){if(e)throw e}),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 s({params:this.params})}})},{"../../clients/sts":220,"../core":227}],233:[function(e,t,r){var a=e("../core"),s=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){var t=this;t.createClients(),e||(e=function(e){if(e)throw e}),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 s(e)}}})},{"../../clients/sts":220,"../core":227}],234:[function(e,t,r){function a(e,t){for(var r={L:[]},a=0;athis.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()}}),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":227}],229:[function(e,t,r){var a=e("../core"),s=e("../../clients/cognitoidentity"),i=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){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 s(t)}this.sts=this.sts||new i(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":174,"../../clients/sts":220,"../core":227}],230:[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)},resolve:function(e){function t(s,i){if(!s&&i||r===a.length)return void e(s,i);var o=a[r++];i="function"==typeof o?o.call():o,i.get?i.get(function(e){t(e,e?null:i)}):t(null,i)}if(0===this.providers.length)return e(new Error("No providers")),this;var r=0,a=this.providers.slice(0);return t(),this}}),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":227}],231:[function(e,t,r){var a=e("../core"),s=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){var t=this;t.createClients(),e||(e=function(e){if(e)throw e}),t.service.assumeRoleWithSAML(function(r,a){r||t.service.credentialsFrom(a,t),e(r)})},createClients:function(){this.service=this.service||new s({params:this.params})}})},{"../../clients/sts":220,"../core":227}],232:[function(e,t,r){var a=e("../core"),s=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){var t=this;t.createClients(),e||(e=function(e){if(e)throw e}),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 s({params:this.params})}})},{"../../clients/sts":220,"../core":227}],233:[function(e,t,r){var a=e("../core"),s=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){var t=this;t.createClients(),e||(e=function(e){if(e)throw e}),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 s(e)}}})},{"../../clients/sts":220,"../core":227}],234:[function(e,t,r){function a(e,t){for(var r={L:[]},a=0;a=0)return e.httpRequest.headers["X-Amz-Content-Sha256"]="UNSIGNED-PAYLOAD",t();s.util.computeSha256(i,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=a(e);if(void 0===e.httpRequest.headers["Content-Length"]&&-1===t.indexOf("unsigned-body")){var r=s.util.string.byteLength(e.httpRequest.body);e.httpRequest.headers["Content-Length"]=r}}),e("SET_HTTP_HOST","afterBuild",function(e){e.httpRequest.headers.Host=e.httpRequest.endpoint.host}),e("RESTART","restart",function(){var e=this.response.error;e&&e.retryable&&(this.httpRequest=new s.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=new s.util.Buffer(""),r.httpResponse.buffers=[],r.httpResponse.numBytes=0;var i=t.date||t.Date;if(i){var o=Date.parse(i);r.request.service.config.correctClockSkew&&s.util.isClockSkewed(o)&&s.util.applyClockOffset(o)}}),e("HTTP_DATA","httpData",function(e,t){if(e){if(s.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(new s.util.Buffer(e))}}),e("HTTP_DONE","httpDone",function(e){if(e.httpResponse.buffers&&e.httpResponse.buffers.length>0){var t=s.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&&s.config.isClockSkewed&&(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 s.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=this.HEADERS_RECEIVED&&!m&&(u.statusCode=c.status,u.headers=o.parseHeaders(c.getAllResponseHeaders()),u.emit("headers",u.statusCode,u.headers,c.statusText),m=!0),this.readyState===this.DONE&&o.finishRequest(c,u)},!1),c.upload.addEventListener("progress",function(e){u.emit("sendProgress",e)}),c.addEventListener("progress",function(e){u.emit("receiveProgress",e)},!1),c.addEventListener("timeout",function(){i(a.util.error(new Error("Timeout"),{code:"TimeoutError"}))},!1),c.addEventListener("error",function(){i(a.util.error(new Error("Network Failure"),{code:"NetworkingError"}))},!1),c.addEventListener("abort",function(){i(a.util.error(new Error("Request aborted"),{code:"RequestAbortedError"}))},!1),r(u),c.open(e.method,p,!1!==t.xhrAsync),a.util.each(e.headers,function(e,t){"Content-Length"!==e&&"User-Agent"!==e&&"Host"!==e&&c.setRequestHeader(e,t)}),t.timeout&&!1!==t.xhrAsync&&(c.timeout=t.timeout),t.xhrWithCredentials&&(c.withCredentials=!0);try{c.responseType="arraybuffer"}catch(e){}try{e.body?c.send(e.body):c.send()}catch(t){if(!e.body||"object"!=typeof e.body.buffer)throw t;c.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 s=e.response;r=new a.util.Buffer(s.byteLength);for(var i=new Uint8Array(s),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(){i.apply(this,arguments),this.toType=function(e){return null===e||void 0===e?null:parseFloat(e)},this.toWireFormat=this.toType}function d(){i.apply(this,arguments),this.toType=function(e){return null===e||void 0===e?null:parseInt(e,10)},this.toWireFormat=this.toType}function y(){i.apply(this,arguments),this.toType=g.base64.decode,this.toWireFormat=g.base64.encode}function b(){y.apply(this,arguments)}function h(){i.apply(this,arguments),this.toType=function(e){return"boolean"==typeof e?e:null===e||void 0===e?null:"true"===e}}var S=e("./collection"),g=e("../util");i.normalizedTypes={character:"string",double:"float",long:"integer",short:"integer",biginteger:"integer",bigdecimal:"float",blob:"binary"},i.types={structure:n,list:u,map:p,boolean:h,timestamp:c,float:l,integer:d,string:m,base64:b,binary:y},i.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},i.create=function(e,t,r){if(e.isShape)return e;var a=i.resolve(e,t);if(a){var s=Object.keys(e);t.documentation||(s=s.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(i.normalizedTypes[e.type]&&(e.type=i.normalizedTypes[e.type]),i.types[e.type])return new i.types[e.type](e,t,r);throw new Error("Unrecognized shape type: "+n)},i.shapes={StructureShape:n,ListShape:u,MapShape:p,StringShape:m,BooleanShape:h,Base64Shape:b},t.exports=i},{"../util":290,"./collection":245}],250:[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 s=this.errors.join("\n* ");throw s="There were "+this.errors.length+" validation errors:\n* "+s,a.util.error(new Error(s),{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){this.validateType(t,r,["object"],"structure");for(var a,s=0;e.required&&s= "+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,s){if(null===e||void 0===e)return!1;for(var i=!1,o=0;o0)try{var a=JSON.parse(r.body.toString());(a.__type||a.code)&&(t.code=(a.__type||a.code).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 i(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||{},s=new u;e.data=s.parse(t,a)}}var o=e("../util"),n=e("../json/builder"),u=e("../json/parser");t.exports={buildRequest:a,extractError:s,extractData:i}},{"../json/builder":242,"../json/parser":243,"../util":290}],253:[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)}function s(e){var t,r=e.httpResponse.body.toString();if(r.match("=0?"&":"?";var n=[];c.arrayEach(Object.keys(i).sort(),function(e){Array.isArray(i[e])||(i[e]=[i[e]]);for(var t=0;t0){t=new n.XML.Parser;var m=t.parse(a.toString(),i);u.update(e.data,m)}}var n=e("../core"),u=e("../util"),p=e("./rest");t.exports={buildRequest:s,extractError:i,extractData:o}},{"../core":227,"../util":290,"./rest":254}],257:[function(e,t,r){function a(){}function s(e){return e.isQueryName||"ec2"!==e.api.protocol?e.name:e.name[0].toUpperCase()+e.name.substr(1)}function i(e,t,r,a){p.each(r.members,function(r,i){var o=t[r];if(null!==o&&void 0!==o){var n=s(i);n=e?e+"."+n:n,u(n,o,i,a)}})}function o(e,t,r,a){var s=1;p.each(t,function(t,i){var o=r.flattened?".":".entry.",n=o+s+++".",p=n+(r.key.name||"key"),c=n+(r.value.name||"value");u(e+p,t,r.key,a),u(e+c,i,r.value,a)})}function n(e,t,r,a){var i=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(i.name){var p=e.split(".");p.pop(),p.push(s(i)),e=p.join(".")}}else n="."+(i.name?i.name:"member")+n;u(e+n,t,i,a)})}function u(e,t,r,a){null!==t&&void 0!==t&&("structure"===r.type?i(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){i("",e,t,r)},t.exports=a},{"../util":290}],258:[function(e,t,r){var a=e("../core"),s=null,i={signatureVersion:"v4",signingName:"rds-db"},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),s=new a.Service(u),s.api=i;var p=s.makeRequest();if(this.modifyRequestForAuthToken(p,e),!o){var c=p.presign(900);return this.convertUrlToAuthToken(c)}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":227}],259:[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 s(e){var t=e.config.region,r=a(t),s=e.api.endpointPrefix;return[[t,s],[r,s],[t,"*"],[r,"*"],["*",s],["*","*"]].map(function(e){return e[0]&&e[1]?e.join("/"):null})}function i(e,t){n.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=s(e),r=0;r=0){u=!0;var p=0}var c=function(){u&&p!==n?s.emit("error",a.util.error(new Error("Stream content length mismatch. Received "+p+" of "+n+" bytes."),{code:"StreamContentLengthMismatch"})):2===a.HttpClient.streamsApiVersion?s.end():s.emit("end")},m=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",c),s.on("error",function(e){u=!1,m.unpipe(l),l.emit("end"),l.end()}),m.pipe(l).pipe(s,{end:!1})}else m.pipe(s);else u&&m.on("data",function(e){e&&e.length&&(p+=e.length)}),m.on("data",function(e){s.emit("data",e)}),m.on("end",c);m.on("error",function(e){u=!1,s.emit("error",e)})}}),s},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.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,e("_process"))},{"./core":227,"./state_machine":289,_process:446,jmespath:305}],262:[function(e,t,r){function a(e){var t=e.request._waiter,r=t.config.acceptors,a=!1,s="retry";r.forEach(function(r){if(!a){var i=t.matchers[r.matcher];i&&i(e,r.expected,r.argument)&&(a=!0,s=r.state)}}),!a&&e.error&&(s="failure"),"success"===s?t.setSuccess(e):t.setError(e,"retry"===s)}var s=e("./core"),i=s.util.inherit,o=e("jmespath");s.ResourceWaiter=i({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 s=a.length;if(!s)return!1;for(var i=0;i=1&&t.doneParts===t.numParts&&t.finishMultiPart()}))}r&&t.fillQueue.call(t)},abort:function(){this.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=new a.util.Buffer(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,s=a.util.copy(r.config);s.signatureVersion=r.getSignatureVersion(),t.service=new r.constructor.__super__(s),t.service.config.params=a.util.merge(t.service.config.params||{},e)}else t.service=new a.S3({params:e})},adjustTotalBytes:function(){var e=this;try{e.totalBytes=s(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=s(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]:i.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]:i.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 s={Body:e};this.tags&&(s.Tagging=this.getTaggingHeader());var i=t.service.putObject(s);return i._managedUpload=t,i.on("httpUploadProgress",t.progress).send(t.finishSinglePart),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(s,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),s=a.length;return this.callListeners(a,t,r),s>0},callListeners:function(e,t,r,s){function i(s){if(s&&(n=a.util.error(n||new Error,s),o._haltHandlersOnError))return r.call(o,n);o.callListeners(e,t,r,n)}for(var o=this,n=s||null;e.length>0;){var u=e.shift();if(u._isAsync)return void u.apply(o,t.concat([i]));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){return this[e]=r,this.addListener(t,r),this},addNamedAsyncListener:function(e,t,r){return r._isAsync=!0,this.addNamedListener(e,t,r)},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":227}],266:[function(e,t,r){var a=e("./core"),s=e("./model/api"),i=e("./region_config"),o=a.util.inherit,n=0;a.Service=o({constructor:function(e){if(!this.loadServiceClass)throw a.util.error(new Error,"Service must be constructed with `new' operator");var t=this.loadServiceClass(e||{});if(t){var r=a.util.copy(e),s=new t(e);return Object.defineProperty(s,"_originalConfig",{get:function(){return r},enumerable:!1,configurable:!0}),s._clientId=++n,s}this.initialize(e)},initialize:function(e){var t=a.config[this.serviceIdentifier];this.config=new a.Config(a.config),t&&this.config.update(t,!0),e&&this.config.update(e,!0),this.validateService(),this.config.endpoint||i(this),this.config.endpoint=this.endpointFromTemplate(this.config.endpoint),this.setEndpoint(this.config.endpoint)},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,s=t.length-1;s>=0;s--)if("*"!==t[s][t[s].length-1]&&(r=t[s]),t[s].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 s=this.api.operations[e];s&&(t=a.util.copy(t),a.util.each(this.config.params,function(e,r){s.input.members[e]&&(void 0!==t[e]&&null!==t[e]||(t[e]=r))}))}var i=new a.Request(this,e,t);return this.addAllRequestListeners(i),r&&i.send(r),i},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;r=500)))},networkingError:function(e){return"NetworkingError"===e.code},timeoutError:function(e){return"TimeoutError"===e.code},expiredCredentialsError:function(e){return"ExpiredTokenException"===e.code},clockSkewError:function(e){switch(e.code){case"RequestTimeTooSkewed":case"RequestExpired":case"InvalidSignatureException":case"SignatureDoesNotMatch":case"AuthFailure":case"RequestInTheFuture":return!0;default:return!1}},throttledError:function(e){switch(e.code){case"ProvisionedThroughputExceededException":case"Throttling":case"ThrottlingException":case"RequestLimitExceeded":case"RequestThrottled":return!0;default:return!1}},endpointFromTemplate:function(e){if("string"!=typeof e)return e;var t=e;return t=t.replace(/\{service\}/g,this.api.endpointPrefix),t=t.replace(/\{region\}/g,this.config.region),t=t.replace(/\{scheme\}/g,this.config.sslEnabled?"https":"http")},setEndpoint:function(e){this.endpoint=new a.Endpoint(e,this.config)},paginationConfig:function(e,t){var r=this.api.operations[e].paginator;if(!r){if(t){var s=new Error;throw a.util.error(s,"No pagination configuration for "+e)}return null}return r}}),a.util.update(a.Service,{defineMethods:function(e){a.util.each(e.prototype.api.operations,function(t){if(!e.prototype[t]){"none"===e.prototype.api.operations[t].authtype?e.prototype[t]=function(e,r){return this.makeUnauthenticatedRequest(t,e,r)}:e.prototype[t]=function(e,r){return this.makeRequest(t,e,r)}}})},defineService:function(e,t,r){a.Service._serviceMap[e]=!0,Array.isArray(t)||(r=t,t=[]);var s=o(a.Service,r||{});if("string"==typeof e){a.Service.addVersions(s,t);var i=s.serviceIdentifier||e;s.serviceIdentifier=i}else s.prototype.api=e,a.Service.defineMethods(s);return s},addVersions:function(e,t){Array.isArray(t)||(t=[t]),e.services=e.services||{};for(var r=0;r=0){throw a.util.error(new Error,{name:"InvalidEndpoint",message:"AWS.IotData requires an explicit `endpoint' configuration option."})}},setupRequestListeners:function(e){e.addListener("validateResponse",this.validateResponseBody),s.indexOf(e.operation)>-1&&e.addListener("extractData",a.util.convertPayloadToString)},validateResponseBody:function(e){var t=e.httpResponse.body.toString()||"{}",r=t.trim();r&&"{"===r.charAt(0)||(e.httpResponse.body="")}})},{"../core":227}],273:[function(e,t,r){var a=e("../core");a.util.update(a.Lambda.prototype,{setupRequestListeners:function(e){"invoke"===e.operation&&e.addListener("extractData",a.util.convertPayloadToString)}})},{"../core":227}],274:[function(e,t,r){var a=e("../core");a.util.update(a.MachineLearning.prototype,{setupRequestListeners:function(e){"predict"===e.operation&&e.addListener("build",this.buildEndpoint)},buildEndpoint:function(e){var t=e.params.PredictEndpoint;t&&(e.httpRequest.endpoint=new a.Endpoint(t))}})},{"../core":227}],275:[function(e,t,r){e("../polly/presigner")},{"../polly/presigner":251}],276:[function(e,t,r){var a=e("../core");e("../rds/signer");var s=["copyDBSnapshot","createDBInstanceReadReplica","createDBCluster","copyDBClusterSnapshot"];a.util.update(a.RDS.prototype,{setupRequestListeners:function(e){if(-1!==s.indexOf(e.operation)&&e.params.SourceRegion)if(e.params=a.util.copy(e.params),e.params.PreSignedUrl||e.params.SourceRegion===this.config.region)delete e.params.SourceRegion;else{var t=!!this.config.paramValidation;t&&e.removeListener("validate",a.EventListeners.Core.VALIDATE_PARAMETERS),e.onAsync("validate",this.buildCrossRegionPresignedUrl),t&&e.addListener("validate",a.EventListeners.Core.VALIDATE_PARAMETERS)}},buildCrossRegionPresignedUrl:function(e,t){var r=a.util.copy(e.service.config);r.region=e.params.SourceRegion,delete e.params.SourceRegion,delete r.endpoint,delete r.params,r.signatureVersion="v4";var s=e.service.config.region,i=new e.service.constructor(r),o=i[e.operation](a.util.copy(e.params));o.on("build",function(e){var t=e.httpRequest;t.params.DestinationRegion=s,t.body=a.util.queryParamsToString(t.params)}),o.presign(function(r,a){r?t(r):(e.params.PreSignedUrl=a,t())})}})},{"../core":227,"../rds/signer":258}],277:[function(e,t,r){var a=e("../core");a.util.update(a.Route53.prototype,{setupRequestListeners:function(e){e.on("build",this.sanitizeUrl)},sanitizeUrl:function(e){var t=e.httpRequest.path;e.httpRequest.path=t.replace(/\/%2F\w+%2F/,"/")},retryableError:function(e){return"PriorRequestNotComplete"===e.code&&400===e.statusCode||a.Service.prototype.retryableError.call(this,e)}})},{"../core":227}],278:[function(e,t,r){var a=e("../core"),s=e("../signers/v4_credentials");e("../s3/managed_upload");var i={completeMultipartUpload:!0,copyObject:!0,uploadPartCopy:!0},o=["AuthorizationHeaderMalformed","BadRequest","PermanentRedirect",301];a.util.update(a.S3.prototype,{getSignatureVersion:function(e){var t=this.api.signatureVersion,r=this._originalConfig?this._originalConfig.signatureVersion:null,a=this.config.signatureVersion,s=!!e&&e.isPresigned();return r?r="v2"===r?"s3":r:(!0!==s?t="v4":a&&(t=a),t)},getSignerClass:function(e){var t=this.getSignatureVersion(e);return a.Signers.RequestSigner.getVersion(t)},validateService:function(){var e,t=[];if(this.config.region||(this.config.region="us-east-1"),!this.config.endpoint&&this.config.s3BucketEndpoint&&t.push("An endpoint must be provided when configuring `s3BucketEndpoint` to true."),1===t.length?e=t[0]:t.length>1&&(e="Multiple configuration errors:\n"+t.join("\n")),e)throw a.util.error(new Error,{name:"InvalidEndpoint",message:e})},shouldDisableBodySigning:function(e){var t=this.getSignerClass();return!0===this.config.s3DisableBodySigning&&t===a.Signers.V4&&"https:"===e.httpRequest.endpoint.protocol},setupRequestListeners:function(e){e.addListener("validate",this.validateScheme),e.addListener("validate",this.validateBucketEndpoint),e.addListener("validate",this.correctBucketRegionFromCache),e.addListener("validate",this.validateBucketName),e.addListener("build",this.addContentType),e.addListener("build",this.populateURI),e.addListener("build",this.computeContentMd5),e.addListener("build",this.computeSseCustomerKeyMd5),e.addListener("afterBuild",this.addExpect100Continue),e.removeListener("validate",a.EventListeners.Core.VALIDATE_REGION),e.addListener("extractError",this.extractError),e.onAsync("extractError",this.requestBucketRegion),e.addListener("extractData",this.extractData),e.addListener("extractData",a.util.hoistPayloadMember),e.addListener("beforePresign",this.prepareSignedUrl),a.util.isBrowser()&&e.onAsync("retry",this.reqRegionForNetworkingError),this.shouldDisableBodySigning(e)&&(e.removeListener("afterBuild",a.EventListeners.Core.COMPUTE_SHA256),e.addListener("afterBuild",this.disableBodySigning))},validateScheme:function(e){var t=e.params,r=e.httpRequest.endpoint.protocol;if((t.SSECustomerKey||t.CopySourceSSECustomerKey)&&"https:"!==r)throw a.util.error(new Error,{code:"ConfigError",message:"Cannot send SSE keys over HTTP. Set 'sslEnabled'to 'true' in your configuration"})},validateBucketEndpoint:function(e){if(!e.params.Bucket&&e.service.config.s3BucketEndpoint){throw a.util.error(new Error,{code:"ConfigError",message:"Cannot send requests to root API with `s3BucketEndpoint` set."})}},validateBucketName:function(e){if("v4"===e.service.getSignatureVersion(e)){var t=e.params&&e.params.Bucket,r=e.params&&e.params.Key,s=t&&t.indexOf("/");if(t&&s>=0){if("string"!=typeof r){var i="Bucket names cannot contain forward slashes. Bucket: "+t;throw a.util.error(new Error,{code:"InvalidBucket",message:i})}e.params=a.util.copy(e.params);var o=t.substr(s+1)||"";e.params.Key=o+"/"+r,e.params.Bucket=t.substr(0,s)}}},isValidAccelerateOperation:function(e){return-1===["createBucket","deleteBucket","listBuckets"].indexOf(e)},populateURI:function(e){var t=e.httpRequest,r=e.params.Bucket,a=e.service,s=t.endpoint;if(r&&!a.pathStyleBucketName(r)){a.config.useAccelerateEndpoint&&a.isValidAccelerateOperation(e.operation)?a.config.useDualstack?s.hostname=r+".s3-accelerate.dualstack.amazonaws.com":s.hostname=r+".s3-accelerate.amazonaws.com":a.config.s3BucketEndpoint||(s.hostname=r+"."+s.hostname);var i=s.port;s.host=80!==i&&443!==i?s.hostname+":"+s.port:s.hostname,t.virtualHostedBucket=r,a.removeVirtualHostedBucketFromPath(e)}},removeVirtualHostedBucketFromPath:function(e){var t=e.httpRequest,r=t.virtualHostedBucket;r&&t.path&&(t.path=t.path.replace(new RegExp("/"+r),""),"/"!==t.path[0]&&(t.path="/"+t.path))},addExpect100Continue:function(e){var t=e.httpRequest.headers["Content-Length"];a.util.isNode()&&t>=1048576&&(e.httpRequest.headers.Expect="100-continue")},addContentType:function(e){var t=e.httpRequest;if("GET"===t.method||"HEAD"===t.method)return void delete t.headers["Content-Type"];t.headers["Content-Type"]||(t.headers["Content-Type"]="application/octet-stream");var r=t.headers["Content-Type"];if(a.util.isBrowser())if("string"!=typeof t.body||r.match(/;\s*charset=/)){var s=function(e,t,r){return t+r.toUpperCase()};t.headers["Content-Type"]=r.replace(/(;\s*charset=)(.+)$/,s)}else{t.headers["Content-Type"]+="; charset=UTF-8"}},computableChecksumOperations:{putBucketCors:!0,putBucketLifecycle:!0,putBucketLifecycleConfiguration:!0,putBucketTagging:!0,deleteObjects:!0,putBucketReplication:!0},willComputeChecksums:function(e){if(this.computableChecksumOperations[e.operation])return!0;if(!this.config.computeChecksums)return!1;if(!a.util.Buffer.isBuffer(e.httpRequest.body)&&"string"!=typeof e.httpRequest.body)return!1;var t=e.service.api.operations[e.operation].input.members;return!(!e.service.shouldDisableBodySigning(e)||Object.prototype.hasOwnProperty.call(e.httpRequest.headers,"presigned-expires")||!t.ContentMD5||e.params.ContentMD5)||!(e.service.getSignerClass(e)===a.Signers.V4&&t.ContentMD5&&!t.ContentMD5.required)&&(!(!t.ContentMD5||e.params.ContentMD5)||void 0)},computeContentMd5:function(e){if(e.service.willComputeChecksums(e)){var t=a.util.crypto.md5(e.httpRequest.body,"base64");e.httpRequest.headers["Content-MD5"]=t}},computeSseCustomerKeyMd5:function(e){var t={SSECustomerKey:"x-amz-server-side-encryption-customer-key-MD5",CopySourceSSECustomerKey:"x-amz-copy-source-server-side-encryption-customer-key-MD5"};a.util.each(t,function(t,r){if(e.params[t]){var s=a.util.crypto.md5(e.params[t],"base64");e.httpRequest.headers[r]=s}})},pathStyleBucketName:function(e){return!!this.config.s3ForcePathStyle||!this.config.s3BucketEndpoint&&(!this.dnsCompatibleBucketName(e)||!(!this.config.sslEnabled||!e.match(/\./)))},dnsCompatibleBucketName:function(e){var t=e,r=new RegExp(/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/),a=new RegExp(/(\d+\.){3}\d+/),s=new RegExp(/\.\./);return!(!t.match(r)||t.match(a)||t.match(s))},successfulResponse:function(e){var t=e.request,r=e.httpResponse;return(!i[t.operation]||!r.body.toString().match(""))&&r.statusCode<300},retryableError:function(e,t){return!(!i[t.operation]||200!==e.statusCode)||(!t._requestRegionForBucket||!t.service.bucketRegionCache[t._requestRegionForBucket])&&(!(!e||"RequestTimeout"!==e.code)||(e&&-1!=o.indexOf(e.code)&&e.region&&e.region!=t.httpRequest.region?(t.httpRequest.region=e.region,301===e.statusCode&&t.service.updateReqBucketRegion(t),!0):a.Service.prototype.retryableError.call(this,e,t)))},updateReqBucketRegion:function(e,t){var r=e.httpRequest;if("string"==typeof t&&t.length&&(r.region=t),r.endpoint.host.match(/s3(?!-accelerate).*\.amazonaws\.com$/)){var s=e.service,i=s.config,o=i.s3BucketEndpoint;o&&delete i.s3BucketEndpoint;var n=a.util.copy(i);delete n.endpoint,n.region=r.region,r.endpoint=new a.S3(n).endpoint,s.populateURI(e),i.s3BucketEndpoint=o,r.headers.Host=r.endpoint.host,"validate"===e._asm.currentState&&(e.removeListener("build",s.populateURI),e.addListener("build",s.removeVirtualHostedBucketFromPath))}},extractData:function(e){var t=e.request;if("getBucketLocation"===t.operation){var r=e.httpResponse.body.toString().match(/>(.+)<\/Location/);delete e.data._,e.data.LocationConstraint=r?r[1]:""}var a=t.params.Bucket||null;if("deleteBucket"!==t.operation||"string"!=typeof a||e.error){var s=e.httpResponse.headers||{},i=s["x-amz-bucket-region"]||null;if(!i&&"createBucket"===t.operation&&!e.error){var o=t.params.CreateBucketConfiguration;i=o?"EU"===o.LocationConstraint?"eu-west-1":o.LocationConstraint:"us-east-1"}i&&a&&i!==t.service.bucketRegionCache[a]&&(t.service.bucketRegionCache[a]=i)}else t.service.clearBucketRegionCache(a);t.service.extractRequestIds(e)},extractError:function(e){var t={304:"NotModified",403:"Forbidden",400:"BadRequest",404:"NotFound"},r=e.request,s=e.httpResponse.statusCode,i=e.httpResponse.body||"",o=e.httpResponse.headers||{},n=o["x-amz-bucket-region"]||null,u=r.params.Bucket||null,p=r.service.bucketRegionCache;n&&u&&n!==p[u]&&(p[u]=n);var c;if(t[s]&&0===i.length)u&&!n&&(c=p[u]||null)!==r.httpRequest.region&&(n=c),e.error=a.util.error(new Error,{code:t[s],message:null,region:n});else{var m=(new a.XML.Parser).parse(i.toString());m.Region&&!n?(n=m.Region,u&&n!==p[u]&&(p[u]=n)):!u||n||m.Region||(c=p[u]||null)!==r.httpRequest.region&&(n=c),e.error=a.util.error(new Error,{code:m.Code||s,message:m.Message||null,region:n})}r.service.extractRequestIds(e)},requestBucketRegion:function(e,t){var r=e.error,s=e.request,i=s.params.Bucket||null;if(!r||!i||r.region||"listObjects"===s.operation||a.util.isNode()&&"headBucket"===s.operation||400===r.statusCode&&"headObject"!==s.operation||-1===o.indexOf(r.code))return t();var n=a.util.isNode()?"headBucket":"listObjects",u={Bucket:i};"listObjects"===n&&(u.MaxKeys=0);var p=s.service[n](u);p._requestRegionForBucket=i,p.send(function(){var e=s.service.bucketRegionCache[i]||null;r.region=e,t()})},reqRegionForNetworkingError:function(e,t){if(!a.util.isBrowser())return t();var r=e.error,s=e.request,i=s.params.Bucket;if(!r||"NetworkingError"!==r.code||!i||"us-east-1"===s.httpRequest.region)return t();var o=s.service,n=o.bucketRegionCache,u=n[i]||null;if(u&&u!==s.httpRequest.region)o.updateReqBucketRegion(s,u),t();else if(o.dnsCompatibleBucketName(i))if(s.httpRequest.virtualHostedBucket){var p=o.listObjects({Bucket:i,MaxKeys:0});o.updateReqBucketRegion(p,"us-east-1"),p._requestRegionForBucket=i,p.send(function(){var e=o.bucketRegionCache[i]||null;e&&e!==s.httpRequest.region&&o.updateReqBucketRegion(s,e),t()})}else t();else o.updateReqBucketRegion(s,"us-east-1"),"us-east-1"!==n[i]&&(n[i]="us-east-1"),t()},bucketRegionCache:{},clearBucketRegionCache:function(e){var t=this.bucketRegionCache;e?"string"==typeof e&&(e=[e]):e=Object.keys(t);for(var r=0;r0&&t.throwInvalidChecksumError(e,i,"Invalid messages: "+s.join(", "))}},verifyReceiveMessageChecksum:function(e){if(e.data){var t=this.service,r=[];a.util.arrayEach(e.data.Messages,function(e){var a=e.MD5OfBody,s=e.Body;t.isChecksumValid(a,s)||r.push(e.MessageId)}),r.length>0&&t.throwInvalidChecksumError(e,r,"Invalid messages: "+r.join(", "))}},throwInvalidChecksumError:function(e,t,r){e.error=a.util.error(new Error,{retryable:!0,code:"InvalidChecksum",messageIds:t,message:e.request.operation+" returned an invalid MD5 response. "+r})},isChecksumValid:function(e,t){return this.calculateChecksum(t)===e},calculateChecksum:function(e){return a.util.crypto.md5(e,"hex")},buildEndpoint:function(e){var t=e.httpRequest.params.QueueUrl;if(t){e.httpRequest.endpoint=new a.Endpoint(t);var r=e.httpRequest.endpoint.host.match(/^sqs\.(.+?)\./);r&&(e.httpRequest.region=r[1])}}})},{"../core":227}],280:[function(e,t,r){var a=e("../core");a.util.update(a.STS.prototype,{credentialsFrom:function(e,t){return e?(t||(t=new a.TemporaryCredentials),t.expired=!1,t.accessKeyId=e.Credentials.AccessKeyId,t.secretAccessKey=e.Credentials.SecretAccessKey,t.sessionToken=e.Credentials.SessionToken,t.expireTime=e.Credentials.Expiration,t):null},assumeRoleWithWebIdentity:function(e,t){return this.makeUnauthenticatedRequest("assumeRoleWithWebIdentity",e,t)},assumeRoleWithSAML:function(e,t){return this.makeUnauthenticatedRequest("assumeRoleWithSAML",e,t)}})},{"../core":227}],281:[function(e,t,r){function a(e){var t=e.httpRequest.headers[n],r=e.service.getSignerClass(e);if(delete e.httpRequest.headers["User-Agent"],delete e.httpRequest.headers["X-Amz-User-Agent"],r===i.Signers.V4){if(t>604800){throw i.util.error(new Error,{code:"InvalidExpiryTime",message:"Presigning does not support expiry time greater than a week with SigV4 signing.",retryable:!1})}e.httpRequest.headers[n]=t}else{if(r!==i.Signers.S3)throw i.util.error(new Error,{message:"Presigning only supports S3 or SigV4 signing.",code:"UnsupportedSigner",retryable:!1});e.httpRequest.headers[n]=parseInt(i.util.date.unixTimestamp()+t,10).toString()}}function s(e){var t=e.httpRequest.endpoint,r=i.util.urlParse(e.httpRequest.path),a={};r.search&&(a=i.util.queryStringParse(r.search.substr(1))),i.util.each(e.httpRequest.headers,function(e,t){e===n&&(e="Expires"),0===e.indexOf("x-amz-meta-")&&(delete a[e],e=e.toLowerCase()),a[e]=t}),delete e.httpRequest.headers[n];var s=a.Authorization.split(" ");if("AWS"===s[0])s=s[1].split(":"),a.AWSAccessKeyId=s[0],a.Signature=s[1];else if("AWS4-HMAC-SHA256"===s[0]){s.shift();var o=s.join(" "),u=o.match(/Signature=(.*?)(?:,|\s|\r?\n|$)/)[1];a["X-Amz-Signature"]=u,delete a.Expires}delete a.Authorization,delete a.Host,t.pathname=r.pathname,t.search=i.util.queryParamsToString(a)}var i=e("../core"),o=i.util.inherit,n="presigned-expires";i.Signers.Presign=o({sign:function(e,t,r){if(e.httpRequest.headers[n]=t||3600,e.on("build",a),e.on("sign",s),e.removeListener("afterBuild",i.EventListeners.Core.SET_CONTENT_LENGTH),e.removeListener("afterBuild",i.EventListeners.Core.COMPUTE_SHA256),e.emit("beforePresign",[e]),!r){if(e.build(),e.response.error)throw e.response.error;return i.util.urlFormat(e.httpRequest.endpoint)}e.build(function(){this.response.error?r(this.response.error):r(null,i.util.urlFormat(e.httpRequest.endpoint))})}}),t.exports=i.Signers.Presign},{"../core":227}],282:[function(e,t,r){var a=e("../core"),s=a.util.inherit;a.Signers.RequestSigner=s({constructor:function(e){this.request=e},setServiceClientId:function(e){this.serviceClientId=e},getServiceClientId:function(){return this.serviceClientId}}),a.Signers.RequestSigner.getVersion=function(e){switch(e){case"v2":return a.Signers.V2;case"v3":return a.Signers.V3;case"v4":return a.Signers.V4;case"s3":return a.Signers.S3;case"v3https":return a.Signers.V3Https}throw new Error("Unknown signing version "+e)},e("./v2"),e("./v3"),e("./v3https"),e("./v4"),e("./s3"),e("./presign")},{"../core":227,"./presign":281,"./s3":283,"./v2":284,"./v3":285,"./v3https":286,"./v4":287}],283:[function(e,t,r){var a=e("../core"),s=a.util.inherit;a.Signers.S3=s(a.Signers.RequestSigner,{subResources:{acl:1,accelerate:1,analytics:1,cors:1,lifecycle:1,delete:1,inventory:1,location:1,logging:1,metrics:1,notification:1,partNumber:1,policy:1,requestPayment:1,replication:1,restore:1,tagging:1,torrent:1,uploadId:1,uploads:1,versionId:1,versioning:1,versions:1,website:1},responseHeaders:{"response-content-type":1,"response-content-language":1,"response-expires":1,"response-cache-control":1,"response-content-disposition":1,"response-content-encoding":1},addAuthorization:function(e,t){this.request.headers["presigned-expires"]||(this.request.headers["X-Amz-Date"]=a.util.date.rfc822(t)),e.sessionToken&&(this.request.headers["x-amz-security-token"]=e.sessionToken);var r=this.sign(e.secretAccessKey,this.stringToSign()),s="AWS "+e.accessKeyId+":"+r;this.request.headers.Authorization=s},stringToSign:function(){var e=this.request,t=[];t.push(e.method),t.push(e.headers["Content-MD5"]||""),t.push(e.headers["Content-Type"]||""),t.push(e.headers["presigned-expires"]||"");var r=this.canonicalizedAmzHeaders();return r&&t.push(r),t.push(this.canonicalizedResource()),t.join("\n")},canonicalizedAmzHeaders:function(){var e=[];a.util.each(this.request.headers,function(t){t.match(/^x-amz-/i)&&e.push(t)}),e.sort(function(e,t){return e.toLowerCase()