From d39ba59f8f62430e468e937ea0f937fb8ed102e6 Mon Sep 17 00:00:00 2001 From: awstools Date: Wed, 5 Apr 2023 18:24:48 +0000 Subject: [PATCH] Updates SDK to v2.1351.0 --- .changes/2.1351.0.json | 27 +++++++++ CHANGELOG.md | 9 ++- README.md | 2 +- apis/apprunner-2020-05-15.normal.json | 12 ++-- apis/config-2014-11-12.normal.json | 27 ++++++++- apis/ecs-2014-11-13.normal.json | 34 +++++------ apis/identitystore-2020-06-15.normal.json | 60 ++++++++++---------- apis/ivs-realtime-2020-07-14.min.json | 8 ++- apis/ivs-realtime-2020-07-14.normal.json | 6 +- apis/network-firewall-2020-11-12.normal.json | 9 +-- apis/servicecatalog-2015-12-10.normal.json | 2 - apis/vpc-lattice-2022-11-30.normal.json | 26 ++++----- clients/configservice.d.ts | 4 +- clients/ecs.d.ts | 20 +++---- clients/identitystore.d.ts | 54 +++++++++--------- clients/networkfirewall.d.ts | 2 +- clients/servicecatalog.d.ts | 4 +- clients/vpclattice.d.ts | 36 ++++++------ dist/aws-sdk-core-react-native.js | 2 +- dist/aws-sdk-react-native.js | 4 +- dist/aws-sdk.js | 6 +- dist/aws-sdk.min.js | 4 +- lib/core.js | 2 +- package.json | 2 +- 24 files changed, 212 insertions(+), 150 deletions(-) create mode 100644 .changes/2.1351.0.json diff --git a/.changes/2.1351.0.json b/.changes/2.1351.0.json new file mode 100644 index 0000000000..85ba30c925 --- /dev/null +++ b/.changes/2.1351.0.json @@ -0,0 +1,27 @@ +[ + { + "type": "feature", + "category": "AppRunner", + "description": "App Runner adds support for seven new vCPU and memory configurations." + }, + { + "type": "feature", + "category": "ConfigService", + "description": "This release adds resourceType enums for types released in March 2023." + }, + { + "type": "feature", + "category": "IVSRealTime", + "description": "Fix ParticipantToken ExpirationTime format" + }, + { + "type": "feature", + "category": "NetworkFirewall", + "description": "AWS Network Firewall now supports IPv6-only subnets." + }, + { + "type": "feature", + "category": "ServiceCatalog", + "description": "removed incorrect product type value" + } +] \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 82b98f9bea..2e520f5ccb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,14 @@ # Changelog for AWS SDK for JavaScript - + +## 2.1351.0 +* feature: AppRunner: App Runner adds support for seven new vCPU and memory configurations. +* feature: ConfigService: This release adds resourceType enums for types released in March 2023. +* feature: IVSRealTime: Fix ParticipantToken ExpirationTime format +* feature: NetworkFirewall: AWS Network Firewall now supports IPv6-only subnets. +* feature: ServiceCatalog: removed incorrect product type value + ## 2.1350.0 * feature: AmplifyUIBuilder: Support StorageField and custom displays for data-bound options in form builder. Support non-string operands for predicates in collections. Support choosing client to get token from. * feature: DataExchange: This release updates the value of MaxResults. diff --git a/README.md b/README.md index 551a1d9c8c..dfc912c7c7 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/apprunner-2020-05-15.normal.json b/apis/apprunner-2020-05-15.normal.json index 15cb20e7c1..fa8bbeeb06 100644 --- a/apis/apprunner-2020-05-15.normal.json +++ b/apis/apprunner-2020-05-15.normal.json @@ -1268,9 +1268,9 @@ }, "Cpu": { "type": "string", - "max": 6, - "min": 4, - "pattern": "1024|2048|(1|2) vCPU" + "max": 9, + "min": 3, + "pattern": "256|512|1024|2048|4096|(0.25|0.5|1|2|4) vCPU" }, "CreateAutoScalingConfigurationRequest": { "type": "structure", @@ -2418,9 +2418,9 @@ }, "Memory": { "type": "string", - "max": 4, - "min": 4, - "pattern": "2048|3072|4096|(2|3|4) GB" + "max": 6, + "min": 3, + "pattern": "512|1024|2048|3072|4096|6144|8192|10240|12288|(0.5|1|2|3|4|6|8|10|12) GB" }, "NetworkConfiguration": { "type": "structure", diff --git a/apis/config-2014-11-12.normal.json b/apis/config-2014-11-12.normal.json index 47ee858626..9d9fe5fd2b 100644 --- a/apis/config-2014-11-12.normal.json +++ b/apis/config-2014-11-12.normal.json @@ -7484,7 +7484,7 @@ }, "TargetId": { "shape": "StringWithCharLimit256", - "documentation": "

Target ID is the name of the public document.

" + "documentation": "

Target ID is the name of the SSM document.

" }, "TargetVersion": { "shape": "String", @@ -8201,7 +8201,30 @@ "AWS::IoT::ScheduledAudit", "AWS::Events::Connection", "AWS::EventSchemas::Schema", - "AWS::MediaPackage::PackagingConfiguration" + "AWS::MediaPackage::PackagingConfiguration", + "AWS::KinesisVideo::SignalingChannel", + "AWS::AppStream::DirectoryConfig", + "AWS::LookoutVision::Project", + "AWS::Route53RecoveryControl::Cluster", + "AWS::Route53RecoveryControl::SafetyRule", + "AWS::Route53RecoveryControl::ControlPanel", + "AWS::Route53RecoveryControl::RoutingControl", + "AWS::Route53RecoveryReadiness::ResourceSet", + "AWS::RoboMaker::SimulationApplication", + "AWS::RoboMaker::RobotApplication", + "AWS::HealthLake::FHIRDatastore", + "AWS::Pinpoint::Segment", + "AWS::Pinpoint::ApplicationSettings", + "AWS::Events::Rule", + "AWS::EC2::DHCPOptions", + "AWS::EC2::NetworkInsightsPath", + "AWS::EC2::TrafficMirrorFilter", + "AWS::EC2::IPAM", + "AWS::IoTTwinMaker::Scene", + "AWS::NetworkManager::TransitGatewayRegistration", + "AWS::CustomerProfiles::Domain", + "AWS::AutoScaling::WarmPool", + "AWS::Connect::PhoneNumber" ] }, "ResourceTypeList": { diff --git a/apis/ecs-2014-11-13.normal.json b/apis/ecs-2014-11-13.normal.json index f0f085a0e5..79455d067b 100644 --- a/apis/ecs-2014-11-13.normal.json +++ b/apis/ecs-2014-11-13.normal.json @@ -110,7 +110,7 @@ "shape": "NamespaceNotFoundException" } ], - "documentation": "

Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, see the UpdateService action.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

There are two service scheduler strategies available:

You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. This is done with an UpdateService operation. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide.

" + "documentation": "

Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, see the UpdateService action.

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.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

There are two service scheduler strategies available:

You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. This is done with an UpdateService operation. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide.

" }, "CreateTaskSet": { "name": "CreateTaskSet", @@ -1191,7 +1191,7 @@ "shape": "BlockedException" } ], - "documentation": "

Starts a new task using the specified task definition.

You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances.

The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command.

To manage eventual consistency, you can do the following:

" + "documentation": "

Starts a new task using the specified task definition.

You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances.

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.

The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command.

To manage eventual consistency, you can do the following:

" }, "StartTask": { "name": "StartTask", @@ -1219,7 +1219,7 @@ "shape": "ClusterNotFoundException" } ], - "documentation": "

Starts a new task from the specified task definition on the specified container instance or instances.

Alternatively, you can use RunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

" + "documentation": "

Starts a new task from the specified task definition on the specified container instance or instances.

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.

Alternatively, you can use RunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

" }, "StopTask": { "name": "StopTask", @@ -2823,7 +2823,7 @@ }, "propagateTags": { "shape": "PropagateTags", - "documentation": "

Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.

" + "documentation": "

Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.

" }, "enableExecuteCommand": { "shape": "Boolean", @@ -4046,7 +4046,7 @@ "documentation": "

The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You can specify between 0 and 300 seconds. By default, the startPeriod is off.

If a health check succeeds within the startPeriod, then the container is considered healthy and any subsequent failures count toward the maximum number of retries.

" } }, - "documentation": "

An object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile).

The Amazon ECS container agent only monitors and reports on the health checks specified in the task definition. Amazon ECS does not monitor Docker health checks that are embedded in a container image and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.

You can view the health status of both individual containers and a task with the DescribeTasks API operation or when viewing the task details in the console.

The following describes the possible healthStatus values for a container:

The following describes the possible healthStatus values for a task. The container health check status of nonessential containers only affects the health status of a task if no essential containers have health checks defined.

If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.

For tasks that are a part of a service and the service uses the ECS rolling deployment type, the deployment is paused while the new tasks have the UNKNOWN task health check status. For example, tasks that define health checks for nonessential containers when no essential containers have health checks will have the UNKNOWN health check status indefinitely which prevents the deployment from completing.

The following are notes about container health check support:

" + "documentation": "

An object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile). This configuration maps to the HEALTHCHECK parameter of docker run.

The Amazon ECS container agent only monitors and reports on the health checks specified in the task definition. Amazon ECS does not monitor Docker health checks that are embedded in a container image and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.

You can view the health status of both individual containers and a task with the DescribeTasks API operation or when viewing the task details in the console.

The following describes the possible healthStatus values for a container:

The following describes the possible healthStatus values for a task. The container health check status of non-essential containers don't have an effect on the health status of a task.

If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.

The following are notes about container health check support:

" }, "HealthStatus": { "type": "string", @@ -4099,7 +4099,7 @@ "members": { "deviceName": { "shape": "String", - "documentation": "

The Elastic Inference accelerator device name. The deviceName must also be referenced in a container definition as a ResourceRequirement.

" + "documentation": "

The Elastic Inference accelerator device name. The deviceName must also be referenced in a container definition as a ResourceRequirement.

" }, "deviceType": { "shape": "String", @@ -4256,7 +4256,7 @@ "documentation": "

This allows you to tune a container's memory swappiness behavior. A swappiness value of 0 will cause swapping to not happen unless absolutely necessary. A swappiness value of 100 will cause pages to be swapped very aggressively. Accepted values are whole numbers between 0 and 100. If the swappiness parameter is not specified, a default value of 60 is used. If a value is not specified for maxSwap then this parameter is ignored. This parameter maps to the --memory-swappiness option to docker run.

If you're using tasks that use the Fargate launch type, the swappiness parameter isn't supported.

" } }, - "documentation": "

Linux-specific options that are applied to the container, such as Linux KernelCapabilities.

" + "documentation": "

The Linux-specific options that are applied to the container, such as Linux KernelCapabilities.

" }, "ListAccountSettingsRequest": { "type": "structure", @@ -4647,7 +4647,7 @@ "documentation": "

The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the hostPort of the port mapping.

" } }, - "documentation": "

The load balancer configuration to use with a service or task set.

For specific notes and restrictions regarding the use of load balancers with services and task sets, see the CreateService and CreateTaskSet actions.

When you add, update, or remove a load balancer configuration, Amazon ECS starts a new deployment with the updated Elastic Load Balancing configuration. This causes tasks to register to and deregister from load balancers.

We recommend that you verify this on a test environment before you update the Elastic Load Balancing configuration.

A service-linked role is required for services that use multiple target groups. For more information, see Using service-linked roles in the Amazon Elastic Container Service Developer Guide.

" + "documentation": "

The load balancer configuration to use with a service or task set.

When you add, update, or remove a load balancer configuration, Amazon ECS starts a new deployment with the updated Elastic Load Balancing configuration. This causes tasks to register to and deregister from load balancers.

We recommend that you verify this on a test environment before you update the Elastic Load Balancing configuration.

A service-linked role is required for services that use multiple target groups. For more information, see Using service-linked roles in the Amazon Elastic Container Service Developer Guide.

" }, "LoadBalancers": { "type": "list", @@ -4777,7 +4777,7 @@ }, "targetCapacity": { "shape": "ManagedScalingTargetCapacity", - "documentation": "

The target capacity value for the capacity provider. The specified value must be greater than 0 and less than or equal to 100. A value of 100 results in the Amazon EC2 instances in your Auto Scaling group being completely used.

" + "documentation": "

The target capacity utilization as a percentage for the capacity provider. The specified value must be greater than 0 and less than or equal to 100. For example, if you want the capacity provider to maintain 10% spare capacity, then that means the utilization is 90%, so use a targetCapacity of 90. The default value of 100 percent results in the Amazon EC2 instances in your Auto Scaling group being completely used.

" }, "minimumScalingStepSize": { "shape": "ManagedScalingStepSize", @@ -4839,7 +4839,7 @@ "documentation": "

