diff --git a/.changes/2.1348.0.json b/.changes/2.1348.0.json new file mode 100644 index 0000000000..80bad7004e --- /dev/null +++ b/.changes/2.1348.0.json @@ -0,0 +1,17 @@ +[ + { + "type": "feature", + "category": "InternetMonitor", + "description": "This release adds a new feature for Amazon CloudWatch Internet Monitor that enables customers to deliver internet measurements to Amazon S3 buckets as well as CloudWatch Logs." + }, + { + "type": "feature", + "category": "SMS", + "description": "Deprecating AWS Server Migration Service." + }, + { + "type": "feature", + "category": "SageMakerFeatureStoreRuntime", + "description": "In this release, you can now chose between soft delete and hard delete when calling the DeleteRecord API, so you have more flexibility when it comes to managing online store data." + } +] \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 66773d1dfc..ee58c892e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,12 @@ # Changelog for AWS SDK for JavaScript - + +## 2.1348.0 +* feature: InternetMonitor: This release adds a new feature for Amazon CloudWatch Internet Monitor that enables customers to deliver internet measurements to Amazon S3 buckets as well as CloudWatch Logs. +* feature: SMS: Deprecating AWS Server Migration Service. +* feature: SageMakerFeatureStoreRuntime: In this release, you can now chose between soft delete and hard delete when calling the DeleteRecord API, so you have more flexibility when it comes to managing online store data. + ## 2.1347.0 * feature: Athena: Make DefaultExecutorDpuSize and CoordinatorDpuSize fields optional in StartSession * feature: AutoScaling: Amazon EC2 Auto Scaling now supports Elastic Load Balancing traffic sources with the AttachTrafficSources, DetachTrafficSources, and DescribeTrafficSources APIs. This release also introduces a new activity status, "WaitingForConnectionDraining", for VPC Lattice to the DescribeScalingActivities API. diff --git a/README.md b/README.md index fd9c252911..b1de1ec751 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ require('aws-sdk/lib/maintenance_mode_message').suppress = true; 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/ec2-2016-11-15.normal.json b/apis/ec2-2016-11-15.normal.json index e60f0958ab..830e51c1ec 100644 --- a/apis/ec2-2016-11-15.normal.json +++ b/apis/ec2-2016-11-15.normal.json @@ -31916,7 +31916,7 @@ "members": { "CapacityReservationId": { "shape": "CapacityReservationId", - "documentation": "

The ID of the Capacity Reservation.

" + "documentation": "

The ID of the Capacity Reservation. If you specify a Capacity Reservation that is shared with you, the operation returns only Capacity Reservation groups that you own.

" }, "NextToken": { "shape": "String", @@ -35367,7 +35367,7 @@ }, "ElasticInferenceAcceleratorAssociations": { "shape": "ElasticInferenceAcceleratorAssociationList", - "documentation": "

The elastic inference accelerator associated with the instance.

", + "documentation": "

The elastic inference accelerator associated with the instance.

", "locationName": "elasticInferenceAcceleratorAssociationSet" }, "NetworkInterfaces": { @@ -51910,7 +51910,7 @@ }, "ElasticInferenceAccelerators": { "shape": "ElasticInferenceAccelerators", - "documentation": "

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

", + "documentation": "

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

", "locationName": "ElasticInferenceAccelerator" }, "TagSpecifications": { diff --git a/apis/internetmonitor-2021-06-03.min.json b/apis/internetmonitor-2021-06-03.min.json index a7c98f5844..1ffd4c1734 100644 --- a/apis/internetmonitor-2021-06-03.min.json +++ b/apis/internetmonitor-2021-06-03.min.json @@ -36,6 +36,9 @@ }, "MaxCityNetworksToMonitor": { "type": "integer" + }, + "InternetMeasurementsLogDelivery": { + "shape": "Sa" } } }, @@ -114,19 +117,19 @@ "EventArn": {}, "EventId": {}, "StartedAt": { - "shape": "Si" + "shape": "Sm" }, "EndedAt": { - "shape": "Si" + "shape": "Sm" }, "CreatedAt": { - "shape": "Si" + "shape": "Sm" }, "LastUpdatedAt": { - "shape": "Si" + "shape": "Sm" }, "ImpactedLocations": { - "shape": "Sj" + "shape": "Sn" }, "Status": {}, "PercentOfTotalTrafficImpacted": { @@ -173,10 +176,10 @@ }, "Status": {}, "CreatedAt": { - "shape": "Si" + "shape": "Sm" }, "ModifiedAt": { - "shape": "Si" + "shape": "Sm" }, "ProcessingStatus": {}, "ProcessingStatusInfo": {}, @@ -185,6 +188,9 @@ }, "MaxCityNetworksToMonitor": { "type": "integer" + }, + "InternetMeasurementsLogDelivery": { + "shape": "Sa" } } } @@ -206,12 +212,12 @@ "locationName": "MonitorName" }, "StartTime": { - "shape": "Si", + "shape": "Sm", "location": "querystring", "locationName": "StartTime" }, "EndTime": { - "shape": "Si", + "shape": "Sm", "location": "querystring", "locationName": "EndTime" }, @@ -253,19 +259,19 @@ "EventArn": {}, "EventId": {}, "StartedAt": { - "shape": "Si" + "shape": "Sm" }, "EndedAt": { - "shape": "Si" + "shape": "Sm" }, "CreatedAt": { - "shape": "Si" + "shape": "Sm" }, "LastUpdatedAt": { - "shape": "Si" + "shape": "Sm" }, "ImpactedLocations": { - "shape": "Sj" + "shape": "Sn" }, "Status": {}, "PercentOfTotalTrafficImpacted": { @@ -443,6 +449,9 @@ }, "MaxCityNetworksToMonitor": { "type": "integer" + }, + "InternetMeasurementsLogDelivery": { + "shape": "Sa" } } }, @@ -470,11 +479,24 @@ "key": {}, "value": {} }, - "Si": { + "Sa": { + "type": "structure", + "members": { + "S3Config": { + "type": "structure", + "members": { + "BucketName": {}, + "BucketPrefix": {}, + "LogDeliveryStatus": {} + } + } + } + }, + "Sm": { "type": "timestamp", "timestampFormat": "iso8601" }, - "Sj": { + "Sn": { "type": "list", "member": { "type": "structure", @@ -512,10 +534,10 @@ ], "members": { "Networks": { - "shape": "Sp" + "shape": "St" }, "AsPath": { - "shape": "Sp" + "shape": "St" }, "NetworkEventType": {} } @@ -570,7 +592,7 @@ } } }, - "Sp": { + "St": { "type": "list", "member": { "type": "structure", diff --git a/apis/internetmonitor-2021-06-03.normal.json b/apis/internetmonitor-2021-06-03.normal.json index f773dbe284..86cf335c6a 100644 --- a/apis/internetmonitor-2021-06-03.normal.json +++ b/apis/internetmonitor-2021-06-03.normal.json @@ -45,7 +45,7 @@ "shape": "ValidationException" } ], - "documentation": "

Creates a monitor in Amazon CloudWatch Internet Monitor. A monitor is built based on information from the application resources that you add: Virtual Private Clouds (VPCs), Amazon CloudFront distributions, and WorkSpaces directories.

After you create a monitor, you can view the internet performance for your application, scoped to a location, as well as any health events that are impairing traffic. Internet Monitor can also diagnose whether the impairment is on the Amazon Web Services network or is an issue with an internet service provider (ISP).

", + "documentation": "

Creates a monitor in Amazon CloudWatch Internet Monitor. A monitor is built based on information from the application resources that you add: Amazon Virtual Private Clouds (VPCs), Amazon CloudFront distributions, and WorkSpaces directories. Internet Monitor then publishes internet measurements from Amazon Web Services that are specific to the city-networks, that is, the locations and ASNs (typically internet service providers or ISPs), where clients access your application. For more information, see Using Amazon CloudWatch Internet Monitor in the Amazon CloudWatch User Guide.

When you create a monitor, you set a maximum limit for the number of city-networks where client traffic is monitored. The city-network maximum that you choose is the limit, but you only pay for the number of city-networks that are actually monitored. You can change the maximum at any time by updating your monitor. For more information, see Choosing a city-network maximum value in the Amazon CloudWatch User Guide.

", "idempotent": true }, "DeleteMonitor": { @@ -325,7 +325,7 @@ "shape": "ValidationException" } ], - "documentation": "

Updates a monitor. You can update a monitor to add or remove resources, or to change the status of the monitor. You can't change the name of a monitor.

", + "documentation": "

Updates a monitor. You can update a monitor to change the maximum number of city-networks (locations and ASNs or internet service providers), to add or remove resources, or to change the status of the monitor. Note that you can't change the name of a monitor.

The city-network maximum that you choose is the limit, but you only pay for the number of city-networks that are actually monitored. For more information, see Choosing a city-network maximum value in the Amazon CloudWatch User Guide.

", "idempotent": true } }, @@ -341,18 +341,18 @@ "members": { "ExperienceScore": { "shape": "Double", - "documentation": "

Experience scores, or health scores are calculated for different geographic and network provider combinations (that is, different granularities) and also summed into global scores. If you view performance or availability scores without filtering for any specific geography or service provider, Amazon CloudWatch Internet Monitor provides global health scores.

The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide includes detailed information about how Internet Monitor calculates health scores, including performance and availability scores, and when it creates and resolves health events. For more information, see How Amazon Web Services calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" + "documentation": "

Experience scores, or health scores are calculated for different geographic and network provider combinations (that is, different granularities) and also summed into global scores. If you view performance or availability scores without filtering for any specific geography or service provider, Amazon CloudWatch Internet Monitor provides global health scores.

The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide includes detailed information about how Internet Monitor calculates health scores, including performance and availability scores, and when it creates and resolves health events. For more information, see How Amazon Web Services calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" }, "PercentOfTotalTrafficImpacted": { "shape": "Double", - "documentation": "

The percentage of impact caused by a health event for total traffic globally.

For information about how Internet Monitor calculates impact, see Inside Internet Monitor in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

" + "documentation": "

The percentage of impact caused by a health event for total traffic globally.

For information about how Internet Monitor calculates impact, see Inside Internet Monitor in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

" }, "PercentOfClientLocationImpacted": { "shape": "Double", - "documentation": "

The percentage of impact caused by a health event for client location traffic globally.

For information about how Internet Monitor calculates impact, see Inside Internet Monitor in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

" + "documentation": "

The percentage of impact caused by a health event for client location traffic globally.

For information about how Internet Monitor calculates impact, see Inside Internet Monitor in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

" } }, - "documentation": "

Measurements about the availability for your application on the internet, calculated by Amazon CloudWatch Internet Monitor. Amazon Web Services has substantial historical data about internet performance and availability between Amazon Web Services services and different network providers and geographies. By applying statistical analysis to the data, Internet Monitor can detect when the performance and availability for your application has dropped, compared to an estimated baseline that's already calculated. To make it easier to see those drops, we report that information to you in the form of health scores: a performance score and an availability score.

Availability in Internet Monitor represents the estimated percentage of traffic that is not seeing an availability drop. For example, an availability score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing an availability drop for that pair.

For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

" + "documentation": "

Measurements about the availability for your application on the internet, calculated by Amazon CloudWatch Internet Monitor. Amazon Web Services has substantial historical data about internet performance and availability between Amazon Web Services services and different network providers and geographies. By applying statistical analysis to the data, Internet Monitor can detect when the performance and availability for your application has dropped, compared to an estimated baseline that's already calculated. To make it easier to see those drops, we report that information to you in the form of health scores: a performance score and an availability score.

Availability in Internet Monitor represents the estimated percentage of traffic that is not seeing an availability drop. For example, an availability score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing an availability drop for that pair.

For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

" }, "CreateMonitorInput": { "type": "structure", @@ -380,7 +380,11 @@ }, "MaxCityNetworksToMonitor": { "shape": "MaxCityNetworksToMonitor", - "documentation": "

The maximum number of city-network combinations (that is, combinations of a city location and network, such as an ISP) to be monitored for your resources.

" + "documentation": "

The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network or ASN, such as an internet service provider (ISP), that clients access the resources through. This limit helps control billing costs.

To learn more, see Choosing a city-network maximum value in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

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

Publish internet measurements for Internet Monitor to another location, such as an Amazon S3 bucket. The measurements are also published to Amazon CloudWatch Logs.

" } } }, @@ -562,7 +566,11 @@ }, "MaxCityNetworksToMonitor": { "shape": "MaxCityNetworksToMonitor", - "documentation": "

The maximum number of city-network combinations (that is, combinations of a city location and network, such as an ISP) to be monitored for your resources.

" + "documentation": "

The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network or ASN, such as an internet service provider (ISP), that clients access the resources through. This limit helps control billing costs.

To learn more, see Choosing a city-network maximum value in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

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

Publish internet measurements for Internet Monitor to another location, such as an Amazon S3 bucket. The measurements are also published to Amazon CloudWatch Logs.

" } } }, @@ -726,15 +734,25 @@ "members": { "Availability": { "shape": "AvailabilityMeasurement", - "documentation": "

Availability in Internet Monitor represents the estimated percentage of traffic that is not seeing an availability drop. For example, an availability score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing an availability drop for that pair.

For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

" + "documentation": "

Availability in Internet Monitor represents the estimated percentage of traffic that is not seeing an availability drop. For example, an availability score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing an availability drop for that pair.

For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" }, "Performance": { "shape": "PerformanceMeasurement", - "documentation": "

Performance in Internet Monitor represents the estimated percentage of traffic that is not seeing a performance drop. For example, a performance score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing a performance drop for that pair.

For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

" + "documentation": "

Performance in Internet Monitor represents the estimated percentage of traffic that is not seeing a performance drop. For example, a performance score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing a performance drop for that pair.

For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" } }, "documentation": "

Internet health includes measurements calculated by Amazon CloudWatch Internet Monitor about the performance and availability for your application on the internet. Amazon Web Services has substantial historical data about internet performance and availability between Amazon Web Services services and different network providers and geographies. By applying statistical analysis to the data, Internet Monitor can detect when the performance and availability for your application has dropped, compared to an estimated baseline that's already calculated. To make it easier to see those drops, we report that information to you in the form of health scores: a performance score and an availability score.

" }, + "InternetMeasurementsLogDelivery": { + "type": "structure", + "members": { + "S3Config": { + "shape": "S3Config", + "documentation": "

The configuration information for publishing Internet Monitor internet measurements to Amazon S3. The configuration includes the bucket name and (optionally) prefix for the S3 bucket to store the measurements, and the delivery status. The delivery status is ENABLED or DISABLED, depending on whether you choose to deliver internet measurements to S3 logs.

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

Configuration information for other locations that you choose to publish Amazon CloudWatch Internet Monitor internet measurements to, such as Amazon S3. The measurements are also published to Amazon CloudWatch Logs.

" + }, "ListHealthEventsInput": { "type": "structure", "required": [ @@ -857,6 +875,13 @@ } } }, + "LogDeliveryStatus": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, "Long": { "type": "long", "box": true @@ -982,22 +1007,22 @@ "members": { "ExperienceScore": { "shape": "Double", - "documentation": "

Experience scores, or health scores, are calculated for different geographic and network provider combinations (that is, different granularities) and also totaled into global scores. If you view performance or availability scores without filtering for any specific geography or service provider, Amazon CloudWatch Internet Monitor provides global health scores.

The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide includes detailed information about how Internet Monitor calculates health scores, including performance and availability scores, and when it creates and resolves health events. For more information, see How Amazon Web Services calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" + "documentation": "

Experience scores, or health scores, are calculated for different geographic and network provider combinations (that is, different granularities) and also totaled into global scores. If you view performance or availability scores without filtering for any specific geography or service provider, Amazon CloudWatch Internet Monitor provides global health scores.

The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide includes detailed information about how Internet Monitor calculates health scores, including performance and availability scores, and when it creates and resolves health events. For more information, see How Amazon Web Services calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" }, "PercentOfTotalTrafficImpacted": { "shape": "Double", - "documentation": "

How much performance impact was caused by a health event for total traffic globally. For performance, this is the percentage of how much latency increased during the event compared to typical performance for your application traffic globally.

For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" + "documentation": "

How much performance impact was caused by a health event for total traffic globally. For performance, this is the percentage of how much latency increased during the event compared to typical performance for your application traffic globally.

For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" }, "PercentOfClientLocationImpacted": { "shape": "Double", - "documentation": "

How much performance impact was caused by a health event at a client location. For performance, this is the percentage of how much latency increased during the event compared to typical performance for traffic, from this client location to an Amazon Web Services location, using a specific client network.

For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" + "documentation": "

How much performance impact was caused by a health event at a client location. For performance, this is the percentage of how much latency increased during the event compared to typical performance for traffic, from this client location to an Amazon Web Services location, using a specific client network.

For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" }, "RoundTripTime": { "shape": "RoundTripTime", - "documentation": "

This is the percentage of how much round-trip time increased during the event compared to typical round-trip time for your application for traffic.

For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" + "documentation": "

This is the percentage of how much round-trip time increased during the event compared to typical round-trip time for your application for traffic.

For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" } }, - "documentation": "

Measurements about the performance for your application on the internet calculated by Amazon CloudWatch Internet Monitor. Amazon Web Services has substantial historical data about internet performance and availability between Amazon Web Services services and different network providers and geographies. By applying statistical analysis to the data, Internet Monitor can detect when the performance and availability for your application has dropped, compared to an estimated baseline that's already calculated. To make it easier to see those drops, we report that information to you in the form of health scores: a performance score and an availability score.

Performance in Internet Monitor represents the estimated percentage of traffic that is not seeing a performance drop. For example, a performance score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing a performance drop for that pair.

For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

" + "documentation": "

Measurements about the performance for your application on the internet calculated by Amazon CloudWatch Internet Monitor. Amazon Web Services has substantial historical data about internet performance and availability between Amazon Web Services services and different network providers and geographies. By applying statistical analysis to the data, Internet Monitor can detect when the performance and availability for your application has dropped, compared to an estimated baseline that's already calculated. To make it easier to see those drops, we report that information to you in the form of health scores: a performance score and an availability score.

Performance in Internet Monitor represents the estimated percentage of traffic that is not seeing a performance drop. For example, a performance score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing a performance drop for that pair.

For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" }, "ResourceName": { "type": "string", @@ -1023,6 +1048,28 @@ }, "documentation": "

Round-trip time (RTT) is how long it takes for a request from the user to return a response to the user. Amazon CloudWatch Internet Monitor calculates RTT at different percentiles: p50, p90, and p95.

" }, + "S3Config": { + "type": "structure", + "members": { + "BucketName": { + "shape": "S3ConfigBucketNameString", + "documentation": "

The Amazon S3 bucket name.

" + }, + "BucketPrefix": { + "shape": "String", + "documentation": "

The Amazon S3 bucket prefix.

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

The status of publishing Internet Monitor internet measurements to an Amazon S3 bucket.

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

The configuration for publishing Amazon CloudWatch Internet Monitor internet measurements to Amazon S3. The configuration includes the bucket name and (optionally) prefix for the S3 bucket to store the measurements, and the delivery status. The delivery status is ENABLED or DISABLED, depending on whether you choose to deliver internet measurements to S3 logs.

" + }, + "S3ConfigBucketNameString": { + "type": "string", + "min": 3 + }, "SetOfARNs": { "type": "list", "member": { @@ -1151,7 +1198,11 @@ }, "MaxCityNetworksToMonitor": { "shape": "MaxCityNetworksToMonitor", - "documentation": "

The maximum number of city-network combinations (that is, combinations of a city location and network, such as an ISP) to be monitored for your resources.

" + "documentation": "

The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network or ASN, such as an internet service provider, that clients access the resources through.

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

Publish internet measurements for Internet Monitor to another location, such as an Amazon S3 bucket. The measurements are also published to Amazon CloudWatch Logs.

" } } }, @@ -1173,5 +1224,5 @@ } } }, - "documentation": "

Amazon CloudWatch Internet Monitor provides visibility into how internet issues impact the performance and availability between your applications hosted on Amazon Web Services and your end users, reducing the time it takes for you to diagnose these issues, from days to minutes. You can explore internet measurements for different time frames and at different geographic granularities, and quickly visualize the impact of issues, and then take action to improve your end users' experience, for example, by switching to other Amazon Web Services services or rerouting traffic to your workload through differentAmazon Web Services Regions.

If the issue is caused by the Amazon Web Services network, you'll automatically receive an Amazon Web Services Health Dashboard notification with the steps that Amazon Web Services is taking to mitigate the problem. To support integrating health information for geographies and networks specific to your application, Internet Monitor delivers measurements to CloudWatch Logs and CloudWatch Metrics. Internet Monitor also sends health events to Amazon EventBridge, so you can set up notifications. Internet Monitor monitors internet connectivity for your application through Amazon Virtual Private Clouds (VPCs), Amazon CloudFront distributions, and Amazon WorkSpaces directories.

To use Internet Monitor, you create a monitor and add resources to it, Virtual Private Clouds (VPCs), Amazon CloudFront distributions, or WorkSpaces directories that show where your application's internet traffic is. Internet Monitor then provides internet measurements from Amazon Web Services that are specific to the locations and networks that communicate with your application. For more information, see Using Amazon CloudWatch Internet Monitor in the Amazon CloudWatch User Guide.

" + "documentation": "

Amazon CloudWatch Internet Monitor provides visibility into how internet issues impact the performance and availability between your applications hosted on Amazon Web Services and your end users. It reduces the time it takes for you to diagnose internet issues from days to minutes. Internet Monitor uses the connectivity data that Amazon Web Services captures from its global networking footprint to calculate a baseline of performance and availability for internet traffic. This is the same data that Amazon Web Services uses to monitor internet uptime and availability. With those measurements as a baseline, Internet Monitor raises awareness for you when there are significant problems for your end users in the different geographic locations where your application runs.

Internet Monitor publishes internet measurements to CloudWatch Logs and CloudWatch Metrics, to easily support using CloudWatch tools with health information for geographies and networks specific to your application. Internet Monitor sends health events to Amazon EventBridge so that you can set up notifications. If an issue is caused by the Amazon Web Services network, you also automatically receive an Amazon Web Services Health Dashboard notification with the steps that Amazon Web Services is taking to mitigate the problem.

To use Internet Monitor, you create a monitor and associate your application's resources with it, VPCs, CloudFront distributions, or WorkSpaces directories, to enable Internet Monitor to know where your application's internet traffic is. Internet Monitor then provides internet measurements from Amazon Web Services that are specific to the locations and networks that communicate with your application.

For more information, see Using Amazon CloudWatch Internet Monitor in the Amazon CloudWatch User Guide.

" } \ No newline at end of file diff --git a/apis/resiliencehub-2020-04-30.normal.json b/apis/resiliencehub-2020-04-30.normal.json index 493ff85da7..79b07e31ee 100644 --- a/apis/resiliencehub-2020-04-30.normal.json +++ b/apis/resiliencehub-2020-04-30.normal.json @@ -83,7 +83,7 @@ "shape": "AccessDeniedException" } ], - "documentation": "

Creates an Resilience Hub application. An Resilience Hub application is a collection of Amazon Web Services resources structured to prevent and recover Amazon Web Services application disruptions. To describe a Resilience Hub application, you provide an application name, resources from one or more–up to five–CloudFormation stacks, and an appropriate resiliency policy.

After you create an Resilience Hub application, you publish it so that you can run a resiliency assessment on it. You can then use recommendations from the assessment to improve resiliency by running another assessment, comparing results, and then iterating the process until you achieve your goals for recovery time objective (RTO) and recovery point objective (RPO).

" + "documentation": "

Creates an Resilience Hub application. An Resilience Hub application is a collection of Amazon Web Services resources structured to prevent and recover Amazon Web Services application disruptions. To describe a Resilience Hub application, you provide an application name, resources from one or more–up to 20–CloudFormation stacks, and an appropriate resiliency policy.

After you create an Resilience Hub application, you publish it so that you can run a resiliency assessment on it. You can then use recommendations from the assessment to improve resiliency by running another assessment, comparing results, and then iterating the process until you achieve your goals for recovery time objective (RTO) and recovery point objective (RPO).

" }, "CreateAppVersionAppComponent": { "name": "CreateAppVersionAppComponent", @@ -1783,7 +1783,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "resourceMappings": { "shape": "ResourceMappingList", @@ -1801,7 +1801,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -1908,7 +1908,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "assessmentSchedule": { "shape": "AppAssessmentScheduleType", @@ -1967,7 +1967,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -2048,7 +2048,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -2121,7 +2121,7 @@ "members": { "additionalInfo": { "shape": "AdditionalInfoMap", - "documentation": "

Additional configuration parameters for an AWS Resilience Hub application.

Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

Key: \"failover-regions\"

Value: \"[{\"region\":\"<REGION>\", \"accounts\":[{\"id\":\"<ACCOUNT_ID>\"}]}]\"

" + "documentation": "

Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters.

Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

Key: \"failover-regions\"

Value: \"[{\"region\":\"<REGION>\", \"accounts\":[{\"id\":\"<ACCOUNT_ID>\"}]}]\"

" }, "id": { "shape": "String255", @@ -2236,7 +2236,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "assessmentSchedule": { "shape": "AppAssessmentScheduleType", @@ -2558,7 +2558,7 @@ }, "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "clientToken": { "shape": "ClientToken", @@ -2588,7 +2588,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appComponent": { "shape": "AppComponent", @@ -2596,7 +2596,7 @@ }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" } } }, @@ -2617,11 +2617,11 @@ }, "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appComponents": { "shape": "AppComponentNameList", - "documentation": "

The list of Application Components that this resource belongs to. If an Application Component is not part of the AWS Resilience Hub application, it will be added.

" + "documentation": "

The list of Application Components that this resource belongs to. If an Application Component is not part of the Resilience Hub application, it will be added.

" }, "awsAccountId": { "shape": "CustomerId", @@ -2663,11 +2663,11 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" }, "physicalResource": { "shape": "PhysicalResource", @@ -2836,7 +2836,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "clientToken": { "shape": "ClientToken", @@ -2862,7 +2862,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appInputSource": { "shape": "AppInputSource", @@ -2878,7 +2878,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "clientToken": { "shape": "ClientToken", @@ -2899,7 +2899,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" } } }, @@ -2912,7 +2912,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "clientToken": { "shape": "ClientToken", @@ -2934,7 +2934,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appComponent": { "shape": "AppComponent", @@ -2942,7 +2942,7 @@ }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" } } }, @@ -2954,7 +2954,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "awsAccountId": { "shape": "CustomerId", @@ -2992,11 +2992,11 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" }, "physicalResource": { "shape": "PhysicalResource", @@ -3099,7 +3099,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" } } }, @@ -3125,11 +3125,11 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" }, "id": { "shape": "String255", @@ -3146,7 +3146,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appComponent": { "shape": "AppComponent", @@ -3154,7 +3154,7 @@ }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" } } }, @@ -3167,11 +3167,11 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" } } }, @@ -3184,11 +3184,11 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" }, "awsAccountId": { "shape": "CustomerId", @@ -3221,11 +3221,11 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" }, "physicalResource": { "shape": "PhysicalResource", @@ -3242,7 +3242,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -3265,7 +3265,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -3294,15 +3294,15 @@ "members": { "additionalInfo": { "shape": "AdditionalInfoMap", - "documentation": "

Additional configuration parameters for an AWS Resilience Hub application.

Currently, this parameter supports only failover region and account.

" + "documentation": "

Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters.

Currently, this parameter supports only failover region and account.

" }, "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" } } }, @@ -3315,7 +3315,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -3333,11 +3333,11 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appTemplateBody": { "shape": "AppTemplateBody", - "documentation": "

A JSON string that provides information about your application structure. To learn more about the appTemplateBody template, see the sample template provided in the Examples section.

The appTemplateBody JSON string has the following structure:

" + "documentation": "

A JSON string that provides information about your application structure. To learn more about the appTemplateBody template, see the sample template provided in the Examples section.

The appTemplateBody JSON string has the following structure:

" }, "appVersion": { "shape": "EntityVersion", @@ -3353,7 +3353,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" } } }, @@ -3368,7 +3368,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -3623,7 +3623,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "eksSources": { "shape": "EksSourceList", @@ -3653,7 +3653,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -3721,7 +3721,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", "location": "querystring", "locationName": "appArn" }, @@ -3866,11 +3866,11 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" }, "maxResults": { "shape": "MaxResults", @@ -3907,7 +3907,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -3915,7 +3915,7 @@ }, "maxResults": { "shape": "MaxResults", - "documentation": "

Maximum number of Application Components to be displayed per AWS Resilience Hub application version.

" + "documentation": "

Maximum number of Application Components to be displayed per Resilience Hub application version.

" }, "nextToken": { "shape": "NextToken", @@ -3932,7 +3932,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appComponents": { "shape": "AppComponentList", @@ -3940,7 +3940,7 @@ }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" }, "nextToken": { "shape": "NextToken", @@ -3957,7 +3957,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -3998,7 +3998,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -4047,7 +4047,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "maxResults": { "shape": "MaxResults", @@ -4080,7 +4080,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", "location": "querystring", "locationName": "appArn" }, @@ -4359,7 +4359,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -4456,7 +4456,7 @@ "members": { "additionalInfo": { "shape": "AdditionalInfoMap", - "documentation": "

Additional configuration parameters for an AWS Resilience Hub application.

Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

Key: \"failover-regions\"

Value: \"[{\"region\":\"<REGION>\", \"accounts\":[{\"id\":\"<ACCOUNT_ID>\"}]}]\"

" + "documentation": "

Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters.

Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

Key: \"failover-regions\"

Value: \"[{\"region\":\"<REGION>\", \"accounts\":[{\"id\":\"<ACCOUNT_ID>\"}]}]\"

" }, "appComponents": { "shape": "AppComponentList", @@ -4525,7 +4525,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" } } }, @@ -4537,7 +4537,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -4554,11 +4554,11 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appTemplateBody": { "shape": "AppTemplateBody", - "documentation": "

A JSON string that provides information about your application structure. To learn more about the appTemplateBody template, see the sample template provided in the Examples section.

The appTemplateBody JSON string has the following structure:

" + "documentation": "

A JSON string that provides information about your application structure. To learn more about the appTemplateBody template, see the sample template provided in the Examples section.

The appTemplateBody JSON string has the following structure:

" } } }, @@ -4567,7 +4567,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -4670,7 +4670,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "assessmentArn": { "shape": "Arn", @@ -4758,7 +4758,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appRegistryAppNames": { "shape": "EntityNameList", @@ -4791,7 +4791,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -4900,7 +4900,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -4919,7 +4919,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -5010,7 +5010,7 @@ }, "mappingType": { "shape": "ResourceMappingType", - "documentation": "

Specifies the type of resource mapping.

AppRegistryApp

The resource is mapped to another application. The name of the application is contained in the appRegistryAppName property.

CfnStack

The resource is mapped to a CloudFormation stack. The name of the CloudFormation stack is contained in the logicalStackName property.

Resource

The resource is mapped to another resource. The name of the resource is contained in the resourceName property.

ResourceGroup

The resource is mapped to an Resource Groups. The name of the resource group is contained in the resourceGroupName property.

" + "documentation": "

Specifies the type of resource mapping.

AppRegistryApp

The resource is mapped to another application. The name of the application is contained in the appRegistryAppName property.

CfnStack

The resource is mapped to a CloudFormation stack. The name of the CloudFormation stack is contained in the logicalStackName property.

Resource

The resource is mapped to another resource. The name of the resource is contained in the resourceName property.

ResourceGroup

The resource is mapped to Resource Groups. The name of the resource group is contained in the resourceGroupName property.

" }, "physicalResourceId": { "shape": "PhysicalResourceId", @@ -5151,7 +5151,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", @@ -5403,7 +5403,7 @@ }, "unsupportedResourceStatus": { "shape": "String255", - "documentation": "

The status of unsupported resource.

" + "documentation": "

The status of the unsupported resource.

" } }, "documentation": "

Defines a resource that is not supported by Resilience Hub.

" @@ -5447,7 +5447,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "assessmentSchedule": { "shape": "AppAssessmentScheduleType", @@ -5492,7 +5492,7 @@ }, "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "id": { "shape": "String255", @@ -5517,7 +5517,7 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appComponent": { "shape": "AppComponent", @@ -5525,7 +5525,7 @@ }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" } } }, @@ -5537,11 +5537,11 @@ "members": { "additionalInfo": { "shape": "AdditionalInfoMap", - "documentation": "

Additional configuration parameters for an AWS Resilience Hub application.

Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

Key: \"failover-regions\"

Value: \"[{\"region\":\"<REGION>\", \"accounts\":[{\"id\":\"<ACCOUNT_ID>\"}]}]\"

" + "documentation": "

Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters.

Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

Key: \"failover-regions\"

Value: \"[{\"region\":\"<REGION>\", \"accounts\":[{\"id\":\"<ACCOUNT_ID>\"}]}]\"

" }, "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" } } }, @@ -5557,11 +5557,11 @@ }, "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appComponents": { "shape": "AppComponentNameList", - "documentation": "

The list of Application Components that this resource belongs to. If an Application Component is not part of the AWS Resilience Hub application, it will be added.

" + "documentation": "

The list of Application Components that this resource belongs to. If an Application Component is not part of the Resilience Hub application, it will be added.

" }, "awsAccountId": { "shape": "CustomerId", @@ -5602,11 +5602,11 @@ "members": { "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" }, "physicalResource": { "shape": "PhysicalResource", @@ -5623,15 +5623,15 @@ "members": { "additionalInfo": { "shape": "AdditionalInfoMap", - "documentation": "

Additional configuration parameters for an AWS Resilience Hub application.

Currently, this parameter supports only failover region and account.

" + "documentation": "

Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters.

Currently, this parameter supports only failover region and account.

" }, "appArn": { "shape": "Arn", - "documentation": "

The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "documentation": "

The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" }, "appVersion": { "shape": "EntityVersion", - "documentation": "

The AWS Resilience Hub application version.

" + "documentation": "

The Resilience Hub application version.

" } } }, diff --git a/apis/s3-2006-03-01.examples.json b/apis/s3-2006-03-01.examples.json index d1c8023590..ad2f8f2bb1 100644 --- a/apis/s3-2006-03-01.examples.json +++ b/apis/s3-2006-03-01.examples.json @@ -292,10 +292,11 @@ { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "HappyFace.jpg", + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "output": { - "VersionId": "null" + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "comments": { "input": { @@ -303,18 +304,17 @@ "output": { } }, - "description": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", - "id": "to-remove-tag-set-from-an-object-1483145342862", - "title": "To remove tag set from an object" + "description": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", + "id": "to-remove-tag-set-from-an-object-version-1483145285913", + "title": "To remove tag set from an object version" }, { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "Key": "HappyFace.jpg" }, "output": { - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "VersionId": "null" }, "comments": { "input": { @@ -322,9 +322,9 @@ "output": { } }, - "description": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", - "id": "to-remove-tag-set-from-an-object-version-1483145285913", - "title": "To remove tag set from an object version" + "description": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", + "id": "to-remove-tag-set-from-an-object-1483145342862", + "title": "To remove tag set from an object" } ], "DeleteObjects": [ @@ -728,18 +728,17 @@ { "input": { "Bucket": "examplebucket", - "Key": "SampleFile.txt", - "Range": "bytes=0-9" + "Key": "HappyFace.jpg" }, "output": { "AcceptRanges": "bytes", - "ContentLength": "10", - "ContentRange": "bytes 0-9/43", - "ContentType": "text/plain", - "ETag": "\"0d94420ffd0bc68cd3d152506b97a9cc\"", - "LastModified": "Thu, 09 Oct 2014 22:57:28 GMT", + "ContentLength": "3191", + "ContentType": "image/jpeg", + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "LastModified": "Thu, 15 Dec 2016 01:19:41 GMT", "Metadata": { }, + "TagCount": 2, "VersionId": "null" }, "comments": { @@ -748,24 +747,25 @@ "output": { } }, - "description": "The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a specific byte range.", - "id": "to-retrieve-a-byte-range-of-an-object--1481832674603", - "title": "To retrieve a byte range of an object " + "description": "The following example retrieves an object for an S3 bucket.", + "id": "to-retrieve-an-object-1481827837012", + "title": "To retrieve an object" }, { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "SampleFile.txt", + "Range": "bytes=0-9" }, "output": { "AcceptRanges": "bytes", - "ContentLength": "3191", - "ContentType": "image/jpeg", - "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "LastModified": "Thu, 15 Dec 2016 01:19:41 GMT", + "ContentLength": "10", + "ContentRange": "bytes 0-9/43", + "ContentType": "text/plain", + "ETag": "\"0d94420ffd0bc68cd3d152506b97a9cc\"", + "LastModified": "Thu, 09 Oct 2014 22:57:28 GMT", "Metadata": { }, - "TagCount": 2, "VersionId": "null" }, "comments": { @@ -774,9 +774,9 @@ "output": { } }, - "description": "The following example retrieves an object for an S3 bucket.", - "id": "to-retrieve-an-object-1481827837012", - "title": "To retrieve an object" + "description": "The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a specific byte range.", + "id": "to-retrieve-a-byte-range-of-an-object--1481832674603", + "title": "To retrieve a byte range of an object " } ], "GetObjectAcl": [ @@ -958,15 +958,15 @@ "output": { "Buckets": [ { - "CreationDate": "2012-02-15T21: 03: 02.000Z", + "CreationDate": "2012-02-15T21:03:02.000Z", "Name": "examplebucket" }, { - "CreationDate": "2011-07-24T19: 33: 50.000Z", + "CreationDate": "2011-07-24T19:33:50.000Z", "Name": "examplebucket2" }, { - "CreationDate": "2010-12-17T00: 56: 49.000Z", + "CreationDate": "2010-12-17T00:56:49.000Z", "Name": "examplebucket3" } ], @@ -981,9 +981,9 @@ "output": { } }, - "description": "The following example return versions of an object with specific key name prefix. The request limits the number of items returned to two. If there are are more than two object version, S3 returns NextToken in the response. You can specify this token value in your next request to fetch next set of object versions.", - "id": "to-list-object-versions-1481910996058", - "title": "To list object versions" + "description": "The following example returns all the buckets owned by the sender of this request.", + "id": "to-list-buckets-1481910996058", + "title": "To list all buckets" } ], "ListMultipartUploads": [ @@ -1184,7 +1184,7 @@ "ListObjectsV2": [ { "input": { - "Bucket": "examplebucket", + "Bucket": "DOC-EXAMPLE-BUCKET", "MaxKeys": "2" }, "output": { @@ -1207,7 +1207,7 @@ "IsTruncated": true, "KeyCount": "2", "MaxKeys": "2", - "Name": "examplebucket", + "Name": "DOC-EXAMPLE-BUCKET", "NextContinuationToken": "1w41l63U0xa8q7smH50vCxyTQqdxo69O3EmK28Bi5PcROI4wI/EyIJg==", "Prefix": "" }, @@ -1567,13 +1567,17 @@ "PutObject": [ { "input": { - "Body": "HappyFace.jpg", + "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "exampleobject", + "Metadata": { + "metadata1": "value1", + "metadata2": "value2" + } }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" + "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" }, "comments": { "input": { @@ -1581,23 +1585,20 @@ "output": { } }, - "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", - "id": "to-upload-an-object-1481760101010", - "title": "To upload an object" + "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", + "title": "To upload object and specify user-defined metadata" }, { "input": { - "Body": "filetoupload", + "Body": "c:\\HappyFace.jpg", "Bucket": "examplebucket", - "Key": "exampleobject", - "Metadata": { - "metadata1": "value1", - "metadata2": "value2" - } + "Key": "HappyFace.jpg", + "Tagging": "key1=value1&key2=value2" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" + "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a" }, "comments": { "input": { @@ -1605,22 +1606,20 @@ "output": { } }, - "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", - "title": "To upload object and specify user-defined metadata" + "description": "The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.", + "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", + "title": "To upload an object and specify optional tags" }, { "input": { - "Body": "HappyFace.jpg", + "ACL": "authenticated-read", + "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "ServerSideEncryption": "AES256", - "StorageClass": "STANDARD_IA" + "Key": "exampleobject" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "ServerSideEncryption": "AES256", - "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" + "VersionId": "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr" }, "comments": { "input": { @@ -1628,9 +1627,9 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", - "id": "to-upload-an-object-(specify-optional-headers)", - "title": "To upload an object (specify optional headers)" + "description": "The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-an-object-and-specify-canned-acl-1483397779571", + "title": "To upload an object and specify canned ACL." }, { "input": { @@ -1654,16 +1653,13 @@ }, { "input": { - "Body": "filetoupload", + "Body": "HappyFace.jpg", "Bucket": "examplebucket", - "Key": "exampleobject", - "ServerSideEncryption": "AES256", - "Tagging": "key1=value1&key2=value2" + "Key": "HappyFace.jpg" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "ServerSideEncryption": "AES256", - "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt" + "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" }, "comments": { "input": { @@ -1671,20 +1667,22 @@ "output": { } }, - "description": "The following example uploads and object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831", - "title": "To upload an object and specify server-side encryption and object tags" + "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", + "id": "to-upload-an-object-1481760101010", + "title": "To upload an object" }, { "input": { - "Body": "c:\\HappyFace.jpg", + "Body": "HappyFace.jpg", "Bucket": "examplebucket", "Key": "HappyFace.jpg", - "Tagging": "key1=value1&key2=value2" + "ServerSideEncryption": "AES256", + "StorageClass": "STANDARD_IA" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a" + "ServerSideEncryption": "AES256", + "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" }, "comments": { "input": { @@ -1692,20 +1690,22 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.", - "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", - "title": "To upload an object and specify optional tags" + "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", + "id": "to-upload-an-object-(specify-optional-headers)", + "title": "To upload an object (specify optional headers)" }, { "input": { - "ACL": "authenticated-read", "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "exampleobject" + "Key": "exampleobject", + "ServerSideEncryption": "AES256", + "Tagging": "key1=value1&key2=value2" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr" + "ServerSideEncryption": "AES256", + "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt" }, "comments": { "input": { @@ -1713,9 +1713,9 @@ "output": { } }, - "description": "The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-an-object-and-specify-canned-acl-1483397779571", - "title": "To upload an object and specify canned ACL." + "description": "The following example uploads an object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831", + "title": "To upload an object and specify server-side encryption and object tags" } ], "PutObjectAcl": [ @@ -1826,15 +1826,14 @@ "input": { "Bucket": "examplebucket", "CopySource": "/bucketname/sourceobjectkey", - "CopySourceRange": "bytes=1-100000", "Key": "examplelargeobject", - "PartNumber": "2", + "PartNumber": "1", "UploadId": "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--" }, "output": { "CopyPartResult": { - "ETag": "\"65d16d19e65a7508a51f043180edcc36\"", - "LastModified": "2016-12-29T21:44:28.000Z" + "ETag": "\"b0c6f0e7e054ab8fa2536a2677f8734d\"", + "LastModified": "2016-12-29T21:24:43.000Z" } }, "comments": { @@ -1843,22 +1842,23 @@ "output": { } }, - "description": "The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as data source.", - "id": "to-upload-a-part-by-copying-byte-range-from-an-existing-object-as-data-source-1483048068594", - "title": "To upload a part by copying byte range from an existing object as data source" + "description": "The following example uploads a part of a multipart upload by copying data from an existing object as data source.", + "id": "to-upload-a-part-by-copying-data-from-an-existing-object-as-data-source-1483046746348", + "title": "To upload a part by copying data from an existing object as data source" }, { "input": { "Bucket": "examplebucket", "CopySource": "/bucketname/sourceobjectkey", + "CopySourceRange": "bytes=1-100000", "Key": "examplelargeobject", - "PartNumber": "1", + "PartNumber": "2", "UploadId": "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--" }, "output": { "CopyPartResult": { - "ETag": "\"b0c6f0e7e054ab8fa2536a2677f8734d\"", - "LastModified": "2016-12-29T21:24:43.000Z" + "ETag": "\"65d16d19e65a7508a51f043180edcc36\"", + "LastModified": "2016-12-29T21:44:28.000Z" } }, "comments": { @@ -1867,9 +1867,9 @@ "output": { } }, - "description": "The following example uploads a part of a multipart upload by copying data from an existing object as data source.", - "id": "to-upload-a-part-by-copying-data-from-an-existing-object-as-data-source-1483046746348", - "title": "To upload a part by copying data from an existing object as data source" + "description": "The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as data source.", + "id": "to-upload-a-part-by-copying-byte-range-from-an-existing-object-as-data-source-1483048068594", + "title": "To upload a part by copying byte range from an existing object as data source" } ] } diff --git a/apis/s3-2006-03-01.normal.json b/apis/s3-2006-03-01.normal.json index eb19dc87d8..6a23295f26 100644 --- a/apis/s3-2006-03-01.normal.json +++ b/apis/s3-2006-03-01.normal.json @@ -47,7 +47,7 @@ "shape": "CompleteMultipartUploadOutput" }, "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadComplete.html", - "documentation": "

Completes a multipart upload by assembling previously uploaded parts.

You first initiate the multipart upload and then upload all parts using the UploadPart operation. After successfully uploading all relevant parts of an upload, you call this action to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the Complete Multipart Upload request, you must provide the parts list. You must ensure that the parts list is complete. This action concatenates the parts that you provide in the list. For each part in the list, you must provide the part number and the ETag value, returned after that part was uploaded.

Processing of a Complete Multipart Upload request could take several minutes to complete. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. Because a request could fail after the initial 200 OK response has been sent, it is important that you check the response body to determine whether the request succeeded.

Note that if CompleteMultipartUpload fails, applications should be prepared to retry the failed requests. For more information, see Amazon S3 Error Best Practices.

You cannot use Content-Type: application/x-www-form-urlencoded with Complete Multipart Upload requests. Also, if you do not provide a Content-Type header, CompleteMultipartUpload returns a 200 OK response.

For more information about multipart uploads, see Uploading Objects Using Multipart Upload.

For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions.

CompleteMultipartUpload has the following special errors:

The following operations are related to CompleteMultipartUpload:

" + "documentation": "

Completes a multipart upload by assembling previously uploaded parts.

You first initiate the multipart upload and then upload all parts using the UploadPart operation. After successfully uploading all relevant parts of an upload, you call this action to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the Complete Multipart Upload request, you must provide the parts list. You must ensure that the parts list is complete. This action concatenates the parts that you provide in the list. For each part in the list, you must provide the part number and the ETag value, returned after that part was uploaded.

Processing of a Complete Multipart Upload request could take several minutes to complete. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. A request could fail after the initial 200 OK response has been sent. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error).

Note that if CompleteMultipartUpload fails, applications should be prepared to retry the failed requests. For more information, see Amazon S3 Error Best Practices.

You cannot use Content-Type: application/x-www-form-urlencoded with Complete Multipart Upload requests. Also, if you do not provide a Content-Type header, CompleteMultipartUpload returns a 200 OK response.

For more information about multipart uploads, see Uploading Objects Using Multipart Upload.

For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions.

CompleteMultipartUpload has the following special errors:

The following operations are related to CompleteMultipartUpload:

" }, "CopyObject": { "name": "CopyObject", @@ -67,7 +67,7 @@ } ], "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectCOPY.html", - "documentation": "

Creates a copy of an object that is already stored in Amazon S3.

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API.

All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account.

A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. Design your application to parse the contents of the response and handle it appropriately.

If the copy is successful, you receive a response with information about the copied object.

If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body.

The copy request charge is based on the storage class and Region that you specify for the destination object. For pricing information, see Amazon S3 pricing.

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

Metadata

When copying an object, you can preserve all metadata (default) or specify new metadata. However, the ACL is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs.

To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3.

x-amz-copy-source-if Headers

To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters:

If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code:

All headers with the x-amz- prefix, including x-amz-copy-source, must be signed.

Server-side encryption

When you perform a CopyObject operation, you can optionally use the appropriate encryption-related headers to encrypt the object using server-side encryption with Amazon Web Services managed encryption keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. For more information about server-side encryption, see Using Server-Side Encryption.

If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

Access Control List (ACL)-Specific Request Headers

When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

If the bucket that you're copying objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format.

For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner.

Checksums

When copying an object, if it has a checksum, that checksum will be copied to the new object by default. When you copy the object over, you may optionally specify a different checksum algorithm to use with the x-amz-checksum-algorithm header.

Storage Class Options

You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide.

Versioning

By default, x-amz-copy-source identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource.

If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response.

If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null.

If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject.

The following operations are related to CopyObject:

For more information, see Copying Objects.

", + "documentation": "

Creates a copy of an object that is already stored in Amazon S3.

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API.

All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account.

A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error).

If the copy is successful, you receive a response with information about the copied object.

If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body.

The copy request charge is based on the storage class and Region that you specify for the destination object. For pricing information, see Amazon S3 pricing.

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

Metadata

When copying an object, you can preserve all metadata (default) or specify new metadata. However, the ACL is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs.

To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3.

x-amz-website-redirect-location is unique to each object and must be specified in the request headers to copy the value.

x-amz-copy-source-if Headers

To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters:

If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code:

All headers with the x-amz- prefix, including x-amz-copy-source, must be signed.

Server-side encryption

Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket. When copying an object, if you don't specify encryption information in your copy request, the encryption setting of the target object is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the target object copy. When you perform a CopyObject operation, if you want to use a different type of encryption setting for the target object, you can use other appropriate encryption-related headers to encrypt the target object with a KMS key, an Amazon S3 managed key, or a customer-provided key. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If the source object for the copy is stored in Amazon S3 using SSE-C, you must provide the necessary encryption information in your request so that Amazon S3 can decrypt the object for copying. For more information about server-side encryption, see Using Server-Side Encryption.

If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

Access Control List (ACL)-Specific Request Headers

When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

If the bucket that you're copying objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format.

For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner.

Checksums

When copying an object, if it has a checksum, that checksum will be copied to the new object by default. When you copy the object over, you may optionally specify a different checksum algorithm to use with the x-amz-checksum-algorithm header.

Storage Class Options

You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide.

Versioning

By default, x-amz-copy-source identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource.

If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response.

If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null.

If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject.

The following operations are related to CopyObject:

For more information, see Copying Objects.

", "alias": "PutObjectCopy" }, "CreateBucket": { @@ -112,7 +112,7 @@ "shape": "CreateMultipartUploadOutput" }, "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadInitiate.html", - "documentation": "

This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request.

For more information about multipart uploads, see Multipart Upload Overview.

If you have configured a lifecycle rule to abort incomplete multipart uploads, the upload must complete within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

For information about the permissions required to use the multipart upload API, see Multipart Upload and Permissions.

For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4).

After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stop charging you for storing them only after you either complete or abort a multipart upload.

You can optionally request server-side encryption. For server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You can provide your own encryption key, or use Amazon Web Services KMS keys or Amazon S3-managed encryption keys. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to initiate the upload by using CreateMultipartUpload.

To perform a multipart upload with encryption using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions in the Amazon S3 User Guide.

If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role belongs to a different account than the key, then you must have the permissions on both the key policy and your IAM user or role.

For more information, see Protecting Data Using Server-Side Encryption.

Access Permissions

When copying an object, you can optionally specify the accounts or groups that should be granted specific permissions on the new object. There are two ways to grant the permissions using the request headers:

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Server-Side- Encryption-Specific Request Headers

You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. The option you use depends on whether you want to use Amazon Web Services managed encryption keys or provide your own encryption key.

Access-Control-List (ACL)-Specific Request Headers

You also can use the following access control–related headers with this operation. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the access control list (ACL) on the object. For more information, see Using ACLs. With this operation, you can grant access permissions using one of the following two methods:

The following operations are related to CreateMultipartUpload:

", + "documentation": "

This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request.

For more information about multipart uploads, see Multipart Upload Overview.

If you have configured a lifecycle rule to abort incomplete multipart uploads, the upload must complete within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

For information about the permissions required to use the multipart upload API, see Multipart Upload and Permissions.

For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4).

After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stop charging you for storing them only after you either complete or abort a multipart upload.

Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. Amazon S3 automatically encrypts all new objects that are uploaded to an S3 bucket. When doing a multipart upload, if you don't specify encryption information in your request, the encryption setting of the uploaded parts is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the uploaded parts. When you perform a CreateMultipartUpload operation, if you want to use a different type of encryption setting for the uploaded parts, you can request that Amazon S3 encrypts the object with a KMS key, an Amazon S3 managed key, or a customer-provided key. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. you can request that Amazon S3 save the uploaded parts encrypted with server-side encryption with an Amazon S3 managed key (SSE-S3), an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C).

To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role belongs to a different account than the key, then you must have the permissions on both the key policy and your IAM user or role.

For more information, see Protecting Data Using Server-Side Encryption.

Access Permissions

When copying an object, you can optionally specify the accounts or groups that should be granted specific permissions on the new object. There are two ways to grant the permissions using the request headers:

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Server-Side- Encryption-Specific Request Headers

Amazon S3 encrypts data by using server-side encryption with an Amazon S3 managed key (SSE-S3) by default. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You can request that Amazon S3 encrypts data at rest by using server-side encryption with other key options. The option you use depends on whether you want to use KMS keys (SSE-KMS) or provide your own encryption keys (SSE-C).

Access-Control-List (ACL)-Specific Request Headers

You also can use the following access control–related headers with this operation. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the access control list (ACL) on the object. For more information, see Using ACLs. With this operation, you can grant access permissions using one of the following two methods:

The following operations are related to CreateMultipartUpload:

", "alias": "InitiateMultipartUpload" }, "DeleteBucket": { @@ -163,7 +163,7 @@ "input": { "shape": "DeleteBucketEncryptionRequest" }, - "documentation": "

This implementation of the DELETE action removes default encryption from the bucket. For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the Amazon S3 User Guide.

To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide.

Related Resources

" + "documentation": "

This implementation of the DELETE action resets the default encryption for the bucket as server-side encryption with Amazon S3 managed keys (SSE-S3). For information about the bucket default encryption feature, see Amazon S3 Bucket Default Encryption in the Amazon S3 User Guide.

To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide.

Related Resources

" }, "DeleteBucketIntelligentTieringConfiguration": { "name": "DeleteBucketIntelligentTieringConfiguration", @@ -291,7 +291,7 @@ "shape": "DeleteObjectOutput" }, "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectDELETE.html", - "documentation": "

Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects but will still respond that the command was successful.

To remove a specific version, you must be the bucket owner and you must use the version Id subresource. Using this subresource permanently deletes the version. If the object deleted is a delete marker, Amazon S3 sets the response header, x-amz-delete-marker, to true.

If the object you want to delete is in a bucket where the bucket versioning configuration is MFA Delete enabled, you must include the x-amz-mfa request header in the DELETE versionId request. Requests that include x-amz-mfa must use HTTPS.

For more information about MFA Delete, see Using MFA Delete. To see sample requests that use versioning, see Sample Request.

You can delete objects by explicitly calling DELETE Object or configure its lifecycle (PutBucketLifecycle) to enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration actions.

The following action is related to DeleteObject:

" + "documentation": "

Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects but will still respond that the command was successful.

To remove a specific version, you must use the version Id subresource. Using this subresource permanently deletes the version. If the object deleted is a delete marker, Amazon S3 sets the response header, x-amz-delete-marker, to true.

If the object you want to delete is in a bucket where the bucket versioning configuration is MFA Delete enabled, you must include the x-amz-mfa request header in the DELETE versionId request. Requests that include x-amz-mfa must use HTTPS.

For more information about MFA Delete, see Using MFA Delete. To see sample requests that use versioning, see Sample Request.

You can delete objects by explicitly calling DELETE Object or configure its lifecycle (PutBucketLifecycle) to enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration actions.

The following action is related to DeleteObject:

" }, "DeleteObjectTagging": { "name": "DeleteObjectTagging", @@ -306,7 +306,7 @@ "output": { "shape": "DeleteObjectTaggingOutput" }, - "documentation": "

Removes the entire tag set from the specified object. For more information about managing object tags, see Object Tagging.

To use this operation, you must have permission to perform the s3:DeleteObjectTagging action.

To delete tags of a specific object version, add the versionId query parameter in the request. You will need permission for the s3:DeleteObjectVersionTagging action.

The following operations are related to DeleteBucketMetricsConfiguration:

" + "documentation": "

Removes the entire tag set from the specified object. For more information about managing object tags, see Object Tagging.

To use this operation, you must have permission to perform the s3:DeleteObjectTagging action.

To delete tags of a specific object version, add the versionId query parameter in the request. You will need permission for the s3:DeleteObjectVersionTagging action.

The following operations are related to DeleteObjectTagging:

" }, "DeleteObjects": { "name": "DeleteObjects", @@ -367,7 +367,7 @@ "shape": "GetBucketAclOutput" }, "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETacl.html", - "documentation": "

This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header.

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.

Related Resources

" + "documentation": "

This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header.

To use this API against an access point, provide the alias of the access point in place of the bucket name.

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.

Related Resources

" }, "GetBucketAnalyticsConfiguration": { "name": "GetBucketAnalyticsConfiguration", @@ -396,7 +396,7 @@ "shape": "GetBucketCorsOutput" }, "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETcors.html", - "documentation": "

Returns the Cross-Origin Resource Sharing (CORS) configuration information set for the bucket.

To use this operation, you must have permission to perform the s3:GetBucketCORS action. By default, the bucket owner has this permission and can grant it to others.

For more information about CORS, see Enabling Cross-Origin Resource Sharing.

The following operations are related to GetBucketCors:

" + "documentation": "

Returns the Cross-Origin Resource Sharing (CORS) configuration information set for the bucket.

To use this operation, you must have permission to perform the s3:GetBucketCORS action. By default, the bucket owner has this permission and can grant it to others.

To use this API against an access point, provide the alias of the access point in place of the bucket name.

For more information about CORS, see Enabling Cross-Origin Resource Sharing.

The following operations are related to GetBucketCors:

" }, "GetBucketEncryption": { "name": "GetBucketEncryption", @@ -410,7 +410,7 @@ "output": { "shape": "GetBucketEncryptionOutput" }, - "documentation": "

Returns the default encryption configuration for an Amazon S3 bucket. If the bucket does not have a default encryption configuration, GetBucketEncryption returns ServerSideEncryptionConfigurationNotFoundError.

For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption.

To use this operation, you must have permission to perform the s3:GetEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

The following operations are related to GetBucketEncryption:

" + "documentation": "

Returns the default encryption configuration for an Amazon S3 bucket. By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). For information about the bucket default encryption feature, see Amazon S3 Bucket Default Encryption in the Amazon S3 User Guide.

To use this operation, you must have permission to perform the s3:GetEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

The following operations are related to GetBucketEncryption:

" }, "GetBucketIntelligentTieringConfiguration": { "name": "GetBucketIntelligentTieringConfiguration", @@ -483,7 +483,7 @@ "shape": "GetBucketLocationOutput" }, "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlocation.html", - "documentation": "

Returns the Region the bucket resides in. You set the bucket's Region using the LocationConstraint request parameter in a CreateBucket request. For more information, see CreateBucket.

To use this implementation of the operation, you must be the bucket owner.

To use this API against an access point, provide the alias of the access point in place of the bucket name.

The following operations are related to GetBucketLocation:

" + "documentation": "

Returns the Region the bucket resides in. You set the bucket's Region using the LocationConstraint request parameter in a CreateBucket request. For more information, see CreateBucket.

To use this implementation of the operation, you must be the bucket owner.

To use this API against an access point, provide the alias of the access point in place of the bucket name.

For requests made using Amazon Web Services Signature Version 4 (SigV4), we recommend that you use HeadBucket to return the bucket Region instead of GetBucketLocation.

The following operations are related to GetBucketLocation:

" }, "GetBucketLogging": { "name": "GetBucketLogging", @@ -498,7 +498,7 @@ "shape": "GetBucketLoggingOutput" }, "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlogging.html", - "documentation": "

Returns the logging status of a bucket and the permissions users have to view and modify that status. To use GET, you must be the bucket owner.

The following operations are related to GetBucketLogging:

" + "documentation": "

Returns the logging status of a bucket and the permissions users have to view and modify that status.

The following operations are related to GetBucketLogging:

" }, "GetBucketMetricsConfiguration": { "name": "GetBucketMetricsConfiguration", @@ -542,7 +542,7 @@ "output": { "shape": "NotificationConfiguration" }, - "documentation": "

Returns the notification configuration of a bucket.

If notifications are not enabled on the bucket, the action returns an empty NotificationConfiguration element.

By default, you must be the bucket owner to read the notification configuration of a bucket. However, the bucket owner can use a bucket policy to grant permission to other users to read this configuration with the s3:GetBucketNotification permission.

For more information about setting and reading the notification configuration on a bucket, see Setting Up Notification of Bucket Events. For more information about bucket policies, see Using Bucket Policies.

The following action is related to GetBucketNotification:

" + "documentation": "

Returns the notification configuration of a bucket.

If notifications are not enabled on the bucket, the action returns an empty NotificationConfiguration element.

By default, you must be the bucket owner to read the notification configuration of a bucket. However, the bucket owner can use a bucket policy to grant permission to other users to read this configuration with the s3:GetBucketNotification permission.

To use this API against an access point, provide the alias of the access point in place of the bucket name.

For more information about setting and reading the notification configuration on a bucket, see Setting Up Notification of Bucket Events. For more information about bucket policies, see Using Bucket Policies.

The following action is related to GetBucketNotification:

" }, "GetBucketOwnershipControls": { "name": "GetBucketOwnershipControls", @@ -571,7 +571,7 @@ "shape": "GetBucketPolicyOutput" }, "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETpolicy.html", - "documentation": "

Returns the policy of a specified bucket. If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.

For more information about bucket policies, see Using Bucket Policies and User Policies.

The following action is related to GetBucketPolicy:

" + "documentation": "

Returns the policy of a specified bucket. If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.

To use this API against an access point, provide the alias of the access point in place of the bucket name.

For more information about bucket policies, see Using Bucket Policies and User Policies.

The following action is related to GetBucketPolicy:

" }, "GetBucketPolicyStatus": { "name": "GetBucketPolicyStatus", @@ -682,7 +682,7 @@ } ], "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGET.html", - "documentation": "

Retrieves objects from Amazon S3. To use GET, you must have READ access to the object. If you grant READ access to the anonymous user, you can return the object without using an authorization header.

An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer file system. You can, however, create a logical hierarchy by using object key names that imply a folder structure. For example, instead of naming an object sample.jpg, you can name it photos/2006/February/sample.jpg.

To get an object from such a logical hierarchy, specify the full key name for the object in the GET operation. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the resource as /photos/2006/February/sample.jpg. For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg. For more information about request types, see HTTP Host Header Bucket Specification.

For more information about returning the ACL of an object, see GetObjectAcl.

If the object you are retrieving is stored in the S3 Glacier or S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a copy using RestoreObject. Otherwise, this action returns an InvalidObjectStateError error. For information about restoring archived objects, see Restoring Archived Objects.

Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error.

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object, you must use the following headers:

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys).

Assuming you have the relevant permission to read object tags, the response also returns the x-amz-tagging-count header that provides the count of number of tags associated with the object. You can use GetObjectTagging to retrieve the tag set associated with an object.

Permissions

You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

Versioning

By default, the GET action returns the current version of an object. To return a different version, use the versionId subresource.

For more information about versioning, see PutBucketVersioning.

Overriding Response Header Values

There are times when you want to override certain response header values in a GET response. For example, you might override the Content-Disposition response header value in your GET request.

You can override values for a set of response headers using the following query parameters. These response header values are sent only on a successful request, that is, when status code 200 OK is returned. The set of headers you can override using these parameters is a subset of the headers that Amazon S3 accepts when you create an object. The response headers that you can override for the GET response are Content-Type, Content-Language, Expires, Cache-Control, Content-Disposition, and Content-Encoding. To override these header values in the GET response, you use the following request parameters.

You must sign the request, either using an Authorization header or a presigned URL, when using these parameters. They cannot be used with an unsigned (anonymous) request.

Additional Considerations about Request Headers

If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; then, S3 returns 200 OK and the data requested.

If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; then, S3 returns 304 Not Modified response code.

For more information about conditional requests, see RFC 7232.

The following operations are related to GetObject:

", + "documentation": "

Retrieves objects from Amazon S3. To use GET, you must have READ access to the object. If you grant READ access to the anonymous user, you can return the object without using an authorization header.

An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer file system. You can, however, create a logical hierarchy by using object key names that imply a folder structure. For example, instead of naming an object sample.jpg, you can name it photos/2006/February/sample.jpg.

To get an object from such a logical hierarchy, specify the full key name for the object in the GET operation. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the resource as /photos/2006/February/sample.jpg. For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg. For more information about request types, see HTTP Host Header Bucket Specification.

For more information about returning the ACL of an object, see GetObjectAcl.

If the object you are retrieving is stored in the S3 Glacier or S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a copy using RestoreObject. Otherwise, this action returns an InvalidObjectState error. For information about restoring archived objects, see Restoring Archived Objects.

Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error.

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object, you must use the following headers:

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys).

Assuming you have the relevant permission to read object tags, the response also returns the x-amz-tagging-count header that provides the count of number of tags associated with the object. You can use GetObjectTagging to retrieve the tag set associated with an object.

Permissions

You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

Versioning

By default, the GET action returns the current version of an object. To return a different version, use the versionId subresource.

For more information about versioning, see PutBucketVersioning.

Overriding Response Header Values

There are times when you want to override certain response header values in a GET response. For example, you might override the Content-Disposition response header value in your GET request.

You can override values for a set of response headers using the following query parameters. These response header values are sent only on a successful request, that is, when status code 200 OK is returned. The set of headers you can override using these parameters is a subset of the headers that Amazon S3 accepts when you create an object. The response headers that you can override for the GET response are Content-Type, Content-Language, Expires, Cache-Control, Content-Disposition, and Content-Encoding. To override these header values in the GET response, you use the following request parameters.

You must sign the request, either using an Authorization header or a presigned URL, when using these parameters. They cannot be used with an unsigned (anonymous) request.

Additional Considerations about Request Headers

If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; then, S3 returns 200 OK and the data requested.

If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; then, S3 returns 304 Not Modified response code.

For more information about conditional requests, see RFC 7232.

The following operations are related to GetObject:

", "httpChecksum": { "requestValidationModeMember": "ChecksumMode", "responseAlgorithms": [ @@ -730,7 +730,7 @@ "shape": "NoSuchKey" } ], - "documentation": "

Retrieves all the metadata from an object without returning the object itself. This action is useful if you're interested only in an object's metadata. To use GetObjectAttributes, you must have READ access to the object.

GetObjectAttributes combines the functionality of GetObjectAcl, GetObjectLegalHold, GetObjectLockConfiguration, GetObjectRetention, GetObjectTagging, HeadObject, and ListParts. All of the data returned with each of those individual calls can be returned with a single call to GetObjectAttributes.

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers:

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide.

Consider the following when using request headers:

For more information about conditional requests, see RFC 7232.

Permissions

The permissions that you need to use this operation depend on whether the bucket is versioned. If the bucket is versioned, you need both the s3:GetObjectVersion and s3:GetObjectVersionAttributes permissions for this operation. If the bucket is not versioned, you need the s3:GetObject and s3:GetObjectAttributes permissions. For more information, see Specifying Permissions in a Policy in the Amazon S3 User Guide. If the object that you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

The following actions are related to GetObjectAttributes:

" + "documentation": "

Retrieves all the metadata from an object without returning the object itself. This action is useful if you're interested only in an object's metadata. To use GetObjectAttributes, you must have READ access to the object.

GetObjectAttributes combines the functionality of HeadObject and ListParts. All of the data returned with each of those individual calls can be returned with a single call to GetObjectAttributes.

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers:

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide.

Consider the following when using request headers:

For more information about conditional requests, see RFC 7232.

Permissions

The permissions that you need to use this operation depend on whether the bucket is versioned. If the bucket is versioned, you need both the s3:GetObjectVersion and s3:GetObjectVersionAttributes permissions for this operation. If the bucket is not versioned, you need the s3:GetObject and s3:GetObjectAttributes permissions. For more information, see Specifying Permissions in a Policy in the Amazon S3 User Guide. If the object that you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

The following actions are related to GetObjectAttributes:

" }, "GetObjectLegalHold": { "name": "GetObjectLegalHold", @@ -801,7 +801,7 @@ "shape": "GetObjectTorrentOutput" }, "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGETtorrent.html", - "documentation": "

Returns torrent files from a bucket. BitTorrent can save you bandwidth when you're distributing large files. For more information about BitTorrent, see Using BitTorrent with Amazon S3.

You can get torrent only for objects that are less than 5 GB in size, and that are not encrypted using server-side encryption with a customer-provided encryption key.

To use GET, you must have READ access to the object.

This action is not supported by Amazon S3 on Outposts.

The following action is related to GetObjectTorrent:

" + "documentation": "

Returns torrent files from a bucket. BitTorrent can save you bandwidth when you're distributing large files.

You can get torrent only for objects that are less than 5 GB in size, and that are not encrypted using server-side encryption with a customer-provided encryption key.

To use GET, you must have READ access to the object.

This action is not supported by Amazon S3 on Outposts.

The following action is related to GetObjectTorrent:

" }, "GetPublicAccessBlock": { "name": "GetPublicAccessBlock", @@ -832,7 +832,7 @@ } ], "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketHEAD.html", - "documentation": "

This action is useful to determine if a bucket exists and you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission to access it.

If the bucket does not exist or you do not have permission to access it, the HEAD request returns a generic 404 Not Found or 403 Forbidden code. A message body is not included, so you cannot determine the exception beyond these error codes.

To use this operation, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

To use this API against an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using the Amazon Web Services SDKs, you provide the ARN in place of the bucket name. For more information see, Using access points.

" + "documentation": "

This action is useful to determine if a bucket exists and you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission to access it.

If the bucket does not exist or you do not have permission to access it, the HEAD request returns a generic 400 Bad Request, 403 Forbidden or 404 Not Found code. A message body is not included, so you cannot determine the exception beyond these error codes.

To use this operation, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

To use this API against an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using the Amazon Web Services SDKs, you provide the ARN in place of the bucket name. For more information see, Using access points.

" }, "HeadObject": { "name": "HeadObject", @@ -852,7 +852,7 @@ } ], "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectHEAD.html", - "documentation": "

The HEAD action retrieves metadata from an object without returning the object itself. This action is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object.

A HEAD request has the same options as a GET action on an object. The response is identical to the GET response except that there is no response body. Because of this, if the HEAD request generates an error, it returns a generic 404 Not Found or 403 Forbidden code. It is not possible to retrieve the exact exception beyond these error codes.

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers:

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys).

Request headers are limited to 8 KB in size. For more information, see Common Request Headers.

Consider the following when using request headers:

For more information about conditional requests, see RFC 7232.

Permissions

You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

The following actions are related to HeadObject:

" + "documentation": "

The HEAD action retrieves metadata from an object without returning the object itself. This action is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object.

A HEAD request has the same options as a GET action on an object. The response is identical to the GET response except that there is no response body. Because of this, if the HEAD request generates an error, it returns a generic 400 Bad Request, 403 Forbidden or 404 Not Found code. It is not possible to retrieve the exact exception beyond these error codes.

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers:

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys).

Request headers are limited to 8 KB in size. For more information, see Common Request Headers.

Consider the following when using request headers:

For more information about conditional requests, see RFC 7232.

Permissions

You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

The following actions are related to HeadObject:

" }, "ListBucketAnalyticsConfigurations": { "name": "ListBucketAnalyticsConfigurations", @@ -920,7 +920,7 @@ "shape": "ListBucketsOutput" }, "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTServiceGET.html", - "documentation": "

Returns a list of all buckets owned by the authenticated sender of the request. To use this operation, you must have the s3:ListAllMyBuckets permission.

", + "documentation": "

Returns a list of all buckets owned by the authenticated sender of the request. To use this operation, you must have the s3:ListAllMyBuckets permission.

For information about Amazon S3 buckets, see Creating, configuring, and working with Amazon S3 buckets.

", "alias": "GetService" }, "ListMultipartUploads": { @@ -1034,7 +1034,7 @@ "shape": "PutBucketAclRequest" }, "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTacl.html", - "documentation": "

Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have WRITE_ACP permission.

You can use one of the following two ways to set a bucket's permissions:

You cannot specify access permission using both the body and the request headers.

Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach.

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

Access Permissions

You can set access permissions using one of the following methods:

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Grantee Values

You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

Related Resources

", + "documentation": "

Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have WRITE_ACP permission.

You can use one of the following two ways to set a bucket's permissions:

You cannot specify access permission using both the body and the request headers.

Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach.

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

Access Permissions

You can set access permissions using one of the following methods:

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Grantee Values

You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

Related Resources

", "httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true @@ -1076,7 +1076,7 @@ "input": { "shape": "PutBucketEncryptionRequest" }, - "documentation": "

This action uses the encryption subresource to configure default encryption and Amazon S3 Bucket Key for an existing bucket.

Default encryption for a bucket can use server-side encryption with Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If you specify default encryption using SSE-KMS, you can also configure Amazon S3 Bucket Key. When the default encryption is SSE-KMS, if you upload an object to the bucket and do not specify the KMS key to use for encryption, Amazon S3 uses the default Amazon Web Services managed KMS key for your account. For information about default encryption, see Amazon S3 default bucket encryption in the Amazon S3 User Guide. For more information about S3 Bucket Keys, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature Version 4).

To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

Related Resources

", + "documentation": "

This action uses the encryption subresource to configure default encryption and Amazon S3 Bucket Keys for an existing bucket.

By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). You can optionally configure default encryption for a bucket by using server-side encryption with an Amazon Web Services KMS key (SSE-KMS) or a customer-provided key (SSE-C). If you specify default encryption by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For information about bucket default encryption, see Amazon S3 bucket default encryption in the Amazon S3 User Guide. For more information about S3 Bucket Keys, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature Version 4).

To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

Related Resources

", "httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true @@ -1102,7 +1102,7 @@ "input": { "shape": "PutBucketInventoryConfigurationRequest" }, - "documentation": "

This implementation of the PUT action adds an inventory configuration (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory configurations per bucket.

Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly basis, and the results are published to a flat file. The bucket that is inventoried is called the source bucket, and the bucket where the inventory flat file is stored is called the destination bucket. The destination bucket must be in the same Amazon Web Services Region as the source bucket.

When you configure an inventory for a source bucket, you specify the destination bucket where you want the inventory to be stored, and whether to generate the inventory daily or weekly. You can also configure what object metadata to include and whether to inventory all object versions or only current versions. For more information, see Amazon S3 Inventory in the Amazon S3 User Guide.

You must create a bucket policy on the destination bucket to grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

To use this operation, you must have permissions to perform the s3:PutInventoryConfiguration action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

Special Errors

Related Resources

" + "documentation": "

This implementation of the PUT action adds an inventory configuration (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory configurations per bucket.

Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly basis, and the results are published to a flat file. The bucket that is inventoried is called the source bucket, and the bucket where the inventory flat file is stored is called the destination bucket. The destination bucket must be in the same Amazon Web Services Region as the source bucket.

When you configure an inventory for a source bucket, you specify the destination bucket where you want the inventory to be stored, and whether to generate the inventory daily or weekly. You can also configure what object metadata to include and whether to inventory all object versions or only current versions. For more information, see Amazon S3 Inventory in the Amazon S3 User Guide.

You must create a bucket policy on the destination bucket to grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

Permissions

To use this operation, you must have permission to perform the s3:PutInventoryConfiguration action. The bucket owner has this permission by default and can grant this permission to others.

The s3:PutInventoryConfiguration permission allows a user to create an S3 Inventory report that includes all object metadata fields available and to specify the destination bucket to store the inventory. A user with read access to objects in the destination bucket can also access all object metadata fields that are available in the inventory report.

To restrict access to an inventory report, see Restricting access to an Amazon S3 Inventory report in the Amazon S3 User Guide. For more information about the metadata fields available in S3 Inventory, see Amazon S3 Inventory lists in the Amazon S3 User Guide. For more information about permissions, see Permissions related to bucket subresource operations and Identity and access management in Amazon S3 in the Amazon S3 User Guide.

Special Errors

Related Resources

" }, "PutBucketLifecycle": { "name": "PutBucketLifecycle", @@ -1313,7 +1313,7 @@ "shape": "PutObjectOutput" }, "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUT.html", - "documentation": "

Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it.

Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket.

Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object locking; if you need this, make sure to build it into your application layer or use versioning instead.

To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, returns an error. Additionally, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

Server-side Encryption

You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. You have the option to provide your own encryption key or use Amazon Web Services managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side Encryption.

If you request server-side encryption using Amazon Web Services Key Management Service (SSE-KMS), you can enable an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

Access Control List (ACL)-Specific Request Headers

You can use headers to grant ACL- based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

If the bucket that you're uploading objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format. PUT requests that contain other ACLs (for example, custom grants to certain Amazon Web Services accounts) fail and return a 400 error with the error code AccessControlListNotSupported.

For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner.

Storage Class Options

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide.

Versioning

If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects.

For more information about versioning, see Adding Objects to Versioning Enabled Buckets. For information about returning the versioning state of a bucket, see GetBucketVersioning.

Related Resources

", + "documentation": "

Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it.

Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. You cannot use PutObject to only update a single piece of metadata for an existing object. You must put the entire object with updated metadata if you want to update some values.

Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. To prevent objects from being deleted or overwritten, you can use Amazon S3 Object Lock.

To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, returns an error. Additionally, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

You have three mutually exclusive options to protect data using server-side encryption in Amazon S3, depending on how you choose to manage the encryption keys. Specifically, the encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and customer-provided keys (SSE-C). Amazon S3 encrypts data with server-side encryption by using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at by rest using server-side encryption with other key options. For more information, see Using Server-Side Encryption.

When adding a new object, you can use headers to grant ACL-based permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. By default, all objects are private. Only the owner has full access control. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

If the bucket that you're uploading objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format. PUT requests that contain other ACLs (for example, custom grants to certain Amazon Web Services accounts) fail and return a 400 error with the error code AccessControlListNotSupported. For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner.

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide.

If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see Adding Objects to Versioning Enabled Buckets. For information about returning the versioning state of a bucket, see GetBucketVersioning.

For more information about related Amazon S3 APIs, see the following:

", "httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": false @@ -1448,7 +1448,7 @@ } ], "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectRestore.html", - "documentation": "

Restores an archived copy of an object back into Amazon S3

This action is not supported by Amazon S3 on Outposts.

This action performs the following types of requests:

To use this operation, you must have permissions to perform the s3:RestoreObject action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

Querying Archives with Select Requests

You use a select type of request to perform SQL queries on archived objects. The archived objects that are being queried by the select request must be formatted as uncompressed comma-separated values (CSV) files. You can run queries and custom analytics on your archived data without having to restore your data to a hotter Amazon S3 tier. For an overview about select requests, see Querying Archived Objects in the Amazon S3 User Guide.

When making a select request, do the following:

For more information about using SQL with S3 Glacier Select restore, see SQL Reference for Amazon S3 Select and S3 Glacier Select in the Amazon S3 User Guide.

When making a select request, you can also do the following:

The following are additional important facts about the select feature:

Restoring objects

Objects that you archive to the S3 Glacier or S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers are not accessible in real time. For objects in Archive Access or Deep Archive Access tiers you must first initiate a restore request, and then wait until the object is moved into the Frequent Access tier. For objects in S3 Glacier or S3 Glacier Deep Archive storage classes you must first initiate a restore request, and then wait until a temporary copy of the object is available. To access an archived object, you must restore the object for the duration (number of days) that you specify.

To restore a specific object version, you can provide a version ID. If you don't provide a version ID, Amazon S3 restores the current version.

When restoring an archived object (or using a select request), you can specify one of the following data access tier options in the Tier element of the request body:

For more information about archive retrieval options and provisioned capacity for Expedited data access, see Restoring Archived Objects in the Amazon S3 User Guide.

You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed while it is in progress. For more information, see Upgrading the speed of an in-progress restore in the Amazon S3 User Guide.

To get the status of object restoration, you can send a HEAD request. Operations return the x-amz-restore header, which provides information about the restoration status, in the response. You can use Amazon S3 event notifications to notify you when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in the Amazon S3 User Guide.

After restoring an archived object, you can update the restoration period by reissuing the request with a new period. Amazon S3 updates the restoration period relative to the current time and charges only for the request-there are no data transfer charges. You cannot update the restoration period when Amazon S3 is actively processing your current restore request for the object.

If your bucket has a lifecycle configuration with a rule that includes an expiration action, the object expiration overrides the life span that you specify in a restore request. For example, if you restore an object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in Amazon S3 User Guide.

Responses

A successful action returns either the 200 OK or 202 Accepted status code.

Special Errors

Related Resources

", + "documentation": "

Restores an archived copy of an object back into Amazon S3

This action is not supported by Amazon S3 on Outposts.

This action performs the following types of requests:

To use this operation, you must have permissions to perform the s3:RestoreObject action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

For more information about the S3 structure in the request body, see the following:

When making a select request, you can also do the following:

The following are additional important facts about the select feature:

Restoring objects

Objects that you archive to the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, are not accessible in real time. For objects in the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes, you must first initiate a restore request, and then wait until a temporary copy of the object is available. If you want a permanent copy of the object, create a copy of it in the Amazon S3 Standard storage class in your S3 bucket. To access an archived object, you must restore the object for the duration (number of days) that you specify. For objects in the Archive Access or Deep Archive Access tiers of S3 Intelligent-Tiering, you must first initiate a restore request, and then wait until the object is moved into the Frequent Access tier.

To restore a specific object version, you can provide a version ID. If you don't provide a version ID, Amazon S3 restores the current version.

When restoring an archived object, you can specify one of the following data access tier options in the Tier element of the request body:

For more information about archive retrieval options and provisioned capacity for Expedited data access, see Restoring Archived Objects in the Amazon S3 User Guide.

You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed while it is in progress. For more information, see Upgrading the speed of an in-progress restore in the Amazon S3 User Guide.

To get the status of object restoration, you can send a HEAD request. Operations return the x-amz-restore header, which provides information about the restoration status, in the response. You can use Amazon S3 event notifications to notify you when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in the Amazon S3 User Guide.

After restoring an archived object, you can update the restoration period by reissuing the request with a new period. Amazon S3 updates the restoration period relative to the current time and charges only for the request-there are no data transfer charges. You cannot update the restoration period when Amazon S3 is actively processing your current restore request for the object.

If your bucket has a lifecycle configuration with a rule that includes an expiration action, the object expiration overrides the life span that you specify in a restore request. For example, if you restore an object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in Amazon S3 User Guide.

Responses

A successful action returns either the 200 OK or 202 Accepted status code.

Special Errors

Related Resources

", "alias": "PostObjectRestore", "httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm", @@ -1471,7 +1471,7 @@ "output": { "shape": "SelectObjectContentOutput" }, - "documentation": "

This action filters the contents of an Amazon S3 object based on a simple structured query language (SQL) statement. In the request, along with the SQL expression, you must also specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses this format to parse object data into records, and returns only records that match the specified SQL expression. You must also specify the data serialization format for the response.

This action is not supported by Amazon S3 on Outposts.

For more information about Amazon S3 Select, see Selecting Content from Objects and SELECT Command in the Amazon S3 User Guide.

For more information about using SQL with Amazon S3 Select, see SQL Reference for Amazon S3 Select and S3 Glacier Select in the Amazon S3 User Guide.

Permissions

You must have s3:GetObject permission for this operation. Amazon S3 Select does not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy in the Amazon S3 User Guide.

Object Data Formats

You can use Amazon S3 Select to query objects that have the following format properties:

Working with the Response Body

Given the response size is unknown, Amazon S3 Select streams the response as a series of messages and includes a Transfer-Encoding header with chunked as its value in the response. For more information, see Appendix: SelectObjectContent Response.

GetObject Support

The SelectObjectContent action does not support the following GetObject functionality. For more information, see GetObject.

Special Errors

For a list of special errors for this operation, see List of SELECT Object Content Error Codes

Related Resources

" + "documentation": "

This action filters the contents of an Amazon S3 object based on a simple structured query language (SQL) statement. In the request, along with the SQL expression, you must also specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses this format to parse object data into records, and returns only records that match the specified SQL expression. You must also specify the data serialization format for the response.

This action is not supported by Amazon S3 on Outposts.

For more information about Amazon S3 Select, see Selecting Content from Objects and SELECT Command in the Amazon S3 User Guide.

Permissions

You must have s3:GetObject permission for this operation. Amazon S3 Select does not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy in the Amazon S3 User Guide.

Object Data Formats

You can use Amazon S3 Select to query objects that have the following format properties:

Working with the Response Body

Given the response size is unknown, Amazon S3 Select streams the response as a series of messages and includes a Transfer-Encoding header with chunked as its value in the response. For more information, see Appendix: SelectObjectContent Response.

GetObject Support

The SelectObjectContent action does not support the following GetObject functionality. For more information, see GetObject.

Special Errors

For a list of special errors for this operation, see List of SELECT Object Content Error Codes

Related Resources

" }, "UploadPart": { "name": "UploadPart", @@ -1486,7 +1486,7 @@ "shape": "UploadPartOutput" }, "documentationUrl": "http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPart.html", - "documentation": "

Uploads a part in a multipart upload.

In this operation, you provide part data in your request. However, you have an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation.

You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier, that you must include in your upload part request.

Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part and also defines its position within the object being created. If you upload a new part using the same part number that was used with a previous part, the previously uploaded part is overwritten.

For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide.

To ensure that data is not corrupted when traversing the network, specify the Content-MD5 header in the upload part request. Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an error.

If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the x-amz-content-sha256 header as a checksum instead of Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version 4).

Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

For more information on multipart uploads, go to Multipart Upload Overview in the Amazon S3 User Guide .

For information on the permissions required to use the multipart upload API, go to Multipart Upload and Permissions in the Amazon S3 User Guide.

You can optionally request server-side encryption where Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it for you when you access it. You have the option of providing your own encryption key, or you can use the Amazon Web Services managed encryption keys. If you choose to provide your own encryption key, the request headers you provide in the request must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. For more information, go to Using Server-Side Encryption in the Amazon S3 User Guide.

Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are using a customer-provided encryption key, you don't need to specify the encryption parameters in each UploadPart request. Instead, you only need to specify the server-side encryption parameters in the initial Initiate Multipart request. For more information, see CreateMultipartUpload.

If you requested server-side encryption using a customer-provided encryption key in your initiate multipart upload request, you must provide identical encryption information in each part upload using the following headers.

Special Errors

Related Resources

", + "documentation": "

Uploads a part in a multipart upload.

In this operation, you provide part data in your request. However, you have an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation.

You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier, that you must include in your upload part request.

Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part and also defines its position within the object being created. If you upload a new part using the same part number that was used with a previous part, the previously uploaded part is overwritten.

For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide.

To ensure that data is not corrupted when traversing the network, specify the Content-MD5 header in the upload part request. Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an error.

If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the x-amz-content-sha256 header as a checksum instead of Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version 4).

Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

For more information on multipart uploads, go to Multipart Upload Overview in the Amazon S3 User Guide .

For information on the permissions required to use the multipart upload API, go to Multipart Upload and Permissions in the Amazon S3 User Guide.

Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You have three mutually exclusive options to protect data using server-side encryption in Amazon S3, depending on how you choose to manage the encryption keys. Specifically, the encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and Customer-Provided Keys (SSE-C). Amazon S3 encrypts data with server-side encryption using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption with other key options. The option you use depends on whether you want to use KMS keys (SSE-KMS) or provide your own encryption key (SSE-C). If you choose to provide your own encryption key, the request headers you provide in the request must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. For more information, go to Using Server-Side Encryption in the Amazon S3 User Guide.

Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are using a customer-provided encryption key (SSE-C), you don't need to specify the encryption parameters in each UploadPart request. Instead, you only need to specify the server-side encryption parameters in the initial Initiate Multipart request. For more information, see CreateMultipartUpload.

If you requested server-side encryption using a customer-provided encryption key (SSE-C) in your initiate multipart upload request, you must provide identical encryption information in each part upload using the following headers.

Special Errors

Related Resources

", "httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": false @@ -1562,7 +1562,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The bucket name to which the upload was taking place.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The bucket name to which the upload was taking place.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -1990,7 +1990,7 @@ }, "Comments": { "shape": "Comments", - "documentation": "

A single character used to indicate that a row should be ignored when the character is present at the start of that row. You can specify any character to indicate a comment line.

" + "documentation": "

A single character used to indicate that a row should be ignored when the character is present at the start of that row. You can specify any character to indicate a comment line. The default character is #.

Default: #

" }, "QuoteEscapeCharacter": { "shape": "QuoteEscapeCharacter", @@ -2164,7 +2164,7 @@ }, "Bucket": { "shape": "BucketName", - "documentation": "

The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

" + "documentation": "

The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

" }, "Key": { "shape": "ObjectKey", @@ -2198,7 +2198,7 @@ }, "ServerSideEncryption": { "shape": "ServerSideEncryption", - "documentation": "

If you specified server-side encryption either with an Amazon S3-managed encryption key or an Amazon Web Services KMS key in your initiate multipart upload request, the response includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the object.

", + "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", "location": "header", "locationName": "x-amz-server-side-encryption" }, @@ -2210,7 +2210,7 @@ }, "SSEKMSKeyId": { "shape": "SSEKMSKeyId", - "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object.

", + "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object.

", "location": "header", "locationName": "x-amz-server-side-encryption-aws-kms-key-id" }, @@ -2237,7 +2237,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

Name of the bucket to which the multipart upload was initiated.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

Name of the bucket to which the multipart upload was initiated.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -2447,7 +2447,7 @@ }, "ServerSideEncryption": { "shape": "ServerSideEncryption", - "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", + "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", "location": "header", "locationName": "x-amz-server-side-encryption" }, @@ -2465,7 +2465,7 @@ }, "SSEKMSKeyId": { "shape": "SSEKMSKeyId", - "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object.

", + "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object.

", "location": "header", "locationName": "x-amz-server-side-encryption-aws-kms-key-id" }, @@ -2505,7 +2505,7 @@ }, "Bucket": { "shape": "BucketName", - "documentation": "

The name of the destination bucket.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The name of the destination bucket.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -2634,7 +2634,7 @@ }, "ServerSideEncryption": { "shape": "ServerSideEncryption", - "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", + "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", "location": "header", "locationName": "x-amz-server-side-encryption" }, @@ -2646,7 +2646,7 @@ }, "WebsiteRedirectLocation": { "shape": "WebsiteRedirectLocation", - "documentation": "

If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

", + "documentation": "

If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata. This value is unique to each object and is not copied when using the x-amz-metadata-directive header. Instead, you may opt to provide this header in combination with the directive.

", "location": "header", "locationName": "x-amz-website-redirect-location" }, @@ -2950,7 +2950,7 @@ }, "Bucket": { "shape": "BucketName", - "documentation": "

The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "locationName": "Bucket" }, "Key": { @@ -2963,7 +2963,7 @@ }, "ServerSideEncryption": { "shape": "ServerSideEncryption", - "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", + "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", "location": "header", "locationName": "x-amz-server-side-encryption" }, @@ -2981,7 +2981,7 @@ }, "SSEKMSKeyId": { "shape": "SSEKMSKeyId", - "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object.

", + "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object.

", "location": "header", "locationName": "x-amz-server-side-encryption-aws-kms-key-id" }, @@ -3025,7 +3025,7 @@ }, "Bucket": { "shape": "BucketName", - "documentation": "

The name of the bucket to which to initiate the upload

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The name of the bucket to which to initiate the upload

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -3106,7 +3106,7 @@ }, "ServerSideEncryption": { "shape": "ServerSideEncryption", - "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", + "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", "location": "header", "locationName": "x-amz-server-side-encryption" }, @@ -3142,7 +3142,7 @@ }, "SSEKMSKeyId": { "shape": "SSEKMSKeyId", - "documentation": "

Specifies the ID of the symmetric customer managed key to use for object encryption. All GET and PUT requests for an object protected by Amazon Web Services KMS will fail if not made via SSL or using SigV4. For information about configuring using any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

", + "documentation": "

Specifies the ID of the symmetric encryption customer managed key to use for object encryption. All GET and PUT requests for an object protected by Amazon Web Services KMS will fail if not made via SSL or using SigV4. For information about configuring using any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

", "location": "header", "locationName": "x-amz-server-side-encryption-aws-kms-key-id" }, @@ -3421,7 +3421,7 @@ }, "Id": { "shape": "MetricsId", - "documentation": "

The ID used to identify the metrics configuration.

", + "documentation": "

The ID used to identify the metrics configuration. The ID has a 64 character limit and can only contain letters, numbers, periods, dashes, and underscores.

", "location": "querystring", "locationName": "id" }, @@ -3658,7 +3658,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The bucket name of the bucket containing the object.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The bucket name of the bucket containing the object.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -3722,7 +3722,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The bucket name containing the objects from which to remove the tags.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The bucket name containing the objects from which to remove the tags.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -3777,7 +3777,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The bucket name containing the objects to delete.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The bucket name containing the objects to delete.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -3946,11 +3946,11 @@ "members": { "EncryptionType": { "shape": "ServerSideEncryption", - "documentation": "

The server-side encryption algorithm used when storing job results in Amazon S3 (for example, AES256, aws:kms).

" + "documentation": "

The server-side encryption algorithm used when storing job results in Amazon S3 (for example, AES256, aws:kms).

" }, "KMSKeyId": { "shape": "SSEKMSKeyId", - "documentation": "

If the encryption type is aws:kms, this optional value specifies the ID of the symmetric customer managed key to use for encryption of job results. Amazon S3 only supports symmetric keys. For more information, see Using symmetric and asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

" + "documentation": "

If the encryption type is aws:kms, this optional value specifies the ID of the symmetric encryption customer managed key to use for encryption of job results. Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide.

" }, "KMSContext": { "shape": "KMSContext", @@ -3964,7 +3964,7 @@ "members": { "ReplicaKmsKeyID": { "shape": "ReplicaKmsKeyID", - "documentation": "

Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web Services KMS key stored in Amazon Web Services Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric, customer managed KMS keys. For more information, see Using symmetric and asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

" + "documentation": "

Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web Services KMS key stored in Amazon Web Services Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide.

" } }, "documentation": "

Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.

" @@ -3991,7 +3991,7 @@ }, "Code": { "shape": "Code", - "documentation": "

The error code is a string that uniquely identifies an error condition. It is meant to be read and understood by programs that detect and handle errors by type.

Amazon S3 error codes

" + "documentation": "

The error code is a string that uniquely identifies an error condition. It is meant to be read and understood by programs that detect and handle errors by type.

Amazon S3 error codes

" }, "Message": { "shape": "Message", @@ -4079,7 +4079,7 @@ "members": { "Status": { "shape": "ExistingObjectReplicationStatus", - "documentation": "

" + "documentation": "

Specifies whether Amazon S3 replicates existing source bucket objects.

" } }, "documentation": "

Optional configuration to replicate existing source bucket objects. For more information, see Replicating Existing Objects in the Amazon S3 User Guide.

" @@ -4577,7 +4577,7 @@ }, "Id": { "shape": "MetricsId", - "documentation": "

The ID used to identify the metrics configuration.

", + "documentation": "

The ID used to identify the metrics configuration. The ID has a 64 character limit and can only contain letters, numbers, periods, dashes, and underscores.

", "location": "querystring", "locationName": "id" }, @@ -5041,7 +5041,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The name of the bucket that contains the object.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The name of the bucket that contains the object.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -5329,7 +5329,7 @@ }, "ServerSideEncryption": { "shape": "ServerSideEncryption", - "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", + "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", "location": "header", "locationName": "x-amz-server-side-encryption" }, @@ -5353,7 +5353,7 @@ }, "SSEKMSKeyId": { "shape": "SSEKMSKeyId", - "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object.

", + "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object.

", "location": "header", "locationName": "x-amz-server-side-encryption-aws-kms-key-id" }, @@ -5422,7 +5422,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The bucket name containing the object.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using an Object Lambda access point the hostname takes the form AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The bucket name containing the object.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using an Object Lambda access point the hostname takes the form AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -5461,7 +5461,7 @@ }, "Range": { "shape": "Range", - "documentation": "

Downloads the specified range bytes of an object. For more information about the HTTP Range header, see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

Amazon S3 doesn't support retrieving multiple ranges of data per GET request.

", + "documentation": "

Downloads the specified range bytes of an object. For more information about the HTTP Range header, see https://www.rfc-editor.org/rfc/rfc9110.html#name-range.

Amazon S3 doesn't support retrieving multiple ranges of data per GET request.

", "location": "header", "locationName": "Range" }, @@ -5631,7 +5631,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The bucket name containing the object for which to get the tagging information.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The bucket name containing the object for which to get the tagging information.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -5839,7 +5839,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The bucket name.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The bucket name.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -5985,7 +5985,7 @@ }, "ServerSideEncryption": { "shape": "ServerSideEncryption", - "documentation": "

If the object is stored using server-side encryption either with an Amazon Web Services KMS key or an Amazon S3-managed encryption key, the response includes this header with the value of the server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", + "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", "location": "header", "locationName": "x-amz-server-side-encryption" }, @@ -6009,7 +6009,7 @@ }, "SSEKMSKeyId": { "shape": "SSEKMSKeyId", - "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object.

", + "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object.

", "location": "header", "locationName": "x-amz-server-side-encryption-aws-kms-key-id" }, @@ -6071,7 +6071,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The name of the bucket containing the object.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The name of the bucket containing the object.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -6110,7 +6110,7 @@ }, "Range": { "shape": "Range", - "documentation": "

Because HeadObject returns only the metadata for an object, this parameter has no effect.

", + "documentation": "

HeadObject returns only the metadata for an object. If the Range is satisfiable, only the ContentLength is affected in the response. If the Range is not satisfiable, S3 returns a 416 - Requested Range Not Satisfiable error.

", "location": "header", "locationName": "Range" }, @@ -6612,7 +6612,7 @@ "locationName": "Rule" } }, - "documentation": "

Container for lifecycle rules. You can add as many as 1000 rules.

" + "documentation": "

Container for lifecycle rules. You can add as many as 1000 rules.

For more information see, Managing your storage lifecycle in the Amazon S3 User Guide.

" }, "LifecycleExpiration": { "type": "structure", @@ -6630,7 +6630,7 @@ "documentation": "

Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

" } }, - "documentation": "

Container for the expiration for the lifecycle of the object.

" + "documentation": "

Container for the expiration for the lifecycle of the object.

For more information see, Managing your storage lifecycle in the Amazon S3 User Guide.

" }, "LifecycleRule": { "type": "structure", @@ -6676,7 +6676,7 @@ "shape": "AbortIncompleteMultipartUpload" } }, - "documentation": "

A lifecycle rule for individual objects in an Amazon S3 bucket.

" + "documentation": "

A lifecycle rule for individual objects in an Amazon S3 bucket.

For more information see, Managing your storage lifecycle in the Amazon S3 User Guide.

" }, "LifecycleRuleAndOperator": { "type": "structure", @@ -7007,7 +7007,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The name of the bucket to which the multipart upload was initiated.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The name of the bucket to which the multipart upload was initiated.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -7227,7 +7227,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The name of the bucket containing the objects.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The name of the bucket containing the objects.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -7290,7 +7290,7 @@ }, "Name": { "shape": "BucketName", - "documentation": "

The bucket name.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

" + "documentation": "

The bucket name.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

" }, "Prefix": { "shape": "Prefix", @@ -7314,7 +7314,7 @@ }, "KeyCount": { "shape": "KeyCount", - "documentation": "

KeyCount is the number of keys returned with this request. KeyCount will always be less than or equals to MaxKeys field. Say you ask for 50 keys, your result will include less than equals 50 keys

" + "documentation": "

KeyCount is the number of keys returned with this request. KeyCount will always be less than or equal to the MaxKeys field. Say you ask for 50 keys, your result will include 50 keys or fewer.

" }, "ContinuationToken": { "shape": "Token", @@ -7338,7 +7338,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

Bucket name to list.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

Bucket name to list.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -7482,7 +7482,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The name of the bucket to which the parts are being uploaded.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The name of the bucket to which the parts are being uploaded.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -7688,7 +7688,7 @@ "members": { "Id": { "shape": "MetricsId", - "documentation": "

The ID used to identify the metrics configuration.

" + "documentation": "

The ID used to identify the metrics configuration. The ID has a 64 character limit and can only contain letters, numbers, periods, dashes, and underscores.

" }, "Filter": { "shape": "MetricsFilter", @@ -8230,7 +8230,7 @@ "members": { "DisplayName": { "shape": "DisplayName", - "documentation": "

Container for the display name of the owner.

" + "documentation": "

Container for the display name of the owner. This value is only supported in the following Amazon Web Services Regions:

" }, "ID": { "shape": "ID", @@ -8657,7 +8657,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the Amazon S3 User Guide.

", + "documentation": "

Specifies default encryption for a bucket using server-side encryption with different key options. By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). You can optionally configure default encryption for a bucket by using server-side encryption with an Amazon Web Services KMS key (SSE-KMS) or a customer-provided key (SSE-C). For information about the bucket default encryption feature, see Amazon S3 Bucket Default Encryption in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -8912,7 +8912,7 @@ }, "Id": { "shape": "MetricsId", - "documentation": "

The ID used to identify the metrics configuration.

", + "documentation": "

The ID used to identify the metrics configuration. The ID has a 64 character limit and can only contain letters, numbers, periods, dashes, and underscores.

", "location": "querystring", "locationName": "id" }, @@ -9422,7 +9422,7 @@ }, "Key": { "shape": "ObjectKey", - "documentation": "

Key for which the PUT action was initiated.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

Key for which the PUT action was initiated.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "location": "uri", "locationName": "Key" }, @@ -9624,7 +9624,7 @@ }, "ServerSideEncryption": { "shape": "ServerSideEncryption", - "documentation": "

If you specified server-side encryption either with an Amazon Web Services KMS key or Amazon S3-managed encryption key in your PUT request, the response includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the object.

", + "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", "location": "header", "locationName": "x-amz-server-side-encryption" }, @@ -9648,13 +9648,13 @@ }, "SSEKMSKeyId": { "shape": "SSEKMSKeyId", - "documentation": "

If x-amz-server-side-encryption is present and has the value of aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object.

", + "documentation": "

If x-amz-server-side-encryption is has a valid value of aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object.

", "location": "header", "locationName": "x-amz-server-side-encryption-aws-kms-key-id" }, "SSEKMSEncryptionContext": { "shape": "SSEKMSEncryptionContext", - "documentation": "

If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

", + "documentation": "

If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future GetObject or CopyObject operations on this object.

", "location": "header", "locationName": "x-amz-server-side-encryption-context" }, @@ -9691,7 +9691,7 @@ }, "Bucket": { "shape": "BucketName", - "documentation": "

The bucket name to which the PUT action was initiated.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The bucket name to which the PUT action was initiated.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -9706,13 +9706,13 @@ }, "ContentDisposition": { "shape": "ContentDisposition", - "documentation": "

Specifies presentational information for the object. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1.

", + "documentation": "

Specifies presentational information for the object. For more information, see https://www.rfc-editor.org/rfc/rfc6266#section-4.

", "location": "header", "locationName": "Content-Disposition" }, "ContentEncoding": { "shape": "ContentEncoding", - "documentation": "

Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11.

", + "documentation": "

Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. For more information, see https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding.

", "location": "header", "locationName": "Content-Encoding" }, @@ -9724,7 +9724,7 @@ }, "ContentLength": { "shape": "ContentLength", - "documentation": "

Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13.

", + "documentation": "

Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically. For more information, see https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length.

", "location": "header", "locationName": "Content-Length" }, @@ -9736,7 +9736,7 @@ }, "ContentType": { "shape": "ContentType", - "documentation": "

A standard MIME type describing the format of the contents. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17.

", + "documentation": "

A standard MIME type describing the format of the contents. For more information, see https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type.

", "location": "header", "locationName": "Content-Type" }, @@ -9772,7 +9772,7 @@ }, "Expires": { "shape": "Expires", - "documentation": "

The date and time at which the object is no longer cacheable. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21.

", + "documentation": "

The date and time at which the object is no longer cacheable. For more information, see https://www.rfc-editor.org/rfc/rfc7234#section-5.3.

", "location": "header", "locationName": "Expires" }, @@ -9814,7 +9814,7 @@ }, "ServerSideEncryption": { "shape": "ServerSideEncryption", - "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", + "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", "location": "header", "locationName": "x-amz-server-side-encryption" }, @@ -9850,13 +9850,13 @@ }, "SSEKMSKeyId": { "shape": "SSEKMSKeyId", - "documentation": "

If x-amz-server-side-encryption is present and has the value of aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetrical customer managed key that was used for the object. If you specify x-amz-server-side-encryption:aws:kms, but do not provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key to protect the data. If the KMS key does not exist in the same account issuing the command, you must use the full ARN and not just the ID.

", + "documentation": "

If x-amz-server-side-encryption has a valid value of aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object. If you specify x-amz-server-side-encryption:aws:kms, but do not provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key to protect the data. If the KMS key does not exist in the same account issuing the command, you must use the full ARN and not just the ID.

", "location": "header", "locationName": "x-amz-server-side-encryption-aws-kms-key-id" }, "SSEKMSEncryptionContext": { "shape": "SSEKMSEncryptionContext", - "documentation": "

Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

", + "documentation": "

Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future GetObject or CopyObject operations on this object.

", "location": "header", "locationName": "x-amz-server-side-encryption-context" }, @@ -10003,7 +10003,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The bucket name containing the object.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The bucket name containing the object.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -10317,7 +10317,7 @@ }, "ExistingObjectReplication": { "shape": "ExistingObjectReplication", - "documentation": "

" + "documentation": "

Optional configuration to replicate existing source bucket objects. For more information, see Replicating Existing Objects in the Amazon S3 User Guide.

" }, "Destination": { "shape": "Destination", @@ -10511,7 +10511,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The bucket name containing the object to restore.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The bucket name containing the object to restore.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -10742,7 +10742,7 @@ "members": { "KeyId": { "shape": "SSEKMSKeyId", - "documentation": "

Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key to use for encrypting inventory reports.

" + "documentation": "

Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key to use for encrypting inventory reports.

" } }, "documentation": "

Specifies the use of SSE-KMS to encrypt delivered inventory reports.

", @@ -10937,7 +10937,7 @@ }, "KMSMasterKeyID": { "shape": "SSEKMSKeyId", - "documentation": "

Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default encryption. This parameter is allowed if and only if SSEAlgorithm is set to aws:kms.

You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if you are using encryption with cross-account or Amazon Web Services service operations you must use a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations.

For example:

Amazon S3 only supports symmetric KMS keys and not asymmetric KMS keys. For more information, see Using symmetric and asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

" + "documentation": "

Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default encryption. This parameter is allowed if and only if SSEAlgorithm is set to aws:kms.

You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if you are using encryption with cross-account or Amazon Web Services service operations you must use a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations.

For example:

Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide.

" } }, "documentation": "

Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an Amazon Web Services KMS key in your Amazon Web Services account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. For more information, see PUT Bucket encryption in the Amazon S3 API Reference.

" @@ -11345,7 +11345,7 @@ }, "ServerSideEncryption": { "shape": "ServerSideEncryption", - "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", + "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", "location": "header", "locationName": "x-amz-server-side-encryption" }, @@ -11363,7 +11363,7 @@ }, "SSEKMSKeyId": { "shape": "SSEKMSKeyId", - "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object.

", + "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object.

", "location": "header", "locationName": "x-amz-server-side-encryption-aws-kms-key-id" }, @@ -11393,7 +11393,7 @@ "members": { "Bucket": { "shape": "BucketName", - "documentation": "

The bucket name.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The bucket name.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -11514,7 +11514,7 @@ "members": { "ServerSideEncryption": { "shape": "ServerSideEncryption", - "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", + "documentation": "

The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

", "location": "header", "locationName": "x-amz-server-side-encryption" }, @@ -11562,7 +11562,7 @@ }, "SSEKMSKeyId": { "shape": "SSEKMSKeyId", - "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key was used for the object.

", + "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key was used for the object.

", "location": "header", "locationName": "x-amz-server-side-encryption-aws-kms-key-id" }, @@ -11595,7 +11595,7 @@ }, "Bucket": { "shape": "BucketName", - "documentation": "

The name of the bucket to which the multipart upload was initiated.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "documentation": "

The name of the bucket to which the multipart upload was initiated.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide.

", "contextParam": { "name": "Bucket" }, @@ -11950,7 +11950,7 @@ }, "ServerSideEncryption": { "shape": "ServerSideEncryption", - "documentation": "

The server-side encryption algorithm used when storing requested object in Amazon S3 (for example, AES256, aws:kms).

", + "documentation": "

The server-side encryption algorithm used when storing requested object in Amazon S3 (for example, AES256, aws:kms).

", "location": "header", "locationName": "x-amz-fwd-header-x-amz-server-side-encryption" }, @@ -11962,7 +11962,7 @@ }, "SSEKMSKeyId": { "shape": "SSEKMSKeyId", - "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for stored in Amazon S3 object.

", + "documentation": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for stored in Amazon S3 object.

", "location": "header", "locationName": "x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id" }, diff --git a/apis/sagemaker-featurestore-runtime-2020-07-01.min.json b/apis/sagemaker-featurestore-runtime-2020-07-01.min.json index 92dd357ad3..63b085eceb 100644 --- a/apis/sagemaker-featurestore-runtime-2020-07-01.min.json +++ b/apis/sagemaker-featurestore-runtime-2020-07-01.min.json @@ -112,6 +112,10 @@ "shape": "Sj", "location": "querystring", "locationName": "TargetStores" + }, + "DeletionMode": { + "location": "querystring", + "locationName": "DeletionMode" } } } diff --git a/apis/sagemaker-featurestore-runtime-2020-07-01.normal.json b/apis/sagemaker-featurestore-runtime-2020-07-01.normal.json index eb7388337b..f2300c5623 100644 --- a/apis/sagemaker-featurestore-runtime-2020-07-01.normal.json +++ b/apis/sagemaker-featurestore-runtime-2020-07-01.normal.json @@ -63,7 +63,7 @@ "shape": "AccessForbidden" } ], - "documentation": "

Deletes a Record from a FeatureGroup. When the DeleteRecord API is called a new record will be added to the OfflineStore and the Record will be removed from the OnlineStore. This record will have a value of True in the is_deleted column.

" + "documentation": "

Deletes a Record from a FeatureGroup in the OnlineStore. Feature Store supports both SOFT_DELETE and HARD_DELETE. For SOFT_DELETE (default), feature columns are set to null and the record is no longer retrievable by GetRecord or BatchGetRecord. For HARD_DELETE, the complete Record is removed from the OnlineStore. In both cases, Feature Store appends the deleted record marker to the OfflineStore with feature values set to null, is_deleted value set to True, and EventTime set to the delete input EventTime.

Note that the EventTime specified in DeleteRecord should be set later than the EventTime of the existing record in the OnlineStore for that RecordIdentifer. If it is not, the deletion does not occur:

" }, "GetRecord": { "name": "GetRecord", @@ -142,11 +142,11 @@ }, "ErrorCode": { "shape": "ValueAsString", - "documentation": "

The error code of an error that has occured when attempting to retrieve a batch of Records. For more information on errors, see Errors.

" + "documentation": "

The error code of an error that has occurred when attempting to retrieve a batch of Records. For more information on errors, see Errors.

" }, "ErrorMessage": { "shape": "Message", - "documentation": "

The error message of an error that has occured when attempting to retrieve a record in the batch.

" + "documentation": "

The error message of an error that has occurred when attempting to retrieve a record in the batch.

" } }, "documentation": "

The error that has occurred when attempting to retrieve a batch of Records.

" @@ -236,7 +236,7 @@ }, "RecordIdentifierValueAsString": { "shape": "ValueAsString", - "documentation": "

The value of the record identifer in string format.

" + "documentation": "

The value of the record identifier in string format.

" }, "Record": { "shape": "Record", @@ -283,14 +283,27 @@ "documentation": "

A list of stores from which you're deleting the record. By default, Feature Store deletes the record from all of the stores that you're using for the FeatureGroup.

", "location": "querystring", "locationName": "TargetStores" + }, + "DeletionMode": { + "shape": "DeletionMode", + "documentation": "

The name of the deletion mode for deleting the record. By default, the deletion mode is set to SoftDelete.

", + "location": "querystring", + "locationName": "DeletionMode" } } }, + "DeletionMode": { + "type": "string", + "enum": [ + "SoftDelete", + "HardDelete" + ] + }, "FeatureGroupName": { "type": "string", "max": 64, "min": 1, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,63}" + "pattern": "^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63}" }, "FeatureName": { "type": "string", diff --git a/apis/sms-2016-10-24.min.json b/apis/sms-2016-10-24.min.json index e7b55ed182..3c1cb6b192 100644 --- a/apis/sms-2016-10-24.min.json +++ b/apis/sms-2016-10-24.min.json @@ -1074,5 +1074,7 @@ } } } - } + }, + "deprecated": true, + "deprecatedMessage": "AWS Server Migration Service is Deprecated." } \ No newline at end of file diff --git a/apis/sms-2016-10-24.normal.json b/apis/sms-2016-10-24.normal.json index e4a12ffbed..f216e2ba53 100644 --- a/apis/sms-2016-10-24.normal.json +++ b/apis/sms-2016-10-24.normal.json @@ -3158,5 +3158,7 @@ } } }, - "documentation": "

Product update

We recommend Amazon Web Services Application Migration Service (Amazon Web Services MGN) as the primary migration service for lift-and-shift migrations. If Amazon Web Services MGN is unavailable in a specific Amazon Web Services Region, you can use the Server Migration Service APIs through March 2023.

Server Migration Service (Server Migration Service) makes it easier and faster for you to migrate your on-premises workloads to Amazon Web Services. To learn more about Server Migration Service, see the following resources:

" + "documentation": "

Product update

We recommend Amazon Web Services Application Migration Service (Amazon Web Services MGN) as the primary migration service for lift-and-shift migrations. If Amazon Web Services MGN is unavailable in a specific Amazon Web Services Region, you can use the Server Migration Service APIs through March 2023.

Server Migration Service (Server Migration Service) makes it easier and faster for you to migrate your on-premises workloads to Amazon Web Services. To learn more about Server Migration Service, see the following resources:

", + "deprecated": true, + "deprecatedMessage": "AWS Server Migration Service is Deprecated." } \ No newline at end of file diff --git a/clients/ec2.d.ts b/clients/ec2.d.ts index 0d9a36663a..22adf70fb3 100644 --- a/clients/ec2.d.ts +++ b/clients/ec2.d.ts @@ -20550,7 +20550,7 @@ declare namespace EC2 { } export interface GetGroupsForCapacityReservationRequest { /** - * The ID of the Capacity Reservation. + * The ID of the Capacity Reservation. If you specify a Capacity Reservation that is shared with you, the operation returns only Capacity Reservation groups that you own. */ CapacityReservationId: CapacityReservationId; /** @@ -22849,7 +22849,7 @@ declare namespace EC2 { */ ElasticGpuAssociations?: ElasticGpuAssociationList; /** - * The elastic inference accelerator associated with the instance. + * The elastic inference accelerator associated with the instance. */ ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociationList; /** @@ -32645,7 +32645,7 @@ declare namespace EC2 { */ ElasticGpuSpecification?: ElasticGpuSpecifications; /** - * An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads. You cannot specify accelerators from different generations in the same request. + * An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads. You cannot specify accelerators from different generations in the same request. Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. */ ElasticInferenceAccelerators?: ElasticInferenceAccelerators; /** diff --git a/clients/internetmonitor.d.ts b/clients/internetmonitor.d.ts index b3c8b4592d..be55891fed 100644 --- a/clients/internetmonitor.d.ts +++ b/clients/internetmonitor.d.ts @@ -12,11 +12,11 @@ declare class InternetMonitor extends Service { constructor(options?: InternetMonitor.Types.ClientConfiguration) config: Config & InternetMonitor.Types.ClientConfiguration; /** - * Creates a monitor in Amazon CloudWatch Internet Monitor. A monitor is built based on information from the application resources that you add: Virtual Private Clouds (VPCs), Amazon CloudFront distributions, and WorkSpaces directories. After you create a monitor, you can view the internet performance for your application, scoped to a location, as well as any health events that are impairing traffic. Internet Monitor can also diagnose whether the impairment is on the Amazon Web Services network or is an issue with an internet service provider (ISP). + * Creates a monitor in Amazon CloudWatch Internet Monitor. A monitor is built based on information from the application resources that you add: Amazon Virtual Private Clouds (VPCs), Amazon CloudFront distributions, and WorkSpaces directories. Internet Monitor then publishes internet measurements from Amazon Web Services that are specific to the city-networks, that is, the locations and ASNs (typically internet service providers or ISPs), where clients access your application. For more information, see Using Amazon CloudWatch Internet Monitor in the Amazon CloudWatch User Guide. When you create a monitor, you set a maximum limit for the number of city-networks where client traffic is monitored. The city-network maximum that you choose is the limit, but you only pay for the number of city-networks that are actually monitored. You can change the maximum at any time by updating your monitor. For more information, see Choosing a city-network maximum value in the Amazon CloudWatch User Guide. */ createMonitor(params: InternetMonitor.Types.CreateMonitorInput, callback?: (err: AWSError, data: InternetMonitor.Types.CreateMonitorOutput) => void): Request; /** - * Creates a monitor in Amazon CloudWatch Internet Monitor. A monitor is built based on information from the application resources that you add: Virtual Private Clouds (VPCs), Amazon CloudFront distributions, and WorkSpaces directories. After you create a monitor, you can view the internet performance for your application, scoped to a location, as well as any health events that are impairing traffic. Internet Monitor can also diagnose whether the impairment is on the Amazon Web Services network or is an issue with an internet service provider (ISP). + * Creates a monitor in Amazon CloudWatch Internet Monitor. A monitor is built based on information from the application resources that you add: Amazon Virtual Private Clouds (VPCs), Amazon CloudFront distributions, and WorkSpaces directories. Internet Monitor then publishes internet measurements from Amazon Web Services that are specific to the city-networks, that is, the locations and ASNs (typically internet service providers or ISPs), where clients access your application. For more information, see Using Amazon CloudWatch Internet Monitor in the Amazon CloudWatch User Guide. When you create a monitor, you set a maximum limit for the number of city-networks where client traffic is monitored. The city-network maximum that you choose is the limit, but you only pay for the number of city-networks that are actually monitored. You can change the maximum at any time by updating your monitor. For more information, see Choosing a city-network maximum value in the Amazon CloudWatch User Guide. */ createMonitor(callback?: (err: AWSError, data: InternetMonitor.Types.CreateMonitorOutput) => void): Request; /** @@ -84,11 +84,11 @@ declare class InternetMonitor extends Service { */ untagResource(callback?: (err: AWSError, data: InternetMonitor.Types.UntagResourceOutput) => void): Request; /** - * Updates a monitor. You can update a monitor to add or remove resources, or to change the status of the monitor. You can't change the name of a monitor. + * Updates a monitor. You can update a monitor to change the maximum number of city-networks (locations and ASNs or internet service providers), to add or remove resources, or to change the status of the monitor. Note that you can't change the name of a monitor. The city-network maximum that you choose is the limit, but you only pay for the number of city-networks that are actually monitored. For more information, see Choosing a city-network maximum value in the Amazon CloudWatch User Guide. */ updateMonitor(params: InternetMonitor.Types.UpdateMonitorInput, callback?: (err: AWSError, data: InternetMonitor.Types.UpdateMonitorOutput) => void): Request; /** - * Updates a monitor. You can update a monitor to add or remove resources, or to change the status of the monitor. You can't change the name of a monitor. + * Updates a monitor. You can update a monitor to change the maximum number of city-networks (locations and ASNs or internet service providers), to add or remove resources, or to change the status of the monitor. Note that you can't change the name of a monitor. The city-network maximum that you choose is the limit, but you only pay for the number of city-networks that are actually monitored. For more information, see Choosing a city-network maximum value in the Amazon CloudWatch User Guide. */ updateMonitor(callback?: (err: AWSError, data: InternetMonitor.Types.UpdateMonitorOutput) => void): Request; } @@ -96,15 +96,15 @@ declare namespace InternetMonitor { export type Arn = string; export interface AvailabilityMeasurement { /** - * Experience scores, or health scores are calculated for different geographic and network provider combinations (that is, different granularities) and also summed into global scores. If you view performance or availability scores without filtering for any specific geography or service provider, Amazon CloudWatch Internet Monitor provides global health scores. The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide includes detailed information about how Internet Monitor calculates health scores, including performance and availability scores, and when it creates and resolves health events. For more information, see How Amazon Web Services calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. + * Experience scores, or health scores are calculated for different geographic and network provider combinations (that is, different granularities) and also summed into global scores. If you view performance or availability scores without filtering for any specific geography or service provider, Amazon CloudWatch Internet Monitor provides global health scores. The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide includes detailed information about how Internet Monitor calculates health scores, including performance and availability scores, and when it creates and resolves health events. For more information, see How Amazon Web Services calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. */ ExperienceScore?: Double; /** - * The percentage of impact caused by a health event for total traffic globally. For information about how Internet Monitor calculates impact, see Inside Internet Monitor in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide. + * The percentage of impact caused by a health event for total traffic globally. For information about how Internet Monitor calculates impact, see Inside Internet Monitor in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide. */ PercentOfTotalTrafficImpacted?: Double; /** - * The percentage of impact caused by a health event for client location traffic globally. For information about how Internet Monitor calculates impact, see Inside Internet Monitor in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide. + * The percentage of impact caused by a health event for client location traffic globally. For information about how Internet Monitor calculates impact, see Inside Internet Monitor in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide. */ PercentOfClientLocationImpacted?: Double; } @@ -126,9 +126,13 @@ declare namespace InternetMonitor { */ Tags?: TagMap; /** - * The maximum number of city-network combinations (that is, combinations of a city location and network, such as an ISP) to be monitored for your resources. + * The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network or ASN, such as an internet service provider (ISP), that clients access the resources through. This limit helps control billing costs. To learn more, see Choosing a city-network maximum value in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. */ MaxCityNetworksToMonitor: MaxCityNetworksToMonitor; + /** + * Publish internet measurements for Internet Monitor to another location, such as an Amazon S3 bucket. The measurements are also published to Amazon CloudWatch Logs. + */ + InternetMeasurementsLogDelivery?: InternetMeasurementsLogDelivery; } export interface CreateMonitorOutput { /** @@ -245,9 +249,13 @@ declare namespace InternetMonitor { */ Tags?: TagMap; /** - * The maximum number of city-network combinations (that is, combinations of a city location and network, such as an ISP) to be monitored for your resources. + * The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network or ASN, such as an internet service provider (ISP), that clients access the resources through. This limit helps control billing costs. To learn more, see Choosing a city-network maximum value in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. */ MaxCityNetworksToMonitor: MaxCityNetworksToMonitor; + /** + * Publish internet measurements for Internet Monitor to another location, such as an Amazon S3 bucket. The measurements are also published to Amazon CloudWatch Logs. + */ + InternetMeasurementsLogDelivery?: InternetMeasurementsLogDelivery; } export interface HealthEvent { /** @@ -356,14 +364,20 @@ declare namespace InternetMonitor { export type ImpactedLocationsList = ImpactedLocation[]; export interface InternetHealth { /** - * Availability in Internet Monitor represents the estimated percentage of traffic that is not seeing an availability drop. For example, an availability score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing an availability drop for that pair. For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide. + * Availability in Internet Monitor represents the estimated percentage of traffic that is not seeing an availability drop. For example, an availability score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing an availability drop for that pair. For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. */ Availability?: AvailabilityMeasurement; /** - * Performance in Internet Monitor represents the estimated percentage of traffic that is not seeing a performance drop. For example, a performance score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing a performance drop for that pair. For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide. + * Performance in Internet Monitor represents the estimated percentage of traffic that is not seeing a performance drop. For example, a performance score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing a performance drop for that pair. For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. */ Performance?: PerformanceMeasurement; } + export interface InternetMeasurementsLogDelivery { + /** + * The configuration information for publishing Internet Monitor internet measurements to Amazon S3. The configuration includes the bucket name and (optionally) prefix for the S3 bucket to store the measurements, and the delivery status. The delivery status is ENABLED or DISABLED, depending on whether you choose to deliver internet measurements to S3 logs. + */ + S3Config?: S3Config; + } export interface ListHealthEventsInput { /** * The name of the monitor. @@ -436,6 +450,7 @@ declare namespace InternetMonitor { */ Tags?: TagMap; } + export type LogDeliveryStatus = "ENABLED"|"DISABLED"|string; export type Long = number; export type MaxCityNetworksToMonitor = number; export type MaxResults = number; @@ -488,19 +503,19 @@ declare namespace InternetMonitor { export type NetworkList = Network[]; export interface PerformanceMeasurement { /** - * Experience scores, or health scores, are calculated for different geographic and network provider combinations (that is, different granularities) and also totaled into global scores. If you view performance or availability scores without filtering for any specific geography or service provider, Amazon CloudWatch Internet Monitor provides global health scores. The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide includes detailed information about how Internet Monitor calculates health scores, including performance and availability scores, and when it creates and resolves health events. For more information, see How Amazon Web Services calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. + * Experience scores, or health scores, are calculated for different geographic and network provider combinations (that is, different granularities) and also totaled into global scores. If you view performance or availability scores without filtering for any specific geography or service provider, Amazon CloudWatch Internet Monitor provides global health scores. The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide includes detailed information about how Internet Monitor calculates health scores, including performance and availability scores, and when it creates and resolves health events. For more information, see How Amazon Web Services calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. */ ExperienceScore?: Double; /** - * How much performance impact was caused by a health event for total traffic globally. For performance, this is the percentage of how much latency increased during the event compared to typical performance for your application traffic globally. For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. + * How much performance impact was caused by a health event for total traffic globally. For performance, this is the percentage of how much latency increased during the event compared to typical performance for your application traffic globally. For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. */ PercentOfTotalTrafficImpacted?: Double; /** - * How much performance impact was caused by a health event at a client location. For performance, this is the percentage of how much latency increased during the event compared to typical performance for traffic, from this client location to an Amazon Web Services location, using a specific client network. For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. + * How much performance impact was caused by a health event at a client location. For performance, this is the percentage of how much latency increased during the event compared to typical performance for traffic, from this client location to an Amazon Web Services location, using a specific client network. For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. */ PercentOfClientLocationImpacted?: Double; /** - * This is the percentage of how much round-trip time increased during the event compared to typical round-trip time for your application for traffic. For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. + * This is the percentage of how much round-trip time increased during the event compared to typical round-trip time for your application for traffic. For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide. */ RoundTripTime?: RoundTripTime; } @@ -519,6 +534,21 @@ declare namespace InternetMonitor { */ P95?: Double; } + export interface S3Config { + /** + * The Amazon S3 bucket name. + */ + BucketName?: S3ConfigBucketNameString; + /** + * The Amazon S3 bucket prefix. + */ + BucketPrefix?: String; + /** + * The status of publishing Internet Monitor internet measurements to an Amazon S3 bucket. + */ + LogDeliveryStatus?: LogDeliveryStatus; + } + export type S3ConfigBucketNameString = string; export type SetOfARNs = Arn[]; export type String = string; export type SyntheticTimestamp_date_time = Date; @@ -573,9 +603,13 @@ declare namespace InternetMonitor { */ ClientToken?: String; /** - * The maximum number of city-network combinations (that is, combinations of a city location and network, such as an ISP) to be monitored for your resources. + * The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network or ASN, such as an internet service provider, that clients access the resources through. */ MaxCityNetworksToMonitor?: MaxCityNetworksToMonitor; + /** + * Publish internet measurements for Internet Monitor to another location, such as an Amazon S3 bucket. The measurements are also published to Amazon CloudWatch Logs. + */ + InternetMeasurementsLogDelivery?: InternetMeasurementsLogDelivery; } export interface UpdateMonitorOutput { /** diff --git a/clients/resiliencehub.d.ts b/clients/resiliencehub.d.ts index af05bad1d1..f0fdb4be5f 100644 --- a/clients/resiliencehub.d.ts +++ b/clients/resiliencehub.d.ts @@ -20,11 +20,11 @@ declare class Resiliencehub extends Service { */ addDraftAppVersionResourceMappings(callback?: (err: AWSError, data: Resiliencehub.Types.AddDraftAppVersionResourceMappingsResponse) => void): Request; /** - * Creates an Resilience Hub application. An Resilience Hub application is a collection of Amazon Web Services resources structured to prevent and recover Amazon Web Services application disruptions. To describe a Resilience Hub application, you provide an application name, resources from one or more–up to five–CloudFormation stacks, and an appropriate resiliency policy. After you create an Resilience Hub application, you publish it so that you can run a resiliency assessment on it. You can then use recommendations from the assessment to improve resiliency by running another assessment, comparing results, and then iterating the process until you achieve your goals for recovery time objective (RTO) and recovery point objective (RPO). + * Creates an Resilience Hub application. An Resilience Hub application is a collection of Amazon Web Services resources structured to prevent and recover Amazon Web Services application disruptions. To describe a Resilience Hub application, you provide an application name, resources from one or more–up to 20–CloudFormation stacks, and an appropriate resiliency policy. After you create an Resilience Hub application, you publish it so that you can run a resiliency assessment on it. You can then use recommendations from the assessment to improve resiliency by running another assessment, comparing results, and then iterating the process until you achieve your goals for recovery time objective (RTO) and recovery point objective (RPO). */ createApp(params: Resiliencehub.Types.CreateAppRequest, callback?: (err: AWSError, data: Resiliencehub.Types.CreateAppResponse) => void): Request; /** - * Creates an Resilience Hub application. An Resilience Hub application is a collection of Amazon Web Services resources structured to prevent and recover Amazon Web Services application disruptions. To describe a Resilience Hub application, you provide an application name, resources from one or more–up to five–CloudFormation stacks, and an appropriate resiliency policy. After you create an Resilience Hub application, you publish it so that you can run a resiliency assessment on it. You can then use recommendations from the assessment to improve resiliency by running another assessment, comparing results, and then iterating the process until you achieve your goals for recovery time objective (RTO) and recovery point objective (RPO). + * Creates an Resilience Hub application. An Resilience Hub application is a collection of Amazon Web Services resources structured to prevent and recover Amazon Web Services application disruptions. To describe a Resilience Hub application, you provide an application name, resources from one or more–up to 20–CloudFormation stacks, and an appropriate resiliency policy. After you create an Resilience Hub application, you publish it so that you can run a resiliency assessment on it. You can then use recommendations from the assessment to improve resiliency by running another assessment, comparing results, and then iterating the process until you achieve your goals for recovery time objective (RTO) and recovery point objective (RPO). */ createApp(callback?: (err: AWSError, data: Resiliencehub.Types.CreateAppResponse) => void): Request; /** @@ -431,7 +431,7 @@ declare class Resiliencehub extends Service { declare namespace Resiliencehub { export interface AddDraftAppVersionResourceMappingsRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -441,7 +441,7 @@ declare namespace Resiliencehub { } export interface AddDraftAppVersionResourceMappingsResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -494,7 +494,7 @@ declare namespace Resiliencehub { export type AlarmType = "Metric"|"Composite"|"Canary"|"Logs"|"Event"|string; export interface App { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -544,7 +544,7 @@ declare namespace Resiliencehub { } export interface AppAssessment { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn?: Arn; /** @@ -611,7 +611,7 @@ declare namespace Resiliencehub { export type AppAssessmentScheduleType = "Disabled"|"Daily"|string; export interface AppAssessmentSummary { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn?: Arn; /** @@ -663,7 +663,7 @@ declare namespace Resiliencehub { export type AppComplianceStatusType = "PolicyBreached"|"PolicyMet"|"NotAssessed"|"ChangesDetected"|string; export interface AppComponent { /** - * Additional configuration parameters for an AWS Resilience Hub application. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" + * Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" */ additionalInfo?: AdditionalInfoMap; /** @@ -737,7 +737,7 @@ declare namespace Resiliencehub { export type AppStatusType = "Active"|"Deleting"|string; export interface AppSummary { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -901,7 +901,7 @@ declare namespace Resiliencehub { */ additionalInfo?: AdditionalInfoMap; /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -923,7 +923,7 @@ declare namespace Resiliencehub { } export interface CreateAppVersionAppComponentResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -931,7 +931,7 @@ declare namespace Resiliencehub { */ appComponent?: AppComponent; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; } @@ -941,11 +941,11 @@ declare namespace Resiliencehub { */ additionalInfo?: AdditionalInfoMap; /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * The list of Application Components that this resource belongs to. If an Application Component is not part of the AWS Resilience Hub application, it will be added. + * The list of Application Components that this resource belongs to. If an Application Component is not part of the Resilience Hub application, it will be added. */ appComponents: AppComponentNameList; /** @@ -979,11 +979,11 @@ declare namespace Resiliencehub { } export interface CreateAppVersionResourceResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; /** @@ -1092,7 +1092,7 @@ declare namespace Resiliencehub { } export interface DeleteAppInputSourceRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1114,7 +1114,7 @@ declare namespace Resiliencehub { } export interface DeleteAppInputSourceResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn?: Arn; /** @@ -1124,7 +1124,7 @@ declare namespace Resiliencehub { } export interface DeleteAppRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1138,13 +1138,13 @@ declare namespace Resiliencehub { } export interface DeleteAppResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; } export interface DeleteAppVersionAppComponentRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1158,7 +1158,7 @@ declare namespace Resiliencehub { } export interface DeleteAppVersionAppComponentResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1166,13 +1166,13 @@ declare namespace Resiliencehub { */ appComponent?: AppComponent; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; } export interface DeleteAppVersionResourceRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1202,11 +1202,11 @@ declare namespace Resiliencehub { } export interface DeleteAppVersionResourceResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; /** @@ -1264,7 +1264,7 @@ declare namespace Resiliencehub { } export interface DescribeAppRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; } @@ -1276,11 +1276,11 @@ declare namespace Resiliencehub { } export interface DescribeAppVersionAppComponentRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; /** @@ -1290,7 +1290,7 @@ declare namespace Resiliencehub { } export interface DescribeAppVersionAppComponentResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1298,27 +1298,27 @@ declare namespace Resiliencehub { */ appComponent?: AppComponent; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; } export interface DescribeAppVersionRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; } export interface DescribeAppVersionResourceRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; /** @@ -1344,11 +1344,11 @@ declare namespace Resiliencehub { } export interface DescribeAppVersionResourceResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; /** @@ -1358,7 +1358,7 @@ declare namespace Resiliencehub { } export interface DescribeAppVersionResourcesResolutionStatusRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1372,7 +1372,7 @@ declare namespace Resiliencehub { } export interface DescribeAppVersionResourcesResolutionStatusResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1394,21 +1394,21 @@ declare namespace Resiliencehub { } export interface DescribeAppVersionResponse { /** - * Additional configuration parameters for an AWS Resilience Hub application. Currently, this parameter supports only failover region and account. + * Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters. Currently, this parameter supports only failover region and account. */ additionalInfo?: AdditionalInfoMap; /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; } export interface DescribeAppVersionTemplateRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1418,11 +1418,11 @@ declare namespace Resiliencehub { } export interface DescribeAppVersionTemplateResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * A JSON string that provides information about your application structure. To learn more about the appTemplateBody template, see the sample template provided in the Examples section. The appTemplateBody JSON string has the following structure: resources The list of logical resources that needs to be included in the Resilience Hub application. Type: Array Don't add the resources that you want to exclude. Each resources array item includes the following fields: logicalResourceId The logical identifier of the resource. Type: Object Each logicalResourceId object includes the following fields: identifier The identifier of the resource. Type: String logicalStackName The name of the CloudFormation stack this resource belongs to. Type: String resourceGroupName The name of the resource group this resource belongs to. Type: String terraformSourceName The name of the Terraform S3 state file this resource belongs to. Type: String type The type of resource. Type: string name The name of the resource. Type: String additionalInfo Additional configuration parameters for an AWS Resilience Hub application. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" appComponents The list of Application Components that this resource belongs to. If an Application Component is not part of the AWS Resilience Hub application, it will be added. Type: Array Each appComponents array item includes the following fields: name The name of the Application Component. Type: String type The type of Application Component. For more information about the types of Application Component, see Grouping resources in an AppComponent. Type: String resourceNames The list of included resources that are assigned to the Application Component. Type: Array of strings additionalInfo Additional configuration parameters for an AWS Resilience Hub application. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" excludedResources The list of logical resource identifiers to be excluded from the application. Type: Array Don't add the resources that you want to include. Each excludedResources array item includes the following fields: logicalResourceIds The logical identifier of the resource. Type: Object You can configure only one of the following fields: logicalStackName resourceGroupName terraformSourceName Each logicalResourceIds object includes the following fields: identifier The identifier of the resource. Type: String logicalStackName The name of the CloudFormation stack this resource belongs to. Type: String resourceGroupName The name of the resource group this resource belongs to. Type: String terraformSourceName The name of the Terraform S3 state file this resource belongs to. Type: String version The AWS Resilience Hub application version. additionalInfo Additional configuration parameters for an AWS Resilience Hub application. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" + * A JSON string that provides information about your application structure. To learn more about the appTemplateBody template, see the sample template provided in the Examples section. The appTemplateBody JSON string has the following structure: resources The list of logical resources that must be included in the Resilience Hub application. Type: Array Don't add the resources that you want to exclude. Each resources array item includes the following fields: logicalResourceId The logical identifier of the resource. Type: Object Each logicalResourceId object includes the following fields: identifier The identifier of the resource. Type: String logicalStackName The name of the CloudFormation stack this resource belongs to. Type: String resourceGroupName The name of the resource group this resource belongs to. Type: String terraformSourceName The name of the Terraform S3 state file this resource belongs to. Type: String eksSourceName The name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to. This parameter accepts values in "eks-cluster/namespace" format. Type: String type The type of resource. Type: string name The name of the resource. Type: String additionalInfo Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" appComponents The list of Application Components that this resource belongs to. If an Application Component is not part of the Resilience Hub application, it will be added. Type: Array Each appComponents array item includes the following fields: name The name of the Application Component. Type: String type The type of Application Component. For more information about the types of Application Component, see Grouping resources in an AppComponent. Type: String resourceNames The list of included resources that are assigned to the Application Component. Type: Array of strings additionalInfo Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" excludedResources The list of logical resource identifiers to be excluded from the application. Type: Array Don't add the resources that you want to include. Each excludedResources array item includes the following fields: logicalResourceIds The logical identifier of the resource. Type: Object You can configure only one of the following fields: logicalStackName resourceGroupName terraformSourceName eksSourceName Each logicalResourceIds object includes the following fields: identifier The identifier of the resource. Type: String logicalStackName The name of the CloudFormation stack this resource belongs to. Type: String resourceGroupName The name of the resource group this resource belongs to. Type: String terraformSourceName The name of the Terraform S3 state file this resource belongs to. Type: String eksSourceName The name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to. This parameter accepts values in "eks-cluster/namespace" format. Type: String version The Resilience Hub application version. additionalInfo Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" */ appTemplateBody: AppTemplateBody; /** @@ -1432,13 +1432,13 @@ declare namespace Resiliencehub { } export interface DescribeDraftAppVersionResourcesImportStatusRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; } export interface DescribeDraftAppVersionResourcesImportStatusResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1560,7 +1560,7 @@ declare namespace Resiliencehub { export type HaArchitecture = "MultiSite"|"WarmStandby"|"PilotLight"|"BackupAndRestore"|"NoRecoveryPlan"|string; export interface ImportResourcesToDraftAppVersionRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1582,7 +1582,7 @@ declare namespace Resiliencehub { } export interface ImportResourcesToDraftAppVersionResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1633,7 +1633,7 @@ declare namespace Resiliencehub { } export interface ListAppAssessmentsRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn?: Arn; /** @@ -1725,11 +1725,11 @@ declare namespace Resiliencehub { } export interface ListAppInputSourcesRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; /** @@ -1753,7 +1753,7 @@ declare namespace Resiliencehub { } export interface ListAppVersionAppComponentsRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1761,7 +1761,7 @@ declare namespace Resiliencehub { */ appVersion: EntityVersion; /** - * Maximum number of Application Components to be displayed per AWS Resilience Hub application version. + * Maximum number of Application Components to be displayed per Resilience Hub application version. */ maxResults?: MaxResults; /** @@ -1771,7 +1771,7 @@ declare namespace Resiliencehub { } export interface ListAppVersionAppComponentsResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1779,7 +1779,7 @@ declare namespace Resiliencehub { */ appComponents?: AppComponentList; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; /** @@ -1789,7 +1789,7 @@ declare namespace Resiliencehub { } export interface ListAppVersionResourceMappingsRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1817,7 +1817,7 @@ declare namespace Resiliencehub { } export interface ListAppVersionResourcesRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1853,7 +1853,7 @@ declare namespace Resiliencehub { } export interface ListAppVersionsRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -1877,7 +1877,7 @@ declare namespace Resiliencehub { } export interface ListAppsRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn?: Arn; /** @@ -2049,7 +2049,7 @@ declare namespace Resiliencehub { } export interface ListUnsupportedAppVersionResourcesRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -2110,7 +2110,7 @@ declare namespace Resiliencehub { export type PhysicalIdentifierType = "Arn"|"Native"|string; export interface PhysicalResource { /** - * Additional configuration parameters for an AWS Resilience Hub application. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" + * Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" */ additionalInfo?: AdditionalInfoMap; /** @@ -2159,13 +2159,13 @@ declare namespace Resiliencehub { export type PhysicalResourceList = PhysicalResource[]; export interface PublishAppVersionRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; } export interface PublishAppVersionResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -2175,17 +2175,17 @@ declare namespace Resiliencehub { } export interface PutDraftAppVersionTemplateRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * A JSON string that provides information about your application structure. To learn more about the appTemplateBody template, see the sample template provided in the Examples section. The appTemplateBody JSON string has the following structure: resources The list of logical resources that needs to be included in the Resilience Hub application. Type: Array Don't add the resources that you want to exclude. Each resources array item includes the following fields: logicalResourceId The logical identifier of the resource. Type: Object Each logicalResourceId object includes the following fields: identifier The identifier of the resource. Type: String logicalStackName The name of the CloudFormation stack this resource belongs to. Type: String resourceGroupName The name of the resource group this resource belongs to. Type: String terraformSourceName The name of the Terraform S3 state file this resource belongs to. Type: String type The type of resource. Type: string name The name of the resource. Type: String additionalInfo Additional configuration parameters for an AWS Resilience Hub application. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" appComponents The list of Application Components that this resource belongs to. If an Application Component is not part of the AWS Resilience Hub application, it will be added. Type: Array Each appComponents array item includes the following fields: name The name of the Application Component. Type: String type The type of Application Component. For more information about the types of Application Component, see Grouping resources in an AppComponent. Type: String resourceNames The list of included resources that are assigned to the Application Component. Type: Array of strings additionalInfo Additional configuration parameters for an AWS Resilience Hub application. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" excludedResources The list of logical resource identifiers to be excluded from the application. Type: Array Don't add the resources that you want to include. Each excludedResources array item includes the following fields: logicalResourceIds The logical identifier of the resource. Type: Object You can configure only one of the following fields: logicalStackName resourceGroupName terraformSourceName Each logicalResourceIds object includes the following fields: identifier The identifier of the resource. Type: String logicalStackName The name of the CloudFormation stack this resource belongs to. Type: String resourceGroupName The name of the resource group this resource belongs to. Type: String terraformSourceName The name of the Terraform S3 state file this resource belongs to. Type: String version The AWS Resilience Hub application version. additionalInfo Additional configuration parameters for an AWS Resilience Hub application. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" + * A JSON string that provides information about your application structure. To learn more about the appTemplateBody template, see the sample template provided in the Examples section. The appTemplateBody JSON string has the following structure: resources The list of logical resources that must be included in the Resilience Hub application. Type: Array Don't add the resources that you want to exclude. Each resources array item includes the following fields: logicalResourceId The logical identifier of the resource. Type: Object Each logicalResourceId object includes the following fields: identifier The identifier of the resource. Type: String logicalStackName The name of the CloudFormation stack this resource belongs to. Type: String resourceGroupName The name of the resource group this resource belongs to. Type: String terraformSourceName The name of the Terraform S3 state file this resource belongs to. Type: String eksSourceName The name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to. This parameter accepts values in "eks-cluster/namespace" format. Type: String type The type of resource. Type: string name The name of the resource. Type: String additionalInfo Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" appComponents The list of Application Components that this resource belongs to. If an Application Component is not part of the Resilience Hub application, it will be added. Type: Array Each appComponents array item includes the following fields: name The name of the Application Component. Type: String type The type of Application Component. For more information about the types of Application Component, see Grouping resources in an AppComponent. Type: String resourceNames The list of included resources that are assigned to the Application Component. Type: Array of strings additionalInfo Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" excludedResources The list of logical resource identifiers to be excluded from the application. Type: Array Don't add the resources that you want to include. Each excludedResources array item includes the following fields: logicalResourceIds The logical identifier of the resource. Type: Object You can configure only one of the following fields: logicalStackName resourceGroupName terraformSourceName eksSourceName Each logicalResourceIds object includes the following fields: identifier The identifier of the resource. Type: String logicalStackName The name of the CloudFormation stack this resource belongs to. Type: String resourceGroupName The name of the resource group this resource belongs to. Type: String terraformSourceName The name of the Terraform S3 state file this resource belongs to. Type: String eksSourceName The name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to. This parameter accepts values in "eks-cluster/namespace" format. Type: String version The Resilience Hub application version. additionalInfo Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" */ appTemplateBody: AppTemplateBody; } export interface PutDraftAppVersionTemplateResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn?: Arn; /** @@ -2239,7 +2239,7 @@ declare namespace Resiliencehub { export type RecommendationItemList = RecommendationItem[]; export interface RecommendationTemplate { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn?: Arn; /** @@ -2300,7 +2300,7 @@ declare namespace Resiliencehub { export type RecommendationTemplateStatusList = RecommendationTemplateStatus[]; export interface RemoveDraftAppVersionResourceMappingsRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -2330,7 +2330,7 @@ declare namespace Resiliencehub { } export interface RemoveDraftAppVersionResourceMappingsResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn?: Arn; /** @@ -2392,7 +2392,7 @@ declare namespace Resiliencehub { } export interface ResolveAppVersionResourcesRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -2402,7 +2402,7 @@ declare namespace Resiliencehub { } export interface ResolveAppVersionResourcesResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -2459,7 +2459,7 @@ declare namespace Resiliencehub { */ logicalStackName?: String255; /** - * Specifies the type of resource mapping. AppRegistryApp The resource is mapped to another application. The name of the application is contained in the appRegistryAppName property. CfnStack The resource is mapped to a CloudFormation stack. The name of the CloudFormation stack is contained in the logicalStackName property. Resource The resource is mapped to another resource. The name of the resource is contained in the resourceName property. ResourceGroup The resource is mapped to an Resource Groups. The name of the resource group is contained in the resourceGroupName property. + * Specifies the type of resource mapping. AppRegistryApp The resource is mapped to another application. The name of the application is contained in the appRegistryAppName property. CfnStack The resource is mapped to a CloudFormation stack. The name of the CloudFormation stack is contained in the logicalStackName property. Resource The resource is mapped to another resource. The name of the resource is contained in the resourceName property. ResourceGroup The resource is mapped to Resource Groups. The name of the resource group is contained in the resourceGroupName property. */ mappingType: ResourceMappingType; /** @@ -2533,7 +2533,7 @@ declare namespace Resiliencehub { export type SpecReferenceId = string; export interface StartAppAssessmentRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -2654,7 +2654,7 @@ declare namespace Resiliencehub { */ resourceType: String255; /** - * The status of unsupported resource. + * The status of the unsupported resource. */ unsupportedResourceStatus?: String255; } @@ -2673,7 +2673,7 @@ declare namespace Resiliencehub { } export interface UpdateAppRequest { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -2705,7 +2705,7 @@ declare namespace Resiliencehub { */ additionalInfo?: AdditionalInfoMap; /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -2723,7 +2723,7 @@ declare namespace Resiliencehub { } export interface UpdateAppVersionAppComponentResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** @@ -2731,17 +2731,17 @@ declare namespace Resiliencehub { */ appComponent?: AppComponent; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; } export interface UpdateAppVersionRequest { /** - * Additional configuration parameters for an AWS Resilience Hub application. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" + * Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters. Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account. Key: "failover-regions" Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]" */ additionalInfo?: AdditionalInfoMap; /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; } @@ -2751,11 +2751,11 @@ declare namespace Resiliencehub { */ additionalInfo?: AdditionalInfoMap; /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * The list of Application Components that this resource belongs to. If an Application Component is not part of the AWS Resilience Hub application, it will be added. + * The list of Application Components that this resource belongs to. If an Application Component is not part of the Resilience Hub application, it will be added. */ appComponents?: AppComponentNameList; /** @@ -2789,11 +2789,11 @@ declare namespace Resiliencehub { } export interface UpdateAppVersionResourceResponse { /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; /** @@ -2803,15 +2803,15 @@ declare namespace Resiliencehub { } export interface UpdateAppVersionResponse { /** - * Additional configuration parameters for an AWS Resilience Hub application. Currently, this parameter supports only failover region and account. + * Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the application configuration parameters. Currently, this parameter supports only failover region and account. */ additionalInfo?: AdditionalInfoMap; /** - * The Amazon Resource Name (ARN) of the AWS Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. + * The Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide. */ appArn: Arn; /** - * The AWS Resilience Hub application version. + * The Resilience Hub application version. */ appVersion: EntityVersion; } diff --git a/clients/s3.d.ts b/clients/s3.d.ts index e7d7ff8437..59c0d76746 100644 --- a/clients/s3.d.ts +++ b/clients/s3.d.ts @@ -26,19 +26,19 @@ declare class S3 extends S3Customizations { */ abortMultipartUpload(callback?: (err: AWSError, data: S3.Types.AbortMultipartUploadOutput) => void): Request; /** - * Completes a multipart upload by assembling previously uploaded parts. You first initiate the multipart upload and then upload all parts using the UploadPart operation. After successfully uploading all relevant parts of an upload, you call this action to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the Complete Multipart Upload request, you must provide the parts list. You must ensure that the parts list is complete. This action concatenates the parts that you provide in the list. For each part in the list, you must provide the part number and the ETag value, returned after that part was uploaded. Processing of a Complete Multipart Upload request could take several minutes to complete. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. Because a request could fail after the initial 200 OK response has been sent, it is important that you check the response body to determine whether the request succeeded. Note that if CompleteMultipartUpload fails, applications should be prepared to retry the failed requests. For more information, see Amazon S3 Error Best Practices. You cannot use Content-Type: application/x-www-form-urlencoded with Complete Multipart Upload requests. Also, if you do not provide a Content-Type header, CompleteMultipartUpload returns a 200 OK response. For more information about multipart uploads, see Uploading Objects Using Multipart Upload. For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions. CompleteMultipartUpload has the following special errors: Error code: EntityTooSmall Description: Your proposed upload is smaller than the minimum allowed object size. Each part must be at least 5 MB in size, except the last part. 400 Bad Request Error code: InvalidPart Description: One or more of the specified parts could not be found. The part might not have been uploaded, or the specified entity tag might not have matched the part's entity tag. 400 Bad Request Error code: InvalidPartOrder Description: The list of parts was not in ascending order. The parts list must be specified in order by part number. 400 Bad Request Error code: NoSuchUpload Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. 404 Not Found The following operations are related to CompleteMultipartUpload: CreateMultipartUpload UploadPart AbortMultipartUpload ListParts ListMultipartUploads + * Completes a multipart upload by assembling previously uploaded parts. You first initiate the multipart upload and then upload all parts using the UploadPart operation. After successfully uploading all relevant parts of an upload, you call this action to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the Complete Multipart Upload request, you must provide the parts list. You must ensure that the parts list is complete. This action concatenates the parts that you provide in the list. For each part in the list, you must provide the part number and the ETag value, returned after that part was uploaded. Processing of a Complete Multipart Upload request could take several minutes to complete. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. A request could fail after the initial 200 OK response has been sent. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error). Note that if CompleteMultipartUpload fails, applications should be prepared to retry the failed requests. For more information, see Amazon S3 Error Best Practices. You cannot use Content-Type: application/x-www-form-urlencoded with Complete Multipart Upload requests. Also, if you do not provide a Content-Type header, CompleteMultipartUpload returns a 200 OK response. For more information about multipart uploads, see Uploading Objects Using Multipart Upload. For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions. CompleteMultipartUpload has the following special errors: Error code: EntityTooSmall Description: Your proposed upload is smaller than the minimum allowed object size. Each part must be at least 5 MB in size, except the last part. 400 Bad Request Error code: InvalidPart Description: One or more of the specified parts could not be found. The part might not have been uploaded, or the specified entity tag might not have matched the part's entity tag. 400 Bad Request Error code: InvalidPartOrder Description: The list of parts was not in ascending order. The parts list must be specified in order by part number. 400 Bad Request Error code: NoSuchUpload Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. 404 Not Found The following operations are related to CompleteMultipartUpload: CreateMultipartUpload UploadPart AbortMultipartUpload ListParts ListMultipartUploads */ completeMultipartUpload(params: S3.Types.CompleteMultipartUploadRequest, callback?: (err: AWSError, data: S3.Types.CompleteMultipartUploadOutput) => void): Request; /** - * Completes a multipart upload by assembling previously uploaded parts. You first initiate the multipart upload and then upload all parts using the UploadPart operation. After successfully uploading all relevant parts of an upload, you call this action to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the Complete Multipart Upload request, you must provide the parts list. You must ensure that the parts list is complete. This action concatenates the parts that you provide in the list. For each part in the list, you must provide the part number and the ETag value, returned after that part was uploaded. Processing of a Complete Multipart Upload request could take several minutes to complete. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. Because a request could fail after the initial 200 OK response has been sent, it is important that you check the response body to determine whether the request succeeded. Note that if CompleteMultipartUpload fails, applications should be prepared to retry the failed requests. For more information, see Amazon S3 Error Best Practices. You cannot use Content-Type: application/x-www-form-urlencoded with Complete Multipart Upload requests. Also, if you do not provide a Content-Type header, CompleteMultipartUpload returns a 200 OK response. For more information about multipart uploads, see Uploading Objects Using Multipart Upload. For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions. CompleteMultipartUpload has the following special errors: Error code: EntityTooSmall Description: Your proposed upload is smaller than the minimum allowed object size. Each part must be at least 5 MB in size, except the last part. 400 Bad Request Error code: InvalidPart Description: One or more of the specified parts could not be found. The part might not have been uploaded, or the specified entity tag might not have matched the part's entity tag. 400 Bad Request Error code: InvalidPartOrder Description: The list of parts was not in ascending order. The parts list must be specified in order by part number. 400 Bad Request Error code: NoSuchUpload Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. 404 Not Found The following operations are related to CompleteMultipartUpload: CreateMultipartUpload UploadPart AbortMultipartUpload ListParts ListMultipartUploads + * Completes a multipart upload by assembling previously uploaded parts. You first initiate the multipart upload and then upload all parts using the UploadPart operation. After successfully uploading all relevant parts of an upload, you call this action to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the Complete Multipart Upload request, you must provide the parts list. You must ensure that the parts list is complete. This action concatenates the parts that you provide in the list. For each part in the list, you must provide the part number and the ETag value, returned after that part was uploaded. Processing of a Complete Multipart Upload request could take several minutes to complete. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. A request could fail after the initial 200 OK response has been sent. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error). Note that if CompleteMultipartUpload fails, applications should be prepared to retry the failed requests. For more information, see Amazon S3 Error Best Practices. You cannot use Content-Type: application/x-www-form-urlencoded with Complete Multipart Upload requests. Also, if you do not provide a Content-Type header, CompleteMultipartUpload returns a 200 OK response. For more information about multipart uploads, see Uploading Objects Using Multipart Upload. For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions. CompleteMultipartUpload has the following special errors: Error code: EntityTooSmall Description: Your proposed upload is smaller than the minimum allowed object size. Each part must be at least 5 MB in size, except the last part. 400 Bad Request Error code: InvalidPart Description: One or more of the specified parts could not be found. The part might not have been uploaded, or the specified entity tag might not have matched the part's entity tag. 400 Bad Request Error code: InvalidPartOrder Description: The list of parts was not in ascending order. The parts list must be specified in order by part number. 400 Bad Request Error code: NoSuchUpload Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. 404 Not Found The following operations are related to CompleteMultipartUpload: CreateMultipartUpload UploadPart AbortMultipartUpload ListParts ListMultipartUploads */ completeMultipartUpload(callback?: (err: AWSError, data: S3.Types.CompleteMultipartUploadOutput) => void): Request; /** - * Creates a copy of an object that is already stored in Amazon S3. You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API. All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account. A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. Design your application to parse the contents of the response and handle it appropriately. If the copy is successful, you receive a response with information about the copied object. If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body. The copy request charge is based on the storage class and Region that you specify for the destination object. For pricing information, see Amazon S3 pricing. Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration. Metadata When copying an object, you can preserve all metadata (default) or specify new metadata. However, the ACL is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs. To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3. x-amz-copy-source-if Headers To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters: x-amz-copy-source-if-match x-amz-copy-source-if-none-match x-amz-copy-source-if-unmodified-since x-amz-copy-source-if-modified-since If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data: x-amz-copy-source-if-match condition evaluates to true x-amz-copy-source-if-unmodified-since condition evaluates to false If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code: x-amz-copy-source-if-none-match condition evaluates to false x-amz-copy-source-if-modified-since condition evaluates to true All headers with the x-amz- prefix, including x-amz-copy-source, must be signed. Server-side encryption When you perform a CopyObject operation, you can optionally use the appropriate encryption-related headers to encrypt the object using server-side encryption with Amazon Web Services managed encryption keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. For more information about server-side encryption, see Using Server-Side Encryption. If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide. Access Control List (ACL)-Specific Request Headers When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API. If the bucket that you're copying objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format. For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner. Checksums When copying an object, if it has a checksum, that checksum will be copied to the new object by default. When you copy the object over, you may optionally specify a different checksum algorithm to use with the x-amz-checksum-algorithm header. Storage Class Options You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide. Versioning By default, x-amz-copy-source identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource. If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response. If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null. If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject. The following operations are related to CopyObject: PutObject GetObject For more information, see Copying Objects. + * Creates a copy of an object that is already stored in Amazon S3. You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API. All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account. A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error). If the copy is successful, you receive a response with information about the copied object. If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body. The copy request charge is based on the storage class and Region that you specify for the destination object. For pricing information, see Amazon S3 pricing. Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration. Metadata When copying an object, you can preserve all metadata (default) or specify new metadata. However, the ACL is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs. To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3. x-amz-website-redirect-location is unique to each object and must be specified in the request headers to copy the value. x-amz-copy-source-if Headers To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters: x-amz-copy-source-if-match x-amz-copy-source-if-none-match x-amz-copy-source-if-unmodified-since x-amz-copy-source-if-modified-since If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data: x-amz-copy-source-if-match condition evaluates to true x-amz-copy-source-if-unmodified-since condition evaluates to false If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code: x-amz-copy-source-if-none-match condition evaluates to false x-amz-copy-source-if-modified-since condition evaluates to true All headers with the x-amz- prefix, including x-amz-copy-source, must be signed. Server-side encryption Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket. When copying an object, if you don't specify encryption information in your copy request, the encryption setting of the target object is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the target object copy. When you perform a CopyObject operation, if you want to use a different type of encryption setting for the target object, you can use other appropriate encryption-related headers to encrypt the target object with a KMS key, an Amazon S3 managed key, or a customer-provided key. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If the source object for the copy is stored in Amazon S3 using SSE-C, you must provide the necessary encryption information in your request so that Amazon S3 can decrypt the object for copying. For more information about server-side encryption, see Using Server-Side Encryption. If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide. Access Control List (ACL)-Specific Request Headers When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API. If the bucket that you're copying objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format. For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner. Checksums When copying an object, if it has a checksum, that checksum will be copied to the new object by default. When you copy the object over, you may optionally specify a different checksum algorithm to use with the x-amz-checksum-algorithm header. Storage Class Options You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide. Versioning By default, x-amz-copy-source identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource. If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response. If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null. If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject. The following operations are related to CopyObject: PutObject GetObject For more information, see Copying Objects. */ copyObject(params: S3.Types.CopyObjectRequest, callback?: (err: AWSError, data: S3.Types.CopyObjectOutput) => void): Request; /** - * Creates a copy of an object that is already stored in Amazon S3. You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API. All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account. A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. Design your application to parse the contents of the response and handle it appropriately. If the copy is successful, you receive a response with information about the copied object. If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body. The copy request charge is based on the storage class and Region that you specify for the destination object. For pricing information, see Amazon S3 pricing. Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration. Metadata When copying an object, you can preserve all metadata (default) or specify new metadata. However, the ACL is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs. To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3. x-amz-copy-source-if Headers To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters: x-amz-copy-source-if-match x-amz-copy-source-if-none-match x-amz-copy-source-if-unmodified-since x-amz-copy-source-if-modified-since If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data: x-amz-copy-source-if-match condition evaluates to true x-amz-copy-source-if-unmodified-since condition evaluates to false If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code: x-amz-copy-source-if-none-match condition evaluates to false x-amz-copy-source-if-modified-since condition evaluates to true All headers with the x-amz- prefix, including x-amz-copy-source, must be signed. Server-side encryption When you perform a CopyObject operation, you can optionally use the appropriate encryption-related headers to encrypt the object using server-side encryption with Amazon Web Services managed encryption keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. For more information about server-side encryption, see Using Server-Side Encryption. If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide. Access Control List (ACL)-Specific Request Headers When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API. If the bucket that you're copying objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format. For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner. Checksums When copying an object, if it has a checksum, that checksum will be copied to the new object by default. When you copy the object over, you may optionally specify a different checksum algorithm to use with the x-amz-checksum-algorithm header. Storage Class Options You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide. Versioning By default, x-amz-copy-source identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource. If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response. If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null. If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject. The following operations are related to CopyObject: PutObject GetObject For more information, see Copying Objects. + * Creates a copy of an object that is already stored in Amazon S3. You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API. All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account. A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error). If the copy is successful, you receive a response with information about the copied object. If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body. The copy request charge is based on the storage class and Region that you specify for the destination object. For pricing information, see Amazon S3 pricing. Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration. Metadata When copying an object, you can preserve all metadata (default) or specify new metadata. However, the ACL is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs. To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3. x-amz-website-redirect-location is unique to each object and must be specified in the request headers to copy the value. x-amz-copy-source-if Headers To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters: x-amz-copy-source-if-match x-amz-copy-source-if-none-match x-amz-copy-source-if-unmodified-since x-amz-copy-source-if-modified-since If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data: x-amz-copy-source-if-match condition evaluates to true x-amz-copy-source-if-unmodified-since condition evaluates to false If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code: x-amz-copy-source-if-none-match condition evaluates to false x-amz-copy-source-if-modified-since condition evaluates to true All headers with the x-amz- prefix, including x-amz-copy-source, must be signed. Server-side encryption Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket. When copying an object, if you don't specify encryption information in your copy request, the encryption setting of the target object is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the target object copy. When you perform a CopyObject operation, if you want to use a different type of encryption setting for the target object, you can use other appropriate encryption-related headers to encrypt the target object with a KMS key, an Amazon S3 managed key, or a customer-provided key. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If the source object for the copy is stored in Amazon S3 using SSE-C, you must provide the necessary encryption information in your request so that Amazon S3 can decrypt the object for copying. For more information about server-side encryption, see Using Server-Side Encryption. If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide. Access Control List (ACL)-Specific Request Headers When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API. If the bucket that you're copying objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format. For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner. Checksums When copying an object, if it has a checksum, that checksum will be copied to the new object by default. When you copy the object over, you may optionally specify a different checksum algorithm to use with the x-amz-checksum-algorithm header. Storage Class Options You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide. Versioning By default, x-amz-copy-source identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource. If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response. If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null. If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject. The following operations are related to CopyObject: PutObject GetObject For more information, see Copying Objects. */ copyObject(callback?: (err: AWSError, data: S3.Types.CopyObjectOutput) => void): Request; /** @@ -50,11 +50,11 @@ declare class S3 extends S3Customizations { */ createBucket(callback?: (err: AWSError, data: S3.Types.CreateBucketOutput) => void): Request; /** - * This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request. For more information about multipart uploads, see Multipart Upload Overview. If you have configured a lifecycle rule to abort incomplete multipart uploads, the upload must complete within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy. For information about the permissions required to use the multipart upload API, see Multipart Upload and Permissions. For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4). After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stop charging you for storing them only after you either complete or abort a multipart upload. You can optionally request server-side encryption. For server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You can provide your own encryption key, or use Amazon Web Services KMS keys or Amazon S3-managed encryption keys. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. To perform a multipart upload with encryption using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions in the Amazon S3 User Guide. If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role belongs to a different account than the key, then you must have the permissions on both the key policy and your IAM user or role. For more information, see Protecting Data Using Server-Side Encryption. Access Permissions When copying an object, you can optionally specify the accounts or groups that should be granted specific permissions on the new object. There are two ways to grant the permissions using the request headers: Specify a canned ACL with the x-amz-acl request header. For more information, see Canned ACL. Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You can use either a canned ACL or specify access permissions explicitly. You cannot do both. Server-Side- Encryption-Specific Request Headers You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. The option you use depends on whether you want to use Amazon Web Services managed encryption keys or provide your own encryption key. Use encryption keys managed by Amazon S3 or customer managed key stored in Amazon Web Services Key Management Service (Amazon Web Services KMS) – If you want Amazon Web Services to manage the keys used to encrypt data, specify the following headers in the request. x-amz-server-side-encryption x-amz-server-side-encryption-aws-kms-key-id x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key in Amazon Web Services KMS to protect the data. All GET and PUT requests for an object protected by Amazon Web Services KMS fail if you don't make them with SSL or by using SigV4. For more information about server-side encryption with KMS key (SSE-KMS), see Protecting Data Using Server-Side Encryption with KMS keys. Use customer-provided encryption keys – If you want to manage your own encryption keys, provide all the following headers in the request. x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about server-side encryption with KMS keys (SSE-KMS), see Protecting Data Using Server-Side Encryption with KMS keys. Access-Control-List (ACL)-Specific Request Headers You also can use the following access control–related headers with this operation. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the access control list (ACL) on the object. For more information, see Using ACLs. With this operation, you can grant access permissions using one of the following two methods: Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. For more information, see Canned ACL. Specify access permissions explicitly — To explicitly grant access permissions to specific Amazon Web Services accounts or groups, use the following headers. Each header maps to specific permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. In the header, you specify a list of grantees who get the specific permission. To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You specify each grantee as a type=value pair, where the type is one of the following: id – if the value specified is the canonical user ID of an Amazon Web Services account uri – if you are granting permissions to a predefined group emailAddress – if the value specified is the email address of an Amazon Web Services account Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference. For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata: x-amz-grant-read: id="11112222333", id="444455556666" The following operations are related to CreateMultipartUpload: UploadPart CompleteMultipartUpload AbortMultipartUpload ListParts ListMultipartUploads + * This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request. For more information about multipart uploads, see Multipart Upload Overview. If you have configured a lifecycle rule to abort incomplete multipart uploads, the upload must complete within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy. For information about the permissions required to use the multipart upload API, see Multipart Upload and Permissions. For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4). After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stop charging you for storing them only after you either complete or abort a multipart upload. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. Amazon S3 automatically encrypts all new objects that are uploaded to an S3 bucket. When doing a multipart upload, if you don't specify encryption information in your request, the encryption setting of the uploaded parts is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the uploaded parts. When you perform a CreateMultipartUpload operation, if you want to use a different type of encryption setting for the uploaded parts, you can request that Amazon S3 encrypts the object with a KMS key, an Amazon S3 managed key, or a customer-provided key. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. you can request that Amazon S3 save the uploaded parts encrypted with server-side encryption with an Amazon S3 managed key (SSE-S3), an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C). To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide. If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role belongs to a different account than the key, then you must have the permissions on both the key policy and your IAM user or role. For more information, see Protecting Data Using Server-Side Encryption. Access Permissions When copying an object, you can optionally specify the accounts or groups that should be granted specific permissions on the new object. There are two ways to grant the permissions using the request headers: Specify a canned ACL with the x-amz-acl request header. For more information, see Canned ACL. Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You can use either a canned ACL or specify access permissions explicitly. You cannot do both. Server-Side- Encryption-Specific Request Headers Amazon S3 encrypts data by using server-side encryption with an Amazon S3 managed key (SSE-S3) by default. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You can request that Amazon S3 encrypts data at rest by using server-side encryption with other key options. The option you use depends on whether you want to use KMS keys (SSE-KMS) or provide your own encryption keys (SSE-C). Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key (aws/s3) and KMS customer managed keys stored in Key Management Service (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data, specify the following headers in the request. x-amz-server-side-encryption x-amz-server-side-encryption-aws-kms-key-id x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in KMS to protect the data. All GET and PUT requests for an object protected by KMS fail if you don't make them by using Secure Sockets Layer (SSL), Transport Layer Security (TLS), or Signature Version 4. For more information about server-side encryption with KMS keys (SSE-KMS), see Protecting Data Using Server-Side Encryption with KMS keys. Use customer-provided encryption keys (SSE-C) – If you want to manage your own encryption keys, provide all the following headers in the request. x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about server-side encryption with customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with customer-provided encryption keys (SSE-C). Access-Control-List (ACL)-Specific Request Headers You also can use the following access control–related headers with this operation. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the access control list (ACL) on the object. For more information, see Using ACLs. With this operation, you can grant access permissions using one of the following two methods: Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. For more information, see Canned ACL. Specify access permissions explicitly — To explicitly grant access permissions to specific Amazon Web Services accounts or groups, use the following headers. Each header maps to specific permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. In the header, you specify a list of grantees who get the specific permission. To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You specify each grantee as a type=value pair, where the type is one of the following: id – if the value specified is the canonical user ID of an Amazon Web Services account uri – if you are granting permissions to a predefined group emailAddress – if the value specified is the email address of an Amazon Web Services account Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference. For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata: x-amz-grant-read: id="11112222333", id="444455556666" The following operations are related to CreateMultipartUpload: UploadPart CompleteMultipartUpload AbortMultipartUpload ListParts ListMultipartUploads */ createMultipartUpload(params: S3.Types.CreateMultipartUploadRequest, callback?: (err: AWSError, data: S3.Types.CreateMultipartUploadOutput) => void): Request; /** - * This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request. For more information about multipart uploads, see Multipart Upload Overview. If you have configured a lifecycle rule to abort incomplete multipart uploads, the upload must complete within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy. For information about the permissions required to use the multipart upload API, see Multipart Upload and Permissions. For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4). After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stop charging you for storing them only after you either complete or abort a multipart upload. You can optionally request server-side encryption. For server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You can provide your own encryption key, or use Amazon Web Services KMS keys or Amazon S3-managed encryption keys. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. To perform a multipart upload with encryption using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions in the Amazon S3 User Guide. If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role belongs to a different account than the key, then you must have the permissions on both the key policy and your IAM user or role. For more information, see Protecting Data Using Server-Side Encryption. Access Permissions When copying an object, you can optionally specify the accounts or groups that should be granted specific permissions on the new object. There are two ways to grant the permissions using the request headers: Specify a canned ACL with the x-amz-acl request header. For more information, see Canned ACL. Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You can use either a canned ACL or specify access permissions explicitly. You cannot do both. Server-Side- Encryption-Specific Request Headers You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. The option you use depends on whether you want to use Amazon Web Services managed encryption keys or provide your own encryption key. Use encryption keys managed by Amazon S3 or customer managed key stored in Amazon Web Services Key Management Service (Amazon Web Services KMS) – If you want Amazon Web Services to manage the keys used to encrypt data, specify the following headers in the request. x-amz-server-side-encryption x-amz-server-side-encryption-aws-kms-key-id x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key in Amazon Web Services KMS to protect the data. All GET and PUT requests for an object protected by Amazon Web Services KMS fail if you don't make them with SSL or by using SigV4. For more information about server-side encryption with KMS key (SSE-KMS), see Protecting Data Using Server-Side Encryption with KMS keys. Use customer-provided encryption keys – If you want to manage your own encryption keys, provide all the following headers in the request. x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about server-side encryption with KMS keys (SSE-KMS), see Protecting Data Using Server-Side Encryption with KMS keys. Access-Control-List (ACL)-Specific Request Headers You also can use the following access control–related headers with this operation. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the access control list (ACL) on the object. For more information, see Using ACLs. With this operation, you can grant access permissions using one of the following two methods: Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. For more information, see Canned ACL. Specify access permissions explicitly — To explicitly grant access permissions to specific Amazon Web Services accounts or groups, use the following headers. Each header maps to specific permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. In the header, you specify a list of grantees who get the specific permission. To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You specify each grantee as a type=value pair, where the type is one of the following: id – if the value specified is the canonical user ID of an Amazon Web Services account uri – if you are granting permissions to a predefined group emailAddress – if the value specified is the email address of an Amazon Web Services account Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference. For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata: x-amz-grant-read: id="11112222333", id="444455556666" The following operations are related to CreateMultipartUpload: UploadPart CompleteMultipartUpload AbortMultipartUpload ListParts ListMultipartUploads + * This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request. For more information about multipart uploads, see Multipart Upload Overview. If you have configured a lifecycle rule to abort incomplete multipart uploads, the upload must complete within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy. For information about the permissions required to use the multipart upload API, see Multipart Upload and Permissions. For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4). After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stop charging you for storing them only after you either complete or abort a multipart upload. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. Amazon S3 automatically encrypts all new objects that are uploaded to an S3 bucket. When doing a multipart upload, if you don't specify encryption information in your request, the encryption setting of the uploaded parts is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the uploaded parts. When you perform a CreateMultipartUpload operation, if you want to use a different type of encryption setting for the uploaded parts, you can request that Amazon S3 encrypts the object with a KMS key, an Amazon S3 managed key, or a customer-provided key. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. you can request that Amazon S3 save the uploaded parts encrypted with server-side encryption with an Amazon S3 managed key (SSE-S3), an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C). To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide. If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role belongs to a different account than the key, then you must have the permissions on both the key policy and your IAM user or role. For more information, see Protecting Data Using Server-Side Encryption. Access Permissions When copying an object, you can optionally specify the accounts or groups that should be granted specific permissions on the new object. There are two ways to grant the permissions using the request headers: Specify a canned ACL with the x-amz-acl request header. For more information, see Canned ACL. Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You can use either a canned ACL or specify access permissions explicitly. You cannot do both. Server-Side- Encryption-Specific Request Headers Amazon S3 encrypts data by using server-side encryption with an Amazon S3 managed key (SSE-S3) by default. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You can request that Amazon S3 encrypts data at rest by using server-side encryption with other key options. The option you use depends on whether you want to use KMS keys (SSE-KMS) or provide your own encryption keys (SSE-C). Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key (aws/s3) and KMS customer managed keys stored in Key Management Service (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data, specify the following headers in the request. x-amz-server-side-encryption x-amz-server-side-encryption-aws-kms-key-id x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in KMS to protect the data. All GET and PUT requests for an object protected by KMS fail if you don't make them by using Secure Sockets Layer (SSL), Transport Layer Security (TLS), or Signature Version 4. For more information about server-side encryption with KMS keys (SSE-KMS), see Protecting Data Using Server-Side Encryption with KMS keys. Use customer-provided encryption keys (SSE-C) – If you want to manage your own encryption keys, provide all the following headers in the request. x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about server-side encryption with customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with customer-provided encryption keys (SSE-C). Access-Control-List (ACL)-Specific Request Headers You also can use the following access control–related headers with this operation. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the access control list (ACL) on the object. For more information, see Using ACLs. With this operation, you can grant access permissions using one of the following two methods: Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. For more information, see Canned ACL. Specify access permissions explicitly — To explicitly grant access permissions to specific Amazon Web Services accounts or groups, use the following headers. Each header maps to specific permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. In the header, you specify a list of grantees who get the specific permission. To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You specify each grantee as a type=value pair, where the type is one of the following: id – if the value specified is the canonical user ID of an Amazon Web Services account uri – if you are granting permissions to a predefined group emailAddress – if the value specified is the email address of an Amazon Web Services account Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference. For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata: x-amz-grant-read: id="11112222333", id="444455556666" The following operations are related to CreateMultipartUpload: UploadPart CompleteMultipartUpload AbortMultipartUpload ListParts ListMultipartUploads */ createMultipartUpload(callback?: (err: AWSError, data: S3.Types.CreateMultipartUploadOutput) => void): Request; /** @@ -82,11 +82,11 @@ declare class S3 extends S3Customizations { */ deleteBucketCors(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * This implementation of the DELETE action removes default encryption from the bucket. For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the Amazon S3 User Guide. To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide. Related Resources PutBucketEncryption GetBucketEncryption + * This implementation of the DELETE action resets the default encryption for the bucket as server-side encryption with Amazon S3 managed keys (SSE-S3). For information about the bucket default encryption feature, see Amazon S3 Bucket Default Encryption in the Amazon S3 User Guide. To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide. Related Resources PutBucketEncryption GetBucketEncryption */ deleteBucketEncryption(params: S3.Types.DeleteBucketEncryptionRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * This implementation of the DELETE action removes default encryption from the bucket. For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the Amazon S3 User Guide. To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide. Related Resources PutBucketEncryption GetBucketEncryption + * This implementation of the DELETE action resets the default encryption for the bucket as server-side encryption with Amazon S3 managed keys (SSE-S3). For information about the bucket default encryption feature, see Amazon S3 Bucket Default Encryption in the Amazon S3 User Guide. To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide. Related Resources PutBucketEncryption GetBucketEncryption */ deleteBucketEncryption(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** @@ -162,19 +162,19 @@ declare class S3 extends S3Customizations { */ deleteBucketWebsite(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects but will still respond that the command was successful. To remove a specific version, you must be the bucket owner and you must use the version Id subresource. Using this subresource permanently deletes the version. If the object deleted is a delete marker, Amazon S3 sets the response header, x-amz-delete-marker, to true. If the object you want to delete is in a bucket where the bucket versioning configuration is MFA Delete enabled, you must include the x-amz-mfa request header in the DELETE versionId request. Requests that include x-amz-mfa must use HTTPS. For more information about MFA Delete, see Using MFA Delete. To see sample requests that use versioning, see Sample Request. You can delete objects by explicitly calling DELETE Object or configure its lifecycle (PutBucketLifecycle) to enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration actions. The following action is related to DeleteObject: PutObject + * Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects but will still respond that the command was successful. To remove a specific version, you must use the version Id subresource. Using this subresource permanently deletes the version. If the object deleted is a delete marker, Amazon S3 sets the response header, x-amz-delete-marker, to true. If the object you want to delete is in a bucket where the bucket versioning configuration is MFA Delete enabled, you must include the x-amz-mfa request header in the DELETE versionId request. Requests that include x-amz-mfa must use HTTPS. For more information about MFA Delete, see Using MFA Delete. To see sample requests that use versioning, see Sample Request. You can delete objects by explicitly calling DELETE Object or configure its lifecycle (PutBucketLifecycle) to enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration actions. The following action is related to DeleteObject: PutObject */ deleteObject(params: S3.Types.DeleteObjectRequest, callback?: (err: AWSError, data: S3.Types.DeleteObjectOutput) => void): Request; /** - * Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects but will still respond that the command was successful. To remove a specific version, you must be the bucket owner and you must use the version Id subresource. Using this subresource permanently deletes the version. If the object deleted is a delete marker, Amazon S3 sets the response header, x-amz-delete-marker, to true. If the object you want to delete is in a bucket where the bucket versioning configuration is MFA Delete enabled, you must include the x-amz-mfa request header in the DELETE versionId request. Requests that include x-amz-mfa must use HTTPS. For more information about MFA Delete, see Using MFA Delete. To see sample requests that use versioning, see Sample Request. You can delete objects by explicitly calling DELETE Object or configure its lifecycle (PutBucketLifecycle) to enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration actions. The following action is related to DeleteObject: PutObject + * Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects but will still respond that the command was successful. To remove a specific version, you must use the version Id subresource. Using this subresource permanently deletes the version. If the object deleted is a delete marker, Amazon S3 sets the response header, x-amz-delete-marker, to true. If the object you want to delete is in a bucket where the bucket versioning configuration is MFA Delete enabled, you must include the x-amz-mfa request header in the DELETE versionId request. Requests that include x-amz-mfa must use HTTPS. For more information about MFA Delete, see Using MFA Delete. To see sample requests that use versioning, see Sample Request. You can delete objects by explicitly calling DELETE Object or configure its lifecycle (PutBucketLifecycle) to enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration actions. The following action is related to DeleteObject: PutObject */ deleteObject(callback?: (err: AWSError, data: S3.Types.DeleteObjectOutput) => void): Request; /** - * Removes the entire tag set from the specified object. For more information about managing object tags, see Object Tagging. To use this operation, you must have permission to perform the s3:DeleteObjectTagging action. To delete tags of a specific object version, add the versionId query parameter in the request. You will need permission for the s3:DeleteObjectVersionTagging action. The following operations are related to DeleteBucketMetricsConfiguration: PutObjectTagging GetObjectTagging + * Removes the entire tag set from the specified object. For more information about managing object tags, see Object Tagging. To use this operation, you must have permission to perform the s3:DeleteObjectTagging action. To delete tags of a specific object version, add the versionId query parameter in the request. You will need permission for the s3:DeleteObjectVersionTagging action. The following operations are related to DeleteObjectTagging: PutObjectTagging GetObjectTagging */ deleteObjectTagging(params: S3.Types.DeleteObjectTaggingRequest, callback?: (err: AWSError, data: S3.Types.DeleteObjectTaggingOutput) => void): Request; /** - * Removes the entire tag set from the specified object. For more information about managing object tags, see Object Tagging. To use this operation, you must have permission to perform the s3:DeleteObjectTagging action. To delete tags of a specific object version, add the versionId query parameter in the request. You will need permission for the s3:DeleteObjectVersionTagging action. The following operations are related to DeleteBucketMetricsConfiguration: PutObjectTagging GetObjectTagging + * Removes the entire tag set from the specified object. For more information about managing object tags, see Object Tagging. To use this operation, you must have permission to perform the s3:DeleteObjectTagging action. To delete tags of a specific object version, add the versionId query parameter in the request. You will need permission for the s3:DeleteObjectVersionTagging action. The following operations are related to DeleteObjectTagging: PutObjectTagging GetObjectTagging */ deleteObjectTagging(callback?: (err: AWSError, data: S3.Types.DeleteObjectTaggingOutput) => void): Request; /** @@ -202,11 +202,11 @@ declare class S3 extends S3Customizations { */ getBucketAccelerateConfiguration(callback?: (err: AWSError, data: S3.Types.GetBucketAccelerateConfigurationOutput) => void): Request; /** - * This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header. If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see Controlling object ownership and disabling ACLs in the Amazon S3 User Guide. Related Resources ListObjects + * This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header. To use this API against an access point, provide the alias of the access point in place of the bucket name. If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see Controlling object ownership and disabling ACLs in the Amazon S3 User Guide. Related Resources ListObjects */ getBucketAcl(params: S3.Types.GetBucketAclRequest, callback?: (err: AWSError, data: S3.Types.GetBucketAclOutput) => void): Request; /** - * This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header. If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see Controlling object ownership and disabling ACLs in the Amazon S3 User Guide. Related Resources ListObjects + * This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header. To use this API against an access point, provide the alias of the access point in place of the bucket name. If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see Controlling object ownership and disabling ACLs in the Amazon S3 User Guide. Related Resources ListObjects */ getBucketAcl(callback?: (err: AWSError, data: S3.Types.GetBucketAclOutput) => void): Request; /** @@ -218,19 +218,19 @@ declare class S3 extends S3Customizations { */ getBucketAnalyticsConfiguration(callback?: (err: AWSError, data: S3.Types.GetBucketAnalyticsConfigurationOutput) => void): Request; /** - * Returns the Cross-Origin Resource Sharing (CORS) configuration information set for the bucket. To use this operation, you must have permission to perform the s3:GetBucketCORS action. By default, the bucket owner has this permission and can grant it to others. For more information about CORS, see Enabling Cross-Origin Resource Sharing. The following operations are related to GetBucketCors: PutBucketCors DeleteBucketCors + * Returns the Cross-Origin Resource Sharing (CORS) configuration information set for the bucket. To use this operation, you must have permission to perform the s3:GetBucketCORS action. By default, the bucket owner has this permission and can grant it to others. To use this API against an access point, provide the alias of the access point in place of the bucket name. For more information about CORS, see Enabling Cross-Origin Resource Sharing. The following operations are related to GetBucketCors: PutBucketCors DeleteBucketCors */ getBucketCors(params: S3.Types.GetBucketCorsRequest, callback?: (err: AWSError, data: S3.Types.GetBucketCorsOutput) => void): Request; /** - * Returns the Cross-Origin Resource Sharing (CORS) configuration information set for the bucket. To use this operation, you must have permission to perform the s3:GetBucketCORS action. By default, the bucket owner has this permission and can grant it to others. For more information about CORS, see Enabling Cross-Origin Resource Sharing. The following operations are related to GetBucketCors: PutBucketCors DeleteBucketCors + * Returns the Cross-Origin Resource Sharing (CORS) configuration information set for the bucket. To use this operation, you must have permission to perform the s3:GetBucketCORS action. By default, the bucket owner has this permission and can grant it to others. To use this API against an access point, provide the alias of the access point in place of the bucket name. For more information about CORS, see Enabling Cross-Origin Resource Sharing. The following operations are related to GetBucketCors: PutBucketCors DeleteBucketCors */ getBucketCors(callback?: (err: AWSError, data: S3.Types.GetBucketCorsOutput) => void): Request; /** - * Returns the default encryption configuration for an Amazon S3 bucket. If the bucket does not have a default encryption configuration, GetBucketEncryption returns ServerSideEncryptionConfigurationNotFoundError. For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption. To use this operation, you must have permission to perform the s3:GetEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. The following operations are related to GetBucketEncryption: PutBucketEncryption DeleteBucketEncryption + * Returns the default encryption configuration for an Amazon S3 bucket. By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). For information about the bucket default encryption feature, see Amazon S3 Bucket Default Encryption in the Amazon S3 User Guide. To use this operation, you must have permission to perform the s3:GetEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. The following operations are related to GetBucketEncryption: PutBucketEncryption DeleteBucketEncryption */ getBucketEncryption(params: S3.Types.GetBucketEncryptionRequest, callback?: (err: AWSError, data: S3.Types.GetBucketEncryptionOutput) => void): Request; /** - * Returns the default encryption configuration for an Amazon S3 bucket. If the bucket does not have a default encryption configuration, GetBucketEncryption returns ServerSideEncryptionConfigurationNotFoundError. For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption. To use this operation, you must have permission to perform the s3:GetEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. The following operations are related to GetBucketEncryption: PutBucketEncryption DeleteBucketEncryption + * Returns the default encryption configuration for an Amazon S3 bucket. By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). For information about the bucket default encryption feature, see Amazon S3 Bucket Default Encryption in the Amazon S3 User Guide. To use this operation, you must have permission to perform the s3:GetEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. The following operations are related to GetBucketEncryption: PutBucketEncryption DeleteBucketEncryption */ getBucketEncryption(callback?: (err: AWSError, data: S3.Types.GetBucketEncryptionOutput) => void): Request; /** @@ -266,19 +266,19 @@ declare class S3 extends S3Customizations { */ getBucketLifecycleConfiguration(callback?: (err: AWSError, data: S3.Types.GetBucketLifecycleConfigurationOutput) => void): Request; /** - * Returns the Region the bucket resides in. You set the bucket's Region using the LocationConstraint request parameter in a CreateBucket request. For more information, see CreateBucket. To use this implementation of the operation, you must be the bucket owner. To use this API against an access point, provide the alias of the access point in place of the bucket name. The following operations are related to GetBucketLocation: GetObject CreateBucket + * Returns the Region the bucket resides in. You set the bucket's Region using the LocationConstraint request parameter in a CreateBucket request. For more information, see CreateBucket. To use this implementation of the operation, you must be the bucket owner. To use this API against an access point, provide the alias of the access point in place of the bucket name. For requests made using Amazon Web Services Signature Version 4 (SigV4), we recommend that you use HeadBucket to return the bucket Region instead of GetBucketLocation. The following operations are related to GetBucketLocation: GetObject CreateBucket */ getBucketLocation(params: S3.Types.GetBucketLocationRequest, callback?: (err: AWSError, data: S3.Types.GetBucketLocationOutput) => void): Request; /** - * Returns the Region the bucket resides in. You set the bucket's Region using the LocationConstraint request parameter in a CreateBucket request. For more information, see CreateBucket. To use this implementation of the operation, you must be the bucket owner. To use this API against an access point, provide the alias of the access point in place of the bucket name. The following operations are related to GetBucketLocation: GetObject CreateBucket + * Returns the Region the bucket resides in. You set the bucket's Region using the LocationConstraint request parameter in a CreateBucket request. For more information, see CreateBucket. To use this implementation of the operation, you must be the bucket owner. To use this API against an access point, provide the alias of the access point in place of the bucket name. For requests made using Amazon Web Services Signature Version 4 (SigV4), we recommend that you use HeadBucket to return the bucket Region instead of GetBucketLocation. The following operations are related to GetBucketLocation: GetObject CreateBucket */ getBucketLocation(callback?: (err: AWSError, data: S3.Types.GetBucketLocationOutput) => void): Request; /** - * Returns the logging status of a bucket and the permissions users have to view and modify that status. To use GET, you must be the bucket owner. The following operations are related to GetBucketLogging: CreateBucket PutBucketLogging + * Returns the logging status of a bucket and the permissions users have to view and modify that status. The following operations are related to GetBucketLogging: CreateBucket PutBucketLogging */ getBucketLogging(params: S3.Types.GetBucketLoggingRequest, callback?: (err: AWSError, data: S3.Types.GetBucketLoggingOutput) => void): Request; /** - * Returns the logging status of a bucket and the permissions users have to view and modify that status. To use GET, you must be the bucket owner. The following operations are related to GetBucketLogging: CreateBucket PutBucketLogging + * Returns the logging status of a bucket and the permissions users have to view and modify that status. The following operations are related to GetBucketLogging: CreateBucket PutBucketLogging */ getBucketLogging(callback?: (err: AWSError, data: S3.Types.GetBucketLoggingOutput) => void): Request; /** @@ -298,11 +298,11 @@ declare class S3 extends S3Customizations { */ getBucketNotification(callback?: (err: AWSError, data: S3.Types.NotificationConfigurationDeprecated) => void): Request; /** - * Returns the notification configuration of a bucket. If notifications are not enabled on the bucket, the action returns an empty NotificationConfiguration element. By default, you must be the bucket owner to read the notification configuration of a bucket. However, the bucket owner can use a bucket policy to grant permission to other users to read this configuration with the s3:GetBucketNotification permission. For more information about setting and reading the notification configuration on a bucket, see Setting Up Notification of Bucket Events. For more information about bucket policies, see Using Bucket Policies. The following action is related to GetBucketNotification: PutBucketNotification + * Returns the notification configuration of a bucket. If notifications are not enabled on the bucket, the action returns an empty NotificationConfiguration element. By default, you must be the bucket owner to read the notification configuration of a bucket. However, the bucket owner can use a bucket policy to grant permission to other users to read this configuration with the s3:GetBucketNotification permission. To use this API against an access point, provide the alias of the access point in place of the bucket name. For more information about setting and reading the notification configuration on a bucket, see Setting Up Notification of Bucket Events. For more information about bucket policies, see Using Bucket Policies. The following action is related to GetBucketNotification: PutBucketNotification */ getBucketNotificationConfiguration(params: S3.Types.GetBucketNotificationConfigurationRequest, callback?: (err: AWSError, data: S3.Types.NotificationConfiguration) => void): Request; /** - * Returns the notification configuration of a bucket. If notifications are not enabled on the bucket, the action returns an empty NotificationConfiguration element. By default, you must be the bucket owner to read the notification configuration of a bucket. However, the bucket owner can use a bucket policy to grant permission to other users to read this configuration with the s3:GetBucketNotification permission. For more information about setting and reading the notification configuration on a bucket, see Setting Up Notification of Bucket Events. For more information about bucket policies, see Using Bucket Policies. The following action is related to GetBucketNotification: PutBucketNotification + * Returns the notification configuration of a bucket. If notifications are not enabled on the bucket, the action returns an empty NotificationConfiguration element. By default, you must be the bucket owner to read the notification configuration of a bucket. However, the bucket owner can use a bucket policy to grant permission to other users to read this configuration with the s3:GetBucketNotification permission. To use this API against an access point, provide the alias of the access point in place of the bucket name. For more information about setting and reading the notification configuration on a bucket, see Setting Up Notification of Bucket Events. For more information about bucket policies, see Using Bucket Policies. The following action is related to GetBucketNotification: PutBucketNotification */ getBucketNotificationConfiguration(callback?: (err: AWSError, data: S3.Types.NotificationConfiguration) => void): Request; /** @@ -314,11 +314,11 @@ declare class S3 extends S3Customizations { */ getBucketOwnershipControls(callback?: (err: AWSError, data: S3.Types.GetBucketOwnershipControlsOutput) => void): Request; /** - * Returns the policy of a specified bucket. If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation. If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error. As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. For more information about bucket policies, see Using Bucket Policies and User Policies. The following action is related to GetBucketPolicy: GetObject + * Returns the policy of a specified bucket. If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation. If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error. As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. To use this API against an access point, provide the alias of the access point in place of the bucket name. For more information about bucket policies, see Using Bucket Policies and User Policies. The following action is related to GetBucketPolicy: GetObject */ getBucketPolicy(params: S3.Types.GetBucketPolicyRequest, callback?: (err: AWSError, data: S3.Types.GetBucketPolicyOutput) => void): Request; /** - * Returns the policy of a specified bucket. If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation. If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error. As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. For more information about bucket policies, see Using Bucket Policies and User Policies. The following action is related to GetBucketPolicy: GetObject + * Returns the policy of a specified bucket. If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation. If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error. As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. To use this API against an access point, provide the alias of the access point in place of the bucket name. For more information about bucket policies, see Using Bucket Policies and User Policies. The following action is related to GetBucketPolicy: GetObject */ getBucketPolicy(callback?: (err: AWSError, data: S3.Types.GetBucketPolicyOutput) => void): Request; /** @@ -370,11 +370,11 @@ declare class S3 extends S3Customizations { */ getBucketWebsite(callback?: (err: AWSError, data: S3.Types.GetBucketWebsiteOutput) => void): Request; /** - * Retrieves objects from Amazon S3. To use GET, you must have READ access to the object. If you grant READ access to the anonymous user, you can return the object without using an authorization header. An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer file system. You can, however, create a logical hierarchy by using object key names that imply a folder structure. For example, instead of naming an object sample.jpg, you can name it photos/2006/February/sample.jpg. To get an object from such a logical hierarchy, specify the full key name for the object in the GET operation. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the resource as /photos/2006/February/sample.jpg. For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg. For more information about request types, see HTTP Host Header Bucket Specification. For more information about returning the ACL of an object, see GetObjectAcl. If the object you are retrieving is stored in the S3 Glacier or S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a copy using RestoreObject. Otherwise, this action returns an InvalidObjectStateError error. For information about restoring archived objects, see Restoring Archived Objects. Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object, you must use the following headers: x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys). Assuming you have the relevant permission to read object tags, the response also returns the x-amz-tagging-count header that provides the count of number of tags associated with the object. You can use GetObjectTagging to retrieve the tag set associated with an object. Permissions You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 will return an HTTP status code 404 ("no such key") error. If you don’t have the s3:ListBucket permission, Amazon S3 will return an HTTP status code 403 ("access denied") error. Versioning By default, the GET action returns the current version of an object. To return a different version, use the versionId subresource. If you supply a versionId, you need the s3:GetObjectVersion permission to access a specific version of an object. If you request a specific version, you do not need to have the s3:GetObject permission. If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes x-amz-delete-marker: true in the response. For more information about versioning, see PutBucketVersioning. Overriding Response Header Values There are times when you want to override certain response header values in a GET response. For example, you might override the Content-Disposition response header value in your GET request. You can override values for a set of response headers using the following query parameters. These response header values are sent only on a successful request, that is, when status code 200 OK is returned. The set of headers you can override using these parameters is a subset of the headers that Amazon S3 accepts when you create an object. The response headers that you can override for the GET response are Content-Type, Content-Language, Expires, Cache-Control, Content-Disposition, and Content-Encoding. To override these header values in the GET response, you use the following request parameters. You must sign the request, either using an Authorization header or a presigned URL, when using these parameters. They cannot be used with an unsigned (anonymous) request. response-content-type response-content-language response-expires response-cache-control response-content-disposition response-content-encoding Additional Considerations about Request Headers If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; then, S3 returns 200 OK and the data requested. If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; then, S3 returns 304 Not Modified response code. For more information about conditional requests, see RFC 7232. The following operations are related to GetObject: ListBuckets GetObjectAcl + * Retrieves objects from Amazon S3. To use GET, you must have READ access to the object. If you grant READ access to the anonymous user, you can return the object without using an authorization header. An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer file system. You can, however, create a logical hierarchy by using object key names that imply a folder structure. For example, instead of naming an object sample.jpg, you can name it photos/2006/February/sample.jpg. To get an object from such a logical hierarchy, specify the full key name for the object in the GET operation. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the resource as /photos/2006/February/sample.jpg. For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg. For more information about request types, see HTTP Host Header Bucket Specification. For more information about returning the ACL of an object, see GetObjectAcl. If the object you are retrieving is stored in the S3 Glacier or S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a copy using RestoreObject. Otherwise, this action returns an InvalidObjectState error. For information about restoring archived objects, see Restoring Archived Objects. Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object, you must use the following headers: x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys). Assuming you have the relevant permission to read object tags, the response also returns the x-amz-tagging-count header that provides the count of number of tags associated with the object. You can use GetObjectTagging to retrieve the tag set associated with an object. Permissions You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 will return an HTTP status code 404 ("no such key") error. If you don’t have the s3:ListBucket permission, Amazon S3 will return an HTTP status code 403 ("access denied") error. Versioning By default, the GET action returns the current version of an object. To return a different version, use the versionId subresource. If you supply a versionId, you need the s3:GetObjectVersion permission to access a specific version of an object. If you request a specific version, you do not need to have the s3:GetObject permission. If you request the current version without a specific version ID, only s3:GetObject permission is required. s3:GetObjectVersion permission won't be required. If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes x-amz-delete-marker: true in the response. For more information about versioning, see PutBucketVersioning. Overriding Response Header Values There are times when you want to override certain response header values in a GET response. For example, you might override the Content-Disposition response header value in your GET request. You can override values for a set of response headers using the following query parameters. These response header values are sent only on a successful request, that is, when status code 200 OK is returned. The set of headers you can override using these parameters is a subset of the headers that Amazon S3 accepts when you create an object. The response headers that you can override for the GET response are Content-Type, Content-Language, Expires, Cache-Control, Content-Disposition, and Content-Encoding. To override these header values in the GET response, you use the following request parameters. You must sign the request, either using an Authorization header or a presigned URL, when using these parameters. They cannot be used with an unsigned (anonymous) request. response-content-type response-content-language response-expires response-cache-control response-content-disposition response-content-encoding Additional Considerations about Request Headers If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; then, S3 returns 200 OK and the data requested. If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; then, S3 returns 304 Not Modified response code. For more information about conditional requests, see RFC 7232. The following operations are related to GetObject: ListBuckets GetObjectAcl */ getObject(params: S3.Types.GetObjectRequest, callback?: (err: AWSError, data: S3.Types.GetObjectOutput) => void): Request; /** - * Retrieves objects from Amazon S3. To use GET, you must have READ access to the object. If you grant READ access to the anonymous user, you can return the object without using an authorization header. An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer file system. You can, however, create a logical hierarchy by using object key names that imply a folder structure. For example, instead of naming an object sample.jpg, you can name it photos/2006/February/sample.jpg. To get an object from such a logical hierarchy, specify the full key name for the object in the GET operation. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the resource as /photos/2006/February/sample.jpg. For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg. For more information about request types, see HTTP Host Header Bucket Specification. For more information about returning the ACL of an object, see GetObjectAcl. If the object you are retrieving is stored in the S3 Glacier or S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a copy using RestoreObject. Otherwise, this action returns an InvalidObjectStateError error. For information about restoring archived objects, see Restoring Archived Objects. Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object, you must use the following headers: x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys). Assuming you have the relevant permission to read object tags, the response also returns the x-amz-tagging-count header that provides the count of number of tags associated with the object. You can use GetObjectTagging to retrieve the tag set associated with an object. Permissions You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 will return an HTTP status code 404 ("no such key") error. If you don’t have the s3:ListBucket permission, Amazon S3 will return an HTTP status code 403 ("access denied") error. Versioning By default, the GET action returns the current version of an object. To return a different version, use the versionId subresource. If you supply a versionId, you need the s3:GetObjectVersion permission to access a specific version of an object. If you request a specific version, you do not need to have the s3:GetObject permission. If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes x-amz-delete-marker: true in the response. For more information about versioning, see PutBucketVersioning. Overriding Response Header Values There are times when you want to override certain response header values in a GET response. For example, you might override the Content-Disposition response header value in your GET request. You can override values for a set of response headers using the following query parameters. These response header values are sent only on a successful request, that is, when status code 200 OK is returned. The set of headers you can override using these parameters is a subset of the headers that Amazon S3 accepts when you create an object. The response headers that you can override for the GET response are Content-Type, Content-Language, Expires, Cache-Control, Content-Disposition, and Content-Encoding. To override these header values in the GET response, you use the following request parameters. You must sign the request, either using an Authorization header or a presigned URL, when using these parameters. They cannot be used with an unsigned (anonymous) request. response-content-type response-content-language response-expires response-cache-control response-content-disposition response-content-encoding Additional Considerations about Request Headers If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; then, S3 returns 200 OK and the data requested. If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; then, S3 returns 304 Not Modified response code. For more information about conditional requests, see RFC 7232. The following operations are related to GetObject: ListBuckets GetObjectAcl + * Retrieves objects from Amazon S3. To use GET, you must have READ access to the object. If you grant READ access to the anonymous user, you can return the object without using an authorization header. An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer file system. You can, however, create a logical hierarchy by using object key names that imply a folder structure. For example, instead of naming an object sample.jpg, you can name it photos/2006/February/sample.jpg. To get an object from such a logical hierarchy, specify the full key name for the object in the GET operation. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the resource as /photos/2006/February/sample.jpg. For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg. For more information about request types, see HTTP Host Header Bucket Specification. For more information about returning the ACL of an object, see GetObjectAcl. If the object you are retrieving is stored in the S3 Glacier or S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a copy using RestoreObject. Otherwise, this action returns an InvalidObjectState error. For information about restoring archived objects, see Restoring Archived Objects. Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object, you must use the following headers: x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys). Assuming you have the relevant permission to read object tags, the response also returns the x-amz-tagging-count header that provides the count of number of tags associated with the object. You can use GetObjectTagging to retrieve the tag set associated with an object. Permissions You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 will return an HTTP status code 404 ("no such key") error. If you don’t have the s3:ListBucket permission, Amazon S3 will return an HTTP status code 403 ("access denied") error. Versioning By default, the GET action returns the current version of an object. To return a different version, use the versionId subresource. If you supply a versionId, you need the s3:GetObjectVersion permission to access a specific version of an object. If you request a specific version, you do not need to have the s3:GetObject permission. If you request the current version without a specific version ID, only s3:GetObject permission is required. s3:GetObjectVersion permission won't be required. If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes x-amz-delete-marker: true in the response. For more information about versioning, see PutBucketVersioning. Overriding Response Header Values There are times when you want to override certain response header values in a GET response. For example, you might override the Content-Disposition response header value in your GET request. You can override values for a set of response headers using the following query parameters. These response header values are sent only on a successful request, that is, when status code 200 OK is returned. The set of headers you can override using these parameters is a subset of the headers that Amazon S3 accepts when you create an object. The response headers that you can override for the GET response are Content-Type, Content-Language, Expires, Cache-Control, Content-Disposition, and Content-Encoding. To override these header values in the GET response, you use the following request parameters. You must sign the request, either using an Authorization header or a presigned URL, when using these parameters. They cannot be used with an unsigned (anonymous) request. response-content-type response-content-language response-expires response-cache-control response-content-disposition response-content-encoding Additional Considerations about Request Headers If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; then, S3 returns 200 OK and the data requested. If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; then, S3 returns 304 Not Modified response code. For more information about conditional requests, see RFC 7232. The following operations are related to GetObject: ListBuckets GetObjectAcl */ getObject(callback?: (err: AWSError, data: S3.Types.GetObjectOutput) => void): Request; /** @@ -386,11 +386,11 @@ declare class S3 extends S3Customizations { */ getObjectAcl(callback?: (err: AWSError, data: S3.Types.GetObjectAclOutput) => void): Request; /** - * Retrieves all the metadata from an object without returning the object itself. This action is useful if you're interested only in an object's metadata. To use GetObjectAttributes, you must have READ access to the object. GetObjectAttributes combines the functionality of GetObjectAcl, GetObjectLegalHold, GetObjectLockConfiguration, GetObjectRetention, GetObjectTagging, HeadObject, and ListParts. All of the data returned with each of those individual calls can be returned with a single call to GetObjectAttributes. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers: x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide. Encryption request headers, such as x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with Amazon Web Services KMS keys stored in Amazon Web Services Key Management Service (SSE-KMS) or server-side encryption with Amazon S3 managed encryption keys (SSE-S3). If your object does use these types of keys, you'll get an HTTP 400 Bad Request error. The last modified property in this case is the creation date of the object. Consider the following when using request headers: If both of the If-Match and If-Unmodified-Since headers are present in the request as follows, then Amazon S3 returns the HTTP status code 200 OK and the data requested: If-Match condition evaluates to true. If-Unmodified-Since condition evaluates to false. If both of the If-None-Match and If-Modified-Since headers are present in the request as follows, then Amazon S3 returns the HTTP status code 304 Not Modified: If-None-Match condition evaluates to false. If-Modified-Since condition evaluates to true. For more information about conditional requests, see RFC 7232. Permissions The permissions that you need to use this operation depend on whether the bucket is versioned. If the bucket is versioned, you need both the s3:GetObjectVersion and s3:GetObjectVersionAttributes permissions for this operation. If the bucket is not versioned, you need the s3:GetObject and s3:GetObjectAttributes permissions. For more information, see Specifying Permissions in a Policy in the Amazon S3 User Guide. If the object that you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 Not Found ("no such key") error. If you don't have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 Forbidden ("access denied") error. The following actions are related to GetObjectAttributes: GetObject GetObjectAcl GetObjectLegalHold GetObjectLockConfiguration GetObjectRetention GetObjectTagging HeadObject ListParts + * Retrieves all the metadata from an object without returning the object itself. This action is useful if you're interested only in an object's metadata. To use GetObjectAttributes, you must have READ access to the object. GetObjectAttributes combines the functionality of HeadObject and ListParts. All of the data returned with each of those individual calls can be returned with a single call to GetObjectAttributes. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers: x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide. Encryption request headers, such as x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with Amazon Web Services KMS keys stored in Amazon Web Services Key Management Service (SSE-KMS) or server-side encryption with Amazon S3 managed keys (SSE-S3). If your object does use these types of keys, you'll get an HTTP 400 Bad Request error. The last modified property in this case is the creation date of the object. Consider the following when using request headers: If both of the If-Match and If-Unmodified-Since headers are present in the request as follows, then Amazon S3 returns the HTTP status code 200 OK and the data requested: If-Match condition evaluates to true. If-Unmodified-Since condition evaluates to false. If both of the If-None-Match and If-Modified-Since headers are present in the request as follows, then Amazon S3 returns the HTTP status code 304 Not Modified: If-None-Match condition evaluates to false. If-Modified-Since condition evaluates to true. For more information about conditional requests, see RFC 7232. Permissions The permissions that you need to use this operation depend on whether the bucket is versioned. If the bucket is versioned, you need both the s3:GetObjectVersion and s3:GetObjectVersionAttributes permissions for this operation. If the bucket is not versioned, you need the s3:GetObject and s3:GetObjectAttributes permissions. For more information, see Specifying Permissions in a Policy in the Amazon S3 User Guide. If the object that you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 Not Found ("no such key") error. If you don't have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 Forbidden ("access denied") error. The following actions are related to GetObjectAttributes: GetObject GetObjectAcl GetObjectLegalHold GetObjectLockConfiguration GetObjectRetention GetObjectTagging HeadObject ListParts */ getObjectAttributes(params: S3.Types.GetObjectAttributesRequest, callback?: (err: AWSError, data: S3.Types.GetObjectAttributesOutput) => void): Request; /** - * Retrieves all the metadata from an object without returning the object itself. This action is useful if you're interested only in an object's metadata. To use GetObjectAttributes, you must have READ access to the object. GetObjectAttributes combines the functionality of GetObjectAcl, GetObjectLegalHold, GetObjectLockConfiguration, GetObjectRetention, GetObjectTagging, HeadObject, and ListParts. All of the data returned with each of those individual calls can be returned with a single call to GetObjectAttributes. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers: x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide. Encryption request headers, such as x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with Amazon Web Services KMS keys stored in Amazon Web Services Key Management Service (SSE-KMS) or server-side encryption with Amazon S3 managed encryption keys (SSE-S3). If your object does use these types of keys, you'll get an HTTP 400 Bad Request error. The last modified property in this case is the creation date of the object. Consider the following when using request headers: If both of the If-Match and If-Unmodified-Since headers are present in the request as follows, then Amazon S3 returns the HTTP status code 200 OK and the data requested: If-Match condition evaluates to true. If-Unmodified-Since condition evaluates to false. If both of the If-None-Match and If-Modified-Since headers are present in the request as follows, then Amazon S3 returns the HTTP status code 304 Not Modified: If-None-Match condition evaluates to false. If-Modified-Since condition evaluates to true. For more information about conditional requests, see RFC 7232. Permissions The permissions that you need to use this operation depend on whether the bucket is versioned. If the bucket is versioned, you need both the s3:GetObjectVersion and s3:GetObjectVersionAttributes permissions for this operation. If the bucket is not versioned, you need the s3:GetObject and s3:GetObjectAttributes permissions. For more information, see Specifying Permissions in a Policy in the Amazon S3 User Guide. If the object that you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 Not Found ("no such key") error. If you don't have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 Forbidden ("access denied") error. The following actions are related to GetObjectAttributes: GetObject GetObjectAcl GetObjectLegalHold GetObjectLockConfiguration GetObjectRetention GetObjectTagging HeadObject ListParts + * Retrieves all the metadata from an object without returning the object itself. This action is useful if you're interested only in an object's metadata. To use GetObjectAttributes, you must have READ access to the object. GetObjectAttributes combines the functionality of HeadObject and ListParts. All of the data returned with each of those individual calls can be returned with a single call to GetObjectAttributes. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers: x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide. Encryption request headers, such as x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with Amazon Web Services KMS keys stored in Amazon Web Services Key Management Service (SSE-KMS) or server-side encryption with Amazon S3 managed keys (SSE-S3). If your object does use these types of keys, you'll get an HTTP 400 Bad Request error. The last modified property in this case is the creation date of the object. Consider the following when using request headers: If both of the If-Match and If-Unmodified-Since headers are present in the request as follows, then Amazon S3 returns the HTTP status code 200 OK and the data requested: If-Match condition evaluates to true. If-Unmodified-Since condition evaluates to false. If both of the If-None-Match and If-Modified-Since headers are present in the request as follows, then Amazon S3 returns the HTTP status code 304 Not Modified: If-None-Match condition evaluates to false. If-Modified-Since condition evaluates to true. For more information about conditional requests, see RFC 7232. Permissions The permissions that you need to use this operation depend on whether the bucket is versioned. If the bucket is versioned, you need both the s3:GetObjectVersion and s3:GetObjectVersionAttributes permissions for this operation. If the bucket is not versioned, you need the s3:GetObject and s3:GetObjectAttributes permissions. For more information, see Specifying Permissions in a Policy in the Amazon S3 User Guide. If the object that you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 Not Found ("no such key") error. If you don't have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 Forbidden ("access denied") error. The following actions are related to GetObjectAttributes: GetObject GetObjectAcl GetObjectLegalHold GetObjectLockConfiguration GetObjectRetention GetObjectTagging HeadObject ListParts */ getObjectAttributes(callback?: (err: AWSError, data: S3.Types.GetObjectAttributesOutput) => void): Request; /** @@ -426,11 +426,11 @@ declare class S3 extends S3Customizations { */ getObjectTagging(callback?: (err: AWSError, data: S3.Types.GetObjectTaggingOutput) => void): Request; /** - * Returns torrent files from a bucket. BitTorrent can save you bandwidth when you're distributing large files. For more information about BitTorrent, see Using BitTorrent with Amazon S3. You can get torrent only for objects that are less than 5 GB in size, and that are not encrypted using server-side encryption with a customer-provided encryption key. To use GET, you must have READ access to the object. This action is not supported by Amazon S3 on Outposts. The following action is related to GetObjectTorrent: GetObject + * Returns torrent files from a bucket. BitTorrent can save you bandwidth when you're distributing large files. You can get torrent only for objects that are less than 5 GB in size, and that are not encrypted using server-side encryption with a customer-provided encryption key. To use GET, you must have READ access to the object. This action is not supported by Amazon S3 on Outposts. The following action is related to GetObjectTorrent: GetObject */ getObjectTorrent(params: S3.Types.GetObjectTorrentRequest, callback?: (err: AWSError, data: S3.Types.GetObjectTorrentOutput) => void): Request; /** - * Returns torrent files from a bucket. BitTorrent can save you bandwidth when you're distributing large files. For more information about BitTorrent, see Using BitTorrent with Amazon S3. You can get torrent only for objects that are less than 5 GB in size, and that are not encrypted using server-side encryption with a customer-provided encryption key. To use GET, you must have READ access to the object. This action is not supported by Amazon S3 on Outposts. The following action is related to GetObjectTorrent: GetObject + * Returns torrent files from a bucket. BitTorrent can save you bandwidth when you're distributing large files. You can get torrent only for objects that are less than 5 GB in size, and that are not encrypted using server-side encryption with a customer-provided encryption key. To use GET, you must have READ access to the object. This action is not supported by Amazon S3 on Outposts. The following action is related to GetObjectTorrent: GetObject */ getObjectTorrent(callback?: (err: AWSError, data: S3.Types.GetObjectTorrentOutput) => void): Request; /** @@ -442,19 +442,19 @@ declare class S3 extends S3Customizations { */ getPublicAccessBlock(callback?: (err: AWSError, data: S3.Types.GetPublicAccessBlockOutput) => void): Request; /** - * This action is useful to determine if a bucket exists and you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission to access it. If the bucket does not exist or you do not have permission to access it, the HEAD request returns a generic 404 Not Found or 403 Forbidden code. A message body is not included, so you cannot determine the exception beyond these error codes. To use this operation, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. To use this API against an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using the Amazon Web Services SDKs, you provide the ARN in place of the bucket name. For more information see, Using access points. + * This action is useful to determine if a bucket exists and you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission to access it. If the bucket does not exist or you do not have permission to access it, the HEAD request returns a generic 400 Bad Request, 403 Forbidden or 404 Not Found code. A message body is not included, so you cannot determine the exception beyond these error codes. To use this operation, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. To use this API against an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using the Amazon Web Services SDKs, you provide the ARN in place of the bucket name. For more information see, Using access points. */ headBucket(params: S3.Types.HeadBucketRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * This action is useful to determine if a bucket exists and you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission to access it. If the bucket does not exist or you do not have permission to access it, the HEAD request returns a generic 404 Not Found or 403 Forbidden code. A message body is not included, so you cannot determine the exception beyond these error codes. To use this operation, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. To use this API against an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using the Amazon Web Services SDKs, you provide the ARN in place of the bucket name. For more information see, Using access points. + * This action is useful to determine if a bucket exists and you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission to access it. If the bucket does not exist or you do not have permission to access it, the HEAD request returns a generic 400 Bad Request, 403 Forbidden or 404 Not Found code. A message body is not included, so you cannot determine the exception beyond these error codes. To use this operation, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. To use this API against an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using the Amazon Web Services SDKs, you provide the ARN in place of the bucket name. For more information see, Using access points. */ headBucket(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * The HEAD action retrieves metadata from an object without returning the object itself. This action is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object. A HEAD request has the same options as a GET action on an object. The response is identical to the GET response except that there is no response body. Because of this, if the HEAD request generates an error, it returns a generic 404 Not Found or 403 Forbidden code. It is not possible to retrieve the exact exception beyond these error codes. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers: x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys). Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error. The last modified property in this case is the creation date of the object. Request headers are limited to 8 KB in size. For more information, see Common Request Headers. Consider the following when using request headers: Consideration 1 – If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; Then Amazon S3 returns 200 OK and the data requested. Consideration 2 – If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; Then Amazon S3 returns the 304 Not Modified response code. For more information about conditional requests, see RFC 7232. Permissions You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 ("no such key") error. If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 ("access denied") error. The following actions are related to HeadObject: GetObject GetObjectAttributes + * The HEAD action retrieves metadata from an object without returning the object itself. This action is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object. A HEAD request has the same options as a GET action on an object. The response is identical to the GET response except that there is no response body. Because of this, if the HEAD request generates an error, it returns a generic 400 Bad Request, 403 Forbidden or 404 Not Found code. It is not possible to retrieve the exact exception beyond these error codes. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers: x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys). Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error. The last modified property in this case is the creation date of the object. Request headers are limited to 8 KB in size. For more information, see Common Request Headers. Consider the following when using request headers: Consideration 1 – If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; Then Amazon S3 returns 200 OK and the data requested. Consideration 2 – If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; Then Amazon S3 returns the 304 Not Modified response code. For more information about conditional requests, see RFC 7232. Permissions You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 ("no such key") error. If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 ("access denied") error. The following actions are related to HeadObject: GetObject GetObjectAttributes */ headObject(params: S3.Types.HeadObjectRequest, callback?: (err: AWSError, data: S3.Types.HeadObjectOutput) => void): Request; /** - * The HEAD action retrieves metadata from an object without returning the object itself. This action is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object. A HEAD request has the same options as a GET action on an object. The response is identical to the GET response except that there is no response body. Because of this, if the HEAD request generates an error, it returns a generic 404 Not Found or 403 Forbidden code. It is not possible to retrieve the exact exception beyond these error codes. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers: x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys). Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error. The last modified property in this case is the creation date of the object. Request headers are limited to 8 KB in size. For more information, see Common Request Headers. Consider the following when using request headers: Consideration 1 – If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; Then Amazon S3 returns 200 OK and the data requested. Consideration 2 – If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; Then Amazon S3 returns the 304 Not Modified response code. For more information about conditional requests, see RFC 7232. Permissions You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 ("no such key") error. If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 ("access denied") error. The following actions are related to HeadObject: GetObject GetObjectAttributes + * The HEAD action retrieves metadata from an object without returning the object itself. This action is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object. A HEAD request has the same options as a GET action on an object. The response is identical to the GET response except that there is no response body. Because of this, if the HEAD request generates an error, it returns a generic 400 Bad Request, 403 Forbidden or 404 Not Found code. It is not possible to retrieve the exact exception beyond these error codes. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers: x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys). Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error. The last modified property in this case is the creation date of the object. Request headers are limited to 8 KB in size. For more information, see Common Request Headers. Consider the following when using request headers: Consideration 1 – If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; Then Amazon S3 returns 200 OK and the data requested. Consideration 2 – If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; Then Amazon S3 returns the 304 Not Modified response code. For more information about conditional requests, see RFC 7232. Permissions You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 ("no such key") error. If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 ("access denied") error. The following actions are related to HeadObject: GetObject GetObjectAttributes */ headObject(callback?: (err: AWSError, data: S3.Types.HeadObjectOutput) => void): Request; /** @@ -490,7 +490,7 @@ declare class S3 extends S3Customizations { */ listBucketMetricsConfigurations(callback?: (err: AWSError, data: S3.Types.ListBucketMetricsConfigurationsOutput) => void): Request; /** - * Returns a list of all buckets owned by the authenticated sender of the request. To use this operation, you must have the s3:ListAllMyBuckets permission. + * Returns a list of all buckets owned by the authenticated sender of the request. To use this operation, you must have the s3:ListAllMyBuckets permission. For information about Amazon S3 buckets, see Creating, configuring, and working with Amazon S3 buckets. */ listBuckets(callback?: (err: AWSError, data: S3.Types.ListBucketsOutput) => void): Request; /** @@ -542,11 +542,11 @@ declare class S3 extends S3Customizations { */ putBucketAccelerateConfiguration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have WRITE_ACP permission. You can use one of the following two ways to set a bucket's permissions: Specify the ACL in the request body Specify permissions using request headers You cannot specify access permission using both the body and the request headers. Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach. If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide. Access Permissions You can set access permissions using one of the following methods: Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL. Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use the x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You specify each grantee as a type=value pair, where the type is one of the following: id – if the value specified is the canonical user ID of an Amazon Web Services account uri – if you are granting permissions to a predefined group emailAddress – if the value specified is the email address of an Amazon Web Services account Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference. For example, the following x-amz-grant-write header grants create, overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and two Amazon Web Services accounts identified by their email addresses. x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", id="111122223333", id="555566667777" You can use either a canned ACL or specify access permissions explicitly. You cannot do both. Grantee Values You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways: By the person's ID: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee> DisplayName is optional and ignored in the request By URI: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee> By Email address: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee> The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser. Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference. Related Resources CreateBucket DeleteBucket GetObjectAcl + * Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have WRITE_ACP permission. You can use one of the following two ways to set a bucket's permissions: Specify the ACL in the request body Specify permissions using request headers You cannot specify access permission using both the body and the request headers. Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach. If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide. Access Permissions You can set access permissions using one of the following methods: Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL. Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use the x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You specify each grantee as a type=value pair, where the type is one of the following: id – if the value specified is the canonical user ID of an Amazon Web Services account uri – if you are granting permissions to a predefined group emailAddress – if the value specified is the email address of an Amazon Web Services account Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference. For example, the following x-amz-grant-write header grants create, overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and two Amazon Web Services accounts identified by their email addresses. x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", id="111122223333", id="555566667777" You can use either a canned ACL or specify access permissions explicitly. You cannot do both. Grantee Values You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways: By the person's ID: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee> DisplayName is optional and ignored in the request By URI: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee> By Email address: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>&</Grantee> The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser. Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference. Related Resources CreateBucket DeleteBucket GetObjectAcl */ putBucketAcl(params: S3.Types.PutBucketAclRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have WRITE_ACP permission. You can use one of the following two ways to set a bucket's permissions: Specify the ACL in the request body Specify permissions using request headers You cannot specify access permission using both the body and the request headers. Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach. If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide. Access Permissions You can set access permissions using one of the following methods: Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL. Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use the x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You specify each grantee as a type=value pair, where the type is one of the following: id – if the value specified is the canonical user ID of an Amazon Web Services account uri – if you are granting permissions to a predefined group emailAddress – if the value specified is the email address of an Amazon Web Services account Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference. For example, the following x-amz-grant-write header grants create, overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and two Amazon Web Services accounts identified by their email addresses. x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", id="111122223333", id="555566667777" You can use either a canned ACL or specify access permissions explicitly. You cannot do both. Grantee Values You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways: By the person's ID: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee> DisplayName is optional and ignored in the request By URI: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee> By Email address: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee> The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser. Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference. Related Resources CreateBucket DeleteBucket GetObjectAcl + * Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have WRITE_ACP permission. You can use one of the following two ways to set a bucket's permissions: Specify the ACL in the request body Specify permissions using request headers You cannot specify access permission using both the body and the request headers. Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach. If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide. Access Permissions You can set access permissions using one of the following methods: Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL. Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use the x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You specify each grantee as a type=value pair, where the type is one of the following: id – if the value specified is the canonical user ID of an Amazon Web Services account uri – if you are granting permissions to a predefined group emailAddress – if the value specified is the email address of an Amazon Web Services account Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference. For example, the following x-amz-grant-write header grants create, overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and two Amazon Web Services accounts identified by their email addresses. x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", id="111122223333", id="555566667777" You can use either a canned ACL or specify access permissions explicitly. You cannot do both. Grantee Values You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways: By the person's ID: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee> DisplayName is optional and ignored in the request By URI: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee> By Email address: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>&</Grantee> The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser. Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference. Related Resources CreateBucket DeleteBucket GetObjectAcl */ putBucketAcl(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** @@ -566,11 +566,11 @@ declare class S3 extends S3Customizations { */ putBucketCors(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * This action uses the encryption subresource to configure default encryption and Amazon S3 Bucket Key for an existing bucket. Default encryption for a bucket can use server-side encryption with Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If you specify default encryption using SSE-KMS, you can also configure Amazon S3 Bucket Key. When the default encryption is SSE-KMS, if you upload an object to the bucket and do not specify the KMS key to use for encryption, Amazon S3 uses the default Amazon Web Services managed KMS key for your account. For information about default encryption, see Amazon S3 default bucket encryption in the Amazon S3 User Guide. For more information about S3 Bucket Keys, see Amazon S3 Bucket Keys in the Amazon S3 User Guide. This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature Version 4). To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide. Related Resources GetBucketEncryption DeleteBucketEncryption + * This action uses the encryption subresource to configure default encryption and Amazon S3 Bucket Keys for an existing bucket. By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). You can optionally configure default encryption for a bucket by using server-side encryption with an Amazon Web Services KMS key (SSE-KMS) or a customer-provided key (SSE-C). If you specify default encryption by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For information about bucket default encryption, see Amazon S3 bucket default encryption in the Amazon S3 User Guide. For more information about S3 Bucket Keys, see Amazon S3 Bucket Keys in the Amazon S3 User Guide. This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature Version 4). To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide. Related Resources GetBucketEncryption DeleteBucketEncryption */ putBucketEncryption(params: S3.Types.PutBucketEncryptionRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * This action uses the encryption subresource to configure default encryption and Amazon S3 Bucket Key for an existing bucket. Default encryption for a bucket can use server-side encryption with Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If you specify default encryption using SSE-KMS, you can also configure Amazon S3 Bucket Key. When the default encryption is SSE-KMS, if you upload an object to the bucket and do not specify the KMS key to use for encryption, Amazon S3 uses the default Amazon Web Services managed KMS key for your account. For information about default encryption, see Amazon S3 default bucket encryption in the Amazon S3 User Guide. For more information about S3 Bucket Keys, see Amazon S3 Bucket Keys in the Amazon S3 User Guide. This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature Version 4). To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide. Related Resources GetBucketEncryption DeleteBucketEncryption + * This action uses the encryption subresource to configure default encryption and Amazon S3 Bucket Keys for an existing bucket. By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). You can optionally configure default encryption for a bucket by using server-side encryption with an Amazon Web Services KMS key (SSE-KMS) or a customer-provided key (SSE-C). If you specify default encryption by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For information about bucket default encryption, see Amazon S3 bucket default encryption in the Amazon S3 User Guide. For more information about S3 Bucket Keys, see Amazon S3 Bucket Keys in the Amazon S3 User Guide. This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature Version 4). To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide. Related Resources GetBucketEncryption DeleteBucketEncryption */ putBucketEncryption(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** @@ -582,11 +582,11 @@ declare class S3 extends S3Customizations { */ putBucketIntelligentTieringConfiguration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * This implementation of the PUT action adds an inventory configuration (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory configurations per bucket. Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly basis, and the results are published to a flat file. The bucket that is inventoried is called the source bucket, and the bucket where the inventory flat file is stored is called the destination bucket. The destination bucket must be in the same Amazon Web Services Region as the source bucket. When you configure an inventory for a source bucket, you specify the destination bucket where you want the inventory to be stored, and whether to generate the inventory daily or weekly. You can also configure what object metadata to include and whether to inventory all object versions or only current versions. For more information, see Amazon S3 Inventory in the Amazon S3 User Guide. You must create a bucket policy on the destination bucket to grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis. To use this operation, you must have permissions to perform the s3:PutInventoryConfiguration action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide. Special Errors HTTP 400 Bad Request Error Code: InvalidArgument Cause: Invalid Argument HTTP 400 Bad Request Error Code: TooManyConfigurations Cause: You are attempting to create a new configuration but have already reached the 1,000-configuration limit. HTTP 403 Forbidden Error Code: AccessDenied Cause: You are not the owner of the specified bucket, or you do not have the s3:PutInventoryConfiguration bucket permission to set the configuration on the bucket. Related Resources GetBucketInventoryConfiguration DeleteBucketInventoryConfiguration ListBucketInventoryConfigurations + * This implementation of the PUT action adds an inventory configuration (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory configurations per bucket. Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly basis, and the results are published to a flat file. The bucket that is inventoried is called the source bucket, and the bucket where the inventory flat file is stored is called the destination bucket. The destination bucket must be in the same Amazon Web Services Region as the source bucket. When you configure an inventory for a source bucket, you specify the destination bucket where you want the inventory to be stored, and whether to generate the inventory daily or weekly. You can also configure what object metadata to include and whether to inventory all object versions or only current versions. For more information, see Amazon S3 Inventory in the Amazon S3 User Guide. You must create a bucket policy on the destination bucket to grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis. Permissions To use this operation, you must have permission to perform the s3:PutInventoryConfiguration action. The bucket owner has this permission by default and can grant this permission to others. The s3:PutInventoryConfiguration permission allows a user to create an S3 Inventory report that includes all object metadata fields available and to specify the destination bucket to store the inventory. A user with read access to objects in the destination bucket can also access all object metadata fields that are available in the inventory report. To restrict access to an inventory report, see Restricting access to an Amazon S3 Inventory report in the Amazon S3 User Guide. For more information about the metadata fields available in S3 Inventory, see Amazon S3 Inventory lists in the Amazon S3 User Guide. For more information about permissions, see Permissions related to bucket subresource operations and Identity and access management in Amazon S3 in the Amazon S3 User Guide. Special Errors HTTP 400 Bad Request Error Code: InvalidArgument Cause: Invalid Argument HTTP 400 Bad Request Error Code: TooManyConfigurations Cause: You are attempting to create a new configuration but have already reached the 1,000-configuration limit. HTTP 403 Forbidden Error Code: AccessDenied Cause: You are not the owner of the specified bucket, or you do not have the s3:PutInventoryConfiguration bucket permission to set the configuration on the bucket. Related Resources GetBucketInventoryConfiguration DeleteBucketInventoryConfiguration ListBucketInventoryConfigurations */ putBucketInventoryConfiguration(params: S3.Types.PutBucketInventoryConfigurationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * This implementation of the PUT action adds an inventory configuration (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory configurations per bucket. Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly basis, and the results are published to a flat file. The bucket that is inventoried is called the source bucket, and the bucket where the inventory flat file is stored is called the destination bucket. The destination bucket must be in the same Amazon Web Services Region as the source bucket. When you configure an inventory for a source bucket, you specify the destination bucket where you want the inventory to be stored, and whether to generate the inventory daily or weekly. You can also configure what object metadata to include and whether to inventory all object versions or only current versions. For more information, see Amazon S3 Inventory in the Amazon S3 User Guide. You must create a bucket policy on the destination bucket to grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis. To use this operation, you must have permissions to perform the s3:PutInventoryConfiguration action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide. Special Errors HTTP 400 Bad Request Error Code: InvalidArgument Cause: Invalid Argument HTTP 400 Bad Request Error Code: TooManyConfigurations Cause: You are attempting to create a new configuration but have already reached the 1,000-configuration limit. HTTP 403 Forbidden Error Code: AccessDenied Cause: You are not the owner of the specified bucket, or you do not have the s3:PutInventoryConfiguration bucket permission to set the configuration on the bucket. Related Resources GetBucketInventoryConfiguration DeleteBucketInventoryConfiguration ListBucketInventoryConfigurations + * This implementation of the PUT action adds an inventory configuration (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory configurations per bucket. Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly basis, and the results are published to a flat file. The bucket that is inventoried is called the source bucket, and the bucket where the inventory flat file is stored is called the destination bucket. The destination bucket must be in the same Amazon Web Services Region as the source bucket. When you configure an inventory for a source bucket, you specify the destination bucket where you want the inventory to be stored, and whether to generate the inventory daily or weekly. You can also configure what object metadata to include and whether to inventory all object versions or only current versions. For more information, see Amazon S3 Inventory in the Amazon S3 User Guide. You must create a bucket policy on the destination bucket to grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis. Permissions To use this operation, you must have permission to perform the s3:PutInventoryConfiguration action. The bucket owner has this permission by default and can grant this permission to others. The s3:PutInventoryConfiguration permission allows a user to create an S3 Inventory report that includes all object metadata fields available and to specify the destination bucket to store the inventory. A user with read access to objects in the destination bucket can also access all object metadata fields that are available in the inventory report. To restrict access to an inventory report, see Restricting access to an Amazon S3 Inventory report in the Amazon S3 User Guide. For more information about the metadata fields available in S3 Inventory, see Amazon S3 Inventory lists in the Amazon S3 User Guide. For more information about permissions, see Permissions related to bucket subresource operations and Identity and access management in Amazon S3 in the Amazon S3 User Guide. Special Errors HTTP 400 Bad Request Error Code: InvalidArgument Cause: Invalid Argument HTTP 400 Bad Request Error Code: TooManyConfigurations Cause: You are attempting to create a new configuration but have already reached the 1,000-configuration limit. HTTP 403 Forbidden Error Code: AccessDenied Cause: You are not the owner of the specified bucket, or you do not have the s3:PutInventoryConfiguration bucket permission to set the configuration on the bucket. Related Resources GetBucketInventoryConfiguration DeleteBucketInventoryConfiguration ListBucketInventoryConfigurations */ putBucketInventoryConfiguration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** @@ -694,11 +694,11 @@ declare class S3 extends S3Customizations { */ putBucketWebsite(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it. Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object locking; if you need this, make sure to build it into your application layer or use versioning instead. To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, returns an error. Additionally, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value. To successfully complete the PutObject request, you must have the s3:PutObject in your IAM permissions. To successfully change the objects acl of your PutObject request, you must have the s3:PutObjectAcl in your IAM permissions. The Content-MD5 header is required for any request to upload an object with a retention period configured using Amazon S3 Object Lock. For more information about Amazon S3 Object Lock, see Amazon S3 Object Lock Overview in the Amazon S3 User Guide. Server-side Encryption You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. You have the option to provide your own encryption key or use Amazon Web Services managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side Encryption. If you request server-side encryption using Amazon Web Services Key Management Service (SSE-KMS), you can enable an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide. Access Control List (ACL)-Specific Request Headers You can use headers to grant ACL- based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API. If the bucket that you're uploading objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format. PUT requests that contain other ACLs (for example, custom grants to certain Amazon Web Services accounts) fail and return a 400 error with the error code AccessControlListNotSupported. For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner. Storage Class Options By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide. Versioning If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see Adding Objects to Versioning Enabled Buckets. For information about returning the versioning state of a bucket, see GetBucketVersioning. Related Resources CopyObject DeleteObject + * Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it. Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. You cannot use PutObject to only update a single piece of metadata for an existing object. You must put the entire object with updated metadata if you want to update some values. Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. To prevent objects from being deleted or overwritten, you can use Amazon S3 Object Lock. To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, returns an error. Additionally, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value. To successfully complete the PutObject request, you must have the s3:PutObject in your IAM permissions. To successfully change the objects acl of your PutObject request, you must have the s3:PutObjectAcl in your IAM permissions. To successfully set the tag-set with your PutObject request, you must have the s3:PutObjectTagging in your IAM permissions. The Content-MD5 header is required for any request to upload an object with a retention period configured using Amazon S3 Object Lock. For more information about Amazon S3 Object Lock, see Amazon S3 Object Lock Overview in the Amazon S3 User Guide. You have three mutually exclusive options to protect data using server-side encryption in Amazon S3, depending on how you choose to manage the encryption keys. Specifically, the encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and customer-provided keys (SSE-C). Amazon S3 encrypts data with server-side encryption by using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at by rest using server-side encryption with other key options. For more information, see Using Server-Side Encryption. When adding a new object, you can use headers to grant ACL-based permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. By default, all objects are private. Only the owner has full access control. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API. If the bucket that you're uploading objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format. PUT requests that contain other ACLs (for example, custom grants to certain Amazon Web Services accounts) fail and return a 400 error with the error code AccessControlListNotSupported. For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner. By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide. If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see Adding Objects to Versioning Enabled Buckets. For information about returning the versioning state of a bucket, see GetBucketVersioning. For more information about related Amazon S3 APIs, see the following: CopyObject DeleteObject */ putObject(params: S3.Types.PutObjectRequest, callback?: (err: AWSError, data: S3.Types.PutObjectOutput) => void): Request; /** - * Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it. Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object locking; if you need this, make sure to build it into your application layer or use versioning instead. To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, returns an error. Additionally, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value. To successfully complete the PutObject request, you must have the s3:PutObject in your IAM permissions. To successfully change the objects acl of your PutObject request, you must have the s3:PutObjectAcl in your IAM permissions. The Content-MD5 header is required for any request to upload an object with a retention period configured using Amazon S3 Object Lock. For more information about Amazon S3 Object Lock, see Amazon S3 Object Lock Overview in the Amazon S3 User Guide. Server-side Encryption You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. You have the option to provide your own encryption key or use Amazon Web Services managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side Encryption. If you request server-side encryption using Amazon Web Services Key Management Service (SSE-KMS), you can enable an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide. Access Control List (ACL)-Specific Request Headers You can use headers to grant ACL- based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API. If the bucket that you're uploading objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format. PUT requests that contain other ACLs (for example, custom grants to certain Amazon Web Services accounts) fail and return a 400 error with the error code AccessControlListNotSupported. For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner. Storage Class Options By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide. Versioning If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see Adding Objects to Versioning Enabled Buckets. For information about returning the versioning state of a bucket, see GetBucketVersioning. Related Resources CopyObject DeleteObject + * Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it. Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. You cannot use PutObject to only update a single piece of metadata for an existing object. You must put the entire object with updated metadata if you want to update some values. Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. To prevent objects from being deleted or overwritten, you can use Amazon S3 Object Lock. To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, returns an error. Additionally, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value. To successfully complete the PutObject request, you must have the s3:PutObject in your IAM permissions. To successfully change the objects acl of your PutObject request, you must have the s3:PutObjectAcl in your IAM permissions. To successfully set the tag-set with your PutObject request, you must have the s3:PutObjectTagging in your IAM permissions. The Content-MD5 header is required for any request to upload an object with a retention period configured using Amazon S3 Object Lock. For more information about Amazon S3 Object Lock, see Amazon S3 Object Lock Overview in the Amazon S3 User Guide. You have three mutually exclusive options to protect data using server-side encryption in Amazon S3, depending on how you choose to manage the encryption keys. Specifically, the encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and customer-provided keys (SSE-C). Amazon S3 encrypts data with server-side encryption by using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at by rest using server-side encryption with other key options. For more information, see Using Server-Side Encryption. When adding a new object, you can use headers to grant ACL-based permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. By default, all objects are private. Only the owner has full access control. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API. If the bucket that you're uploading objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format. PUT requests that contain other ACLs (for example, custom grants to certain Amazon Web Services accounts) fail and return a 400 error with the error code AccessControlListNotSupported. For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner. By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide. If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see Adding Objects to Versioning Enabled Buckets. For information about returning the versioning state of a bucket, see GetBucketVersioning. For more information about related Amazon S3 APIs, see the following: CopyObject DeleteObject */ putObject(callback?: (err: AWSError, data: S3.Types.PutObjectOutput) => void): Request; /** @@ -750,27 +750,27 @@ declare class S3 extends S3Customizations { */ putPublicAccessBlock(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * Restores an archived copy of an object back into Amazon S3 This action is not supported by Amazon S3 on Outposts. This action performs the following types of requests: select - Perform a select query on an archived object restore an archive - Restore an archived object To use this operation, you must have permissions to perform the s3:RestoreObject action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide. Querying Archives with Select Requests You use a select type of request to perform SQL queries on archived objects. The archived objects that are being queried by the select request must be formatted as uncompressed comma-separated values (CSV) files. You can run queries and custom analytics on your archived data without having to restore your data to a hotter Amazon S3 tier. For an overview about select requests, see Querying Archived Objects in the Amazon S3 User Guide. When making a select request, do the following: Define an output location for the select query's output. This must be an Amazon S3 bucket in the same Amazon Web Services Region as the bucket that contains the archive object that is being queried. The Amazon Web Services account that initiates the job must have permissions to write to the S3 bucket. You can specify the storage class and encryption for the output objects stored in the bucket. For more information about output, see Querying Archived Objects in the Amazon S3 User Guide. For more information about the S3 structure in the request body, see the following: PutObject Managing Access with ACLs in the Amazon S3 User Guide Protecting Data Using Server-Side Encryption in the Amazon S3 User Guide Define the SQL expression for the SELECT type of restoration for your query in the request body's SelectParameters structure. You can use expressions like the following examples. The following expression returns all records from the specified object. SELECT * FROM Object Assuming that you are not using any headers for data stored in the object, you can specify columns with positional headers. SELECT s._1, s._2 FROM Object s WHERE s._3 > 100 If you have headers and you set the fileHeaderInfo in the CSV structure in the request body to USE, you can specify headers in the query. (If you set the fileHeaderInfo field to IGNORE, the first row is skipped for the query.) You cannot mix ordinal positions with header column names. SELECT s.Id, s.FirstName, s.SSN FROM S3Object s For more information about using SQL with S3 Glacier Select restore, see SQL Reference for Amazon S3 Select and S3 Glacier Select in the Amazon S3 User Guide. When making a select request, you can also do the following: To expedite your queries, specify the Expedited tier. For more information about tiers, see "Restoring Archives," later in this topic. Specify details about the data serialization format of both the input object that is being queried and the serialization of the CSV-encoded query results. The following are additional important facts about the select feature: The output results are new Amazon S3 objects. Unlike archive retrievals, they are stored until explicitly deleted-manually or through a lifecycle policy. You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't deduplicate requests, so avoid issuing duplicate requests. Amazon S3 accepts a select request even if the object has already been restored. A select request doesn’t return error response 409. Restoring objects Objects that you archive to the S3 Glacier or S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers are not accessible in real time. For objects in Archive Access or Deep Archive Access tiers you must first initiate a restore request, and then wait until the object is moved into the Frequent Access tier. For objects in S3 Glacier or S3 Glacier Deep Archive storage classes you must first initiate a restore request, and then wait until a temporary copy of the object is available. To access an archived object, you must restore the object for the duration (number of days) that you specify. To restore a specific object version, you can provide a version ID. If you don't provide a version ID, Amazon S3 restores the current version. When restoring an archived object (or using a select request), you can specify one of the following data access tier options in the Tier element of the request body: Expedited - Expedited retrievals allow you to quickly access your data stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive tier when occasional urgent requests for a subset of archives are required. For all but the largest archived objects (250 MB+), data accessed using Expedited retrievals is typically made available within 1–5 minutes. Provisioned capacity ensures that retrieval capacity for Expedited retrievals is available when you need it. Expedited retrievals and provisioned capacity are not available for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard - Standard retrievals allow you to access any of your archived objects within several hours. This is the default option for retrieval requests that do not specify the retrieval option. Standard retrievals typically finish within 3–5 hours for objects stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects stored in S3 Intelligent-Tiering. Bulk - Bulk retrievals are the lowest-cost retrieval option in S3 Glacier, enabling you to retrieve large amounts, even petabytes, of data inexpensively. Bulk retrievals typically finish within 5–12 hours for objects stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive tier. They typically finish within 48 hours for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Bulk retrievals are free for objects stored in S3 Intelligent-Tiering. For more information about archive retrieval options and provisioned capacity for Expedited data access, see Restoring Archived Objects in the Amazon S3 User Guide. You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed while it is in progress. For more information, see Upgrading the speed of an in-progress restore in the Amazon S3 User Guide. To get the status of object restoration, you can send a HEAD request. Operations return the x-amz-restore header, which provides information about the restoration status, in the response. You can use Amazon S3 event notifications to notify you when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in the Amazon S3 User Guide. After restoring an archived object, you can update the restoration period by reissuing the request with a new period. Amazon S3 updates the restoration period relative to the current time and charges only for the request-there are no data transfer charges. You cannot update the restoration period when Amazon S3 is actively processing your current restore request for the object. If your bucket has a lifecycle configuration with a rule that includes an expiration action, the object expiration overrides the life span that you specify in a restore request. For example, if you restore an object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in Amazon S3 User Guide. Responses A successful action returns either the 200 OK or 202 Accepted status code. If the object is not previously restored, then Amazon S3 returns 202 Accepted in the response. If the object is previously restored, Amazon S3 returns 200 OK in the response. Special Errors Code: RestoreAlreadyInProgress Cause: Object restore is already in progress. (This error does not apply to SELECT type requests.) HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: GlacierExpeditedRetrievalNotAvailable Cause: expedited retrievals are currently not available. Try again later. (Returned if there is insufficient capacity to process the Expedited request. This error applies only to Expedited retrievals and not to S3 Standard or Bulk retrievals.) HTTP Status Code: 503 SOAP Fault Code Prefix: N/A Related Resources PutBucketLifecycleConfiguration GetBucketNotificationConfiguration SQL Reference for Amazon S3 Select and S3 Glacier Select in the Amazon S3 User Guide + * Restores an archived copy of an object back into Amazon S3 This action is not supported by Amazon S3 on Outposts. This action performs the following types of requests: select - Perform a select query on an archived object restore an archive - Restore an archived object To use this operation, you must have permissions to perform the s3:RestoreObject action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide. For more information about the S3 structure in the request body, see the following: PutObject Managing Access with ACLs in the Amazon S3 User Guide Protecting Data Using Server-Side Encryption in the Amazon S3 User Guide Define the SQL expression for the SELECT type of restoration for your query in the request body's SelectParameters structure. You can use expressions like the following examples. The following expression returns all records from the specified object. SELECT * FROM Object Assuming that you are not using any headers for data stored in the object, you can specify columns with positional headers. SELECT s._1, s._2 FROM Object s WHERE s._3 > 100 If you have headers and you set the fileHeaderInfo in the CSV structure in the request body to USE, you can specify headers in the query. (If you set the fileHeaderInfo field to IGNORE, the first row is skipped for the query.) You cannot mix ordinal positions with header column names. SELECT s.Id, s.FirstName, s.SSN FROM S3Object s When making a select request, you can also do the following: To expedite your queries, specify the Expedited tier. For more information about tiers, see "Restoring Archives," later in this topic. Specify details about the data serialization format of both the input object that is being queried and the serialization of the CSV-encoded query results. The following are additional important facts about the select feature: The output results are new Amazon S3 objects. Unlike archive retrievals, they are stored until explicitly deleted-manually or through a lifecycle policy. You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't duplicate requests, so avoid issuing duplicate requests. Amazon S3 accepts a select request even if the object has already been restored. A select request doesn’t return error response 409. Restoring objects Objects that you archive to the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, are not accessible in real time. For objects in the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes, you must first initiate a restore request, and then wait until a temporary copy of the object is available. If you want a permanent copy of the object, create a copy of it in the Amazon S3 Standard storage class in your S3 bucket. To access an archived object, you must restore the object for the duration (number of days) that you specify. For objects in the Archive Access or Deep Archive Access tiers of S3 Intelligent-Tiering, you must first initiate a restore request, and then wait until the object is moved into the Frequent Access tier. To restore a specific object version, you can provide a version ID. If you don't provide a version ID, Amazon S3 restores the current version. When restoring an archived object, you can specify one of the following data access tier options in the Tier element of the request body: Expedited - Expedited retrievals allow you to quickly access your data stored in the S3 Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier when occasional urgent requests for a subset of archives are required. For all but the largest archived objects (250 MB+), data accessed using Expedited retrievals is typically made available within 1–5 minutes. Provisioned capacity ensures that retrieval capacity for Expedited retrievals is available when you need it. Expedited retrievals and provisioned capacity are not available for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard - Standard retrievals allow you to access any of your archived objects within several hours. This is the default option for retrieval requests that do not specify the retrieval option. Standard retrievals typically finish within 3–5 hours for objects stored in the S3 Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects stored in S3 Intelligent-Tiering. Bulk - Bulk retrievals free for objects stored in the S3 Glacier Flexible Retrieval and S3 Intelligent-Tiering storage classes, enabling you to retrieve large amounts, even petabytes, of data at no cost. Bulk retrievals typically finish within 5–12 hours for objects stored in the S3 Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also the lowest-cost retrieval option when restoring objects from S3 Glacier Deep Archive. They typically finish within 48 hours for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. For more information about archive retrieval options and provisioned capacity for Expedited data access, see Restoring Archived Objects in the Amazon S3 User Guide. You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed while it is in progress. For more information, see Upgrading the speed of an in-progress restore in the Amazon S3 User Guide. To get the status of object restoration, you can send a HEAD request. Operations return the x-amz-restore header, which provides information about the restoration status, in the response. You can use Amazon S3 event notifications to notify you when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in the Amazon S3 User Guide. After restoring an archived object, you can update the restoration period by reissuing the request with a new period. Amazon S3 updates the restoration period relative to the current time and charges only for the request-there are no data transfer charges. You cannot update the restoration period when Amazon S3 is actively processing your current restore request for the object. If your bucket has a lifecycle configuration with a rule that includes an expiration action, the object expiration overrides the life span that you specify in a restore request. For example, if you restore an object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in Amazon S3 User Guide. Responses A successful action returns either the 200 OK or 202 Accepted status code. If the object is not previously restored, then Amazon S3 returns 202 Accepted in the response. If the object is previously restored, Amazon S3 returns 200 OK in the response. Special Errors Code: RestoreAlreadyInProgress Cause: Object restore is already in progress. (This error does not apply to SELECT type requests.) HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: GlacierExpeditedRetrievalNotAvailable Cause: expedited retrievals are currently not available. Try again later. (Returned if there is insufficient capacity to process the Expedited request. This error applies only to Expedited retrievals and not to S3 Standard or Bulk retrievals.) HTTP Status Code: 503 SOAP Fault Code Prefix: N/A Related Resources PutBucketLifecycleConfiguration GetBucketNotificationConfiguration */ restoreObject(params: S3.Types.RestoreObjectRequest, callback?: (err: AWSError, data: S3.Types.RestoreObjectOutput) => void): Request; /** - * Restores an archived copy of an object back into Amazon S3 This action is not supported by Amazon S3 on Outposts. This action performs the following types of requests: select - Perform a select query on an archived object restore an archive - Restore an archived object To use this operation, you must have permissions to perform the s3:RestoreObject action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide. Querying Archives with Select Requests You use a select type of request to perform SQL queries on archived objects. The archived objects that are being queried by the select request must be formatted as uncompressed comma-separated values (CSV) files. You can run queries and custom analytics on your archived data without having to restore your data to a hotter Amazon S3 tier. For an overview about select requests, see Querying Archived Objects in the Amazon S3 User Guide. When making a select request, do the following: Define an output location for the select query's output. This must be an Amazon S3 bucket in the same Amazon Web Services Region as the bucket that contains the archive object that is being queried. The Amazon Web Services account that initiates the job must have permissions to write to the S3 bucket. You can specify the storage class and encryption for the output objects stored in the bucket. For more information about output, see Querying Archived Objects in the Amazon S3 User Guide. For more information about the S3 structure in the request body, see the following: PutObject Managing Access with ACLs in the Amazon S3 User Guide Protecting Data Using Server-Side Encryption in the Amazon S3 User Guide Define the SQL expression for the SELECT type of restoration for your query in the request body's SelectParameters structure. You can use expressions like the following examples. The following expression returns all records from the specified object. SELECT * FROM Object Assuming that you are not using any headers for data stored in the object, you can specify columns with positional headers. SELECT s._1, s._2 FROM Object s WHERE s._3 > 100 If you have headers and you set the fileHeaderInfo in the CSV structure in the request body to USE, you can specify headers in the query. (If you set the fileHeaderInfo field to IGNORE, the first row is skipped for the query.) You cannot mix ordinal positions with header column names. SELECT s.Id, s.FirstName, s.SSN FROM S3Object s For more information about using SQL with S3 Glacier Select restore, see SQL Reference for Amazon S3 Select and S3 Glacier Select in the Amazon S3 User Guide. When making a select request, you can also do the following: To expedite your queries, specify the Expedited tier. For more information about tiers, see "Restoring Archives," later in this topic. Specify details about the data serialization format of both the input object that is being queried and the serialization of the CSV-encoded query results. The following are additional important facts about the select feature: The output results are new Amazon S3 objects. Unlike archive retrievals, they are stored until explicitly deleted-manually or through a lifecycle policy. You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't deduplicate requests, so avoid issuing duplicate requests. Amazon S3 accepts a select request even if the object has already been restored. A select request doesn’t return error response 409. Restoring objects Objects that you archive to the S3 Glacier or S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers are not accessible in real time. For objects in Archive Access or Deep Archive Access tiers you must first initiate a restore request, and then wait until the object is moved into the Frequent Access tier. For objects in S3 Glacier or S3 Glacier Deep Archive storage classes you must first initiate a restore request, and then wait until a temporary copy of the object is available. To access an archived object, you must restore the object for the duration (number of days) that you specify. To restore a specific object version, you can provide a version ID. If you don't provide a version ID, Amazon S3 restores the current version. When restoring an archived object (or using a select request), you can specify one of the following data access tier options in the Tier element of the request body: Expedited - Expedited retrievals allow you to quickly access your data stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive tier when occasional urgent requests for a subset of archives are required. For all but the largest archived objects (250 MB+), data accessed using Expedited retrievals is typically made available within 1–5 minutes. Provisioned capacity ensures that retrieval capacity for Expedited retrievals is available when you need it. Expedited retrievals and provisioned capacity are not available for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard - Standard retrievals allow you to access any of your archived objects within several hours. This is the default option for retrieval requests that do not specify the retrieval option. Standard retrievals typically finish within 3–5 hours for objects stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects stored in S3 Intelligent-Tiering. Bulk - Bulk retrievals are the lowest-cost retrieval option in S3 Glacier, enabling you to retrieve large amounts, even petabytes, of data inexpensively. Bulk retrievals typically finish within 5–12 hours for objects stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive tier. They typically finish within 48 hours for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Bulk retrievals are free for objects stored in S3 Intelligent-Tiering. For more information about archive retrieval options and provisioned capacity for Expedited data access, see Restoring Archived Objects in the Amazon S3 User Guide. You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed while it is in progress. For more information, see Upgrading the speed of an in-progress restore in the Amazon S3 User Guide. To get the status of object restoration, you can send a HEAD request. Operations return the x-amz-restore header, which provides information about the restoration status, in the response. You can use Amazon S3 event notifications to notify you when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in the Amazon S3 User Guide. After restoring an archived object, you can update the restoration period by reissuing the request with a new period. Amazon S3 updates the restoration period relative to the current time and charges only for the request-there are no data transfer charges. You cannot update the restoration period when Amazon S3 is actively processing your current restore request for the object. If your bucket has a lifecycle configuration with a rule that includes an expiration action, the object expiration overrides the life span that you specify in a restore request. For example, if you restore an object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in Amazon S3 User Guide. Responses A successful action returns either the 200 OK or 202 Accepted status code. If the object is not previously restored, then Amazon S3 returns 202 Accepted in the response. If the object is previously restored, Amazon S3 returns 200 OK in the response. Special Errors Code: RestoreAlreadyInProgress Cause: Object restore is already in progress. (This error does not apply to SELECT type requests.) HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: GlacierExpeditedRetrievalNotAvailable Cause: expedited retrievals are currently not available. Try again later. (Returned if there is insufficient capacity to process the Expedited request. This error applies only to Expedited retrievals and not to S3 Standard or Bulk retrievals.) HTTP Status Code: 503 SOAP Fault Code Prefix: N/A Related Resources PutBucketLifecycleConfiguration GetBucketNotificationConfiguration SQL Reference for Amazon S3 Select and S3 Glacier Select in the Amazon S3 User Guide + * Restores an archived copy of an object back into Amazon S3 This action is not supported by Amazon S3 on Outposts. This action performs the following types of requests: select - Perform a select query on an archived object restore an archive - Restore an archived object To use this operation, you must have permissions to perform the s3:RestoreObject action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide. For more information about the S3 structure in the request body, see the following: PutObject Managing Access with ACLs in the Amazon S3 User Guide Protecting Data Using Server-Side Encryption in the Amazon S3 User Guide Define the SQL expression for the SELECT type of restoration for your query in the request body's SelectParameters structure. You can use expressions like the following examples. The following expression returns all records from the specified object. SELECT * FROM Object Assuming that you are not using any headers for data stored in the object, you can specify columns with positional headers. SELECT s._1, s._2 FROM Object s WHERE s._3 > 100 If you have headers and you set the fileHeaderInfo in the CSV structure in the request body to USE, you can specify headers in the query. (If you set the fileHeaderInfo field to IGNORE, the first row is skipped for the query.) You cannot mix ordinal positions with header column names. SELECT s.Id, s.FirstName, s.SSN FROM S3Object s When making a select request, you can also do the following: To expedite your queries, specify the Expedited tier. For more information about tiers, see "Restoring Archives," later in this topic. Specify details about the data serialization format of both the input object that is being queried and the serialization of the CSV-encoded query results. The following are additional important facts about the select feature: The output results are new Amazon S3 objects. Unlike archive retrievals, they are stored until explicitly deleted-manually or through a lifecycle policy. You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't duplicate requests, so avoid issuing duplicate requests. Amazon S3 accepts a select request even if the object has already been restored. A select request doesn’t return error response 409. Restoring objects Objects that you archive to the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, are not accessible in real time. For objects in the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes, you must first initiate a restore request, and then wait until a temporary copy of the object is available. If you want a permanent copy of the object, create a copy of it in the Amazon S3 Standard storage class in your S3 bucket. To access an archived object, you must restore the object for the duration (number of days) that you specify. For objects in the Archive Access or Deep Archive Access tiers of S3 Intelligent-Tiering, you must first initiate a restore request, and then wait until the object is moved into the Frequent Access tier. To restore a specific object version, you can provide a version ID. If you don't provide a version ID, Amazon S3 restores the current version. When restoring an archived object, you can specify one of the following data access tier options in the Tier element of the request body: Expedited - Expedited retrievals allow you to quickly access your data stored in the S3 Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier when occasional urgent requests for a subset of archives are required. For all but the largest archived objects (250 MB+), data accessed using Expedited retrievals is typically made available within 1–5 minutes. Provisioned capacity ensures that retrieval capacity for Expedited retrievals is available when you need it. Expedited retrievals and provisioned capacity are not available for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard - Standard retrievals allow you to access any of your archived objects within several hours. This is the default option for retrieval requests that do not specify the retrieval option. Standard retrievals typically finish within 3–5 hours for objects stored in the S3 Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects stored in S3 Intelligent-Tiering. Bulk - Bulk retrievals free for objects stored in the S3 Glacier Flexible Retrieval and S3 Intelligent-Tiering storage classes, enabling you to retrieve large amounts, even petabytes, of data at no cost. Bulk retrievals typically finish within 5–12 hours for objects stored in the S3 Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also the lowest-cost retrieval option when restoring objects from S3 Glacier Deep Archive. They typically finish within 48 hours for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. For more information about archive retrieval options and provisioned capacity for Expedited data access, see Restoring Archived Objects in the Amazon S3 User Guide. You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed while it is in progress. For more information, see Upgrading the speed of an in-progress restore in the Amazon S3 User Guide. To get the status of object restoration, you can send a HEAD request. Operations return the x-amz-restore header, which provides information about the restoration status, in the response. You can use Amazon S3 event notifications to notify you when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in the Amazon S3 User Guide. After restoring an archived object, you can update the restoration period by reissuing the request with a new period. Amazon S3 updates the restoration period relative to the current time and charges only for the request-there are no data transfer charges. You cannot update the restoration period when Amazon S3 is actively processing your current restore request for the object. If your bucket has a lifecycle configuration with a rule that includes an expiration action, the object expiration overrides the life span that you specify in a restore request. For example, if you restore an object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in Amazon S3 User Guide. Responses A successful action returns either the 200 OK or 202 Accepted status code. If the object is not previously restored, then Amazon S3 returns 202 Accepted in the response. If the object is previously restored, Amazon S3 returns 200 OK in the response. Special Errors Code: RestoreAlreadyInProgress Cause: Object restore is already in progress. (This error does not apply to SELECT type requests.) HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: GlacierExpeditedRetrievalNotAvailable Cause: expedited retrievals are currently not available. Try again later. (Returned if there is insufficient capacity to process the Expedited request. This error applies only to Expedited retrievals and not to S3 Standard or Bulk retrievals.) HTTP Status Code: 503 SOAP Fault Code Prefix: N/A Related Resources PutBucketLifecycleConfiguration GetBucketNotificationConfiguration */ restoreObject(callback?: (err: AWSError, data: S3.Types.RestoreObjectOutput) => void): Request; /** - * This action filters the contents of an Amazon S3 object based on a simple structured query language (SQL) statement. In the request, along with the SQL expression, you must also specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses this format to parse object data into records, and returns only records that match the specified SQL expression. You must also specify the data serialization format for the response. This action is not supported by Amazon S3 on Outposts. For more information about Amazon S3 Select, see Selecting Content from Objects and SELECT Command in the Amazon S3 User Guide. For more information about using SQL with Amazon S3 Select, see SQL Reference for Amazon S3 Select and S3 Glacier Select in the Amazon S3 User Guide. Permissions You must have s3:GetObject permission for this operation. Amazon S3 Select does not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy in the Amazon S3 User Guide. Object Data Formats You can use Amazon S3 Select to query objects that have the following format properties: CSV, JSON, and Parquet - Objects must be in CSV, JSON, or Parquet format. UTF-8 - UTF-8 is the only encoding type Amazon S3 Select supports. GZIP or BZIP2 - CSV and JSON files can be compressed using GZIP or BZIP2. GZIP and BZIP2 are the only compression formats that Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select supports columnar compression for Parquet using GZIP or Snappy. Amazon S3 Select does not support whole-object compression for Parquet objects. Server-side encryption - Amazon S3 Select supports querying objects that are protected with server-side encryption. For objects that are encrypted with customer-provided encryption keys (SSE-C), you must use HTTPS, and you must use the headers that are documented in the GetObject. For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide. For objects that are encrypted with Amazon S3 managed encryption keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side encryption is handled transparently, so you don't need to specify anything. For more information about server-side encryption, including SSE-S3 and SSE-KMS, see Protecting Data Using Server-Side Encryption in the Amazon S3 User Guide. Working with the Response Body Given the response size is unknown, Amazon S3 Select streams the response as a series of messages and includes a Transfer-Encoding header with chunked as its value in the response. For more information, see Appendix: SelectObjectContent Response. GetObject Support The SelectObjectContent action does not support the following GetObject functionality. For more information, see GetObject. Range: Although you can specify a scan range for an Amazon S3 Select request (see SelectObjectContentRequest - ScanRange in the request parameters), you cannot specify the range of bytes of an object to return. GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot specify the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes. For more information, about storage classes see Storage Classes in the Amazon S3 User Guide. Special Errors For a list of special errors for this operation, see List of SELECT Object Content Error Codes Related Resources GetObject GetBucketLifecycleConfiguration PutBucketLifecycleConfiguration + * This action filters the contents of an Amazon S3 object based on a simple structured query language (SQL) statement. In the request, along with the SQL expression, you must also specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses this format to parse object data into records, and returns only records that match the specified SQL expression. You must also specify the data serialization format for the response. This action is not supported by Amazon S3 on Outposts. For more information about Amazon S3 Select, see Selecting Content from Objects and SELECT Command in the Amazon S3 User Guide. Permissions You must have s3:GetObject permission for this operation. Amazon S3 Select does not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy in the Amazon S3 User Guide. Object Data Formats You can use Amazon S3 Select to query objects that have the following format properties: CSV, JSON, and Parquet - Objects must be in CSV, JSON, or Parquet format. UTF-8 - UTF-8 is the only encoding type Amazon S3 Select supports. GZIP or BZIP2 - CSV and JSON files can be compressed using GZIP or BZIP2. GZIP and BZIP2 are the only compression formats that Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select supports columnar compression for Parquet using GZIP or Snappy. Amazon S3 Select does not support whole-object compression for Parquet objects. Server-side encryption - Amazon S3 Select supports querying objects that are protected with server-side encryption. For objects that are encrypted with customer-provided encryption keys (SSE-C), you must use HTTPS, and you must use the headers that are documented in the GetObject. For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide. For objects that are encrypted with Amazon S3 managed keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side encryption is handled transparently, so you don't need to specify anything. For more information about server-side encryption, including SSE-S3 and SSE-KMS, see Protecting Data Using Server-Side Encryption in the Amazon S3 User Guide. Working with the Response Body Given the response size is unknown, Amazon S3 Select streams the response as a series of messages and includes a Transfer-Encoding header with chunked as its value in the response. For more information, see Appendix: SelectObjectContent Response. GetObject Support The SelectObjectContent action does not support the following GetObject functionality. For more information, see GetObject. Range: Although you can specify a scan range for an Amazon S3 Select request (see SelectObjectContentRequest - ScanRange in the request parameters), you cannot specify the range of bytes of an object to return. GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot specify the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes. For more information, about storage classes see Storage Classes in the Amazon S3 User Guide. Special Errors For a list of special errors for this operation, see List of SELECT Object Content Error Codes Related Resources GetObject GetBucketLifecycleConfiguration PutBucketLifecycleConfiguration */ selectObjectContent(params: S3.Types.SelectObjectContentRequest, callback?: (err: AWSError, data: S3.Types.SelectObjectContentOutput) => void): Request; /** - * This action filters the contents of an Amazon S3 object based on a simple structured query language (SQL) statement. In the request, along with the SQL expression, you must also specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses this format to parse object data into records, and returns only records that match the specified SQL expression. You must also specify the data serialization format for the response. This action is not supported by Amazon S3 on Outposts. For more information about Amazon S3 Select, see Selecting Content from Objects and SELECT Command in the Amazon S3 User Guide. For more information about using SQL with Amazon S3 Select, see SQL Reference for Amazon S3 Select and S3 Glacier Select in the Amazon S3 User Guide. Permissions You must have s3:GetObject permission for this operation. Amazon S3 Select does not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy in the Amazon S3 User Guide. Object Data Formats You can use Amazon S3 Select to query objects that have the following format properties: CSV, JSON, and Parquet - Objects must be in CSV, JSON, or Parquet format. UTF-8 - UTF-8 is the only encoding type Amazon S3 Select supports. GZIP or BZIP2 - CSV and JSON files can be compressed using GZIP or BZIP2. GZIP and BZIP2 are the only compression formats that Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select supports columnar compression for Parquet using GZIP or Snappy. Amazon S3 Select does not support whole-object compression for Parquet objects. Server-side encryption - Amazon S3 Select supports querying objects that are protected with server-side encryption. For objects that are encrypted with customer-provided encryption keys (SSE-C), you must use HTTPS, and you must use the headers that are documented in the GetObject. For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide. For objects that are encrypted with Amazon S3 managed encryption keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side encryption is handled transparently, so you don't need to specify anything. For more information about server-side encryption, including SSE-S3 and SSE-KMS, see Protecting Data Using Server-Side Encryption in the Amazon S3 User Guide. Working with the Response Body Given the response size is unknown, Amazon S3 Select streams the response as a series of messages and includes a Transfer-Encoding header with chunked as its value in the response. For more information, see Appendix: SelectObjectContent Response. GetObject Support The SelectObjectContent action does not support the following GetObject functionality. For more information, see GetObject. Range: Although you can specify a scan range for an Amazon S3 Select request (see SelectObjectContentRequest - ScanRange in the request parameters), you cannot specify the range of bytes of an object to return. GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot specify the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes. For more information, about storage classes see Storage Classes in the Amazon S3 User Guide. Special Errors For a list of special errors for this operation, see List of SELECT Object Content Error Codes Related Resources GetObject GetBucketLifecycleConfiguration PutBucketLifecycleConfiguration + * This action filters the contents of an Amazon S3 object based on a simple structured query language (SQL) statement. In the request, along with the SQL expression, you must also specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses this format to parse object data into records, and returns only records that match the specified SQL expression. You must also specify the data serialization format for the response. This action is not supported by Amazon S3 on Outposts. For more information about Amazon S3 Select, see Selecting Content from Objects and SELECT Command in the Amazon S3 User Guide. Permissions You must have s3:GetObject permission for this operation. Amazon S3 Select does not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy in the Amazon S3 User Guide. Object Data Formats You can use Amazon S3 Select to query objects that have the following format properties: CSV, JSON, and Parquet - Objects must be in CSV, JSON, or Parquet format. UTF-8 - UTF-8 is the only encoding type Amazon S3 Select supports. GZIP or BZIP2 - CSV and JSON files can be compressed using GZIP or BZIP2. GZIP and BZIP2 are the only compression formats that Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select supports columnar compression for Parquet using GZIP or Snappy. Amazon S3 Select does not support whole-object compression for Parquet objects. Server-side encryption - Amazon S3 Select supports querying objects that are protected with server-side encryption. For objects that are encrypted with customer-provided encryption keys (SSE-C), you must use HTTPS, and you must use the headers that are documented in the GetObject. For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide. For objects that are encrypted with Amazon S3 managed keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side encryption is handled transparently, so you don't need to specify anything. For more information about server-side encryption, including SSE-S3 and SSE-KMS, see Protecting Data Using Server-Side Encryption in the Amazon S3 User Guide. Working with the Response Body Given the response size is unknown, Amazon S3 Select streams the response as a series of messages and includes a Transfer-Encoding header with chunked as its value in the response. For more information, see Appendix: SelectObjectContent Response. GetObject Support The SelectObjectContent action does not support the following GetObject functionality. For more information, see GetObject. Range: Although you can specify a scan range for an Amazon S3 Select request (see SelectObjectContentRequest - ScanRange in the request parameters), you cannot specify the range of bytes of an object to return. GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot specify the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes. For more information, about storage classes see Storage Classes in the Amazon S3 User Guide. Special Errors For a list of special errors for this operation, see List of SELECT Object Content Error Codes Related Resources GetObject GetBucketLifecycleConfiguration PutBucketLifecycleConfiguration */ selectObjectContent(callback?: (err: AWSError, data: S3.Types.SelectObjectContentOutput) => void): Request; /** - * Uploads a part in a multipart upload. In this operation, you provide part data in your request. However, you have an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation. You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier, that you must include in your upload part request. Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part and also defines its position within the object being created. If you upload a new part using the same part number that was used with a previous part, the previously uploaded part is overwritten. For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide. To ensure that data is not corrupted when traversing the network, specify the Content-MD5 header in the upload part request. Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an error. If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the x-amz-content-sha256 header as a checksum instead of Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version 4). Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage. For more information on multipart uploads, go to Multipart Upload Overview in the Amazon S3 User Guide . For information on the permissions required to use the multipart upload API, go to Multipart Upload and Permissions in the Amazon S3 User Guide. You can optionally request server-side encryption where Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it for you when you access it. You have the option of providing your own encryption key, or you can use the Amazon Web Services managed encryption keys. If you choose to provide your own encryption key, the request headers you provide in the request must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. For more information, go to Using Server-Side Encryption in the Amazon S3 User Guide. Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are using a customer-provided encryption key, you don't need to specify the encryption parameters in each UploadPart request. Instead, you only need to specify the server-side encryption parameters in the initial Initiate Multipart request. For more information, see CreateMultipartUpload. If you requested server-side encryption using a customer-provided encryption key in your initiate multipart upload request, you must provide identical encryption information in each part upload using the following headers. x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 Special Errors Code: NoSuchUpload Cause: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Related Resources CreateMultipartUpload CompleteMultipartUpload AbortMultipartUpload ListParts ListMultipartUploads + * Uploads a part in a multipart upload. In this operation, you provide part data in your request. However, you have an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation. You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier, that you must include in your upload part request. Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part and also defines its position within the object being created. If you upload a new part using the same part number that was used with a previous part, the previously uploaded part is overwritten. For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide. To ensure that data is not corrupted when traversing the network, specify the Content-MD5 header in the upload part request. Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an error. If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the x-amz-content-sha256 header as a checksum instead of Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version 4). Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage. For more information on multipart uploads, go to Multipart Upload Overview in the Amazon S3 User Guide . For information on the permissions required to use the multipart upload API, go to Multipart Upload and Permissions in the Amazon S3 User Guide. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You have three mutually exclusive options to protect data using server-side encryption in Amazon S3, depending on how you choose to manage the encryption keys. Specifically, the encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and Customer-Provided Keys (SSE-C). Amazon S3 encrypts data with server-side encryption using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption with other key options. The option you use depends on whether you want to use KMS keys (SSE-KMS) or provide your own encryption key (SSE-C). If you choose to provide your own encryption key, the request headers you provide in the request must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. For more information, go to Using Server-Side Encryption in the Amazon S3 User Guide. Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are using a customer-provided encryption key (SSE-C), you don't need to specify the encryption parameters in each UploadPart request. Instead, you only need to specify the server-side encryption parameters in the initial Initiate Multipart request. For more information, see CreateMultipartUpload. If you requested server-side encryption using a customer-provided encryption key (SSE-C) in your initiate multipart upload request, you must provide identical encryption information in each part upload using the following headers. x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 Special Errors Code: NoSuchUpload Cause: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Related Resources CreateMultipartUpload CompleteMultipartUpload AbortMultipartUpload ListParts ListMultipartUploads */ uploadPart(params: S3.Types.UploadPartRequest, callback?: (err: AWSError, data: S3.Types.UploadPartOutput) => void): Request; /** - * Uploads a part in a multipart upload. In this operation, you provide part data in your request. However, you have an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation. You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier, that you must include in your upload part request. Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part and also defines its position within the object being created. If you upload a new part using the same part number that was used with a previous part, the previously uploaded part is overwritten. For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide. To ensure that data is not corrupted when traversing the network, specify the Content-MD5 header in the upload part request. Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an error. If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the x-amz-content-sha256 header as a checksum instead of Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version 4). Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage. For more information on multipart uploads, go to Multipart Upload Overview in the Amazon S3 User Guide . For information on the permissions required to use the multipart upload API, go to Multipart Upload and Permissions in the Amazon S3 User Guide. You can optionally request server-side encryption where Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it for you when you access it. You have the option of providing your own encryption key, or you can use the Amazon Web Services managed encryption keys. If you choose to provide your own encryption key, the request headers you provide in the request must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. For more information, go to Using Server-Side Encryption in the Amazon S3 User Guide. Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are using a customer-provided encryption key, you don't need to specify the encryption parameters in each UploadPart request. Instead, you only need to specify the server-side encryption parameters in the initial Initiate Multipart request. For more information, see CreateMultipartUpload. If you requested server-side encryption using a customer-provided encryption key in your initiate multipart upload request, you must provide identical encryption information in each part upload using the following headers. x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 Special Errors Code: NoSuchUpload Cause: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Related Resources CreateMultipartUpload CompleteMultipartUpload AbortMultipartUpload ListParts ListMultipartUploads + * Uploads a part in a multipart upload. In this operation, you provide part data in your request. However, you have an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation. You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier, that you must include in your upload part request. Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part and also defines its position within the object being created. If you upload a new part using the same part number that was used with a previous part, the previously uploaded part is overwritten. For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide. To ensure that data is not corrupted when traversing the network, specify the Content-MD5 header in the upload part request. Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an error. If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the x-amz-content-sha256 header as a checksum instead of Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version 4). Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage. For more information on multipart uploads, go to Multipart Upload Overview in the Amazon S3 User Guide . For information on the permissions required to use the multipart upload API, go to Multipart Upload and Permissions in the Amazon S3 User Guide. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You have three mutually exclusive options to protect data using server-side encryption in Amazon S3, depending on how you choose to manage the encryption keys. Specifically, the encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and Customer-Provided Keys (SSE-C). Amazon S3 encrypts data with server-side encryption using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption with other key options. The option you use depends on whether you want to use KMS keys (SSE-KMS) or provide your own encryption key (SSE-C). If you choose to provide your own encryption key, the request headers you provide in the request must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. For more information, go to Using Server-Side Encryption in the Amazon S3 User Guide. Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are using a customer-provided encryption key (SSE-C), you don't need to specify the encryption parameters in each UploadPart request. Instead, you only need to specify the server-side encryption parameters in the initial Initiate Multipart request. For more information, see CreateMultipartUpload. If you requested server-side encryption using a customer-provided encryption key (SSE-C) in your initiate multipart upload request, you must provide identical encryption information in each part upload using the following headers. x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key x-amz-server-side-encryption-customer-key-MD5 Special Errors Code: NoSuchUpload Cause: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Related Resources CreateMultipartUpload CompleteMultipartUpload AbortMultipartUpload ListParts ListMultipartUploads */ uploadPart(callback?: (err: AWSError, data: S3.Types.UploadPartOutput) => void): Request; /** @@ -839,7 +839,7 @@ declare namespace S3 { } export interface AbortMultipartUploadRequest { /** - * The bucket name to which the upload was taking place. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The bucket name to which the upload was taking place. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -1026,7 +1026,7 @@ declare namespace S3 { */ FileHeaderInfo?: FileHeaderInfo; /** - * A single character used to indicate that a row should be ignored when the character is present at the start of that row. You can specify any character to indicate a comment line. + * A single character used to indicate that a row should be ignored when the character is present at the start of that row. You can specify any character to indicate a comment line. The default character is #. Default: # */ Comments?: Comments; /** @@ -1131,7 +1131,7 @@ declare namespace S3 { */ Location?: Location; /** - * The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket?: BucketName; /** @@ -1163,7 +1163,7 @@ declare namespace S3 { */ ChecksumSHA256?: ChecksumSHA256; /** - * If you specified server-side encryption either with an Amazon S3-managed encryption key or an Amazon Web Services KMS key in your initiate multipart upload request, the response includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the object. + * The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms). */ ServerSideEncryption?: ServerSideEncryption; /** @@ -1171,7 +1171,7 @@ declare namespace S3 { */ VersionId?: ObjectVersionId; /** - * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object. + * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object. */ SSEKMSKeyId?: SSEKMSKeyId; /** @@ -1182,7 +1182,7 @@ declare namespace S3 { } export interface CompleteMultipartUploadRequest { /** - * Name of the bucket to which the multipart upload was initiated. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * Name of the bucket to which the multipart upload was initiated. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -1315,7 +1315,7 @@ declare namespace S3 { */ SSECustomerKeyMD5?: SSECustomerKeyMD5; /** - * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object. + * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object. */ SSEKMSKeyId?: SSEKMSKeyId; /** @@ -1334,7 +1334,7 @@ declare namespace S3 { */ ACL?: ObjectCannedACL; /** - * The name of the destination bucket. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The name of the destination bucket. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -1426,7 +1426,7 @@ declare namespace S3 { */ StorageClass?: StorageClass; /** - * If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata. + * If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata. This value is unique to each object and is not copied when using the x-amz-metadata-directive header. Instead, you may opt to provide this header in combination with the directive. */ WebsiteRedirectLocation?: WebsiteRedirectLocation; /** @@ -1614,7 +1614,7 @@ declare namespace S3 { */ AbortRuleId?: AbortRuleId; /** - * The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket?: BucketName; /** @@ -1638,7 +1638,7 @@ declare namespace S3 { */ SSECustomerKeyMD5?: SSECustomerKeyMD5; /** - * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object. + * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object. */ SSEKMSKeyId?: SSEKMSKeyId; /** @@ -1661,7 +1661,7 @@ declare namespace S3 { */ ACL?: ObjectCannedACL; /** - * The name of the bucket to which to initiate the upload When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The name of the bucket to which to initiate the upload When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -1737,7 +1737,7 @@ declare namespace S3 { */ SSECustomerKeyMD5?: SSECustomerKeyMD5; /** - * Specifies the ID of the symmetric customer managed key to use for object encryption. All GET and PUT requests for an object protected by Amazon Web Services KMS will fail if not made via SSL or using SigV4. For information about configuring using any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide. + * Specifies the ID of the symmetric encryption customer managed key to use for object encryption. All GET and PUT requests for an object protected by Amazon Web Services KMS will fail if not made via SSL or using SigV4. For information about configuring using any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide. */ SSEKMSKeyId?: SSEKMSKeyId; /** @@ -1876,7 +1876,7 @@ declare namespace S3 { */ Bucket: BucketName; /** - * The ID used to identify the metrics configuration. + * The ID used to identify the metrics configuration. The ID has a 64 character limit and can only contain letters, numbers, periods, dashes, and underscores. */ Id: MetricsId; /** @@ -1989,7 +1989,7 @@ declare namespace S3 { } export interface DeleteObjectRequest { /** - * The bucket name of the bucket containing the object. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The bucket name of the bucket containing the object. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -2022,7 +2022,7 @@ declare namespace S3 { } export interface DeleteObjectTaggingRequest { /** - * The bucket name containing the objects from which to remove the tags. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The bucket name containing the objects from which to remove the tags. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -2051,7 +2051,7 @@ declare namespace S3 { } export interface DeleteObjectsRequest { /** - * The bucket name containing the objects to delete. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The bucket name containing the objects to delete. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -2148,7 +2148,7 @@ declare namespace S3 { */ EncryptionType: ServerSideEncryption; /** - * If the encryption type is aws:kms, this optional value specifies the ID of the symmetric customer managed key to use for encryption of job results. Amazon S3 only supports symmetric keys. For more information, see Using symmetric and asymmetric keys in the Amazon Web Services Key Management Service Developer Guide. + * If the encryption type is aws:kms, this optional value specifies the ID of the symmetric encryption customer managed key to use for encryption of job results. Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide. */ KMSKeyId?: SSEKMSKeyId; /** @@ -2158,7 +2158,7 @@ declare namespace S3 { } export interface EncryptionConfiguration { /** - * Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web Services KMS key stored in Amazon Web Services Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric, customer managed KMS keys. For more information, see Using symmetric and asymmetric keys in the Amazon Web Services Key Management Service Developer Guide. + * Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web Services KMS key stored in Amazon Web Services Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide. */ ReplicaKmsKeyID?: ReplicaKmsKeyID; } @@ -2175,7 +2175,7 @@ declare namespace S3 { */ VersionId?: ObjectVersionId; /** - * The error code is a string that uniquely identifies an error condition. It is meant to be read and understood by programs that detect and handle errors by type. Amazon S3 error codes Code: AccessDenied Description: Access Denied HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: AccountProblem Description: There is a problem with your Amazon Web Services account that prevents the action from completing successfully. Contact Amazon Web Services Support for further assistance. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: AllAccessDisabled Description: All access to this Amazon S3 resource has been disabled. Contact Amazon Web Services Support for further assistance. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: AmbiguousGrantByEmailAddress Description: The email address you provided is associated with more than one account. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: AuthorizationHeaderMalformed Description: The authorization header you provided is invalid. HTTP Status Code: 400 Bad Request HTTP Status Code: N/A Code: BadDigest Description: The Content-MD5 you specified did not match what we received. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: BucketAlreadyExists Description: The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again. HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: BucketAlreadyOwnedByYou Description: The bucket you tried to create already exists, and you own it. Amazon S3 returns this error in all Amazon Web Services Regions except in the North Virginia Region. For legacy compatibility, if you re-create an existing bucket that you already own in the North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access control lists (ACLs). Code: 409 Conflict (in all Regions except the North Virginia Region) SOAP Fault Code Prefix: Client Code: BucketNotEmpty Description: The bucket you tried to delete is not empty. HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: CredentialsNotSupported Description: This request does not support credentials. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: CrossLocationLoggingProhibited Description: Cross-location logging not allowed. Buckets in one geographic location cannot log information to a bucket in another location. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: EntityTooSmall Description: Your proposed upload is smaller than the minimum allowed object size. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: EntityTooLarge Description: Your proposed upload exceeds the maximum allowed object size. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: ExpiredToken Description: The provided token has expired. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: IllegalVersioningConfigurationException Description: Indicates that the versioning configuration specified in the request is invalid. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: IncompleteBody Description: You did not provide the number of bytes specified by the Content-Length HTTP header HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: IncorrectNumberOfFilesInPostRequest Description: POST requires exactly one file upload per request. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InlineDataTooLarge Description: Inline data exceeds the maximum allowed size. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InternalError Description: We encountered an internal error. Please try again. HTTP Status Code: 500 Internal Server Error SOAP Fault Code Prefix: Server Code: InvalidAccessKeyId Description: The Amazon Web Services access key ID you provided does not exist in our records. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: InvalidAddressingHeader Description: You must specify the Anonymous role. HTTP Status Code: N/A SOAP Fault Code Prefix: Client Code: InvalidArgument Description: Invalid Argument HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidBucketName Description: The specified bucket is not valid. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidBucketState Description: The request is not valid with the current state of the bucket. HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: InvalidDigest Description: The Content-MD5 you specified is not valid. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidEncryptionAlgorithmError Description: The encryption request you specified is not valid. The valid value is AES256. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidLocationConstraint Description: The specified location constraint is not valid. For more information about Regions, see How to Select a Region for Your Buckets. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidObjectState Description: The action is not valid for the current state of the object. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: InvalidPart Description: One or more of the specified parts could not be found. The part might not have been uploaded, or the specified entity tag might not have matched the part's entity tag. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidPartOrder Description: The list of parts was not in ascending order. Parts list must be specified in order by part number. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidPayer Description: All access to this object has been disabled. Please contact Amazon Web Services Support for further assistance. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: InvalidPolicyDocument Description: The content of the form does not meet the conditions specified in the policy document. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidRange Description: The requested range cannot be satisfied. HTTP Status Code: 416 Requested Range Not Satisfiable SOAP Fault Code Prefix: Client Code: InvalidRequest Description: Please use AWS4-HMAC-SHA256. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: SOAP requests must be made over an HTTPS connection. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidRequest Description: Amazon S3 Transfer Acceleration is not supported for buckets with non-DNS compliant names. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: Amazon S3 Transfer Acceleration is not supported for buckets with periods (.) in their names. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: Amazon S3 Transfer Accelerate endpoint only supports virtual style requests. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: Amazon S3 Transfer Accelerate is not configured on this bucket. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: Amazon S3 Transfer Accelerate is disabled on this bucket. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: Amazon S3 Transfer Acceleration is not supported on this bucket. Contact Amazon Web Services Support for more information. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: Amazon S3 Transfer Acceleration cannot be enabled on this bucket. Contact Amazon Web Services Support for more information. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidSecurity Description: The provided security credentials are not valid. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: InvalidSOAPRequest Description: The SOAP request body is invalid. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidStorageClass Description: The storage class you specified is not valid. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidTargetBucketForLogging Description: The target bucket for logging does not exist, is not owned by you, or does not have the appropriate grants for the log-delivery group. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidToken Description: The provided token is malformed or otherwise invalid. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidURI Description: Couldn't parse the specified URI. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: KeyTooLongError Description: Your key is too long. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MalformedACLError Description: The XML you provided was not well-formed or did not validate against our published schema. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MalformedPOSTRequest Description: The body of your POST request is not well-formed multipart/form-data. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MalformedXML Description: This happens when the user sends malformed XML (XML that doesn't conform to the published XSD) for the configuration. The error message is, "The XML you provided was not well-formed or did not validate against our published schema." HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MaxMessageLengthExceeded Description: Your request was too big. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MaxPostPreDataLengthExceededError Description: Your POST request fields preceding the upload file were too large. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MetadataTooLarge Description: Your metadata headers exceed the maximum allowed metadata size. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MethodNotAllowed Description: The specified method is not allowed against this resource. HTTP Status Code: 405 Method Not Allowed SOAP Fault Code Prefix: Client Code: MissingAttachment Description: A SOAP attachment was expected, but none were found. HTTP Status Code: N/A SOAP Fault Code Prefix: Client Code: MissingContentLength Description: You must provide the Content-Length HTTP header. HTTP Status Code: 411 Length Required SOAP Fault Code Prefix: Client Code: MissingRequestBodyError Description: This happens when the user sends an empty XML document as a request. The error message is, "Request body is empty." HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MissingSecurityElement Description: The SOAP 1.1 request is missing a security element. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MissingSecurityHeader Description: Your request is missing a required header. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: NoLoggingStatusForKey Description: There is no such thing as a logging status subresource for a key. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: NoSuchBucket Description: The specified bucket does not exist. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Code: NoSuchBucketPolicy Description: The specified bucket does not have a bucket policy. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Code: NoSuchKey Description: The specified key does not exist. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Code: NoSuchLifecycleConfiguration Description: The lifecycle configuration does not exist. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Code: NoSuchUpload Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Code: NoSuchVersion Description: Indicates that the version ID specified in the request does not match an existing version. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Code: NotImplemented Description: A header you provided implies functionality that is not implemented. HTTP Status Code: 501 Not Implemented SOAP Fault Code Prefix: Server Code: NotSignedUp Description: Your account is not signed up for the Amazon S3 service. You must sign up before you can use Amazon S3. You can sign up at the following URL: Amazon S3 HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: OperationAborted Description: A conflicting conditional action is currently in progress against this resource. Try again. HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: PermanentRedirect Description: The bucket you are attempting to access must be addressed using the specified endpoint. Send all future requests to this endpoint. HTTP Status Code: 301 Moved Permanently SOAP Fault Code Prefix: Client Code: PreconditionFailed Description: At least one of the preconditions you specified did not hold. HTTP Status Code: 412 Precondition Failed SOAP Fault Code Prefix: Client Code: Redirect Description: Temporary redirect. HTTP Status Code: 307 Moved Temporarily SOAP Fault Code Prefix: Client Code: RestoreAlreadyInProgress Description: Object restore is already in progress. HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: RequestIsNotMultiPartContent Description: Bucket POST must be of the enclosure-type multipart/form-data. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: RequestTimeout Description: Your socket connection to the server was not read from or written to within the timeout period. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: RequestTimeTooSkewed Description: The difference between the request time and the server's time is too large. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: RequestTorrentOfBucketError Description: Requesting the torrent file of a bucket is not permitted. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: SignatureDoesNotMatch Description: The request signature we calculated does not match the signature you provided. Check your Amazon Web Services secret access key and signing method. For more information, see REST Authentication and SOAP Authentication for details. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: ServiceUnavailable Description: Reduce your request rate. HTTP Status Code: 503 Service Unavailable SOAP Fault Code Prefix: Server Code: SlowDown Description: Reduce your request rate. HTTP Status Code: 503 Slow Down SOAP Fault Code Prefix: Server Code: TemporaryRedirect Description: You are being redirected to the bucket while DNS updates. HTTP Status Code: 307 Moved Temporarily SOAP Fault Code Prefix: Client Code: TokenRefreshRequired Description: The provided token must be refreshed. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: TooManyBuckets Description: You have attempted to create more buckets than allowed. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: UnexpectedContent Description: This request does not support content. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: UnresolvableGrantByEmailAddress Description: The email address you provided does not match any account on record. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: UserKeyMustBeSpecified Description: The bucket POST must contain the specified field name. If it is specified, check the order of the fields. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client + * The error code is a string that uniquely identifies an error condition. It is meant to be read and understood by programs that detect and handle errors by type. Amazon S3 error codes Code: AccessDenied Description: Access Denied HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: AccountProblem Description: There is a problem with your Amazon Web Services account that prevents the action from completing successfully. Contact Amazon Web Services Support for further assistance. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: AllAccessDisabled Description: All access to this Amazon S3 resource has been disabled. Contact Amazon Web Services Support for further assistance. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: AmbiguousGrantByEmailAddress Description: The email address you provided is associated with more than one account. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: AuthorizationHeaderMalformed Description: The authorization header you provided is invalid. HTTP Status Code: 400 Bad Request HTTP Status Code: N/A Code: BadDigest Description: The Content-MD5 you specified did not match what we received. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: BucketAlreadyExists Description: The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again. HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: BucketAlreadyOwnedByYou Description: The bucket you tried to create already exists, and you own it. Amazon S3 returns this error in all Amazon Web Services Regions except in the North Virginia Region. For legacy compatibility, if you re-create an existing bucket that you already own in the North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access control lists (ACLs). Code: 409 Conflict (in all Regions except the North Virginia Region) SOAP Fault Code Prefix: Client Code: BucketNotEmpty Description: The bucket you tried to delete is not empty. HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: CredentialsNotSupported Description: This request does not support credentials. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: CrossLocationLoggingProhibited Description: Cross-location logging not allowed. Buckets in one geographic location cannot log information to a bucket in another location. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: EntityTooSmall Description: Your proposed upload is smaller than the minimum allowed object size. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: EntityTooLarge Description: Your proposed upload exceeds the maximum allowed object size. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: ExpiredToken Description: The provided token has expired. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: IllegalVersioningConfigurationException Description: Indicates that the versioning configuration specified in the request is invalid. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: IncompleteBody Description: You did not provide the number of bytes specified by the Content-Length HTTP header HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: IncorrectNumberOfFilesInPostRequest Description: POST requires exactly one file upload per request. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InlineDataTooLarge Description: Inline data exceeds the maximum allowed size. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InternalError Description: We encountered an internal error. Please try again. HTTP Status Code: 500 Internal Server Error SOAP Fault Code Prefix: Server Code: InvalidAccessKeyId Description: The Amazon Web Services access key ID you provided does not exist in our records. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: InvalidAddressingHeader Description: You must specify the Anonymous role. HTTP Status Code: N/A SOAP Fault Code Prefix: Client Code: InvalidArgument Description: Invalid Argument HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidBucketName Description: The specified bucket is not valid. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidBucketState Description: The request is not valid with the current state of the bucket. HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: InvalidDigest Description: The Content-MD5 you specified is not valid. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidEncryptionAlgorithmError Description: The encryption request you specified is not valid. The valid value is AES256. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidLocationConstraint Description: The specified location constraint is not valid. For more information about Regions, see How to Select a Region for Your Buckets. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidObjectState Description: The action is not valid for the current state of the object. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: InvalidPart Description: One or more of the specified parts could not be found. The part might not have been uploaded, or the specified entity tag might not have matched the part's entity tag. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidPartOrder Description: The list of parts was not in ascending order. Parts list must be specified in order by part number. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidPayer Description: All access to this object has been disabled. Please contact Amazon Web Services Support for further assistance. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: InvalidPolicyDocument Description: The content of the form does not meet the conditions specified in the policy document. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidRange Description: The requested range cannot be satisfied. HTTP Status Code: 416 Requested Range Not Satisfiable SOAP Fault Code Prefix: Client Code: InvalidRequest Description: Please use AWS4-HMAC-SHA256. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: SOAP requests must be made over an HTTPS connection. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidRequest Description: Amazon S3 Transfer Acceleration is not supported for buckets with non-DNS compliant names. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: Amazon S3 Transfer Acceleration is not supported for buckets with periods (.) in their names. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: Amazon S3 Transfer Accelerate endpoint only supports virtual style requests. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: Amazon S3 Transfer Accelerate is not configured on this bucket. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: Amazon S3 Transfer Accelerate is disabled on this bucket. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: Amazon S3 Transfer Acceleration is not supported on this bucket. Contact Amazon Web Services Support for more information. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidRequest Description: Amazon S3 Transfer Acceleration cannot be enabled on this bucket. Contact Amazon Web Services Support for more information. HTTP Status Code: 400 Bad Request Code: N/A Code: InvalidSecurity Description: The provided security credentials are not valid. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: InvalidSOAPRequest Description: The SOAP request body is invalid. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidStorageClass Description: The storage class you specified is not valid. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidTargetBucketForLogging Description: The target bucket for logging does not exist, is not owned by you, or does not have the appropriate grants for the log-delivery group. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidToken Description: The provided token is malformed or otherwise invalid. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: InvalidURI Description: Couldn't parse the specified URI. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: KeyTooLongError Description: Your key is too long. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MalformedACLError Description: The XML you provided was not well-formed or did not validate against our published schema. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MalformedPOSTRequest Description: The body of your POST request is not well-formed multipart/form-data. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MalformedXML Description: This happens when the user sends malformed XML (XML that doesn't conform to the published XSD) for the configuration. The error message is, "The XML you provided was not well-formed or did not validate against our published schema." HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MaxMessageLengthExceeded Description: Your request was too big. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MaxPostPreDataLengthExceededError Description: Your POST request fields preceding the upload file were too large. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MetadataTooLarge Description: Your metadata headers exceed the maximum allowed metadata size. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MethodNotAllowed Description: The specified method is not allowed against this resource. HTTP Status Code: 405 Method Not Allowed SOAP Fault Code Prefix: Client Code: MissingAttachment Description: A SOAP attachment was expected, but none were found. HTTP Status Code: N/A SOAP Fault Code Prefix: Client Code: MissingContentLength Description: You must provide the Content-Length HTTP header. HTTP Status Code: 411 Length Required SOAP Fault Code Prefix: Client Code: MissingRequestBodyError Description: This happens when the user sends an empty XML document as a request. The error message is, "Request body is empty." HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MissingSecurityElement Description: The SOAP 1.1 request is missing a security element. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: MissingSecurityHeader Description: Your request is missing a required header. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: NoLoggingStatusForKey Description: There is no such thing as a logging status subresource for a key. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: NoSuchBucket Description: The specified bucket does not exist. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Code: NoSuchBucketPolicy Description: The specified bucket does not have a bucket policy. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Code: NoSuchKey Description: The specified key does not exist. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Code: NoSuchLifecycleConfiguration Description: The lifecycle configuration does not exist. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Code: NoSuchUpload Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Code: NoSuchVersion Description: Indicates that the version ID specified in the request does not match an existing version. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Code: NotImplemented Description: A header you provided implies functionality that is not implemented. HTTP Status Code: 501 Not Implemented SOAP Fault Code Prefix: Server Code: NotSignedUp Description: Your account is not signed up for the Amazon S3 service. You must sign up before you can use Amazon S3. You can sign up at the following URL: Amazon S3 HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: OperationAborted Description: A conflicting conditional action is currently in progress against this resource. Try again. HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: PermanentRedirect Description: The bucket you are attempting to access must be addressed using the specified endpoint. Send all future requests to this endpoint. HTTP Status Code: 301 Moved Permanently SOAP Fault Code Prefix: Client Code: PreconditionFailed Description: At least one of the preconditions you specified did not hold. HTTP Status Code: 412 Precondition Failed SOAP Fault Code Prefix: Client Code: Redirect Description: Temporary redirect. HTTP Status Code: 307 Moved Temporarily SOAP Fault Code Prefix: Client Code: RestoreAlreadyInProgress Description: Object restore is already in progress. HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: RequestIsNotMultiPartContent Description: Bucket POST must be of the enclosure-type multipart/form-data. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: RequestTimeout Description: Your socket connection to the server was not read from or written to within the timeout period. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: RequestTimeTooSkewed Description: The difference between the request time and the server's time is too large. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: RequestTorrentOfBucketError Description: Requesting the torrent file of a bucket is not permitted. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: SignatureDoesNotMatch Description: The request signature we calculated does not match the signature you provided. Check your Amazon Web Services secret access key and signing method. For more information, see REST Authentication and SOAP Authentication for details. HTTP Status Code: 403 Forbidden SOAP Fault Code Prefix: Client Code: ServiceUnavailable Description: Service is unable to handle request. HTTP Status Code: 503 Service Unavailable SOAP Fault Code Prefix: Server Code: SlowDown Description: Reduce your request rate. HTTP Status Code: 503 Slow Down SOAP Fault Code Prefix: Server Code: TemporaryRedirect Description: You are being redirected to the bucket while DNS updates. HTTP Status Code: 307 Moved Temporarily SOAP Fault Code Prefix: Client Code: TokenRefreshRequired Description: The provided token must be refreshed. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: TooManyBuckets Description: You have attempted to create more buckets than allowed. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: UnexpectedContent Description: This request does not support content. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: UnresolvableGrantByEmailAddress Description: The email address you provided does not match any account on record. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client Code: UserKeyMustBeSpecified Description: The bucket POST must contain the specified field name. If it is specified, check the order of the fields. HTTP Status Code: 400 Bad Request SOAP Fault Code Prefix: Client */ Code?: Code; /** @@ -2198,7 +2198,7 @@ declare namespace S3 { export type EventList = Event[]; export interface ExistingObjectReplication { /** - * + * Specifies whether Amazon S3 replicates existing source bucket objects. */ Status: ExistingObjectReplicationStatus; } @@ -2421,7 +2421,7 @@ declare namespace S3 { */ Bucket: BucketName; /** - * The ID used to identify the metrics configuration. + * The ID used to identify the metrics configuration. The ID has a 64 character limit and can only contain letters, numbers, periods, dashes, and underscores. */ Id: MetricsId; /** @@ -2673,7 +2673,7 @@ declare namespace S3 { } export interface GetObjectAttributesRequest { /** - * The name of the bucket that contains the object. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The name of the bucket that contains the object. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -2861,7 +2861,7 @@ declare namespace S3 { */ SSECustomerKeyMD5?: SSECustomerKeyMD5; /** - * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object. + * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object. */ SSEKMSKeyId?: SSEKMSKeyId; /** @@ -2900,7 +2900,7 @@ declare namespace S3 { } export interface GetObjectRequest { /** - * The bucket name containing the object. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using an Object Lambda access point the hostname takes the form AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The bucket name containing the object. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using an Object Lambda access point the hostname takes the form AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -2924,7 +2924,7 @@ declare namespace S3 { */ Key: ObjectKey; /** - * Downloads the specified range bytes of an object. For more information about the HTTP Range header, see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. Amazon S3 doesn't support retrieving multiple ranges of data per GET request. + * Downloads the specified range bytes of an object. For more information about the HTTP Range header, see https://www.rfc-editor.org/rfc/rfc9110.html#name-range. Amazon S3 doesn't support retrieving multiple ranges of data per GET request. */ Range?: Range; /** @@ -3019,7 +3019,7 @@ declare namespace S3 { } export interface GetObjectTaggingRequest { /** - * The bucket name containing the object for which to get the tagging information. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The bucket name containing the object for which to get the tagging information. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -3120,7 +3120,7 @@ declare namespace S3 { export type Grants = Grant[]; export interface HeadBucketRequest { /** - * The bucket name. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The bucket name. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -3214,7 +3214,7 @@ declare namespace S3 { */ WebsiteRedirectLocation?: WebsiteRedirectLocation; /** - * If the object is stored using server-side encryption either with an Amazon Web Services KMS key or an Amazon S3-managed encryption key, the response includes this header with the value of the server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms). + * The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms). */ ServerSideEncryption?: ServerSideEncryption; /** @@ -3230,7 +3230,7 @@ declare namespace S3 { */ SSECustomerKeyMD5?: SSECustomerKeyMD5; /** - * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object. + * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object. */ SSEKMSKeyId?: SSEKMSKeyId; /** @@ -3265,7 +3265,7 @@ declare namespace S3 { } export interface HeadObjectRequest { /** - * The name of the bucket containing the object. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The name of the bucket containing the object. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -3289,7 +3289,7 @@ declare namespace S3 { */ Key: ObjectKey; /** - * Because HeadObject returns only the metadata for an object, this parameter has no effect. + * HeadObject returns only the metadata for an object. If the Range is satisfiable, only the ContentLength is affected in the response. If the Range is not satisfiable, S3 returns a 416 - Requested Range Not Satisfiable error. */ Range?: Range; /** @@ -3808,7 +3808,7 @@ declare namespace S3 { } export interface ListMultipartUploadsRequest { /** - * The name of the bucket to which the multipart upload was initiated. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The name of the bucket to which the multipart upload was initiated. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -3966,7 +3966,7 @@ declare namespace S3 { } export interface ListObjectsRequest { /** - * The name of the bucket containing the objects. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The name of the bucket containing the objects. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -4005,7 +4005,7 @@ declare namespace S3 { */ Contents?: ObjectList; /** - * The bucket name. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The bucket name. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Name?: BucketName; /** @@ -4029,7 +4029,7 @@ declare namespace S3 { */ EncodingType?: EncodingType; /** - * KeyCount is the number of keys returned with this request. KeyCount will always be less than or equals to MaxKeys field. Say you ask for 50 keys, your result will include less than equals 50 keys + * KeyCount is the number of keys returned with this request. KeyCount will always be less than or equal to the MaxKeys field. Say you ask for 50 keys, your result will include 50 keys or fewer. */ KeyCount?: KeyCount; /** @@ -4047,7 +4047,7 @@ declare namespace S3 { } export interface ListObjectsV2Request { /** - * Bucket name to list. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * Bucket name to list. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -4148,7 +4148,7 @@ declare namespace S3 { } export interface ListPartsRequest { /** - * The name of the bucket to which the parts are being uploaded. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The name of the bucket to which the parts are being uploaded. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -4250,7 +4250,7 @@ declare namespace S3 { } export interface MetricsConfiguration { /** - * The ID used to identify the metrics configuration. + * The ID used to identify the metrics configuration. The ID has a 64 character limit and can only contain letters, numbers, periods, dashes, and underscores. */ Id: MetricsId; /** @@ -4555,7 +4555,7 @@ declare namespace S3 { } export interface Owner { /** - * Container for the display name of the owner. + * Container for the display name of the owner. This value is only supported in the following Amazon Web Services Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) South America (São Paulo) */ DisplayName?: DisplayName; /** @@ -4771,7 +4771,7 @@ declare namespace S3 { } export interface PutBucketEncryptionRequest { /** - * Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the Amazon S3 User Guide. + * Specifies default encryption for a bucket using server-side encryption with different key options. By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). You can optionally configure default encryption for a bucket by using server-side encryption with an Amazon Web Services KMS key (SSE-KMS) or a customer-provided key (SSE-C). For information about the bucket default encryption feature, see Amazon S3 Bucket Default Encryption in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -4888,7 +4888,7 @@ declare namespace S3 { */ Bucket: BucketName; /** - * The ID used to identify the metrics configuration. + * The ID used to identify the metrics configuration. The ID has a 64 character limit and can only contain letters, numbers, periods, dashes, and underscores. */ Id: MetricsId; /** @@ -5141,7 +5141,7 @@ declare namespace S3 { */ GrantWriteACP?: GrantWriteACP; /** - * Key for which the PUT action was initiated. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * Key for which the PUT action was initiated. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Key: ObjectKey; RequestPayer?: RequestPayer; @@ -5244,7 +5244,7 @@ declare namespace S3 { */ ChecksumSHA256?: ChecksumSHA256; /** - * If you specified server-side encryption either with an Amazon Web Services KMS key or Amazon S3-managed encryption key in your PUT request, the response includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the object. + * The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms). */ ServerSideEncryption?: ServerSideEncryption; /** @@ -5260,11 +5260,11 @@ declare namespace S3 { */ SSECustomerKeyMD5?: SSECustomerKeyMD5; /** - * If x-amz-server-side-encryption is present and has the value of aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object. + * If x-amz-server-side-encryption is has a valid value of aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object. */ SSEKMSKeyId?: SSEKMSKeyId; /** - * If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs. + * If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future GetObject or CopyObject operations on this object. */ SSEKMSEncryptionContext?: SSEKMSEncryptionContext; /** @@ -5283,7 +5283,7 @@ declare namespace S3 { */ Body?: Body; /** - * The bucket name to which the PUT action was initiated. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The bucket name to which the PUT action was initiated. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -5291,11 +5291,11 @@ declare namespace S3 { */ CacheControl?: CacheControl; /** - * Specifies presentational information for the object. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1. + * Specifies presentational information for the object. For more information, see https://www.rfc-editor.org/rfc/rfc6266#section-4. */ ContentDisposition?: ContentDisposition; /** - * Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11. + * Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. For more information, see https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding. */ ContentEncoding?: ContentEncoding; /** @@ -5303,7 +5303,7 @@ declare namespace S3 { */ ContentLanguage?: ContentLanguage; /** - * Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13. + * Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically. For more information, see https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length. */ ContentLength?: ContentLength; /** @@ -5311,7 +5311,7 @@ declare namespace S3 { */ ContentMD5?: ContentMD5; /** - * A standard MIME type describing the format of the contents. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17. + * A standard MIME type describing the format of the contents. For more information, see https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type. */ ContentType?: ContentType; /** @@ -5335,7 +5335,7 @@ declare namespace S3 { */ ChecksumSHA256?: ChecksumSHA256; /** - * The date and time at which the object is no longer cacheable. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21. + * The date and time at which the object is no longer cacheable. For more information, see https://www.rfc-editor.org/rfc/rfc7234#section-5.3. */ Expires?: Expires; /** @@ -5387,11 +5387,11 @@ declare namespace S3 { */ SSECustomerKeyMD5?: SSECustomerKeyMD5; /** - * If x-amz-server-side-encryption is present and has the value of aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetrical customer managed key that was used for the object. If you specify x-amz-server-side-encryption:aws:kms, but do not provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key to protect the data. If the KMS key does not exist in the same account issuing the command, you must use the full ARN and not just the ID. + * If x-amz-server-side-encryption has a valid value of aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object. If you specify x-amz-server-side-encryption:aws:kms, but do not provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key to protect the data. If the KMS key does not exist in the same account issuing the command, you must use the full ARN and not just the ID. */ SSEKMSKeyId?: SSEKMSKeyId; /** - * Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs. + * Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future GetObject or CopyObject operations on this object. */ SSEKMSEncryptionContext?: SSEKMSEncryptionContext; /** @@ -5466,7 +5466,7 @@ declare namespace S3 { } export interface PutObjectTaggingRequest { /** - * The bucket name containing the object. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The bucket name containing the object. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -5630,7 +5630,7 @@ declare namespace S3 { */ SourceSelectionCriteria?: SourceSelectionCriteria; /** - * + * Optional configuration to replicate existing source bucket objects. For more information, see Replicating Existing Objects in the Amazon S3 User Guide. */ ExistingObjectReplication?: ExistingObjectReplication; /** @@ -5715,7 +5715,7 @@ declare namespace S3 { } export interface RestoreObjectRequest { /** - * The bucket name containing the object to restore. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The bucket name containing the object to restore. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -5846,7 +5846,7 @@ declare namespace S3 { export type SSECustomerKeyMD5 = string; export interface SSEKMS { /** - * Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key to use for encrypting inventory reports. + * Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key to use for encrypting inventory reports. */ KeyId: SSEKMSKeyId; } @@ -5946,7 +5946,7 @@ declare namespace S3 { */ SSEAlgorithm: ServerSideEncryption; /** - * Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default encryption. This parameter is allowed if and only if SSEAlgorithm is set to aws:kms. You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if you are using encryption with cross-account or Amazon Web Services service operations you must use a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Amazon S3 only supports symmetric KMS keys and not asymmetric KMS keys. For more information, see Using symmetric and asymmetric keys in the Amazon Web Services Key Management Service Developer Guide. + * Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default encryption. This parameter is allowed if and only if SSEAlgorithm is set to aws:kms. You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if you are using encryption with cross-account or Amazon Web Services service operations you must use a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide. */ KMSMasterKeyID?: SSEKMSKeyId; } @@ -6144,7 +6144,7 @@ declare namespace S3 { */ SSECustomerKeyMD5?: SSECustomerKeyMD5; /** - * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object. + * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object. */ SSEKMSKeyId?: SSEKMSKeyId; /** @@ -6155,7 +6155,7 @@ declare namespace S3 { } export interface UploadPartCopyRequest { /** - * The bucket name. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The bucket name. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -6262,7 +6262,7 @@ declare namespace S3 { */ SSECustomerKeyMD5?: SSECustomerKeyMD5; /** - * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key was used for the object. + * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key was used for the object. */ SSEKMSKeyId?: SSEKMSKeyId; /** @@ -6277,7 +6277,7 @@ declare namespace S3 { */ Body?: Body; /** - * The name of the bucket to which the multipart upload was initiated. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. + * The name of the bucket to which the multipart upload was initiated. When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide. When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts in the Amazon S3 User Guide. */ Bucket: BucketName; /** @@ -6506,7 +6506,7 @@ declare namespace S3 { */ SSECustomerAlgorithm?: SSECustomerAlgorithm; /** - * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for stored in Amazon S3 object. + * If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for stored in Amazon S3 object. */ SSEKMSKeyId?: SSEKMSKeyId; /** diff --git a/clients/sagemakerfeaturestoreruntime.d.ts b/clients/sagemakerfeaturestoreruntime.d.ts index c0de002b88..b64deb6b5c 100644 --- a/clients/sagemakerfeaturestoreruntime.d.ts +++ b/clients/sagemakerfeaturestoreruntime.d.ts @@ -20,11 +20,11 @@ declare class SageMakerFeatureStoreRuntime extends Service { */ batchGetRecord(callback?: (err: AWSError, data: SageMakerFeatureStoreRuntime.Types.BatchGetRecordResponse) => void): Request; /** - * Deletes a Record from a FeatureGroup. When the DeleteRecord API is called a new record will be added to the OfflineStore and the Record will be removed from the OnlineStore. This record will have a value of True in the is_deleted column. + * Deletes a Record from a FeatureGroup in the OnlineStore. Feature Store supports both SOFT_DELETE and HARD_DELETE. For SOFT_DELETE (default), feature columns are set to null and the record is no longer retrievable by GetRecord or BatchGetRecord. For HARD_DELETE, the complete Record is removed from the OnlineStore. In both cases, Feature Store appends the deleted record marker to the OfflineStore with feature values set to null, is_deleted value set to True, and EventTime set to the delete input EventTime. Note that the EventTime specified in DeleteRecord should be set later than the EventTime of the existing record in the OnlineStore for that RecordIdentifer. If it is not, the deletion does not occur: For SOFT_DELETE, the existing (undeleted) record remains in the OnlineStore, though the delete record marker is still written to the OfflineStore. HARD_DELETE returns EventTime: 400 ValidationException to indicate that the delete operation failed. No delete record marker is written to the OfflineStore. */ deleteRecord(params: SageMakerFeatureStoreRuntime.Types.DeleteRecordRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** - * Deletes a Record from a FeatureGroup. When the DeleteRecord API is called a new record will be added to the OfflineStore and the Record will be removed from the OnlineStore. This record will have a value of True in the is_deleted column. + * Deletes a Record from a FeatureGroup in the OnlineStore. Feature Store supports both SOFT_DELETE and HARD_DELETE. For SOFT_DELETE (default), feature columns are set to null and the record is no longer retrievable by GetRecord or BatchGetRecord. For HARD_DELETE, the complete Record is removed from the OnlineStore. In both cases, Feature Store appends the deleted record marker to the OfflineStore with feature values set to null, is_deleted value set to True, and EventTime set to the delete input EventTime. Note that the EventTime specified in DeleteRecord should be set later than the EventTime of the existing record in the OnlineStore for that RecordIdentifer. If it is not, the deletion does not occur: For SOFT_DELETE, the existing (undeleted) record remains in the OnlineStore, though the delete record marker is still written to the OfflineStore. HARD_DELETE returns EventTime: 400 ValidationException to indicate that the delete operation failed. No delete record marker is written to the OfflineStore. */ deleteRecord(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; /** @@ -55,11 +55,11 @@ declare namespace SageMakerFeatureStoreRuntime { */ RecordIdentifierValueAsString: ValueAsString; /** - * The error code of an error that has occured when attempting to retrieve a batch of Records. For more information on errors, see Errors. + * The error code of an error that has occurred when attempting to retrieve a batch of Records. For more information on errors, see Errors. */ ErrorCode: ValueAsString; /** - * The error message of an error that has occured when attempting to retrieve a record in the batch. + * The error message of an error that has occurred when attempting to retrieve a record in the batch. */ ErrorMessage: Message; } @@ -105,7 +105,7 @@ declare namespace SageMakerFeatureStoreRuntime { */ FeatureGroupName: ValueAsString; /** - * The value of the record identifer in string format. + * The value of the record identifier in string format. */ RecordIdentifierValueAsString: ValueAsString; /** @@ -131,7 +131,12 @@ declare namespace SageMakerFeatureStoreRuntime { * A list of stores from which you're deleting the record. By default, Feature Store deletes the record from all of the stores that you're using for the FeatureGroup. */ TargetStores?: TargetStores; + /** + * The name of the deletion mode for deleting the record. By default, the deletion mode is set to SoftDelete. + */ + DeletionMode?: DeletionMode; } + export type DeletionMode = "SoftDelete"|"HardDelete"|string; export type FeatureGroupName = string; export type FeatureName = string; export type FeatureNames = FeatureName[]; diff --git a/dist/aws-sdk-core-react-native.js b/dist/aws-sdk-core-react-native.js index 0264e4c64a..6a216e4eb9 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.1347.0', + VERSION: '2.1348.0', /** * @api private diff --git a/dist/aws-sdk-react-native.js b/dist/aws-sdk-react-native.js index 1a1b7e8478..0ad17c3d14 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.1347.0', + VERSION: '2.1348.0', /** * @api private @@ -52155,7 +52155,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 472 */ /***/ (function(module, exports) { - module.exports = {"version":"2.0","metadata":{"apiVersion":"2016-10-24","endpointPrefix":"sms","jsonVersion":"1.1","protocol":"json","serviceAbbreviation":"SMS","serviceFullName":"AWS Server Migration Service","serviceId":"SMS","signatureVersion":"v4","targetPrefix":"AWSServerMigrationService_V2016_10_24","uid":"sms-2016-10-24"},"operations":{"CreateApp":{"input":{"type":"structure","members":{"name":{},"description":{},"roleName":{},"clientToken":{},"serverGroups":{"shape":"S6"},"tags":{"shape":"So"}}},"output":{"type":"structure","members":{"appSummary":{"shape":"St"},"serverGroups":{"shape":"S6"},"tags":{"shape":"So"}}}},"CreateReplicationJob":{"input":{"type":"structure","required":["serverId","seedReplicationTime"],"members":{"serverId":{},"seedReplicationTime":{"type":"timestamp"},"frequency":{"type":"integer"},"runOnce":{"type":"boolean"},"licenseType":{},"roleName":{},"description":{},"numberOfRecentAmisToKeep":{"type":"integer"},"encrypted":{"type":"boolean"},"kmsKeyId":{}}},"output":{"type":"structure","members":{"replicationJobId":{}}}},"DeleteApp":{"input":{"type":"structure","members":{"appId":{},"forceStopAppReplication":{"type":"boolean"},"forceTerminateApp":{"type":"boolean"}}},"output":{"type":"structure","members":{}}},"DeleteAppLaunchConfiguration":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{}}},"DeleteAppReplicationConfiguration":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{}}},"DeleteAppValidationConfiguration":{"input":{"type":"structure","required":["appId"],"members":{"appId":{}}},"output":{"type":"structure","members":{}}},"DeleteReplicationJob":{"input":{"type":"structure","required":["replicationJobId"],"members":{"replicationJobId":{}}},"output":{"type":"structure","members":{}}},"DeleteServerCatalog":{"input":{"type":"structure","members":{}},"output":{"type":"structure","members":{}}},"DisassociateConnector":{"input":{"type":"structure","required":["connectorId"],"members":{"connectorId":{}}},"output":{"type":"structure","members":{}}},"GenerateChangeSet":{"input":{"type":"structure","members":{"appId":{},"changesetFormat":{}}},"output":{"type":"structure","members":{"s3Location":{"shape":"S24"}}}},"GenerateTemplate":{"input":{"type":"structure","members":{"appId":{},"templateFormat":{}}},"output":{"type":"structure","members":{"s3Location":{"shape":"S24"}}}},"GetApp":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{"appSummary":{"shape":"St"},"serverGroups":{"shape":"S6"},"tags":{"shape":"So"}}}},"GetAppLaunchConfiguration":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{"appId":{},"roleName":{},"autoLaunch":{"type":"boolean"},"serverGroupLaunchConfigurations":{"shape":"S2e"}}}},"GetAppReplicationConfiguration":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{"serverGroupReplicationConfigurations":{"shape":"S2u"}}}},"GetAppValidationConfiguration":{"input":{"type":"structure","required":["appId"],"members":{"appId":{}}},"output":{"type":"structure","members":{"appValidationConfigurations":{"shape":"S31"},"serverGroupValidationConfigurations":{"shape":"S3c"}}}},"GetAppValidationOutput":{"input":{"type":"structure","required":["appId"],"members":{"appId":{}}},"output":{"type":"structure","members":{"validationOutputList":{"type":"list","member":{"type":"structure","members":{"validationId":{},"name":{},"status":{},"statusMessage":{},"latestValidationTime":{"type":"timestamp"},"appValidationOutput":{"type":"structure","members":{"ssmOutput":{"type":"structure","members":{"s3Location":{"shape":"S24"}}}}},"serverValidationOutput":{"type":"structure","members":{"server":{"shape":"Sb"}}}}}}}}},"GetConnectors":{"input":{"type":"structure","members":{"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"connectorList":{"type":"list","member":{"type":"structure","members":{"connectorId":{},"version":{},"status":{},"capabilityList":{"type":"list","member":{}},"vmManagerName":{},"vmManagerType":{},"vmManagerId":{},"ipAddress":{},"macAddress":{},"associatedOn":{"type":"timestamp"}}}},"nextToken":{}}}},"GetReplicationJobs":{"input":{"type":"structure","members":{"replicationJobId":{},"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"replicationJobList":{"type":"list","member":{"shape":"S46"}},"nextToken":{}}}},"GetReplicationRuns":{"input":{"type":"structure","required":["replicationJobId"],"members":{"replicationJobId":{},"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"replicationJob":{"shape":"S46"},"replicationRunList":{"shape":"S4a"},"nextToken":{}}}},"GetServers":{"input":{"type":"structure","members":{"nextToken":{},"maxResults":{"type":"integer"},"vmServerAddressList":{"type":"list","member":{"shape":"Sf"}}}},"output":{"type":"structure","members":{"lastModifiedOn":{"type":"timestamp"},"serverCatalogStatus":{},"serverList":{"shape":"Sa"},"nextToken":{}}}},"ImportAppCatalog":{"input":{"type":"structure","members":{"roleName":{}}},"output":{"type":"structure","members":{}}},"ImportServerCatalog":{"input":{"type":"structure","members":{}},"output":{"type":"structure","members":{}}},"LaunchApp":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{}}},"ListApps":{"input":{"type":"structure","members":{"appIds":{"type":"list","member":{}},"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"apps":{"type":"list","member":{"shape":"St"}},"nextToken":{}}}},"NotifyAppValidationOutput":{"input":{"type":"structure","required":["appId"],"members":{"appId":{},"notificationContext":{"type":"structure","members":{"validationId":{},"status":{},"statusMessage":{}}}}},"output":{"type":"structure","members":{}}},"PutAppLaunchConfiguration":{"input":{"type":"structure","members":{"appId":{},"roleName":{},"autoLaunch":{"type":"boolean"},"serverGroupLaunchConfigurations":{"shape":"S2e"}}},"output":{"type":"structure","members":{}}},"PutAppReplicationConfiguration":{"input":{"type":"structure","members":{"appId":{},"serverGroupReplicationConfigurations":{"shape":"S2u"}}},"output":{"type":"structure","members":{}}},"PutAppValidationConfiguration":{"input":{"type":"structure","required":["appId"],"members":{"appId":{},"appValidationConfigurations":{"shape":"S31"},"serverGroupValidationConfigurations":{"shape":"S3c"}}},"output":{"type":"structure","members":{}}},"StartAppReplication":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{}}},"StartOnDemandAppReplication":{"input":{"type":"structure","required":["appId"],"members":{"appId":{},"description":{}}},"output":{"type":"structure","members":{}}},"StartOnDemandReplicationRun":{"input":{"type":"structure","required":["replicationJobId"],"members":{"replicationJobId":{},"description":{}}},"output":{"type":"structure","members":{"replicationRunId":{}}}},"StopAppReplication":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{}}},"TerminateApp":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{}}},"UpdateApp":{"input":{"type":"structure","members":{"appId":{},"name":{},"description":{},"roleName":{},"serverGroups":{"shape":"S6"},"tags":{"shape":"So"}}},"output":{"type":"structure","members":{"appSummary":{"shape":"St"},"serverGroups":{"shape":"S6"},"tags":{"shape":"So"}}}},"UpdateReplicationJob":{"input":{"type":"structure","required":["replicationJobId"],"members":{"replicationJobId":{},"frequency":{"type":"integer"},"nextReplicationRunStartTime":{"type":"timestamp"},"licenseType":{},"roleName":{},"description":{},"numberOfRecentAmisToKeep":{"type":"integer"},"encrypted":{"type":"boolean"},"kmsKeyId":{}}},"output":{"type":"structure","members":{}}}},"shapes":{"S6":{"type":"list","member":{"type":"structure","members":{"serverGroupId":{},"name":{},"serverList":{"shape":"Sa"}}}},"Sa":{"type":"list","member":{"shape":"Sb"}},"Sb":{"type":"structure","members":{"serverId":{},"serverType":{},"vmServer":{"shape":"Se"},"replicationJobId":{},"replicationJobTerminated":{"type":"boolean"}}},"Se":{"type":"structure","members":{"vmServerAddress":{"shape":"Sf"},"vmName":{},"vmManagerName":{},"vmManagerType":{},"vmPath":{}}},"Sf":{"type":"structure","members":{"vmManagerId":{},"vmId":{}}},"So":{"type":"list","member":{"type":"structure","members":{"key":{},"value":{}}}},"St":{"type":"structure","members":{"appId":{},"importedAppId":{},"name":{},"description":{},"status":{},"statusMessage":{},"replicationConfigurationStatus":{},"replicationStatus":{},"replicationStatusMessage":{},"latestReplicationTime":{"type":"timestamp"},"launchConfigurationStatus":{},"launchStatus":{},"launchStatusMessage":{},"launchDetails":{"type":"structure","members":{"latestLaunchTime":{"type":"timestamp"},"stackName":{},"stackId":{}}},"creationTime":{"type":"timestamp"},"lastModified":{"type":"timestamp"},"roleName":{},"totalServerGroups":{"type":"integer"},"totalServers":{"type":"integer"}}},"S24":{"type":"structure","members":{"bucket":{},"key":{}}},"S2e":{"type":"list","member":{"type":"structure","members":{"serverGroupId":{},"launchOrder":{"type":"integer"},"serverLaunchConfigurations":{"type":"list","member":{"type":"structure","members":{"server":{"shape":"Sb"},"logicalId":{},"vpc":{},"subnet":{},"securityGroup":{},"ec2KeyName":{},"userData":{"type":"structure","members":{"s3Location":{"shape":"S24"}}},"instanceType":{},"associatePublicIpAddress":{"type":"boolean"},"iamInstanceProfileName":{},"configureScript":{"shape":"S24"},"configureScriptType":{}}}}}}},"S2u":{"type":"list","member":{"type":"structure","members":{"serverGroupId":{},"serverReplicationConfigurations":{"type":"list","member":{"type":"structure","members":{"server":{"shape":"Sb"},"serverReplicationParameters":{"type":"structure","members":{"seedTime":{"type":"timestamp"},"frequency":{"type":"integer"},"runOnce":{"type":"boolean"},"licenseType":{},"numberOfRecentAmisToKeep":{"type":"integer"},"encrypted":{"type":"boolean"},"kmsKeyId":{}}}}}}}}},"S31":{"type":"list","member":{"type":"structure","members":{"validationId":{},"name":{},"appValidationStrategy":{},"ssmValidationParameters":{"type":"structure","members":{"source":{"shape":"S37"},"instanceId":{},"scriptType":{},"command":{},"executionTimeoutSeconds":{"type":"integer"},"outputS3BucketName":{}}}}}},"S37":{"type":"structure","members":{"s3Location":{"shape":"S24"}}},"S3c":{"type":"list","member":{"type":"structure","members":{"serverGroupId":{},"serverValidationConfigurations":{"type":"list","member":{"type":"structure","members":{"server":{"shape":"Sb"},"validationId":{},"name":{},"serverValidationStrategy":{},"userDataValidationParameters":{"type":"structure","members":{"source":{"shape":"S37"},"scriptType":{}}}}}}}}},"S46":{"type":"structure","members":{"replicationJobId":{},"serverId":{},"serverType":{},"vmServer":{"shape":"Se"},"seedReplicationTime":{"type":"timestamp"},"frequency":{"type":"integer"},"runOnce":{"type":"boolean"},"nextReplicationRunStartTime":{"type":"timestamp"},"licenseType":{},"roleName":{},"latestAmiId":{},"state":{},"statusMessage":{},"description":{},"numberOfRecentAmisToKeep":{"type":"integer"},"encrypted":{"type":"boolean"},"kmsKeyId":{},"replicationRunList":{"shape":"S4a"}}},"S4a":{"type":"list","member":{"type":"structure","members":{"replicationRunId":{},"state":{},"type":{},"stageDetails":{"type":"structure","members":{"stage":{},"stageProgress":{}}},"statusMessage":{},"amiId":{},"scheduledStartTime":{"type":"timestamp"},"completedTime":{"type":"timestamp"},"description":{},"encrypted":{"type":"boolean"},"kmsKeyId":{}}}}}} + module.exports = {"version":"2.0","metadata":{"apiVersion":"2016-10-24","endpointPrefix":"sms","jsonVersion":"1.1","protocol":"json","serviceAbbreviation":"SMS","serviceFullName":"AWS Server Migration Service","serviceId":"SMS","signatureVersion":"v4","targetPrefix":"AWSServerMigrationService_V2016_10_24","uid":"sms-2016-10-24"},"operations":{"CreateApp":{"input":{"type":"structure","members":{"name":{},"description":{},"roleName":{},"clientToken":{},"serverGroups":{"shape":"S6"},"tags":{"shape":"So"}}},"output":{"type":"structure","members":{"appSummary":{"shape":"St"},"serverGroups":{"shape":"S6"},"tags":{"shape":"So"}}}},"CreateReplicationJob":{"input":{"type":"structure","required":["serverId","seedReplicationTime"],"members":{"serverId":{},"seedReplicationTime":{"type":"timestamp"},"frequency":{"type":"integer"},"runOnce":{"type":"boolean"},"licenseType":{},"roleName":{},"description":{},"numberOfRecentAmisToKeep":{"type":"integer"},"encrypted":{"type":"boolean"},"kmsKeyId":{}}},"output":{"type":"structure","members":{"replicationJobId":{}}}},"DeleteApp":{"input":{"type":"structure","members":{"appId":{},"forceStopAppReplication":{"type":"boolean"},"forceTerminateApp":{"type":"boolean"}}},"output":{"type":"structure","members":{}}},"DeleteAppLaunchConfiguration":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{}}},"DeleteAppReplicationConfiguration":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{}}},"DeleteAppValidationConfiguration":{"input":{"type":"structure","required":["appId"],"members":{"appId":{}}},"output":{"type":"structure","members":{}}},"DeleteReplicationJob":{"input":{"type":"structure","required":["replicationJobId"],"members":{"replicationJobId":{}}},"output":{"type":"structure","members":{}}},"DeleteServerCatalog":{"input":{"type":"structure","members":{}},"output":{"type":"structure","members":{}}},"DisassociateConnector":{"input":{"type":"structure","required":["connectorId"],"members":{"connectorId":{}}},"output":{"type":"structure","members":{}}},"GenerateChangeSet":{"input":{"type":"structure","members":{"appId":{},"changesetFormat":{}}},"output":{"type":"structure","members":{"s3Location":{"shape":"S24"}}}},"GenerateTemplate":{"input":{"type":"structure","members":{"appId":{},"templateFormat":{}}},"output":{"type":"structure","members":{"s3Location":{"shape":"S24"}}}},"GetApp":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{"appSummary":{"shape":"St"},"serverGroups":{"shape":"S6"},"tags":{"shape":"So"}}}},"GetAppLaunchConfiguration":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{"appId":{},"roleName":{},"autoLaunch":{"type":"boolean"},"serverGroupLaunchConfigurations":{"shape":"S2e"}}}},"GetAppReplicationConfiguration":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{"serverGroupReplicationConfigurations":{"shape":"S2u"}}}},"GetAppValidationConfiguration":{"input":{"type":"structure","required":["appId"],"members":{"appId":{}}},"output":{"type":"structure","members":{"appValidationConfigurations":{"shape":"S31"},"serverGroupValidationConfigurations":{"shape":"S3c"}}}},"GetAppValidationOutput":{"input":{"type":"structure","required":["appId"],"members":{"appId":{}}},"output":{"type":"structure","members":{"validationOutputList":{"type":"list","member":{"type":"structure","members":{"validationId":{},"name":{},"status":{},"statusMessage":{},"latestValidationTime":{"type":"timestamp"},"appValidationOutput":{"type":"structure","members":{"ssmOutput":{"type":"structure","members":{"s3Location":{"shape":"S24"}}}}},"serverValidationOutput":{"type":"structure","members":{"server":{"shape":"Sb"}}}}}}}}},"GetConnectors":{"input":{"type":"structure","members":{"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"connectorList":{"type":"list","member":{"type":"structure","members":{"connectorId":{},"version":{},"status":{},"capabilityList":{"type":"list","member":{}},"vmManagerName":{},"vmManagerType":{},"vmManagerId":{},"ipAddress":{},"macAddress":{},"associatedOn":{"type":"timestamp"}}}},"nextToken":{}}}},"GetReplicationJobs":{"input":{"type":"structure","members":{"replicationJobId":{},"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"replicationJobList":{"type":"list","member":{"shape":"S46"}},"nextToken":{}}}},"GetReplicationRuns":{"input":{"type":"structure","required":["replicationJobId"],"members":{"replicationJobId":{},"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"replicationJob":{"shape":"S46"},"replicationRunList":{"shape":"S4a"},"nextToken":{}}}},"GetServers":{"input":{"type":"structure","members":{"nextToken":{},"maxResults":{"type":"integer"},"vmServerAddressList":{"type":"list","member":{"shape":"Sf"}}}},"output":{"type":"structure","members":{"lastModifiedOn":{"type":"timestamp"},"serverCatalogStatus":{},"serverList":{"shape":"Sa"},"nextToken":{}}}},"ImportAppCatalog":{"input":{"type":"structure","members":{"roleName":{}}},"output":{"type":"structure","members":{}}},"ImportServerCatalog":{"input":{"type":"structure","members":{}},"output":{"type":"structure","members":{}}},"LaunchApp":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{}}},"ListApps":{"input":{"type":"structure","members":{"appIds":{"type":"list","member":{}},"nextToken":{},"maxResults":{"type":"integer"}}},"output":{"type":"structure","members":{"apps":{"type":"list","member":{"shape":"St"}},"nextToken":{}}}},"NotifyAppValidationOutput":{"input":{"type":"structure","required":["appId"],"members":{"appId":{},"notificationContext":{"type":"structure","members":{"validationId":{},"status":{},"statusMessage":{}}}}},"output":{"type":"structure","members":{}}},"PutAppLaunchConfiguration":{"input":{"type":"structure","members":{"appId":{},"roleName":{},"autoLaunch":{"type":"boolean"},"serverGroupLaunchConfigurations":{"shape":"S2e"}}},"output":{"type":"structure","members":{}}},"PutAppReplicationConfiguration":{"input":{"type":"structure","members":{"appId":{},"serverGroupReplicationConfigurations":{"shape":"S2u"}}},"output":{"type":"structure","members":{}}},"PutAppValidationConfiguration":{"input":{"type":"structure","required":["appId"],"members":{"appId":{},"appValidationConfigurations":{"shape":"S31"},"serverGroupValidationConfigurations":{"shape":"S3c"}}},"output":{"type":"structure","members":{}}},"StartAppReplication":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{}}},"StartOnDemandAppReplication":{"input":{"type":"structure","required":["appId"],"members":{"appId":{},"description":{}}},"output":{"type":"structure","members":{}}},"StartOnDemandReplicationRun":{"input":{"type":"structure","required":["replicationJobId"],"members":{"replicationJobId":{},"description":{}}},"output":{"type":"structure","members":{"replicationRunId":{}}}},"StopAppReplication":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{}}},"TerminateApp":{"input":{"type":"structure","members":{"appId":{}}},"output":{"type":"structure","members":{}}},"UpdateApp":{"input":{"type":"structure","members":{"appId":{},"name":{},"description":{},"roleName":{},"serverGroups":{"shape":"S6"},"tags":{"shape":"So"}}},"output":{"type":"structure","members":{"appSummary":{"shape":"St"},"serverGroups":{"shape":"S6"},"tags":{"shape":"So"}}}},"UpdateReplicationJob":{"input":{"type":"structure","required":["replicationJobId"],"members":{"replicationJobId":{},"frequency":{"type":"integer"},"nextReplicationRunStartTime":{"type":"timestamp"},"licenseType":{},"roleName":{},"description":{},"numberOfRecentAmisToKeep":{"type":"integer"},"encrypted":{"type":"boolean"},"kmsKeyId":{}}},"output":{"type":"structure","members":{}}}},"shapes":{"S6":{"type":"list","member":{"type":"structure","members":{"serverGroupId":{},"name":{},"serverList":{"shape":"Sa"}}}},"Sa":{"type":"list","member":{"shape":"Sb"}},"Sb":{"type":"structure","members":{"serverId":{},"serverType":{},"vmServer":{"shape":"Se"},"replicationJobId":{},"replicationJobTerminated":{"type":"boolean"}}},"Se":{"type":"structure","members":{"vmServerAddress":{"shape":"Sf"},"vmName":{},"vmManagerName":{},"vmManagerType":{},"vmPath":{}}},"Sf":{"type":"structure","members":{"vmManagerId":{},"vmId":{}}},"So":{"type":"list","member":{"type":"structure","members":{"key":{},"value":{}}}},"St":{"type":"structure","members":{"appId":{},"importedAppId":{},"name":{},"description":{},"status":{},"statusMessage":{},"replicationConfigurationStatus":{},"replicationStatus":{},"replicationStatusMessage":{},"latestReplicationTime":{"type":"timestamp"},"launchConfigurationStatus":{},"launchStatus":{},"launchStatusMessage":{},"launchDetails":{"type":"structure","members":{"latestLaunchTime":{"type":"timestamp"},"stackName":{},"stackId":{}}},"creationTime":{"type":"timestamp"},"lastModified":{"type":"timestamp"},"roleName":{},"totalServerGroups":{"type":"integer"},"totalServers":{"type":"integer"}}},"S24":{"type":"structure","members":{"bucket":{},"key":{}}},"S2e":{"type":"list","member":{"type":"structure","members":{"serverGroupId":{},"launchOrder":{"type":"integer"},"serverLaunchConfigurations":{"type":"list","member":{"type":"structure","members":{"server":{"shape":"Sb"},"logicalId":{},"vpc":{},"subnet":{},"securityGroup":{},"ec2KeyName":{},"userData":{"type":"structure","members":{"s3Location":{"shape":"S24"}}},"instanceType":{},"associatePublicIpAddress":{"type":"boolean"},"iamInstanceProfileName":{},"configureScript":{"shape":"S24"},"configureScriptType":{}}}}}}},"S2u":{"type":"list","member":{"type":"structure","members":{"serverGroupId":{},"serverReplicationConfigurations":{"type":"list","member":{"type":"structure","members":{"server":{"shape":"Sb"},"serverReplicationParameters":{"type":"structure","members":{"seedTime":{"type":"timestamp"},"frequency":{"type":"integer"},"runOnce":{"type":"boolean"},"licenseType":{},"numberOfRecentAmisToKeep":{"type":"integer"},"encrypted":{"type":"boolean"},"kmsKeyId":{}}}}}}}}},"S31":{"type":"list","member":{"type":"structure","members":{"validationId":{},"name":{},"appValidationStrategy":{},"ssmValidationParameters":{"type":"structure","members":{"source":{"shape":"S37"},"instanceId":{},"scriptType":{},"command":{},"executionTimeoutSeconds":{"type":"integer"},"outputS3BucketName":{}}}}}},"S37":{"type":"structure","members":{"s3Location":{"shape":"S24"}}},"S3c":{"type":"list","member":{"type":"structure","members":{"serverGroupId":{},"serverValidationConfigurations":{"type":"list","member":{"type":"structure","members":{"server":{"shape":"Sb"},"validationId":{},"name":{},"serverValidationStrategy":{},"userDataValidationParameters":{"type":"structure","members":{"source":{"shape":"S37"},"scriptType":{}}}}}}}}},"S46":{"type":"structure","members":{"replicationJobId":{},"serverId":{},"serverType":{},"vmServer":{"shape":"Se"},"seedReplicationTime":{"type":"timestamp"},"frequency":{"type":"integer"},"runOnce":{"type":"boolean"},"nextReplicationRunStartTime":{"type":"timestamp"},"licenseType":{},"roleName":{},"latestAmiId":{},"state":{},"statusMessage":{},"description":{},"numberOfRecentAmisToKeep":{"type":"integer"},"encrypted":{"type":"boolean"},"kmsKeyId":{},"replicationRunList":{"shape":"S4a"}}},"S4a":{"type":"list","member":{"type":"structure","members":{"replicationRunId":{},"state":{},"type":{},"stageDetails":{"type":"structure","members":{"stage":{},"stageProgress":{}}},"statusMessage":{},"amiId":{},"scheduledStartTime":{"type":"timestamp"},"completedTime":{"type":"timestamp"},"description":{},"encrypted":{"type":"boolean"},"kmsKeyId":{}}}}},"deprecated":true,"deprecatedMessage":"AWS Server Migration Service is Deprecated."} /***/ }), /* 473 */ @@ -58334,7 +58334,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 976 */ /***/ (function(module, exports) { - module.exports = {"version":"2.0","metadata":{"apiVersion":"2020-07-01","endpointPrefix":"featurestore-runtime.sagemaker","jsonVersion":"1.1","protocol":"rest-json","serviceFullName":"Amazon SageMaker Feature Store Runtime","serviceId":"SageMaker FeatureStore Runtime","signatureVersion":"v4","signingName":"sagemaker","uid":"sagemaker-featurestore-runtime-2020-07-01"},"operations":{"BatchGetRecord":{"http":{"requestUri":"/BatchGetRecord"},"input":{"type":"structure","required":["Identifiers"],"members":{"Identifiers":{"type":"list","member":{"shape":"S3"}}}},"output":{"type":"structure","required":["Records","Errors","UnprocessedIdentifiers"],"members":{"Records":{"type":"list","member":{"type":"structure","required":["FeatureGroupName","RecordIdentifierValueAsString","Record"],"members":{"FeatureGroupName":{},"RecordIdentifierValueAsString":{},"Record":{"shape":"Sc"}}}},"Errors":{"type":"list","member":{"type":"structure","required":["FeatureGroupName","RecordIdentifierValueAsString","ErrorCode","ErrorMessage"],"members":{"FeatureGroupName":{},"RecordIdentifierValueAsString":{},"ErrorCode":{},"ErrorMessage":{}}}},"UnprocessedIdentifiers":{"type":"list","member":{"shape":"S3"}}}}},"DeleteRecord":{"http":{"method":"DELETE","requestUri":"/FeatureGroup/{FeatureGroupName}"},"input":{"type":"structure","required":["FeatureGroupName","RecordIdentifierValueAsString","EventTime"],"members":{"FeatureGroupName":{"location":"uri","locationName":"FeatureGroupName"},"RecordIdentifierValueAsString":{"location":"querystring","locationName":"RecordIdentifierValueAsString"},"EventTime":{"location":"querystring","locationName":"EventTime"},"TargetStores":{"shape":"Sj","location":"querystring","locationName":"TargetStores"}}}},"GetRecord":{"http":{"method":"GET","requestUri":"/FeatureGroup/{FeatureGroupName}"},"input":{"type":"structure","required":["FeatureGroupName","RecordIdentifierValueAsString"],"members":{"FeatureGroupName":{"location":"uri","locationName":"FeatureGroupName"},"RecordIdentifierValueAsString":{"location":"querystring","locationName":"RecordIdentifierValueAsString"},"FeatureNames":{"shape":"S7","location":"querystring","locationName":"FeatureName"}}},"output":{"type":"structure","members":{"Record":{"shape":"Sc"}}}},"PutRecord":{"http":{"method":"PUT","requestUri":"/FeatureGroup/{FeatureGroupName}"},"input":{"type":"structure","required":["FeatureGroupName","Record"],"members":{"FeatureGroupName":{"location":"uri","locationName":"FeatureGroupName"},"Record":{"shape":"Sc"},"TargetStores":{"shape":"Sj"}}}}},"shapes":{"S3":{"type":"structure","required":["FeatureGroupName","RecordIdentifiersValueAsString"],"members":{"FeatureGroupName":{},"RecordIdentifiersValueAsString":{"type":"list","member":{}},"FeatureNames":{"shape":"S7"}}},"S7":{"type":"list","member":{}},"Sc":{"type":"list","member":{"type":"structure","required":["FeatureName","ValueAsString"],"members":{"FeatureName":{},"ValueAsString":{}}}},"Sj":{"type":"list","member":{}}}} + module.exports = {"version":"2.0","metadata":{"apiVersion":"2020-07-01","endpointPrefix":"featurestore-runtime.sagemaker","jsonVersion":"1.1","protocol":"rest-json","serviceFullName":"Amazon SageMaker Feature Store Runtime","serviceId":"SageMaker FeatureStore Runtime","signatureVersion":"v4","signingName":"sagemaker","uid":"sagemaker-featurestore-runtime-2020-07-01"},"operations":{"BatchGetRecord":{"http":{"requestUri":"/BatchGetRecord"},"input":{"type":"structure","required":["Identifiers"],"members":{"Identifiers":{"type":"list","member":{"shape":"S3"}}}},"output":{"type":"structure","required":["Records","Errors","UnprocessedIdentifiers"],"members":{"Records":{"type":"list","member":{"type":"structure","required":["FeatureGroupName","RecordIdentifierValueAsString","Record"],"members":{"FeatureGroupName":{},"RecordIdentifierValueAsString":{},"Record":{"shape":"Sc"}}}},"Errors":{"type":"list","member":{"type":"structure","required":["FeatureGroupName","RecordIdentifierValueAsString","ErrorCode","ErrorMessage"],"members":{"FeatureGroupName":{},"RecordIdentifierValueAsString":{},"ErrorCode":{},"ErrorMessage":{}}}},"UnprocessedIdentifiers":{"type":"list","member":{"shape":"S3"}}}}},"DeleteRecord":{"http":{"method":"DELETE","requestUri":"/FeatureGroup/{FeatureGroupName}"},"input":{"type":"structure","required":["FeatureGroupName","RecordIdentifierValueAsString","EventTime"],"members":{"FeatureGroupName":{"location":"uri","locationName":"FeatureGroupName"},"RecordIdentifierValueAsString":{"location":"querystring","locationName":"RecordIdentifierValueAsString"},"EventTime":{"location":"querystring","locationName":"EventTime"},"TargetStores":{"shape":"Sj","location":"querystring","locationName":"TargetStores"},"DeletionMode":{"location":"querystring","locationName":"DeletionMode"}}}},"GetRecord":{"http":{"method":"GET","requestUri":"/FeatureGroup/{FeatureGroupName}"},"input":{"type":"structure","required":["FeatureGroupName","RecordIdentifierValueAsString"],"members":{"FeatureGroupName":{"location":"uri","locationName":"FeatureGroupName"},"RecordIdentifierValueAsString":{"location":"querystring","locationName":"RecordIdentifierValueAsString"},"FeatureNames":{"shape":"S7","location":"querystring","locationName":"FeatureName"}}},"output":{"type":"structure","members":{"Record":{"shape":"Sc"}}}},"PutRecord":{"http":{"method":"PUT","requestUri":"/FeatureGroup/{FeatureGroupName}"},"input":{"type":"structure","required":["FeatureGroupName","Record"],"members":{"FeatureGroupName":{"location":"uri","locationName":"FeatureGroupName"},"Record":{"shape":"Sc"},"TargetStores":{"shape":"Sj"}}}}},"shapes":{"S3":{"type":"structure","required":["FeatureGroupName","RecordIdentifiersValueAsString"],"members":{"FeatureGroupName":{},"RecordIdentifiersValueAsString":{"type":"list","member":{}},"FeatureNames":{"shape":"S7"}}},"S7":{"type":"list","member":{}},"Sc":{"type":"list","member":{"type":"structure","required":["FeatureName","ValueAsString"],"members":{"FeatureName":{},"ValueAsString":{}}}},"Sj":{"type":"list","member":{}}}} /***/ }), /* 977 */ @@ -61939,7 +61939,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 1283 */ /***/ (function(module, exports) { - module.exports = {"version":"2.0","metadata":{"apiVersion":"2021-06-03","endpointPrefix":"internetmonitor","jsonVersion":"1.1","protocol":"rest-json","serviceFullName":"Amazon CloudWatch Internet Monitor","serviceId":"InternetMonitor","signatureVersion":"v4","signingName":"internetmonitor","uid":"internetmonitor-2021-06-03"},"operations":{"CreateMonitor":{"http":{"requestUri":"/v20210603/Monitors","responseCode":200},"input":{"type":"structure","required":["MonitorName","MaxCityNetworksToMonitor"],"members":{"MonitorName":{},"Resources":{"shape":"S3"},"ClientToken":{"idempotencyToken":true},"Tags":{"shape":"S6"},"MaxCityNetworksToMonitor":{"type":"integer"}}},"output":{"type":"structure","required":["Arn","Status"],"members":{"Arn":{},"Status":{}}},"idempotent":true},"DeleteMonitor":{"http":{"method":"DELETE","requestUri":"/v20210603/Monitors/{MonitorName}","responseCode":200},"input":{"type":"structure","required":["MonitorName"],"members":{"MonitorName":{"location":"uri","locationName":"MonitorName"}}},"output":{"type":"structure","members":{}},"idempotent":true},"GetHealthEvent":{"http":{"method":"GET","requestUri":"/v20210603/Monitors/{MonitorName}/HealthEvents/{EventId}","responseCode":200},"input":{"type":"structure","required":["MonitorName","EventId"],"members":{"MonitorName":{"location":"uri","locationName":"MonitorName"},"EventId":{"location":"uri","locationName":"EventId"}}},"output":{"type":"structure","required":["EventArn","EventId","StartedAt","LastUpdatedAt","ImpactedLocations","Status","ImpactType"],"members":{"EventArn":{},"EventId":{},"StartedAt":{"shape":"Si"},"EndedAt":{"shape":"Si"},"CreatedAt":{"shape":"Si"},"LastUpdatedAt":{"shape":"Si"},"ImpactedLocations":{"shape":"Sj"},"Status":{},"PercentOfTotalTrafficImpacted":{"type":"double"},"ImpactType":{}}}},"GetMonitor":{"http":{"method":"GET","requestUri":"/v20210603/Monitors/{MonitorName}","responseCode":200},"input":{"type":"structure","required":["MonitorName"],"members":{"MonitorName":{"location":"uri","locationName":"MonitorName"}}},"output":{"type":"structure","required":["MonitorName","MonitorArn","Resources","Status","CreatedAt","ModifiedAt","MaxCityNetworksToMonitor"],"members":{"MonitorName":{},"MonitorArn":{},"Resources":{"shape":"S3"},"Status":{},"CreatedAt":{"shape":"Si"},"ModifiedAt":{"shape":"Si"},"ProcessingStatus":{},"ProcessingStatusInfo":{},"Tags":{"shape":"S6"},"MaxCityNetworksToMonitor":{"type":"integer"}}}},"ListHealthEvents":{"http":{"method":"GET","requestUri":"/v20210603/Monitors/{MonitorName}/HealthEvents","responseCode":200},"input":{"type":"structure","required":["MonitorName"],"members":{"MonitorName":{"location":"uri","locationName":"MonitorName"},"StartTime":{"shape":"Si","location":"querystring","locationName":"StartTime"},"EndTime":{"shape":"Si","location":"querystring","locationName":"EndTime"},"NextToken":{"location":"querystring","locationName":"NextToken"},"MaxResults":{"location":"querystring","locationName":"MaxResults","type":"integer"},"EventStatus":{"location":"querystring","locationName":"EventStatus"}}},"output":{"type":"structure","required":["HealthEvents"],"members":{"HealthEvents":{"type":"list","member":{"type":"structure","required":["EventArn","EventId","StartedAt","LastUpdatedAt","ImpactedLocations","Status","ImpactType"],"members":{"EventArn":{},"EventId":{},"StartedAt":{"shape":"Si"},"EndedAt":{"shape":"Si"},"CreatedAt":{"shape":"Si"},"LastUpdatedAt":{"shape":"Si"},"ImpactedLocations":{"shape":"Sj"},"Status":{},"PercentOfTotalTrafficImpacted":{"type":"double"},"ImpactType":{}}}},"NextToken":{}}}},"ListMonitors":{"http":{"method":"GET","requestUri":"/v20210603/Monitors","responseCode":200},"input":{"type":"structure","members":{"NextToken":{"location":"querystring","locationName":"NextToken"},"MaxResults":{"location":"querystring","locationName":"MaxResults","type":"integer"},"MonitorStatus":{"location":"querystring","locationName":"MonitorStatus"}}},"output":{"type":"structure","required":["Monitors"],"members":{"Monitors":{"type":"list","member":{"type":"structure","required":["MonitorName","MonitorArn","Status"],"members":{"MonitorName":{},"MonitorArn":{},"Status":{},"ProcessingStatus":{}}}},"NextToken":{}}}},"ListTagsForResource":{"http":{"method":"GET","requestUri":"/tags/{ResourceArn}","responseCode":200},"input":{"type":"structure","required":["ResourceArn"],"members":{"ResourceArn":{"location":"uri","locationName":"ResourceArn"}}},"output":{"type":"structure","members":{"Tags":{"shape":"S6"}}}},"TagResource":{"http":{"requestUri":"/tags/{ResourceArn}","responseCode":204},"input":{"type":"structure","required":["ResourceArn","Tags"],"members":{"ResourceArn":{"location":"uri","locationName":"ResourceArn"},"Tags":{"shape":"S6"}}},"output":{"type":"structure","members":{}},"idempotent":true},"UntagResource":{"http":{"method":"DELETE","requestUri":"/tags/{ResourceArn}","responseCode":204},"input":{"type":"structure","required":["ResourceArn","TagKeys"],"members":{"ResourceArn":{"location":"uri","locationName":"ResourceArn"},"TagKeys":{"location":"querystring","locationName":"tagKeys","type":"list","member":{}}}},"output":{"type":"structure","members":{}},"idempotent":true},"UpdateMonitor":{"http":{"method":"PATCH","requestUri":"/v20210603/Monitors/{MonitorName}","responseCode":200},"input":{"type":"structure","required":["MonitorName"],"members":{"MonitorName":{"location":"uri","locationName":"MonitorName"},"ResourcesToAdd":{"shape":"S3"},"ResourcesToRemove":{"shape":"S3"},"Status":{},"ClientToken":{"idempotencyToken":true},"MaxCityNetworksToMonitor":{"type":"integer"}}},"output":{"type":"structure","required":["MonitorArn","Status"],"members":{"MonitorArn":{},"Status":{}}},"idempotent":true}},"shapes":{"S3":{"type":"list","member":{}},"S6":{"type":"map","key":{},"value":{}},"Si":{"type":"timestamp","timestampFormat":"iso8601"},"Sj":{"type":"list","member":{"type":"structure","required":["ASName","ASNumber","Country","Status"],"members":{"ASName":{},"ASNumber":{"type":"long"},"Country":{},"Subdivision":{},"Metro":{},"City":{},"Latitude":{"type":"double"},"Longitude":{"type":"double"},"CountryCode":{},"SubdivisionCode":{},"ServiceLocation":{},"Status":{},"CausedBy":{"type":"structure","required":["Networks","AsPath","NetworkEventType"],"members":{"Networks":{"shape":"Sp"},"AsPath":{"shape":"Sp"},"NetworkEventType":{}}},"InternetHealth":{"type":"structure","members":{"Availability":{"type":"structure","members":{"ExperienceScore":{"type":"double"},"PercentOfTotalTrafficImpacted":{"type":"double"},"PercentOfClientLocationImpacted":{"type":"double"}}},"Performance":{"type":"structure","members":{"ExperienceScore":{"type":"double"},"PercentOfTotalTrafficImpacted":{"type":"double"},"PercentOfClientLocationImpacted":{"type":"double"},"RoundTripTime":{"type":"structure","members":{"P50":{"type":"double"},"P90":{"type":"double"},"P95":{"type":"double"}}}}}}}}}},"Sp":{"type":"list","member":{"type":"structure","required":["ASName","ASNumber"],"members":{"ASName":{},"ASNumber":{"type":"long"}}}}}} + module.exports = {"version":"2.0","metadata":{"apiVersion":"2021-06-03","endpointPrefix":"internetmonitor","jsonVersion":"1.1","protocol":"rest-json","serviceFullName":"Amazon CloudWatch Internet Monitor","serviceId":"InternetMonitor","signatureVersion":"v4","signingName":"internetmonitor","uid":"internetmonitor-2021-06-03"},"operations":{"CreateMonitor":{"http":{"requestUri":"/v20210603/Monitors","responseCode":200},"input":{"type":"structure","required":["MonitorName","MaxCityNetworksToMonitor"],"members":{"MonitorName":{},"Resources":{"shape":"S3"},"ClientToken":{"idempotencyToken":true},"Tags":{"shape":"S6"},"MaxCityNetworksToMonitor":{"type":"integer"},"InternetMeasurementsLogDelivery":{"shape":"Sa"}}},"output":{"type":"structure","required":["Arn","Status"],"members":{"Arn":{},"Status":{}}},"idempotent":true},"DeleteMonitor":{"http":{"method":"DELETE","requestUri":"/v20210603/Monitors/{MonitorName}","responseCode":200},"input":{"type":"structure","required":["MonitorName"],"members":{"MonitorName":{"location":"uri","locationName":"MonitorName"}}},"output":{"type":"structure","members":{}},"idempotent":true},"GetHealthEvent":{"http":{"method":"GET","requestUri":"/v20210603/Monitors/{MonitorName}/HealthEvents/{EventId}","responseCode":200},"input":{"type":"structure","required":["MonitorName","EventId"],"members":{"MonitorName":{"location":"uri","locationName":"MonitorName"},"EventId":{"location":"uri","locationName":"EventId"}}},"output":{"type":"structure","required":["EventArn","EventId","StartedAt","LastUpdatedAt","ImpactedLocations","Status","ImpactType"],"members":{"EventArn":{},"EventId":{},"StartedAt":{"shape":"Sm"},"EndedAt":{"shape":"Sm"},"CreatedAt":{"shape":"Sm"},"LastUpdatedAt":{"shape":"Sm"},"ImpactedLocations":{"shape":"Sn"},"Status":{},"PercentOfTotalTrafficImpacted":{"type":"double"},"ImpactType":{}}}},"GetMonitor":{"http":{"method":"GET","requestUri":"/v20210603/Monitors/{MonitorName}","responseCode":200},"input":{"type":"structure","required":["MonitorName"],"members":{"MonitorName":{"location":"uri","locationName":"MonitorName"}}},"output":{"type":"structure","required":["MonitorName","MonitorArn","Resources","Status","CreatedAt","ModifiedAt","MaxCityNetworksToMonitor"],"members":{"MonitorName":{},"MonitorArn":{},"Resources":{"shape":"S3"},"Status":{},"CreatedAt":{"shape":"Sm"},"ModifiedAt":{"shape":"Sm"},"ProcessingStatus":{},"ProcessingStatusInfo":{},"Tags":{"shape":"S6"},"MaxCityNetworksToMonitor":{"type":"integer"},"InternetMeasurementsLogDelivery":{"shape":"Sa"}}}},"ListHealthEvents":{"http":{"method":"GET","requestUri":"/v20210603/Monitors/{MonitorName}/HealthEvents","responseCode":200},"input":{"type":"structure","required":["MonitorName"],"members":{"MonitorName":{"location":"uri","locationName":"MonitorName"},"StartTime":{"shape":"Sm","location":"querystring","locationName":"StartTime"},"EndTime":{"shape":"Sm","location":"querystring","locationName":"EndTime"},"NextToken":{"location":"querystring","locationName":"NextToken"},"MaxResults":{"location":"querystring","locationName":"MaxResults","type":"integer"},"EventStatus":{"location":"querystring","locationName":"EventStatus"}}},"output":{"type":"structure","required":["HealthEvents"],"members":{"HealthEvents":{"type":"list","member":{"type":"structure","required":["EventArn","EventId","StartedAt","LastUpdatedAt","ImpactedLocations","Status","ImpactType"],"members":{"EventArn":{},"EventId":{},"StartedAt":{"shape":"Sm"},"EndedAt":{"shape":"Sm"},"CreatedAt":{"shape":"Sm"},"LastUpdatedAt":{"shape":"Sm"},"ImpactedLocations":{"shape":"Sn"},"Status":{},"PercentOfTotalTrafficImpacted":{"type":"double"},"ImpactType":{}}}},"NextToken":{}}}},"ListMonitors":{"http":{"method":"GET","requestUri":"/v20210603/Monitors","responseCode":200},"input":{"type":"structure","members":{"NextToken":{"location":"querystring","locationName":"NextToken"},"MaxResults":{"location":"querystring","locationName":"MaxResults","type":"integer"},"MonitorStatus":{"location":"querystring","locationName":"MonitorStatus"}}},"output":{"type":"structure","required":["Monitors"],"members":{"Monitors":{"type":"list","member":{"type":"structure","required":["MonitorName","MonitorArn","Status"],"members":{"MonitorName":{},"MonitorArn":{},"Status":{},"ProcessingStatus":{}}}},"NextToken":{}}}},"ListTagsForResource":{"http":{"method":"GET","requestUri":"/tags/{ResourceArn}","responseCode":200},"input":{"type":"structure","required":["ResourceArn"],"members":{"ResourceArn":{"location":"uri","locationName":"ResourceArn"}}},"output":{"type":"structure","members":{"Tags":{"shape":"S6"}}}},"TagResource":{"http":{"requestUri":"/tags/{ResourceArn}","responseCode":204},"input":{"type":"structure","required":["ResourceArn","Tags"],"members":{"ResourceArn":{"location":"uri","locationName":"ResourceArn"},"Tags":{"shape":"S6"}}},"output":{"type":"structure","members":{}},"idempotent":true},"UntagResource":{"http":{"method":"DELETE","requestUri":"/tags/{ResourceArn}","responseCode":204},"input":{"type":"structure","required":["ResourceArn","TagKeys"],"members":{"ResourceArn":{"location":"uri","locationName":"ResourceArn"},"TagKeys":{"location":"querystring","locationName":"tagKeys","type":"list","member":{}}}},"output":{"type":"structure","members":{}},"idempotent":true},"UpdateMonitor":{"http":{"method":"PATCH","requestUri":"/v20210603/Monitors/{MonitorName}","responseCode":200},"input":{"type":"structure","required":["MonitorName"],"members":{"MonitorName":{"location":"uri","locationName":"MonitorName"},"ResourcesToAdd":{"shape":"S3"},"ResourcesToRemove":{"shape":"S3"},"Status":{},"ClientToken":{"idempotencyToken":true},"MaxCityNetworksToMonitor":{"type":"integer"},"InternetMeasurementsLogDelivery":{"shape":"Sa"}}},"output":{"type":"structure","required":["MonitorArn","Status"],"members":{"MonitorArn":{},"Status":{}}},"idempotent":true}},"shapes":{"S3":{"type":"list","member":{}},"S6":{"type":"map","key":{},"value":{}},"Sa":{"type":"structure","members":{"S3Config":{"type":"structure","members":{"BucketName":{},"BucketPrefix":{},"LogDeliveryStatus":{}}}}},"Sm":{"type":"timestamp","timestampFormat":"iso8601"},"Sn":{"type":"list","member":{"type":"structure","required":["ASName","ASNumber","Country","Status"],"members":{"ASName":{},"ASNumber":{"type":"long"},"Country":{},"Subdivision":{},"Metro":{},"City":{},"Latitude":{"type":"double"},"Longitude":{"type":"double"},"CountryCode":{},"SubdivisionCode":{},"ServiceLocation":{},"Status":{},"CausedBy":{"type":"structure","required":["Networks","AsPath","NetworkEventType"],"members":{"Networks":{"shape":"St"},"AsPath":{"shape":"St"},"NetworkEventType":{}}},"InternetHealth":{"type":"structure","members":{"Availability":{"type":"structure","members":{"ExperienceScore":{"type":"double"},"PercentOfTotalTrafficImpacted":{"type":"double"},"PercentOfClientLocationImpacted":{"type":"double"}}},"Performance":{"type":"structure","members":{"ExperienceScore":{"type":"double"},"PercentOfTotalTrafficImpacted":{"type":"double"},"PercentOfClientLocationImpacted":{"type":"double"},"RoundTripTime":{"type":"structure","members":{"P50":{"type":"double"},"P90":{"type":"double"},"P95":{"type":"double"}}}}}}}}}},"St":{"type":"list","member":{"type":"structure","required":["ASName","ASNumber"],"members":{"ASName":{},"ASNumber":{"type":"long"}}}}}} /***/ }), /* 1284 */ diff --git a/dist/aws-sdk.js b/dist/aws-sdk.js index 224ff47b4a..c0caa92c35 100644 --- a/dist/aws-sdk.js +++ b/dist/aws-sdk.js @@ -1,4 +1,4 @@ -// AWS SDK for JavaScript v2.1347.0 +// AWS SDK for JavaScript v2.1348.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/":435}],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/":435}],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/":435}],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/":435}],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":388,"./util":423,"./xml/browser_parser":424,_process:440,"buffer/":435,"querystring/":447,"url/":449}],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:440}],345:[function(e,t,r){var a={util:e("./util")};({}).toString(),t.exports=a,a.util.update(a,{VERSION:"2.1347.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"),e("./maintenance_mode_message"),a.events=new a.SequentialExecutor,a.util.memoizedProperty(a,"endpointCache",function(){return new a.EndpointCache(a.config.endpointCacheSize)},!0)},{"../vendor/endpoint-cache":460,"./api_loader":334,"./config":343,"./event_listeners":366,"./http":367,"./json/builder":369,"./json/parser":370,"./maintenance_mode_message":371,"./model/api":372,"./model/operation":374,"./model/paginator":375,"./model/resource_waiter":376,"./model/shape":377,"./param_validator":378,"./protocol/json":381,"./protocol/query":382,"./protocol/rest":383,"./protocol/rest_json":384,"./protocol/rest_xml":385,"./request":392,"./resource_waiter":393,"./response":394,"./sequential_executor":396,"./service":397,"./signers/request_signer":415,"./util":423,"./xml/builder":425}],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.STS=i.defineService("sts",["2011-06-15"]),e("../lib/services/sts"),Object.defineProperty(s.services.sts,"2011-06-15",{get:function(){var t=e("../apis/sts-2011-06-15.min.json");return t.paginators=e("../apis/sts-2011-06-15.paginators.json").pagination,t},enumerable:!0,configurable:!0}),t.exports=a.STS},{"../apis/sts-2011-06-15.min.json":232,"../apis/sts-2011-06-15.paginators.json":233,"../lib/core":345,"../lib/node_loader":341,"../lib/services/sts":412}],330:[function(e,t,r){e("../lib/node_loader");var a=e("../lib/core"),i=a.Service,s=a.apiLoader;s.services.translate={},a.Translate=i.defineService("translate",["2017-07-01"]),Object.defineProperty(s.services.translate,"2017-07-01",{get:function(){var t=e("../apis/translate-2017-07-01.min.json");return t.paginators=e("../apis/translate-2017-07-01.paginators.json").pagination,t},enumerable:!0,configurable:!0}),t.exports=a.Translate},{"../apis/translate-2017-07-01.min.json":234,"../apis/translate-2017-07-01.paginators.json":235,"../lib/core":345,"../lib/node_loader":341}],331:[function(e,t,r){e("../lib/node_loader");var a=e("../lib/core"),i=a.Service,s=a.apiLoader;s.services.waf={},a.WAF=i.defineService("waf",["2015-08-24"]),Object.defineProperty(s.services.waf,"2015-08-24",{get:function(){var t=e("../apis/waf-2015-08-24.min.json");return t.paginators=e("../apis/waf-2015-08-24.paginators.json").pagination,t},enumerable:!0,configurable:!0}),t.exports=a.WAF},{"../apis/waf-2015-08-24.min.json":236,"../apis/waf-2015-08-24.paginators.json":237,"../lib/core":345,"../lib/node_loader":341}],332:[function(e,t,r){e("../lib/node_loader");var a=e("../lib/core"),i=a.Service,s=a.apiLoader;s.services.workdocs={},a.WorkDocs=i.defineService("workdocs",["2016-05-01"]),Object.defineProperty(s.services.workdocs,"2016-05-01",{get:function(){var t=e("../apis/workdocs-2016-05-01.min.json");return t.paginators=e("../apis/workdocs-2016-05-01.paginators.json").pagination,t},enumerable:!0,configurable:!0}),t.exports=a.WorkDocs},{"../apis/workdocs-2016-05-01.min.json":238,"../apis/workdocs-2016-05-01.paginators.json":239,"../lib/core":345,"../lib/node_loader":341}],333:[function(e,t,r){e("../lib/node_loader");var a=e("../lib/core"),i=a.Service,s=a.apiLoader;s.services.xray={},a.XRay=i.defineService("xray",["2016-04-12"]),Object.defineProperty(s.services.xray,"2016-04-12",{get:function(){var t=e("../apis/xray-2016-04-12.min.json");return t.paginators=e("../apis/xray-2016-04-12.paginators.json").pagination,t},enumerable:!0,configurable:!0}),t.exports=a.XRay},{"../apis/xray-2016-04-12.min.json":240,"../apis/xray-2016-04-12.paginators.json":241,"../lib/core":345,"../lib/node_loader":341}],334:[function(e,t,r){function a(e,t){if(!a.services.hasOwnProperty(e))throw new Error("InvalidService: Failed to load api for "+e);return a.services[e][t]}a.services={},t.exports=a},{}],335:[function(e,t,r){var a=e("./browserHmac"),i=e("./browserMd5"),s=e("./browserSha1"),o=e("./browserSha256");t.exports={createHash:function(e){if("md5"===(e=e.toLowerCase()))return new i;if("sha256"===e)return new o;if("sha1"===e)return new s;throw new Error("Hash algorithm "+e+" is not supported in the browser SDK")},createHmac:function(e,t){if("md5"===(e=e.toLowerCase()))return new a(i,t);if("sha256"===e)return new a(o,t);if("sha1"===e)return new a(s,t);throw new Error("HMAC algorithm "+e+" is not supported in the browser SDK")},createSign:function(){throw new Error("createSign is not implemented in the browser")}}},{"./browserHmac":337,"./browserMd5":338,"./browserSha1":339,"./browserSha256":340}],336:[function(e,t,r){function a(e){return"string"==typeof e?0===e.length:0===e.byteLength}function i(e){return"string"==typeof e&&(e=new s(e,"utf8")),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/":435}],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/":435}],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/":435}],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/":435}],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":388,"./util":423,"./xml/browser_parser":424,_process:440,"buffer/":435,"querystring/":447,"url/":449}],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:440}],345:[function(e,t,r){var a={util:e("./util")};({}).toString(),t.exports=a,a.util.update(a,{VERSION:"2.1348.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"),e("./maintenance_mode_message"),a.events=new a.SequentialExecutor,a.util.memoizedProperty(a,"endpointCache",function(){return new a.EndpointCache(a.config.endpointCacheSize)},!0)},{"../vendor/endpoint-cache":460,"./api_loader":334,"./config":343,"./event_listeners":366,"./http":367,"./json/builder":369,"./json/parser":370,"./maintenance_mode_message":371,"./model/api":372,"./model/operation":374,"./model/paginator":375,"./model/resource_waiter":376,"./model/shape":377,"./param_validator":378,"./protocol/json":381,"./protocol/query":382,"./protocol/rest":383,"./protocol/rest_json":384,"./protocol/rest_xml":385,"./request":392,"./resource_waiter":393,"./response":394,"./sequential_executor":396,"./service":397,"./signers/request_signer":415,"./util":423,"./xml/builder":425}],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":381,"./protocol/query":382,"./protocol/rest":383,"./protocol/rest_json":384,"./protocol/rest_xml":385,"./sequential_executor":396,_process:440,util:434}],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":423,"./collection":373}],378:[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":423}],381:[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":423,"./helpers":380}],382:[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":423,"./json":381,"./rest":383}],385:[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":423,"./rest":383}],386:[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":423}],387:[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}],388:[function(e,t,r){t.exports={now:function(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}}},{}],389:[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}},{}],390:[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":422,_process:440,jmespath:439}],393:[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}],397:[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), diff --git a/lib/core.js b/lib/core.js index 8c064ef78d..5b7b676afb 100644 --- a/lib/core.js +++ b/lib/core.js @@ -20,7 +20,7 @@ AWS.util.update(AWS, { /** * @constant */ - VERSION: '2.1347.0', + VERSION: '2.1348.0', /** * @api private diff --git a/package.json b/package.json index 14e497cf6c..40b02e2962 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "aws-sdk", "description": "AWS SDK for JavaScript", - "version": "2.1347.0", + "version": "2.1348.0", "author": { "name": "Amazon Web Services", "email": "",