If this value is true, the container has read-only access to the volume. If this value is false, then the container can write to the volume. The default value is false.

" } }, - "documentation": "

Details for a volume mount point that's used in a container definition.

" + "documentation": "

The details for a volume mount point that's used in a container definition.

" }, "MountPointList": { "type": "list", @@ -5040,7 +5040,7 @@ }, "hostPort": { "shape": "BoxedInteger", - "documentation": "

The port number on the container instance to reserve for your container.

If you specify a containerPortRange, leave this field empty and the value of the hostPort is set as follows:

If you use containers in a task with the awsvpc or host network mode, the hostPort can either be left blank or set to the same value as the containerPort.

If you use containers in a task with the bridge network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the hostPort (or set it to 0) while specifying a containerPort and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.

The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 is used. Do not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.

The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in the remainingResources of DescribeContainerInstances output. A container instance can have up to 100 reserved ports at a time. This number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved ports quota.

" + "documentation": "

The port number on the container instance to reserve for your container.

If you specify a containerPortRange, leave this field empty and the value of the hostPort is set as follows:

If you use containers in a task with the awsvpc or host network mode, the hostPort can either be left blank or set to the same value as the containerPort.

If you use containers in a task with the bridge network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the hostPort (or set it to 0) while specifying a containerPort and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.

The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 is used. Do not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.

The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in the remainingResources of DescribeContainerInstances output. A container instance can have up to 100 reserved ports at a time. This number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved ports quota.

" }, "protocol": { "shape": "TransportProtocol", @@ -5448,14 +5448,14 @@ "members": { "value": { "shape": "String", - "documentation": "

The value for the specified resource type.

If the GPU type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on.

If the InferenceAccelerator type is used, the value matches the deviceName for an InferenceAccelerator specified in a task definition.

" + "documentation": "

The value for the specified resource type.

If the GPU type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on.

If the InferenceAccelerator type is used, the value matches the deviceName for an InferenceAccelerator specified in a task definition.

" }, "type": { "shape": "ResourceType", "documentation": "

The type of resource to assign to a container. The supported values are GPU or InferenceAccelerator.

" } }, - "documentation": "

The type and amount of a resource to assign to a container. The supported resource types are GPUs and Elastic Inference accelerators. For more information, see Working with GPUs on Amazon ECS or Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide

" + "documentation": "

The type and amount of a resource to assign to a container. The supported resource types are GPUs and Elastic Inference accelerators. For more information, see Working with GPUs on Amazon ECS or Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide

" }, "ResourceRequirements": { "type": "list", @@ -5769,7 +5769,7 @@ "documentation": "

Determines whether the execute command functionality is enabled for the service. If true, the execute command functionality is enabled for all containers in tasks as part of the service.

" } }, - "documentation": "

Details on a service within a cluster

" + "documentation": "

Details on a service within a cluster.

" }, "ServiceConnectClientAlias": { "type": "structure", @@ -5830,7 +5830,7 @@ }, "discoveryName": { "shape": "String", - "documentation": "

The discoveryName is the name of the new Cloud Map service that Amazon ECS creates for this Amazon ECS service. This must be unique within the Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.

If this parameter isn't specified, the default value of discoveryName.namespace is used. If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace.

" + "documentation": "

The discoveryName is the name of the new Cloud Map service that Amazon ECS creates for this Amazon ECS service. This must be unique within the Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.

If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace.

" }, "clientAliases": { "shape": "ServiceConnectClientAliasList", @@ -5854,7 +5854,7 @@ "members": { "discoveryName": { "shape": "String", - "documentation": "

The discovery name of this Service Connect resource.

The discoveryName is the name of the new Cloud Map service that Amazon ECS creates for this Amazon ECS service. This must be unique within the Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.

If this parameter isn't specified, the default value of discoveryName.namespace is used. If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace.

" + "documentation": "

The discovery name of this Service Connect resource.

The discoveryName is the name of the new Cloud Map service that Amazon ECS creates for this Amazon ECS service. This must be unique within the Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.

If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace.

" }, "discoveryArn": { "shape": "String", @@ -6547,7 +6547,7 @@ }, "requiresCompatibilities": { "shape": "CompatibilityList", - "documentation": "

The task launch types the task definition was validated against. To determine which task launch types the task definition is validated for, see the TaskDefinition$compatibilities parameter.

" + "documentation": "

The task launch types the task definition was validated against. For more information, see Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide.

" }, "cpu": { "shape": "String", diff --git a/apis/identitystore-2020-06-15.normal.json b/apis/identitystore-2020-06-15.normal.json index d9943a0ae6..38e6d53cec 100644 --- a/apis/identitystore-2020-06-15.normal.json +++ b/apis/identitystore-2020-06-15.normal.json @@ -123,7 +123,7 @@ "shape": "ServiceQuotaExceededException" } ], - "documentation": "

Creates a new user within the specified identity store.

" + "documentation": "

Creates a user within the specified identity store.

" }, "DeleteGroup": { "name": "DeleteGroup", @@ -705,7 +705,7 @@ "documentation": "

An entity attribute that's unique to a specific entity.

" } }, - "documentation": "

A unique identifier for a user or group that is not the primary identifier. This value can be an identifier from an external identity provider (IdP) that is associated with the user, the group, or a unique attribute. For example, a unique GroupDisplayName.

", + "documentation": "

A unique identifier for a user or group that is not the primary identifier. This value can be an identifier from an external identity provider (IdP) that is associated with the user, the group, or a unique attribute.

", "union": true }, "AttributeOperation": { @@ -796,7 +796,7 @@ }, "DisplayName": { "shape": "GroupDisplayName", - "documentation": "

A string containing the name of the group. This value is commonly displayed when the group is referenced.

" + "documentation": "

A string containing the name of the group. This value is commonly displayed when the group is referenced. \"Administrator\" and \"AWSAdministrators\" are reserved names and can't be used for users or groups.

" }, "Description": { "shape": "SensitiveStringType", @@ -833,15 +833,15 @@ }, "UserName": { "shape": "UserName", - "documentation": "

A unique string used to identify the user. The length limit is 128 characters. This value can consist of letters, accented characters, symbols, numbers, and punctuation. This value is specified at the time the user is created and stored as an attribute of the user object in the identity store.

" + "documentation": "

A unique string used to identify the user. The length limit is 128 characters. This value can consist of letters, accented characters, symbols, numbers, and punctuation. This value is specified at the time the user is created and stored as an attribute of the user object in the identity store. \"Administrator\" and \"AWSAdministrators\" are reserved names and can't be used for users or groups.

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

An object containing the user's name.

" + "documentation": "

An object containing the name of the user.

" }, "DisplayName": { "shape": "SensitiveStringType", - "documentation": "

A string containing the user's name. This value is typically formatted for display when the user is referenced. For example, \"John Doe.\"

" + "documentation": "

A string containing the name of the user. This value is typically formatted for display when the user is referenced. For example, \"John Doe.\"

" }, "NickName": { "shape": "SensitiveStringType", @@ -849,7 +849,7 @@ }, "ProfileUrl": { "shape": "SensitiveStringType", - "documentation": "

A string containing a URL that may be associated with the user.

" + "documentation": "

A string containing a URL that might be associated with the user.

" }, "Emails": { "shape": "Emails", @@ -865,11 +865,11 @@ }, "UserType": { "shape": "SensitiveStringType", - "documentation": "

A string indicating the user's type. Possible values depend on each customer's specific needs, so they are left unspecified.

" + "documentation": "

A string indicating the type of user. Possible values are left unspecified. The value can vary based on your specific use case.

" }, "Title": { "shape": "SensitiveStringType", - "documentation": "

A string containing the user's title. Possible values are left unspecified given that they depend on each customer's specific needs.

" + "documentation": "

A string containing the title of the user. Possible values are left unspecified. The value can vary based on your specific use case.

" }, "PreferredLanguage": { "shape": "SensitiveStringType", @@ -877,11 +877,11 @@ }, "Locale": { "shape": "SensitiveStringType", - "documentation": "

A string containing the user's geographical region or location.

" + "documentation": "

A string containing the geographical region or location of the user.

" }, "Timezone": { "shape": "SensitiveStringType", - "documentation": "

A string containing the user's time zone.

" + "documentation": "

A string containing the time zone of the user.

" } } }, @@ -1096,7 +1096,7 @@ }, "DisplayName": { "shape": "SensitiveStringType", - "documentation": "

The user's name value for display.

" + "documentation": "

The display name of the user.

" }, "NickName": { "shape": "SensitiveStringType", @@ -1108,11 +1108,11 @@ }, "Emails": { "shape": "Emails", - "documentation": "

The user's email value.

" + "documentation": "

The email address of the user.

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

The user's physical address.

" + "documentation": "

The physical address of the user.

" }, "PhoneNumbers": { "shape": "PhoneNumbers", @@ -1120,11 +1120,11 @@ }, "UserType": { "shape": "SensitiveStringType", - "documentation": "

A string indicating the user's type.

" + "documentation": "

A string indicating the type of user.

" }, "Title": { "shape": "SensitiveStringType", - "documentation": "

A string containing the user's title.

" + "documentation": "

A string containing the title of the user.

" }, "PreferredLanguage": { "shape": "SensitiveStringType", @@ -1132,7 +1132,7 @@ }, "Locale": { "shape": "SensitiveStringType", - "documentation": "

A string containing the user's geographical region or location.

" + "documentation": "

A string containing the geographical region or location of the user.

" }, "Timezone": { "shape": "SensitiveStringType", @@ -1249,7 +1249,7 @@ }, "AlternateIdentifier": { "shape": "AlternateIdentifier", - "documentation": "

A unique identifier for a user or group that is not the primary identifier. This value can be an identifier from an external identity provider (IdP) that is associated with the user, the group, or a unique attribute. For example, a unique GroupDisplayName.

" + "documentation": "

A unique identifier for a user or group that is not the primary identifier. This value can be an identifier from an external identity provider (IdP) that is associated with the user, the group, or a unique attribute. For the unique attribute, the only valid path is displayName.

" } } }, @@ -1322,7 +1322,7 @@ }, "AlternateIdentifier": { "shape": "AlternateIdentifier", - "documentation": "

A unique identifier for a user or group that is not the primary identifier. This value can be an identifier from an external identity provider (IdP) that is associated with the user, the group, or a unique attribute. For example, a unique UserDisplayName.

" + "documentation": "

A unique identifier for a user or group that is not the primary identifier. This value can be an identifier from an external identity provider (IdP) that is associated with the user, the group, or a unique attribute. For the unique attribute, the only valid paths are userName and emails.value.

" } } }, @@ -1356,7 +1356,7 @@ }, "DisplayName": { "shape": "GroupDisplayName", - "documentation": "

The group’s display name value. The length limit is 1,024 characters. This value can consist of letters, accented characters, symbols, numbers, punctuation, tab, new line, carriage return, space, and nonbreaking space in this attribute. This value is specified at the time the group is created and stored as an attribute of the group object in the identity store.

" + "documentation": "

The display name value for the group. The length limit is 1,024 characters. This value can consist of letters, accented characters, symbols, numbers, punctuation, tab, new line, carriage return, space, and nonbreaking space in this attribute. This value is specified at the time the group is created and stored as an attribute of the group object in the identity store.

" }, "ExternalIds": { "shape": "ExternalIds", @@ -1371,7 +1371,7 @@ "documentation": "

The globally unique identifier for the identity store.

" } }, - "documentation": "

A group object that contains a specified group’s metadata and attributes.

" + "documentation": "

A group object that contains the metadata and attributes for a specified group.

" }, "GroupDisplayName": { "type": "string", @@ -1842,11 +1842,11 @@ }, "Name": { "shape": "Name", - "documentation": "

An object containing the user's name.

" + "documentation": "

An object containing the name of the user.

" }, "DisplayName": { "shape": "SensitiveStringType", - "documentation": "

A string containing the user's name that's formatted for display when the user is referenced. For example, \"John Doe.\"

" + "documentation": "

A string containing the name of the user that is formatted for display when the user is referenced. For example, \"John Doe.\"

" }, "NickName": { "shape": "SensitiveStringType", @@ -1854,7 +1854,7 @@ }, "ProfileUrl": { "shape": "SensitiveStringType", - "documentation": "

A string containing a URL that may be associated with the user.

" + "documentation": "

A string containing a URL that might be associated with the user.

" }, "Emails": { "shape": "Emails", @@ -1870,11 +1870,11 @@ }, "UserType": { "shape": "SensitiveStringType", - "documentation": "

A string indicating the user's type. Possible values depend on each customer's specific needs, so they are left unspecified.

" + "documentation": "

A string indicating the type of user. Possible values are left unspecified. The value can vary based on your specific use case.

" }, "Title": { "shape": "SensitiveStringType", - "documentation": "

A string containing the user's title. Possible values depend on each customer's specific needs, so they are left unspecified.

" + "documentation": "

A string containing the title of the user. Possible values are left unspecified. The value can vary based on your specific use case.

" }, "PreferredLanguage": { "shape": "SensitiveStringType", @@ -1882,18 +1882,18 @@ }, "Locale": { "shape": "SensitiveStringType", - "documentation": "

A string containing the user's geographical region or location.

" + "documentation": "

A string containing the geographical region or location of the user.

" }, "Timezone": { "shape": "SensitiveStringType", - "documentation": "

A string containing the user's time zone.

" + "documentation": "

A string containing the time zone of the user.

" }, "IdentityStoreId": { "shape": "IdentityStoreId", "documentation": "

The globally unique identifier for the identity store.

" } }, - "documentation": "

A user object that contains a specified user’s metadata and attributes.

" + "documentation": "

A user object that contains the metadata and attributes for a specified user.

" }, "UserName": { "type": "string", @@ -1909,5 +1909,5 @@ } } }, - "documentation": "

The Identity Store service used by AWS IAM Identity Center (successor to AWS Single Sign-On) provides a single place to retrieve all of your identities (users and groups). For more information, see the IAM Identity Center User Guide.

 <note> <p>Although AWS Single Sign-On was renamed, the <code>sso</code> and <code>identitystore</code> API namespaces will continue to retain their original name for backward compatibility purposes. For more information, see <a href="https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed">IAM Identity Center rename</a>.</p> </note> <p>This reference guide describes the identity store operations that you can call programatically and includes detailed information on data types and errors.</p> 
" + "documentation": "

The Identity Store service used by AWS IAM Identity Center (successor to AWS Single Sign-On) provides a single place to retrieve all of your identities (users and groups). For more information, see the IAM Identity Center User Guide.

 <note> <p>Although AWS Single Sign-On was renamed, the <code>sso</code> and <code>identitystore</code> API namespaces will continue to retain their original name for backward compatibility purposes. For more information, see <a href="https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed">IAM Identity Center rename</a>.</p> </note> <p>This reference guide describes the identity store operations that you can call programatically and includes detailed information about data types and errors.</p> 
" } \ No newline at end of file diff --git a/apis/ivs-realtime-2020-07-14.min.json b/apis/ivs-realtime-2020-07-14.min.json index 614f48f060..133df15cac 100644 --- a/apis/ivs-realtime-2020-07-14.min.json +++ b/apis/ivs-realtime-2020-07-14.min.json @@ -333,10 +333,14 @@ "type": "integer" }, "expirationTime": { - "type": "timestamp" + "type": "timestamp", + "timestampFormat": "iso8601" }, "participantId": {}, - "token": {}, + "token": { + "type": "string", + "sensitive": true + }, "userId": {} } }, diff --git a/apis/ivs-realtime-2020-07-14.normal.json b/apis/ivs-realtime-2020-07-14.normal.json index c1b666d035..4bb14b2818 100644 --- a/apis/ivs-realtime-2020-07-14.normal.json +++ b/apis/ivs-realtime-2020-07-14.normal.json @@ -594,7 +594,8 @@ "min": 1 }, "ParticipantTokenExpirationTime": { - "type": "timestamp" + "type": "timestamp", + "timestampFormat": "iso8601" }, "ParticipantTokenId": { "type": "string" @@ -606,7 +607,8 @@ } }, "ParticipantTokenString": { - "type": "string" + "type": "string", + "sensitive": true }, "ParticipantTokenUserId": { "type": "string", diff --git a/apis/network-firewall-2020-11-12.normal.json b/apis/network-firewall-2020-11-12.normal.json index 9fabf53d07..b9aa353490 100644 --- a/apis/network-firewall-2020-11-12.normal.json +++ b/apis/network-firewall-2020-11-12.normal.json @@ -2353,7 +2353,8 @@ "type": "string", "enum": [ "DUALSTACK", - "IPV4" + "IPV4", + "IPV6" ] }, "IPSet": { @@ -3102,7 +3103,7 @@ }, "StatefulRules": { "shape": "StatefulRules", - "documentation": "

An array of individual stateful rules inspection criteria to be used together in a stateful rule group. Use this option to specify simple Suricata rules with protocol, source and destination, ports, direction, and rule options. For information about the Suricata Rules format, see Rules Format.

" + "documentation": "

An array of individual stateful rules inspection criteria to be used together in a stateful rule group. Use this option to specify simple Suricata rules with protocol, source and destination, ports, direction, and rule options. For information about the Suricata Rules format, see Rules Format.

" }, "StatelessRulesAndCustomActions": { "shape": "StatelessRulesAndCustomActions", @@ -3289,7 +3290,7 @@ "documentation": "

Additional options for the rule. These are the Suricata RuleOptions settings.

" } }, - "documentation": "

A single Suricata rules specification, for use in a stateful rule group. Use this option to specify a simple Suricata rule with protocol, source and destination, ports, direction, and rule options. For information about the Suricata Rules format, see Rules Format.

" + "documentation": "

A single Suricata rules specification, for use in a stateful rule group. Use this option to specify a simple Suricata rule with protocol, source and destination, ports, direction, and rule options. For information about the Suricata Rules format, see Rules Format.

" }, "StatefulRuleDirection": { "type": "string", @@ -4212,5 +4213,5 @@ } } }, - "documentation": "

This is the API Reference for Network Firewall. This guide is for developers who need detailed information about the Network Firewall API actions, data types, and errors.

Network Firewall is a stateful, managed, network firewall and intrusion detection and prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the perimeter of your VPC. This includes filtering traffic going to and coming from an internet gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible with Suricata, a free, open source network analysis and threat detection engine. Network Firewall supports Suricata version 5.0.2. For information about Suricata, see the Suricata website.

You can use Network Firewall to monitor and protect your VPC traffic in a number of ways. The following are just a few examples:

To enable Network Firewall for your VPCs, you perform steps in both Amazon VPC and in Network Firewall. For information about using Amazon VPC, see Amazon VPC User Guide.

To start using Network Firewall, do the following:

  1. (Optional) If you don't already have a VPC that you want to protect, create it in Amazon VPC.

  2. In Amazon VPC, in each Availability Zone where you want to have a firewall endpoint, create a subnet for the sole use of Network Firewall.

  3. In Network Firewall, create stateless and stateful rule groups, to define the components of the network traffic filtering behavior that you want your firewall to have.

  4. In Network Firewall, create a firewall policy that uses your rule groups and specifies additional default traffic filtering behavior.

  5. In Network Firewall, create a firewall and specify your new firewall policy and VPC subnets. Network Firewall creates a firewall endpoint in each subnet that you specify, with the behavior that's defined in the firewall policy.

  6. In Amazon VPC, use ingress routing enhancements to route traffic through the new firewall endpoints.

" + "documentation": "

This is the API Reference for Network Firewall. This guide is for developers who need detailed information about the Network Firewall API actions, data types, and errors.

Network Firewall is a stateful, managed, network firewall and intrusion detection and prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the perimeter of your VPC. This includes filtering traffic going to and coming from an internet gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible with Suricata, a free, open source network analysis and threat detection engine. Network Firewall supports Suricata version 6.0.9. For information about Suricata, see the Suricata website.

You can use Network Firewall to monitor and protect your VPC traffic in a number of ways. The following are just a few examples:

To enable Network Firewall for your VPCs, you perform steps in both Amazon VPC and in Network Firewall. For information about using Amazon VPC, see Amazon VPC User Guide.

To start using Network Firewall, do the following:

  1. (Optional) If you don't already have a VPC that you want to protect, create it in Amazon VPC.

  2. In Amazon VPC, in each Availability Zone where you want to have a firewall endpoint, create a subnet for the sole use of Network Firewall.

  3. In Network Firewall, create stateless and stateful rule groups, to define the components of the network traffic filtering behavior that you want your firewall to have.

  4. In Network Firewall, create a firewall policy that uses your rule groups and specifies additional default traffic filtering behavior.

  5. In Network Firewall, create a firewall and specify your new firewall policy and VPC subnets. Network Firewall creates a firewall endpoint in each subnet that you specify, with the behavior that's defined in the firewall policy.

  6. In Amazon VPC, use ingress routing enhancements to route traffic through the new firewall endpoints.

" } \ No newline at end of file diff --git a/apis/servicecatalog-2015-12-10.normal.json b/apis/servicecatalog-2015-12-10.normal.json index ee42875d52..c5ccd2f96c 100644 --- a/apis/servicecatalog-2015-12-10.normal.json +++ b/apis/servicecatalog-2015-12-10.normal.json @@ -5468,7 +5468,6 @@ "enum": [ "CLOUD_FORMATION_TEMPLATE", "MARKETPLACE", - "DEFAULT_CUSTOM", "TERRAFORM_OPEN_SOURCE" ], "max": 8191 @@ -6338,7 +6337,6 @@ "CLOUD_FORMATION_TEMPLATE", "MARKETPLACE_AMI", "MARKETPLACE_CAR", - "DEFAULT_CUSTOM", "TERRAFORM_OPEN_SOURCE" ] }, diff --git a/apis/vpc-lattice-2022-11-30.normal.json b/apis/vpc-lattice-2022-11-30.normal.json index b3d216aad2..dcf9bd029a 100644 --- a/apis/vpc-lattice-2022-11-30.normal.json +++ b/apis/vpc-lattice-2022-11-30.normal.json @@ -312,7 +312,7 @@ "shape": "InternalServerException" } ], - "documentation": "

Associates a VPC with a service network. When you associate a VPC with the service network, it enables all the resources within that VPC to be clients and communicate with other services in the service network. For more information, see Manage VPC associations in the Amazon VPC Lattice User Guide.

You can't use this operation if there is a disassociation in progress. If the association fails, retry by deleting the association and recreating it.

As a result of this operation, the association gets created in the service network account and the VPC owner account.

Once a security group is added to the VPC association it cannot be removed. You can add or update the security groups being used for the VPC association once a security group is attached. To remove all security groups you must reassociate the VPC.

", + "documentation": "

Associates a VPC with a service network. When you associate a VPC with the service network, it enables all the resources within that VPC to be clients and communicate with other services in the service network. For more information, see Manage VPC associations in the Amazon VPC Lattice User Guide.

You can't use this operation if there is a disassociation in progress. If the association fails, retry by deleting the association and recreating it.

As a result of this operation, the association gets created in the service network account and the VPC owner account.

If you add a security group to the service network and VPC association, the association must continue to always have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and recreate it without security groups.

", "idempotent": true }, "CreateTargetGroup": { @@ -417,7 +417,7 @@ "shape": "InternalServerException" } ], - "documentation": "

Deletes the specified auth policy. If an auth is set to Amazon Web Services_IAM and the auth policy is deleted, all requests will be denied by default. If you are trying to remove the auth policy completely, you must set the auth_type to NONE. If auth is enabled on the resource, but no auth policy is set, all requests will be denied.

", + "documentation": "

Deletes the specified auth policy. If an auth is set to AWS_IAM and the auth policy is deleted, all requests will be denied by default. If you are trying to remove the auth policy completely, you must set the auth_type to NONE. If auth is enabled on the resource, but no auth policy is set, all requests will be denied.

", "idempotent": true }, "DeleteListener": { @@ -864,7 +864,7 @@ "shape": "InternalServerException" } ], - "documentation": "

Retrieves information about the resource policy. The resource policy is an IAM policy created by AWS RAM on behalf of the resource owner when they share a resource.

" + "documentation": "

Retrieves information about the resource policy. The resource policy is an IAM policy created on behalf of the resource owner when they share a resource.

" }, "GetRule": { "name": "GetRule", @@ -1378,7 +1378,7 @@ "shape": "InternalServerException" } ], - "documentation": "

Creates or updates the auth policy.

" + "documentation": "

Creates or updates the auth policy. The policy string in JSON must not contain newlines or blank lines.

" }, "PutResourcePolicy": { "name": "PutResourcePolicy", @@ -1722,7 +1722,7 @@ "shape": "InternalServerException" } ], - "documentation": "

Updates the service network and VPC association. Once you add a security group, it cannot be removed.

", + "documentation": "

Updates the service network and VPC association. If you add a security group to the service network and VPC association, the association must continue to always have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and recreate it without security groups.

", "idempotent": true }, "UpdateTargetGroup": { @@ -2859,7 +2859,7 @@ }, "state": { "shape": "AuthPolicyState", - "documentation": "

The state of the auth policy. The auth policy is only active when the auth type is set to Amazon Web Services_IAM. If you provide a policy, then authentication and authorization decisions are made based on this policy and the client's IAM policy. If the auth type is NONE, then any auth policy you provide will remain inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide.

" + "documentation": "

The state of the auth policy. The auth policy is only active when the auth type is set to AWS_IAM. If you provide a policy, then authentication and authorization decisions are made based on this policy and the client's IAM policy. If the auth type is NONE, then any auth policy you provide will remain inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide.

" } } }, @@ -2937,7 +2937,7 @@ "members": { "resourceArn": { "shape": "ResourceArn", - "documentation": "

An IAM policy.

", + "documentation": "

The Amazon Resource Name (ARN) of the service network or service.

", "location": "uri", "locationName": "resourceArn" } @@ -2948,7 +2948,7 @@ "members": { "policy": { "shape": "PolicyString", - "documentation": "

The Amazon Resource Name (ARN) of the service network or service.

" + "documentation": "

An IAM policy.

" } } }, @@ -4113,7 +4113,7 @@ "members": { "policy": { "shape": "AuthPolicyString", - "documentation": "

The auth policy.

" + "documentation": "

The auth policy. The policy string in JSON must not contain newlines or blank lines.

" }, "resourceIdentifier": { "shape": "ResourceIdentifier", @@ -4128,11 +4128,11 @@ "members": { "policy": { "shape": "AuthPolicyString", - "documentation": "

The auth policy.

" + "documentation": "

The auth policy. The policy string in JSON must not contain newlines or blank lines.

" }, "state": { "shape": "AuthPolicyState", - "documentation": "

The state of the auth policy. The auth policy is only active when the auth type is set to Amazon Web Services_IAM. If you provide a policy, then authentication and authorization decisions are made based on this policy and the client's IAM policy. If the Auth type is NONE, then, any auth policy you provide will remain inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide.

" + "documentation": "

The state of the auth policy. The auth policy is only active when the auth type is set to AWS_IAM. If you provide a policy, then authentication and authorization decisions are made based on this policy and the client's IAM policy. If the Auth type is NONE, then, any auth policy you provide will remain inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide.

" } } }, @@ -4145,7 +4145,7 @@ "members": { "policy": { "shape": "PolicyString", - "documentation": "

An IAM policy.

" + "documentation": "

An IAM policy. The policy string in JSON must not contain newlines or blank lines.

" }, "resourceArn": { "shape": "ResourceArn", @@ -5325,7 +5325,7 @@ "members": { "securityGroupIds": { "shape": "UpdateServiceNetworkVpcAssociationRequestSecurityGroupIdsList", - "documentation": "

The IDs of the security groups. Once you add a security group, it cannot be removed.

" + "documentation": "

The IDs of the security groups.

" }, "serviceNetworkVpcAssociationIdentifier": { "shape": "ServiceNetworkVpcAssociationIdentifier", diff --git a/clients/configservice.d.ts b/clients/configservice.d.ts index 8392f14e72..cf339b11ab 100644 --- a/clients/configservice.d.ts +++ b/clients/configservice.d.ts @@ -4089,7 +4089,7 @@ declare namespace ConfigService { */ TargetType: RemediationTargetType; /** - * Target ID is the name of the public document. + * Target ID is the name of the SSM document. */ TargetId: StringWithCharLimit256; /** @@ -4352,7 +4352,7 @@ declare namespace ConfigService { } export type ResourceKeys = ResourceKey[]; export type ResourceName = string; - export type ResourceType = "AWS::EC2::CustomerGateway"|"AWS::EC2::EIP"|"AWS::EC2::Host"|"AWS::EC2::Instance"|"AWS::EC2::InternetGateway"|"AWS::EC2::NetworkAcl"|"AWS::EC2::NetworkInterface"|"AWS::EC2::RouteTable"|"AWS::EC2::SecurityGroup"|"AWS::EC2::Subnet"|"AWS::CloudTrail::Trail"|"AWS::EC2::Volume"|"AWS::EC2::VPC"|"AWS::EC2::VPNConnection"|"AWS::EC2::VPNGateway"|"AWS::EC2::RegisteredHAInstance"|"AWS::EC2::NatGateway"|"AWS::EC2::EgressOnlyInternetGateway"|"AWS::EC2::VPCEndpoint"|"AWS::EC2::VPCEndpointService"|"AWS::EC2::FlowLog"|"AWS::EC2::VPCPeeringConnection"|"AWS::Elasticsearch::Domain"|"AWS::IAM::Group"|"AWS::IAM::Policy"|"AWS::IAM::Role"|"AWS::IAM::User"|"AWS::ElasticLoadBalancingV2::LoadBalancer"|"AWS::ACM::Certificate"|"AWS::RDS::DBInstance"|"AWS::RDS::DBSubnetGroup"|"AWS::RDS::DBSecurityGroup"|"AWS::RDS::DBSnapshot"|"AWS::RDS::DBCluster"|"AWS::RDS::DBClusterSnapshot"|"AWS::RDS::EventSubscription"|"AWS::S3::Bucket"|"AWS::S3::AccountPublicAccessBlock"|"AWS::Redshift::Cluster"|"AWS::Redshift::ClusterSnapshot"|"AWS::Redshift::ClusterParameterGroup"|"AWS::Redshift::ClusterSecurityGroup"|"AWS::Redshift::ClusterSubnetGroup"|"AWS::Redshift::EventSubscription"|"AWS::SSM::ManagedInstanceInventory"|"AWS::CloudWatch::Alarm"|"AWS::CloudFormation::Stack"|"AWS::ElasticLoadBalancing::LoadBalancer"|"AWS::AutoScaling::AutoScalingGroup"|"AWS::AutoScaling::LaunchConfiguration"|"AWS::AutoScaling::ScalingPolicy"|"AWS::AutoScaling::ScheduledAction"|"AWS::DynamoDB::Table"|"AWS::CodeBuild::Project"|"AWS::WAF::RateBasedRule"|"AWS::WAF::Rule"|"AWS::WAF::RuleGroup"|"AWS::WAF::WebACL"|"AWS::WAFRegional::RateBasedRule"|"AWS::WAFRegional::Rule"|"AWS::WAFRegional::RuleGroup"|"AWS::WAFRegional::WebACL"|"AWS::CloudFront::Distribution"|"AWS::CloudFront::StreamingDistribution"|"AWS::Lambda::Function"|"AWS::NetworkFirewall::Firewall"|"AWS::NetworkFirewall::FirewallPolicy"|"AWS::NetworkFirewall::RuleGroup"|"AWS::ElasticBeanstalk::Application"|"AWS::ElasticBeanstalk::ApplicationVersion"|"AWS::ElasticBeanstalk::Environment"|"AWS::WAFv2::WebACL"|"AWS::WAFv2::RuleGroup"|"AWS::WAFv2::IPSet"|"AWS::WAFv2::RegexPatternSet"|"AWS::WAFv2::ManagedRuleSet"|"AWS::XRay::EncryptionConfig"|"AWS::SSM::AssociationCompliance"|"AWS::SSM::PatchCompliance"|"AWS::Shield::Protection"|"AWS::ShieldRegional::Protection"|"AWS::Config::ConformancePackCompliance"|"AWS::Config::ResourceCompliance"|"AWS::ApiGateway::Stage"|"AWS::ApiGateway::RestApi"|"AWS::ApiGatewayV2::Stage"|"AWS::ApiGatewayV2::Api"|"AWS::CodePipeline::Pipeline"|"AWS::ServiceCatalog::CloudFormationProvisionedProduct"|"AWS::ServiceCatalog::CloudFormationProduct"|"AWS::ServiceCatalog::Portfolio"|"AWS::SQS::Queue"|"AWS::KMS::Key"|"AWS::QLDB::Ledger"|"AWS::SecretsManager::Secret"|"AWS::SNS::Topic"|"AWS::SSM::FileData"|"AWS::Backup::BackupPlan"|"AWS::Backup::BackupSelection"|"AWS::Backup::BackupVault"|"AWS::Backup::RecoveryPoint"|"AWS::ECR::Repository"|"AWS::ECS::Cluster"|"AWS::ECS::Service"|"AWS::ECS::TaskDefinition"|"AWS::EFS::AccessPoint"|"AWS::EFS::FileSystem"|"AWS::EKS::Cluster"|"AWS::OpenSearch::Domain"|"AWS::EC2::TransitGateway"|"AWS::Kinesis::Stream"|"AWS::Kinesis::StreamConsumer"|"AWS::CodeDeploy::Application"|"AWS::CodeDeploy::DeploymentConfig"|"AWS::CodeDeploy::DeploymentGroup"|"AWS::EC2::LaunchTemplate"|"AWS::ECR::PublicRepository"|"AWS::GuardDuty::Detector"|"AWS::EMR::SecurityConfiguration"|"AWS::SageMaker::CodeRepository"|"AWS::Route53Resolver::ResolverEndpoint"|"AWS::Route53Resolver::ResolverRule"|"AWS::Route53Resolver::ResolverRuleAssociation"|"AWS::DMS::ReplicationSubnetGroup"|"AWS::DMS::EventSubscription"|"AWS::MSK::Cluster"|"AWS::StepFunctions::Activity"|"AWS::WorkSpaces::Workspace"|"AWS::WorkSpaces::ConnectionAlias"|"AWS::SageMaker::Model"|"AWS::ElasticLoadBalancingV2::Listener"|"AWS::StepFunctions::StateMachine"|"AWS::Batch::JobQueue"|"AWS::Batch::ComputeEnvironment"|"AWS::AccessAnalyzer::Analyzer"|"AWS::Athena::WorkGroup"|"AWS::Athena::DataCatalog"|"AWS::Detective::Graph"|"AWS::GlobalAccelerator::Accelerator"|"AWS::GlobalAccelerator::EndpointGroup"|"AWS::GlobalAccelerator::Listener"|"AWS::EC2::TransitGatewayAttachment"|"AWS::EC2::TransitGatewayRouteTable"|"AWS::DMS::Certificate"|"AWS::AppConfig::Application"|"AWS::AppSync::GraphQLApi"|"AWS::DataSync::LocationSMB"|"AWS::DataSync::LocationFSxLustre"|"AWS::DataSync::LocationS3"|"AWS::DataSync::LocationEFS"|"AWS::DataSync::Task"|"AWS::DataSync::LocationNFS"|"AWS::EC2::NetworkInsightsAccessScopeAnalysis"|"AWS::EKS::FargateProfile"|"AWS::Glue::Job"|"AWS::GuardDuty::ThreatIntelSet"|"AWS::GuardDuty::IPSet"|"AWS::SageMaker::Workteam"|"AWS::SageMaker::NotebookInstanceLifecycleConfig"|"AWS::ServiceDiscovery::Service"|"AWS::ServiceDiscovery::PublicDnsNamespace"|"AWS::SES::ContactList"|"AWS::SES::ConfigurationSet"|"AWS::Route53::HostedZone"|"AWS::IoTEvents::Input"|"AWS::IoTEvents::DetectorModel"|"AWS::IoTEvents::AlarmModel"|"AWS::ServiceDiscovery::HttpNamespace"|"AWS::Events::EventBus"|"AWS::ImageBuilder::ContainerRecipe"|"AWS::ImageBuilder::DistributionConfiguration"|"AWS::ImageBuilder::InfrastructureConfiguration"|"AWS::DataSync::LocationObjectStorage"|"AWS::DataSync::LocationHDFS"|"AWS::Glue::Classifier"|"AWS::Route53RecoveryReadiness::Cell"|"AWS::Route53RecoveryReadiness::ReadinessCheck"|"AWS::ECR::RegistryPolicy"|"AWS::Backup::ReportPlan"|"AWS::Lightsail::Certificate"|"AWS::RUM::AppMonitor"|"AWS::Events::Endpoint"|"AWS::SES::ReceiptRuleSet"|"AWS::Events::Archive"|"AWS::Events::ApiDestination"|"AWS::Lightsail::Disk"|"AWS::FIS::ExperimentTemplate"|"AWS::DataSync::LocationFSxWindows"|"AWS::SES::ReceiptFilter"|"AWS::GuardDuty::Filter"|"AWS::SES::Template"|"AWS::AmazonMQ::Broker"|"AWS::AppConfig::Environment"|"AWS::AppConfig::ConfigurationProfile"|"AWS::Cloud9::EnvironmentEC2"|"AWS::EventSchemas::Registry"|"AWS::EventSchemas::RegistryPolicy"|"AWS::EventSchemas::Discoverer"|"AWS::FraudDetector::Label"|"AWS::FraudDetector::EntityType"|"AWS::FraudDetector::Variable"|"AWS::FraudDetector::Outcome"|"AWS::IoT::Authorizer"|"AWS::IoT::SecurityProfile"|"AWS::IoT::RoleAlias"|"AWS::IoT::Dimension"|"AWS::IoTAnalytics::Datastore"|"AWS::Lightsail::Bucket"|"AWS::Lightsail::StaticIp"|"AWS::MediaPackage::PackagingGroup"|"AWS::Route53RecoveryReadiness::RecoveryGroup"|"AWS::ResilienceHub::ResiliencyPolicy"|"AWS::Transfer::Workflow"|"AWS::EKS::IdentityProviderConfig"|"AWS::EKS::Addon"|"AWS::Glue::MLTransform"|"AWS::IoT::Policy"|"AWS::IoT::MitigationAction"|"AWS::IoTTwinMaker::Workspace"|"AWS::IoTTwinMaker::Entity"|"AWS::IoTAnalytics::Dataset"|"AWS::IoTAnalytics::Pipeline"|"AWS::IoTAnalytics::Channel"|"AWS::IoTSiteWise::Dashboard"|"AWS::IoTSiteWise::Project"|"AWS::IoTSiteWise::Portal"|"AWS::IoTSiteWise::AssetModel"|"AWS::IVS::Channel"|"AWS::IVS::RecordingConfiguration"|"AWS::IVS::PlaybackKeyPair"|"AWS::KinesisAnalyticsV2::Application"|"AWS::RDS::GlobalCluster"|"AWS::S3::MultiRegionAccessPoint"|"AWS::DeviceFarm::TestGridProject"|"AWS::Budgets::BudgetsAction"|"AWS::Lex::Bot"|"AWS::CodeGuruReviewer::RepositoryAssociation"|"AWS::IoT::CustomMetric"|"AWS::Route53Resolver::FirewallDomainList"|"AWS::RoboMaker::RobotApplicationVersion"|"AWS::EC2::TrafficMirrorSession"|"AWS::IoTSiteWise::Gateway"|"AWS::Lex::BotAlias"|"AWS::LookoutMetrics::Alert"|"AWS::IoT::AccountAuditConfiguration"|"AWS::EC2::TrafficMirrorTarget"|"AWS::S3::StorageLens"|"AWS::IoT::ScheduledAudit"|"AWS::Events::Connection"|"AWS::EventSchemas::Schema"|"AWS::MediaPackage::PackagingConfiguration"|string; + export type ResourceType = "AWS::EC2::CustomerGateway"|"AWS::EC2::EIP"|"AWS::EC2::Host"|"AWS::EC2::Instance"|"AWS::EC2::InternetGateway"|"AWS::EC2::NetworkAcl"|"AWS::EC2::NetworkInterface"|"AWS::EC2::RouteTable"|"AWS::EC2::SecurityGroup"|"AWS::EC2::Subnet"|"AWS::CloudTrail::Trail"|"AWS::EC2::Volume"|"AWS::EC2::VPC"|"AWS::EC2::VPNConnection"|"AWS::EC2::VPNGateway"|"AWS::EC2::RegisteredHAInstance"|"AWS::EC2::NatGateway"|"AWS::EC2::EgressOnlyInternetGateway"|"AWS::EC2::VPCEndpoint"|"AWS::EC2::VPCEndpointService"|"AWS::EC2::FlowLog"|"AWS::EC2::VPCPeeringConnection"|"AWS::Elasticsearch::Domain"|"AWS::IAM::Group"|"AWS::IAM::Policy"|"AWS::IAM::Role"|"AWS::IAM::User"|"AWS::ElasticLoadBalancingV2::LoadBalancer"|"AWS::ACM::Certificate"|"AWS::RDS::DBInstance"|"AWS::RDS::DBSubnetGroup"|"AWS::RDS::DBSecurityGroup"|"AWS::RDS::DBSnapshot"|"AWS::RDS::DBCluster"|"AWS::RDS::DBClusterSnapshot"|"AWS::RDS::EventSubscription"|"AWS::S3::Bucket"|"AWS::S3::AccountPublicAccessBlock"|"AWS::Redshift::Cluster"|"AWS::Redshift::ClusterSnapshot"|"AWS::Redshift::ClusterParameterGroup"|"AWS::Redshift::ClusterSecurityGroup"|"AWS::Redshift::ClusterSubnetGroup"|"AWS::Redshift::EventSubscription"|"AWS::SSM::ManagedInstanceInventory"|"AWS::CloudWatch::Alarm"|"AWS::CloudFormation::Stack"|"AWS::ElasticLoadBalancing::LoadBalancer"|"AWS::AutoScaling::AutoScalingGroup"|"AWS::AutoScaling::LaunchConfiguration"|"AWS::AutoScaling::ScalingPolicy"|"AWS::AutoScaling::ScheduledAction"|"AWS::DynamoDB::Table"|"AWS::CodeBuild::Project"|"AWS::WAF::RateBasedRule"|"AWS::WAF::Rule"|"AWS::WAF::RuleGroup"|"AWS::WAF::WebACL"|"AWS::WAFRegional::RateBasedRule"|"AWS::WAFRegional::Rule"|"AWS::WAFRegional::RuleGroup"|"AWS::WAFRegional::WebACL"|"AWS::CloudFront::Distribution"|"AWS::CloudFront::StreamingDistribution"|"AWS::Lambda::Function"|"AWS::NetworkFirewall::Firewall"|"AWS::NetworkFirewall::FirewallPolicy"|"AWS::NetworkFirewall::RuleGroup"|"AWS::ElasticBeanstalk::Application"|"AWS::ElasticBeanstalk::ApplicationVersion"|"AWS::ElasticBeanstalk::Environment"|"AWS::WAFv2::WebACL"|"AWS::WAFv2::RuleGroup"|"AWS::WAFv2::IPSet"|"AWS::WAFv2::RegexPatternSet"|"AWS::WAFv2::ManagedRuleSet"|"AWS::XRay::EncryptionConfig"|"AWS::SSM::AssociationCompliance"|"AWS::SSM::PatchCompliance"|"AWS::Shield::Protection"|"AWS::ShieldRegional::Protection"|"AWS::Config::ConformancePackCompliance"|"AWS::Config::ResourceCompliance"|"AWS::ApiGateway::Stage"|"AWS::ApiGateway::RestApi"|"AWS::ApiGatewayV2::Stage"|"AWS::ApiGatewayV2::Api"|"AWS::CodePipeline::Pipeline"|"AWS::ServiceCatalog::CloudFormationProvisionedProduct"|"AWS::ServiceCatalog::CloudFormationProduct"|"AWS::ServiceCatalog::Portfolio"|"AWS::SQS::Queue"|"AWS::KMS::Key"|"AWS::QLDB::Ledger"|"AWS::SecretsManager::Secret"|"AWS::SNS::Topic"|"AWS::SSM::FileData"|"AWS::Backup::BackupPlan"|"AWS::Backup::BackupSelection"|"AWS::Backup::BackupVault"|"AWS::Backup::RecoveryPoint"|"AWS::ECR::Repository"|"AWS::ECS::Cluster"|"AWS::ECS::Service"|"AWS::ECS::TaskDefinition"|"AWS::EFS::AccessPoint"|"AWS::EFS::FileSystem"|"AWS::EKS::Cluster"|"AWS::OpenSearch::Domain"|"AWS::EC2::TransitGateway"|"AWS::Kinesis::Stream"|"AWS::Kinesis::StreamConsumer"|"AWS::CodeDeploy::Application"|"AWS::CodeDeploy::DeploymentConfig"|"AWS::CodeDeploy::DeploymentGroup"|"AWS::EC2::LaunchTemplate"|"AWS::ECR::PublicRepository"|"AWS::GuardDuty::Detector"|"AWS::EMR::SecurityConfiguration"|"AWS::SageMaker::CodeRepository"|"AWS::Route53Resolver::ResolverEndpoint"|"AWS::Route53Resolver::ResolverRule"|"AWS::Route53Resolver::ResolverRuleAssociation"|"AWS::DMS::ReplicationSubnetGroup"|"AWS::DMS::EventSubscription"|"AWS::MSK::Cluster"|"AWS::StepFunctions::Activity"|"AWS::WorkSpaces::Workspace"|"AWS::WorkSpaces::ConnectionAlias"|"AWS::SageMaker::Model"|"AWS::ElasticLoadBalancingV2::Listener"|"AWS::StepFunctions::StateMachine"|"AWS::Batch::JobQueue"|"AWS::Batch::ComputeEnvironment"|"AWS::AccessAnalyzer::Analyzer"|"AWS::Athena::WorkGroup"|"AWS::Athena::DataCatalog"|"AWS::Detective::Graph"|"AWS::GlobalAccelerator::Accelerator"|"AWS::GlobalAccelerator::EndpointGroup"|"AWS::GlobalAccelerator::Listener"|"AWS::EC2::TransitGatewayAttachment"|"AWS::EC2::TransitGatewayRouteTable"|"AWS::DMS::Certificate"|"AWS::AppConfig::Application"|"AWS::AppSync::GraphQLApi"|"AWS::DataSync::LocationSMB"|"AWS::DataSync::LocationFSxLustre"|"AWS::DataSync::LocationS3"|"AWS::DataSync::LocationEFS"|"AWS::DataSync::Task"|"AWS::DataSync::LocationNFS"|"AWS::EC2::NetworkInsightsAccessScopeAnalysis"|"AWS::EKS::FargateProfile"|"AWS::Glue::Job"|"AWS::GuardDuty::ThreatIntelSet"|"AWS::GuardDuty::IPSet"|"AWS::SageMaker::Workteam"|"AWS::SageMaker::NotebookInstanceLifecycleConfig"|"AWS::ServiceDiscovery::Service"|"AWS::ServiceDiscovery::PublicDnsNamespace"|"AWS::SES::ContactList"|"AWS::SES::ConfigurationSet"|"AWS::Route53::HostedZone"|"AWS::IoTEvents::Input"|"AWS::IoTEvents::DetectorModel"|"AWS::IoTEvents::AlarmModel"|"AWS::ServiceDiscovery::HttpNamespace"|"AWS::Events::EventBus"|"AWS::ImageBuilder::ContainerRecipe"|"AWS::ImageBuilder::DistributionConfiguration"|"AWS::ImageBuilder::InfrastructureConfiguration"|"AWS::DataSync::LocationObjectStorage"|"AWS::DataSync::LocationHDFS"|"AWS::Glue::Classifier"|"AWS::Route53RecoveryReadiness::Cell"|"AWS::Route53RecoveryReadiness::ReadinessCheck"|"AWS::ECR::RegistryPolicy"|"AWS::Backup::ReportPlan"|"AWS::Lightsail::Certificate"|"AWS::RUM::AppMonitor"|"AWS::Events::Endpoint"|"AWS::SES::ReceiptRuleSet"|"AWS::Events::Archive"|"AWS::Events::ApiDestination"|"AWS::Lightsail::Disk"|"AWS::FIS::ExperimentTemplate"|"AWS::DataSync::LocationFSxWindows"|"AWS::SES::ReceiptFilter"|"AWS::GuardDuty::Filter"|"AWS::SES::Template"|"AWS::AmazonMQ::Broker"|"AWS::AppConfig::Environment"|"AWS::AppConfig::ConfigurationProfile"|"AWS::Cloud9::EnvironmentEC2"|"AWS::EventSchemas::Registry"|"AWS::EventSchemas::RegistryPolicy"|"AWS::EventSchemas::Discoverer"|"AWS::FraudDetector::Label"|"AWS::FraudDetector::EntityType"|"AWS::FraudDetector::Variable"|"AWS::FraudDetector::Outcome"|"AWS::IoT::Authorizer"|"AWS::IoT::SecurityProfile"|"AWS::IoT::RoleAlias"|"AWS::IoT::Dimension"|"AWS::IoTAnalytics::Datastore"|"AWS::Lightsail::Bucket"|"AWS::Lightsail::StaticIp"|"AWS::MediaPackage::PackagingGroup"|"AWS::Route53RecoveryReadiness::RecoveryGroup"|"AWS::ResilienceHub::ResiliencyPolicy"|"AWS::Transfer::Workflow"|"AWS::EKS::IdentityProviderConfig"|"AWS::EKS::Addon"|"AWS::Glue::MLTransform"|"AWS::IoT::Policy"|"AWS::IoT::MitigationAction"|"AWS::IoTTwinMaker::Workspace"|"AWS::IoTTwinMaker::Entity"|"AWS::IoTAnalytics::Dataset"|"AWS::IoTAnalytics::Pipeline"|"AWS::IoTAnalytics::Channel"|"AWS::IoTSiteWise::Dashboard"|"AWS::IoTSiteWise::Project"|"AWS::IoTSiteWise::Portal"|"AWS::IoTSiteWise::AssetModel"|"AWS::IVS::Channel"|"AWS::IVS::RecordingConfiguration"|"AWS::IVS::PlaybackKeyPair"|"AWS::KinesisAnalyticsV2::Application"|"AWS::RDS::GlobalCluster"|"AWS::S3::MultiRegionAccessPoint"|"AWS::DeviceFarm::TestGridProject"|"AWS::Budgets::BudgetsAction"|"AWS::Lex::Bot"|"AWS::CodeGuruReviewer::RepositoryAssociation"|"AWS::IoT::CustomMetric"|"AWS::Route53Resolver::FirewallDomainList"|"AWS::RoboMaker::RobotApplicationVersion"|"AWS::EC2::TrafficMirrorSession"|"AWS::IoTSiteWise::Gateway"|"AWS::Lex::BotAlias"|"AWS::LookoutMetrics::Alert"|"AWS::IoT::AccountAuditConfiguration"|"AWS::EC2::TrafficMirrorTarget"|"AWS::S3::StorageLens"|"AWS::IoT::ScheduledAudit"|"AWS::Events::Connection"|"AWS::EventSchemas::Schema"|"AWS::MediaPackage::PackagingConfiguration"|"AWS::KinesisVideo::SignalingChannel"|"AWS::AppStream::DirectoryConfig"|"AWS::LookoutVision::Project"|"AWS::Route53RecoveryControl::Cluster"|"AWS::Route53RecoveryControl::SafetyRule"|"AWS::Route53RecoveryControl::ControlPanel"|"AWS::Route53RecoveryControl::RoutingControl"|"AWS::Route53RecoveryReadiness::ResourceSet"|"AWS::RoboMaker::SimulationApplication"|"AWS::RoboMaker::RobotApplication"|"AWS::HealthLake::FHIRDatastore"|"AWS::Pinpoint::Segment"|"AWS::Pinpoint::ApplicationSettings"|"AWS::Events::Rule"|"AWS::EC2::DHCPOptions"|"AWS::EC2::NetworkInsightsPath"|"AWS::EC2::TrafficMirrorFilter"|"AWS::EC2::IPAM"|"AWS::IoTTwinMaker::Scene"|"AWS::NetworkManager::TransitGatewayRegistration"|"AWS::CustomerProfiles::Domain"|"AWS::AutoScaling::WarmPool"|"AWS::Connect::PhoneNumber"|string; export type ResourceTypeList = ResourceType[]; export type ResourceTypeString = string; export type ResourceTypes = StringWithCharLimit256[]; diff --git a/clients/ecs.d.ts b/clients/ecs.d.ts index 440a8a8a36..5323d24bd6 100644 --- a/clients/ecs.d.ts +++ b/clients/ecs.d.ts @@ -29,11 +29,11 @@ declare class ECS extends Service { */ createCluster(callback?: (err: AWSError, data: ECS.Types.CreateClusterResponse) => void): Request; /** - * Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, see the UpdateService action. In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide. Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer. There are two service scheduler strategies available: REPLICA - The replica scheduling strategy places and maintains your desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide. DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks. It also stops tasks that don't meet the placement constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide. You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. This is done with an UpdateService operation. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%. If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%. If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%. If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service. When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide. When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide. + * Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, see the UpdateService action. 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. In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide. Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer. There are two service scheduler strategies available: REPLICA - The replica scheduling strategy places and maintains your desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide. DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks. It also stops tasks that don't meet the placement constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide. You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. This is done with an UpdateService operation. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%. If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%. If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%. If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service. When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide. When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide. */ createService(params: ECS.Types.CreateServiceRequest, callback?: (err: AWSError, data: ECS.Types.CreateServiceResponse) => void): Request; /** - * Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, see the UpdateService action. In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide. Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer. There are two service scheduler strategies available: REPLICA - The replica scheduling strategy places and maintains your desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide. DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks. It also stops tasks that don't meet the placement constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide. You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. This is done with an UpdateService operation. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%. If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%. If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%. If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service. When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide. When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide. + * Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, see the UpdateService action. 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. In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide. Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer. There are two service scheduler strategies available: REPLICA - The replica scheduling strategy places and maintains your desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide. DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks. It also stops tasks that don't meet the placement constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide. You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. This is done with an UpdateService operation. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%. If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%. If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%. If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service. When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide. When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide. */ createService(callback?: (err: AWSError, data: ECS.Types.CreateServiceResponse) => void): Request; /** @@ -325,19 +325,19 @@ declare class ECS extends Service { */ registerTaskDefinition(callback?: (err: AWSError, data: ECS.Types.RegisterTaskDefinitionResponse) => void): Request; /** - * Starts a new task using the specified task definition. You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide. Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances. The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command. To manage eventual consistency, you can do the following: Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time. Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time. + * Starts a new task using the specified task definition. You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide. Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances. 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. The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command. To manage eventual consistency, you can do the following: Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time. Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time. */ runTask(params: ECS.Types.RunTaskRequest, callback?: (err: AWSError, data: ECS.Types.RunTaskResponse) => void): Request; /** - * Starts a new task using the specified task definition. You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide. Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances. The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command. To manage eventual consistency, you can do the following: Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time. Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time. + * Starts a new task using the specified task definition. You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide. Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances. 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. The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command. To manage eventual consistency, you can do the following: Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time. Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time. */ runTask(callback?: (err: AWSError, data: ECS.Types.RunTaskResponse) => void): Request; /** - * Starts a new task from the specified task definition on the specified container instance or instances. Alternatively, you can use RunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide. + * Starts a new task from the specified task definition on the specified container instance or instances. 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. Alternatively, you can use RunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide. */ startTask(params: ECS.Types.StartTaskRequest, callback?: (err: AWSError, data: ECS.Types.StartTaskResponse) => void): Request; /** - * Starts a new task from the specified task definition on the specified container instance or instances. Alternatively, you can use RunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide. + * Starts a new task from the specified task definition on the specified container instance or instances. 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. Alternatively, you can use RunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide. */ startTask(callback?: (err: AWSError, data: ECS.Types.StartTaskResponse) => void): Request; /** @@ -2593,7 +2593,7 @@ declare namespace ECS { */ status?: ManagedScalingStatus; /** - * The target capacity value for the capacity provider. The specified value must be greater than 0 and less than or equal to 100. A value of 100 results in the Amazon EC2 instances in your Auto Scaling group being completely used. + * The target capacity utilization as a percentage for the capacity provider. The specified value must be greater than 0 and less than or equal to 100. For example, if you want the capacity provider to maintain 10% spare capacity, then that means the utilization is 90%, so use a targetCapacity of 90. The default value of 100 percent results in the Amazon EC2 instances in your Auto Scaling group being completely used. */ targetCapacity?: ManagedScalingTargetCapacity; /** @@ -3291,7 +3291,7 @@ declare namespace ECS { */ portName: String; /** - * The discoveryName is the name of the new Cloud Map service that Amazon ECS creates for this Amazon ECS service. This must be unique within the Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen. If this parameter isn't specified, the default value of discoveryName.namespace is used. If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace. + * The discoveryName is the name of the new Cloud Map service that Amazon ECS creates for this Amazon ECS service. This must be unique within the Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen. If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace. */ discoveryName?: String; /** @@ -3306,7 +3306,7 @@ declare namespace ECS { export type ServiceConnectServiceList = ServiceConnectService[]; export interface ServiceConnectServiceResource { /** - * The discovery name of this Service Connect resource. The discoveryName is the name of the new Cloud Map service that Amazon ECS creates for this Amazon ECS service. This must be unique within the Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen. If this parameter isn't specified, the default value of discoveryName.namespace is used. If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace. + * The discovery name of this Service Connect resource. The discoveryName is the name of the new Cloud Map service that Amazon ECS creates for this Amazon ECS service. This must be unique within the Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen. If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace. */ discoveryName?: String; /** @@ -3810,7 +3810,7 @@ declare namespace ECS { */ runtimePlatform?: RuntimePlatform; /** - * The task launch types the task definition was validated against. To determine which task launch types the task definition is validated for, see the TaskDefinition$compatibilities parameter. + * The task launch types the task definition was validated against. For more information, see Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide. */ requiresCompatibilities?: CompatibilityList; /** diff --git a/clients/identitystore.d.ts b/clients/identitystore.d.ts index 7662686970..0bcfd5d5bd 100644 --- a/clients/identitystore.d.ts +++ b/clients/identitystore.d.ts @@ -28,11 +28,11 @@ declare class IdentityStore extends Service { */ createGroupMembership(callback?: (err: AWSError, data: IdentityStore.Types.CreateGroupMembershipResponse) => void): Request; /** - * Creates a new user within the specified identity store. + * Creates a user within the specified identity store. */ createUser(params: IdentityStore.Types.CreateUserRequest, callback?: (err: AWSError, data: IdentityStore.Types.CreateUserResponse) => void): Request; /** - * Creates a new user within the specified identity store. + * Creates a user within the specified identity store. */ createUser(callback?: (err: AWSError, data: IdentityStore.Types.CreateUserResponse) => void): Request; /** @@ -254,7 +254,7 @@ declare namespace IdentityStore { */ IdentityStoreId: IdentityStoreId; /** - * A string containing the name of the group. This value is commonly displayed when the group is referenced. + * A string containing the name of the group. This value is commonly displayed when the group is referenced. "Administrator" and "AWSAdministrators" are reserved names and can't be used for users or groups. */ DisplayName?: GroupDisplayName; /** @@ -278,15 +278,15 @@ declare namespace IdentityStore { */ IdentityStoreId: IdentityStoreId; /** - * A unique string used to identify the user. The length limit is 128 characters. This value can consist of letters, accented characters, symbols, numbers, and punctuation. This value is specified at the time the user is created and stored as an attribute of the user object in the identity store. + * A unique string used to identify the user. The length limit is 128 characters. This value can consist of letters, accented characters, symbols, numbers, and punctuation. This value is specified at the time the user is created and stored as an attribute of the user object in the identity store. "Administrator" and "AWSAdministrators" are reserved names and can't be used for users or groups. */ UserName?: UserName; /** - * An object containing the user's name. + * An object containing the name of the user. */ Name?: Name; /** - * A string containing the user's name. This value is typically formatted for display when the user is referenced. For example, "John Doe." + * A string containing the name of the user. This value is typically formatted for display when the user is referenced. For example, "John Doe." */ DisplayName?: SensitiveStringType; /** @@ -294,7 +294,7 @@ declare namespace IdentityStore { */ NickName?: SensitiveStringType; /** - * A string containing a URL that may be associated with the user. + * A string containing a URL that might be associated with the user. */ ProfileUrl?: SensitiveStringType; /** @@ -310,11 +310,11 @@ declare namespace IdentityStore { */ PhoneNumbers?: PhoneNumbers; /** - * A string indicating the user's type. Possible values depend on each customer's specific needs, so they are left unspecified. + * A string indicating the type of user. Possible values are left unspecified. The value can vary based on your specific use case. */ UserType?: SensitiveStringType; /** - * A string containing the user's title. Possible values are left unspecified given that they depend on each customer's specific needs. + * A string containing the title of the user. Possible values are left unspecified. The value can vary based on your specific use case. */ Title?: SensitiveStringType; /** @@ -322,11 +322,11 @@ declare namespace IdentityStore { */ PreferredLanguage?: SensitiveStringType; /** - * A string containing the user's geographical region or location. + * A string containing the geographical region or location of the user. */ Locale?: SensitiveStringType; /** - * A string containing the user's time zone. + * A string containing the time zone of the user. */ Timezone?: SensitiveStringType; } @@ -461,7 +461,7 @@ declare namespace IdentityStore { */ Name?: Name; /** - * The user's name value for display. + * The display name of the user. */ DisplayName?: SensitiveStringType; /** @@ -473,11 +473,11 @@ declare namespace IdentityStore { */ ProfileUrl?: SensitiveStringType; /** - * The user's email value. + * The email address of the user. */ Emails?: Emails; /** - * The user's physical address. + * The physical address of the user. */ Addresses?: Addresses; /** @@ -485,11 +485,11 @@ declare namespace IdentityStore { */ PhoneNumbers?: PhoneNumbers; /** - * A string indicating the user's type. + * A string indicating the type of user. */ UserType?: SensitiveStringType; /** - * A string containing the user's title. + * A string containing the title of the user. */ Title?: SensitiveStringType; /** @@ -497,7 +497,7 @@ declare namespace IdentityStore { */ PreferredLanguage?: SensitiveStringType; /** - * A string containing the user's geographical region or location. + * A string containing the geographical region or location of the user. */ Locale?: SensitiveStringType; /** @@ -554,7 +554,7 @@ declare namespace IdentityStore { */ IdentityStoreId: IdentityStoreId; /** - * A unique identifier for a user or group that is not the primary identifier. This value can be an identifier from an external identity provider (IdP) that is associated with the user, the group, or a unique attribute. For example, a unique GroupDisplayName. + * A unique identifier for a user or group that is not the primary identifier. This value can be an identifier from an external identity provider (IdP) that is associated with the user, the group, or a unique attribute. For the unique attribute, the only valid path is displayName. */ AlternateIdentifier: AlternateIdentifier; } @@ -598,7 +598,7 @@ declare namespace IdentityStore { */ IdentityStoreId: IdentityStoreId; /** - * A unique identifier for a user or group that is not the primary identifier. This value can be an identifier from an external identity provider (IdP) that is associated with the user, the group, or a unique attribute. For example, a unique UserDisplayName. + * A unique identifier for a user or group that is not the primary identifier. This value can be an identifier from an external identity provider (IdP) that is associated with the user, the group, or a unique attribute. For the unique attribute, the only valid paths are userName and emails.value. */ AlternateIdentifier: AlternateIdentifier; } @@ -618,7 +618,7 @@ declare namespace IdentityStore { */ GroupId: ResourceId; /** - * The group’s display name value. The length limit is 1,024 characters. This value can consist of letters, accented characters, symbols, numbers, punctuation, tab, new line, carriage return, space, and nonbreaking space in this attribute. This value is specified at the time the group is created and stored as an attribute of the group object in the identity store. + * The display name value for the group. The length limit is 1,024 characters. This value can consist of letters, accented characters, symbols, numbers, punctuation, tab, new line, carriage return, space, and nonbreaking space in this attribute. This value is specified at the time the group is created and stored as an attribute of the group object in the identity store. */ DisplayName?: GroupDisplayName; /** @@ -912,11 +912,11 @@ declare namespace IdentityStore { */ ExternalIds?: ExternalIds; /** - * An object containing the user's name. + * An object containing the name of the user. */ Name?: Name; /** - * A string containing the user's name that's formatted for display when the user is referenced. For example, "John Doe." + * A string containing the name of the user that is formatted for display when the user is referenced. For example, "John Doe." */ DisplayName?: SensitiveStringType; /** @@ -924,7 +924,7 @@ declare namespace IdentityStore { */ NickName?: SensitiveStringType; /** - * A string containing a URL that may be associated with the user. + * A string containing a URL that might be associated with the user. */ ProfileUrl?: SensitiveStringType; /** @@ -940,11 +940,11 @@ declare namespace IdentityStore { */ PhoneNumbers?: PhoneNumbers; /** - * A string indicating the user's type. Possible values depend on each customer's specific needs, so they are left unspecified. + * A string indicating the type of user. Possible values are left unspecified. The value can vary based on your specific use case. */ UserType?: SensitiveStringType; /** - * A string containing the user's title. Possible values depend on each customer's specific needs, so they are left unspecified. + * A string containing the title of the user. Possible values are left unspecified. The value can vary based on your specific use case. */ Title?: SensitiveStringType; /** @@ -952,11 +952,11 @@ declare namespace IdentityStore { */ PreferredLanguage?: SensitiveStringType; /** - * A string containing the user's geographical region or location. + * A string containing the geographical region or location of the user. */ Locale?: SensitiveStringType; /** - * A string containing the user's time zone. + * A string containing the time zone of the user. */ Timezone?: SensitiveStringType; /** diff --git a/clients/networkfirewall.d.ts b/clients/networkfirewall.d.ts index 7fa27e3c6f..ff96ab2215 100644 --- a/clients/networkfirewall.d.ts +++ b/clients/networkfirewall.d.ts @@ -1118,7 +1118,7 @@ declare namespace NetworkFirewall { */ DestinationPort: Port; } - export type IPAddressType = "DUALSTACK"|"IPV4"|string; + export type IPAddressType = "DUALSTACK"|"IPV4"|"IPV6"|string; export interface IPSet { /** * The list of IP addresses and address ranges, in CIDR notation. diff --git a/clients/servicecatalog.d.ts b/clients/servicecatalog.d.ts index c795e9c1b0..d15848ba80 100644 --- a/clients/servicecatalog.d.ts +++ b/clients/servicecatalog.d.ts @@ -2986,7 +2986,7 @@ declare namespace ServiceCatalog { export type Principals = Principal[]; export type ProductArn = string; export type ProductSource = "ACCOUNT"|string; - export type ProductType = "CLOUD_FORMATION_TEMPLATE"|"MARKETPLACE"|"DEFAULT_CUSTOM"|"TERRAFORM_OPEN_SOURCE"|string; + export type ProductType = "CLOUD_FORMATION_TEMPLATE"|"MARKETPLACE"|"TERRAFORM_OPEN_SOURCE"|string; export type ProductViewAggregationType = string; export interface ProductViewAggregationValue { /** @@ -3545,7 +3545,7 @@ declare namespace ServiceCatalog { */ ProvisioningArtifactMetadata?: ProvisioningArtifactInfo; } - export type ProvisioningArtifactType = "CLOUD_FORMATION_TEMPLATE"|"MARKETPLACE_AMI"|"MARKETPLACE_CAR"|"DEFAULT_CUSTOM"|"TERRAFORM_OPEN_SOURCE"|string; + export type ProvisioningArtifactType = "CLOUD_FORMATION_TEMPLATE"|"MARKETPLACE_AMI"|"MARKETPLACE_CAR"|"TERRAFORM_OPEN_SOURCE"|string; export interface ProvisioningArtifactView { /** * Summary information about a product view. diff --git a/clients/vpclattice.d.ts b/clients/vpclattice.d.ts index 396f7a43a0..00f65b9845 100644 --- a/clients/vpclattice.d.ts +++ b/clients/vpclattice.d.ts @@ -68,11 +68,11 @@ declare class VPCLattice extends Service { */ createServiceNetworkServiceAssociation(callback?: (err: AWSError, data: VPCLattice.Types.CreateServiceNetworkServiceAssociationResponse) => void): Request; /** - * Associates a VPC with a service network. When you associate a VPC with the service network, it enables all the resources within that VPC to be clients and communicate with other services in the service network. For more information, see Manage VPC associations in the Amazon VPC Lattice User Guide. You can't use this operation if there is a disassociation in progress. If the association fails, retry by deleting the association and recreating it. As a result of this operation, the association gets created in the service network account and the VPC owner account. Once a security group is added to the VPC association it cannot be removed. You can add or update the security groups being used for the VPC association once a security group is attached. To remove all security groups you must reassociate the VPC. + * Associates a VPC with a service network. When you associate a VPC with the service network, it enables all the resources within that VPC to be clients and communicate with other services in the service network. For more information, see Manage VPC associations in the Amazon VPC Lattice User Guide. You can't use this operation if there is a disassociation in progress. If the association fails, retry by deleting the association and recreating it. As a result of this operation, the association gets created in the service network account and the VPC owner account. If you add a security group to the service network and VPC association, the association must continue to always have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and recreate it without security groups. */ createServiceNetworkVpcAssociation(params: VPCLattice.Types.CreateServiceNetworkVpcAssociationRequest, callback?: (err: AWSError, data: VPCLattice.Types.CreateServiceNetworkVpcAssociationResponse) => void): Request; /** - * Associates a VPC with a service network. When you associate a VPC with the service network, it enables all the resources within that VPC to be clients and communicate with other services in the service network. For more information, see Manage VPC associations in the Amazon VPC Lattice User Guide. You can't use this operation if there is a disassociation in progress. If the association fails, retry by deleting the association and recreating it. As a result of this operation, the association gets created in the service network account and the VPC owner account. Once a security group is added to the VPC association it cannot be removed. You can add or update the security groups being used for the VPC association once a security group is attached. To remove all security groups you must reassociate the VPC. + * Associates a VPC with a service network. When you associate a VPC with the service network, it enables all the resources within that VPC to be clients and communicate with other services in the service network. For more information, see Manage VPC associations in the Amazon VPC Lattice User Guide. You can't use this operation if there is a disassociation in progress. If the association fails, retry by deleting the association and recreating it. As a result of this operation, the association gets created in the service network account and the VPC owner account. If you add a security group to the service network and VPC association, the association must continue to always have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and recreate it without security groups. */ createServiceNetworkVpcAssociation(callback?: (err: AWSError, data: VPCLattice.Types.CreateServiceNetworkVpcAssociationResponse) => void): Request; /** @@ -92,11 +92,11 @@ declare class VPCLattice extends Service { */ deleteAccessLogSubscription(callback?: (err: AWSError, data: VPCLattice.Types.DeleteAccessLogSubscriptionResponse) => void): Request; /** - * Deletes the specified auth policy. If an auth is set to Amazon Web Services_IAM and the auth policy is deleted, all requests will be denied by default. If you are trying to remove the auth policy completely, you must set the auth_type to NONE. If auth is enabled on the resource, but no auth policy is set, all requests will be denied. + * Deletes the specified auth policy. If an auth is set to AWS_IAM and the auth policy is deleted, all requests will be denied by default. If you are trying to remove the auth policy completely, you must set the auth_type to NONE. If auth is enabled on the resource, but no auth policy is set, all requests will be denied. */ deleteAuthPolicy(params: VPCLattice.Types.DeleteAuthPolicyRequest, callback?: (err: AWSError, data: VPCLattice.Types.DeleteAuthPolicyResponse) => void): Request; /** - * Deletes the specified auth policy. If an auth is set to Amazon Web Services_IAM and the auth policy is deleted, all requests will be denied by default. If you are trying to remove the auth policy completely, you must set the auth_type to NONE. If auth is enabled on the resource, but no auth policy is set, all requests will be denied. + * Deletes the specified auth policy. If an auth is set to AWS_IAM and the auth policy is deleted, all requests will be denied by default. If you are trying to remove the auth policy completely, you must set the auth_type to NONE. If auth is enabled on the resource, but no auth policy is set, all requests will be denied. */ deleteAuthPolicy(callback?: (err: AWSError, data: VPCLattice.Types.DeleteAuthPolicyResponse) => void): Request; /** @@ -196,11 +196,11 @@ declare class VPCLattice extends Service { */ getListener(callback?: (err: AWSError, data: VPCLattice.Types.GetListenerResponse) => void): Request; /** - * Retrieves information about the resource policy. The resource policy is an IAM policy created by AWS RAM on behalf of the resource owner when they share a resource. + * Retrieves information about the resource policy. The resource policy is an IAM policy created on behalf of the resource owner when they share a resource. */ getResourcePolicy(params: VPCLattice.Types.GetResourcePolicyRequest, callback?: (err: AWSError, data: VPCLattice.Types.GetResourcePolicyResponse) => void): Request; /** - * Retrieves information about the resource policy. The resource policy is an IAM policy created by AWS RAM on behalf of the resource owner when they share a resource. + * Retrieves information about the resource policy. The resource policy is an IAM policy created on behalf of the resource owner when they share a resource. */ getResourcePolicy(callback?: (err: AWSError, data: VPCLattice.Types.GetResourcePolicyResponse) => void): Request; /** @@ -332,11 +332,11 @@ declare class VPCLattice extends Service { */ listTargets(callback?: (err: AWSError, data: VPCLattice.Types.ListTargetsResponse) => void): Request; /** - * Creates or updates the auth policy. + * Creates or updates the auth policy. The policy string in JSON must not contain newlines or blank lines. */ putAuthPolicy(params: VPCLattice.Types.PutAuthPolicyRequest, callback?: (err: AWSError, data: VPCLattice.Types.PutAuthPolicyResponse) => void): Request; /** - * Creates or updates the auth policy. + * Creates or updates the auth policy. The policy string in JSON must not contain newlines or blank lines. */ putAuthPolicy(callback?: (err: AWSError, data: VPCLattice.Types.PutAuthPolicyResponse) => void): Request; /** @@ -412,11 +412,11 @@ declare class VPCLattice extends Service { */ updateServiceNetwork(callback?: (err: AWSError, data: VPCLattice.Types.UpdateServiceNetworkResponse) => void): Request; /** - * Updates the service network and VPC association. Once you add a security group, it cannot be removed. + * Updates the service network and VPC association. If you add a security group to the service network and VPC association, the association must continue to always have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and recreate it without security groups. */ updateServiceNetworkVpcAssociation(params: VPCLattice.Types.UpdateServiceNetworkVpcAssociationRequest, callback?: (err: AWSError, data: VPCLattice.Types.UpdateServiceNetworkVpcAssociationResponse) => void): Request; /** - * Updates the service network and VPC association. Once you add a security group, it cannot be removed. + * Updates the service network and VPC association. If you add a security group to the service network and VPC association, the association must continue to always have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and recreate it without security groups. */ updateServiceNetworkVpcAssociation(callback?: (err: AWSError, data: VPCLattice.Types.UpdateServiceNetworkVpcAssociationResponse) => void): Request; /** @@ -1138,7 +1138,7 @@ declare namespace VPCLattice { */ policy?: AuthPolicyString; /** - * The state of the auth policy. The auth policy is only active when the auth type is set to Amazon Web Services_IAM. If you provide a policy, then authentication and authorization decisions are made based on this policy and the client's IAM policy. If the auth type is NONE, then any auth policy you provide will remain inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide. + * The state of the auth policy. The auth policy is only active when the auth type is set to AWS_IAM. If you provide a policy, then authentication and authorization decisions are made based on this policy and the client's IAM policy. If the auth type is NONE, then any auth policy you provide will remain inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide. */ state?: AuthPolicyState; } @@ -1196,13 +1196,13 @@ declare namespace VPCLattice { } export interface GetResourcePolicyRequest { /** - * An IAM policy. + * The Amazon Resource Name (ARN) of the service network or service. */ resourceArn: ResourceArn; } export interface GetResourcePolicyResponse { /** - * The Amazon Resource Name (ARN) of the service network or service. + * An IAM policy. */ policy?: PolicyString; } @@ -1945,7 +1945,7 @@ declare namespace VPCLattice { export type Port = number; export interface PutAuthPolicyRequest { /** - * The auth policy. + * The auth policy. The policy string in JSON must not contain newlines or blank lines. */ policy: AuthPolicyString; /** @@ -1955,17 +1955,17 @@ declare namespace VPCLattice { } export interface PutAuthPolicyResponse { /** - * The auth policy. + * The auth policy. The policy string in JSON must not contain newlines or blank lines. */ policy?: AuthPolicyString; /** - * The state of the auth policy. The auth policy is only active when the auth type is set to Amazon Web Services_IAM. If you provide a policy, then authentication and authorization decisions are made based on this policy and the client's IAM policy. If the Auth type is NONE, then, any auth policy you provide will remain inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide. + * The state of the auth policy. The auth policy is only active when the auth type is set to AWS_IAM. If you provide a policy, then authentication and authorization decisions are made based on this policy and the client's IAM policy. If the Auth type is NONE, then, any auth policy you provide will remain inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide. */ state?: AuthPolicyState; } export interface PutResourcePolicyRequest { /** - * An IAM policy. + * An IAM policy. The policy string in JSON must not contain newlines or blank lines. */ policy: PolicyString; /** @@ -2634,7 +2634,7 @@ declare namespace VPCLattice { } export interface UpdateServiceNetworkVpcAssociationRequest { /** - * The IDs of the security groups. Once you add a security group, it cannot be removed. + * The IDs of the security groups. */ securityGroupIds: UpdateServiceNetworkVpcAssociationRequestSecurityGroupIdsList; /** diff --git a/dist/aws-sdk-core-react-native.js b/dist/aws-sdk-core-react-native.js index 817d6427d8..e9b7ac05cc 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.1350.0', + VERSION: '2.1351.0', /** * @api private diff --git a/dist/aws-sdk-react-native.js b/dist/aws-sdk-react-native.js index 9d2c6c2741..3af889bda6 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.1350.0', + VERSION: '2.1351.0', /** * @api private @@ -61988,7 +61988,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 1288 */ /***/ (function(module, exports) { - module.exports = {"version":"2.0","metadata":{"apiVersion":"2020-07-14","endpointPrefix":"ivsrealtime","jsonVersion":"1.1","protocol":"rest-json","serviceAbbreviation":"ivsrealtime","serviceFullName":"Amazon Interactive Video Service RealTime","serviceId":"IVS RealTime","signatureVersion":"v4","signingName":"ivs","uid":"ivs-realtime-2020-07-14"},"operations":{"CreateParticipantToken":{"http":{"requestUri":"/CreateParticipantToken","responseCode":200},"input":{"type":"structure","required":["stageArn"],"members":{"attributes":{"shape":"S2"},"capabilities":{"shape":"S4"},"duration":{"type":"integer"},"stageArn":{},"userId":{}}},"output":{"type":"structure","members":{"participantToken":{"shape":"Sa"}}}},"CreateStage":{"http":{"requestUri":"/CreateStage","responseCode":200},"input":{"type":"structure","members":{"name":{},"participantTokenConfigurations":{"type":"list","member":{"type":"structure","members":{"attributes":{"shape":"S2"},"capabilities":{"shape":"S4"},"duration":{"type":"integer"},"userId":{}}}},"tags":{"shape":"Si"}}},"output":{"type":"structure","members":{"participantTokens":{"type":"list","member":{"shape":"Sa"}},"stage":{"shape":"Sn"}}}},"DeleteStage":{"http":{"requestUri":"/DeleteStage","responseCode":200},"input":{"type":"structure","required":["arn"],"members":{"arn":{}}},"output":{"type":"structure","members":{}}},"DisconnectParticipant":{"http":{"requestUri":"/DisconnectParticipant","responseCode":200},"input":{"type":"structure","required":["participantId","stageArn"],"members":{"participantId":{},"reason":{},"stageArn":{}}},"output":{"type":"structure","members":{}}},"GetStage":{"http":{"requestUri":"/GetStage","responseCode":200},"input":{"type":"structure","required":["arn"],"members":{"arn":{}}},"output":{"type":"structure","members":{"stage":{"shape":"Sn"}}}},"ListStages":{"http":{"requestUri":"/ListStages","responseCode":200},"input":{"type":"structure","members":{"maxResults":{"type":"integer"},"nextToken":{}}},"output":{"type":"structure","required":["stages"],"members":{"nextToken":{},"stages":{"type":"list","member":{"type":"structure","required":["arn"],"members":{"activeSessionId":{},"arn":{},"name":{},"tags":{"shape":"Si"}}}}}}},"ListTagsForResource":{"http":{"method":"GET","requestUri":"/tags/{resourceArn}","responseCode":200},"input":{"type":"structure","required":["resourceArn"],"members":{"resourceArn":{"location":"uri","locationName":"resourceArn"}}},"output":{"type":"structure","required":["tags"],"members":{"tags":{"shape":"Si"}}}},"TagResource":{"http":{"requestUri":"/tags/{resourceArn}","responseCode":200},"input":{"type":"structure","required":["resourceArn","tags"],"members":{"resourceArn":{"location":"uri","locationName":"resourceArn"},"tags":{"shape":"Si"}}},"output":{"type":"structure","members":{}}},"UntagResource":{"http":{"method":"DELETE","requestUri":"/tags/{resourceArn}","responseCode":200},"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},"UpdateStage":{"http":{"requestUri":"/UpdateStage","responseCode":200},"input":{"type":"structure","required":["arn"],"members":{"arn":{},"name":{}}},"output":{"type":"structure","members":{"stage":{"shape":"Sn"}}}}},"shapes":{"S2":{"type":"map","key":{},"value":{}},"S4":{"type":"list","member":{}},"Sa":{"type":"structure","members":{"attributes":{"shape":"S2"},"capabilities":{"shape":"S4"},"duration":{"type":"integer"},"expirationTime":{"type":"timestamp"},"participantId":{},"token":{},"userId":{}}},"Si":{"type":"map","key":{},"value":{}},"Sn":{"type":"structure","required":["arn"],"members":{"activeSessionId":{},"arn":{},"name":{},"tags":{"shape":"Si"}}}}} + module.exports = {"version":"2.0","metadata":{"apiVersion":"2020-07-14","endpointPrefix":"ivsrealtime","jsonVersion":"1.1","protocol":"rest-json","serviceAbbreviation":"ivsrealtime","serviceFullName":"Amazon Interactive Video Service RealTime","serviceId":"IVS RealTime","signatureVersion":"v4","signingName":"ivs","uid":"ivs-realtime-2020-07-14"},"operations":{"CreateParticipantToken":{"http":{"requestUri":"/CreateParticipantToken","responseCode":200},"input":{"type":"structure","required":["stageArn"],"members":{"attributes":{"shape":"S2"},"capabilities":{"shape":"S4"},"duration":{"type":"integer"},"stageArn":{},"userId":{}}},"output":{"type":"structure","members":{"participantToken":{"shape":"Sa"}}}},"CreateStage":{"http":{"requestUri":"/CreateStage","responseCode":200},"input":{"type":"structure","members":{"name":{},"participantTokenConfigurations":{"type":"list","member":{"type":"structure","members":{"attributes":{"shape":"S2"},"capabilities":{"shape":"S4"},"duration":{"type":"integer"},"userId":{}}}},"tags":{"shape":"Si"}}},"output":{"type":"structure","members":{"participantTokens":{"type":"list","member":{"shape":"Sa"}},"stage":{"shape":"Sn"}}}},"DeleteStage":{"http":{"requestUri":"/DeleteStage","responseCode":200},"input":{"type":"structure","required":["arn"],"members":{"arn":{}}},"output":{"type":"structure","members":{}}},"DisconnectParticipant":{"http":{"requestUri":"/DisconnectParticipant","responseCode":200},"input":{"type":"structure","required":["participantId","stageArn"],"members":{"participantId":{},"reason":{},"stageArn":{}}},"output":{"type":"structure","members":{}}},"GetStage":{"http":{"requestUri":"/GetStage","responseCode":200},"input":{"type":"structure","required":["arn"],"members":{"arn":{}}},"output":{"type":"structure","members":{"stage":{"shape":"Sn"}}}},"ListStages":{"http":{"requestUri":"/ListStages","responseCode":200},"input":{"type":"structure","members":{"maxResults":{"type":"integer"},"nextToken":{}}},"output":{"type":"structure","required":["stages"],"members":{"nextToken":{},"stages":{"type":"list","member":{"type":"structure","required":["arn"],"members":{"activeSessionId":{},"arn":{},"name":{},"tags":{"shape":"Si"}}}}}}},"ListTagsForResource":{"http":{"method":"GET","requestUri":"/tags/{resourceArn}","responseCode":200},"input":{"type":"structure","required":["resourceArn"],"members":{"resourceArn":{"location":"uri","locationName":"resourceArn"}}},"output":{"type":"structure","required":["tags"],"members":{"tags":{"shape":"Si"}}}},"TagResource":{"http":{"requestUri":"/tags/{resourceArn}","responseCode":200},"input":{"type":"structure","required":["resourceArn","tags"],"members":{"resourceArn":{"location":"uri","locationName":"resourceArn"},"tags":{"shape":"Si"}}},"output":{"type":"structure","members":{}}},"UntagResource":{"http":{"method":"DELETE","requestUri":"/tags/{resourceArn}","responseCode":200},"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},"UpdateStage":{"http":{"requestUri":"/UpdateStage","responseCode":200},"input":{"type":"structure","required":["arn"],"members":{"arn":{},"name":{}}},"output":{"type":"structure","members":{"stage":{"shape":"Sn"}}}}},"shapes":{"S2":{"type":"map","key":{},"value":{}},"S4":{"type":"list","member":{}},"Sa":{"type":"structure","members":{"attributes":{"shape":"S2"},"capabilities":{"shape":"S4"},"duration":{"type":"integer"},"expirationTime":{"type":"timestamp","timestampFormat":"iso8601"},"participantId":{},"token":{"type":"string","sensitive":true},"userId":{}}},"Si":{"type":"map","key":{},"value":{}},"Sn":{"type":"structure","required":["arn"],"members":{"activeSessionId":{},"arn":{},"name":{},"tags":{"shape":"Si"}}}}} /***/ }), /* 1289 */ diff --git a/dist/aws-sdk.js b/dist/aws-sdk.js index 5380350a00..20997172db 100644 --- a/dist/aws-sdk.js +++ b/dist/aws-sdk.js @@ -1,4 +1,4 @@ -// AWS SDK for JavaScript v2.1350.0 +// AWS SDK for JavaScript v2.1351.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.1350.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) +;return t.paginators=e("../apis/ssm-2014-11-06.paginators.json").pagination,t.waiters=e("../apis/ssm-2014-11-06.waiters2.json").waiters,t},enumerable:!0,configurable:!0}),t.exports=a.SSM},{"../apis/ssm-2014-11-06.min.json":225,"../apis/ssm-2014-11-06.paginators.json":226,"../apis/ssm-2014-11-06.waiters2.json":227,"../lib/core":345,"../lib/node_loader":341}],328:[function(e,t,r){e("../lib/node_loader");var a=e("../lib/core"),i=a.Service,s=a.apiLoader;s.services.storagegateway={},a.StorageGateway=i.defineService("storagegateway",["2013-06-30"]),Object.defineProperty(s.services.storagegateway,"2013-06-30",{get:function(){var t=e("../apis/storagegateway-2013-06-30.min.json");return t.paginators=e("../apis/storagegateway-2013-06-30.paginators.json").pagination,t},enumerable:!0,configurable:!0}),t.exports=a.StorageGateway},{"../apis/storagegateway-2013-06-30.min.json":228,"../apis/storagegateway-2013-06-30.paginators.json":229,"../lib/core":345,"../lib/node_loader":341}],329:[function(e,t,r){e("../lib/node_loader");var a=e("../lib/core"),i=a.Service,s=a.apiLoader;s.services.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.1351.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){ diff --git a/lib/core.js b/lib/core.js index 0b00d65b80..3d2aaf4ed6 100644 --- a/lib/core.js +++ b/lib/core.js @@ -20,7 +20,7 @@ AWS.util.update(AWS, { /** * @constant */ - VERSION: '2.1350.0', + VERSION: '2.1351.0', /** * @api private diff --git a/package.json b/package.json index 1363606f91..50125f380a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "aws-sdk", "description": "AWS SDK for JavaScript", - "version": "2.1350.0", + "version": "2.1351.0", "author": { "name": "Amazon Web Services", "email": "",