From 6c6c0999d70f36229b8f44950b56249159efeda5 Mon Sep 17 00:00:00 2001 From: awssdkgo Date: Wed, 27 Oct 2021 18:20:26 +0000 Subject: [PATCH] Release v1.41.12 (2021-10-27) === ### Service Client Updates * `service/autoscaling`: Updates service API and documentation * This release adds support for attribute-based instance type selection, a new EC2 Auto Scaling feature that lets customers express their instance requirements as a set of attributes, such as vCPU, memory, and storage. * `service/ec2`: Updates service API, documentation, and paginators * This release adds: attribute-based instance type selection for EC2 Fleet, Spot Fleet, a feature that lets customers express instance requirements as attributes like vCPU, memory, and storage; and Spot placement score, a feature that helps customers identify an optimal location to run Spot workloads. * `service/eks`: Updates service API * `service/sagemaker`: Updates service API and documentation * This release allows customers to describe one or more versioned model packages through BatchDescribeModelPackage, update project via UpdateProject, modify and read customer metadata properties using Create, Update and Describe ModelPackage and enables cross account registration of model packages. * `service/textract`: Updates service API and documentation --- CHANGELOG.md | 13 + aws/endpoints/defaults.go | 10 + aws/version.go | 2 +- models/apis/autoscaling/2011-01-01/api-2.json | 219 +- .../apis/autoscaling/2011-01-01/docs-2.json | 235 +- models/apis/ec2/2016-11-15/api-2.json | 659 +++- models/apis/ec2/2016-11-15/docs-2.json | 394 ++- models/apis/ec2/2016-11-15/paginators-1.json | 12 + models/apis/eks/2017-11-01/api-2.json | 4 +- models/apis/sagemaker/2017-07-24/api-2.json | 159 +- models/apis/sagemaker/2017-07-24/docs-2.json | 129 +- models/apis/textract/2018-06-27/api-2.json | 81 + models/apis/textract/2018-06-27/docs-2.json | 75 +- models/endpoints/endpoints.json | 9 + service/autoscaling/api.go | 1361 +++++++-- service/ec2/api.go | 2672 ++++++++++++++++- service/ec2/ec2iface/interface.go | 14 + service/eks/api.go | 8 + service/sagemaker/api.go | 704 ++++- service/sagemaker/sagemakeriface/interface.go | 8 + service/textract/api.go | 626 +++- service/textract/textractiface/interface.go | 8 + 22 files changed, 7119 insertions(+), 283 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b77faec5ddf..a9eb6142599 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +Release v1.41.12 (2021-10-27) +=== + +### Service Client Updates +* `service/autoscaling`: Updates service API and documentation + * This release adds support for attribute-based instance type selection, a new EC2 Auto Scaling feature that lets customers express their instance requirements as a set of attributes, such as vCPU, memory, and storage. +* `service/ec2`: Updates service API, documentation, and paginators + * This release adds: attribute-based instance type selection for EC2 Fleet, Spot Fleet, a feature that lets customers express instance requirements as attributes like vCPU, memory, and storage; and Spot placement score, a feature that helps customers identify an optimal location to run Spot workloads. +* `service/eks`: Updates service API +* `service/sagemaker`: Updates service API and documentation + * This release allows customers to describe one or more versioned model packages through BatchDescribeModelPackage, update project via UpdateProject, modify and read customer metadata properties using Create, Update and Describe ModelPackage and enables cross account registration of model packages. +* `service/textract`: Updates service API and documentation + Release v1.41.11 (2021-10-26) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 7e71e58a9fa..9d1a3f10609 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -5426,6 +5426,16 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "nimble": service{ + + Endpoints: endpoints{ + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "oidc": service{ Endpoints: endpoints{ diff --git a/aws/version.go b/aws/version.go index 0db35844f53..a1730b76ab5 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.41.11" +const SDKVersion = "1.41.12" diff --git a/models/apis/autoscaling/2011-01-01/api-2.json b/models/apis/autoscaling/2011-01-01/api-2.json index 344c181fe53..f88d2460cb5 100644 --- a/models/apis/autoscaling/2011-01-01/api-2.json +++ b/models/apis/autoscaling/2011-01-01/api-2.json @@ -896,6 +896,61 @@ } }, "shapes":{ + "AcceleratorCountRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"NullablePositiveInteger"}, + "Max":{"shape":"NullablePositiveInteger"} + } + }, + "AcceleratorManufacturer":{ + "type":"string", + "enum":[ + "nvidia", + "amd", + "amazon-web-services", + "xilinx" + ] + }, + "AcceleratorManufacturers":{ + "type":"list", + "member":{"shape":"AcceleratorManufacturer"} + }, + "AcceleratorName":{ + "type":"string", + "enum":[ + "a100", + "v100", + "k80", + "t4", + "m60", + "radeon-pro-v520", + "vu9p" + ] + }, + "AcceleratorNames":{ + "type":"list", + "member":{"shape":"AcceleratorName"} + }, + "AcceleratorTotalMemoryMiBRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"NullablePositiveInteger"}, + "Max":{"shape":"NullablePositiveInteger"} + } + }, + "AcceleratorType":{ + "type":"string", + "enum":[ + "gpu", + "fpga", + "inference" + ] + }, + "AcceleratorTypes":{ + "type":"list", + "member":{"shape":"AcceleratorType"} + }, "ActiveInstanceRefreshNotFoundFault":{ "type":"structure", "members":{ @@ -1077,7 +1132,8 @@ "CapacityRebalance":{"shape":"CapacityRebalanceEnabled"}, "WarmPoolConfiguration":{"shape":"WarmPoolConfiguration"}, "WarmPoolSize":{"shape":"WarmPoolSize"}, - "Context":{"shape":"Context"} + "Context":{"shape":"Context"}, + "DesiredCapacityType":{"shape":"XmlStringMaxLen255"} } }, "AutoScalingGroupDesiredCapacity":{"type":"integer"}, @@ -1156,6 +1212,21 @@ "type":"list", "member":{"shape":"XmlStringMaxLen255"} }, + "BareMetal":{ + "type":"string", + "enum":[ + "included", + "excluded", + "required" + ] + }, + "BaselineEbsBandwidthMbpsRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"NullablePositiveInteger"}, + "Max":{"shape":"NullablePositiveInteger"} + } + }, "BatchDeleteScheduledActionAnswer":{ "type":"structure", "members":{ @@ -1226,6 +1297,14 @@ "type":"list", "member":{"shape":"BlockDeviceMapping"} }, + "BurstablePerformance":{ + "type":"string", + "enum":[ + "included", + "excluded", + "required" + ] + }, "CancelInstanceRefreshAnswer":{ "type":"structure", "members":{ @@ -1286,6 +1365,18 @@ }, "Context":{"type":"string"}, "Cooldown":{"type":"integer"}, + "CpuManufacturer":{ + "type":"string", + "enum":[ + "intel", + "amd", + "amazon-web-services" + ] + }, + "CpuManufacturers":{ + "type":"list", + "member":{"shape":"CpuManufacturer"} + }, "CreateAutoScalingGroupType":{ "type":"structure", "required":[ @@ -1317,7 +1408,8 @@ "Tags":{"shape":"Tags"}, "ServiceLinkedRoleARN":{"shape":"ResourceName"}, "MaxInstanceLifetime":{"shape":"MaxInstanceLifetime"}, - "Context":{"shape":"Context"} + "Context":{"shape":"Context"}, + "DesiredCapacityType":{"shape":"XmlStringMaxLen255"} } }, "CreateLaunchConfigurationType":{ @@ -1745,6 +1837,17 @@ } }, "EstimatedInstanceWarmup":{"type":"integer"}, + "ExcludedInstance":{ + "type":"string", + "max":30, + "min":1, + "pattern":"[a-zA-Z0-9\\.\\*]+" + }, + "ExcludedInstanceTypes":{ + "type":"list", + "member":{"shape":"ExcludedInstance"}, + "max":400 + }, "ExecutePolicyType":{ "type":"structure", "required":["PolicyName"], @@ -1849,6 +1952,17 @@ "WeightedCapacity":{"shape":"XmlStringMaxLen32"} } }, + "InstanceGeneration":{ + "type":"string", + "enum":[ + "current", + "previous" + ] + }, + "InstanceGenerations":{ + "type":"list", + "member":{"shape":"InstanceGeneration"} + }, "InstanceIds":{ "type":"list", "member":{"shape":"XmlStringMaxLen19"} @@ -1955,6 +2069,36 @@ "type":"list", "member":{"shape":"InstanceRefresh"} }, + "InstanceRequirements":{ + "type":"structure", + "required":[ + "VCpuCount", + "MemoryMiB" + ], + "members":{ + "VCpuCount":{"shape":"VCpuCountRequest"}, + "MemoryMiB":{"shape":"MemoryMiBRequest"}, + "CpuManufacturers":{"shape":"CpuManufacturers"}, + "MemoryGiBPerVCpu":{"shape":"MemoryGiBPerVCpuRequest"}, + "ExcludedInstanceTypes":{"shape":"ExcludedInstanceTypes"}, + "InstanceGenerations":{"shape":"InstanceGenerations"}, + "SpotMaxPricePercentageOverLowestPrice":{"shape":"NullablePositiveInteger"}, + "OnDemandMaxPricePercentageOverLowestPrice":{"shape":"NullablePositiveInteger"}, + "BareMetal":{"shape":"BareMetal"}, + "BurstablePerformance":{"shape":"BurstablePerformance"}, + "RequireHibernateSupport":{"shape":"NullableBoolean"}, + "NetworkInterfaceCount":{"shape":"NetworkInterfaceCountRequest"}, + "LocalStorage":{"shape":"LocalStorage"}, + "LocalStorageTypes":{"shape":"LocalStorageTypes"}, + "TotalLocalStorageGB":{"shape":"TotalLocalStorageGBRequest"}, + "BaselineEbsBandwidthMbps":{"shape":"BaselineEbsBandwidthMbpsRequest"}, + "AcceleratorTypes":{"shape":"AcceleratorTypes"}, + "AcceleratorCount":{"shape":"AcceleratorCountRequest"}, + "AcceleratorManufacturers":{"shape":"AcceleratorManufacturers"}, + "AcceleratorNames":{"shape":"AcceleratorNames"}, + "AcceleratorTotalMemoryMiB":{"shape":"AcceleratorTotalMemoryMiBRequest"} + } + }, "Instances":{ "type":"list", "member":{"shape":"Instance"} @@ -2071,7 +2215,8 @@ "members":{ "InstanceType":{"shape":"XmlStringMaxLen255"}, "WeightedCapacity":{"shape":"XmlStringMaxLen32"}, - "LaunchTemplateSpecification":{"shape":"LaunchTemplateSpecification"} + "LaunchTemplateSpecification":{"shape":"LaunchTemplateSpecification"}, + "InstanceRequirements":{"shape":"InstanceRequirements"} } }, "LaunchTemplateSpecification":{ @@ -2214,6 +2359,25 @@ "type":"list", "member":{"shape":"LoadForecast"} }, + "LocalStorage":{ + "type":"string", + "enum":[ + "included", + "excluded", + "required" + ] + }, + "LocalStorageType":{ + "type":"string", + "enum":[ + "hdd", + "ssd" + ] + }, + "LocalStorageTypes":{ + "type":"list", + "member":{"shape":"LocalStorageType"} + }, "MaxGroupPreparedCapacity":{ "type":"integer", "min":-1 @@ -2222,6 +2386,21 @@ "MaxNumberOfAutoScalingGroups":{"type":"integer"}, "MaxNumberOfLaunchConfigurations":{"type":"integer"}, "MaxRecords":{"type":"integer"}, + "MemoryGiBPerVCpuRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"NullablePositiveDouble"}, + "Max":{"shape":"NullablePositiveDouble"} + } + }, + "MemoryMiBRequest":{ + "type":"structure", + "required":["Min"], + "members":{ + "Min":{"shape":"NullablePositiveInteger"}, + "Max":{"shape":"NullablePositiveInteger"} + } + }, "MetricCollectionType":{ "type":"structure", "members":{ @@ -2304,6 +2483,13 @@ } }, "MonitoringEnabled":{"type":"boolean"}, + "NetworkInterfaceCountRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"NullablePositiveInteger"}, + "Max":{"shape":"NullablePositiveInteger"} + } + }, "NoDevice":{"type":"boolean"}, "NonZeroIntPercent":{ "type":"integer", @@ -2328,6 +2514,15 @@ "min":0, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" }, + "NullableBoolean":{"type":"boolean"}, + "NullablePositiveDouble":{ + "type":"double", + "min":0 + }, + "NullablePositiveInteger":{ + "type":"integer", + "min":0 + }, "NumberOfAutoScalingGroups":{"type":"integer"}, "NumberOfLaunchConfigurations":{"type":"integer"}, "OnDemandBaseCapacity":{"type":"integer"}, @@ -2953,6 +3148,13 @@ "member":{"shape":"XmlStringMaxLen1600"} }, "TimestampType":{"type":"timestamp"}, + "TotalLocalStorageGBRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"NullablePositiveDouble"}, + "Max":{"shape":"NullablePositiveDouble"} + } + }, "UpdateAutoScalingGroupType":{ "type":"structure", "required":["AutoScalingGroupName"], @@ -2975,7 +3177,16 @@ "ServiceLinkedRoleARN":{"shape":"ResourceName"}, "MaxInstanceLifetime":{"shape":"MaxInstanceLifetime"}, "CapacityRebalance":{"shape":"CapacityRebalanceEnabled"}, - "Context":{"shape":"Context"} + "Context":{"shape":"Context"}, + "DesiredCapacityType":{"shape":"XmlStringMaxLen255"} + } + }, + "VCpuCountRequest":{ + "type":"structure", + "required":["Min"], + "members":{ + "Min":{"shape":"NullablePositiveInteger"}, + "Max":{"shape":"NullablePositiveInteger"} } }, "Values":{ diff --git a/models/apis/autoscaling/2011-01-01/docs-2.json b/models/apis/autoscaling/2011-01-01/docs-2.json index 5dc088de5b6..b4b26537131 100644 --- a/models/apis/autoscaling/2011-01-01/docs-2.json +++ b/models/apis/autoscaling/2011-01-01/docs-2.json @@ -65,6 +65,54 @@ "UpdateAutoScalingGroup": "

We strongly recommend that all Auto Scaling groups use launch templates to ensure full functionality for Amazon EC2 Auto Scaling and Amazon EC2.

Updates the configuration for the specified Auto Scaling group.

To update an Auto Scaling group, specify the name of the group and the parameter that you want to change. Any parameters that you don't specify are not changed by this update request. The new settings take effect on any scaling activities after this call returns.

If you associate a new launch configuration or template with an Auto Scaling group, all new instances will get the updated configuration. Existing instances continue to run with the configuration that they were originally launched with. When you update a group to specify a mixed instances policy instead of a launch configuration or template, existing instances may be replaced to match the new purchasing options that you specified in the policy. For example, if the group currently has 100% On-Demand capacity and the policy specifies 50% Spot capacity, this means that half of your instances will be gradually terminated and relaunched as Spot Instances. When replacing instances, Amazon EC2 Auto Scaling launches new instances before terminating the old ones, so that updating your group does not compromise the performance or availability of your application.

Note the following about changing DesiredCapacity, MaxSize, or MinSize:

To see which parameters have been set, call the DescribeAutoScalingGroups API. To view the scaling policies for an Auto Scaling group, call the DescribePolicies API. If the group has scaling policies, you can update them by calling the PutScalingPolicy API.

" }, "shapes": { + "AcceleratorCountRequest": { + "base": "

Specifies the minimum and maximum for the AcceleratorCount object when you specify InstanceRequirements for an Auto Scaling group.

", + "refs": { + "InstanceRequirements$AcceleratorCount": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) for an instance type.

To exclude accelerator-enabled instance types, set Max to 0.

Default: No minimum or maximum

" + } + }, + "AcceleratorManufacturer": { + "base": null, + "refs": { + "AcceleratorManufacturers$member": null + } + }, + "AcceleratorManufacturers": { + "base": null, + "refs": { + "InstanceRequirements$AcceleratorManufacturers": "

Indicates whether instance types must have accelerators by specific manufacturers.

Default: Any manufacturer

" + } + }, + "AcceleratorName": { + "base": null, + "refs": { + "AcceleratorNames$member": null + } + }, + "AcceleratorNames": { + "base": null, + "refs": { + "InstanceRequirements$AcceleratorNames": "

Lists the accelerators that must be on an instance type.

Default: Any accelerator

" + } + }, + "AcceleratorTotalMemoryMiBRequest": { + "base": "

Specifies the minimum and maximum for the AcceleratorTotalMemoryMiB object when you specify InstanceRequirements for an Auto Scaling group.

", + "refs": { + "InstanceRequirements$AcceleratorTotalMemoryMiB": "

The minimum and maximum total memory size for the accelerators on an instance type, in MiB.

Default: No minimum or maximum

" + } + }, + "AcceleratorType": { + "base": null, + "refs": { + "AcceleratorTypes$member": null + } + }, + "AcceleratorTypes": { + "base": null, + "refs": { + "InstanceRequirements$AcceleratorTypes": "

Lists the accelerator types that must be on an instance type.

Default: Any accelerator type

" + } + }, "ActiveInstanceRefreshNotFoundFault": { "base": "

The request failed because an active instance refresh for the specified Auto Scaling group was not found.

", "refs": { @@ -284,6 +332,18 @@ "UpdateAutoScalingGroupType$AvailabilityZones": "

One or more Availability Zones for the group.

" } }, + "BareMetal": { + "base": null, + "refs": { + "InstanceRequirements$BareMetal": "

Indicates whether bare metal instance types are included, excluded, or required.

Default: excluded

" + } + }, + "BaselineEbsBandwidthMbpsRequest": { + "base": "

Specifies the minimum and maximum for the BaselineEbsBandwidthMbps object when you specify InstanceRequirements for an Auto Scaling group.

", + "refs": { + "InstanceRequirements$BaselineEbsBandwidthMbps": "

The minimum and maximum baseline bandwidth performance for an instance type, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide for Linux Instances.

Default: No minimum or maximum

" + } + }, "BatchDeleteScheduledActionAnswer": { "base": null, "refs": { @@ -353,6 +413,12 @@ "LaunchConfiguration$BlockDeviceMappings": "

A block device mapping, which specifies the block devices for the instance. For more information, see Block Device Mapping in the Amazon EC2 User Guide for Linux Instances.

" } }, + "BurstablePerformance": { + "base": null, + "refs": { + "InstanceRequirements$BurstablePerformance": "

Indicates whether burstable performance instance types are included, excluded, or required. For more information, see Burstable performance instances in the Amazon EC2 User Guide for Linux Instances.

Default: excluded

" + } + }, "CancelInstanceRefreshAnswer": { "base": null, "refs": { @@ -424,6 +490,18 @@ "UpdateAutoScalingGroupType$DefaultCooldown": "

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default value is 300. This setting applies when using simple scaling policies, but not when using other scaling policies or scheduled scaling. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

" } }, + "CpuManufacturer": { + "base": null, + "refs": { + "CpuManufacturers$member": null + } + }, + "CpuManufacturers": { + "base": null, + "refs": { + "InstanceRequirements$CpuManufacturers": "

Lists which specific CPU manufacturers to include.

Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.

Default: Any manufacturer

" + } + }, "CreateAutoScalingGroupType": { "base": null, "refs": { @@ -700,6 +778,18 @@ "ScalingPolicy$EstimatedInstanceWarmup": "

The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics.

" } }, + "ExcludedInstance": { + "base": null, + "refs": { + "ExcludedInstanceTypes$member": null + } + }, + "ExcludedInstanceTypes": { + "base": null, + "refs": { + "InstanceRequirements$ExcludedInstanceTypes": "

Lists which instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*). The following are examples: c5*, m5a.*, r*, *3*.

For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types.

Default: No excluded instance types

" + } + }, "ExecutePolicyType": { "base": null, "refs": { @@ -729,7 +819,7 @@ } }, "Filter": { - "base": "

Describes a filter that is used to return a more specific list of results from a describe operation.

If you specify multiple filters, the filters are joined with an AND, and the request returns only results that match all of the specified filters.

For more information, see Tagging Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide.

", + "base": "

Describes a filter that is used to return a more specific list of results from a describe operation.

If you specify multiple filters, the filters are automatically logically joined with an AND, and the request returns only the results that match all of the specified filters.

For more information, see Tagging Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide.

", "refs": { "Filters$member": null } @@ -799,6 +889,18 @@ "Instances$member": null } }, + "InstanceGeneration": { + "base": null, + "refs": { + "InstanceGenerations$member": null + } + }, + "InstanceGenerations": { + "base": null, + "refs": { + "InstanceRequirements$InstanceGenerations": "

Indicates whether current or previous generation instance types are included.

Default: Any current or previous generation

" + } + }, "InstanceIds": { "base": null, "refs": { @@ -899,6 +1001,12 @@ "DescribeInstanceRefreshesAnswer$InstanceRefreshes": "

The instance refreshes for the specified group.

" } }, + "InstanceRequirements": { + "base": "

When you specify multiple parameters, you get instance types that satisfy all of the specified parameters. If you specify multiple values for a parameter, you get instance types that satisfy any of the specified values.

Represents requirements for the types of instances that can be launched. You must specify VCpuCount and MemoryMiB, but all other parameters are optional. For more information, see Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

", + "refs": { + "LaunchTemplateOverrides$InstanceRequirements": "

The instance requirements. When you specify instance requirements, Amazon EC2 Auto Scaling finds instance types that satisfy your requirements, and then uses your On-Demand and Spot allocation strategies to launch instances from these instance types, in the same way as when you specify a list of specific instance types.

" + } + }, "Instances": { "base": null, "refs": { @@ -907,9 +1015,9 @@ } }, "InstancesDistribution": { - "base": "

Describes an instances distribution for an Auto Scaling group with a MixedInstancesPolicy.

The instances distribution specifies the distribution of On-Demand Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities.

When you modify SpotAllocationStrategy, SpotInstancePools, or SpotMaxPrice in the UpdateAutoScalingGroup API call, this update action does not deploy any changes across the running Amazon EC2 instances in the group. Your existing Spot Instances continue to run as long as the maximum price for those instances is higher than the current Spot price. When scale out occurs, Amazon EC2 Auto Scaling launches instances based on the new settings. When scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's termination policies.

", + "base": "

Describes an instances distribution for an Auto Scaling group.

", "refs": { - "MixedInstancesPolicy$InstancesDistribution": "

Specifies the instances distribution. If not provided, the value for each property in InstancesDistribution uses a default value.

" + "MixedInstancesPolicy$InstancesDistribution": "

Specifies the instances distribution.

" } }, "InstancesToUpdate": { @@ -968,9 +1076,9 @@ } }, "LaunchTemplate": { - "base": "

Describes a launch template and overrides.

You specify these properties as part of a mixed instances policy.

When you update the launch template or overrides in the UpdateAutoScalingGroup API call, existing Amazon EC2 instances continue to run. When scale out occurs, Amazon EC2 Auto Scaling launches instances to match the new settings. When scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's termination policies.

", + "base": "

Describes a launch template and overrides. You specify these properties as part of a mixed instances policy.

", "refs": { - "MixedInstancesPolicy$LaunchTemplate": "

Specifies the launch template to use and the instance types (overrides) that are used to provision EC2 instances to fulfill On-Demand and Spot capacities. Required when creating a mixed instances policy.

" + "MixedInstancesPolicy$LaunchTemplate": "

Specifies the launch template to use and the instance types (overrides) that are used to launch EC2 instances to fulfill On-Demand and Spot capacities. Required when creating a mixed instances policy.

" } }, "LaunchTemplateName": { @@ -980,7 +1088,7 @@ } }, "LaunchTemplateOverrides": { - "base": "

Describes an override for a launch template. The maximum number of instance types that can be associated with an Auto Scaling group is 40. The maximum number of distinct launch templates you can define for an Auto Scaling group is 20. For more information about configuring overrides, see Configuring overrides in the Amazon EC2 Auto Scaling User Guide.

", + "base": "

Describes an override for a launch template. For more information, see Configuring overrides in the Amazon EC2 Auto Scaling User Guide.

", "refs": { "Overrides$member": null } @@ -994,7 +1102,7 @@ "DesiredConfiguration$LaunchTemplate": null, "Instance$LaunchTemplate": "

The launch template for the instance.

", "LaunchTemplate$LaunchTemplateSpecification": "

The launch template to use.

", - "LaunchTemplateOverrides$LaunchTemplateSpecification": "

Provides the launch template to be used when launching the instance type. For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's defined for your mixed instances policy. For more information, see Specifying a different launch template for an instance type in the Amazon EC2 Auto Scaling User Guide.

", + "LaunchTemplateOverrides$LaunchTemplateSpecification": "

Provides the launch template to be used when launching the instance type specified in InstanceType. For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's defined for your mixed instances policy. For more information, see Specifying a different launch template for an instance type in the Amazon EC2 Auto Scaling User Guide.

", "UpdateAutoScalingGroupType$LaunchTemplate": "

The launch template and version to use to specify the updates. If you specify LaunchTemplate in your update request, you can't specify LaunchConfigurationName or MixedInstancesPolicy.

" } }, @@ -1108,6 +1216,24 @@ "GetPredictiveScalingForecastAnswer$LoadForecast": "

The load forecast.

" } }, + "LocalStorage": { + "base": null, + "refs": { + "InstanceRequirements$LocalStorage": "

Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, see Amazon EC2 instance store in the Amazon EC2 User Guide for Linux Instances.

Default: included

" + } + }, + "LocalStorageType": { + "base": null, + "refs": { + "LocalStorageTypes$member": null + } + }, + "LocalStorageTypes": { + "base": null, + "refs": { + "InstanceRequirements$LocalStorageTypes": "

Indicates the type of local storage that is required.

Default: Any local storage type

" + } + }, "MaxGroupPreparedCapacity": { "base": null, "refs": { @@ -1152,6 +1278,18 @@ "LaunchConfigurationNamesType$MaxRecords": "

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } }, + "MemoryGiBPerVCpuRequest": { + "base": "

Specifies the minimum and maximum for the MemoryGiBPerVCpu object when you specify InstanceRequirements for an Auto Scaling group.

", + "refs": { + "InstanceRequirements$MemoryGiBPerVCpu": "

The minimum and maximum amount of memory per vCPU for an instance type, in GiB.

Default: No minimum or maximum

" + } + }, + "MemoryMiBRequest": { + "base": "

Specifies the minimum and maximum for the MemoryMiB object when you specify InstanceRequirements for an Auto Scaling group.

", + "refs": { + "InstanceRequirements$MemoryMiB": "

The minimum and maximum instance memory size for an instance type, in MiB.

" + } + }, "MetricCollectionType": { "base": "

Describes a metric.

", "refs": { @@ -1266,16 +1404,16 @@ "MixedInstanceSpotPrice": { "base": null, "refs": { - "InstancesDistribution$SpotMaxPrice": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. If you leave the value at its default (empty), Amazon EC2 Auto Scaling uses the On-Demand price as the maximum Spot price. To remove a value that you previously set, include the property but specify an empty string (\"\") for the value.

" + "InstancesDistribution$SpotMaxPrice": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. If you keep the value at its default (unspecified), Amazon EC2 Auto Scaling uses the On-Demand price as the maximum Spot price. To remove a value that you previously set, include the property but specify an empty string (\"\") for the value.

" } }, "MixedInstancesPolicy": { - "base": "

Describes a mixed instances policy. A mixed instances policy contains the instance types Amazon EC2 Auto Scaling can launch, and other information Amazon EC2 Auto Scaling can use to launch instances to help you optimize your costs. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

", + "base": "

Describes a mixed instances policy. A mixed instances policy contains the instance types that Amazon EC2 Auto Scaling can launch and other information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

", "refs": { "AutoScalingGroup$MixedInstancesPolicy": "

The mixed instances policy for the group.

", - "CreateAutoScalingGroupType$MixedInstancesPolicy": "

An embedded object that specifies a mixed instances policy. The required properties must be specified. If optional properties are unspecified, their default values are used.

The policy includes properties that not only define the distribution of On-Demand Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities, but also the properties that specify the instance configuration information—the launch template and instance types. The policy can also include a weight for each instance type and different launch templates for individual instance types. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

", + "CreateAutoScalingGroupType$MixedInstancesPolicy": "

An embedded object that specifies a mixed instances policy.

For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

", "DesiredConfiguration$MixedInstancesPolicy": null, - "UpdateAutoScalingGroupType$MixedInstancesPolicy": "

An embedded object that specifies a mixed instances policy. When you make changes to an existing policy, all optional properties are left unchanged if not specified. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

" + "UpdateAutoScalingGroupType$MixedInstancesPolicy": "

An embedded object that specifies a mixed instances policy. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

" } }, "MonitoringEnabled": { @@ -1284,6 +1422,12 @@ "InstanceMonitoring$Enabled": "

If true, detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

" } }, + "NetworkInterfaceCountRequest": { + "base": "

Specifies the minimum and maximum for the NetworkInterfaceCount object when you specify InstanceRequirements for an Auto Scaling group.

", + "refs": { + "InstanceRequirements$NetworkInterfaceCount": "

The minimum and maximum number of network interfaces for an instance type.

Default: No minimum or maximum

" + } + }, "NoDevice": { "base": null, "refs": { @@ -1316,6 +1460,40 @@ "PutLifecycleHookType$NotificationTargetARN": "

The ARN of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. This target can be either an SQS queue or an SNS topic.

If you specify an empty string, this overrides the current ARN.

This operation uses the JSON format when sending notifications to an Amazon SQS queue, and an email key-value pair format when sending notifications to an Amazon SNS topic.

When you specify a notification target, Amazon EC2 Auto Scaling sends it a test message. Test messages contain the following additional key-value pair: \"Event\": \"autoscaling:TEST_NOTIFICATION\".

" } }, + "NullableBoolean": { + "base": null, + "refs": { + "InstanceRequirements$RequireHibernateSupport": "

Indicates whether instance types must provide On-Demand Instance hibernation support.

Default: false

" + } + }, + "NullablePositiveDouble": { + "base": null, + "refs": { + "MemoryGiBPerVCpuRequest$Min": "

The memory minimum in GiB.

", + "MemoryGiBPerVCpuRequest$Max": "

The memory maximum in GiB.

", + "TotalLocalStorageGBRequest$Min": "

The storage minimum in GB.

", + "TotalLocalStorageGBRequest$Max": "

The storage maximum in GB.

" + } + }, + "NullablePositiveInteger": { + "base": null, + "refs": { + "AcceleratorCountRequest$Min": "

The minimum value.

", + "AcceleratorCountRequest$Max": "

The maximum value.

", + "AcceleratorTotalMemoryMiBRequest$Min": "

The memory minimum in MiB.

", + "AcceleratorTotalMemoryMiBRequest$Max": "

The memory maximum in MiB.

", + "BaselineEbsBandwidthMbpsRequest$Min": "

The minimum value in Mbps.

", + "BaselineEbsBandwidthMbpsRequest$Max": "

The maximum value in Mbps.

", + "InstanceRequirements$SpotMaxPricePercentageOverLowestPrice": "

The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999.

Default: 100

", + "InstanceRequirements$OnDemandMaxPricePercentageOverLowestPrice": "

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999.

Default: 20

", + "MemoryMiBRequest$Min": "

The memory minimum in MiB.

", + "MemoryMiBRequest$Max": "

The memory maximum in MiB.

", + "NetworkInterfaceCountRequest$Min": "

The minimum number of network interfaces.

", + "NetworkInterfaceCountRequest$Max": "

The maximum number of network interfaces.

", + "VCpuCountRequest$Min": "

The minimum number of vCPUs.

", + "VCpuCountRequest$Max": "

The maximum number of vCPUs.

" + } + }, "NumberOfAutoScalingGroups": { "base": null, "refs": { @@ -1331,19 +1509,19 @@ "OnDemandBaseCapacity": { "base": null, "refs": { - "InstancesDistribution$OnDemandBaseCapacity": "

The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales. Defaults to 0 if not specified. If you specify weights for the instance types in the overrides, set the value of OnDemandBaseCapacity in terms of the number of capacity units, and not the number of instances.

" + "InstancesDistribution$OnDemandBaseCapacity": "

The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is launched first as your group scales.

If you specify weights for the instance types in the overrides, the base capacity is measured in the same unit of measurement as the instance types. If you specify InstanceRequirements in the overrides, the base capacity is measured in the same unit of measurement as your group's desired capacity.

Default: 0

" } }, "OnDemandPercentageAboveBaseCapacity": { "base": null, "refs": { - "InstancesDistribution$OnDemandPercentageAboveBaseCapacity": "

Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBaseCapacity. Expressed as a number (for example, 20 specifies 20% On-Demand Instances, 80% Spot Instances). Defaults to 100 if not specified. If set to 100, only On-Demand Instances are provisioned.

" + "InstancesDistribution$OnDemandPercentageAboveBaseCapacity": "

Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBaseCapacity. Expressed as a number (for example, 20 specifies 20% On-Demand Instances, 80% Spot Instances). If set to 100, only On-Demand Instances are used.

Default: 100

" } }, "Overrides": { "base": null, "refs": { - "LaunchTemplate$Overrides": "

Any properties that you specify override the same properties in the launch template. If not provided, Amazon EC2 Auto Scaling uses the instance type specified in the launch template when it launches an instance.

" + "LaunchTemplate$Overrides": "

Any properties that you specify override the same properties in the launch template. If not provided, Amazon EC2 Auto Scaling uses the instance type or instance type requirements specified in the launch template when it launches an instance.

The overrides can include either one or more instance types or a set of instance requirements, but not both.

" } }, "PoliciesType": { @@ -1738,7 +1916,7 @@ "SpotInstancePools": { "base": null, "refs": { - "InstancesDistribution$SpotInstancePools": "

The number of Spot Instance pools across which to allocate your Spot Instances. The Spot pools are determined from the different instance types in the overrides. Valid only when the Spot allocation strategy is lowest-price. Value must be in the range of 1 to 20. Defaults to 2 if not specified.

" + "InstancesDistribution$SpotInstancePools": "

The number of Spot Instance pools across which to allocate your Spot Instances. The Spot pools are determined from the different instance types in the overrides. Valid only when the Spot allocation strategy is lowest-price. Value must be in the range of 1–20.

Default: 2

" } }, "SpotPrice": { @@ -1884,15 +2062,27 @@ "ScheduledUpdateGroupActionRequest$EndTime": "

The date and time for the recurring schedule to end, in UTC.

" } }, + "TotalLocalStorageGBRequest": { + "base": "

Specifies the minimum and maximum for the TotalLocalStorageGB object when you specify InstanceRequirements for an Auto Scaling group.

", + "refs": { + "InstanceRequirements$TotalLocalStorageGB": "

The minimum and maximum total local storage size for an instance type, in GB.

Default: No minimum or maximum

" + } + }, "UpdateAutoScalingGroupType": { "base": null, "refs": { } }, + "VCpuCountRequest": { + "base": "

Specifies the minimum and maximum for the VCpuCount object when you specify InstanceRequirements for an Auto Scaling group.

", + "refs": { + "InstanceRequirements$VCpuCount": "

The minimum and maximum number of vCPUs for an instance type.

" + } + }, "Values": { "base": null, "refs": { - "Filter$Values": "

One or more filter values. Filter values are case-sensitive.

If you specify multiple values for a filter, the values are joined with an OR, and the request returns all results that match any of the specified values. For example, specify \"tag:environment\" for the filter name and \"production,development\" for the filter values to find Auto Scaling groups with the tag \"environment=production\" or \"environment=development\".

" + "Filter$Values": "

One or more filter values. Filter values are case-sensitive.

If you specify multiple values for a filter, the values are automatically logically joined with an OR, and the request returns all results that match any of the specified values. For example, specify \"tag:environment\" for the filter name and \"production,development\" for the filter values to find Auto Scaling groups with the tag \"environment=production\" or \"environment=development\".

" } }, "WarmPoolConfiguration": { @@ -1955,9 +2145,9 @@ "DescribeWarmPoolAnswer$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "DescribeWarmPoolType$NextToken": "

The token for the next set of instances to return. (You received this token from a previous call.)

", "FailedScheduledUpdateGroupActionRequest$ErrorMessage": "

The error message accompanying the error code.

", - "Filter$Name": "

The name of the filter.

The valid values for Name depend on the API operation that you are including the filter in, DescribeAutoScalingGroups or DescribeTags.

DescribeAutoScalingGroups

Valid values for Name include the following:

DescribeTags

Valid values for Name include the following:

", - "InstancesDistribution$OnDemandAllocationStrategy": "

Indicates how to allocate instance types to fulfill On-Demand capacity. The only valid value is prioritized, which is also the default value. This strategy uses the order of instance types in the LaunchTemplateOverrides to define the launch priority of each instance type. The first instance type in the array is prioritized higher than the last. If all your On-Demand capacity cannot be fulfilled using your highest priority instance, then the Auto Scaling groups launches the remaining capacity using the second priority instance type, and so on.

", - "InstancesDistribution$SpotAllocationStrategy": "

Indicates how to allocate instances across Spot Instance pools.

If the allocation strategy is lowest-price, the Auto Scaling group launches instances using the Spot pools with the lowest price, and evenly allocates your instances across the number of Spot pools that you specify. Defaults to lowest-price if not specified.

If the allocation strategy is capacity-optimized (recommended), the Auto Scaling group launches instances using Spot pools that are optimally chosen based on the available Spot capacity. Alternatively, you can use capacity-optimized-prioritized and set the order of instance types in the list of launch template overrides from highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best-effort basis but optimizes for capacity first.

", + "Filter$Name": "

The name of the filter.

The valid values for Name depend on which API operation you're using with the filter (DescribeAutoScalingGroups or DescribeTags).

DescribeAutoScalingGroups

Valid values for Name include the following:

DescribeTags

Valid values for Name include the following:

", + "InstancesDistribution$OnDemandAllocationStrategy": "

The order of the launch template overrides to use in fulfilling On-Demand capacity.

If you specify lowest-price, Amazon EC2 Auto Scaling uses price to determine the order, launching the lowest price first.

If you specify prioritized, Amazon EC2 Auto Scaling uses the priority that you assigned to each launch template override, launching the highest priority first. If all your On-Demand capacity cannot be fulfilled using your highest priority instance, then Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so on.

Default: lowest-price for Auto Scaling groups that specify InstanceRequirements in the overrides and prioritized for Auto Scaling groups that don't.

", + "InstancesDistribution$SpotAllocationStrategy": "

Indicates how to allocate instances across Spot Instance pools.

If the allocation strategy is lowest-price, the Auto Scaling group launches instances using the Spot pools with the lowest price, and evenly allocates your instances across the number of Spot pools that you specify.

If the allocation strategy is capacity-optimized (recommended), the Auto Scaling group launches instances using Spot pools that are optimally chosen based on the available Spot capacity. Alternatively, you can use capacity-optimized-prioritized and set the order of instance types in the list of launch template overrides from highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best-effort basis but optimizes for capacity first.

Default: lowest-price

", "LaunchConfigurationNamesType$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "LaunchConfigurationsType$NextToken": "

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

", "PoliciesType$NextToken": "

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

", @@ -2031,6 +2221,7 @@ "AutoScalingGroup$LaunchConfigurationName": "

The name of the associated launch configuration.

", "AutoScalingGroup$PlacementGroup": "

The name of the placement group into which to launch your instances, if any.

", "AutoScalingGroup$Status": "

The current state of the group when the DeleteAutoScalingGroup operation is in progress.

", + "AutoScalingGroup$DesiredCapacityType": "

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances.

Valid values: units | vcpu | memory-mib

", "AutoScalingGroupNames$member": null, "AutoScalingInstanceDetails$InstanceType": "

The instance type of the EC2 instance.

", "AutoScalingInstanceDetails$AutoScalingGroupName": "

The name of the Auto Scaling group for the instance.

", @@ -2048,6 +2239,7 @@ "CreateAutoScalingGroupType$AutoScalingGroupName": "

The name of the Auto Scaling group. This name must be unique per Region per account.

", "CreateAutoScalingGroupType$LaunchConfigurationName": "

The name of the launch configuration to use to launch instances.

Conditional: You must specify either a launch template (LaunchTemplate or MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or InstanceId).

", "CreateAutoScalingGroupType$PlacementGroup": "

The name of an existing placement group into which to launch your instances, if any. A placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a placement group. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.

", + "CreateAutoScalingGroupType$DesiredCapacityType": "

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances.

Valid values: units | vcpu | memory-mib

", "CreateLaunchConfigurationType$LaunchConfigurationName": "

The name of the launch configuration. This name must be unique per Region per account.

", "CreateLaunchConfigurationType$ImageId": "

The ID of the Amazon Machine Image (AMI) that was assigned during registration. For more information, see Finding an AMI in the Amazon EC2 User Guide for Linux Instances.

If you do not specify InstanceId, you must specify ImageId.

", "CreateLaunchConfigurationType$KeyName": "

The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon EC2 User Guide for Linux Instances.

", @@ -2158,7 +2350,8 @@ "SuspendedProcess$SuspensionReason": "

The reason that the process was suspended.

", "UpdateAutoScalingGroupType$AutoScalingGroupName": "

The name of the Auto Scaling group.

", "UpdateAutoScalingGroupType$LaunchConfigurationName": "

The name of the launch configuration. If you specify LaunchConfigurationName in your update request, you can't specify LaunchTemplate or MixedInstancesPolicy.

", - "UpdateAutoScalingGroupType$PlacementGroup": "

The name of an existing placement group into which to launch your instances, if any. A placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a placement group. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.

" + "UpdateAutoScalingGroupType$PlacementGroup": "

The name of an existing placement group into which to launch your instances, if any. A placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a placement group. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.

", + "UpdateAutoScalingGroupType$DesiredCapacityType": "

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances.

Valid values: units | vcpu | memory-mib

" } }, "XmlStringMaxLen32": { @@ -2171,7 +2364,7 @@ "CreateAutoScalingGroupType$HealthCheckType": "

The service to use for the health checks. The valid values are EC2 (default) and ELB. If you configure an Auto Scaling group to use load balancer (ELB) health checks, it considers the instance unhealthy if it fails either the EC2 status checks or the load balancer health checks. For more information, see Health checks for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

", "Instance$HealthStatus": "

The last reported health status of the instance. \"Healthy\" means that the instance is healthy and should remain in service. \"Unhealthy\" means that the instance is unhealthy and that Amazon EC2 Auto Scaling should terminate and replace it.

", "Instance$WeightedCapacity": "

The number of capacity units contributed by the instance based on its instance type.

Valid Range: Minimum value of 1. Maximum value of 999.

", - "LaunchTemplateOverrides$WeightedCapacity": "

The number of capacity units provided by the specified instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is provisioned, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling provisions instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the desired capacity is exceeded by 3 units. For more information, see Instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of 1 to 999.

", + "LaunchTemplateOverrides$WeightedCapacity": "

The number of capacity units provided by the instance type specified in InstanceType in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a WeightedCapacity of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see Instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of 1–999.

", "PutScalingPolicyType$MetricAggregationType": "

The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average.

Valid only if the policy type is StepScaling.

", "ScalingPolicy$MetricAggregationType": "

The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average.

", "SetInstanceHealthQuery$HealthStatus": "

The health status of the instance. Set to Healthy to have the instance remain in service. Set to Unhealthy to have the instance be out of service. Amazon EC2 Auto Scaling terminates and replaces the unhealthy instance.

", diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 8ca3154ec16..bd920c6cdfd 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -3099,6 +3099,15 @@ "input":{"shape":"GetHostReservationPurchasePreviewRequest"}, "output":{"shape":"GetHostReservationPurchasePreviewResult"} }, + "GetInstanceTypesFromInstanceRequirements":{ + "name":"GetInstanceTypesFromInstanceRequirements", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstanceTypesFromInstanceRequirementsRequest"}, + "output":{"shape":"GetInstanceTypesFromInstanceRequirementsResult"} + }, "GetLaunchTemplateData":{ "name":"GetLaunchTemplateData", "http":{ @@ -3153,6 +3162,15 @@ "input":{"shape":"GetSerialConsoleAccessStatusRequest"}, "output":{"shape":"GetSerialConsoleAccessStatusResult"} }, + "GetSpotPlacementScores":{ + "name":"GetSpotPlacementScores", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSpotPlacementScoresRequest"}, + "output":{"shape":"GetSpotPlacementScoresResult"} + }, "GetSubnetCidrReservations":{ "name":"GetSubnetCidrReservations", "http":{ @@ -4197,6 +4215,96 @@ } }, "shapes":{ + "AcceleratorCount":{ + "type":"structure", + "members":{ + "Min":{ + "shape":"Integer", + "locationName":"min" + }, + "Max":{ + "shape":"Integer", + "locationName":"max" + } + } + }, + "AcceleratorCountRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"Integer"}, + "Max":{"shape":"Integer"} + } + }, + "AcceleratorManufacturer":{ + "type":"string", + "enum":[ + "nvidia", + "amd", + "amazon-web-services", + "xilinx" + ] + }, + "AcceleratorManufacturerSet":{ + "type":"list", + "member":{ + "shape":"AcceleratorManufacturer", + "locationName":"item" + } + }, + "AcceleratorName":{ + "type":"string", + "enum":[ + "a100", + "v100", + "k80", + "t4", + "m60", + "radeon-pro-v520", + "vu9p" + ] + }, + "AcceleratorNameSet":{ + "type":"list", + "member":{ + "shape":"AcceleratorName", + "locationName":"item" + } + }, + "AcceleratorTotalMemoryMiB":{ + "type":"structure", + "members":{ + "Min":{ + "shape":"Integer", + "locationName":"min" + }, + "Max":{ + "shape":"Integer", + "locationName":"max" + } + } + }, + "AcceleratorTotalMemoryMiBRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"Integer"}, + "Max":{"shape":"Integer"} + } + }, + "AcceleratorType":{ + "type":"string", + "enum":[ + "gpu", + "fpga", + "inference" + ] + }, + "AcceleratorTypeSet":{ + "type":"list", + "member":{ + "shape":"AcceleratorType", + "locationName":"item" + } + }, "AcceptReservedInstancesExchangeQuoteRequest":{ "type":"structure", "required":["ReservedInstanceIds"], @@ -4969,6 +5077,15 @@ "locationName":"item" } }, + "ArchitectureTypeSet":{ + "type":"list", + "member":{ + "shape":"ArchitectureType", + "locationName":"item" + }, + "max":3, + "min":0 + }, "ArchitectureValues":{ "type":"string", "enum":[ @@ -5959,8 +6076,36 @@ "locationName":"item" } }, + "BareMetal":{ + "type":"string", + "enum":[ + "included", + "required", + "excluded" + ] + }, "BareMetalFlag":{"type":"boolean"}, "BaselineBandwidthInMbps":{"type":"integer"}, + "BaselineEbsBandwidthMbps":{ + "type":"structure", + "members":{ + "Min":{ + "shape":"Integer", + "locationName":"min" + }, + "Max":{ + "shape":"Integer", + "locationName":"max" + } + } + }, + "BaselineEbsBandwidthMbpsRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"Integer"}, + "Max":{"shape":"Integer"} + } + }, "BaselineIops":{"type":"integer"}, "BaselineThroughputInMBps":{"type":"double"}, "BatchState":{ @@ -6157,6 +6302,14 @@ "failed" ] }, + "BurstablePerformance":{ + "type":"string", + "enum":[ + "included", + "required", + "excluded" + ] + }, "BurstablePerformanceFlag":{"type":"boolean"}, "ByoipCidr":{ "type":"structure", @@ -7778,6 +7931,21 @@ "locationName":"item" } }, + "CpuManufacturer":{ + "type":"string", + "enum":[ + "intel", + "amd", + "amazon-web-services" + ] + }, + "CpuManufacturerSet":{ + "type":"list", + "member":{ + "shape":"CpuManufacturer", + "locationName":"item" + } + }, "CpuOptions":{ "type":"structure", "members":{ @@ -16868,6 +17036,21 @@ "default" ] }, + "ExcludedInstanceType":{ + "type":"string", + "max":30, + "min":1, + "pattern":"[a-zA-Z0-9\\.\\*]+" + }, + "ExcludedInstanceTypeSet":{ + "type":"list", + "member":{ + "shape":"ExcludedInstanceType", + "locationName":"item" + }, + "max":400, + "min":0 + }, "ExecutableByStringList":{ "type":"list", "member":{ @@ -17719,6 +17902,10 @@ "Placement":{ "shape":"PlacementResponse", "locationName":"placement" + }, + "InstanceRequirements":{ + "shape":"InstanceRequirements", + "locationName":"instanceRequirements" } } }, @@ -17745,7 +17932,8 @@ "AvailabilityZone":{"shape":"String"}, "WeightedCapacity":{"shape":"Double"}, "Priority":{"shape":"Double"}, - "Placement":{"shape":"Placement"} + "Placement":{"shape":"Placement"}, + "InstanceRequirements":{"shape":"InstanceRequirementsRequest"} } }, "FleetLaunchTemplateSpecification":{ @@ -18439,6 +18627,41 @@ } } }, + "GetInstanceTypesFromInstanceRequirementsRequest":{ + "type":"structure", + "required":[ + "ArchitectureTypes", + "VirtualizationTypes", + "InstanceRequirements" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "ArchitectureTypes":{ + "shape":"ArchitectureTypeSet", + "locationName":"ArchitectureType" + }, + "VirtualizationTypes":{ + "shape":"VirtualizationTypeSet", + "locationName":"VirtualizationType" + }, + "InstanceRequirements":{"shape":"InstanceRequirementsRequest"}, + "MaxResults":{"shape":"Integer"}, + "NextToken":{"shape":"String"} + } + }, + "GetInstanceTypesFromInstanceRequirementsResult":{ + "type":"structure", + "members":{ + "InstanceTypes":{ + "shape":"InstanceTypeInfoFromInstanceRequirementsSet", + "locationName":"instanceTypeSet" + }, + "NextToken":{ + "shape":"String", + "locationName":"nextToken" + } + } + }, "GetLaunchTemplateDataRequest":{ "type":"structure", "required":["InstanceId"], @@ -18607,6 +18830,40 @@ } } }, + "GetSpotPlacementScoresRequest":{ + "type":"structure", + "required":["TargetCapacity"], + "members":{ + "InstanceTypes":{ + "shape":"InstanceTypes", + "locationName":"InstanceType" + }, + "TargetCapacity":{"shape":"SpotPlacementScoresTargetCapacity"}, + "TargetCapacityUnitType":{"shape":"TargetCapacityUnitType"}, + "SingleAvailabilityZone":{"shape":"Boolean"}, + "RegionNames":{ + "shape":"RegionNames", + "locationName":"RegionName" + }, + "InstanceRequirementsWithMetadata":{"shape":"InstanceRequirementsWithMetadataRequest"}, + "DryRun":{"shape":"Boolean"}, + "MaxResults":{"shape":"SpotPlacementScoresMaxResults"}, + "NextToken":{"shape":"String"} + } + }, + "GetSpotPlacementScoresResult":{ + "type":"structure", + "members":{ + "SpotPlacementScores":{ + "shape":"SpotPlacementScores", + "locationName":"spotPlacementScoreSet" + }, + "NextToken":{ + "shape":"String", + "locationName":"nextToken" + } + } + }, "GetSubnetCidrReservationsMaxResults":{ "type":"integer", "max":1000, @@ -20852,6 +21109,20 @@ } } }, + "InstanceGeneration":{ + "type":"string", + "enum":[ + "current", + "previous" + ] + }, + "InstanceGenerationSet":{ + "type":"list", + "member":{ + "shape":"InstanceGeneration", + "locationName":"item" + } + }, "InstanceHealthStatus":{ "type":"string", "enum":[ @@ -21304,6 +21575,160 @@ "locationName":"item" } }, + "InstanceRequirements":{ + "type":"structure", + "members":{ + "VCpuCount":{ + "shape":"VCpuCountRange", + "locationName":"vCpuCount" + }, + "MemoryMiB":{ + "shape":"MemoryMiB", + "locationName":"memoryMiB" + }, + "CpuManufacturers":{ + "shape":"CpuManufacturerSet", + "locationName":"cpuManufacturerSet" + }, + "MemoryGiBPerVCpu":{ + "shape":"MemoryGiBPerVCpu", + "locationName":"memoryGiBPerVCpu" + }, + "ExcludedInstanceTypes":{ + "shape":"ExcludedInstanceTypeSet", + "locationName":"excludedInstanceTypeSet" + }, + "InstanceGenerations":{ + "shape":"InstanceGenerationSet", + "locationName":"instanceGenerationSet" + }, + "SpotMaxPricePercentageOverLowestPrice":{ + "shape":"Integer", + "locationName":"spotMaxPricePercentageOverLowestPrice" + }, + "OnDemandMaxPricePercentageOverLowestPrice":{ + "shape":"Integer", + "locationName":"onDemandMaxPricePercentageOverLowestPrice" + }, + "BareMetal":{ + "shape":"BareMetal", + "locationName":"bareMetal" + }, + "BurstablePerformance":{ + "shape":"BurstablePerformance", + "locationName":"burstablePerformance" + }, + "RequireHibernateSupport":{ + "shape":"Boolean", + "locationName":"requireHibernateSupport" + }, + "NetworkInterfaceCount":{ + "shape":"NetworkInterfaceCount", + "locationName":"networkInterfaceCount" + }, + "LocalStorage":{ + "shape":"LocalStorage", + "locationName":"localStorage" + }, + "LocalStorageTypes":{ + "shape":"LocalStorageTypeSet", + "locationName":"localStorageTypeSet" + }, + "TotalLocalStorageGB":{ + "shape":"TotalLocalStorageGB", + "locationName":"totalLocalStorageGB" + }, + "BaselineEbsBandwidthMbps":{ + "shape":"BaselineEbsBandwidthMbps", + "locationName":"baselineEbsBandwidthMbps" + }, + "AcceleratorTypes":{ + "shape":"AcceleratorTypeSet", + "locationName":"acceleratorTypeSet" + }, + "AcceleratorCount":{ + "shape":"AcceleratorCount", + "locationName":"acceleratorCount" + }, + "AcceleratorManufacturers":{ + "shape":"AcceleratorManufacturerSet", + "locationName":"acceleratorManufacturerSet" + }, + "AcceleratorNames":{ + "shape":"AcceleratorNameSet", + "locationName":"acceleratorNameSet" + }, + "AcceleratorTotalMemoryMiB":{ + "shape":"AcceleratorTotalMemoryMiB", + "locationName":"acceleratorTotalMemoryMiB" + } + } + }, + "InstanceRequirementsRequest":{ + "type":"structure", + "required":[ + "VCpuCount", + "MemoryMiB" + ], + "members":{ + "VCpuCount":{"shape":"VCpuCountRangeRequest"}, + "MemoryMiB":{"shape":"MemoryMiBRequest"}, + "CpuManufacturers":{ + "shape":"CpuManufacturerSet", + "locationName":"CpuManufacturer" + }, + "MemoryGiBPerVCpu":{"shape":"MemoryGiBPerVCpuRequest"}, + "ExcludedInstanceTypes":{ + "shape":"ExcludedInstanceTypeSet", + "locationName":"ExcludedInstanceType" + }, + "InstanceGenerations":{ + "shape":"InstanceGenerationSet", + "locationName":"InstanceGeneration" + }, + "SpotMaxPricePercentageOverLowestPrice":{"shape":"Integer"}, + "OnDemandMaxPricePercentageOverLowestPrice":{"shape":"Integer"}, + "BareMetal":{"shape":"BareMetal"}, + "BurstablePerformance":{"shape":"BurstablePerformance"}, + "RequireHibernateSupport":{"shape":"Boolean"}, + "NetworkInterfaceCount":{"shape":"NetworkInterfaceCountRequest"}, + "LocalStorage":{"shape":"LocalStorage"}, + "LocalStorageTypes":{ + "shape":"LocalStorageTypeSet", + "locationName":"LocalStorageType" + }, + "TotalLocalStorageGB":{"shape":"TotalLocalStorageGBRequest"}, + "BaselineEbsBandwidthMbps":{"shape":"BaselineEbsBandwidthMbpsRequest"}, + "AcceleratorTypes":{ + "shape":"AcceleratorTypeSet", + "locationName":"AcceleratorType" + }, + "AcceleratorCount":{"shape":"AcceleratorCountRequest"}, + "AcceleratorManufacturers":{ + "shape":"AcceleratorManufacturerSet", + "locationName":"AcceleratorManufacturer" + }, + "AcceleratorNames":{ + "shape":"AcceleratorNameSet", + "locationName":"AcceleratorName" + }, + "AcceleratorTotalMemoryMiB":{"shape":"AcceleratorTotalMemoryMiBRequest"} + } + }, + "InstanceRequirementsWithMetadataRequest":{ + "type":"structure", + "members":{ + "ArchitectureTypes":{ + "shape":"ArchitectureTypeSet", + "locationName":"ArchitectureType" + }, + "VirtualizationTypes":{ + "shape":"VirtualizationTypeSet", + "locationName":"VirtualizationType" + }, + "InstanceRequirements":{"shape":"InstanceRequirementsRequest"} + } + }, "InstanceSpecification":{ "type":"structure", "members":{ @@ -22054,6 +22479,22 @@ } } }, + "InstanceTypeInfoFromInstanceRequirements":{ + "type":"structure", + "members":{ + "InstanceType":{ + "shape":"String", + "locationName":"instanceType" + } + } + }, + "InstanceTypeInfoFromInstanceRequirementsSet":{ + "type":"list", + "member":{ + "shape":"InstanceTypeInfoFromInstanceRequirements", + "locationName":"item" + } + }, "InstanceTypeInfoList":{ "type":"list", "member":{ @@ -22089,6 +22530,12 @@ "locationName":"item" } }, + "InstanceTypes":{ + "type":"list", + "member":{"shape":"String"}, + "max":1000, + "min":0 + }, "InstanceUsage":{ "type":"structure", "members":{ @@ -23264,6 +23711,10 @@ "Priority":{ "shape":"Double", "locationName":"priority" + }, + "InstanceRequirements":{ + "shape":"InstanceRequirements", + "locationName":"instanceRequirements" } } }, @@ -23921,6 +24372,28 @@ "locationName":"item" } }, + "LocalStorage":{ + "type":"string", + "enum":[ + "included", + "required", + "excluded" + ] + }, + "LocalStorageType":{ + "type":"string", + "enum":[ + "hdd", + "ssd" + ] + }, + "LocalStorageTypeSet":{ + "type":"list", + "member":{ + "shape":"LocalStorageType", + "locationName":"item" + } + }, "Location":{"type":"string"}, "LocationType":{ "type":"string", @@ -24010,6 +24483,26 @@ "igmp" ] }, + "MemoryGiBPerVCpu":{ + "type":"structure", + "members":{ + "Min":{ + "shape":"Double", + "locationName":"min" + }, + "Max":{ + "shape":"Double", + "locationName":"max" + } + } + }, + "MemoryGiBPerVCpuRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"Double"}, + "Max":{"shape":"Double"} + } + }, "MemoryInfo":{ "type":"structure", "members":{ @@ -24019,6 +24512,27 @@ } } }, + "MemoryMiB":{ + "type":"structure", + "members":{ + "Min":{ + "shape":"Integer", + "locationName":"min" + }, + "Max":{ + "shape":"Integer", + "locationName":"max" + } + } + }, + "MemoryMiBRequest":{ + "type":"structure", + "required":["Min"], + "members":{ + "Min":{"shape":"Integer"}, + "Max":{"shape":"Integer"} + } + }, "MemorySize":{"type":"long"}, "MillisecondDateTime":{"type":"timestamp"}, "ModifyAddressAttributeRequest":{ @@ -24096,7 +24610,8 @@ "EndDate":{"shape":"DateTime"}, "EndDateType":{"shape":"EndDateType"}, "Accept":{"shape":"Boolean"}, - "DryRun":{"shape":"Boolean"} + "DryRun":{"shape":"Boolean"}, + "AdditionalInfo":{"shape":"String"} } }, "ModifyCapacityReservationResult":{ @@ -25979,6 +26494,26 @@ "attachment" ] }, + "NetworkInterfaceCount":{ + "type":"structure", + "members":{ + "Min":{ + "shape":"Integer", + "locationName":"min" + }, + "Max":{ + "shape":"Integer", + "locationName":"max" + } + } + }, + "NetworkInterfaceCountRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"Integer"}, + "Max":{"shape":"Integer"} + } + }, "NetworkInterfaceCreationType":{ "type":"string", "enum":[ @@ -27550,6 +28085,12 @@ "locationName":"RegionName" } }, + "RegionNames":{ + "type":"list", + "member":{"shape":"String"}, + "max":10, + "min":0 + }, "RegisterImageRequest":{ "type":"structure", "required":["Name"], @@ -28227,7 +28768,8 @@ }, "HibernationOptions":{"shape":"LaunchTemplateHibernationOptionsRequest"}, "MetadataOptions":{"shape":"LaunchTemplateInstanceMetadataOptionsRequest"}, - "EnclaveOptions":{"shape":"LaunchTemplateEnclaveOptionsRequest"} + "EnclaveOptions":{"shape":"LaunchTemplateEnclaveOptionsRequest"}, + "InstanceRequirements":{"shape":"InstanceRequirementsRequest"} } }, "RequestSpotFleetRequest":{ @@ -29218,6 +29760,10 @@ "EnclaveOptions":{ "shape":"LaunchTemplateEnclaveOptions", "locationName":"enclaveOptions" + }, + "InstanceRequirements":{ + "shape":"InstanceRequirements", + "locationName":"instanceRequirements" } } }, @@ -30975,6 +31521,10 @@ "TagSpecifications":{ "shape":"SpotFleetTagSpecificationList", "locationName":"tagSpecificationSet" + }, + "InstanceRequirements":{ + "shape":"InstanceRequirements", + "locationName":"instanceRequirements" } } }, @@ -31119,6 +31669,10 @@ "shape":"String", "locationName":"context" }, + "TargetCapacityUnitType":{ + "shape":"TargetCapacityUnitType", + "locationName":"targetCapacityUnitType" + }, "TagSpecifications":{ "shape":"TagSpecificationList", "locationName":"TagSpecification" @@ -31397,6 +31951,40 @@ } } }, + "SpotPlacementScore":{ + "type":"structure", + "members":{ + "Region":{ + "shape":"String", + "locationName":"region" + }, + "AvailabilityZoneId":{ + "shape":"String", + "locationName":"availabilityZoneId" + }, + "Score":{ + "shape":"Integer", + "locationName":"score" + } + } + }, + "SpotPlacementScores":{ + "type":"list", + "member":{ + "shape":"SpotPlacementScore", + "locationName":"item" + } + }, + "SpotPlacementScoresMaxResults":{ + "type":"integer", + "max":1000, + "min":10 + }, + "SpotPlacementScoresTargetCapacity":{ + "type":"integer", + "max":2000000000, + "min":1 + }, "SpotPrice":{ "type":"structure", "members":{ @@ -32061,6 +32649,10 @@ "DefaultTargetCapacityType":{ "shape":"DefaultTargetCapacityType", "locationName":"defaultTargetCapacityType" + }, + "TargetCapacityUnitType":{ + "shape":"TargetCapacityUnitType", + "locationName":"targetCapacityUnitType" } } }, @@ -32071,9 +32663,18 @@ "TotalTargetCapacity":{"shape":"Integer"}, "OnDemandTargetCapacity":{"shape":"Integer"}, "SpotTargetCapacity":{"shape":"Integer"}, - "DefaultTargetCapacityType":{"shape":"DefaultTargetCapacityType"} + "DefaultTargetCapacityType":{"shape":"DefaultTargetCapacityType"}, + "TargetCapacityUnitType":{"shape":"TargetCapacityUnitType"} } }, + "TargetCapacityUnitType":{ + "type":"string", + "enum":[ + "vcpu", + "memory-mib", + "units" + ] + }, "TargetConfiguration":{ "type":"structure", "members":{ @@ -32282,6 +32883,26 @@ "locationName":"item" } }, + "TotalLocalStorageGB":{ + "type":"structure", + "members":{ + "Min":{ + "shape":"Double", + "locationName":"min" + }, + "Max":{ + "shape":"Double", + "locationName":"max" + } + } + }, + "TotalLocalStorageGBRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"Double"}, + "Max":{"shape":"Double"} + } + }, "TrafficDirection":{ "type":"string", "enum":[ @@ -34175,6 +34796,27 @@ } }, "VCpuCount":{"type":"integer"}, + "VCpuCountRange":{ + "type":"structure", + "members":{ + "Min":{ + "shape":"Integer", + "locationName":"min" + }, + "Max":{ + "shape":"Integer", + "locationName":"max" + } + } + }, + "VCpuCountRangeRequest":{ + "type":"structure", + "required":["Min"], + "members":{ + "Min":{"shape":"Integer"}, + "Max":{"shape":"Integer"} + } + }, "VCpuInfo":{ "type":"structure", "members":{ @@ -34291,6 +34933,15 @@ "locationName":"item" } }, + "VirtualizationTypeSet":{ + "type":"list", + "member":{ + "shape":"VirtualizationType", + "locationName":"item" + }, + "max":2, + "min":0 + }, "Volume":{ "type":"structure", "members":{ diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 3c53b87ea2c..5532c648f52 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -349,12 +349,14 @@ "GetFlowLogsIntegrationTemplate": "

Generates a CloudFormation template that streamlines and automates the integration of VPC flow logs with Amazon Athena. This make it easier for you to query and gain insights from VPC flow logs data. Based on the information that you provide, we configure resources in the template to do the following:

", "GetGroupsForCapacityReservation": "

Lists the resource groups to which a Capacity Reservation has been added.

", "GetHostReservationPurchasePreview": "

Preview a reservation purchase with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation.

This is a preview of the PurchaseHostReservation action and does not result in the offering being purchased.

", + "GetInstanceTypesFromInstanceRequirements": "

Returns a list of instance types with the specified instance attributes. You can use the response to preview the instance types without launching instances. Note that the response does not consider capacity.

When you specify multiple parameters, you get instance types that satisfy all of the specified parameters. If you specify multiple values for a parameter, you get instance types that satisfy any of the specified values.

For more information, see Preview instance types with specified attributes, Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide, and Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

", "GetLaunchTemplateData": "

Retrieves the configuration data of the specified instance. You can use this data to create a launch template.

This action calls on other describe actions to get instance information. Depending on your instance configuration, you may need to allow the following actions in your IAM policy: DescribeSpotInstanceRequests, DescribeInstanceCreditSpecifications, DescribeVolumes, DescribeInstanceAttribute, and DescribeElasticGpus. Or, you can allow describe* depending on your instance requirements.

", "GetManagedPrefixListAssociations": "

Gets information about the resources that are associated with the specified managed prefix list.

", "GetManagedPrefixListEntries": "

Gets information about the entries for a specified managed prefix list.

", "GetPasswordData": "

Retrieves the encrypted administrator password for a running Windows instance.

The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon EC2 User Guide.

For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

", "GetReservedInstancesExchangeQuote": "

Returns a quote and exchange information for exchanging one or more specified Convertible Reserved Instances for a new Convertible Reserved Instance. If the exchange cannot be performed, the reason is returned in the response. Use AcceptReservedInstancesExchangeQuote to perform the exchange.

", "GetSerialConsoleAccessStatus": "

Retrieves the access status of your account to the EC2 serial console of all instances. By default, access to the EC2 serial console is disabled for your account. For more information, see Manage account access to the EC2 serial console in the Amazon EC2 User Guide.

", + "GetSpotPlacementScores": "

Calculates the Spot placement score for a Region or Availability Zone based on the specified target capacity and compute requirements.

You can specify your compute requirements either by using InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal instance types to fulfill your Spot request, or you can specify the instance types by using InstanceTypes.

For more information, see Spot placement score in the Amazon EC2 User Guide.

", "GetSubnetCidrReservations": "

Gets information about the subnet CIDR reservations.

", "GetTransitGatewayAttachmentPropagations": "

Lists the route tables to which the specified resource attachment propagates routes.

", "GetTransitGatewayMulticastDomainAssociations": "

Gets information about the associations for the transit gateway multicast domain.

", @@ -475,6 +477,69 @@ "WithdrawByoipCidr": "

Stops advertising an address range that is provisioned as an address pool.

You can perform this operation at most once every 10 seconds, even if you specify different address ranges each time.

It can take a few minutes before traffic to the specified addresses stops routing to Amazon Web Services because of BGP propagation delays.

" }, "shapes": { + "AcceleratorCount": { + "base": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an instance.

", + "refs": { + "InstanceRequirements$AcceleratorCount": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an instance.

To exclude accelerator-enabled instance types, set Max to 0.

Default: No minimum or maximum limits

" + } + }, + "AcceleratorCountRequest": { + "base": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an instance. To exclude accelerator-enabled instance types, set Max to 0.

", + "refs": { + "InstanceRequirementsRequest$AcceleratorCount": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an instance.

To exclude accelerator-enabled instance types, set Max to 0.

Default: No minimum or maximum limits

" + } + }, + "AcceleratorManufacturer": { + "base": null, + "refs": { + "AcceleratorManufacturerSet$member": null + } + }, + "AcceleratorManufacturerSet": { + "base": null, + "refs": { + "InstanceRequirements$AcceleratorManufacturers": "

Indicates whether instance types must have accelerators by specific manufacturers.

Default: Any manufacturer

", + "InstanceRequirementsRequest$AcceleratorManufacturers": "

Indicates whether instance types must have accelerators by specific manufacturers.

Default: Any manufacturer

" + } + }, + "AcceleratorName": { + "base": null, + "refs": { + "AcceleratorNameSet$member": null + } + }, + "AcceleratorNameSet": { + "base": null, + "refs": { + "InstanceRequirements$AcceleratorNames": "

The accelerators that must be on the instance type.

Default: Any accelerator

", + "InstanceRequirementsRequest$AcceleratorNames": "

The accelerators that must be on the instance type.

Default: Any accelerator

" + } + }, + "AcceleratorTotalMemoryMiB": { + "base": "

The minimum and maximum amount of total accelerator memory, in MiB.

", + "refs": { + "InstanceRequirements$AcceleratorTotalMemoryMiB": "

The minimum and maximum amount of total accelerator memory, in MiB.

Default: No minimum or maximum limits

" + } + }, + "AcceleratorTotalMemoryMiBRequest": { + "base": "

The minimum and maximum amount of total accelerator memory, in MiB.

", + "refs": { + "InstanceRequirementsRequest$AcceleratorTotalMemoryMiB": "

The minimum and maximum amount of total accelerator memory, in MiB.

Default: No minimum or maximum limits

" + } + }, + "AcceleratorType": { + "base": null, + "refs": { + "AcceleratorTypeSet$member": null + } + }, + "AcceleratorTypeSet": { + "base": null, + "refs": { + "InstanceRequirements$AcceleratorTypes": "

The accelerator types that must be on the instance type.

Default: Any accelerator type

", + "InstanceRequirementsRequest$AcceleratorTypes": "

The accelerator types that must be on the instance type.

Default: Any accelerator type

" + } + }, "AcceptReservedInstancesExchangeQuoteRequest": { "base": "

Contains the parameters for accepting the quote.

", "refs": { @@ -854,7 +919,8 @@ "ArchitectureType": { "base": null, "refs": { - "ArchitectureTypeList$member": null + "ArchitectureTypeList$member": null, + "ArchitectureTypeSet$member": null } }, "ArchitectureTypeList": { @@ -863,6 +929,13 @@ "ProcessorInfo$SupportedArchitectures": "

The architectures supported by the instance type.

" } }, + "ArchitectureTypeSet": { + "base": null, + "refs": { + "GetInstanceTypesFromInstanceRequirementsRequest$ArchitectureTypes": "

The processor architecture type.

", + "InstanceRequirementsWithMetadataRequest$ArchitectureTypes": "

The architecture type.

" + } + }, "ArchitectureValues": { "base": null, "refs": { @@ -1314,6 +1387,13 @@ "AvailableCapacity$AvailableInstanceCapacity": "

The number of instances that can be launched onto the Dedicated Host depending on the host's available capacity. For Dedicated Hosts that support multiple instance types, this parameter represents the number of instances for each instance size that is supported on the host.

" } }, + "BareMetal": { + "base": null, + "refs": { + "InstanceRequirements$BareMetal": "

Indicates whether bare metal instance types must be included, excluded, or required.

Default: excluded

", + "InstanceRequirementsRequest$BareMetal": "

Indicates whether bare metal instance types must be included, excluded, or required.

Default: excluded

" + } + }, "BareMetalFlag": { "base": null, "refs": { @@ -1326,6 +1406,18 @@ "EbsOptimizedInfo$BaselineBandwidthInMbps": "

The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

" } }, + "BaselineEbsBandwidthMbps": { + "base": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide.

", + "refs": { + "InstanceRequirements$BaselineEbsBandwidthMbps": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide.

Default: No minimum or maximum limits

" + } + }, + "BaselineEbsBandwidthMbpsRequest": { + "base": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide.

", + "refs": { + "InstanceRequirementsRequest$BaselineEbsBandwidthMbps": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide.

Default: No minimum or maximum limits

" + } + }, "BaselineIops": { "base": null, "refs": { @@ -1804,6 +1896,7 @@ "GetEbsEncryptionByDefaultResult$EbsEncryptionByDefault": "

Indicates whether encryption by default is enabled.

", "GetFlowLogsIntegrationTemplateRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetGroupsForCapacityReservationRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "GetInstanceTypesFromInstanceRequirementsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetLaunchTemplateDataRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetManagedPrefixListAssociationsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetManagedPrefixListEntriesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -1812,6 +1905,8 @@ "GetReservedInstancesExchangeQuoteResult$IsValidExchange": "

If true, the exchange is valid. If false, the exchange cannot be completed.

", "GetSerialConsoleAccessStatusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetSerialConsoleAccessStatusResult$SerialConsoleAccessEnabled": "

If true, access to the EC2 serial console of all instances is enabled for your account. If false, access to the EC2 serial console of all instances is disabled for your account.

", + "GetSpotPlacementScoresRequest$SingleAvailabilityZone": "

Specify true so that the response returns a list of scored Availability Zones. Otherwise, the response returns a list of scored Regions.

A list of scored Availability Zones is useful if you want to launch all of your Spot capacity into a single Availability Zone.

", + "GetSpotPlacementScoresRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetSubnetCidrReservationsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetTransitGatewayAttachmentPropagationsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetTransitGatewayMulticastDomainAssociationsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -1847,6 +1942,8 @@ "InstanceNetworkInterfaceSpecification$DeleteOnTermination": "

If set to true, the interface is deleted when the instance is terminated. You can specify true only if creating a new network interface when launching an instance.

", "InstanceNetworkInterfaceSpecification$AssociateCarrierIpAddress": "

Indicates whether to assign a carrier IP address to the network interface.

You can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP addresses in the Amazon Web Services Wavelength Developer Guide.

", "InstancePrivateIpAddress$Primary": "

Indicates whether this IPv4 address is the primary private IP address of the network interface.

", + "InstanceRequirements$RequireHibernateSupport": "

Indicates whether instance types must support hibernation for On-Demand Instances.

This parameter is not supported for GetSpotPlacementScores.

Default: false

", + "InstanceRequirementsRequest$RequireHibernateSupport": "

Indicates whether instance types must support hibernation for On-Demand Instances.

This parameter is not supported for GetSpotPlacementScores.

Default: false

", "InstanceSpecification$ExcludeBootVolume": "

Excludes the root volume from being snapshotted.

", "InstanceTagNotificationAttribute$IncludeAllTagsOfInstance": "

Indicates wheter all tag keys in the current Region are registered to appear in scheduled event notifications. true indicates that all tag keys in the current Region are registered.

", "LaunchSpecification$EbsOptimized": "

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

", @@ -2157,6 +2254,13 @@ "BundleTask$State": "

The state of the task.

" } }, + "BurstablePerformance": { + "base": null, + "refs": { + "InstanceRequirements$BurstablePerformance": "

Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see Burstable performance instances.

Default: excluded

", + "InstanceRequirementsRequest$BurstablePerformance": "

Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see Burstable performance instances.

Default: excluded

" + } + }, "BurstablePerformanceFlag": { "base": null, "refs": { @@ -3022,6 +3126,19 @@ "VCpuInfo$ValidCores": "

The valid number of cores that can be configured for the instance type.

" } }, + "CpuManufacturer": { + "base": null, + "refs": { + "CpuManufacturerSet$member": null + } + }, + "CpuManufacturerSet": { + "base": null, + "refs": { + "InstanceRequirements$CpuManufacturers": "

The CPU manufacturers to include.

Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.

Default: Any manufacturer

", + "InstanceRequirementsRequest$CpuManufacturers": "

The CPU manufacturers to include.

Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.

Default: Any manufacturer

" + } + }, "CpuOptions": { "base": "

The CPU options for the instance.

", "refs": { @@ -6556,6 +6673,10 @@ "FleetLaunchTemplateOverridesRequest$Priority": "

The priority for the launch template override. The highest priority is launched first.

If the On-Demand AllocationStrategy is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.

If the Spot AllocationStrategy is set to capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.

Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.

", "LaunchTemplateOverrides$WeightedCapacity": "

The number of units provided by the specified instance type.

", "LaunchTemplateOverrides$Priority": "

The priority for the launch template override. The highest priority is launched first.

If OnDemandAllocationStrategy is set to prioritized, Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.

If the Spot AllocationStrategy is set to capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.

Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.

", + "MemoryGiBPerVCpu$Min": "

The minimum amount of memory per vCPU, in GiB. If this parameter is not specified, there is no minimum limit.

", + "MemoryGiBPerVCpu$Max": "

The maximum amount of memory per vCPU, in GiB. If this parameter is not specified, there is no maximum limit.

", + "MemoryGiBPerVCpuRequest$Min": "

The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.

", + "MemoryGiBPerVCpuRequest$Max": "

The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.

", "PriceSchedule$Price": "

The fixed price for the term.

", "PriceScheduleSpecification$Price": "

The fixed price for the term.

", "PricingDetail$Price": "

The price per instance.

", @@ -6565,7 +6686,11 @@ "SnapshotTaskDetail$DiskImageSize": "

The size of the disk in the snapshot, in GiB.

", "SpotFleetLaunchSpecification$WeightedCapacity": "

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

", "SpotFleetRequestConfigData$FulfilledCapacity": "

The number of units fulfilled by this request compared to the set target capacity. You cannot set this value.

", - "SpotFleetRequestConfigData$OnDemandFulfilledCapacity": "

The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.

" + "SpotFleetRequestConfigData$OnDemandFulfilledCapacity": "

The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.

", + "TotalLocalStorageGB$Min": "

The minimum amount of total local storage, in GB. If this parameter is not specified, there is no minimum limit.

", + "TotalLocalStorageGB$Max": "

The maximum amount of total local storage, in GB. If this parameter is not specified, there is no maximum limit.

", + "TotalLocalStorageGBRequest$Min": "

The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.

", + "TotalLocalStorageGBRequest$Max": "

The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.

" } }, "DoubleWithConstraints": { @@ -6985,6 +7110,19 @@ "SpotFleetRequestConfigData$ExcessCapacityTerminationPolicy": "

Indicates whether running Spot Instances should be terminated if you decrease the target capacity of the Spot Fleet request below the current size of the Spot Fleet.

" } }, + "ExcludedInstanceType": { + "base": null, + "refs": { + "ExcludedInstanceTypeSet$member": null + } + }, + "ExcludedInstanceTypeSet": { + "base": null, + "refs": { + "InstanceRequirements$ExcludedInstanceTypes": "

The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*.*, Amazon EC2 will exclude the entire C5 instance family (all C5a and C5n instance types). If you specify c5a.*, Amazon EC2 excludes all the C5a instance types, but does not exclude the C5n instance types.

Default: No excluded instance types

", + "InstanceRequirementsRequest$ExcludedInstanceTypes": "

The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance family, type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*.*, Amazon EC2 will exclude the entire C5 instance family (all C5a and C5n instance types). If you specify c5a.*, Amazon EC2 excludes all the C5a instance types, but does not exclude the C5n instance types.

Default: No excluded instance types

" + } + }, "ExecutableByStringList": { "base": null, "refs": { @@ -7225,7 +7363,7 @@ "DescribeInstanceStatusRequest$Filters": "

The filters.

", "DescribeInstanceTypeOfferingsRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", "DescribeInstanceTypesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", - "DescribeInstancesRequest$Filters": "

The filters.

", + "DescribeInstancesRequest$Filters": "

The filters.

", "DescribeInternetGatewaysRequest$Filters": "

One or more filters.

", "DescribeIpv6PoolsRequest$Filters": "

One or more filters.

", "DescribeKeyPairsRequest$Filters": "

The filters.

", @@ -7814,6 +7952,16 @@ "refs": { } }, + "GetInstanceTypesFromInstanceRequirementsRequest": { + "base": null, + "refs": { + } + }, + "GetInstanceTypesFromInstanceRequirementsResult": { + "base": null, + "refs": { + } + }, "GetLaunchTemplateDataRequest": { "base": null, "refs": { @@ -7880,6 +8028,16 @@ "refs": { } }, + "GetSpotPlacementScoresRequest": { + "base": null, + "refs": { + } + }, + "GetSpotPlacementScoresResult": { + "base": null, + "refs": { + } + }, "GetSubnetCidrReservationsMaxResults": { "base": null, "refs": { @@ -8805,6 +8963,19 @@ "ModifyDefaultCreditSpecificationResult$InstanceFamilyCreditSpecification": "

The default credit option for CPU usage of the instance family.

" } }, + "InstanceGeneration": { + "base": null, + "refs": { + "InstanceGenerationSet$member": null + } + }, + "InstanceGenerationSet": { + "base": null, + "refs": { + "InstanceRequirements$InstanceGenerations": "

Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see Instance types in the Amazon EC2 User Guide.

For current generation instance types, specify current.

For previous generation instance types, specify previous.

Default: Current and previous generation instance types

", + "InstanceRequirementsRequest$InstanceGenerations": "

Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see Instance types in the Amazon EC2 User Guide.

For current generation instance types, specify current.

For previous generation instance types, specify previous.

Default: Current and previous generation instance types

" + } + }, "InstanceHealthStatus": { "base": null, "refs": { @@ -9083,6 +9254,30 @@ "InstanceNetworkInterface$PrivateIpAddresses": "

One or more private IPv4 addresses associated with the network interface.

" } }, + "InstanceRequirements": { + "base": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

When you specify multiple parameters, you get instance types that satisfy all of the specified parameters. If you specify multiple values for a parameter, you get instance types that satisfy any of the specified values.

You must specify VCpuCount and MemoryMiB. All other parameters are optional. Any unspecified optional parameter is set to its default.

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide.

", + "refs": { + "FleetLaunchTemplateOverrides$InstanceRequirements": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirements, you can't specify InstanceTypes.

", + "LaunchTemplateOverrides$InstanceRequirements": "

The instance requirements. When you specify instance requirements, Amazon EC2 will identify instance types with the provided requirements, and then use your On-Demand and Spot allocation strategies to launch instances from these instance types, in the same way as when you specify a list of instance types.

If you specify InstanceRequirements, you can't specify InstanceTypes.

", + "ResponseLaunchTemplateData$InstanceRequirements": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

If you specify InstanceRequirements, you can't specify InstanceTypes.

", + "SpotFleetLaunchSpecification$InstanceRequirements": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirements, you can't specify InstanceTypes.

" + } + }, + "InstanceRequirementsRequest": { + "base": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

When you specify multiple parameters, you get instance types that satisfy all of the specified parameters. If you specify multiple values for a parameter, you get instance types that satisfy any of the specified values.

You must specify VCpuCount and MemoryMiB. All other parameters are optional. Any unspecified optional parameter is set to its default.

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide.

", + "refs": { + "FleetLaunchTemplateOverridesRequest$InstanceRequirements": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirements, you can't specify InstanceTypes.

", + "GetInstanceTypesFromInstanceRequirementsRequest$InstanceRequirements": "

The attributes required for the instance types.

", + "InstanceRequirementsWithMetadataRequest$InstanceRequirements": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

", + "RequestLaunchTemplateData$InstanceRequirements": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

If you specify InstanceRequirements, you can't specify InstanceTypes.

" + } + }, + "InstanceRequirementsWithMetadataRequest": { + "base": "

The architecture type, virtualization type, and other attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirementsWithMetadataRequest, you can't specify InstanceTypes.

", + "refs": { + "GetSpotPlacementScoresRequest$InstanceRequirementsWithMetadata": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirementsWithMetadata, you can't specify InstanceTypes.

" + } + }, "InstanceSpecification": { "base": "

The instance details to specify which volumes should be snapshotted.

", "refs": { @@ -9203,8 +9398,8 @@ "DescribeFleetsInstances$InstanceType": "

The instance type.

", "DescribeReservedInstancesOfferingsRequest$InstanceType": "

The instance type that the reservation will cover (for example, m1.small). For more information, see Instance types in the Amazon EC2 User Guide.

", "FleetCapacityReservation$InstanceType": "

The instance type for which the Capacity Reservation reserves capacity.

", - "FleetLaunchTemplateOverrides$InstanceType": "

The instance type.

", - "FleetLaunchTemplateOverridesRequest$InstanceType": "

The instance type.

", + "FleetLaunchTemplateOverrides$InstanceType": "

The instance type.

If you specify InstanceTypes, you can't specify InstanceRequirements.

", + "FleetLaunchTemplateOverridesRequest$InstanceType": "

The instance type.

If you specify InstanceTypes, you can't specify InstanceRequirements.

", "ImportInstanceLaunchSpecification$InstanceType": "

The instance type. For more information about the instance types that you can import, see Instance Types in the VM Import/Export User Guide.

", "Instance$InstanceType": "

The instance type.

", "InstanceTypeInfo$InstanceType": "

The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

", @@ -9213,7 +9408,7 @@ "LaunchSpecification$InstanceType": "

The instance type.

", "LaunchTemplateOverrides$InstanceType": "

The instance type.

", "RequestInstanceTypeList$member": null, - "RequestLaunchTemplateData$InstanceType": "

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

", + "RequestLaunchTemplateData$InstanceType": "

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

If you specify InstanceTypes, you can't specify InstanceRequirements.

", "RequestSpotLaunchSpecification$InstanceType": "

The instance type.

", "ReservationFleetInstanceSpecification$InstanceType": "

The instance type for which the Capacity Reservation Fleet reserves capacity.

", "ReservedInstances$InstanceType": "

The instance type on which the Reserved Instance can be used.

", @@ -9237,6 +9432,18 @@ "InstanceTypeInfoList$member": null } }, + "InstanceTypeInfoFromInstanceRequirements": { + "base": "

The list of instance types with the specified instance attributes.

", + "refs": { + "InstanceTypeInfoFromInstanceRequirementsSet$member": null + } + }, + "InstanceTypeInfoFromInstanceRequirementsSet": { + "base": null, + "refs": { + "GetInstanceTypesFromInstanceRequirementsResult$InstanceTypes": "

The instance types with the specified instance attributes.

" + } + }, "InstanceTypeInfoList": { "base": null, "refs": { @@ -9261,6 +9468,12 @@ "DescribeInstanceTypeOfferingsResult$InstanceTypeOfferings": "

The instance types offered.

" } }, + "InstanceTypes": { + "base": null, + "refs": { + "GetSpotPlacementScoresRequest$InstanceTypes": "

The instance types. We recommend that you specify at least three instance types. If you specify one or two instance types, or specify variations of a single instance type (for example, an m3.xlarge with and without instance storage), the returned placement score will always be low.

If you specify InstanceTypes, you can't specify InstanceRequirementsWithMetadata.

" + } + }, "InstanceUsage": { "base": "

Information about the Capacity Reservation usage.

", "refs": { @@ -9276,6 +9489,14 @@ "Integer": { "base": null, "refs": { + "AcceleratorCount$Min": "

The minimum number of accelerators. If this parameter is not specified, there is no minimum limit.

", + "AcceleratorCount$Max": "

The maximum number of accelerators. If this parameter is not specified, there is no maximum limit.

", + "AcceleratorCountRequest$Min": "

The minimum number of accelerators. To specify no minimum limit, omit this parameter.

", + "AcceleratorCountRequest$Max": "

The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set Max to 0.

", + "AcceleratorTotalMemoryMiB$Min": "

The minimum amount of accelerator memory, in MiB. If this parameter is not specified, there is no minimum limit.

", + "AcceleratorTotalMemoryMiB$Max": "

The maximum amount of accelerator memory, in MiB. If this parameter is not specified, there is no maximum limit.

", + "AcceleratorTotalMemoryMiBRequest$Min": "

The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.

", + "AcceleratorTotalMemoryMiBRequest$Max": "

The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.

", "AllocateHostsRequest$Quantity": "

The number of Dedicated Hosts to allocate to your account with these parameters.

", "AnalysisAclRule$RuleNumber": "

The rule number.

", "AssignIpv6AddressesRequest$Ipv6AddressCount": "

The number of additional IPv6 addresses to assign to the network interface. The specified number of IPv6 addresses are assigned in addition to the existing IPv6 addresses that are already assigned to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

", @@ -9292,6 +9513,10 @@ "AuthorizeSecurityGroupIngressRequest$FromPort": "

The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, use -1 to specify all types. If you specify all ICMP types, you must specify all codes.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

", "AuthorizeSecurityGroupIngressRequest$ToPort": "

The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, use -1 to specify all codes. If you specify all ICMP types, you must specify all codes.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

", "AvailableCapacity$AvailableVCpus": "

The number of vCPUs available for launching instances onto the Dedicated Host.

", + "BaselineEbsBandwidthMbps$Min": "

The minimum baseline bandwidth, in Mbps. If this parameter is not specified, there is no minimum limit.

", + "BaselineEbsBandwidthMbps$Max": "

The maximum baseline bandwidth, in Mbps. If this parameter is not specified, there is no maximum limit.

", + "BaselineEbsBandwidthMbpsRequest$Min": "

The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.

", + "BaselineEbsBandwidthMbpsRequest$Max": "

The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.

", "CapacityReservation$TotalInstanceCount": "

The total number of instances for which the Capacity Reservation reserves capacity.

", "CapacityReservation$AvailableInstanceCount": "

The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

", "CapacityReservationFleet$TotalTargetCapacity": "

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity. For more information, see Total target capacity in the Amazon EC2 User Guide.

", @@ -9364,6 +9589,7 @@ "FlowLog$MaxAggregationInterval": "

The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds (1 minute) or less, regardless of the specified value.

Valid Values: 60 | 600

", "GetCapacityReservationUsageResult$TotalInstanceCount": "

The number of instances for which the Capacity Reservation reserves capacity.

", "GetCapacityReservationUsageResult$AvailableInstanceCount": "

The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

", + "GetInstanceTypesFromInstanceRequirementsRequest$MaxResults": "

The maximum number of results to return in a single call. Specify a value between 1 and
 1000. The default value is 1000. To retrieve the remaining results, make another call with
 the returned NextToken value.

", "HostOffering$Duration": "

The duration of the offering (in seconds).

", "HostProperties$Cores": "

The number of cores on the Dedicated Host.

", "HostProperties$Sockets": "

The number of sockets on the Dedicated Host.

", @@ -9386,6 +9612,10 @@ "InstanceNetworkInterfaceSpecification$NetworkCardIndex": "

The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.

If you are using RequestSpotInstances to create Spot Instances, omit this parameter because you can’t specify the network card index when using this API. To specify the network card index, use RunInstances.

", "InstanceNetworkInterfaceSpecification$Ipv4PrefixCount": "

The number of IPv4 delegated prefixes to be automatically assigned to the network interface. You cannot use this option if you use the Ipv4Prefix option.

", "InstanceNetworkInterfaceSpecification$Ipv6PrefixCount": "

The number of IPv6 delegated prefixes to be automatically assigned to the network interface. You cannot use this option if you use the Ipv6Prefix option.

", + "InstanceRequirements$SpotMaxPricePercentageOverLowestPrice": "

The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage above the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To turn off price protection, specify a high value, such as 999999.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Default: 100

", + "InstanceRequirements$OnDemandMaxPricePercentageOverLowestPrice": "

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage above the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To turn off price protection, specify a high value, such as 999999.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Default: 20

", + "InstanceRequirementsRequest$SpotMaxPricePercentageOverLowestPrice": "

The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance, expressed as a percentage above the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To turn off price protection, specify a high value, such as 999999.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Default: 100

", + "InstanceRequirementsRequest$OnDemandMaxPricePercentageOverLowestPrice": "

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage above the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To turn off price protection, specify a high value, such as 999999.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Default: 20

", "InstanceState$Code": "

The state of the instance as a 16-bit unsigned integer.

The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values between 256 and 65,535. These numerical values are used for internal purposes and should be ignored.

The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values between 0 and 255.

The valid values for instance-state-code will all be in the range of the low byte and they are:

You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in decimal.

", "InstanceUsage$UsedInstanceCount": "

The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

", "IpPermission$FromPort": "

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", @@ -9423,6 +9653,10 @@ "LocalGatewayVirtualInterface$LocalBgpAsn": "

The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

", "LocalGatewayVirtualInterface$PeerBgpAsn": "

The peer BGP ASN.

", "ManagedPrefixList$MaxEntries": "

The maximum number of entries for the prefix list.

", + "MemoryMiB$Min": "

The minimum amount of memory, in MiB. If this parameter is not specified, there is no minimum limit.

", + "MemoryMiB$Max": "

The maximum amount of memory, in MiB. If this parameter is not specified, there is no maximum limit.

", + "MemoryMiBRequest$Min": "

The minimum amount of memory, in MiB. To specify no minimum limit, specify 0.

", + "MemoryMiBRequest$Max": "

The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.

", "ModifyCapacityReservationFleetRequest$TotalTargetCapacity": "

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

", "ModifyCapacityReservationRequest$InstanceCount": "

The number of instances for which to reserve capacity. The number of instances can't be increased or decreased by more than 1000 in a single request.

", "ModifyClientVpnEndpointRequest$VpnPort": "

The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

Valid Values: 443 | 1194

Default Value: 443

", @@ -9449,6 +9683,10 @@ "NetworkInsightsPath$DestinationPort": "

The destination port.

", "NetworkInterfaceAttachment$DeviceIndex": "

The device index of the network interface attachment on the instance.

", "NetworkInterfaceAttachment$NetworkCardIndex": "

The index of the network card.

", + "NetworkInterfaceCount$Min": "

The minimum number of network interfaces. If this parameter is not specified, there is no minimum limit.

", + "NetworkInterfaceCount$Max": "

The maximum number of network interfaces. If this parameter is not specified, there is no maximum limit.

", + "NetworkInterfaceCountRequest$Min": "

The minimum number of network interfaces. To specify no minimum limit, omit this parameter.

", + "NetworkInterfaceCountRequest$Max": "

The maximum number of network interfaces. To specify no maximum limit, omit this parameter.

", "OccurrenceDayRequestSet$member": null, "OccurrenceDaySet$member": null, "OnDemandOptions$MinTargetCapacity": "

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

", @@ -9513,6 +9751,7 @@ "SpotOptions$MinTargetCapacity": "

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

", "SpotOptionsRequest$InstancePoolsToUseCount": "

The number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified.

", "SpotOptionsRequest$MinTargetCapacity": "

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

", + "SpotPlacementScore$Score": "

The placement score, on a scale from 1 to 10. A score of 10 indicates that your Spot request is highly likely to succeed in this Region or Availability Zone. A score of 1 indicates that your Spot request is not likely to succeed.

", "StaleIpPermission$FromPort": "

The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", "StaleIpPermission$ToPort": "

The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", "StoreImageTaskResult$ProgressPercentage": "

The progress of the task as a percentage.

", @@ -9542,6 +9781,10 @@ "TunnelOption$RekeyFuzzPercentage": "

The percentage of the rekey window determined by RekeyMarginTimeSeconds during which the rekey time is randomly selected.

", "TunnelOption$ReplayWindowSize": "

The number of packets in an IKE replay window.

", "TunnelOption$DpdTimeoutSeconds": "

The number of seconds after which a DPD timeout occurs.

", + "VCpuCountRange$Min": "

The minimum number of vCPUs. If the value is 0, there is no minimum limit.

", + "VCpuCountRange$Max": "

The maximum number of vCPUs. If this parameter is not specified, there is no maximum limit.

", + "VCpuCountRangeRequest$Min": "

The minimum number of vCPUs. To specify no minimum limit, specify 0.

", + "VCpuCountRangeRequest$Max": "

The maximum number of vCPUs. To specify no maximum limit, omit this parameter.

", "VgwTelemetry$AcceptedRouteCount": "

The number of accepted routes.

", "Volume$Size": "

The size of the volume, in GiBs.

", "Volume$Iops": "

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

", @@ -10673,6 +10916,26 @@ "DescribeLocalGatewayVirtualInterfacesResult$LocalGatewayVirtualInterfaces": "

Information about the virtual interfaces.

" } }, + "LocalStorage": { + "base": null, + "refs": { + "InstanceRequirements$LocalStorage": "

Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, Amazon EC2 instance store in the Amazon EC2 User Guide.

Default: included

", + "InstanceRequirementsRequest$LocalStorage": "

Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, Amazon EC2 instance store in the Amazon EC2 User Guide.

Default: included

" + } + }, + "LocalStorageType": { + "base": null, + "refs": { + "LocalStorageTypeSet$member": null + } + }, + "LocalStorageTypeSet": { + "base": null, + "refs": { + "InstanceRequirements$LocalStorageTypes": "

The type of local storage that is required.

Default: hdd and sdd

", + "InstanceRequirementsRequest$LocalStorageTypes": "

The type of local storage that is required.

Default: hdd and sdd

" + } + }, "Location": { "base": null, "refs": { @@ -10814,12 +11077,36 @@ "TransitGatewayMulticastGroup$SourceType": "

The source type.

" } }, + "MemoryGiBPerVCpu": { + "base": "

The minimum and maximum amount of memory per vCPU, in GiB.

", + "refs": { + "InstanceRequirements$MemoryGiBPerVCpu": "

The minimum and maximum amount of memory per vCPU, in GiB.

Default: No minimum or maximum limits

" + } + }, + "MemoryGiBPerVCpuRequest": { + "base": "

The minimum and maximum amount of memory per vCPU, in GiB.

", + "refs": { + "InstanceRequirementsRequest$MemoryGiBPerVCpu": "

The minimum and maximum amount of memory per vCPU, in GiB.

Default: No minimum or maximum limits

" + } + }, "MemoryInfo": { "base": "

Describes the memory for the instance type.

", "refs": { "InstanceTypeInfo$MemoryInfo": "

Describes the memory for the instance type.

" } }, + "MemoryMiB": { + "base": "

The minimum and maximum amount of memory, in MiB.

", + "refs": { + "InstanceRequirements$MemoryMiB": "

The minimum and maximum amount of memory, in MiB.

" + } + }, + "MemoryMiBRequest": { + "base": "

The minimum and maximum amount of memory, in MiB.

", + "refs": { + "InstanceRequirementsRequest$MemoryMiB": "

The minimum and maximum amount of memory, in MiB.

" + } + }, "MemorySize": { "base": null, "refs": { @@ -11613,6 +11900,18 @@ "DescribeNetworkInterfaceAttributeRequest$Attribute": "

The attribute of the network interface. This parameter is required.

" } }, + "NetworkInterfaceCount": { + "base": "

The minimum and maximum number of network interfaces.

", + "refs": { + "InstanceRequirements$NetworkInterfaceCount": "

The minimum and maximum number of network interfaces.

Default: No minimum or maximum limits

" + } + }, + "NetworkInterfaceCountRequest": { + "base": "

The minimum and maximum number of network interfaces.

", + "refs": { + "InstanceRequirementsRequest$NetworkInterfaceCount": "

The minimum and maximum number of network interfaces.

Default: No minimum or maximum limits

" + } + }, "NetworkInterfaceCreationType": { "base": null, "refs": { @@ -12720,6 +13019,12 @@ "DescribeRegionsRequest$RegionNames": "

The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

" } }, + "RegionNames": { + "base": null, + "refs": { + "GetSpotPlacementScoresRequest$RegionNames": "

The Regions used to narrow down the list of Regions to be scored. Enter the Region code, for example, us-east-1.

" + } + }, "RegisterImageRequest": { "base": "

Contains the parameters for RegisterImage.

", "refs": { @@ -14233,6 +14538,30 @@ "SpotFleetLaunchSpecification$Placement": "

The placement information.

" } }, + "SpotPlacementScore": { + "base": "

The Spot placement score for this Region or Availability Zone. The score is calculated based on the assumption that the capacity-optimized allocation strategy is used and that all of the Availability Zones in the Region can be used.

", + "refs": { + "SpotPlacementScores$member": null + } + }, + "SpotPlacementScores": { + "base": null, + "refs": { + "GetSpotPlacementScoresResult$SpotPlacementScores": "

The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale from 1 to 10. Each score
 reflects how likely it is that each Region or Availability Zone will succeed at fulfilling the specified target capacity
 at the time of the Spot placement score request. A score of 10 means that your Spot capacity request is highly likely to succeed in that Region or Availability Zone.

If you request a Spot placement score for Regions, a high score assumes that your fleet request will be configured to use all Availability Zones and the capacity-optimized allocation strategy. If you request a Spot placement score for Availability Zones, a high score assumes that your fleet request will be configured to use a single Availability Zone and the capacity-optimized allocation strategy.

Different
 Regions or Availability Zones might return the same score.

The Spot placement score serves as a recommendation only. No score guarantees that your Spot request will be fully or partially fulfilled.

" + } + }, + "SpotPlacementScoresMaxResults": { + "base": null, + "refs": { + "GetSpotPlacementScoresRequest$MaxResults": "

The maximum number of results to return in a single call. Specify a value between 1 and
 1000. The default value is 1000. To retrieve the remaining results, make another call with
 the returned NextToken value.

" + } + }, + "SpotPlacementScoresTargetCapacity": { + "base": null, + "refs": { + "GetSpotPlacementScoresRequest$TargetCapacity": "

The target capacity.

" + } + }, "SpotPrice": { "base": "

Describes the maximum price per hour that you are willing to pay for a Spot Instance.

", "refs": { @@ -15102,12 +15431,16 @@ "GetGroupsForCapacityReservationResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "GetHostReservationPurchasePreviewResult$TotalHourlyPrice": "

The potential total hourly price of the reservation per hour.

", "GetHostReservationPurchasePreviewResult$TotalUpfrontPrice": "

The potential total upfront price. This is billed immediately.

", + "GetInstanceTypesFromInstanceRequirementsRequest$NextToken": "

The token for the next set of results.

", + "GetInstanceTypesFromInstanceRequirementsResult$NextToken": "

The token for the next set of results.

", "GetManagedPrefixListAssociationsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "GetPasswordDataResult$InstanceId": "

The ID of the Windows instance.

", "GetPasswordDataResult$PasswordData": "

The password of the instance. Returns an empty string if the password is not available.

", "GetReservedInstancesExchangeQuoteResult$CurrencyCode": "

The currency of the transaction.

", "GetReservedInstancesExchangeQuoteResult$PaymentDue": "

The total true upfront charge for the exchange.

", "GetReservedInstancesExchangeQuoteResult$ValidationFailureReason": "

Describes the reason why the exchange cannot be completed.

", + "GetSpotPlacementScoresRequest$NextToken": "

The token for the next set of results.

", + "GetSpotPlacementScoresResult$NextToken": "

The token for the next set of results.

", "GetSubnetCidrReservationsRequest$NextToken": "

The token for the next page of results.

", "GetSubnetCidrReservationsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "GetTransitGatewayAttachmentPropagationsRequest$NextToken": "

The token for the next page of results.

", @@ -15292,6 +15625,8 @@ "InstanceStatus$InstanceId": "

The ID of the instance.

", "InstanceStatusEvent$Description": "

A description of the event.

After a scheduled event is completed, it can still be described for up to a week. If the event has been completed, this description starts with the following text: [Completed].

", "InstanceTagKeySet$member": null, + "InstanceTypeInfoFromInstanceRequirements$InstanceType": "

The matching instance type.

", + "InstanceTypes$member": null, "InstanceUsage$AccountId": "

The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

", "InternetGateway$InternetGatewayId": "

The ID of the internet gateway.

", "InternetGateway$OwnerId": "

The ID of the Amazon Web Services account that owns the internet gateway.

", @@ -15404,6 +15739,7 @@ "ManagedPrefixList$OwnerId": "

The ID of the owner of the prefix list.

", "ModifyAddressAttributeRequest$DomainName": "

The domain name to modify for the IP address.

", "ModifyAvailabilityZoneGroupRequest$GroupName": "

The name of the Availability Zone group, Local Zone group, or Wavelength Zone group.

", + "ModifyCapacityReservationRequest$AdditionalInfo": "

Reserved for future use.

", "ModifyClientVpnEndpointRequest$ServerCertificateArn": "

The ARN of the server certificate to be used. The server certificate must be provisioned in Certificate Manager (ACM).

", "ModifyClientVpnEndpointRequest$Description": "

A brief description of the Client VPN endpoint.

", "ModifyDefaultCreditSpecificationRequest$CpuCredits": "

The credit option for CPU usage of the instance family.

Valid Values: standard | unlimited

", @@ -15586,6 +15922,7 @@ "Region$RegionName": "

The name of the Region.

", "Region$OptInStatus": "

The Region opt-in status. The possible values are opt-in-not-required, opted-in, and not-opted-in.

", "RegionNameStringList$member": null, + "RegionNames$member": null, "RegisterImageRequest$ImageLocation": "

The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the aws-exec-read canned access control list (ACL) to ensure that it can be accessed by Amazon EC2. For more information, see Canned ACLs in the Amazon S3 Service Developer Guide.

", "RegisterImageRequest$Description": "

A description for your AMI.

", "RegisterImageRequest$Name": "

A name for your AMI.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", @@ -15824,6 +16161,8 @@ "SpotOptions$MaxTotalPrice": "

The maximum amount per hour for Spot Instances that you're willing to pay.

", "SpotOptionsRequest$MaxTotalPrice": "

The maximum amount per hour for Spot Instances that you're willing to pay.

", "SpotPlacement$AvailabilityZone": "

The Availability Zone.

[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".

", + "SpotPlacementScore$Region": "

The Region.

", + "SpotPlacementScore$AvailabilityZoneId": "

The Availability Zone.

", "SpotPrice$AvailabilityZone": "

The Availability Zone.

", "SpotPrice$SpotPrice": "

The maximum price per hour that you are willing to pay for a Spot Instance.

", "StaleIpPermission$IpProtocol": "

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

", @@ -16449,6 +16788,15 @@ "ModifyFleetRequest$TargetCapacitySpecification": "

The size of the EC2 Fleet.

" } }, + "TargetCapacityUnitType": { + "base": null, + "refs": { + "GetSpotPlacementScoresRequest$TargetCapacityUnitType": "

The unit for the target capacity.

Default: units (translates to number of instances)

", + "SpotFleetRequestConfigData$TargetCapacityUnitType": "

The unit for the target capacity.

Default: units (translates to number of instances)

", + "TargetCapacitySpecification$TargetCapacityUnitType": "

The unit for the target capacity.

Default: units (translates to number of instances)

", + "TargetCapacitySpecificationRequest$TargetCapacityUnitType": "

The unit for the target capacity.

Default: units (translates to number of instances)

" + } + }, "TargetConfiguration": { "base": "

Information about the Convertible Reserved Instance offering.

", "refs": { @@ -16575,6 +16923,18 @@ "VCpuInfo$ValidThreadsPerCore": "

The valid number of threads per core that can be configured for the instance type.

" } }, + "TotalLocalStorageGB": { + "base": "

The minimum and maximum amount of total local storage, in GB.

", + "refs": { + "InstanceRequirements$TotalLocalStorageGB": "

The minimum and maximum amount of total local storage, in GB.

Default: No minimum or maximum limits

" + } + }, + "TotalLocalStorageGBRequest": { + "base": "

The minimum and maximum amount of total local storage, in GB.

", + "refs": { + "InstanceRequirementsRequest$TotalLocalStorageGB": "

The minimum and maximum amount of total local storage, in GB.

Default: No minimum or maximum limits

" + } + }, "TrafficDirection": { "base": null, "refs": { @@ -17617,6 +17977,18 @@ "VCpuInfo$DefaultVCpus": "

The default number of vCPUs for the instance type.

" } }, + "VCpuCountRange": { + "base": "

The minimum and maximum number of vCPUs.

", + "refs": { + "InstanceRequirements$VCpuCount": "

The minimum and maximum number of vCPUs.

" + } + }, + "VCpuCountRangeRequest": { + "base": "

The minimum and maximum number of vCPUs.

", + "refs": { + "InstanceRequirementsRequest$VCpuCount": "

The minimum and maximum number of vCPUs.

" + } + }, "VCpuInfo": { "base": "

Describes the vCPU configurations for the instance type.

", "refs": { @@ -17722,7 +18094,8 @@ "refs": { "Image$VirtualizationType": "

The type of virtualization of the AMI.

", "Instance$VirtualizationType": "

The virtualization type of the instance.

", - "VirtualizationTypeList$member": null + "VirtualizationTypeList$member": null, + "VirtualizationTypeSet$member": null } }, "VirtualizationTypeList": { @@ -17731,6 +18104,13 @@ "InstanceTypeInfo$SupportedVirtualizationTypes": "

The supported virtualization types.

" } }, + "VirtualizationTypeSet": { + "base": null, + "refs": { + "GetInstanceTypesFromInstanceRequirementsRequest$VirtualizationTypes": "

The virtualization type.

", + "InstanceRequirementsWithMetadataRequest$VirtualizationTypes": "

The virtualization type.

" + } + }, "Volume": { "base": "

Describes a volume.

", "refs": { diff --git a/models/apis/ec2/2016-11-15/paginators-1.json b/models/apis/ec2/2016-11-15/paginators-1.json index acdf6bf8e07..f3b42d6bbdf 100755 --- a/models/apis/ec2/2016-11-15/paginators-1.json +++ b/models/apis/ec2/2016-11-15/paginators-1.json @@ -602,6 +602,12 @@ "output_token": "NextToken", "result_key": "CapacityReservationGroups" }, + "GetInstanceTypesFromInstanceRequirements": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InstanceTypes" + }, "GetManagedPrefixListAssociations": { "input_token": "NextToken", "limit_key": "MaxResults", @@ -614,6 +620,12 @@ "output_token": "NextToken", "result_key": "Entries" }, + "GetSpotPlacementScores": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SpotPlacementScores" + }, "GetTransitGatewayAttachmentPropagations": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/models/apis/eks/2017-11-01/api-2.json b/models/apis/eks/2017-11-01/api-2.json index 4d3db5b3550..49f61cfcff8 100644 --- a/models/apis/eks/2017-11-01/api-2.json +++ b/models/apis/eks/2017-11-01/api-2.json @@ -562,7 +562,9 @@ "AL2_x86_64", "AL2_x86_64_GPU", "AL2_ARM_64", - "CUSTOM" + "CUSTOM", + "BOTTLEROCKET_ARM_64", + "BOTTLEROCKET_x86_64" ] }, "Addon":{ diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json index 5eb4f7eb7d6..8d36ac85cf1 100644 --- a/models/apis/sagemaker/2017-07-24/api-2.json +++ b/models/apis/sagemaker/2017-07-24/api-2.json @@ -49,6 +49,15 @@ {"shape":"ResourceLimitExceeded"} ] }, + "BatchDescribeModelPackage":{ + "name":"BatchDescribeModelPackage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDescribeModelPackageInput"}, + "output":{"shape":"BatchDescribeModelPackageOutput"} + }, "CreateAction":{ "name":"CreateAction", "http":{ @@ -2586,6 +2595,15 @@ {"shape":"ResourceNotFound"} ] }, + "UpdateProject":{ + "name":"UpdateProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateProjectInput"}, + "output":{"shape":"UpdateProjectOutput"} + }, "UpdateTrainingJob":{ "name":"UpdateTrainingJob", "http":{ @@ -3573,6 +3591,56 @@ "AWS/Textract/AnalyzeDocument/Forms/V1" ] }, + "BatchDescribeModelPackageError":{ + "type":"structure", + "required":[ + "ErrorCode", + "ErrorResponse" + ], + "members":{ + "ErrorCode":{"shape":"String"}, + "ErrorResponse":{"shape":"String"} + } + }, + "BatchDescribeModelPackageErrorMap":{ + "type":"map", + "key":{"shape":"ModelPackageArn"}, + "value":{"shape":"BatchDescribeModelPackageError"} + }, + "BatchDescribeModelPackageInput":{ + "type":"structure", + "required":["ModelPackageArnList"], + "members":{ + "ModelPackageArnList":{"shape":"ModelPackageArnList"} + } + }, + "BatchDescribeModelPackageOutput":{ + "type":"structure", + "members":{ + "ModelPackageSummaries":{"shape":"ModelPackageSummaries"}, + "BatchDescribeModelPackageErrorMap":{"shape":"BatchDescribeModelPackageErrorMap"} + } + }, + "BatchDescribeModelPackageSummary":{ + "type":"structure", + "required":[ + "ModelPackageGroupName", + "ModelPackageArn", + "CreationTime", + "InferenceSpecification", + "ModelPackageStatus" + ], + "members":{ + "ModelPackageGroupName":{"shape":"EntityName"}, + "ModelPackageVersion":{"shape":"ModelPackageVersion"}, + "ModelPackageArn":{"shape":"ModelPackageArn"}, + "ModelPackageDescription":{"shape":"EntityDescription"}, + "CreationTime":{"shape":"CreationTime"}, + "InferenceSpecification":{"shape":"InferenceSpecification"}, + "ModelPackageStatus":{"shape":"ModelPackageStatus"}, + "ModelApprovalStatus":{"shape":"ModelApprovalStatus"} + } + }, "BatchStrategy":{ "type":"string", "enum":[ @@ -4851,7 +4919,7 @@ "type":"structure", "members":{ "ModelPackageName":{"shape":"EntityName"}, - "ModelPackageGroupName":{"shape":"EntityName"}, + "ModelPackageGroupName":{"shape":"ArnOrName"}, "ModelPackageDescription":{"shape":"EntityDescription"}, "InferenceSpecification":{"shape":"InferenceSpecification"}, "ValidationSpecification":{"shape":"ModelPackageValidationSpecification"}, @@ -4864,7 +4932,8 @@ "ClientToken":{ "shape":"ClientToken", "idempotencyToken":true - } + }, + "CustomerMetadataProperties":{"shape":"CustomerMetadataMap"} } }, "CreateModelPackageOutput":{ @@ -5312,6 +5381,29 @@ "member":{"shape":"CustomImage"}, "max":30 }, + "CustomerMetadataKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*)${1,128}" + }, + "CustomerMetadataKeyList":{ + "type":"list", + "member":{"shape":"CustomerMetadataKey"} + }, + "CustomerMetadataMap":{ + "type":"map", + "key":{"shape":"CustomerMetadataKey"}, + "value":{"shape":"CustomerMetadataValue"}, + "max":50, + "min":1 + }, + "CustomerMetadataValue":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*)${1,256}" + }, "DataCaptureConfig":{ "type":"structure", "required":[ @@ -6760,7 +6852,8 @@ "ModelMetrics":{"shape":"ModelMetrics"}, "LastModifiedTime":{"shape":"Timestamp"}, "LastModifiedBy":{"shape":"UserContext"}, - "ApprovalDescription":{"shape":"ApprovalDescription"} + "ApprovalDescription":{"shape":"ApprovalDescription"}, + "CustomerMetadataProperties":{"shape":"CustomerMetadataMap"} } }, "DescribeModelQualityJobDefinitionRequest":{ @@ -7005,7 +7098,9 @@ "ServiceCatalogProvisionedProductDetails":{"shape":"ServiceCatalogProvisionedProductDetails"}, "ProjectStatus":{"shape":"ProjectStatus"}, "CreatedBy":{"shape":"UserContext"}, - "CreationTime":{"shape":"Timestamp"} + "CreationTime":{"shape":"Timestamp"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedBy":{"shape":"UserContext"} } }, "DescribeStudioLifecycleConfigRequest":{ @@ -10884,7 +10979,8 @@ "LastModifiedTime":{"shape":"Timestamp"}, "LastModifiedBy":{"shape":"UserContext"}, "ApprovalDescription":{"shape":"ApprovalDescription"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "CustomerMetadataProperties":{"shape":"CustomerMetadataMap"} } }, "ModelPackageArn":{ @@ -10893,6 +10989,12 @@ "min":1, "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:model-package/.*" }, + "ModelPackageArnList":{ + "type":"list", + "member":{"shape":"ModelPackageArn"}, + "max":100, + "min":1 + }, "ModelPackageContainerDefinition":{ "type":"structure", "required":["Image"], @@ -11008,6 +11110,11 @@ "type":"list", "member":{"shape":"ModelPackageStatusItem"} }, + "ModelPackageSummaries":{ + "type":"map", + "key":{"shape":"ModelPackageArn"}, + "value":{"shape":"BatchDescribeModelPackageSummary"} + }, "ModelPackageSummary":{ "type":"structure", "required":[ @@ -12694,7 +12801,9 @@ "ProjectStatus":{"shape":"ProjectStatus"}, "CreatedBy":{"shape":"UserContext"}, "CreationTime":{"shape":"Timestamp"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedBy":{"shape":"UserContext"} } }, "ProjectArn":{ @@ -12738,7 +12847,10 @@ "CreateFailed", "DeleteInProgress", "DeleteFailed", - "DeleteCompleted" + "DeleteCompleted", + "UpdateInProgress", + "UpdateCompleted", + "UpdateFailed" ] }, "ProjectSummary":{ @@ -13428,6 +13540,13 @@ "ProvisioningParameters":{"shape":"ProvisioningParameters"} } }, + "ServiceCatalogProvisioningUpdateDetails":{ + "type":"structure", + "members":{ + "ProvisioningArtifactId":{"shape":"ServiceCatalogEntityId"}, + "ProvisioningParameters":{"shape":"ProvisioningParameters"} + } + }, "SessionExpirationDurationInSeconds":{ "type":"integer", "max":43200, @@ -14958,14 +15077,13 @@ }, "UpdateModelPackageInput":{ "type":"structure", - "required":[ - "ModelPackageArn", - "ModelApprovalStatus" - ], + "required":["ModelPackageArn"], "members":{ "ModelPackageArn":{"shape":"ModelPackageArn"}, "ModelApprovalStatus":{"shape":"ModelApprovalStatus"}, - "ApprovalDescription":{"shape":"ApprovalDescription"} + "ApprovalDescription":{"shape":"ApprovalDescription"}, + "CustomerMetadataProperties":{"shape":"CustomerMetadataMap"}, + "CustomerMetadataPropertiesToRemove":{"shape":"CustomerMetadataKeyList"} } }, "UpdateModelPackageOutput":{ @@ -15063,6 +15181,23 @@ "PipelineArn":{"shape":"PipelineArn"} } }, + "UpdateProjectInput":{ + "type":"structure", + "required":["ProjectName"], + "members":{ + "ProjectName":{"shape":"ProjectEntityName"}, + "ProjectDescription":{"shape":"EntityDescription"}, + "ServiceCatalogProvisioningUpdateDetails":{"shape":"ServiceCatalogProvisioningUpdateDetails"}, + "Tags":{"shape":"TagList"} + } + }, + "UpdateProjectOutput":{ + "type":"structure", + "required":["ProjectArn"], + "members":{ + "ProjectArn":{"shape":"ProjectArn"} + } + }, "UpdateTrainingJobRequest":{ "type":"structure", "required":["TrainingJobName"], diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json index f04ad8e37a3..d7742b67a5e 100644 --- a/models/apis/sagemaker/2017-07-24/docs-2.json +++ b/models/apis/sagemaker/2017-07-24/docs-2.json @@ -5,6 +5,7 @@ "AddAssociation": "

Creates an association between the source and the destination. A source can be associated with multiple destinations, and a destination can be associated with multiple sources. An association is a lineage tracking entity. For more information, see Amazon SageMaker ML Lineage Tracking.

", "AddTags": "

Adds or overwrites one or more tags for the specified Amazon SageMaker resource. You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints.

Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see For more information, see Amazon Web Services Tagging Strategies.

Tags that you add to a hyperparameter tuning job by calling this API are also added to any training jobs that the hyperparameter tuning job launches after you call this API, but not to training jobs that the hyperparameter tuning job launched before you called this API. To make sure that the tags associated with a hyperparameter tuning job are also added to all training jobs that the hyperparameter tuning job launches, add the tags when you first create the tuning job by specifying them in the Tags parameter of CreateHyperParameterTuningJob

Tags that you add to a SageMaker Studio Domain or User Profile by calling this API are also added to any Apps that the Domain or User Profile launches after you call this API, but not to Apps that the Domain or User Profile launched before you called this API. To make sure that the tags associated with a Domain or User Profile are also added to all Apps that the Domain or User Profile launches, add the tags when you first create the Domain or User Profile by specifying them in the Tags parameter of CreateDomain or CreateUserProfile.

", "AssociateTrialComponent": "

Associates a trial component with a trial. A trial component can be associated with multiple trials. To disassociate a trial component from a trial, call the DisassociateTrialComponent API.

", + "BatchDescribeModelPackage": "

This action batch describes a list of versioned model packages

", "CreateAction": "

Creates an action. An action is a lineage tracking entity that represents an action or activity. For example, a model deployment or an HPO job. Generally, an action involves at least one input or output artifact. For more information, see Amazon SageMaker ML Lineage Tracking.

", "CreateAlgorithm": "

Create a machine learning algorithm that you can use in Amazon SageMaker and list in the Amazon Web Services Marketplace.

", "CreateApp": "

Creates a running app for the specified UserProfile. Supported apps are JupyterServer and KernelGateway. This operation is automatically invoked by Amazon SageMaker Studio upon access to the associated Domain, and when new kernel configurations are selected by the user. A user may have multiple Apps active simultaneously.

", @@ -116,7 +117,7 @@ "DescribeModel": "

Describes a model that you created using the CreateModel API.

", "DescribeModelBiasJobDefinition": "

Returns a description of a model bias job definition.

", "DescribeModelExplainabilityJobDefinition": "

Returns a description of a model explainability job definition.

", - "DescribeModelPackage": "

Returns a description of the specified model package, which is used to create Amazon SageMaker models or list them on Amazon Web Services Marketplace.

To create models in Amazon SageMaker, buyers can subscribe to model packages listed on Amazon Web Services Marketplace.

", + "DescribeModelPackage": "

Returns a description of the specified model package, which is used to create SageMaker models or list them on Amazon Web Services Marketplace.

To create models in SageMaker, buyers can subscribe to model packages listed on Amazon Web Services Marketplace.

", "DescribeModelPackageGroup": "

Gets a description for the specified model group.

", "DescribeModelQualityJobDefinition": "

Returns a description of a model quality job definition.

", "DescribeMonitoringSchedule": "

Describes the schedule for a monitoring job.

", @@ -236,6 +237,7 @@ "UpdateNotebookInstanceLifecycleConfig": "

Updates a notebook instance lifecycle configuration created with the CreateNotebookInstanceLifecycleConfig API.

", "UpdatePipeline": "

Updates a pipeline.

", "UpdatePipelineExecution": "

Updates a pipeline execution.

", + "UpdateProject": "

Updates a machine learning (ML) project that is created from a template that sets up an ML pipeline from training to deploying an approved model.

You must not update a project that is in use. If you update the ServiceCatalogProvisioningUpdateDetails of a project that is active or being created, or updated, you may lose resources already created by the project.

", "UpdateTrainingJob": "

Update a model training job to request a new Debugger profiling configuration.

", "UpdateTrial": "

Updates the display name of a trial.

", "UpdateTrialComponent": "

Updates one or more properties of a trial component.

", @@ -580,6 +582,7 @@ "base": null, "refs": { "AlgorithmSpecification$AlgorithmName": "

The name of the algorithm resource to use for the training job. This must be an algorithm resource that you created or subscribe to on Amazon Web Services Marketplace. If you specify a value for this parameter, you can't specify a value for TrainingImage.

", + "CreateModelPackageInput$ModelPackageGroupName": "

The name or Amazon Resource Name (ARN) of the model package group that this model version belongs to.

This parameter is required for versioned models, and does not apply to unversioned models.

", "DeleteModelPackageGroupInput$ModelPackageGroupName": "

The name of the model group to delete.

", "DescribeAlgorithmInput$AlgorithmName": "

The name of the algorithm to describe.

", "DescribeModelPackageGroupInput$ModelPackageGroupName": "

The name of the model group to describe.

", @@ -1021,6 +1024,34 @@ "HumanLoopRequestSource$AwsManagedHumanLoopRequestSource": "

Specifies whether Amazon Rekognition or Amazon Textract are used as the integration source. The default field settings and JSON parsing rules are different based on the integration source. Valid values:

" } }, + "BatchDescribeModelPackageError": { + "base": "

The error code and error description associated with the resource.

", + "refs": { + "BatchDescribeModelPackageErrorMap$value": null + } + }, + "BatchDescribeModelPackageErrorMap": { + "base": null, + "refs": { + "BatchDescribeModelPackageOutput$BatchDescribeModelPackageErrorMap": "

A map of the resource and BatchDescribeModelPackageError objects reporting the error associated with describing the model package.

" + } + }, + "BatchDescribeModelPackageInput": { + "base": null, + "refs": { + } + }, + "BatchDescribeModelPackageOutput": { + "base": null, + "refs": { + } + }, + "BatchDescribeModelPackageSummary": { + "base": "

Provides summary information about the model package.

", + "refs": { + "ModelPackageSummaries$value": null + } + }, "BatchStrategy": { "base": null, "refs": { @@ -2121,6 +2152,7 @@ "refs": { "AlgorithmSummary$CreationTime": "

A timestamp that shows when the algorithm was created.

", "AppDetails$CreationTime": "

The creation time.

", + "BatchDescribeModelPackageSummary$CreationTime": "

The creation time of the mortgage package summary.

", "CodeRepositorySummary$CreationTime": "

The date and time that the Git repository was created.

", "CompilationJobSummary$CreationTime": "

The time when the model compilation job was created.

", "DescribeAlgorithmOutput$CreationTime": "

A timestamp specifying when the algorithm was created.

", @@ -2185,6 +2217,34 @@ "KernelGatewayAppSettings$CustomImages": "

A list of custom SageMaker images that are configured to run as a KernelGateway app.

" } }, + "CustomerMetadataKey": { + "base": null, + "refs": { + "CustomerMetadataKeyList$member": null, + "CustomerMetadataMap$key": null + } + }, + "CustomerMetadataKeyList": { + "base": null, + "refs": { + "UpdateModelPackageInput$CustomerMetadataPropertiesToRemove": "

The metadata properties associated with the model package versions to remove.

" + } + }, + "CustomerMetadataMap": { + "base": null, + "refs": { + "CreateModelPackageInput$CustomerMetadataProperties": "

The metadata properties associated with the model package versions.

", + "DescribeModelPackageOutput$CustomerMetadataProperties": "

The metadata properties associated with the model package versions.

", + "ModelPackage$CustomerMetadataProperties": "

The metadata properties for the model package.

", + "UpdateModelPackageInput$CustomerMetadataProperties": "

The metadata properties associated with the model package versions.

" + } + }, + "CustomerMetadataValue": { + "base": null, + "refs": { + "CustomerMetadataMap$value": null + } + }, "DataCaptureConfig": { "base": "

", "refs": { @@ -3623,6 +3683,7 @@ "base": null, "refs": { "AlgorithmSummary$AlgorithmDescription": "

A brief description of the algorithm.

", + "BatchDescribeModelPackageSummary$ModelPackageDescription": "

The description of the model package.

", "ChannelSpecification$Description": "

A brief description of the channel.

", "CreateAlgorithmInput$AlgorithmDescription": "

A description of the algorithm.

", "CreateModelPackageGroupInput$ModelPackageGroupDescription": "

A description for the model group.

", @@ -3638,7 +3699,8 @@ "ModelPackageGroupSummary$ModelPackageGroupDescription": "

A description of the model group.

", "ModelPackageSummary$ModelPackageDescription": "

A brief description of the model package.

", "Project$ProjectDescription": "

The description of the project.

", - "ProjectSummary$ProjectDescription": "

The description of the project.

" + "ProjectSummary$ProjectDescription": "

The description of the project.

", + "UpdateProjectInput$ProjectDescription": "

The description for the project.

" } }, "EntityName": { @@ -3647,6 +3709,7 @@ "AlgorithmStatusItem$Name": "

The name of the algorithm for which the overall status is being reported.

", "AlgorithmSummary$AlgorithmName": "

The name of the algorithm that is described by the summary.

", "AlgorithmValidationProfile$ProfileName": "

The name of the profile for the algorithm. The name must have 1 to 63 characters. Valid characters are a-z, A-Z, 0-9, and - (hyphen).

", + "BatchDescribeModelPackageSummary$ModelPackageGroupName": "

The group name for the model package

", "CodeRepositorySummary$CodeRepositoryName": "

The name of the Git repository.

", "CompilationJobSummary$CompilationJobName": "

The name of the model compilation job that you want a summary for.

", "CreateAlgorithmInput$AlgorithmName": "

The name of the algorithm.

", @@ -3658,7 +3721,6 @@ "CreateEdgePackagingJobRequest$ModelName": "

The name of the model.

", "CreateModelPackageGroupInput$ModelPackageGroupName": "

The name of the model group.

", "CreateModelPackageInput$ModelPackageName": "

The name of the model package. The name must have 1 to 63 characters. Valid characters are a-z, A-Z, 0-9, and - (hyphen).

This parameter is required for unversioned models. It is not applicable to versioned models.

", - "CreateModelPackageInput$ModelPackageGroupName": "

The name of the model group that this model version belongs to.

This parameter is required for versioned models, and does not apply to unversioned models.

", "DeleteAlgorithmInput$AlgorithmName": "

The name of the algorithm to delete.

", "DeleteCodeRepositoryInput$CodeRepositoryName": "

The name of the Git repository to delete.

", "DeleteDeviceFleetRequest$DeviceFleetName": "

The name of the fleet to delete.

", @@ -4796,6 +4858,7 @@ "InferenceSpecification": { "base": "

Defines how to perform inference generation after a training job is run.

", "refs": { + "BatchDescribeModelPackageSummary$InferenceSpecification": null, "CreateAlgorithmInput$InferenceSpecification": "

Specifies details about inference jobs that the algorithm runs, including the following:

", "CreateModelPackageInput$InferenceSpecification": "

Specifies details about inference jobs that can be run with models based on this model package, including the following:

", "DescribeAlgorithmOutput$InferenceSpecification": "

Details about inference jobs that the algorithm runs.

", @@ -6119,6 +6182,7 @@ "ModelApprovalStatus": { "base": null, "refs": { + "BatchDescribeModelPackageSummary$ModelApprovalStatus": "

The approval status of the model.

", "CreateModelPackageInput$ModelApprovalStatus": "

Whether the model is approved for deployment.

This parameter is optional for versioned models, and does not apply to unversioned models.

For versioned models, the value of this parameter must be set to Approved to deploy the model.

", "DescribeModelPackageOutput$ModelApprovalStatus": "

The approval status of the model package.

", "ListModelPackagesInput$ModelApprovalStatus": "

A filter that returns only the model packages with the specified approval status.

", @@ -6263,14 +6327,24 @@ "ModelPackageArn": { "base": null, "refs": { + "BatchDescribeModelPackageErrorMap$key": null, + "BatchDescribeModelPackageSummary$ModelPackageArn": "

The Amazon Resource Name (ARN) of the model package.

", "CreateModelPackageOutput$ModelPackageArn": "

The Amazon Resource Name (ARN) of the new model package.

", "DescribeModelPackageOutput$ModelPackageArn": "

The Amazon Resource Name (ARN) of the model package.

", "ModelPackage$ModelPackageArn": "

The Amazon Resource Name (ARN) of the model package.

", + "ModelPackageArnList$member": null, + "ModelPackageSummaries$key": null, "ModelPackageSummary$ModelPackageArn": "

The Amazon Resource Name (ARN) of the model package.

", - "UpdateModelPackageInput$ModelPackageArn": "

The Amazon Resource Name (ARN) of the model.

", + "UpdateModelPackageInput$ModelPackageArn": "

The Amazon Resource Name (ARN) of the model package.

", "UpdateModelPackageOutput$ModelPackageArn": "

The Amazon Resource Name (ARN) of the model.

" } }, + "ModelPackageArnList": { + "base": null, + "refs": { + "BatchDescribeModelPackageInput$ModelPackageArnList": "

The list of Amazon Resource Name (ARN) of the model package groups.

" + } + }, "ModelPackageContainerDefinition": { "base": "

Describes the Docker container for the model package.

", "refs": { @@ -6334,6 +6408,7 @@ "ModelPackageStatus": { "base": null, "refs": { + "BatchDescribeModelPackageSummary$ModelPackageStatus": "

The status of the mortgage package.

", "DescribeModelPackageOutput$ModelPackageStatus": "

The current status of the model package.

", "ModelPackage$ModelPackageStatus": "

The status of the model package. This can be one of the following values.

", "ModelPackageSummary$ModelPackageStatus": "

The overall status of the model package.

" @@ -6359,6 +6434,12 @@ "ModelPackageStatusDetails$ImageScanStatuses": "

The status of the scan of the Docker image container for the model package.

" } }, + "ModelPackageSummaries": { + "base": null, + "refs": { + "BatchDescribeModelPackageOutput$ModelPackageSummaries": "

The summaries for the model package versions

" + } + }, "ModelPackageSummary": { "base": "

Provides summary information about a model package.

", "refs": { @@ -6393,13 +6474,14 @@ "base": "

Specifies batch transform jobs that Amazon SageMaker runs to validate your model package.

", "refs": { "CreateModelPackageInput$ValidationSpecification": "

Specifies configurations for one or more transform jobs that Amazon SageMaker runs to test the model package.

", - "DescribeModelPackageOutput$ValidationSpecification": "

Configurations for one or more transform jobs that Amazon SageMaker runs to test the model package.

", + "DescribeModelPackageOutput$ValidationSpecification": "

Configurations for one or more transform jobs that SageMaker runs to test the model package.

", "ModelPackage$ValidationSpecification": null } }, "ModelPackageVersion": { "base": null, "refs": { + "BatchDescribeModelPackageSummary$ModelPackageVersion": "

The version number of a versioned model.

", "DescribeModelPackageOutput$ModelPackageVersion": "

The version of the model package.

", "ModelPackage$ModelPackageVersion": "

The version number of a versioned model.

", "ModelPackageSummary$ModelPackageVersion": "

If the model package is a versioned model, the version of the model.

" @@ -8037,7 +8119,8 @@ "CreateProjectOutput$ProjectArn": "

The Amazon Resource Name (ARN) of the project.

", "DescribeProjectOutput$ProjectArn": "

The Amazon Resource Name (ARN) of the project.

", "Project$ProjectArn": "

The Amazon Resource Name (ARN) of the project.

", - "ProjectSummary$ProjectArn": "

The Amazon Resource Name (ARN) of the project.

" + "ProjectSummary$ProjectArn": "

The Amazon Resource Name (ARN) of the project.

", + "UpdateProjectOutput$ProjectArn": "

The Amazon Resource Name (ARN) of the project.

" } }, "ProjectEntityName": { @@ -8049,7 +8132,8 @@ "DescribeProjectOutput$ProjectName": "

The name of the project.

", "ListProjectsInput$NameContains": "

A filter that returns the projects whose name contains a specified string.

", "Project$ProjectName": "

The name of the project.

", - "ProjectSummary$ProjectName": "

The name of the project.

" + "ProjectSummary$ProjectName": "

The name of the project.

", + "UpdateProjectInput$ProjectName": "

The name of the project.

" } }, "ProjectId": { @@ -8144,7 +8228,8 @@ "ProvisioningParameters": { "base": null, "refs": { - "ServiceCatalogProvisioningDetails$ProvisioningParameters": "

A list of key value pairs that you specify when you provision a product.

" + "ServiceCatalogProvisioningDetails$ProvisioningParameters": "

A list of key value pairs that you specify when you provision a product.

", + "ServiceCatalogProvisioningUpdateDetails$ProvisioningParameters": "

A list of key value pairs that you specify when you provision a product.

" } }, "PublicWorkforceTaskPrice": { @@ -8705,7 +8790,8 @@ "ServiceCatalogProvisionedProductDetails$ProvisionedProductId": "

The ID of the provisioned product.

", "ServiceCatalogProvisioningDetails$ProductId": "

The ID of the product to provision.

", "ServiceCatalogProvisioningDetails$ProvisioningArtifactId": "

The ID of the provisioning artifact.

", - "ServiceCatalogProvisioningDetails$PathId": "

The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path.

" + "ServiceCatalogProvisioningDetails$PathId": "

The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path.

", + "ServiceCatalogProvisioningUpdateDetails$ProvisioningArtifactId": "

The ID of the provisioning artifact.

" } }, "ServiceCatalogProvisionedProductDetails": { @@ -8723,6 +8809,12 @@ "Project$ServiceCatalogProvisioningDetails": null } }, + "ServiceCatalogProvisioningUpdateDetails": { + "base": "

Details that you specify to provision a service catalog product. For information about service catalog, see What is AWS Service Catalog.

", + "refs": { + "UpdateProjectInput$ServiceCatalogProvisioningUpdateDetails": "

The product ID and provisioning artifact ID to provision a service catalog. The provisioning artifact ID will default to the latest provisioning artifact ID of the product, if you don't provide the provisioning artifact ID. For more information, see What is AWS Service Catalog.

" + } + }, "SessionExpirationDurationInSeconds": { "base": null, "refs": { @@ -9034,6 +9126,8 @@ "base": null, "refs": { "AlgorithmStatusItem$FailureReason": "

if the overall status is Failed, the reason for the failure.

", + "BatchDescribeModelPackageError$ErrorCode": "

", + "BatchDescribeModelPackageError$ErrorResponse": "

", "DescribeEdgePackagingJobResponse$EdgePackagingJobStatusMessage": "

Returns a message describing the job status and error messages.

", "DescribeEdgePackagingJobResponse$ModelSignature": "

The signature document of files in the model artifact.

", "EdgeOutputConfig$PresetDeploymentConfig": "

The configuration used to create deployment artifacts. Specify configuration options with a JSON string. The available configuration options for each type are:

", @@ -9318,7 +9412,8 @@ "TrainingJob$Tags": "

An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources.

", "TransformJob$Tags": "

A list of tags associated with the transform job.

", "Trial$Tags": "

The list of tags that are associated with the trial. You can use Search API to search on the tags.

", - "TrialComponent$Tags": "

The list of tags that are associated with the component. You can use Search API to search on the tags.

" + "TrialComponent$Tags": "

The list of tags that are associated with the component. You can use Search API to search on the tags.

", + "UpdateProjectInput$Tags": "

An array of key-value pairs. You can use tags to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging AWS Resources.

" } }, "TagValue": { @@ -9555,6 +9650,7 @@ "DescribeProcessingJobResponse$LastModifiedTime": "

The time at which the processing job was last modified.

", "DescribeProcessingJobResponse$CreationTime": "

The time at which the processing job was created.

", "DescribeProjectOutput$CreationTime": "

The time when the project was created.

", + "DescribeProjectOutput$LastModifiedTime": "

The timestamp when project was last modified.

", "DescribeStudioLifecycleConfigResponse$CreationTime": "

The creation time of the Studio Lifecycle Configuration.

", "DescribeStudioLifecycleConfigResponse$LastModifiedTime": "

This value is equivalent to CreationTime because Studio Lifecycle Configurations are immutable.

", "DescribeTrainingJobResponse$CreationTime": "

A timestamp that indicates when the training job was created.

", @@ -9738,6 +9834,7 @@ "ProcessingJobSummary$LastModifiedTime": "

A timestamp that indicates the last time the processing job was modified.

", "ProfilerRuleEvaluationStatus$LastModifiedTime": "

Timestamp when the rule evaluation status was last modified.

", "Project$CreationTime": "

A timestamp specifying when the project was created.

", + "Project$LastModifiedTime": "

A timestamp container for when the project was last modified.

", "ProjectSummary$CreationTime": "

The time that the project was created.

", "SecondaryStatusTransition$StartTime": "

A timestamp that shows when the training job transitioned to the current secondary status state.

", "SecondaryStatusTransition$EndTime": "

A timestamp that shows when the training job transitioned out of this secondary status state into another secondary status state or when the training job has ended.

", @@ -10498,6 +10595,16 @@ "refs": { } }, + "UpdateProjectInput": { + "base": null, + "refs": { + } + }, + "UpdateProjectOutput": { + "base": null, + "refs": { + } + }, "UpdateTrainingJobRequest": { "base": null, "refs": { @@ -10587,6 +10694,7 @@ "DescribePipelineResponse$CreatedBy": null, "DescribePipelineResponse$LastModifiedBy": null, "DescribeProjectOutput$CreatedBy": null, + "DescribeProjectOutput$LastModifiedBy": null, "DescribeTrialComponentResponse$CreatedBy": "

Who created the trial component.

", "DescribeTrialComponentResponse$LastModifiedBy": "

Who last modified the component.

", "DescribeTrialResponse$CreatedBy": "

Who created the trial.

", @@ -10601,6 +10709,7 @@ "PipelineExecution$CreatedBy": null, "PipelineExecution$LastModifiedBy": null, "Project$CreatedBy": "

Who created the project.

", + "Project$LastModifiedBy": null, "Trial$CreatedBy": "

Who created the trial.

", "Trial$LastModifiedBy": null, "TrialComponent$CreatedBy": "

Who created the trial component.

", diff --git a/models/apis/textract/2018-06-27/api-2.json b/models/apis/textract/2018-06-27/api-2.json index 04c123420c6..5e6b234550d 100644 --- a/models/apis/textract/2018-06-27/api-2.json +++ b/models/apis/textract/2018-06-27/api-2.json @@ -111,6 +111,25 @@ {"shape":"InvalidKMSKeyException"} ] }, + "GetExpenseAnalysis":{ + "name":"GetExpenseAnalysis", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetExpenseAnalysisRequest"}, + "output":{"shape":"GetExpenseAnalysisResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidJobIdException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"InvalidKMSKeyException"} + ] + }, "StartDocumentAnalysis":{ "name":"StartDocumentAnalysis", "http":{ @@ -156,6 +175,29 @@ {"shape":"ThrottlingException"}, {"shape":"LimitExceededException"} ] + }, + "StartExpenseAnalysis":{ + "name":"StartExpenseAnalysis", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartExpenseAnalysisRequest"}, + "output":{"shape":"StartExpenseAnalysisResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"InvalidKMSKeyException"}, + {"shape":"UnsupportedDocumentException"}, + {"shape":"DocumentTooLargeException"}, + {"shape":"BadDocumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InternalServerError"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ] } }, "shapes":{ @@ -425,6 +467,27 @@ "DetectDocumentTextModelVersion":{"shape":"String"} } }, + "GetExpenseAnalysisRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{"shape":"JobId"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "GetExpenseAnalysisResponse":{ + "type":"structure", + "members":{ + "DocumentMetadata":{"shape":"DocumentMetadata"}, + "JobStatus":{"shape":"JobStatus"}, + "NextToken":{"shape":"PaginationToken"}, + "ExpenseDocuments":{"shape":"ExpenseDocumentList"}, + "Warnings":{"shape":"Warnings"}, + "StatusMessage":{"shape":"StatusMessage"}, + "AnalyzeExpenseModelVersion":{"shape":"String"} + } + }, "HumanLoopActivationConditionsEvaluationResults":{ "type":"string", "max":10240 @@ -746,6 +809,24 @@ "JobId":{"shape":"JobId"} } }, + "StartExpenseAnalysisRequest":{ + "type":"structure", + "required":["DocumentLocation"], + "members":{ + "DocumentLocation":{"shape":"DocumentLocation"}, + "ClientRequestToken":{"shape":"ClientRequestToken"}, + "JobTag":{"shape":"JobTag"}, + "NotificationChannel":{"shape":"NotificationChannel"}, + "OutputConfig":{"shape":"OutputConfig"}, + "KMSKeyId":{"shape":"KMSKeyId"} + } + }, + "StartExpenseAnalysisResponse":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"} + } + }, "StatusMessage":{"type":"string"}, "String":{"type":"string"}, "TextType":{ diff --git a/models/apis/textract/2018-06-27/docs-2.json b/models/apis/textract/2018-06-27/docs-2.json index 56fd1e19225..b7d48f6ec23 100644 --- a/models/apis/textract/2018-06-27/docs-2.json +++ b/models/apis/textract/2018-06-27/docs-2.json @@ -7,8 +7,10 @@ "DetectDocumentText": "

Detects text in the input document. Amazon Textract can detect lines of text and the words that make up a line of text. The input document must be an image in JPEG or PNG format. DetectDocumentText returns the detected text in an array of Block objects.

Each document page has as an associated Block of type PAGE. Each PAGE Block object is the parent of LINE Block objects that represent the lines of detected text on a page. A LINE Block object is a parent for each word that makes up the line. Words are represented by Block objects of type WORD.

DetectDocumentText is a synchronous operation. To analyze documents asynchronously, use StartDocumentTextDetection.

For more information, see Document Text Detection.

", "GetDocumentAnalysis": "

Gets the results for an Amazon Textract asynchronous operation that analyzes text in a document.

You start asynchronous text analysis by calling StartDocumentAnalysis, which returns a job identifier (JobId). When the text analysis operation finishes, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that's registered in the initial call to StartDocumentAnalysis. To get the results of the text-detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentAnalysis, and pass the job identifier (JobId) from the initial call to StartDocumentAnalysis.

GetDocumentAnalysis returns an array of Block objects. The following types of information are returned:

Selection elements such as check boxes and option buttons (radio buttons) can be detected in form data and in tables. A SELECTION_ELEMENT Block object contains information about a selection element, including the selection status.

Use the MaxResults parameter to limit the number of blocks that are returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetDocumentAnalysis, and populate the NextToken request parameter with the token value that's returned from the previous call to GetDocumentAnalysis.

For more information, see Document Text Analysis.

", "GetDocumentTextDetection": "

Gets the results for an Amazon Textract asynchronous operation that detects text in a document. Amazon Textract can detect lines of text and the words that make up a line of text.

You start asynchronous text detection by calling StartDocumentTextDetection, which returns a job identifier (JobId). When the text detection operation finishes, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that's registered in the initial call to StartDocumentTextDetection. To get the results of the text-detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentTextDetection, and pass the job identifier (JobId) from the initial call to StartDocumentTextDetection.

GetDocumentTextDetection returns an array of Block objects.

Each document page has as an associated Block of type PAGE. Each PAGE Block object is the parent of LINE Block objects that represent the lines of detected text on a page. A LINE Block object is a parent for each word that makes up the line. Words are represented by Block objects of type WORD.

Use the MaxResults parameter to limit the number of blocks that are returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetDocumentTextDetection, and populate the NextToken request parameter with the token value that's returned from the previous call to GetDocumentTextDetection.

For more information, see Document Text Detection.

", - "StartDocumentAnalysis": "

Starts the asynchronous analysis of an input document for relationships between detected items such as key-value pairs, tables, and selection elements.

StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, and PDF format. The documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name of the document.

StartDocumentAnalysis returns a job identifier (JobId) that you use to get the results of the operation. When text analysis is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that you specify in NotificationChannel. To get the results of the text analysis operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentAnalysis, and pass the job identifier (JobId) from the initial call to StartDocumentAnalysis.

For more information, see Document Text Analysis.

", - "StartDocumentTextDetection": "

Starts the asynchronous detection of text in a document. Amazon Textract can detect lines of text and the words that make up a line of text.

StartDocumentTextDetection can analyze text in documents that are in JPEG, PNG, and PDF format. The documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name of the document.

StartTextDetection returns a job identifier (JobId) that you use to get the results of the operation. When text detection is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that you specify in NotificationChannel. To get the results of the text detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentTextDetection, and pass the job identifier (JobId) from the initial call to StartDocumentTextDetection.

For more information, see Document Text Detection.

" + "GetExpenseAnalysis": "

Gets the results for an Amazon Textract asynchronous operation that analyzes invoices and receipts. Amazon Textract finds contact information, items purchased, and vendor name, from input invoices and receipts.

You start asynchronous invoice/receipt analysis by calling StartExpenseAnalysis, which returns a job identifier (JobId). Upon completion of the invoice/receipt analysis, Amazon Textract publishes the completion status to the Amazon Simple Notification Service (Amazon SNS) topic. This topic must be registered in the initial call to StartExpenseAnalysis. To get the results of the invoice/receipt analysis operation, first ensure that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetExpenseAnalysis, and pass the job identifier (JobId) from the initial call to StartExpenseAnalysis.

Use the MaxResults parameter to limit the number of blocks that are returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetExpenseAnalysis, and populate the NextToken request parameter with the token value that's returned from the previous call to GetExpenseAnalysis.

For more information, see Analyzing Invoices and Receipts.

", + "StartDocumentAnalysis": "

Starts the asynchronous analysis of an input document for relationships between detected items such as key-value pairs, tables, and selection elements.

StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, TIFF, and PDF format. The documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name of the document.

StartDocumentAnalysis returns a job identifier (JobId) that you use to get the results of the operation. When text analysis is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that you specify in NotificationChannel. To get the results of the text analysis operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentAnalysis, and pass the job identifier (JobId) from the initial call to StartDocumentAnalysis.

For more information, see Document Text Analysis.

", + "StartDocumentTextDetection": "

Starts the asynchronous detection of text in a document. Amazon Textract can detect lines of text and the words that make up a line of text.

StartDocumentTextDetection can analyze text in documents that are in JPEG, PNG, TIFF, and PDF format. The documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name of the document.

StartTextDetection returns a job identifier (JobId) that you use to get the results of the operation. When text detection is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that you specify in NotificationChannel. To get the results of the text detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentTextDetection, and pass the job identifier (JobId) from the initial call to StartDocumentTextDetection.

For more information, see Document Text Detection.

", + "StartExpenseAnalysis": "

Starts the asynchronous analysis of invoices or receipts for data like contact information, items purchased, and vendor names.

StartExpenseAnalysis can analyze text in documents that are in JPEG, PNG, and PDF format. The documents must be stored in an Amazon S3 bucket. Use the DocumentLocation parameter to specify the name of your S3 bucket and the name of the document in that bucket.

StartExpenseAnalysis returns a job identifier (JobId) that you will provide to GetExpenseAnalysis to retrieve the results of the operation. When the analysis of the input invoices/receipts is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that you provide to the NotificationChannel. To obtain the results of the invoice and receipt analysis operation, ensure that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetExpenseAnalysis, and pass the job identifier (JobId) that was returned by your call to StartExpenseAnalysis.

For more information, see Analyzing Invoices and Receipts.

" }, "shapes": { "AccessDeniedException": { @@ -72,7 +74,8 @@ "base": null, "refs": { "StartDocumentAnalysisRequest$ClientRequestToken": "

The idempotent token that you use to identify the start request. If you use the same token with multiple StartDocumentAnalysis requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentally started more than once. For more information, see Calling Amazon Textract Asynchronous Operations.

", - "StartDocumentTextDetectionRequest$ClientRequestToken": "

The idempotent token that's used to identify the start request. If you use the same token with multiple StartDocumentTextDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentally started more than once. For more information, see Calling Amazon Textract Asynchronous Operations.

" + "StartDocumentTextDetectionRequest$ClientRequestToken": "

The idempotent token that's used to identify the start request. If you use the same token with multiple StartDocumentTextDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentally started more than once. For more information, see Calling Amazon Textract Asynchronous Operations.

", + "StartExpenseAnalysisRequest$ClientRequestToken": "

The idempotent token that's used to identify the start request. If you use the same token with multiple StartDocumentTextDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentally started more than once. For more information, see Calling Amazon Textract Asynchronous Operations

" } }, "ContentClassifier": { @@ -109,7 +112,8 @@ "base": "

The Amazon S3 bucket that contains the document to be processed. It's used by asynchronous operations such as StartDocumentTextDetection.

The input document can be an image file in JPEG or PNG format. It can also be a file in PDF format.

", "refs": { "StartDocumentAnalysisRequest$DocumentLocation": "

The location of the document to be processed.

", - "StartDocumentTextDetectionRequest$DocumentLocation": "

The location of the document to be processed.

" + "StartDocumentTextDetectionRequest$DocumentLocation": "

The location of the document to be processed.

", + "StartExpenseAnalysisRequest$DocumentLocation": "

The location of the document to be processed.

" } }, "DocumentMetadata": { @@ -119,7 +123,8 @@ "AnalyzeExpenseResponse$DocumentMetadata": null, "DetectDocumentTextResponse$DocumentMetadata": "

Metadata about the document. It contains the number of pages that are detected in the document.

", "GetDocumentAnalysisResponse$DocumentMetadata": "

Information about a document that Amazon Textract processed. DocumentMetadata is returned in every page of paginated responses from an Amazon Textract video operation.

", - "GetDocumentTextDetectionResponse$DocumentMetadata": "

Information about a document that Amazon Textract processed. DocumentMetadata is returned in every page of paginated responses from an Amazon Textract video operation.

" + "GetDocumentTextDetectionResponse$DocumentMetadata": "

Information about a document that Amazon Textract processed. DocumentMetadata is returned in every page of paginated responses from an Amazon Textract video operation.

", + "GetExpenseAnalysisResponse$DocumentMetadata": "

Information about a document that Amazon Textract processed. DocumentMetadata is returned in every page of paginated responses from an Amazon Textract operation.

" } }, "DocumentTooLargeException": { @@ -161,7 +166,8 @@ "ExpenseDocumentList": { "base": null, "refs": { - "AnalyzeExpenseResponse$ExpenseDocuments": "

The expenses detected by Amazon Textract.

" + "AnalyzeExpenseResponse$ExpenseDocuments": "

The expenses detected by Amazon Textract.

", + "GetExpenseAnalysisResponse$ExpenseDocuments": "

The expenses detected by Amazon Textract.

" } }, "ExpenseField": { @@ -240,6 +246,16 @@ "refs": { } }, + "GetExpenseAnalysisRequest": { + "base": null, + "refs": { + } + }, + "GetExpenseAnalysisResponse": { + "base": null, + "refs": { + } + }, "HumanLoopActivationConditionsEvaluationResults": { "base": null, "refs": { @@ -340,29 +356,34 @@ "refs": { "GetDocumentAnalysisRequest$JobId": "

A unique identifier for the text-detection job. The JobId is returned from StartDocumentAnalysis. A JobId value is only valid for 7 days.

", "GetDocumentTextDetectionRequest$JobId": "

A unique identifier for the text detection job. The JobId is returned from StartDocumentTextDetection. A JobId value is only valid for 7 days.

", + "GetExpenseAnalysisRequest$JobId": "

A unique identifier for the text detection job. The JobId is returned from StartExpenseAnalysis. A JobId value is only valid for 7 days.

", "StartDocumentAnalysisResponse$JobId": "

The identifier for the document text detection job. Use JobId to identify the job in a subsequent call to GetDocumentAnalysis. A JobId value is only valid for 7 days.

", - "StartDocumentTextDetectionResponse$JobId": "

The identifier of the text detection job for the document. Use JobId to identify the job in a subsequent call to GetDocumentTextDetection. A JobId value is only valid for 7 days.

" + "StartDocumentTextDetectionResponse$JobId": "

The identifier of the text detection job for the document. Use JobId to identify the job in a subsequent call to GetDocumentTextDetection. A JobId value is only valid for 7 days.

", + "StartExpenseAnalysisResponse$JobId": "

A unique identifier for the text detection job. The JobId is returned from StartExpenseAnalysis. A JobId value is only valid for 7 days.

" } }, "JobStatus": { "base": null, "refs": { "GetDocumentAnalysisResponse$JobStatus": "

The current status of the text detection job.

", - "GetDocumentTextDetectionResponse$JobStatus": "

The current status of the text detection job.

" + "GetDocumentTextDetectionResponse$JobStatus": "

The current status of the text detection job.

", + "GetExpenseAnalysisResponse$JobStatus": "

The current status of the text detection job.

" } }, "JobTag": { "base": null, "refs": { "StartDocumentAnalysisRequest$JobTag": "

An identifier that you specify that's included in the completion notification published to the Amazon SNS topic. For example, you can use JobTag to identify the type of document that the completion notification corresponds to (such as a tax form or a receipt).

", - "StartDocumentTextDetectionRequest$JobTag": "

An identifier that you specify that's included in the completion notification published to the Amazon SNS topic. For example, you can use JobTag to identify the type of document that the completion notification corresponds to (such as a tax form or a receipt).

" + "StartDocumentTextDetectionRequest$JobTag": "

An identifier that you specify that's included in the completion notification published to the Amazon SNS topic. For example, you can use JobTag to identify the type of document that the completion notification corresponds to (such as a tax form or a receipt).

", + "StartExpenseAnalysisRequest$JobTag": "

An identifier you specify that's included in the completion notification published to the Amazon SNS topic. For example, you can use JobTag to identify the type of document that the completion notification corresponds to (such as a tax form or a receipt).

" } }, "KMSKeyId": { "base": null, "refs": { "StartDocumentAnalysisRequest$KMSKeyId": "

The KMS key used to encrypt the inference results. This can be in either Key ID or Key Alias format. When a KMS key is provided, the KMS key will be used for server-side encryption of the objects in the customer bucket. When this parameter is not enabled, the result will be encrypted server side,using SSE-S3.

", - "StartDocumentTextDetectionRequest$KMSKeyId": "

The KMS key used to encrypt the inference results. This can be in either Key ID or Key Alias format. When a KMS key is provided, the KMS key will be used for server-side encryption of the objects in the customer bucket. When this parameter is not enabled, the result will be encrypted server side,using SSE-S3.

" + "StartDocumentTextDetectionRequest$KMSKeyId": "

The KMS key used to encrypt the inference results. This can be in either Key ID or Key Alias format. When a KMS key is provided, the KMS key will be used for server-side encryption of the objects in the customer bucket. When this parameter is not enabled, the result will be encrypted server side,using SSE-S3.

", + "StartExpenseAnalysisRequest$KMSKeyId": "

The KMS key used to encrypt the inference results. This can be in either Key ID or Key Alias format. When a KMS key is provided, the KMS key will be used for server-side encryption of the objects in the customer bucket. When this parameter is not enabled, the result will be encrypted server side,using SSE-S3.

" } }, "LimitExceededException": { @@ -398,7 +419,8 @@ "base": null, "refs": { "GetDocumentAnalysisRequest$MaxResults": "

The maximum number of results to return per paginated call. The largest value that you can specify is 1,000. If you specify a value greater than 1,000, a maximum of 1,000 results is returned. The default value is 1,000.

", - "GetDocumentTextDetectionRequest$MaxResults": "

The maximum number of results to return per paginated call. The largest value you can specify is 1,000. If you specify a value greater than 1,000, a maximum of 1,000 results is returned. The default value is 1,000.

" + "GetDocumentTextDetectionRequest$MaxResults": "

The maximum number of results to return per paginated call. The largest value you can specify is 1,000. If you specify a value greater than 1,000, a maximum of 1,000 results is returned. The default value is 1,000.

", + "GetExpenseAnalysisRequest$MaxResults": "

The maximum number of results to return per paginated call. The largest value you can specify is 20. If you specify a value greater than 20, a maximum of 20 results is returned. The default value is 20.

" } }, "NonEmptyString": { @@ -412,14 +434,16 @@ "base": "

The Amazon Simple Notification Service (Amazon SNS) topic to which Amazon Textract publishes the completion status of an asynchronous document operation, such as StartDocumentTextDetection.

", "refs": { "StartDocumentAnalysisRequest$NotificationChannel": "

The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the operation to.

", - "StartDocumentTextDetectionRequest$NotificationChannel": "

The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the operation to.

" + "StartDocumentTextDetectionRequest$NotificationChannel": "

The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the operation to.

", + "StartExpenseAnalysisRequest$NotificationChannel": "

The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the operation to.

" } }, "OutputConfig": { "base": "

Sets whether or not your output will go to a user created bucket. Used to set the name of the bucket, and the prefix on the output file.

OutputConfig is an optional parameter which lets you adjust where your output will be placed. By default, Amazon Textract will store the results internally and can only be accessed by the Get API operations. With OutputConfig enabled, you can set the name of the bucket the output will be sent to and the file prefix of the results where you can download your results. Additionally, you can set the KMSKeyID parameter to a customer master key (CMK) to encrypt your output. Without this parameter set Amazon Textract will encrypt server-side using the AWS managed CMK for Amazon S3.

Decryption of Customer Content is necessary for processing of the documents by Amazon Textract. If your account is opted out under an AI services opt out policy then all unencrypted Customer Content is immediately and permanently deleted after the Customer Content has been processed by the service. No copy of of the output is retained by Amazon Textract. For information about how to opt out, see Managing AI services opt-out policy.

For more information on data privacy, see the Data Privacy FAQ.

", "refs": { "StartDocumentAnalysisRequest$OutputConfig": "

Sets if the output will go to a customer defined bucket. By default, Amazon Textract will save the results internally to be accessed by the GetDocumentAnalysis operation.

", - "StartDocumentTextDetectionRequest$OutputConfig": "

Sets if the output will go to a customer defined bucket. By default Amazon Textract will save the results internally to be accessed with the GetDocumentTextDetection operation.

" + "StartDocumentTextDetectionRequest$OutputConfig": "

Sets if the output will go to a customer defined bucket. By default Amazon Textract will save the results internally to be accessed with the GetDocumentTextDetection operation.

", + "StartExpenseAnalysisRequest$OutputConfig": "

Sets if the output will go to a customer defined bucket. By default, Amazon Textract will save the results internally to be accessed by the GetExpenseAnalysis operation.

" } }, "Pages": { @@ -434,7 +458,9 @@ "GetDocumentAnalysisRequest$NextToken": "

If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination token in the response. You can use this pagination token to retrieve the next set of blocks.

", "GetDocumentAnalysisResponse$NextToken": "

If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text detection results.

", "GetDocumentTextDetectionRequest$NextToken": "

If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination token in the response. You can use this pagination token to retrieve the next set of blocks.

", - "GetDocumentTextDetectionResponse$NextToken": "

If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text-detection results.

" + "GetDocumentTextDetectionResponse$NextToken": "

If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text-detection results.

", + "GetExpenseAnalysisRequest$NextToken": "

If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination token in the response. You can use this pagination token to retrieve the next set of blocks.

", + "GetExpenseAnalysisResponse$NextToken": "

If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text-detection results.

" } }, "Percent": { @@ -504,7 +530,7 @@ "base": null, "refs": { "OutputConfig$S3Prefix": "

The prefix of the object key that the output will be saved to. When not enabled, the prefix will be “textract_output\".

", - "S3Object$Name": "

The file name of the input document. Synchronous operations can use image files that are in JPEG or PNG format. Asynchronous operations also support PDF format files.

" + "S3Object$Name": "

The file name of the input document. Synchronous operations can use image files that are in JPEG or PNG format. Asynchronous operations also support PDF and TIFF format files.

" } }, "S3ObjectVersion": { @@ -545,11 +571,22 @@ "refs": { } }, + "StartExpenseAnalysisRequest": { + "base": null, + "refs": { + } + }, + "StartExpenseAnalysisResponse": { + "base": null, + "refs": { + } + }, "StatusMessage": { "base": null, "refs": { "GetDocumentAnalysisResponse$StatusMessage": "

Returns if the detection job could not be completed. Contains explanation for what error occured.

", - "GetDocumentTextDetectionResponse$StatusMessage": "

Returns if the detection job could not be completed. Contains explanation for what error occured.

" + "GetDocumentTextDetectionResponse$StatusMessage": "

Returns if the detection job could not be completed. Contains explanation for what error occured.

", + "GetExpenseAnalysisResponse$StatusMessage": "

Returns if the detection job could not be completed. Contains explanation for what error occured.

" } }, "String": { @@ -562,6 +599,7 @@ "ExpenseType$Text": "

The word or line of text detected by Amazon Textract.

", "GetDocumentAnalysisResponse$AnalyzeDocumentModelVersion": "

", "GetDocumentTextDetectionResponse$DetectDocumentTextModelVersion": "

", + "GetExpenseAnalysisResponse$AnalyzeExpenseModelVersion": "

The current model version of AnalyzeExpense.

", "HumanLoopQuotaExceededException$ResourceType": "

The resource type.

", "HumanLoopQuotaExceededException$QuotaCode": "

The quota code.

", "HumanLoopQuotaExceededException$ServiceCode": "

The service code.

" @@ -585,7 +623,7 @@ "Block$ColumnIndex": "

The column in which a table cell appears. The first column position is 1. ColumnIndex isn't returned by DetectDocumentText and GetDocumentTextDetection.

", "Block$RowSpan": "

The number of rows that a table cell spans. Currently this value is always 1, even if the number of rows spanned is greater than 1. RowSpan isn't returned by DetectDocumentText and GetDocumentTextDetection.

", "Block$ColumnSpan": "

The number of columns that a table cell spans. Currently this value is always 1, even if the number of columns spanned is greater than 1. ColumnSpan isn't returned by DetectDocumentText and GetDocumentTextDetection.

", - "Block$Page": "

The page on which a block was detected. Page is returned by asynchronous operations. Page values greater than 1 are only returned for multipage documents that are in PDF format. A scanned image (JPEG/PNG), even if it contains multiple document pages, is considered to be a single-page document. The value of Page is always 1. Synchronous operations don't return Page because every input document is considered to be a single-page document.

", + "Block$Page": "

The page on which a block was detected. Page is returned by asynchronous operations. Page values greater than 1 are only returned for multipage documents that are in PDF or TIFF format. A scanned image (JPEG/PNG), even if it contains multiple document pages, is considered to be a single-page document. The value of Page is always 1. Synchronous operations don't return Page because every input document is considered to be a single-page document.

", "DocumentMetadata$Pages": "

The number of pages that are detected in the document.

", "ExpenseDocument$ExpenseIndex": "

Denotes which invoice or receipt in the document the information is coming from. First document will be 1, the second 2, and so on.

", "ExpenseField$PageNumber": "

The page number the value was detected on.

", @@ -608,7 +646,8 @@ "base": null, "refs": { "GetDocumentAnalysisResponse$Warnings": "

A list of warnings that occurred during the document-analysis operation.

", - "GetDocumentTextDetectionResponse$Warnings": "

A list of warnings that occurred during the text-detection operation for the document.

" + "GetDocumentTextDetectionResponse$Warnings": "

A list of warnings that occurred during the text-detection operation for the document.

", + "GetExpenseAnalysisResponse$Warnings": "

A list of warnings that occurred during the text-detection operation for the document.

" } } } diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 396f2c99abe..963087c5c76 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -5251,6 +5251,15 @@ "us-west-2" : { } } }, + "nimble" : { + "endpoints" : { + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, "oidc" : { "endpoints" : { "ap-northeast-1" : { diff --git a/service/autoscaling/api.go b/service/autoscaling/api.go index a09645f1d05..6d51b0eccf5 100644 --- a/service/autoscaling/api.go +++ b/service/autoscaling/api.go @@ -6174,6 +6174,90 @@ func (c *AutoScaling) UpdateAutoScalingGroupWithContext(ctx aws.Context, input * return out, req.Send() } +// Specifies the minimum and maximum for the AcceleratorCount object when you +// specify InstanceRequirements for an Auto Scaling group. +type AcceleratorCountRequest struct { + _ struct{} `type:"structure"` + + // The maximum value. + Max *int64 `type:"integer"` + + // The minimum value. + Min *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceleratorCountRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceleratorCountRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *AcceleratorCountRequest) SetMax(v int64) *AcceleratorCountRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *AcceleratorCountRequest) SetMin(v int64) *AcceleratorCountRequest { + s.Min = &v + return s +} + +// Specifies the minimum and maximum for the AcceleratorTotalMemoryMiB object +// when you specify InstanceRequirements for an Auto Scaling group. +type AcceleratorTotalMemoryMiBRequest struct { + _ struct{} `type:"structure"` + + // The memory maximum in MiB. + Max *int64 `type:"integer"` + + // The memory minimum in MiB. + Min *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceleratorTotalMemoryMiBRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceleratorTotalMemoryMiBRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *AcceleratorTotalMemoryMiBRequest) SetMax(v int64) *AcceleratorTotalMemoryMiBRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *AcceleratorTotalMemoryMiBRequest) SetMin(v int64) *AcceleratorTotalMemoryMiBRequest { + s.Min = &v + return s +} + // Describes scaling activity, which is a long-running process that represents // a change to your Auto Scaling group, such as changing its size or replacing // an instance. @@ -6644,6 +6728,48 @@ func (s AttachLoadBalancersOutput) GoString() string { return s.String() } +// Specifies the minimum and maximum for the BaselineEbsBandwidthMbps object +// when you specify InstanceRequirements for an Auto Scaling group. +type BaselineEbsBandwidthMbpsRequest struct { + _ struct{} `type:"structure"` + + // The maximum value in Mbps. + Max *int64 `type:"integer"` + + // The minimum value in Mbps. + Min *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BaselineEbsBandwidthMbpsRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BaselineEbsBandwidthMbpsRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *BaselineEbsBandwidthMbpsRequest) SetMax(v int64) *BaselineEbsBandwidthMbpsRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *BaselineEbsBandwidthMbpsRequest) SetMin(v int64) *BaselineEbsBandwidthMbpsRequest { + s.Min = &v + return s +} + type BatchDeleteScheduledActionInput struct { _ struct{} `type:"structure"` @@ -7243,6 +7369,18 @@ type CreateAutoScalingGroupInput struct { // the default is the minimum size of the group. DesiredCapacity *int64 `type:"integer"` + // The unit of measurement for the value specified for desired capacity. Amazon + // EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance + // type selection only. For more information, see Creating an Auto Scaling group + // using attribute-based instance type selection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) + // in the Amazon EC2 Auto Scaling User Guide. + // + // By default, Amazon EC2 Auto Scaling specifies units, which translates into + // number of instances. + // + // Valid values: units | vcpu | memory-mib + DesiredCapacityType *string `min:"1" type:"string"` + // The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before // checking the health status of an EC2 instance that has come into service. // During this time, any health check failures for the instance are ignored. @@ -7322,18 +7460,10 @@ type CreateAutoScalingGroupInput struct { // MinSize is a required field MinSize *int64 `type:"integer" required:"true"` - // An embedded object that specifies a mixed instances policy. The required - // properties must be specified. If optional properties are unspecified, their - // default values are used. - // - // The policy includes properties that not only define the distribution of On-Demand - // Instances and Spot Instances, the maximum price to pay for Spot Instances, - // and how the Auto Scaling group allocates instance types to fulfill On-Demand - // and Spot capacities, but also the properties that specify the instance configuration - // information—the launch template and instance types. The policy can also - // include a weight for each instance type and different launch templates for - // individual instance types. For more information, see Auto Scaling groups - // with multiple instance types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) + // An embedded object that specifies a mixed instances policy. + // + // For more information, see Auto Scaling groups with multiple instance types + // and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) // in the Amazon EC2 Auto Scaling User Guide. MixedInstancesPolicy *MixedInstancesPolicy `type:"structure"` @@ -7420,6 +7550,9 @@ func (s *CreateAutoScalingGroupInput) Validate() error { if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) } + if s.DesiredCapacityType != nil && len(*s.DesiredCapacityType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DesiredCapacityType", 1)) + } if s.HealthCheckType != nil && len(*s.HealthCheckType) < 1 { invalidParams.Add(request.NewErrParamMinLen("HealthCheckType", 1)) } @@ -7517,6 +7650,12 @@ func (s *CreateAutoScalingGroupInput) SetDesiredCapacity(v int64) *CreateAutoSca return s } +// SetDesiredCapacityType sets the DesiredCapacityType field's value. +func (s *CreateAutoScalingGroupInput) SetDesiredCapacityType(v string) *CreateAutoScalingGroupInput { + s.DesiredCapacityType = &v + return s +} + // SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value. func (s *CreateAutoScalingGroupInput) SetHealthCheckGracePeriod(v int64) *CreateAutoScalingGroupInput { s.HealthCheckGracePeriod = &v @@ -10782,8 +10921,8 @@ type DesiredConfiguration struct { LaunchTemplate *LaunchTemplateSpecification `type:"structure"` // Describes a mixed instances policy. A mixed instances policy contains the - // instance types Amazon EC2 Auto Scaling can launch, and other information - // Amazon EC2 Auto Scaling can use to launch instances to help you optimize + // instance types that Amazon EC2 Auto Scaling can launch and other information + // that Amazon EC2 Auto Scaling can use to launch instances and help optimize // your costs. For more information, see Auto Scaling groups with multiple instance // types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) // in the Amazon EC2 Auto Scaling User Guide. @@ -12001,8 +12140,9 @@ func (s *FailedScheduledUpdateGroupActionRequest) SetScheduledActionName(v strin // Describes a filter that is used to return a more specific list of results // from a describe operation. // -// If you specify multiple filters, the filters are joined with an AND, and -// the request returns only results that match all of the specified filters. +// If you specify multiple filters, the filters are automatically logically +// joined with an AND, and the request returns only the results that match all +// of the specified filters. // // For more information, see Tagging Auto Scaling groups and instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) // in the Amazon EC2 Auto Scaling User Guide. @@ -12011,50 +12151,50 @@ type Filter struct { // The name of the filter. // - // The valid values for Name depend on the API operation that you are including - // the filter in, DescribeAutoScalingGroups or DescribeTags. + // The valid values for Name depend on which API operation you're using with + // the filter (DescribeAutoScalingGroups or DescribeTags). // // DescribeAutoScalingGroups // // Valid values for Name include the following: // - // * tag-key - Accepts tag keys. The results will only include information - // about the Auto Scaling groups associated with these tag keys. + // * tag-key - Accepts tag keys. The results only include information about + // the Auto Scaling groups associated with these tag keys. // - // * tag-value - Accepts tag values. The results will only include information + // * tag-value - Accepts tag values. The results only include information // about the Auto Scaling groups associated with these tag values. // // * tag: - Accepts the key/value combination of the tag. Use the tag // key in the filter name and the tag value as the filter value. The results - // will only include information about the Auto Scaling groups associated - // with the specified key/value combination. + // only include information about the Auto Scaling groups associated with + // the specified key/value combination. // // DescribeTags // // Valid values for Name include the following: // // * auto-scaling-group - Accepts the names of Auto Scaling groups. The results - // will only include information about the tags associated with these Auto - // Scaling groups. + // only include information about the tags associated with these Auto Scaling + // groups. // - // * key - Accepts tag keys. The results will only include information about - // the tags associated with these tag keys. + // * key - Accepts tag keys. The results only include information about the + // tags associated with these tag keys. // - // * value - Accepts tag values. The results will only include information - // about the tags associated with these tag values. + // * value - Accepts tag values. The results only include information about + // the tags associated with these tag values. // - // * propagate-at-launch - Accepts a boolean value, which specifies whether - // tags propagate to instances at launch. The results will only include information - // about the tags associated with the specified boolean value. + // * propagate-at-launch - Accepts a Boolean value, which specifies whether + // tags propagate to instances at launch. The results only include information + // about the tags associated with the specified Boolean value. Name *string `type:"string"` // One or more filter values. Filter values are case-sensitive. // - // If you specify multiple values for a filter, the values are joined with an - // OR, and the request returns all results that match any of the specified values. - // For example, specify "tag:environment" for the filter name and "production,development" - // for the filter values to find Auto Scaling groups with the tag "environment=production" - // or "environment=development". + // If you specify multiple values for a filter, the values are automatically + // logically joined with an OR, and the request returns all results that match + // any of the specified values. For example, specify "tag:environment" for the + // filter name and "production,development" for the filter values to find Auto + // Scaling groups with the tag "environment=production" or "environment=development". Values []*string `type:"list"` } @@ -12281,6 +12421,18 @@ type Group struct { // DesiredCapacity is a required field DesiredCapacity *int64 `type:"integer" required:"true"` + // The unit of measurement for the value specified for desired capacity. Amazon + // EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance + // type selection only. For more information, see Creating an Auto Scaling group + // using attribute-based instance type selection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) + // in the Amazon EC2 Auto Scaling User Guide. + // + // By default, Amazon EC2 Auto Scaling specifies units, which translates into + // number of instances. + // + // Valid values: units | vcpu | memory-mib + DesiredCapacityType *string `min:"1" type:"string"` + // The metrics enabled for the group. EnabledMetrics []*EnabledMetric `type:"list"` @@ -12432,6 +12584,12 @@ func (s *Group) SetDesiredCapacity(v int64) *Group { return s } +// SetDesiredCapacityType sets the DesiredCapacityType field's value. +func (s *Group) SetDesiredCapacityType(v string) *Group { + s.DesiredCapacityType = &v + return s +} + // SetEnabledMetrics sets the EnabledMetrics field's value. func (s *Group) SetEnabledMetrics(v []*EnabledMetric) *Group { s.EnabledMetrics = v @@ -13229,75 +13387,205 @@ func (s *InstanceRefreshWarmPoolProgress) SetPercentageComplete(v int64) *Instan return s } -// Describes an instances distribution for an Auto Scaling group with a MixedInstancesPolicy. -// -// The instances distribution specifies the distribution of On-Demand Instances -// and Spot Instances, the maximum price to pay for Spot Instances, and how -// the Auto Scaling group allocates instance types to fulfill On-Demand and -// Spot capacities. +// When you specify multiple parameters, you get instance types that satisfy +// all of the specified parameters. If you specify multiple values for a parameter, +// you get instance types that satisfy any of the specified values. // -// When you modify SpotAllocationStrategy, SpotInstancePools, or SpotMaxPrice -// in the UpdateAutoScalingGroup API call, this update action does not deploy -// any changes across the running Amazon EC2 instances in the group. Your existing -// Spot Instances continue to run as long as the maximum price for those instances -// is higher than the current Spot price. When scale out occurs, Amazon EC2 -// Auto Scaling launches instances based on the new settings. When scale in -// occurs, Amazon EC2 Auto Scaling terminates instances according to the group's -// termination policies. -type InstancesDistribution struct { +// Represents requirements for the types of instances that can be launched. +// You must specify VCpuCount and MemoryMiB, but all other parameters are optional. +// For more information, see Creating an Auto Scaling group using attribute-based +// instance type selection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) +// in the Amazon EC2 Auto Scaling User Guide. +type InstanceRequirements struct { _ struct{} `type:"structure"` - // Indicates how to allocate instance types to fulfill On-Demand capacity. The - // only valid value is prioritized, which is also the default value. This strategy - // uses the order of instance types in the LaunchTemplateOverrides to define - // the launch priority of each instance type. The first instance type in the - // array is prioritized higher than the last. If all your On-Demand capacity - // cannot be fulfilled using your highest priority instance, then the Auto Scaling - // groups launches the remaining capacity using the second priority instance - // type, and so on. - OnDemandAllocationStrategy *string `type:"string"` + // The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web + // Services Inferentia chips) for an instance type. + // + // To exclude accelerator-enabled instance types, set Max to 0. + // + // Default: No minimum or maximum + AcceleratorCount *AcceleratorCountRequest `type:"structure"` - // The minimum amount of the Auto Scaling group's capacity that must be fulfilled - // by On-Demand Instances. This base portion is provisioned first as your group - // scales. Defaults to 0 if not specified. If you specify weights for the instance - // types in the overrides, set the value of OnDemandBaseCapacity in terms of - // the number of capacity units, and not the number of instances. - OnDemandBaseCapacity *int64 `type:"integer"` + // Indicates whether instance types must have accelerators by specific manufacturers. + // + // * For instance types with NVIDIA devices, specify nvidia. + // + // * For instance types with AMD devices, specify amd. + // + // * For instance types with Amazon Web Services devices, specify amazon-web-services. + // + // * For instance types with Xilinx devices, specify xilinx. + // + // Default: Any manufacturer + AcceleratorManufacturers []*string `type:"list"` - // Controls the percentages of On-Demand Instances and Spot Instances for your - // additional capacity beyond OnDemandBaseCapacity. Expressed as a number (for - // example, 20 specifies 20% On-Demand Instances, 80% Spot Instances). Defaults - // to 100 if not specified. If set to 100, only On-Demand Instances are provisioned. - OnDemandPercentageAboveBaseCapacity *int64 `type:"integer"` + // Lists the accelerators that must be on an instance type. + // + // * For instance types with NVIDIA A100 GPUs, specify a100. + // + // * For instance types with NVIDIA V100 GPUs, specify v100. + // + // * For instance types with NVIDIA K80 GPUs, specify k80. + // + // * For instance types with NVIDIA T4 GPUs, specify t4. + // + // * For instance types with NVIDIA M60 GPUs, specify m60. + // + // * For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520. + // + // * For instance types with Xilinx VU9P FPGAs, specify vu9p. + // + // Default: Any accelerator + AcceleratorNames []*string `type:"list"` - // Indicates how to allocate instances across Spot Instance pools. + // The minimum and maximum total memory size for the accelerators on an instance + // type, in MiB. // - // If the allocation strategy is lowest-price, the Auto Scaling group launches - // instances using the Spot pools with the lowest price, and evenly allocates - // your instances across the number of Spot pools that you specify. Defaults - // to lowest-price if not specified. + // Default: No minimum or maximum + AcceleratorTotalMemoryMiB *AcceleratorTotalMemoryMiBRequest `type:"structure"` + + // Lists the accelerator types that must be on an instance type. // - // If the allocation strategy is capacity-optimized (recommended), the Auto - // Scaling group launches instances using Spot pools that are optimally chosen - // based on the available Spot capacity. Alternatively, you can use capacity-optimized-prioritized - // and set the order of instance types in the list of launch template overrides - // from highest to lowest priority (from first to last in the list). Amazon - // EC2 Auto Scaling honors the instance type priorities on a best-effort basis - // but optimizes for capacity first. - SpotAllocationStrategy *string `type:"string"` + // * For instance types with GPU accelerators, specify gpu. + // + // * For instance types with FPGA accelerators, specify fpga. + // + // * For instance types with inference accelerators, specify inference. + // + // Default: Any accelerator type + AcceleratorTypes []*string `type:"list"` - // The number of Spot Instance pools across which to allocate your Spot Instances. - // The Spot pools are determined from the different instance types in the overrides. - // Valid only when the Spot allocation strategy is lowest-price. Value must - // be in the range of 1 to 20. Defaults to 2 if not specified. - SpotInstancePools *int64 `type:"integer"` + // Indicates whether bare metal instance types are included, excluded, or required. + // + // Default: excluded + BareMetal *string `type:"string" enum:"BareMetal"` - // The maximum price per unit hour that you are willing to pay for a Spot Instance. - // If you leave the value at its default (empty), Amazon EC2 Auto Scaling uses - // the On-Demand price as the maximum Spot price. To remove a value that you - // previously set, include the property but specify an empty string ("") for - // the value. - SpotMaxPrice *string `type:"string"` + // The minimum and maximum baseline bandwidth performance for an instance type, + // in Mbps. For more information, see Amazon EBS–optimized instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) + // in the Amazon EC2 User Guide for Linux Instances. + // + // Default: No minimum or maximum + BaselineEbsBandwidthMbps *BaselineEbsBandwidthMbpsRequest `type:"structure"` + + // Indicates whether burstable performance instance types are included, excluded, + // or required. For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) + // in the Amazon EC2 User Guide for Linux Instances. + // + // Default: excluded + BurstablePerformance *string `type:"string" enum:"BurstablePerformance"` + + // Lists which specific CPU manufacturers to include. + // + // * For instance types with Intel CPUs, specify intel. + // + // * For instance types with AMD CPUs, specify amd. + // + // * For instance types with Amazon Web Services CPUs, specify amazon-web-services. + // + // Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. + // Instances will be launched with a compatible CPU architecture based on the + // Amazon Machine Image (AMI) that you specify in your launch template. + // + // Default: Any manufacturer + CpuManufacturers []*string `type:"list"` + + // Lists which instance types to exclude. You can use strings with one or more + // wild cards, represented by an asterisk (*). The following are examples: c5*, + // m5a.*, r*, *3*. + // + // For example, if you specify c5*, you are excluding the entire C5 instance + // family, which includes all C5a and C5n instance types. If you specify m5a.*, + // you are excluding all the M5a instance types, but not the M5n instance types. + // + // Default: No excluded instance types + ExcludedInstanceTypes []*string `type:"list"` + + // Indicates whether current or previous generation instance types are included. + // + // * For current generation instance types, specify current. The current + // generation includes EC2 instance types currently recommended for use. + // This typically includes the latest two to three generations in each instance + // family. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // in the Amazon EC2 User Guide for Linux Instances. + // + // * For previous generation instance types, specify previous. + // + // Default: Any current or previous generation + InstanceGenerations []*string `type:"list"` + + // Indicates whether instance types with instance store volumes are included, + // excluded, or required. For more information, see Amazon EC2 instance store + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) + // in the Amazon EC2 User Guide for Linux Instances. + // + // Default: included + LocalStorage *string `type:"string" enum:"LocalStorage"` + + // Indicates the type of local storage that is required. + // + // * For instance types with hard disk drive (HDD) storage, specify hdd. + // + // * For instance types with solid state drive (SSD) storage, specify sdd. + // + // Default: Any local storage type + LocalStorageTypes []*string `type:"list"` + + // The minimum and maximum amount of memory per vCPU for an instance type, in + // GiB. + // + // Default: No minimum or maximum + MemoryGiBPerVCpu *MemoryGiBPerVCpuRequest `type:"structure"` + + // The minimum and maximum instance memory size for an instance type, in MiB. + // + // MemoryMiB is a required field + MemoryMiB *MemoryMiBRequest `type:"structure" required:"true"` + + // The minimum and maximum number of network interfaces for an instance type. + // + // Default: No minimum or maximum + NetworkInterfaceCount *NetworkInterfaceCountRequest `type:"structure"` + + // The price protection threshold for On-Demand Instances. This is the maximum + // you’ll pay for an On-Demand Instance, expressed as a percentage higher + // than the cheapest M, C, or R instance type with your specified attributes. + // When Amazon EC2 Auto Scaling selects instance types with your attributes, + // we will exclude instance types whose price is higher than your threshold. + // The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets + // as a percentage. To turn off price protection, specify a high value, such + // as 999999. + // + // Default: 20 + OnDemandMaxPricePercentageOverLowestPrice *int64 `type:"integer"` + + // Indicates whether instance types must provide On-Demand Instance hibernation + // support. + // + // Default: false + RequireHibernateSupport *bool `type:"boolean"` + + // The price protection threshold for Spot Instances. This is the maximum you’ll + // pay for a Spot Instance, expressed as a percentage higher than the cheapest + // M, C, or R instance type with your specified attributes. When Amazon EC2 + // Auto Scaling selects instance types with your attributes, we will exclude + // instance types whose price is higher than your threshold. The parameter accepts + // an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To + // turn off price protection, specify a high value, such as 999999. + // + // Default: 100 + SpotMaxPricePercentageOverLowestPrice *int64 `type:"integer"` + + // The minimum and maximum total local storage size for an instance type, in + // GB. + // + // Default: No minimum or maximum + TotalLocalStorageGB *TotalLocalStorageGBRequest `type:"structure"` + + // The minimum and maximum number of vCPUs for an instance type. + // + // VCpuCount is a required field + VCpuCount *VCpuCountRequest `type:"structure" required:"true"` } // String returns the string representation. @@ -13305,7 +13593,7 @@ type InstancesDistribution struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InstancesDistribution) String() string { +func (s InstanceRequirements) String() string { return awsutil.Prettify(s) } @@ -13314,79 +13602,322 @@ func (s InstancesDistribution) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InstancesDistribution) GoString() string { +func (s InstanceRequirements) GoString() string { return s.String() } -// SetOnDemandAllocationStrategy sets the OnDemandAllocationStrategy field's value. -func (s *InstancesDistribution) SetOnDemandAllocationStrategy(v string) *InstancesDistribution { - s.OnDemandAllocationStrategy = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceRequirements) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceRequirements"} + if s.MemoryMiB == nil { + invalidParams.Add(request.NewErrParamRequired("MemoryMiB")) + } + if s.VCpuCount == nil { + invalidParams.Add(request.NewErrParamRequired("VCpuCount")) + } + if s.MemoryMiB != nil { + if err := s.MemoryMiB.Validate(); err != nil { + invalidParams.AddNested("MemoryMiB", err.(request.ErrInvalidParams)) + } + } + if s.VCpuCount != nil { + if err := s.VCpuCount.Validate(); err != nil { + invalidParams.AddNested("VCpuCount", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorCount sets the AcceleratorCount field's value. +func (s *InstanceRequirements) SetAcceleratorCount(v *AcceleratorCountRequest) *InstanceRequirements { + s.AcceleratorCount = v return s } -// SetOnDemandBaseCapacity sets the OnDemandBaseCapacity field's value. -func (s *InstancesDistribution) SetOnDemandBaseCapacity(v int64) *InstancesDistribution { - s.OnDemandBaseCapacity = &v +// SetAcceleratorManufacturers sets the AcceleratorManufacturers field's value. +func (s *InstanceRequirements) SetAcceleratorManufacturers(v []*string) *InstanceRequirements { + s.AcceleratorManufacturers = v return s } -// SetOnDemandPercentageAboveBaseCapacity sets the OnDemandPercentageAboveBaseCapacity field's value. -func (s *InstancesDistribution) SetOnDemandPercentageAboveBaseCapacity(v int64) *InstancesDistribution { - s.OnDemandPercentageAboveBaseCapacity = &v +// SetAcceleratorNames sets the AcceleratorNames field's value. +func (s *InstanceRequirements) SetAcceleratorNames(v []*string) *InstanceRequirements { + s.AcceleratorNames = v return s } -// SetSpotAllocationStrategy sets the SpotAllocationStrategy field's value. -func (s *InstancesDistribution) SetSpotAllocationStrategy(v string) *InstancesDistribution { - s.SpotAllocationStrategy = &v +// SetAcceleratorTotalMemoryMiB sets the AcceleratorTotalMemoryMiB field's value. +func (s *InstanceRequirements) SetAcceleratorTotalMemoryMiB(v *AcceleratorTotalMemoryMiBRequest) *InstanceRequirements { + s.AcceleratorTotalMemoryMiB = v return s } -// SetSpotInstancePools sets the SpotInstancePools field's value. -func (s *InstancesDistribution) SetSpotInstancePools(v int64) *InstancesDistribution { - s.SpotInstancePools = &v +// SetAcceleratorTypes sets the AcceleratorTypes field's value. +func (s *InstanceRequirements) SetAcceleratorTypes(v []*string) *InstanceRequirements { + s.AcceleratorTypes = v return s } -// SetSpotMaxPrice sets the SpotMaxPrice field's value. -func (s *InstancesDistribution) SetSpotMaxPrice(v string) *InstancesDistribution { - s.SpotMaxPrice = &v +// SetBareMetal sets the BareMetal field's value. +func (s *InstanceRequirements) SetBareMetal(v string) *InstanceRequirements { + s.BareMetal = &v return s } -// Describes a launch configuration. -type LaunchConfiguration struct { - _ struct{} `type:"structure"` +// SetBaselineEbsBandwidthMbps sets the BaselineEbsBandwidthMbps field's value. +func (s *InstanceRequirements) SetBaselineEbsBandwidthMbps(v *BaselineEbsBandwidthMbpsRequest) *InstanceRequirements { + s.BaselineEbsBandwidthMbps = v + return s +} - // For Auto Scaling groups that are running in a VPC, specifies whether to assign - // a public IP address to the group's instances. For more information, see Launching - // Auto Scaling instances in a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html) - // in the Amazon EC2 Auto Scaling User Guide. - AssociatePublicIpAddress *bool `type:"boolean"` +// SetBurstablePerformance sets the BurstablePerformance field's value. +func (s *InstanceRequirements) SetBurstablePerformance(v string) *InstanceRequirements { + s.BurstablePerformance = &v + return s +} - // A block device mapping, which specifies the block devices for the instance. - // For more information, see Block Device Mapping (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) - // in the Amazon EC2 User Guide for Linux Instances. - BlockDeviceMappings []*BlockDeviceMapping `type:"list"` +// SetCpuManufacturers sets the CpuManufacturers field's value. +func (s *InstanceRequirements) SetCpuManufacturers(v []*string) *InstanceRequirements { + s.CpuManufacturers = v + return s +} - // The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. - // For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) - // in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic - // instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink) - // in the Amazon EC2 Auto Scaling User Guide. - ClassicLinkVPCId *string `min:"1" type:"string"` +// SetExcludedInstanceTypes sets the ExcludedInstanceTypes field's value. +func (s *InstanceRequirements) SetExcludedInstanceTypes(v []*string) *InstanceRequirements { + s.ExcludedInstanceTypes = v + return s +} - // The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId. - // - // For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) - // in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic - // instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink) - // in the Amazon EC2 Auto Scaling User Guide. - ClassicLinkVPCSecurityGroups []*string `type:"list"` +// SetInstanceGenerations sets the InstanceGenerations field's value. +func (s *InstanceRequirements) SetInstanceGenerations(v []*string) *InstanceRequirements { + s.InstanceGenerations = v + return s +} - // The creation date and time for the launch configuration. - // - // CreatedTime is a required field +// SetLocalStorage sets the LocalStorage field's value. +func (s *InstanceRequirements) SetLocalStorage(v string) *InstanceRequirements { + s.LocalStorage = &v + return s +} + +// SetLocalStorageTypes sets the LocalStorageTypes field's value. +func (s *InstanceRequirements) SetLocalStorageTypes(v []*string) *InstanceRequirements { + s.LocalStorageTypes = v + return s +} + +// SetMemoryGiBPerVCpu sets the MemoryGiBPerVCpu field's value. +func (s *InstanceRequirements) SetMemoryGiBPerVCpu(v *MemoryGiBPerVCpuRequest) *InstanceRequirements { + s.MemoryGiBPerVCpu = v + return s +} + +// SetMemoryMiB sets the MemoryMiB field's value. +func (s *InstanceRequirements) SetMemoryMiB(v *MemoryMiBRequest) *InstanceRequirements { + s.MemoryMiB = v + return s +} + +// SetNetworkInterfaceCount sets the NetworkInterfaceCount field's value. +func (s *InstanceRequirements) SetNetworkInterfaceCount(v *NetworkInterfaceCountRequest) *InstanceRequirements { + s.NetworkInterfaceCount = v + return s +} + +// SetOnDemandMaxPricePercentageOverLowestPrice sets the OnDemandMaxPricePercentageOverLowestPrice field's value. +func (s *InstanceRequirements) SetOnDemandMaxPricePercentageOverLowestPrice(v int64) *InstanceRequirements { + s.OnDemandMaxPricePercentageOverLowestPrice = &v + return s +} + +// SetRequireHibernateSupport sets the RequireHibernateSupport field's value. +func (s *InstanceRequirements) SetRequireHibernateSupport(v bool) *InstanceRequirements { + s.RequireHibernateSupport = &v + return s +} + +// SetSpotMaxPricePercentageOverLowestPrice sets the SpotMaxPricePercentageOverLowestPrice field's value. +func (s *InstanceRequirements) SetSpotMaxPricePercentageOverLowestPrice(v int64) *InstanceRequirements { + s.SpotMaxPricePercentageOverLowestPrice = &v + return s +} + +// SetTotalLocalStorageGB sets the TotalLocalStorageGB field's value. +func (s *InstanceRequirements) SetTotalLocalStorageGB(v *TotalLocalStorageGBRequest) *InstanceRequirements { + s.TotalLocalStorageGB = v + return s +} + +// SetVCpuCount sets the VCpuCount field's value. +func (s *InstanceRequirements) SetVCpuCount(v *VCpuCountRequest) *InstanceRequirements { + s.VCpuCount = v + return s +} + +// Describes an instances distribution for an Auto Scaling group. +type InstancesDistribution struct { + _ struct{} `type:"structure"` + + // The order of the launch template overrides to use in fulfilling On-Demand + // capacity. + // + // If you specify lowest-price, Amazon EC2 Auto Scaling uses price to determine + // the order, launching the lowest price first. + // + // If you specify prioritized, Amazon EC2 Auto Scaling uses the priority that + // you assigned to each launch template override, launching the highest priority + // first. If all your On-Demand capacity cannot be fulfilled using your highest + // priority instance, then Amazon EC2 Auto Scaling launches the remaining capacity + // using the second priority instance type, and so on. + // + // Default: lowest-price for Auto Scaling groups that specify InstanceRequirements + // in the overrides and prioritized for Auto Scaling groups that don't. + OnDemandAllocationStrategy *string `type:"string"` + + // The minimum amount of the Auto Scaling group's capacity that must be fulfilled + // by On-Demand Instances. This base portion is launched first as your group + // scales. + // + // If you specify weights for the instance types in the overrides, the base + // capacity is measured in the same unit of measurement as the instance types. + // If you specify InstanceRequirements in the overrides, the base capacity is + // measured in the same unit of measurement as your group's desired capacity. + // + // Default: 0 + OnDemandBaseCapacity *int64 `type:"integer"` + + // Controls the percentages of On-Demand Instances and Spot Instances for your + // additional capacity beyond OnDemandBaseCapacity. Expressed as a number (for + // example, 20 specifies 20% On-Demand Instances, 80% Spot Instances). If set + // to 100, only On-Demand Instances are used. + // + // Default: 100 + OnDemandPercentageAboveBaseCapacity *int64 `type:"integer"` + + // Indicates how to allocate instances across Spot Instance pools. + // + // If the allocation strategy is lowest-price, the Auto Scaling group launches + // instances using the Spot pools with the lowest price, and evenly allocates + // your instances across the number of Spot pools that you specify. + // + // If the allocation strategy is capacity-optimized (recommended), the Auto + // Scaling group launches instances using Spot pools that are optimally chosen + // based on the available Spot capacity. Alternatively, you can use capacity-optimized-prioritized + // and set the order of instance types in the list of launch template overrides + // from highest to lowest priority (from first to last in the list). Amazon + // EC2 Auto Scaling honors the instance type priorities on a best-effort basis + // but optimizes for capacity first. + // + // Default: lowest-price + SpotAllocationStrategy *string `type:"string"` + + // The number of Spot Instance pools across which to allocate your Spot Instances. + // The Spot pools are determined from the different instance types in the overrides. + // Valid only when the Spot allocation strategy is lowest-price. Value must + // be in the range of 1–20. + // + // Default: 2 + SpotInstancePools *int64 `type:"integer"` + + // The maximum price per unit hour that you are willing to pay for a Spot Instance. + // If you keep the value at its default (unspecified), Amazon EC2 Auto Scaling + // uses the On-Demand price as the maximum Spot price. To remove a value that + // you previously set, include the property but specify an empty string ("") + // for the value. + SpotMaxPrice *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstancesDistribution) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstancesDistribution) GoString() string { + return s.String() +} + +// SetOnDemandAllocationStrategy sets the OnDemandAllocationStrategy field's value. +func (s *InstancesDistribution) SetOnDemandAllocationStrategy(v string) *InstancesDistribution { + s.OnDemandAllocationStrategy = &v + return s +} + +// SetOnDemandBaseCapacity sets the OnDemandBaseCapacity field's value. +func (s *InstancesDistribution) SetOnDemandBaseCapacity(v int64) *InstancesDistribution { + s.OnDemandBaseCapacity = &v + return s +} + +// SetOnDemandPercentageAboveBaseCapacity sets the OnDemandPercentageAboveBaseCapacity field's value. +func (s *InstancesDistribution) SetOnDemandPercentageAboveBaseCapacity(v int64) *InstancesDistribution { + s.OnDemandPercentageAboveBaseCapacity = &v + return s +} + +// SetSpotAllocationStrategy sets the SpotAllocationStrategy field's value. +func (s *InstancesDistribution) SetSpotAllocationStrategy(v string) *InstancesDistribution { + s.SpotAllocationStrategy = &v + return s +} + +// SetSpotInstancePools sets the SpotInstancePools field's value. +func (s *InstancesDistribution) SetSpotInstancePools(v int64) *InstancesDistribution { + s.SpotInstancePools = &v + return s +} + +// SetSpotMaxPrice sets the SpotMaxPrice field's value. +func (s *InstancesDistribution) SetSpotMaxPrice(v string) *InstancesDistribution { + s.SpotMaxPrice = &v + return s +} + +// Describes a launch configuration. +type LaunchConfiguration struct { + _ struct{} `type:"structure"` + + // For Auto Scaling groups that are running in a VPC, specifies whether to assign + // a public IP address to the group's instances. For more information, see Launching + // Auto Scaling instances in a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html) + // in the Amazon EC2 Auto Scaling User Guide. + AssociatePublicIpAddress *bool `type:"boolean"` + + // A block device mapping, which specifies the block devices for the instance. + // For more information, see Block Device Mapping (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) + // in the Amazon EC2 User Guide for Linux Instances. + BlockDeviceMappings []*BlockDeviceMapping `type:"list"` + + // The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. + // For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) + // in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic + // instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink) + // in the Amazon EC2 Auto Scaling User Guide. + ClassicLinkVPCId *string `min:"1" type:"string"` + + // The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId. + // + // For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) + // in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic + // instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink) + // in the Amazon EC2 Auto Scaling User Guide. + ClassicLinkVPCSecurityGroups []*string `type:"list"` + + // The creation date and time for the launch configuration. + // + // CreatedTime is a required field CreatedTime *time.Time `type:"timestamp" required:"true"` // Specifies whether the launch configuration is optimized for EBS I/O (true) @@ -13620,15 +14151,8 @@ func (s *LaunchConfiguration) SetUserData(v string) *LaunchConfiguration { return s } -// Describes a launch template and overrides. -// -// You specify these properties as part of a mixed instances policy. -// -// When you update the launch template or overrides in the UpdateAutoScalingGroup -// API call, existing Amazon EC2 instances continue to run. When scale out occurs, -// Amazon EC2 Auto Scaling launches instances to match the new settings. When -// scale in occurs, Amazon EC2 Auto Scaling terminates instances according to -// the group's termination policies. +// Describes a launch template and overrides. You specify these properties as +// part of a mixed instances policy. type LaunchTemplate struct { _ struct{} `type:"structure"` @@ -13637,7 +14161,11 @@ type LaunchTemplate struct { // Any properties that you specify override the same properties in the launch // template. If not provided, Amazon EC2 Auto Scaling uses the instance type - // specified in the launch template when it launches an instance. + // or instance type requirements specified in the launch template when it launches + // an instance. + // + // The overrides can include either one or more instance types or a set of instance + // requirements, but not both. Overrides []*LaunchTemplateOverrides `type:"list"` } @@ -13696,41 +14224,46 @@ func (s *LaunchTemplate) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTempl return s } -// Describes an override for a launch template. The maximum number of instance -// types that can be associated with an Auto Scaling group is 40. The maximum -// number of distinct launch templates you can define for an Auto Scaling group -// is 20. For more information about configuring overrides, see Configuring +// Describes an override for a launch template. For more information, see Configuring // overrides (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-override-options.html) // in the Amazon EC2 Auto Scaling User Guide. type LaunchTemplateOverrides struct { _ struct{} `type:"structure"` + // The instance requirements. When you specify instance requirements, Amazon + // EC2 Auto Scaling finds instance types that satisfy your requirements, and + // then uses your On-Demand and Spot allocation strategies to launch instances + // from these instance types, in the same way as when you specify a list of + // specific instance types. + InstanceRequirements *InstanceRequirements `type:"structure"` + // The instance type, such as m3.xlarge. You must use an instance type that // is supported in your requested Region and Availability Zones. For more information, // see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. InstanceType *string `min:"1" type:"string"` - // Provides the launch template to be used when launching the instance type. - // For example, some instance types might require a launch template with a different - // AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's - // defined for your mixed instances policy. For more information, see Specifying - // a different launch template for an instance type (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-template-overrides.html) + // Provides the launch template to be used when launching the instance type + // specified in InstanceType. For example, some instance types might require + // a launch template with a different AMI. If not provided, Amazon EC2 Auto + // Scaling uses the launch template that's defined for your mixed instances + // policy. For more information, see Specifying a different launch template + // for an instance type (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-template-overrides.html) // in the Amazon EC2 Auto Scaling User Guide. LaunchTemplateSpecification *LaunchTemplateSpecification `type:"structure"` - // The number of capacity units provided by the specified instance type in terms - // of virtual CPUs, memory, storage, throughput, or other relative performance - // characteristic. When a Spot or On-Demand Instance is provisioned, the capacity - // units count toward the desired capacity. Amazon EC2 Auto Scaling provisions - // instances until the desired capacity is totally fulfilled, even if this results - // in an overage. For example, if there are 2 units remaining to fulfill capacity, - // and Amazon EC2 Auto Scaling can only provision an instance with a WeightedCapacity - // of 5 units, the instance is provisioned, and the desired capacity is exceeded - // by 3 units. For more information, see Instance weighting for Amazon EC2 Auto - // Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html) + // The number of capacity units provided by the instance type specified in InstanceType + // in terms of virtual CPUs, memory, storage, throughput, or other relative + // performance characteristic. When a Spot or On-Demand Instance is launched, + // the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling + // launches instances until the desired capacity is totally fulfilled, even + // if this results in an overage. For example, if there are two units remaining + // to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance + // with a WeightedCapacity of five units, the instance is launched, and the + // desired capacity is exceeded by three units. For more information, see Instance + // weighting for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html) // in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of - // 1 to 999. + // 1–999. WeightedCapacity *string `min:"1" type:"string"` } @@ -13761,6 +14294,11 @@ func (s *LaunchTemplateOverrides) Validate() error { if s.WeightedCapacity != nil && len(*s.WeightedCapacity) < 1 { invalidParams.Add(request.NewErrParamMinLen("WeightedCapacity", 1)) } + if s.InstanceRequirements != nil { + if err := s.InstanceRequirements.Validate(); err != nil { + invalidParams.AddNested("InstanceRequirements", err.(request.ErrInvalidParams)) + } + } if s.LaunchTemplateSpecification != nil { if err := s.LaunchTemplateSpecification.Validate(); err != nil { invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams)) @@ -13773,6 +14311,12 @@ func (s *LaunchTemplateOverrides) Validate() error { return nil } +// SetInstanceRequirements sets the InstanceRequirements field's value. +func (s *LaunchTemplateOverrides) SetInstanceRequirements(v *InstanceRequirements) *LaunchTemplateOverrides { + s.InstanceRequirements = v + return s +} + // SetInstanceType sets the InstanceType field's value. func (s *LaunchTemplateOverrides) SetInstanceType(v string) *LaunchTemplateOverrides { s.InstanceType = &v @@ -14331,6 +14875,105 @@ func (s *LoadForecast) SetValues(v []*float64) *LoadForecast { return s } +// Specifies the minimum and maximum for the MemoryGiBPerVCpu object when you +// specify InstanceRequirements for an Auto Scaling group. +type MemoryGiBPerVCpuRequest struct { + _ struct{} `type:"structure"` + + // The memory maximum in GiB. + Max *float64 `type:"double"` + + // The memory minimum in GiB. + Min *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MemoryGiBPerVCpuRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MemoryGiBPerVCpuRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *MemoryGiBPerVCpuRequest) SetMax(v float64) *MemoryGiBPerVCpuRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *MemoryGiBPerVCpuRequest) SetMin(v float64) *MemoryGiBPerVCpuRequest { + s.Min = &v + return s +} + +// Specifies the minimum and maximum for the MemoryMiB object when you specify +// InstanceRequirements for an Auto Scaling group. +type MemoryMiBRequest struct { + _ struct{} `type:"structure"` + + // The memory maximum in MiB. + Max *int64 `type:"integer"` + + // The memory minimum in MiB. + // + // Min is a required field + Min *int64 `type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MemoryMiBRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MemoryMiBRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MemoryMiBRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MemoryMiBRequest"} + if s.Min == nil { + invalidParams.Add(request.NewErrParamRequired("Min")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMax sets the Max field's value. +func (s *MemoryMiBRequest) SetMax(v int64) *MemoryMiBRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *MemoryMiBRequest) SetMin(v int64) *MemoryMiBRequest { + s.Min = &v + return s +} + // Describes a metric. type MetricCollectionType struct { _ struct{} `type:"structure"` @@ -14497,20 +15140,19 @@ func (s *MetricGranularityType) SetGranularity(v string) *MetricGranularityType } // Describes a mixed instances policy. A mixed instances policy contains the -// instance types Amazon EC2 Auto Scaling can launch, and other information -// Amazon EC2 Auto Scaling can use to launch instances to help you optimize +// instance types that Amazon EC2 Auto Scaling can launch and other information +// that Amazon EC2 Auto Scaling can use to launch instances and help optimize // your costs. For more information, see Auto Scaling groups with multiple instance // types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) // in the Amazon EC2 Auto Scaling User Guide. type MixedInstancesPolicy struct { _ struct{} `type:"structure"` - // Specifies the instances distribution. If not provided, the value for each - // property in InstancesDistribution uses a default value. + // Specifies the instances distribution. InstancesDistribution *InstancesDistribution `type:"structure"` // Specifies the launch template to use and the instance types (overrides) that - // are used to provision EC2 instances to fulfill On-Demand and Spot capacities. + // are used to launch EC2 instances to fulfill On-Demand and Spot capacities. // Required when creating a mixed instances policy. LaunchTemplate *LaunchTemplate `type:"structure"` } @@ -14560,6 +15202,48 @@ func (s *MixedInstancesPolicy) SetLaunchTemplate(v *LaunchTemplate) *MixedInstan return s } +// Specifies the minimum and maximum for the NetworkInterfaceCount object when +// you specify InstanceRequirements for an Auto Scaling group. +type NetworkInterfaceCountRequest struct { + _ struct{} `type:"structure"` + + // The maximum number of network interfaces. + Max *int64 `type:"integer"` + + // The minimum number of network interfaces. + Min *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkInterfaceCountRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkInterfaceCountRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *NetworkInterfaceCountRequest) SetMax(v int64) *NetworkInterfaceCountRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *NetworkInterfaceCountRequest) SetMin(v int64) *NetworkInterfaceCountRequest { + s.Min = &v + return s +} + // Describes a notification. type NotificationConfiguration struct { _ struct{} `type:"structure"` @@ -17917,6 +18601,48 @@ func (s *TerminateInstanceInAutoScalingGroupOutput) SetActivity(v *Activity) *Te return s } +// Specifies the minimum and maximum for the TotalLocalStorageGB object when +// you specify InstanceRequirements for an Auto Scaling group. +type TotalLocalStorageGBRequest struct { + _ struct{} `type:"structure"` + + // The storage maximum in GB. + Max *float64 `type:"double"` + + // The storage minimum in GB. + Min *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TotalLocalStorageGBRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TotalLocalStorageGBRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *TotalLocalStorageGBRequest) SetMax(v float64) *TotalLocalStorageGBRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *TotalLocalStorageGBRequest) SetMin(v float64) *TotalLocalStorageGBRequest { + s.Min = &v + return s +} + type UpdateAutoScalingGroupInput struct { _ struct{} `type:"structure"` @@ -17950,6 +18676,18 @@ type UpdateAutoScalingGroupInput struct { // or equal to the maximum size of the group. DesiredCapacity *int64 `type:"integer"` + // The unit of measurement for the value specified for desired capacity. Amazon + // EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance + // type selection only. For more information, see Creating an Auto Scaling group + // using attribute-based instance type selection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) + // in the Amazon EC2 Auto Scaling User Guide. + // + // By default, Amazon EC2 Auto Scaling specifies units, which translates into + // number of instances. + // + // Valid values: units | vcpu | memory-mib + DesiredCapacityType *string `min:"1" type:"string"` + // The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before // checking the health status of an EC2 instance that has come into service. // The default value is 0. For more information, see Health check grace period @@ -17994,10 +18732,9 @@ type UpdateAutoScalingGroupInput struct { // The minimum size of the Auto Scaling group. MinSize *int64 `type:"integer"` - // An embedded object that specifies a mixed instances policy. When you make - // changes to an existing policy, all optional properties are left unchanged - // if not specified. For more information, see Auto Scaling groups with multiple - // instance types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) + // An embedded object that specifies a mixed instances policy. For more information, + // see Auto Scaling groups with multiple instance types and purchase options + // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) // in the Amazon EC2 Auto Scaling User Guide. MixedInstancesPolicy *MixedInstancesPolicy `type:"structure"` @@ -18060,6 +18797,9 @@ func (s *UpdateAutoScalingGroupInput) Validate() error { if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) } + if s.DesiredCapacityType != nil && len(*s.DesiredCapacityType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DesiredCapacityType", 1)) + } if s.HealthCheckType != nil && len(*s.HealthCheckType) < 1 { invalidParams.Add(request.NewErrParamMinLen("HealthCheckType", 1)) } @@ -18128,6 +18868,12 @@ func (s *UpdateAutoScalingGroupInput) SetDesiredCapacity(v int64) *UpdateAutoSca return s } +// SetDesiredCapacityType sets the DesiredCapacityType field's value. +func (s *UpdateAutoScalingGroupInput) SetDesiredCapacityType(v string) *UpdateAutoScalingGroupInput { + s.DesiredCapacityType = &v + return s +} + // SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value. func (s *UpdateAutoScalingGroupInput) SetHealthCheckGracePeriod(v int64) *UpdateAutoScalingGroupInput { s.HealthCheckGracePeriod = &v @@ -18228,6 +18974,63 @@ func (s UpdateAutoScalingGroupOutput) GoString() string { return s.String() } +// Specifies the minimum and maximum for the VCpuCount object when you specify +// InstanceRequirements for an Auto Scaling group. +type VCpuCountRequest struct { + _ struct{} `type:"structure"` + + // The maximum number of vCPUs. + Max *int64 `type:"integer"` + + // The minimum number of vCPUs. + // + // Min is a required field + Min *int64 `type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VCpuCountRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VCpuCountRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VCpuCountRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VCpuCountRequest"} + if s.Min == nil { + invalidParams.Add(request.NewErrParamRequired("Min")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMax sets the Max field's value. +func (s *VCpuCountRequest) SetMax(v int64) *VCpuCountRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *VCpuCountRequest) SetMin(v int64) *VCpuCountRequest { + s.Min = &v + return s +} + // Describes a warm pool configuration. type WarmPoolConfiguration struct { _ struct{} `type:"structure"` @@ -18288,6 +19091,162 @@ func (s *WarmPoolConfiguration) SetStatus(v string) *WarmPoolConfiguration { return s } +const ( + // AcceleratorManufacturerNvidia is a AcceleratorManufacturer enum value + AcceleratorManufacturerNvidia = "nvidia" + + // AcceleratorManufacturerAmd is a AcceleratorManufacturer enum value + AcceleratorManufacturerAmd = "amd" + + // AcceleratorManufacturerAmazonWebServices is a AcceleratorManufacturer enum value + AcceleratorManufacturerAmazonWebServices = "amazon-web-services" + + // AcceleratorManufacturerXilinx is a AcceleratorManufacturer enum value + AcceleratorManufacturerXilinx = "xilinx" +) + +// AcceleratorManufacturer_Values returns all elements of the AcceleratorManufacturer enum +func AcceleratorManufacturer_Values() []string { + return []string{ + AcceleratorManufacturerNvidia, + AcceleratorManufacturerAmd, + AcceleratorManufacturerAmazonWebServices, + AcceleratorManufacturerXilinx, + } +} + +const ( + // AcceleratorNameA100 is a AcceleratorName enum value + AcceleratorNameA100 = "a100" + + // AcceleratorNameV100 is a AcceleratorName enum value + AcceleratorNameV100 = "v100" + + // AcceleratorNameK80 is a AcceleratorName enum value + AcceleratorNameK80 = "k80" + + // AcceleratorNameT4 is a AcceleratorName enum value + AcceleratorNameT4 = "t4" + + // AcceleratorNameM60 is a AcceleratorName enum value + AcceleratorNameM60 = "m60" + + // AcceleratorNameRadeonProV520 is a AcceleratorName enum value + AcceleratorNameRadeonProV520 = "radeon-pro-v520" + + // AcceleratorNameVu9p is a AcceleratorName enum value + AcceleratorNameVu9p = "vu9p" +) + +// AcceleratorName_Values returns all elements of the AcceleratorName enum +func AcceleratorName_Values() []string { + return []string{ + AcceleratorNameA100, + AcceleratorNameV100, + AcceleratorNameK80, + AcceleratorNameT4, + AcceleratorNameM60, + AcceleratorNameRadeonProV520, + AcceleratorNameVu9p, + } +} + +const ( + // AcceleratorTypeGpu is a AcceleratorType enum value + AcceleratorTypeGpu = "gpu" + + // AcceleratorTypeFpga is a AcceleratorType enum value + AcceleratorTypeFpga = "fpga" + + // AcceleratorTypeInference is a AcceleratorType enum value + AcceleratorTypeInference = "inference" +) + +// AcceleratorType_Values returns all elements of the AcceleratorType enum +func AcceleratorType_Values() []string { + return []string{ + AcceleratorTypeGpu, + AcceleratorTypeFpga, + AcceleratorTypeInference, + } +} + +const ( + // BareMetalIncluded is a BareMetal enum value + BareMetalIncluded = "included" + + // BareMetalExcluded is a BareMetal enum value + BareMetalExcluded = "excluded" + + // BareMetalRequired is a BareMetal enum value + BareMetalRequired = "required" +) + +// BareMetal_Values returns all elements of the BareMetal enum +func BareMetal_Values() []string { + return []string{ + BareMetalIncluded, + BareMetalExcluded, + BareMetalRequired, + } +} + +const ( + // BurstablePerformanceIncluded is a BurstablePerformance enum value + BurstablePerformanceIncluded = "included" + + // BurstablePerformanceExcluded is a BurstablePerformance enum value + BurstablePerformanceExcluded = "excluded" + + // BurstablePerformanceRequired is a BurstablePerformance enum value + BurstablePerformanceRequired = "required" +) + +// BurstablePerformance_Values returns all elements of the BurstablePerformance enum +func BurstablePerformance_Values() []string { + return []string{ + BurstablePerformanceIncluded, + BurstablePerformanceExcluded, + BurstablePerformanceRequired, + } +} + +const ( + // CpuManufacturerIntel is a CpuManufacturer enum value + CpuManufacturerIntel = "intel" + + // CpuManufacturerAmd is a CpuManufacturer enum value + CpuManufacturerAmd = "amd" + + // CpuManufacturerAmazonWebServices is a CpuManufacturer enum value + CpuManufacturerAmazonWebServices = "amazon-web-services" +) + +// CpuManufacturer_Values returns all elements of the CpuManufacturer enum +func CpuManufacturer_Values() []string { + return []string{ + CpuManufacturerIntel, + CpuManufacturerAmd, + CpuManufacturerAmazonWebServices, + } +} + +const ( + // InstanceGenerationCurrent is a InstanceGeneration enum value + InstanceGenerationCurrent = "current" + + // InstanceGenerationPrevious is a InstanceGeneration enum value + InstanceGenerationPrevious = "previous" +) + +// InstanceGeneration_Values returns all elements of the InstanceGeneration enum +func InstanceGeneration_Values() []string { + return []string{ + InstanceGenerationCurrent, + InstanceGenerationPrevious, + } +} + const ( // InstanceMetadataEndpointStateDisabled is a InstanceMetadataEndpointState enum value InstanceMetadataEndpointStateDisabled = "disabled" @@ -18448,6 +19407,42 @@ func LifecycleState_Values() []string { } } +const ( + // LocalStorageIncluded is a LocalStorage enum value + LocalStorageIncluded = "included" + + // LocalStorageExcluded is a LocalStorage enum value + LocalStorageExcluded = "excluded" + + // LocalStorageRequired is a LocalStorage enum value + LocalStorageRequired = "required" +) + +// LocalStorage_Values returns all elements of the LocalStorage enum +func LocalStorage_Values() []string { + return []string{ + LocalStorageIncluded, + LocalStorageExcluded, + LocalStorageRequired, + } +} + +const ( + // LocalStorageTypeHdd is a LocalStorageType enum value + LocalStorageTypeHdd = "hdd" + + // LocalStorageTypeSsd is a LocalStorageType enum value + LocalStorageTypeSsd = "ssd" +) + +// LocalStorageType_Values returns all elements of the LocalStorageType enum +func LocalStorageType_Values() []string { + return []string{ + LocalStorageTypeHdd, + LocalStorageTypeSsd, + } +} + const ( // MetricStatisticAverage is a MetricStatistic enum value MetricStatisticAverage = "Average" diff --git a/service/ec2/api.go b/service/ec2/api.go index e9b3ae5443d..3fa57170c80 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -33094,6 +33094,153 @@ func (c *EC2) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, inpu return out, req.Send() } +const opGetInstanceTypesFromInstanceRequirements = "GetInstanceTypesFromInstanceRequirements" + +// GetInstanceTypesFromInstanceRequirementsRequest generates a "aws/request.Request" representing the +// client's request for the GetInstanceTypesFromInstanceRequirements operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetInstanceTypesFromInstanceRequirements for more information on using the GetInstanceTypesFromInstanceRequirements +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetInstanceTypesFromInstanceRequirementsRequest method. +// req, resp := client.GetInstanceTypesFromInstanceRequirementsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetInstanceTypesFromInstanceRequirements +func (c *EC2) GetInstanceTypesFromInstanceRequirementsRequest(input *GetInstanceTypesFromInstanceRequirementsInput) (req *request.Request, output *GetInstanceTypesFromInstanceRequirementsOutput) { + op := &request.Operation{ + Name: opGetInstanceTypesFromInstanceRequirements, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetInstanceTypesFromInstanceRequirementsInput{} + } + + output = &GetInstanceTypesFromInstanceRequirementsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetInstanceTypesFromInstanceRequirements API operation for Amazon Elastic Compute Cloud. +// +// Returns a list of instance types with the specified instance attributes. +// You can use the response to preview the instance types without launching +// instances. Note that the response does not consider capacity. +// +// When you specify multiple parameters, you get instance types that satisfy +// all of the specified parameters. If you specify multiple values for a parameter, +// you get instance types that satisfy any of the specified values. +// +// For more information, see Preview instance types with specified attributes +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html#spotfleet-get-instance-types-from-instance-requirements), +// Attribute-based instance type selection for EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), +// Attribute-based instance type selection for Spot Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), +// and Spot placement score (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) +// in the Amazon EC2 User Guide, and Creating an Auto Scaling group using attribute-based +// instance type selection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) +// in the Amazon EC2 Auto Scaling User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetInstanceTypesFromInstanceRequirements for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetInstanceTypesFromInstanceRequirements +func (c *EC2) GetInstanceTypesFromInstanceRequirements(input *GetInstanceTypesFromInstanceRequirementsInput) (*GetInstanceTypesFromInstanceRequirementsOutput, error) { + req, out := c.GetInstanceTypesFromInstanceRequirementsRequest(input) + return out, req.Send() +} + +// GetInstanceTypesFromInstanceRequirementsWithContext is the same as GetInstanceTypesFromInstanceRequirements with the addition of +// the ability to pass a context and additional request options. +// +// See GetInstanceTypesFromInstanceRequirements for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetInstanceTypesFromInstanceRequirementsWithContext(ctx aws.Context, input *GetInstanceTypesFromInstanceRequirementsInput, opts ...request.Option) (*GetInstanceTypesFromInstanceRequirementsOutput, error) { + req, out := c.GetInstanceTypesFromInstanceRequirementsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetInstanceTypesFromInstanceRequirementsPages iterates over the pages of a GetInstanceTypesFromInstanceRequirements operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetInstanceTypesFromInstanceRequirements method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetInstanceTypesFromInstanceRequirements operation. +// pageNum := 0 +// err := client.GetInstanceTypesFromInstanceRequirementsPages(params, +// func(page *ec2.GetInstanceTypesFromInstanceRequirementsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) GetInstanceTypesFromInstanceRequirementsPages(input *GetInstanceTypesFromInstanceRequirementsInput, fn func(*GetInstanceTypesFromInstanceRequirementsOutput, bool) bool) error { + return c.GetInstanceTypesFromInstanceRequirementsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetInstanceTypesFromInstanceRequirementsPagesWithContext same as GetInstanceTypesFromInstanceRequirementsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetInstanceTypesFromInstanceRequirementsPagesWithContext(ctx aws.Context, input *GetInstanceTypesFromInstanceRequirementsInput, fn func(*GetInstanceTypesFromInstanceRequirementsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetInstanceTypesFromInstanceRequirementsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetInstanceTypesFromInstanceRequirementsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetInstanceTypesFromInstanceRequirementsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetLaunchTemplateData = "GetLaunchTemplateData" // GetLaunchTemplateDataRequest generates a "aws/request.Request" representing the @@ -33686,6 +33833,146 @@ func (c *EC2) GetSerialConsoleAccessStatusWithContext(ctx aws.Context, input *Ge return out, req.Send() } +const opGetSpotPlacementScores = "GetSpotPlacementScores" + +// GetSpotPlacementScoresRequest generates a "aws/request.Request" representing the +// client's request for the GetSpotPlacementScores operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetSpotPlacementScores for more information on using the GetSpotPlacementScores +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetSpotPlacementScoresRequest method. +// req, resp := client.GetSpotPlacementScoresRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetSpotPlacementScores +func (c *EC2) GetSpotPlacementScoresRequest(input *GetSpotPlacementScoresInput) (req *request.Request, output *GetSpotPlacementScoresOutput) { + op := &request.Operation{ + Name: opGetSpotPlacementScores, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetSpotPlacementScoresInput{} + } + + output = &GetSpotPlacementScoresOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSpotPlacementScores API operation for Amazon Elastic Compute Cloud. +// +// Calculates the Spot placement score for a Region or Availability Zone based +// on the specified target capacity and compute requirements. +// +// You can specify your compute requirements either by using InstanceRequirementsWithMetadata +// and letting Amazon EC2 choose the optimal instance types to fulfill your +// Spot request, or you can specify the instance types by using InstanceTypes. +// +// For more information, see Spot placement score (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) +// in the Amazon EC2 User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetSpotPlacementScores for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetSpotPlacementScores +func (c *EC2) GetSpotPlacementScores(input *GetSpotPlacementScoresInput) (*GetSpotPlacementScoresOutput, error) { + req, out := c.GetSpotPlacementScoresRequest(input) + return out, req.Send() +} + +// GetSpotPlacementScoresWithContext is the same as GetSpotPlacementScores with the addition of +// the ability to pass a context and additional request options. +// +// See GetSpotPlacementScores for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetSpotPlacementScoresWithContext(ctx aws.Context, input *GetSpotPlacementScoresInput, opts ...request.Option) (*GetSpotPlacementScoresOutput, error) { + req, out := c.GetSpotPlacementScoresRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetSpotPlacementScoresPages iterates over the pages of a GetSpotPlacementScores operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetSpotPlacementScores method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetSpotPlacementScores operation. +// pageNum := 0 +// err := client.GetSpotPlacementScoresPages(params, +// func(page *ec2.GetSpotPlacementScoresOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) GetSpotPlacementScoresPages(input *GetSpotPlacementScoresInput, fn func(*GetSpotPlacementScoresOutput, bool) bool) error { + return c.GetSpotPlacementScoresPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetSpotPlacementScoresPagesWithContext same as GetSpotPlacementScoresPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetSpotPlacementScoresPagesWithContext(ctx aws.Context, input *GetSpotPlacementScoresInput, fn func(*GetSpotPlacementScoresOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetSpotPlacementScoresInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetSpotPlacementScoresRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetSpotPlacementScoresOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetSubnetCidrReservations = "GetSubnetCidrReservations" // GetSubnetCidrReservationsRequest generates a "aws/request.Request" representing the @@ -43877,6 +44164,181 @@ func (c *EC2) WithdrawByoipCidrWithContext(ctx aws.Context, input *WithdrawByoip return out, req.Send() } +// The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web +// Services Inferentia chips) on an instance. +type AcceleratorCount struct { + _ struct{} `type:"structure"` + + // The maximum number of accelerators. If this parameter is not specified, there + // is no maximum limit. + Max *int64 `locationName:"max" type:"integer"` + + // The minimum number of accelerators. If this parameter is not specified, there + // is no minimum limit. + Min *int64 `locationName:"min" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceleratorCount) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceleratorCount) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *AcceleratorCount) SetMax(v int64) *AcceleratorCount { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *AcceleratorCount) SetMin(v int64) *AcceleratorCount { + s.Min = &v + return s +} + +// The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web +// Services Inferentia chips) on an instance. To exclude accelerator-enabled +// instance types, set Max to 0. +type AcceleratorCountRequest struct { + _ struct{} `type:"structure"` + + // The maximum number of accelerators. To specify no maximum limit, omit this + // parameter. To exclude accelerator-enabled instance types, set Max to 0. + Max *int64 `type:"integer"` + + // The minimum number of accelerators. To specify no minimum limit, omit this + // parameter. + Min *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceleratorCountRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceleratorCountRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *AcceleratorCountRequest) SetMax(v int64) *AcceleratorCountRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *AcceleratorCountRequest) SetMin(v int64) *AcceleratorCountRequest { + s.Min = &v + return s +} + +// The minimum and maximum amount of total accelerator memory, in MiB. +type AcceleratorTotalMemoryMiB struct { + _ struct{} `type:"structure"` + + // The maximum amount of accelerator memory, in MiB. If this parameter is not + // specified, there is no maximum limit. + Max *int64 `locationName:"max" type:"integer"` + + // The minimum amount of accelerator memory, in MiB. If this parameter is not + // specified, there is no minimum limit. + Min *int64 `locationName:"min" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceleratorTotalMemoryMiB) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceleratorTotalMemoryMiB) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *AcceleratorTotalMemoryMiB) SetMax(v int64) *AcceleratorTotalMemoryMiB { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *AcceleratorTotalMemoryMiB) SetMin(v int64) *AcceleratorTotalMemoryMiB { + s.Min = &v + return s +} + +// The minimum and maximum amount of total accelerator memory, in MiB. +type AcceleratorTotalMemoryMiBRequest struct { + _ struct{} `type:"structure"` + + // The maximum amount of accelerator memory, in MiB. To specify no maximum limit, + // omit this parameter. + Max *int64 `type:"integer"` + + // The minimum amount of accelerator memory, in MiB. To specify no minimum limit, + // omit this parameter. + Min *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceleratorTotalMemoryMiBRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceleratorTotalMemoryMiBRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *AcceleratorTotalMemoryMiBRequest) SetMax(v int64) *AcceleratorTotalMemoryMiBRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *AcceleratorTotalMemoryMiBRequest) SetMin(v int64) *AcceleratorTotalMemoryMiBRequest { + s.Min = &v + return s +} + // Contains the parameters for accepting the quote. type AcceptReservedInstancesExchangeQuoteInput struct { _ struct{} `type:"structure"` @@ -49330,6 +49792,96 @@ func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity { return s } +// The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more +// information, see Amazon EBS–optimized instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) +// in the Amazon EC2 User Guide. +type BaselineEbsBandwidthMbps struct { + _ struct{} `type:"structure"` + + // The maximum baseline bandwidth, in Mbps. If this parameter is not specified, + // there is no maximum limit. + Max *int64 `locationName:"max" type:"integer"` + + // The minimum baseline bandwidth, in Mbps. If this parameter is not specified, + // there is no minimum limit. + Min *int64 `locationName:"min" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BaselineEbsBandwidthMbps) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BaselineEbsBandwidthMbps) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *BaselineEbsBandwidthMbps) SetMax(v int64) *BaselineEbsBandwidthMbps { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *BaselineEbsBandwidthMbps) SetMin(v int64) *BaselineEbsBandwidthMbps { + s.Min = &v + return s +} + +// The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more +// information, see Amazon EBS–optimized instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) +// in the Amazon EC2 User Guide. +type BaselineEbsBandwidthMbpsRequest struct { + _ struct{} `type:"structure"` + + // The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit + // this parameter. + Max *int64 `type:"integer"` + + // The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit + // this parameter. + Min *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BaselineEbsBandwidthMbpsRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BaselineEbsBandwidthMbpsRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *BaselineEbsBandwidthMbpsRequest) SetMax(v int64) *BaselineEbsBandwidthMbpsRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *BaselineEbsBandwidthMbpsRequest) SetMin(v int64) *BaselineEbsBandwidthMbpsRequest { + s.Min = &v + return s +} + type BlobAttributeValue struct { _ struct{} `type:"structure"` @@ -76787,7 +77339,10 @@ type DescribeInstancesInput struct { // * launch-index - When launching multiple instances, this is the index // for the instance in the launch group (for example, 0, 1, 2, and so on). // - // * launch-time - The time when the instance was launched. + // * launch-time - The time when the instance was launched, in the ISO 8601 + // format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2021-09-29T11:04:43.305Z. + // You can use a wildcard (*), for example, 2021-09-29T*, which matches an + // entire day. // // * metadata-options.http-tokens - The metadata request authorization state // (optional | required) @@ -95248,6 +95803,16 @@ func (s *FleetLaunchTemplateConfigRequest) Validate() error { invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams)) } } + if s.Overrides != nil { + for i, v := range s.Overrides { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Overrides", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -95274,7 +95839,15 @@ type FleetLaunchTemplateOverrides struct { // The Availability Zone in which to launch the instances. AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with those attributes. + // + // If you specify InstanceRequirements, you can't specify InstanceTypes. + InstanceRequirements *InstanceRequirements `locationName:"instanceRequirements" type:"structure"` + // The instance type. + // + // If you specify InstanceTypes, you can't specify InstanceRequirements. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` // The maximum price per unit hour that you are willing to pay for a Spot Instance. @@ -95331,6 +95904,12 @@ func (s *FleetLaunchTemplateOverrides) SetAvailabilityZone(v string) *FleetLaunc return s } +// SetInstanceRequirements sets the InstanceRequirements field's value. +func (s *FleetLaunchTemplateOverrides) SetInstanceRequirements(v *InstanceRequirements) *FleetLaunchTemplateOverrides { + s.InstanceRequirements = v + return s +} + // SetInstanceType sets the InstanceType field's value. func (s *FleetLaunchTemplateOverrides) SetInstanceType(v string) *FleetLaunchTemplateOverrides { s.InstanceType = &v @@ -95374,7 +95953,15 @@ type FleetLaunchTemplateOverridesRequest struct { // The Availability Zone in which to launch the instances. AvailabilityZone *string `type:"string"` + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with those attributes. + // + // If you specify InstanceRequirements, you can't specify InstanceTypes. + InstanceRequirements *InstanceRequirementsRequest `type:"structure"` + // The instance type. + // + // If you specify InstanceTypes, you can't specify InstanceRequirements. InstanceType *string `type:"string" enum:"InstanceType"` // The maximum price per unit hour that you are willing to pay for a Spot Instance. @@ -95427,12 +96014,33 @@ func (s FleetLaunchTemplateOverridesRequest) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *FleetLaunchTemplateOverridesRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateOverridesRequest"} + if s.InstanceRequirements != nil { + if err := s.InstanceRequirements.Validate(); err != nil { + invalidParams.AddNested("InstanceRequirements", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAvailabilityZone sets the AvailabilityZone field's value. func (s *FleetLaunchTemplateOverridesRequest) SetAvailabilityZone(v string) *FleetLaunchTemplateOverridesRequest { s.AvailabilityZone = &v return s } +// SetInstanceRequirements sets the InstanceRequirements field's value. +func (s *FleetLaunchTemplateOverridesRequest) SetInstanceRequirements(v *InstanceRequirementsRequest) *FleetLaunchTemplateOverridesRequest { + s.InstanceRequirements = v + return s +} + // SetInstanceType sets the InstanceType field's value. func (s *FleetLaunchTemplateOverridesRequest) SetInstanceType(v string) *FleetLaunchTemplateOverridesRequest { s.InstanceType = &v @@ -97713,6 +98321,157 @@ func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) return s } +type GetInstanceTypesFromInstanceRequirementsInput struct { + _ struct{} `type:"structure"` + + // The processor architecture type. + // + // ArchitectureTypes is a required field + ArchitectureTypes []*string `locationName:"ArchitectureType" locationNameList:"item" type:"list" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The attributes required for the instance types. + // + // InstanceRequirements is a required field + InstanceRequirements *InstanceRequirementsRequest `type:"structure" required:"true"` + + // The maximum number of results to return in a single call. Specify a value + // between 1 and 1000. The default value is 1000. To retrieve the remaining + // results, make another call with the returned NextToken value. + MaxResults *int64 `type:"integer"` + + // The token for the next set of results. + NextToken *string `type:"string"` + + // The virtualization type. + // + // VirtualizationTypes is a required field + VirtualizationTypes []*string `locationName:"VirtualizationType" locationNameList:"item" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetInstanceTypesFromInstanceRequirementsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetInstanceTypesFromInstanceRequirementsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetInstanceTypesFromInstanceRequirementsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInstanceTypesFromInstanceRequirementsInput"} + if s.ArchitectureTypes == nil { + invalidParams.Add(request.NewErrParamRequired("ArchitectureTypes")) + } + if s.InstanceRequirements == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceRequirements")) + } + if s.VirtualizationTypes == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualizationTypes")) + } + if s.InstanceRequirements != nil { + if err := s.InstanceRequirements.Validate(); err != nil { + invalidParams.AddNested("InstanceRequirements", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchitectureTypes sets the ArchitectureTypes field's value. +func (s *GetInstanceTypesFromInstanceRequirementsInput) SetArchitectureTypes(v []*string) *GetInstanceTypesFromInstanceRequirementsInput { + s.ArchitectureTypes = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *GetInstanceTypesFromInstanceRequirementsInput) SetDryRun(v bool) *GetInstanceTypesFromInstanceRequirementsInput { + s.DryRun = &v + return s +} + +// SetInstanceRequirements sets the InstanceRequirements field's value. +func (s *GetInstanceTypesFromInstanceRequirementsInput) SetInstanceRequirements(v *InstanceRequirementsRequest) *GetInstanceTypesFromInstanceRequirementsInput { + s.InstanceRequirements = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetInstanceTypesFromInstanceRequirementsInput) SetMaxResults(v int64) *GetInstanceTypesFromInstanceRequirementsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetInstanceTypesFromInstanceRequirementsInput) SetNextToken(v string) *GetInstanceTypesFromInstanceRequirementsInput { + s.NextToken = &v + return s +} + +// SetVirtualizationTypes sets the VirtualizationTypes field's value. +func (s *GetInstanceTypesFromInstanceRequirementsInput) SetVirtualizationTypes(v []*string) *GetInstanceTypesFromInstanceRequirementsInput { + s.VirtualizationTypes = v + return s +} + +type GetInstanceTypesFromInstanceRequirementsOutput struct { + _ struct{} `type:"structure"` + + // The instance types with the specified instance attributes. + InstanceTypes []*InstanceTypeInfoFromInstanceRequirements `locationName:"instanceTypeSet" locationNameList:"item" type:"list"` + + // The token for the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetInstanceTypesFromInstanceRequirementsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetInstanceTypesFromInstanceRequirementsOutput) GoString() string { + return s.String() +} + +// SetInstanceTypes sets the InstanceTypes field's value. +func (s *GetInstanceTypesFromInstanceRequirementsOutput) SetInstanceTypes(v []*InstanceTypeInfoFromInstanceRequirements) *GetInstanceTypesFromInstanceRequirementsOutput { + s.InstanceTypes = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetInstanceTypesFromInstanceRequirementsOutput) SetNextToken(v string) *GetInstanceTypesFromInstanceRequirementsOutput { + s.NextToken = &v + return s +} + type GetLaunchTemplateDataInput struct { _ struct{} `type:"structure"` @@ -98412,6 +99171,212 @@ func (s *GetSerialConsoleAccessStatusOutput) SetSerialConsoleAccessEnabled(v boo return s } +type GetSpotPlacementScoresInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with those attributes. + // + // If you specify InstanceRequirementsWithMetadata, you can't specify InstanceTypes. + InstanceRequirementsWithMetadata *InstanceRequirementsWithMetadataRequest `type:"structure"` + + // The instance types. We recommend that you specify at least three instance + // types. If you specify one or two instance types, or specify variations of + // a single instance type (for example, an m3.xlarge with and without instance + // storage), the returned placement score will always be low. + // + // If you specify InstanceTypes, you can't specify InstanceRequirementsWithMetadata. + InstanceTypes []*string `locationName:"InstanceType" type:"list"` + + // The maximum number of results to return in a single call. Specify a value + // between 1 and 1000. The default value is 1000. To retrieve the remaining + // results, make another call with the returned NextToken value. + MaxResults *int64 `min:"10" type:"integer"` + + // The token for the next set of results. + NextToken *string `type:"string"` + + // The Regions used to narrow down the list of Regions to be scored. Enter the + // Region code, for example, us-east-1. + RegionNames []*string `locationName:"RegionName" type:"list"` + + // Specify true so that the response returns a list of scored Availability Zones. + // Otherwise, the response returns a list of scored Regions. + // + // A list of scored Availability Zones is useful if you want to launch all of + // your Spot capacity into a single Availability Zone. + SingleAvailabilityZone *bool `type:"boolean"` + + // The target capacity. + // + // TargetCapacity is a required field + TargetCapacity *int64 `min:"1" type:"integer" required:"true"` + + // The unit for the target capacity. + // + // Default: units (translates to number of instances) + TargetCapacityUnitType *string `type:"string" enum:"TargetCapacityUnitType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSpotPlacementScoresInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSpotPlacementScoresInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSpotPlacementScoresInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSpotPlacementScoresInput"} + if s.MaxResults != nil && *s.MaxResults < 10 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10)) + } + if s.TargetCapacity == nil { + invalidParams.Add(request.NewErrParamRequired("TargetCapacity")) + } + if s.TargetCapacity != nil && *s.TargetCapacity < 1 { + invalidParams.Add(request.NewErrParamMinValue("TargetCapacity", 1)) + } + if s.InstanceRequirementsWithMetadata != nil { + if err := s.InstanceRequirementsWithMetadata.Validate(); err != nil { + invalidParams.AddNested("InstanceRequirementsWithMetadata", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *GetSpotPlacementScoresInput) SetDryRun(v bool) *GetSpotPlacementScoresInput { + s.DryRun = &v + return s +} + +// SetInstanceRequirementsWithMetadata sets the InstanceRequirementsWithMetadata field's value. +func (s *GetSpotPlacementScoresInput) SetInstanceRequirementsWithMetadata(v *InstanceRequirementsWithMetadataRequest) *GetSpotPlacementScoresInput { + s.InstanceRequirementsWithMetadata = v + return s +} + +// SetInstanceTypes sets the InstanceTypes field's value. +func (s *GetSpotPlacementScoresInput) SetInstanceTypes(v []*string) *GetSpotPlacementScoresInput { + s.InstanceTypes = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetSpotPlacementScoresInput) SetMaxResults(v int64) *GetSpotPlacementScoresInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetSpotPlacementScoresInput) SetNextToken(v string) *GetSpotPlacementScoresInput { + s.NextToken = &v + return s +} + +// SetRegionNames sets the RegionNames field's value. +func (s *GetSpotPlacementScoresInput) SetRegionNames(v []*string) *GetSpotPlacementScoresInput { + s.RegionNames = v + return s +} + +// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value. +func (s *GetSpotPlacementScoresInput) SetSingleAvailabilityZone(v bool) *GetSpotPlacementScoresInput { + s.SingleAvailabilityZone = &v + return s +} + +// SetTargetCapacity sets the TargetCapacity field's value. +func (s *GetSpotPlacementScoresInput) SetTargetCapacity(v int64) *GetSpotPlacementScoresInput { + s.TargetCapacity = &v + return s +} + +// SetTargetCapacityUnitType sets the TargetCapacityUnitType field's value. +func (s *GetSpotPlacementScoresInput) SetTargetCapacityUnitType(v string) *GetSpotPlacementScoresInput { + s.TargetCapacityUnitType = &v + return s +} + +type GetSpotPlacementScoresOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The Spot placement score for the top 10 Regions or Availability Zones, scored + // on a scale from 1 to 10. Each score reflects how likely it is that each Region + // or Availability Zone will succeed at fulfilling the specified target capacity + // at the time of the Spot placement score request. A score of 10 means that + // your Spot capacity request is highly likely to succeed in that Region or + // Availability Zone. + // + // If you request a Spot placement score for Regions, a high score assumes that + // your fleet request will be configured to use all Availability Zones and the + // capacity-optimized allocation strategy. If you request a Spot placement score + // for Availability Zones, a high score assumes that your fleet request will + // be configured to use a single Availability Zone and the capacity-optimized + // allocation strategy. + // + // Different Regions or Availability Zones might return the same score. + // + // The Spot placement score serves as a recommendation only. No score guarantees + // that your Spot request will be fully or partially fulfilled. + SpotPlacementScores []*SpotPlacementScore `locationName:"spotPlacementScoreSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSpotPlacementScoresOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSpotPlacementScoresOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetSpotPlacementScoresOutput) SetNextToken(v string) *GetSpotPlacementScoresOutput { + s.NextToken = &v + return s +} + +// SetSpotPlacementScores sets the SpotPlacementScores field's value. +func (s *GetSpotPlacementScoresOutput) SetSpotPlacementScores(v []*SpotPlacementScore) *GetSpotPlacementScoresOutput { + s.SpotPlacementScores = v + return s +} + type GetSubnetCidrReservationsInput struct { _ struct{} `type:"structure"` @@ -105192,6 +106157,855 @@ func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivat return s } +// The attributes for the instance types. When you specify instance attributes, +// Amazon EC2 will identify instance types with these attributes. +// +// When you specify multiple parameters, you get instance types that satisfy +// all of the specified parameters. If you specify multiple values for a parameter, +// you get instance types that satisfy any of the specified values. +// +// You must specify VCpuCount and MemoryMiB. All other parameters are optional. +// Any unspecified optional parameter is set to its default. +// +// For more information, see Attribute-based instance type selection for EC2 +// Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), +// Attribute-based instance type selection for Spot Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), +// and Spot placement score (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) +// in the Amazon EC2 User Guide. +type InstanceRequirements struct { + _ struct{} `type:"structure"` + + // The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web + // Services Inferentia chips) on an instance. + // + // To exclude accelerator-enabled instance types, set Max to 0. + // + // Default: No minimum or maximum limits + AcceleratorCount *AcceleratorCount `locationName:"acceleratorCount" type:"structure"` + + // Indicates whether instance types must have accelerators by specific manufacturers. + // + // * For instance types with NVIDIA devices, specify nvidia. + // + // * For instance types with AMD devices, specify amd. + // + // * For instance types with Amazon Web Services devices, specify amazon-web-services. + // + // * For instance types with Xilinx devices, specify xilinx. + // + // Default: Any manufacturer + AcceleratorManufacturers []*string `locationName:"acceleratorManufacturerSet" locationNameList:"item" type:"list"` + + // The accelerators that must be on the instance type. + // + // * For instance types with NVIDIA A100 GPUs, specify a100. + // + // * For instance types with NVIDIA V100 GPUs, specify v100. + // + // * For instance types with NVIDIA K80 GPUs, specify k80. + // + // * For instance types with NVIDIA T4 GPUs, specify t4. + // + // * For instance types with NVIDIA M60 GPUs, specify m60. + // + // * For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520. + // + // * For instance types with Xilinx VU9P FPGAs, specify vu9p. + // + // Default: Any accelerator + AcceleratorNames []*string `locationName:"acceleratorNameSet" locationNameList:"item" type:"list"` + + // The minimum and maximum amount of total accelerator memory, in MiB. + // + // Default: No minimum or maximum limits + AcceleratorTotalMemoryMiB *AcceleratorTotalMemoryMiB `locationName:"acceleratorTotalMemoryMiB" type:"structure"` + + // The accelerator types that must be on the instance type. + // + // * For instance types with GPU accelerators, specify gpu. + // + // * For instance types with FPGA accelerators, specify fpga. + // + // * For instance types with inference accelerators, specify inference. + // + // Default: Any accelerator type + AcceleratorTypes []*string `locationName:"acceleratorTypeSet" locationNameList:"item" type:"list"` + + // Indicates whether bare metal instance types must be included, excluded, or + // required. + // + // * To include bare metal instance types, specify included. + // + // * To require only bare metal instance types, specify required. + // + // * To exclude bare metal instance types, specify excluded. + // + // Default: excluded + BareMetal *string `locationName:"bareMetal" type:"string" enum:"BareMetal"` + + // The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more + // information, see Amazon EBS–optimized instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) + // in the Amazon EC2 User Guide. + // + // Default: No minimum or maximum limits + BaselineEbsBandwidthMbps *BaselineEbsBandwidthMbps `locationName:"baselineEbsBandwidthMbps" type:"structure"` + + // Indicates whether burstable performance T instance types are included, excluded, + // or required. For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html). + // + // * To include burstable performance instance types, specify included. + // + // * To require only burstable performance instance types, specify required. + // + // * To exclude burstable performance instance types, specify excluded. + // + // Default: excluded + BurstablePerformance *string `locationName:"burstablePerformance" type:"string" enum:"BurstablePerformance"` + + // The CPU manufacturers to include. + // + // * For instance types with Intel CPUs, specify intel. + // + // * For instance types with AMD CPUs, specify amd. + // + // * For instance types with Amazon Web Services CPUs, specify amazon-web-services. + // + // Don't confuse the CPU manufacturer with the CPU architecture. Instances will + // be launched with a compatible CPU architecture based on the Amazon Machine + // Image (AMI) that you specify in your launch template. + // + // Default: Any manufacturer + CpuManufacturers []*string `locationName:"cpuManufacturerSet" locationNameList:"item" type:"list"` + + // The instance types to exclude. You can use strings with one or more wild + // cards, represented by an asterisk (*), to exclude an instance type, size, + // or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, + // *3*. + // + // For example, if you specify c5*.*, Amazon EC2 will exclude the entire C5 + // instance family (all C5a and C5n instance types). If you specify c5a.*, Amazon + // EC2 excludes all the C5a instance types, but does not exclude the C5n instance + // types. + // + // Default: No excluded instance types + ExcludedInstanceTypes []*string `locationName:"excludedInstanceTypeSet" locationNameList:"item" type:"list"` + + // Indicates whether current or previous generation instance types are included. + // The current generation instance types are recommended for use. Current generation + // instance types are typically the latest two to three generations in each + // instance family. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // in the Amazon EC2 User Guide. + // + // For current generation instance types, specify current. + // + // For previous generation instance types, specify previous. + // + // Default: Current and previous generation instance types + InstanceGenerations []*string `locationName:"instanceGenerationSet" locationNameList:"item" type:"list"` + + // Indicates whether instance types with instance store volumes are included, + // excluded, or required. For more information, Amazon EC2 instance store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) + // in the Amazon EC2 User Guide. + // + // * To include instance types with instance store volumes, specify included. + // + // * To require only instance types with instance store volumes, specify + // required. + // + // * To exclude instance types with instance store volumes, specify excluded. + // + // Default: included + LocalStorage *string `locationName:"localStorage" type:"string" enum:"LocalStorage"` + + // The type of local storage that is required. + // + // * For instance types with hard disk drive (HDD) storage, specify hdd. + // + // * For instance types with solid state drive (SDD) storage, specify sdd. + // + // Default: hdd and sdd + LocalStorageTypes []*string `locationName:"localStorageTypeSet" locationNameList:"item" type:"list"` + + // The minimum and maximum amount of memory per vCPU, in GiB. + // + // Default: No minimum or maximum limits + MemoryGiBPerVCpu *MemoryGiBPerVCpu `locationName:"memoryGiBPerVCpu" type:"structure"` + + // The minimum and maximum amount of memory, in MiB. + MemoryMiB *MemoryMiB `locationName:"memoryMiB" type:"structure"` + + // The minimum and maximum number of network interfaces. + // + // Default: No minimum or maximum limits + NetworkInterfaceCount *NetworkInterfaceCount `locationName:"networkInterfaceCount" type:"structure"` + + // The price protection threshold for On-Demand Instances. This is the maximum + // you’ll pay for an On-Demand Instance, expressed as a percentage above the + // cheapest M, C, or R instance type with your specified attributes. When Amazon + // EC2 selects instance types with your attributes, it excludes instance types + // priced above your threshold. + // + // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. + // + // To turn off price protection, specify a high value, such as 999999. + // + // This parameter is not supported for GetSpotPlacementScores (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) + // and GetInstanceTypesFromInstanceRequirements (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html). + // + // Default: 20 + OnDemandMaxPricePercentageOverLowestPrice *int64 `locationName:"onDemandMaxPricePercentageOverLowestPrice" type:"integer"` + + // Indicates whether instance types must support hibernation for On-Demand Instances. + // + // This parameter is not supported for GetSpotPlacementScores (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html). + // + // Default: false + RequireHibernateSupport *bool `locationName:"requireHibernateSupport" type:"boolean"` + + // The price protection threshold for Spot Instances. This is the maximum you’ll + // pay for a Spot Instance, expressed as a percentage above the cheapest M, + // C, or R instance type with your specified attributes. When Amazon EC2 selects + // instance types with your attributes, it excludes instance types priced above + // your threshold. + // + // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. + // + // To turn off price protection, specify a high value, such as 999999. + // + // This parameter is not supported for GetSpotPlacementScores (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) + // and GetInstanceTypesFromInstanceRequirements (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html). + // + // Default: 100 + SpotMaxPricePercentageOverLowestPrice *int64 `locationName:"spotMaxPricePercentageOverLowestPrice" type:"integer"` + + // The minimum and maximum amount of total local storage, in GB. + // + // Default: No minimum or maximum limits + TotalLocalStorageGB *TotalLocalStorageGB `locationName:"totalLocalStorageGB" type:"structure"` + + // The minimum and maximum number of vCPUs. + VCpuCount *VCpuCountRange `locationName:"vCpuCount" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstanceRequirements) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstanceRequirements) GoString() string { + return s.String() +} + +// SetAcceleratorCount sets the AcceleratorCount field's value. +func (s *InstanceRequirements) SetAcceleratorCount(v *AcceleratorCount) *InstanceRequirements { + s.AcceleratorCount = v + return s +} + +// SetAcceleratorManufacturers sets the AcceleratorManufacturers field's value. +func (s *InstanceRequirements) SetAcceleratorManufacturers(v []*string) *InstanceRequirements { + s.AcceleratorManufacturers = v + return s +} + +// SetAcceleratorNames sets the AcceleratorNames field's value. +func (s *InstanceRequirements) SetAcceleratorNames(v []*string) *InstanceRequirements { + s.AcceleratorNames = v + return s +} + +// SetAcceleratorTotalMemoryMiB sets the AcceleratorTotalMemoryMiB field's value. +func (s *InstanceRequirements) SetAcceleratorTotalMemoryMiB(v *AcceleratorTotalMemoryMiB) *InstanceRequirements { + s.AcceleratorTotalMemoryMiB = v + return s +} + +// SetAcceleratorTypes sets the AcceleratorTypes field's value. +func (s *InstanceRequirements) SetAcceleratorTypes(v []*string) *InstanceRequirements { + s.AcceleratorTypes = v + return s +} + +// SetBareMetal sets the BareMetal field's value. +func (s *InstanceRequirements) SetBareMetal(v string) *InstanceRequirements { + s.BareMetal = &v + return s +} + +// SetBaselineEbsBandwidthMbps sets the BaselineEbsBandwidthMbps field's value. +func (s *InstanceRequirements) SetBaselineEbsBandwidthMbps(v *BaselineEbsBandwidthMbps) *InstanceRequirements { + s.BaselineEbsBandwidthMbps = v + return s +} + +// SetBurstablePerformance sets the BurstablePerformance field's value. +func (s *InstanceRequirements) SetBurstablePerformance(v string) *InstanceRequirements { + s.BurstablePerformance = &v + return s +} + +// SetCpuManufacturers sets the CpuManufacturers field's value. +func (s *InstanceRequirements) SetCpuManufacturers(v []*string) *InstanceRequirements { + s.CpuManufacturers = v + return s +} + +// SetExcludedInstanceTypes sets the ExcludedInstanceTypes field's value. +func (s *InstanceRequirements) SetExcludedInstanceTypes(v []*string) *InstanceRequirements { + s.ExcludedInstanceTypes = v + return s +} + +// SetInstanceGenerations sets the InstanceGenerations field's value. +func (s *InstanceRequirements) SetInstanceGenerations(v []*string) *InstanceRequirements { + s.InstanceGenerations = v + return s +} + +// SetLocalStorage sets the LocalStorage field's value. +func (s *InstanceRequirements) SetLocalStorage(v string) *InstanceRequirements { + s.LocalStorage = &v + return s +} + +// SetLocalStorageTypes sets the LocalStorageTypes field's value. +func (s *InstanceRequirements) SetLocalStorageTypes(v []*string) *InstanceRequirements { + s.LocalStorageTypes = v + return s +} + +// SetMemoryGiBPerVCpu sets the MemoryGiBPerVCpu field's value. +func (s *InstanceRequirements) SetMemoryGiBPerVCpu(v *MemoryGiBPerVCpu) *InstanceRequirements { + s.MemoryGiBPerVCpu = v + return s +} + +// SetMemoryMiB sets the MemoryMiB field's value. +func (s *InstanceRequirements) SetMemoryMiB(v *MemoryMiB) *InstanceRequirements { + s.MemoryMiB = v + return s +} + +// SetNetworkInterfaceCount sets the NetworkInterfaceCount field's value. +func (s *InstanceRequirements) SetNetworkInterfaceCount(v *NetworkInterfaceCount) *InstanceRequirements { + s.NetworkInterfaceCount = v + return s +} + +// SetOnDemandMaxPricePercentageOverLowestPrice sets the OnDemandMaxPricePercentageOverLowestPrice field's value. +func (s *InstanceRequirements) SetOnDemandMaxPricePercentageOverLowestPrice(v int64) *InstanceRequirements { + s.OnDemandMaxPricePercentageOverLowestPrice = &v + return s +} + +// SetRequireHibernateSupport sets the RequireHibernateSupport field's value. +func (s *InstanceRequirements) SetRequireHibernateSupport(v bool) *InstanceRequirements { + s.RequireHibernateSupport = &v + return s +} + +// SetSpotMaxPricePercentageOverLowestPrice sets the SpotMaxPricePercentageOverLowestPrice field's value. +func (s *InstanceRequirements) SetSpotMaxPricePercentageOverLowestPrice(v int64) *InstanceRequirements { + s.SpotMaxPricePercentageOverLowestPrice = &v + return s +} + +// SetTotalLocalStorageGB sets the TotalLocalStorageGB field's value. +func (s *InstanceRequirements) SetTotalLocalStorageGB(v *TotalLocalStorageGB) *InstanceRequirements { + s.TotalLocalStorageGB = v + return s +} + +// SetVCpuCount sets the VCpuCount field's value. +func (s *InstanceRequirements) SetVCpuCount(v *VCpuCountRange) *InstanceRequirements { + s.VCpuCount = v + return s +} + +// The attributes for the instance types. When you specify instance attributes, +// Amazon EC2 will identify instance types with these attributes. +// +// When you specify multiple parameters, you get instance types that satisfy +// all of the specified parameters. If you specify multiple values for a parameter, +// you get instance types that satisfy any of the specified values. +// +// You must specify VCpuCount and MemoryMiB. All other parameters are optional. +// Any unspecified optional parameter is set to its default. +// +// For more information, see Attribute-based instance type selection for EC2 +// Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), +// Attribute-based instance type selection for Spot Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), +// and Spot placement score (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) +// in the Amazon EC2 User Guide. +type InstanceRequirementsRequest struct { + _ struct{} `type:"structure"` + + // The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web + // Services Inferentia chips) on an instance. + // + // To exclude accelerator-enabled instance types, set Max to 0. + // + // Default: No minimum or maximum limits + AcceleratorCount *AcceleratorCountRequest `type:"structure"` + + // Indicates whether instance types must have accelerators by specific manufacturers. + // + // * For instance types with NVIDIA devices, specify nvidia. + // + // * For instance types with AMD devices, specify amd. + // + // * For instance types with Amazon Web Services devices, specify amazon-web-services. + // + // * For instance types with Xilinx devices, specify xilinx. + // + // Default: Any manufacturer + AcceleratorManufacturers []*string `locationName:"AcceleratorManufacturer" locationNameList:"item" type:"list"` + + // The accelerators that must be on the instance type. + // + // * For instance types with NVIDIA A100 GPUs, specify a100. + // + // * For instance types with NVIDIA V100 GPUs, specify v100. + // + // * For instance types with NVIDIA K80 GPUs, specify k80. + // + // * For instance types with NVIDIA T4 GPUs, specify t4. + // + // * For instance types with NVIDIA M60 GPUs, specify m60. + // + // * For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520. + // + // * For instance types with Xilinx VU9P FPGAs, specify vu9p. + // + // Default: Any accelerator + AcceleratorNames []*string `locationName:"AcceleratorName" locationNameList:"item" type:"list"` + + // The minimum and maximum amount of total accelerator memory, in MiB. + // + // Default: No minimum or maximum limits + AcceleratorTotalMemoryMiB *AcceleratorTotalMemoryMiBRequest `type:"structure"` + + // The accelerator types that must be on the instance type. + // + // * To include instance types with GPU hardware, specify gpu. + // + // * To include instance types with FPGA hardware, specify fpga. + // + // * To include instance types with inference hardware, specify inference. + // + // Default: Any accelerator type + AcceleratorTypes []*string `locationName:"AcceleratorType" locationNameList:"item" type:"list"` + + // Indicates whether bare metal instance types must be included, excluded, or + // required. + // + // * To include bare metal instance types, specify included. + // + // * To require only bare metal instance types, specify required. + // + // * To exclude bare metal instance types, specify excluded. + // + // Default: excluded + BareMetal *string `type:"string" enum:"BareMetal"` + + // The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more + // information, see Amazon EBS–optimized instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) + // in the Amazon EC2 User Guide. + // + // Default: No minimum or maximum limits + BaselineEbsBandwidthMbps *BaselineEbsBandwidthMbpsRequest `type:"structure"` + + // Indicates whether burstable performance T instance types are included, excluded, + // or required. For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html). + // + // * To include burstable performance instance types, specify included. + // + // * To require only burstable performance instance types, specify required. + // + // * To exclude burstable performance instance types, specify excluded. + // + // Default: excluded + BurstablePerformance *string `type:"string" enum:"BurstablePerformance"` + + // The CPU manufacturers to include. + // + // * For instance types with Intel CPUs, specify intel. + // + // * For instance types with AMD CPUs, specify amd. + // + // * For instance types with Amazon Web Services CPUs, specify amazon-web-services. + // + // Don't confuse the CPU manufacturer with the CPU architecture. Instances will + // be launched with a compatible CPU architecture based on the Amazon Machine + // Image (AMI) that you specify in your launch template. + // + // Default: Any manufacturer + CpuManufacturers []*string `locationName:"CpuManufacturer" locationNameList:"item" type:"list"` + + // The instance types to exclude. You can use strings with one or more wild + // cards, represented by an asterisk (*), to exclude an instance family, type, + // size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, + // r*, *3*. + // + // For example, if you specify c5*.*, Amazon EC2 will exclude the entire C5 + // instance family (all C5a and C5n instance types). If you specify c5a.*, Amazon + // EC2 excludes all the C5a instance types, but does not exclude the C5n instance + // types. + // + // Default: No excluded instance types + ExcludedInstanceTypes []*string `locationName:"ExcludedInstanceType" locationNameList:"item" type:"list"` + + // Indicates whether current or previous generation instance types are included. + // The current generation instance types are recommended for use. Current generation + // instance types are typically the latest two to three generations in each + // instance family. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // in the Amazon EC2 User Guide. + // + // For current generation instance types, specify current. + // + // For previous generation instance types, specify previous. + // + // Default: Current and previous generation instance types + InstanceGenerations []*string `locationName:"InstanceGeneration" locationNameList:"item" type:"list"` + + // Indicates whether instance types with instance store volumes are included, + // excluded, or required. For more information, Amazon EC2 instance store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) + // in the Amazon EC2 User Guide. + // + // * To include instance types with instance store volumes, specify included. + // + // * To require only instance types with instance store volumes, specify + // required. + // + // * To exclude instance types with instance store volumes, specify excluded. + // + // Default: included + LocalStorage *string `type:"string" enum:"LocalStorage"` + + // The type of local storage that is required. + // + // * For instance types with hard disk drive (HDD) storage, specify hdd. + // + // * For instance types with solid state drive (SDD) storage, specify sdd. + // + // Default: hdd and sdd + LocalStorageTypes []*string `locationName:"LocalStorageType" locationNameList:"item" type:"list"` + + // The minimum and maximum amount of memory per vCPU, in GiB. + // + // Default: No minimum or maximum limits + MemoryGiBPerVCpu *MemoryGiBPerVCpuRequest `type:"structure"` + + // The minimum and maximum amount of memory, in MiB. + // + // MemoryMiB is a required field + MemoryMiB *MemoryMiBRequest `type:"structure" required:"true"` + + // The minimum and maximum number of network interfaces. + // + // Default: No minimum or maximum limits + NetworkInterfaceCount *NetworkInterfaceCountRequest `type:"structure"` + + // The price protection threshold for On-Demand Instances. This is the maximum + // you’ll pay for an On-Demand Instance, expressed as a percentage above the + // cheapest M, C, or R instance type with your specified attributes. When Amazon + // EC2 selects instance types with your attributes, it excludes instance types + // priced above your threshold. + // + // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. + // + // To turn off price protection, specify a high value, such as 999999. + // + // This parameter is not supported for GetSpotPlacementScores (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) + // and GetInstanceTypesFromInstanceRequirements (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html). + // + // Default: 20 + OnDemandMaxPricePercentageOverLowestPrice *int64 `type:"integer"` + + // Indicates whether instance types must support hibernation for On-Demand Instances. + // + // This parameter is not supported for GetSpotPlacementScores (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html). + // + // Default: false + RequireHibernateSupport *bool `type:"boolean"` + + // The price protection threshold for Spot Instance. This is the maximum you’ll + // pay for an Spot Instance, expressed as a percentage above the cheapest M, + // C, or R instance type with your specified attributes. When Amazon EC2 selects + // instance types with your attributes, it excludes instance types priced above + // your threshold. + // + // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. + // + // To turn off price protection, specify a high value, such as 999999. + // + // This parameter is not supported for GetSpotPlacementScores (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) + // and GetInstanceTypesFromInstanceRequirements (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html). + // + // Default: 100 + SpotMaxPricePercentageOverLowestPrice *int64 `type:"integer"` + + // The minimum and maximum amount of total local storage, in GB. + // + // Default: No minimum or maximum limits + TotalLocalStorageGB *TotalLocalStorageGBRequest `type:"structure"` + + // The minimum and maximum number of vCPUs. + // + // VCpuCount is a required field + VCpuCount *VCpuCountRangeRequest `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstanceRequirementsRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstanceRequirementsRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceRequirementsRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceRequirementsRequest"} + if s.MemoryMiB == nil { + invalidParams.Add(request.NewErrParamRequired("MemoryMiB")) + } + if s.VCpuCount == nil { + invalidParams.Add(request.NewErrParamRequired("VCpuCount")) + } + if s.MemoryMiB != nil { + if err := s.MemoryMiB.Validate(); err != nil { + invalidParams.AddNested("MemoryMiB", err.(request.ErrInvalidParams)) + } + } + if s.VCpuCount != nil { + if err := s.VCpuCount.Validate(); err != nil { + invalidParams.AddNested("VCpuCount", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorCount sets the AcceleratorCount field's value. +func (s *InstanceRequirementsRequest) SetAcceleratorCount(v *AcceleratorCountRequest) *InstanceRequirementsRequest { + s.AcceleratorCount = v + return s +} + +// SetAcceleratorManufacturers sets the AcceleratorManufacturers field's value. +func (s *InstanceRequirementsRequest) SetAcceleratorManufacturers(v []*string) *InstanceRequirementsRequest { + s.AcceleratorManufacturers = v + return s +} + +// SetAcceleratorNames sets the AcceleratorNames field's value. +func (s *InstanceRequirementsRequest) SetAcceleratorNames(v []*string) *InstanceRequirementsRequest { + s.AcceleratorNames = v + return s +} + +// SetAcceleratorTotalMemoryMiB sets the AcceleratorTotalMemoryMiB field's value. +func (s *InstanceRequirementsRequest) SetAcceleratorTotalMemoryMiB(v *AcceleratorTotalMemoryMiBRequest) *InstanceRequirementsRequest { + s.AcceleratorTotalMemoryMiB = v + return s +} + +// SetAcceleratorTypes sets the AcceleratorTypes field's value. +func (s *InstanceRequirementsRequest) SetAcceleratorTypes(v []*string) *InstanceRequirementsRequest { + s.AcceleratorTypes = v + return s +} + +// SetBareMetal sets the BareMetal field's value. +func (s *InstanceRequirementsRequest) SetBareMetal(v string) *InstanceRequirementsRequest { + s.BareMetal = &v + return s +} + +// SetBaselineEbsBandwidthMbps sets the BaselineEbsBandwidthMbps field's value. +func (s *InstanceRequirementsRequest) SetBaselineEbsBandwidthMbps(v *BaselineEbsBandwidthMbpsRequest) *InstanceRequirementsRequest { + s.BaselineEbsBandwidthMbps = v + return s +} + +// SetBurstablePerformance sets the BurstablePerformance field's value. +func (s *InstanceRequirementsRequest) SetBurstablePerformance(v string) *InstanceRequirementsRequest { + s.BurstablePerformance = &v + return s +} + +// SetCpuManufacturers sets the CpuManufacturers field's value. +func (s *InstanceRequirementsRequest) SetCpuManufacturers(v []*string) *InstanceRequirementsRequest { + s.CpuManufacturers = v + return s +} + +// SetExcludedInstanceTypes sets the ExcludedInstanceTypes field's value. +func (s *InstanceRequirementsRequest) SetExcludedInstanceTypes(v []*string) *InstanceRequirementsRequest { + s.ExcludedInstanceTypes = v + return s +} + +// SetInstanceGenerations sets the InstanceGenerations field's value. +func (s *InstanceRequirementsRequest) SetInstanceGenerations(v []*string) *InstanceRequirementsRequest { + s.InstanceGenerations = v + return s +} + +// SetLocalStorage sets the LocalStorage field's value. +func (s *InstanceRequirementsRequest) SetLocalStorage(v string) *InstanceRequirementsRequest { + s.LocalStorage = &v + return s +} + +// SetLocalStorageTypes sets the LocalStorageTypes field's value. +func (s *InstanceRequirementsRequest) SetLocalStorageTypes(v []*string) *InstanceRequirementsRequest { + s.LocalStorageTypes = v + return s +} + +// SetMemoryGiBPerVCpu sets the MemoryGiBPerVCpu field's value. +func (s *InstanceRequirementsRequest) SetMemoryGiBPerVCpu(v *MemoryGiBPerVCpuRequest) *InstanceRequirementsRequest { + s.MemoryGiBPerVCpu = v + return s +} + +// SetMemoryMiB sets the MemoryMiB field's value. +func (s *InstanceRequirementsRequest) SetMemoryMiB(v *MemoryMiBRequest) *InstanceRequirementsRequest { + s.MemoryMiB = v + return s +} + +// SetNetworkInterfaceCount sets the NetworkInterfaceCount field's value. +func (s *InstanceRequirementsRequest) SetNetworkInterfaceCount(v *NetworkInterfaceCountRequest) *InstanceRequirementsRequest { + s.NetworkInterfaceCount = v + return s +} + +// SetOnDemandMaxPricePercentageOverLowestPrice sets the OnDemandMaxPricePercentageOverLowestPrice field's value. +func (s *InstanceRequirementsRequest) SetOnDemandMaxPricePercentageOverLowestPrice(v int64) *InstanceRequirementsRequest { + s.OnDemandMaxPricePercentageOverLowestPrice = &v + return s +} + +// SetRequireHibernateSupport sets the RequireHibernateSupport field's value. +func (s *InstanceRequirementsRequest) SetRequireHibernateSupport(v bool) *InstanceRequirementsRequest { + s.RequireHibernateSupport = &v + return s +} + +// SetSpotMaxPricePercentageOverLowestPrice sets the SpotMaxPricePercentageOverLowestPrice field's value. +func (s *InstanceRequirementsRequest) SetSpotMaxPricePercentageOverLowestPrice(v int64) *InstanceRequirementsRequest { + s.SpotMaxPricePercentageOverLowestPrice = &v + return s +} + +// SetTotalLocalStorageGB sets the TotalLocalStorageGB field's value. +func (s *InstanceRequirementsRequest) SetTotalLocalStorageGB(v *TotalLocalStorageGBRequest) *InstanceRequirementsRequest { + s.TotalLocalStorageGB = v + return s +} + +// SetVCpuCount sets the VCpuCount field's value. +func (s *InstanceRequirementsRequest) SetVCpuCount(v *VCpuCountRangeRequest) *InstanceRequirementsRequest { + s.VCpuCount = v + return s +} + +// The architecture type, virtualization type, and other attributes for the +// instance types. When you specify instance attributes, Amazon EC2 will identify +// instance types with those attributes. +// +// If you specify InstanceRequirementsWithMetadataRequest, you can't specify +// InstanceTypes. +type InstanceRequirementsWithMetadataRequest struct { + _ struct{} `type:"structure"` + + // The architecture type. + ArchitectureTypes []*string `locationName:"ArchitectureType" locationNameList:"item" type:"list"` + + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with those attributes. + InstanceRequirements *InstanceRequirementsRequest `type:"structure"` + + // The virtualization type. + VirtualizationTypes []*string `locationName:"VirtualizationType" locationNameList:"item" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstanceRequirementsWithMetadataRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstanceRequirementsWithMetadataRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceRequirementsWithMetadataRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceRequirementsWithMetadataRequest"} + if s.InstanceRequirements != nil { + if err := s.InstanceRequirements.Validate(); err != nil { + invalidParams.AddNested("InstanceRequirements", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchitectureTypes sets the ArchitectureTypes field's value. +func (s *InstanceRequirementsWithMetadataRequest) SetArchitectureTypes(v []*string) *InstanceRequirementsWithMetadataRequest { + s.ArchitectureTypes = v + return s +} + +// SetInstanceRequirements sets the InstanceRequirements field's value. +func (s *InstanceRequirementsWithMetadataRequest) SetInstanceRequirements(v *InstanceRequirementsRequest) *InstanceRequirementsWithMetadataRequest { + s.InstanceRequirements = v + return s +} + +// SetVirtualizationTypes sets the VirtualizationTypes field's value. +func (s *InstanceRequirementsWithMetadataRequest) SetVirtualizationTypes(v []*string) *InstanceRequirementsWithMetadataRequest { + s.VirtualizationTypes = v + return s +} + // The instance details to specify which volumes should be snapshotted. type InstanceSpecification struct { _ struct{} `type:"structure"` @@ -105956,6 +107770,38 @@ func (s *InstanceTypeInfo) SetVCpuInfo(v *VCpuInfo) *InstanceTypeInfo { return s } +// The list of instance types with the specified instance attributes. +type InstanceTypeInfoFromInstanceRequirements struct { + _ struct{} `type:"structure"` + + // The matching instance type. + InstanceType *string `locationName:"instanceType" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstanceTypeInfoFromInstanceRequirements) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstanceTypeInfoFromInstanceRequirements) GoString() string { + return s.String() +} + +// SetInstanceType sets the InstanceType field's value. +func (s *InstanceTypeInfoFromInstanceRequirements) SetInstanceType(v string) *InstanceTypeInfoFromInstanceRequirements { + s.InstanceType = &v + return s +} + // The instance types offered. type InstanceTypeOffering struct { _ struct{} `type:"structure"` @@ -108898,6 +110744,15 @@ type LaunchTemplateOverrides struct { // The Availability Zone in which to launch the instances. AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + // The instance requirements. When you specify instance requirements, Amazon + // EC2 will identify instance types with the provided requirements, and then + // use your On-Demand and Spot allocation strategies to launch instances from + // these instance types, in the same way as when you specify a list of instance + // types. + // + // If you specify InstanceRequirements, you can't specify InstanceTypes. + InstanceRequirements *InstanceRequirements `locationName:"instanceRequirements" type:"structure"` + // The instance type. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` @@ -108951,6 +110806,12 @@ func (s *LaunchTemplateOverrides) SetAvailabilityZone(v string) *LaunchTemplateO return s } +// SetInstanceRequirements sets the InstanceRequirements field's value. +func (s *LaunchTemplateOverrides) SetInstanceRequirements(v *InstanceRequirements) *LaunchTemplateOverrides { + s.InstanceRequirements = v + return s +} + // SetInstanceType sets the InstanceType field's value. func (s *LaunchTemplateOverrides) SetInstanceType(v string) *LaunchTemplateOverrides { s.InstanceType = &v @@ -110594,6 +112455,92 @@ func (s *ManagedPrefixList) SetVersion(v int64) *ManagedPrefixList { return s } +// The minimum and maximum amount of memory per vCPU, in GiB. +type MemoryGiBPerVCpu struct { + _ struct{} `type:"structure"` + + // The maximum amount of memory per vCPU, in GiB. If this parameter is not specified, + // there is no maximum limit. + Max *float64 `locationName:"max" type:"double"` + + // The minimum amount of memory per vCPU, in GiB. If this parameter is not specified, + // there is no minimum limit. + Min *float64 `locationName:"min" type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MemoryGiBPerVCpu) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MemoryGiBPerVCpu) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *MemoryGiBPerVCpu) SetMax(v float64) *MemoryGiBPerVCpu { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *MemoryGiBPerVCpu) SetMin(v float64) *MemoryGiBPerVCpu { + s.Min = &v + return s +} + +// The minimum and maximum amount of memory per vCPU, in GiB. +type MemoryGiBPerVCpuRequest struct { + _ struct{} `type:"structure"` + + // The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, + // omit this parameter. + Max *float64 `type:"double"` + + // The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, + // omit this parameter. + Min *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MemoryGiBPerVCpuRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MemoryGiBPerVCpuRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *MemoryGiBPerVCpuRequest) SetMax(v float64) *MemoryGiBPerVCpuRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *MemoryGiBPerVCpuRequest) SetMin(v float64) *MemoryGiBPerVCpuRequest { + s.Min = &v + return s +} + // Describes the memory for the instance type. type MemoryInfo struct { _ struct{} `type:"structure"` @@ -110626,6 +112573,107 @@ func (s *MemoryInfo) SetSizeInMiB(v int64) *MemoryInfo { return s } +// The minimum and maximum amount of memory, in MiB. +type MemoryMiB struct { + _ struct{} `type:"structure"` + + // The maximum amount of memory, in MiB. If this parameter is not specified, + // there is no maximum limit. + Max *int64 `locationName:"max" type:"integer"` + + // The minimum amount of memory, in MiB. If this parameter is not specified, + // there is no minimum limit. + Min *int64 `locationName:"min" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MemoryMiB) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MemoryMiB) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *MemoryMiB) SetMax(v int64) *MemoryMiB { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *MemoryMiB) SetMin(v int64) *MemoryMiB { + s.Min = &v + return s +} + +// The minimum and maximum amount of memory, in MiB. +type MemoryMiBRequest struct { + _ struct{} `type:"structure"` + + // The maximum amount of memory, in MiB. To specify no maximum limit, omit this + // parameter. + Max *int64 `type:"integer"` + + // The minimum amount of memory, in MiB. To specify no minimum limit, specify + // 0. + // + // Min is a required field + Min *int64 `type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MemoryMiBRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MemoryMiBRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MemoryMiBRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MemoryMiBRequest"} + if s.Min == nil { + invalidParams.Add(request.NewErrParamRequired("Min")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMax sets the Max field's value. +func (s *MemoryMiBRequest) SetMax(v int64) *MemoryMiBRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *MemoryMiBRequest) SetMin(v int64) *MemoryMiBRequest { + s.Min = &v + return s +} + type ModifyAddressAttributeInput struct { _ struct{} `type:"structure"` @@ -110972,6 +113020,9 @@ type ModifyCapacityReservationInput struct { // Reserved. Capacity Reservations you have created are accepted by default. Accept *bool `type:"boolean"` + // Reserved for future use. + AdditionalInfo *string `type:"string"` + // The ID of the Capacity Reservation. // // CapacityReservationId is a required field @@ -111048,6 +113099,12 @@ func (s *ModifyCapacityReservationInput) SetAccept(v bool) *ModifyCapacityReserv return s } +// SetAdditionalInfo sets the AdditionalInfo field's value. +func (s *ModifyCapacityReservationInput) SetAdditionalInfo(v string) *ModifyCapacityReservationInput { + s.AdditionalInfo = &v + return s +} + // SetCapacityReservationId sets the CapacityReservationId field's value. func (s *ModifyCapacityReservationInput) SetCapacityReservationId(v string) *ModifyCapacityReservationInput { s.CapacityReservationId = &v @@ -118787,6 +120844,92 @@ func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *Netw return s } +// The minimum and maximum number of network interfaces. +type NetworkInterfaceCount struct { + _ struct{} `type:"structure"` + + // The maximum number of network interfaces. If this parameter is not specified, + // there is no maximum limit. + Max *int64 `locationName:"max" type:"integer"` + + // The minimum number of network interfaces. If this parameter is not specified, + // there is no minimum limit. + Min *int64 `locationName:"min" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkInterfaceCount) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkInterfaceCount) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *NetworkInterfaceCount) SetMax(v int64) *NetworkInterfaceCount { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *NetworkInterfaceCount) SetMin(v int64) *NetworkInterfaceCount { + s.Min = &v + return s +} + +// The minimum and maximum number of network interfaces. +type NetworkInterfaceCountRequest struct { + _ struct{} `type:"structure"` + + // The maximum number of network interfaces. To specify no maximum limit, omit + // this parameter. + Max *int64 `type:"integer"` + + // The minimum number of network interfaces. To specify no minimum limit, omit + // this parameter. + Min *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkInterfaceCountRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkInterfaceCountRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *NetworkInterfaceCountRequest) SetMax(v int64) *NetworkInterfaceCountRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *NetworkInterfaceCountRequest) SetMin(v int64) *NetworkInterfaceCountRequest { + s.Min = &v + return s +} + // Describes an IPv6 address associated with a network interface. type NetworkInterfaceIpv6Address struct { _ struct{} `type:"structure"` @@ -124553,8 +126696,16 @@ type RequestLaunchTemplateData struct { // The market (purchasing) option for the instances. InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsRequest `type:"structure"` + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with these attributes. + // + // If you specify InstanceRequirements, you can't specify InstanceTypes. + InstanceRequirements *InstanceRequirementsRequest `type:"structure"` + // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. + // + // If you specify InstanceTypes, you can't specify InstanceRequirements. InstanceType *string `type:"string" enum:"InstanceType"` // The ID of the kernel. @@ -124672,6 +126823,11 @@ func (s *RequestLaunchTemplateData) Validate() error { } } } + if s.InstanceRequirements != nil { + if err := s.InstanceRequirements.Validate(); err != nil { + invalidParams.AddNested("InstanceRequirements", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -124763,6 +126919,12 @@ func (s *RequestLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateIn return s } +// SetInstanceRequirements sets the InstanceRequirements field's value. +func (s *RequestLaunchTemplateData) SetInstanceRequirements(v *InstanceRequirementsRequest) *RequestLaunchTemplateData { + s.InstanceRequirements = v + return s +} + // SetInstanceType sets the InstanceType field's value. func (s *RequestLaunchTemplateData) SetInstanceType(v string) *RequestLaunchTemplateData { s.InstanceType = &v @@ -127156,6 +129318,12 @@ type ResponseLaunchTemplateData struct { // The market (purchasing) option for the instances. InstanceMarketOptions *LaunchTemplateInstanceMarketOptions `locationName:"instanceMarketOptions" type:"structure"` + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with these attributes. + // + // If you specify InstanceRequirements, you can't specify InstanceTypes. + InstanceRequirements *InstanceRequirements `locationName:"instanceRequirements" type:"structure"` + // The instance type. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` @@ -127300,6 +129468,12 @@ func (s *ResponseLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateI return s } +// SetInstanceRequirements sets the InstanceRequirements field's value. +func (s *ResponseLaunchTemplateData) SetInstanceRequirements(v *InstanceRequirements) *ResponseLaunchTemplateData { + s.InstanceRequirements = v + return s +} + // SetInstanceType sets the InstanceType field's value. func (s *ResponseLaunchTemplateData) SetInstanceType(v string) *ResponseLaunchTemplateData { s.InstanceType = &v @@ -132609,6 +134783,12 @@ type SpotFleetLaunchSpecification struct { // The ID of the AMI. ImageId *string `locationName:"imageId" type:"string"` + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with those attributes. + // + // If you specify InstanceRequirements, you can't specify InstanceTypes. + InstanceRequirements *InstanceRequirements `locationName:"instanceRequirements" type:"structure"` + // The instance type. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` @@ -132717,6 +134897,12 @@ func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpec return s } +// SetInstanceRequirements sets the InstanceRequirements field's value. +func (s *SpotFleetLaunchSpecification) SetInstanceRequirements(v *InstanceRequirements) *SpotFleetLaunchSpecification { + s.InstanceRequirements = v + return s +} + // SetInstanceType sets the InstanceType field's value. func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification { s.InstanceType = &v @@ -133071,6 +135257,11 @@ type SpotFleetRequestConfigData struct { // TargetCapacity is a required field TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"` + // The unit for the target capacity. + // + // Default: units (translates to number of instances) + TargetCapacityUnitType *string `locationName:"targetCapacityUnitType" type:"string" enum:"TargetCapacityUnitType"` + // Indicates whether running Spot Instances are terminated when the Spot Fleet // request expires. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"` @@ -133271,6 +135462,12 @@ func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetReques return s } +// SetTargetCapacityUnitType sets the TargetCapacityUnitType field's value. +func (s *SpotFleetRequestConfigData) SetTargetCapacityUnitType(v string) *SpotFleetRequestConfigData { + s.TargetCapacityUnitType = &v + return s +} + // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value. func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData { s.TerminateInstancesWithExpiration = &v @@ -134070,6 +136267,61 @@ func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement { return s } +// The Spot placement score for this Region or Availability Zone. The score +// is calculated based on the assumption that the capacity-optimized allocation +// strategy is used and that all of the Availability Zones in the Region can +// be used. +type SpotPlacementScore struct { + _ struct{} `type:"structure"` + + // The Availability Zone. + AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"` + + // The Region. + Region *string `locationName:"region" type:"string"` + + // The placement score, on a scale from 1 to 10. A score of 10 indicates that + // your Spot request is highly likely to succeed in this Region or Availability + // Zone. A score of 1 indicates that your Spot request is not likely to succeed. + Score *int64 `locationName:"score" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SpotPlacementScore) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SpotPlacementScore) GoString() string { + return s.String() +} + +// SetAvailabilityZoneId sets the AvailabilityZoneId field's value. +func (s *SpotPlacementScore) SetAvailabilityZoneId(v string) *SpotPlacementScore { + s.AvailabilityZoneId = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *SpotPlacementScore) SetRegion(v string) *SpotPlacementScore { + s.Region = &v + return s +} + +// SetScore sets the Score field's value. +func (s *SpotPlacementScore) SetScore(v int64) *SpotPlacementScore { + s.Score = &v + return s +} + // Describes the maximum price per hour that you are willing to pay for a Spot // Instance. type SpotPrice struct { @@ -135597,6 +137849,11 @@ type TargetCapacitySpecification struct { // for On-Demand units, you cannot specify a target capacity for Spot units. SpotTargetCapacity *int64 `locationName:"spotTargetCapacity" type:"integer"` + // The unit for the target capacity. + // + // Default: units (translates to number of instances) + TargetCapacityUnitType *string `locationName:"targetCapacityUnitType" type:"string" enum:"TargetCapacityUnitType"` + // The number of units to request, filled using DefaultTargetCapacityType. TotalTargetCapacity *int64 `locationName:"totalTargetCapacity" type:"integer"` } @@ -135637,6 +137894,12 @@ func (s *TargetCapacitySpecification) SetSpotTargetCapacity(v int64) *TargetCapa return s } +// SetTargetCapacityUnitType sets the TargetCapacityUnitType field's value. +func (s *TargetCapacitySpecification) SetTargetCapacityUnitType(v string) *TargetCapacitySpecification { + s.TargetCapacityUnitType = &v + return s +} + // SetTotalTargetCapacity sets the TotalTargetCapacity field's value. func (s *TargetCapacitySpecification) SetTotalTargetCapacity(v int64) *TargetCapacitySpecification { s.TotalTargetCapacity = &v @@ -135670,6 +137933,11 @@ type TargetCapacitySpecificationRequest struct { // The number of Spot units to request. SpotTargetCapacity *int64 `type:"integer"` + // The unit for the target capacity. + // + // Default: units (translates to number of instances) + TargetCapacityUnitType *string `type:"string" enum:"TargetCapacityUnitType"` + // The number of units to request, filled using DefaultTargetCapacityType. // // TotalTargetCapacity is a required field @@ -135725,6 +137993,12 @@ func (s *TargetCapacitySpecificationRequest) SetSpotTargetCapacity(v int64) *Tar return s } +// SetTargetCapacityUnitType sets the TargetCapacityUnitType field's value. +func (s *TargetCapacitySpecificationRequest) SetTargetCapacityUnitType(v string) *TargetCapacitySpecificationRequest { + s.TargetCapacityUnitType = &v + return s +} + // SetTotalTargetCapacity sets the TotalTargetCapacity field's value. func (s *TargetCapacitySpecificationRequest) SetTotalTargetCapacity(v int64) *TargetCapacitySpecificationRequest { s.TotalTargetCapacity = &v @@ -136298,6 +138572,92 @@ func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateCha return s } +// The minimum and maximum amount of total local storage, in GB. +type TotalLocalStorageGB struct { + _ struct{} `type:"structure"` + + // The maximum amount of total local storage, in GB. If this parameter is not + // specified, there is no maximum limit. + Max *float64 `locationName:"max" type:"double"` + + // The minimum amount of total local storage, in GB. If this parameter is not + // specified, there is no minimum limit. + Min *float64 `locationName:"min" type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TotalLocalStorageGB) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TotalLocalStorageGB) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *TotalLocalStorageGB) SetMax(v float64) *TotalLocalStorageGB { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *TotalLocalStorageGB) SetMin(v float64) *TotalLocalStorageGB { + s.Min = &v + return s +} + +// The minimum and maximum amount of total local storage, in GB. +type TotalLocalStorageGBRequest struct { + _ struct{} `type:"structure"` + + // The maximum amount of total local storage, in GB. To specify no maximum limit, + // omit this parameter. + Max *float64 `type:"double"` + + // The minimum amount of total local storage, in GB. To specify no minimum limit, + // omit this parameter. + Min *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TotalLocalStorageGBRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TotalLocalStorageGBRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *TotalLocalStorageGBRequest) SetMax(v float64) *TotalLocalStorageGBRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *TotalLocalStorageGBRequest) SetMin(v float64) *TotalLocalStorageGBRequest { + s.Min = &v + return s +} + // Describes the Traffic Mirror filter. type TrafficMirrorFilter struct { _ struct{} `type:"structure"` @@ -140292,6 +142652,104 @@ func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair { return s } +// The minimum and maximum number of vCPUs. +type VCpuCountRange struct { + _ struct{} `type:"structure"` + + // The maximum number of vCPUs. If this parameter is not specified, there is + // no maximum limit. + Max *int64 `locationName:"max" type:"integer"` + + // The minimum number of vCPUs. If the value is 0, there is no minimum limit. + Min *int64 `locationName:"min" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VCpuCountRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VCpuCountRange) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *VCpuCountRange) SetMax(v int64) *VCpuCountRange { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *VCpuCountRange) SetMin(v int64) *VCpuCountRange { + s.Min = &v + return s +} + +// The minimum and maximum number of vCPUs. +type VCpuCountRangeRequest struct { + _ struct{} `type:"structure"` + + // The maximum number of vCPUs. To specify no maximum limit, omit this parameter. + Max *int64 `type:"integer"` + + // The minimum number of vCPUs. To specify no minimum limit, specify 0. + // + // Min is a required field + Min *int64 `type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VCpuCountRangeRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VCpuCountRangeRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VCpuCountRangeRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VCpuCountRangeRequest"} + if s.Min == nil { + invalidParams.Add(request.NewErrParamRequired("Min")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMax sets the Max field's value. +func (s *VCpuCountRangeRequest) SetMax(v int64) *VCpuCountRangeRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *VCpuCountRangeRequest) SetMin(v int64) *VCpuCountRangeRequest { + s.Min = &v + return s +} + // Describes the vCPU configurations for the instance type. type VCpuInfo struct { _ struct{} `type:"structure"` @@ -143159,6 +145617,86 @@ func (s *WithdrawByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *WithdrawByoipCidrO return s } +const ( + // AcceleratorManufacturerNvidia is a AcceleratorManufacturer enum value + AcceleratorManufacturerNvidia = "nvidia" + + // AcceleratorManufacturerAmd is a AcceleratorManufacturer enum value + AcceleratorManufacturerAmd = "amd" + + // AcceleratorManufacturerAmazonWebServices is a AcceleratorManufacturer enum value + AcceleratorManufacturerAmazonWebServices = "amazon-web-services" + + // AcceleratorManufacturerXilinx is a AcceleratorManufacturer enum value + AcceleratorManufacturerXilinx = "xilinx" +) + +// AcceleratorManufacturer_Values returns all elements of the AcceleratorManufacturer enum +func AcceleratorManufacturer_Values() []string { + return []string{ + AcceleratorManufacturerNvidia, + AcceleratorManufacturerAmd, + AcceleratorManufacturerAmazonWebServices, + AcceleratorManufacturerXilinx, + } +} + +const ( + // AcceleratorNameA100 is a AcceleratorName enum value + AcceleratorNameA100 = "a100" + + // AcceleratorNameV100 is a AcceleratorName enum value + AcceleratorNameV100 = "v100" + + // AcceleratorNameK80 is a AcceleratorName enum value + AcceleratorNameK80 = "k80" + + // AcceleratorNameT4 is a AcceleratorName enum value + AcceleratorNameT4 = "t4" + + // AcceleratorNameM60 is a AcceleratorName enum value + AcceleratorNameM60 = "m60" + + // AcceleratorNameRadeonProV520 is a AcceleratorName enum value + AcceleratorNameRadeonProV520 = "radeon-pro-v520" + + // AcceleratorNameVu9p is a AcceleratorName enum value + AcceleratorNameVu9p = "vu9p" +) + +// AcceleratorName_Values returns all elements of the AcceleratorName enum +func AcceleratorName_Values() []string { + return []string{ + AcceleratorNameA100, + AcceleratorNameV100, + AcceleratorNameK80, + AcceleratorNameT4, + AcceleratorNameM60, + AcceleratorNameRadeonProV520, + AcceleratorNameVu9p, + } +} + +const ( + // AcceleratorTypeGpu is a AcceleratorType enum value + AcceleratorTypeGpu = "gpu" + + // AcceleratorTypeFpga is a AcceleratorType enum value + AcceleratorTypeFpga = "fpga" + + // AcceleratorTypeInference is a AcceleratorType enum value + AcceleratorTypeInference = "inference" +) + +// AcceleratorType_Values returns all elements of the AcceleratorType enum +func AcceleratorType_Values() []string { + return []string{ + AcceleratorTypeGpu, + AcceleratorTypeFpga, + AcceleratorTypeInference, + } +} + const ( // AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value AccountAttributeNameSupportedPlatforms = "supported-platforms" @@ -143539,6 +146077,26 @@ func AvailabilityZoneState_Values() []string { } } +const ( + // BareMetalIncluded is a BareMetal enum value + BareMetalIncluded = "included" + + // BareMetalRequired is a BareMetal enum value + BareMetalRequired = "required" + + // BareMetalExcluded is a BareMetal enum value + BareMetalExcluded = "excluded" +) + +// BareMetal_Values returns all elements of the BareMetal enum +func BareMetal_Values() []string { + return []string{ + BareMetalIncluded, + BareMetalRequired, + BareMetalExcluded, + } +} + const ( // BatchStateSubmitted is a BatchState enum value BatchStateSubmitted = "submitted" @@ -143659,6 +146217,26 @@ func BundleTaskState_Values() []string { } } +const ( + // BurstablePerformanceIncluded is a BurstablePerformance enum value + BurstablePerformanceIncluded = "included" + + // BurstablePerformanceRequired is a BurstablePerformance enum value + BurstablePerformanceRequired = "required" + + // BurstablePerformanceExcluded is a BurstablePerformance enum value + BurstablePerformanceExcluded = "excluded" +) + +// BurstablePerformance_Values returns all elements of the BurstablePerformance enum +func BurstablePerformance_Values() []string { + return []string{ + BurstablePerformanceIncluded, + BurstablePerformanceRequired, + BurstablePerformanceExcluded, + } +} + const ( // ByoipCidrStateAdvertised is a ByoipCidrState enum value ByoipCidrStateAdvertised = "advertised" @@ -144171,6 +146749,26 @@ func CopyTagsFromSource_Values() []string { } } +const ( + // CpuManufacturerIntel is a CpuManufacturer enum value + CpuManufacturerIntel = "intel" + + // CpuManufacturerAmd is a CpuManufacturer enum value + CpuManufacturerAmd = "amd" + + // CpuManufacturerAmazonWebServices is a CpuManufacturer enum value + CpuManufacturerAmazonWebServices = "amazon-web-services" +) + +// CpuManufacturer_Values returns all elements of the CpuManufacturer enum +func CpuManufacturer_Values() []string { + return []string{ + CpuManufacturerIntel, + CpuManufacturerAmd, + CpuManufacturerAmazonWebServices, + } +} + const ( // CurrencyCodeValuesUsd is a CurrencyCodeValues enum value CurrencyCodeValuesUsd = "USD" @@ -145243,6 +147841,22 @@ func InstanceEventWindowState_Values() []string { } } +const ( + // InstanceGenerationCurrent is a InstanceGeneration enum value + InstanceGenerationCurrent = "current" + + // InstanceGenerationPrevious is a InstanceGeneration enum value + InstanceGenerationPrevious = "previous" +) + +// InstanceGeneration_Values returns all elements of the InstanceGeneration enum +func InstanceGeneration_Values() []string { + return []string{ + InstanceGenerationCurrent, + InstanceGenerationPrevious, + } +} + const ( // InstanceHealthStatusHealthy is a InstanceHealthStatus enum value InstanceHealthStatusHealthy = "healthy" @@ -147379,6 +149993,42 @@ func LocalGatewayRouteType_Values() []string { } } +const ( + // LocalStorageIncluded is a LocalStorage enum value + LocalStorageIncluded = "included" + + // LocalStorageRequired is a LocalStorage enum value + LocalStorageRequired = "required" + + // LocalStorageExcluded is a LocalStorage enum value + LocalStorageExcluded = "excluded" +) + +// LocalStorage_Values returns all elements of the LocalStorage enum +func LocalStorage_Values() []string { + return []string{ + LocalStorageIncluded, + LocalStorageRequired, + LocalStorageExcluded, + } +} + +const ( + // LocalStorageTypeHdd is a LocalStorageType enum value + LocalStorageTypeHdd = "hdd" + + // LocalStorageTypeSsd is a LocalStorageType enum value + LocalStorageTypeSsd = "ssd" +) + +// LocalStorageType_Values returns all elements of the LocalStorageType enum +func LocalStorageType_Values() []string { + return []string{ + LocalStorageTypeHdd, + LocalStorageTypeSsd, + } +} + const ( // LocationTypeRegion is a LocationType enum value LocationTypeRegion = "region" @@ -149003,6 +151653,26 @@ func SummaryStatus_Values() []string { } } +const ( + // TargetCapacityUnitTypeVcpu is a TargetCapacityUnitType enum value + TargetCapacityUnitTypeVcpu = "vcpu" + + // TargetCapacityUnitTypeMemoryMib is a TargetCapacityUnitType enum value + TargetCapacityUnitTypeMemoryMib = "memory-mib" + + // TargetCapacityUnitTypeUnits is a TargetCapacityUnitType enum value + TargetCapacityUnitTypeUnits = "units" +) + +// TargetCapacityUnitType_Values returns all elements of the TargetCapacityUnitType enum +func TargetCapacityUnitType_Values() []string { + return []string{ + TargetCapacityUnitTypeVcpu, + TargetCapacityUnitTypeMemoryMib, + TargetCapacityUnitTypeUnits, + } +} + const ( // TelemetryStatusUp is a TelemetryStatus enum value TelemetryStatusUp = "UP" diff --git a/service/ec2/ec2iface/interface.go b/service/ec2/ec2iface/interface.go index c9e0f1f0fc7..192cd522903 100644 --- a/service/ec2/ec2iface/interface.go +++ b/service/ec2/ec2iface/interface.go @@ -1727,6 +1727,13 @@ type EC2API interface { GetHostReservationPurchasePreviewWithContext(aws.Context, *ec2.GetHostReservationPurchasePreviewInput, ...request.Option) (*ec2.GetHostReservationPurchasePreviewOutput, error) GetHostReservationPurchasePreviewRequest(*ec2.GetHostReservationPurchasePreviewInput) (*request.Request, *ec2.GetHostReservationPurchasePreviewOutput) + GetInstanceTypesFromInstanceRequirements(*ec2.GetInstanceTypesFromInstanceRequirementsInput) (*ec2.GetInstanceTypesFromInstanceRequirementsOutput, error) + GetInstanceTypesFromInstanceRequirementsWithContext(aws.Context, *ec2.GetInstanceTypesFromInstanceRequirementsInput, ...request.Option) (*ec2.GetInstanceTypesFromInstanceRequirementsOutput, error) + GetInstanceTypesFromInstanceRequirementsRequest(*ec2.GetInstanceTypesFromInstanceRequirementsInput) (*request.Request, *ec2.GetInstanceTypesFromInstanceRequirementsOutput) + + GetInstanceTypesFromInstanceRequirementsPages(*ec2.GetInstanceTypesFromInstanceRequirementsInput, func(*ec2.GetInstanceTypesFromInstanceRequirementsOutput, bool) bool) error + GetInstanceTypesFromInstanceRequirementsPagesWithContext(aws.Context, *ec2.GetInstanceTypesFromInstanceRequirementsInput, func(*ec2.GetInstanceTypesFromInstanceRequirementsOutput, bool) bool, ...request.Option) error + GetLaunchTemplateData(*ec2.GetLaunchTemplateDataInput) (*ec2.GetLaunchTemplateDataOutput, error) GetLaunchTemplateDataWithContext(aws.Context, *ec2.GetLaunchTemplateDataInput, ...request.Option) (*ec2.GetLaunchTemplateDataOutput, error) GetLaunchTemplateDataRequest(*ec2.GetLaunchTemplateDataInput) (*request.Request, *ec2.GetLaunchTemplateDataOutput) @@ -1757,6 +1764,13 @@ type EC2API interface { GetSerialConsoleAccessStatusWithContext(aws.Context, *ec2.GetSerialConsoleAccessStatusInput, ...request.Option) (*ec2.GetSerialConsoleAccessStatusOutput, error) GetSerialConsoleAccessStatusRequest(*ec2.GetSerialConsoleAccessStatusInput) (*request.Request, *ec2.GetSerialConsoleAccessStatusOutput) + GetSpotPlacementScores(*ec2.GetSpotPlacementScoresInput) (*ec2.GetSpotPlacementScoresOutput, error) + GetSpotPlacementScoresWithContext(aws.Context, *ec2.GetSpotPlacementScoresInput, ...request.Option) (*ec2.GetSpotPlacementScoresOutput, error) + GetSpotPlacementScoresRequest(*ec2.GetSpotPlacementScoresInput) (*request.Request, *ec2.GetSpotPlacementScoresOutput) + + GetSpotPlacementScoresPages(*ec2.GetSpotPlacementScoresInput, func(*ec2.GetSpotPlacementScoresOutput, bool) bool) error + GetSpotPlacementScoresPagesWithContext(aws.Context, *ec2.GetSpotPlacementScoresInput, func(*ec2.GetSpotPlacementScoresOutput, bool) bool, ...request.Option) error + GetSubnetCidrReservations(*ec2.GetSubnetCidrReservationsInput) (*ec2.GetSubnetCidrReservationsOutput, error) GetSubnetCidrReservationsWithContext(aws.Context, *ec2.GetSubnetCidrReservationsInput, ...request.Option) (*ec2.GetSubnetCidrReservationsOutput, error) GetSubnetCidrReservationsRequest(*ec2.GetSubnetCidrReservationsInput) (*request.Request, *ec2.GetSubnetCidrReservationsOutput) diff --git a/service/eks/api.go b/service/eks/api.go index a8a786568d9..7ea471b4c20 100644 --- a/service/eks/api.go +++ b/service/eks/api.go @@ -11699,6 +11699,12 @@ const ( // AMITypesCustom is a AMITypes enum value AMITypesCustom = "CUSTOM" + + // AMITypesBottlerocketArm64 is a AMITypes enum value + AMITypesBottlerocketArm64 = "BOTTLEROCKET_ARM_64" + + // AMITypesBottlerocketX8664 is a AMITypes enum value + AMITypesBottlerocketX8664 = "BOTTLEROCKET_x86_64" ) // AMITypes_Values returns all elements of the AMITypes enum @@ -11708,6 +11714,8 @@ func AMITypes_Values() []string { AMITypesAl2X8664Gpu, AMITypesAl2Arm64, AMITypesCustom, + AMITypesBottlerocketArm64, + AMITypesBottlerocketX8664, } } diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go index 8863861d734..c8ae07bb11f 100644 --- a/service/sagemaker/api.go +++ b/service/sagemaker/api.go @@ -282,6 +282,80 @@ func (c *SageMaker) AssociateTrialComponentWithContext(ctx aws.Context, input *A return out, req.Send() } +const opBatchDescribeModelPackage = "BatchDescribeModelPackage" + +// BatchDescribeModelPackageRequest generates a "aws/request.Request" representing the +// client's request for the BatchDescribeModelPackage operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchDescribeModelPackage for more information on using the BatchDescribeModelPackage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchDescribeModelPackageRequest method. +// req, resp := client.BatchDescribeModelPackageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/BatchDescribeModelPackage +func (c *SageMaker) BatchDescribeModelPackageRequest(input *BatchDescribeModelPackageInput) (req *request.Request, output *BatchDescribeModelPackageOutput) { + op := &request.Operation{ + Name: opBatchDescribeModelPackage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchDescribeModelPackageInput{} + } + + output = &BatchDescribeModelPackageOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchDescribeModelPackage API operation for Amazon SageMaker Service. +// +// This action batch describes a list of versioned model packages +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation BatchDescribeModelPackage for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/BatchDescribeModelPackage +func (c *SageMaker) BatchDescribeModelPackage(input *BatchDescribeModelPackageInput) (*BatchDescribeModelPackageOutput, error) { + req, out := c.BatchDescribeModelPackageRequest(input) + return out, req.Send() +} + +// BatchDescribeModelPackageWithContext is the same as BatchDescribeModelPackage with the addition of +// the ability to pass a context and additional request options. +// +// See BatchDescribeModelPackage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) BatchDescribeModelPackageWithContext(ctx aws.Context, input *BatchDescribeModelPackageInput, opts ...request.Option) (*BatchDescribeModelPackageOutput, error) { + req, out := c.BatchDescribeModelPackageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateAction = "CreateAction" // CreateActionRequest generates a "aws/request.Request" representing the @@ -9799,10 +9873,10 @@ func (c *SageMaker) DescribeModelPackageRequest(input *DescribeModelPackageInput // DescribeModelPackage API operation for Amazon SageMaker Service. // // Returns a description of the specified model package, which is used to create -// Amazon SageMaker models or list them on Amazon Web Services Marketplace. +// SageMaker models or list them on Amazon Web Services Marketplace. // -// To create models in Amazon SageMaker, buyers can subscribe to model packages -// listed on Amazon Web Services Marketplace. +// To create models in SageMaker, buyers can subscribe to model packages listed +// on Amazon Web Services Marketplace. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -22389,6 +22463,85 @@ func (c *SageMaker) UpdatePipelineExecutionWithContext(ctx aws.Context, input *U return out, req.Send() } +const opUpdateProject = "UpdateProject" + +// UpdateProjectRequest generates a "aws/request.Request" representing the +// client's request for the UpdateProject operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateProject for more information on using the UpdateProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateProjectRequest method. +// req, resp := client.UpdateProjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateProject +func (c *SageMaker) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) { + op := &request.Operation{ + Name: opUpdateProject, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateProjectInput{} + } + + output = &UpdateProjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateProject API operation for Amazon SageMaker Service. +// +// Updates a machine learning (ML) project that is created from a template that +// sets up an ML pipeline from training to deploying an approved model. +// +// You must not update a project that is in use. If you update the ServiceCatalogProvisioningUpdateDetails +// of a project that is active or being created, or updated, you may lose resources +// already created by the project. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation UpdateProject for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateProject +func (c *SageMaker) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) { + req, out := c.UpdateProjectRequest(input) + return out, req.Send() +} + +// UpdateProjectWithContext is the same as UpdateProject with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateProject for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) { + req, out := c.UpdateProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateTrainingJob = "UpdateTrainingJob" // UpdateTrainingJobRequest generates a "aws/request.Request" representing the @@ -26608,6 +26761,242 @@ func (s *AutoRollbackConfig) SetAlarms(v []*Alarm) *AutoRollbackConfig { return s } +// The error code and error description associated with the resource. +type BatchDescribeModelPackageError struct { + _ struct{} `type:"structure"` + + // ErrorCode is a required field + ErrorCode *string `type:"string" required:"true"` + + // ErrorResponse is a required field + ErrorResponse *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeModelPackageError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeModelPackageError) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchDescribeModelPackageError) SetErrorCode(v string) *BatchDescribeModelPackageError { + s.ErrorCode = &v + return s +} + +// SetErrorResponse sets the ErrorResponse field's value. +func (s *BatchDescribeModelPackageError) SetErrorResponse(v string) *BatchDescribeModelPackageError { + s.ErrorResponse = &v + return s +} + +type BatchDescribeModelPackageInput struct { + _ struct{} `type:"structure"` + + // The list of Amazon Resource Name (ARN) of the model package groups. + // + // ModelPackageArnList is a required field + ModelPackageArnList []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeModelPackageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeModelPackageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDescribeModelPackageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDescribeModelPackageInput"} + if s.ModelPackageArnList == nil { + invalidParams.Add(request.NewErrParamRequired("ModelPackageArnList")) + } + if s.ModelPackageArnList != nil && len(s.ModelPackageArnList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelPackageArnList", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetModelPackageArnList sets the ModelPackageArnList field's value. +func (s *BatchDescribeModelPackageInput) SetModelPackageArnList(v []*string) *BatchDescribeModelPackageInput { + s.ModelPackageArnList = v + return s +} + +type BatchDescribeModelPackageOutput struct { + _ struct{} `type:"structure"` + + // A map of the resource and BatchDescribeModelPackageError objects reporting + // the error associated with describing the model package. + BatchDescribeModelPackageErrorMap map[string]*BatchDescribeModelPackageError `type:"map"` + + // The summaries for the model package versions + ModelPackageSummaries map[string]*BatchDescribeModelPackageSummary `type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeModelPackageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeModelPackageOutput) GoString() string { + return s.String() +} + +// SetBatchDescribeModelPackageErrorMap sets the BatchDescribeModelPackageErrorMap field's value. +func (s *BatchDescribeModelPackageOutput) SetBatchDescribeModelPackageErrorMap(v map[string]*BatchDescribeModelPackageError) *BatchDescribeModelPackageOutput { + s.BatchDescribeModelPackageErrorMap = v + return s +} + +// SetModelPackageSummaries sets the ModelPackageSummaries field's value. +func (s *BatchDescribeModelPackageOutput) SetModelPackageSummaries(v map[string]*BatchDescribeModelPackageSummary) *BatchDescribeModelPackageOutput { + s.ModelPackageSummaries = v + return s +} + +// Provides summary information about the model package. +type BatchDescribeModelPackageSummary struct { + _ struct{} `type:"structure"` + + // The creation time of the mortgage package summary. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // Defines how to perform inference generation after a training job is run. + // + // InferenceSpecification is a required field + InferenceSpecification *InferenceSpecification `type:"structure" required:"true"` + + // The approval status of the model. + ModelApprovalStatus *string `type:"string" enum:"ModelApprovalStatus"` + + // The Amazon Resource Name (ARN) of the model package. + // + // ModelPackageArn is a required field + ModelPackageArn *string `min:"1" type:"string" required:"true"` + + // The description of the model package. + ModelPackageDescription *string `type:"string"` + + // The group name for the model package + // + // ModelPackageGroupName is a required field + ModelPackageGroupName *string `min:"1" type:"string" required:"true"` + + // The status of the mortgage package. + // + // ModelPackageStatus is a required field + ModelPackageStatus *string `type:"string" required:"true" enum:"ModelPackageStatus"` + + // The version number of a versioned model. + ModelPackageVersion *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeModelPackageSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeModelPackageSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *BatchDescribeModelPackageSummary) SetCreationTime(v time.Time) *BatchDescribeModelPackageSummary { + s.CreationTime = &v + return s +} + +// SetInferenceSpecification sets the InferenceSpecification field's value. +func (s *BatchDescribeModelPackageSummary) SetInferenceSpecification(v *InferenceSpecification) *BatchDescribeModelPackageSummary { + s.InferenceSpecification = v + return s +} + +// SetModelApprovalStatus sets the ModelApprovalStatus field's value. +func (s *BatchDescribeModelPackageSummary) SetModelApprovalStatus(v string) *BatchDescribeModelPackageSummary { + s.ModelApprovalStatus = &v + return s +} + +// SetModelPackageArn sets the ModelPackageArn field's value. +func (s *BatchDescribeModelPackageSummary) SetModelPackageArn(v string) *BatchDescribeModelPackageSummary { + s.ModelPackageArn = &v + return s +} + +// SetModelPackageDescription sets the ModelPackageDescription field's value. +func (s *BatchDescribeModelPackageSummary) SetModelPackageDescription(v string) *BatchDescribeModelPackageSummary { + s.ModelPackageDescription = &v + return s +} + +// SetModelPackageGroupName sets the ModelPackageGroupName field's value. +func (s *BatchDescribeModelPackageSummary) SetModelPackageGroupName(v string) *BatchDescribeModelPackageSummary { + s.ModelPackageGroupName = &v + return s +} + +// SetModelPackageStatus sets the ModelPackageStatus field's value. +func (s *BatchDescribeModelPackageSummary) SetModelPackageStatus(v string) *BatchDescribeModelPackageSummary { + s.ModelPackageStatus = &v + return s +} + +// SetModelPackageVersion sets the ModelPackageVersion field's value. +func (s *BatchDescribeModelPackageSummary) SetModelPackageVersion(v int64) *BatchDescribeModelPackageSummary { + s.ModelPackageVersion = &v + return s +} + // Contains bias metrics for a model. type Bias struct { _ struct{} `type:"structure"` @@ -33384,6 +33773,9 @@ type CreateModelPackageInput struct { // A unique token that guarantees that the call to this API is idempotent. ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + // The metadata properties associated with the model package versions. + CustomerMetadataProperties map[string]*string `min:"1" type:"map"` + // Specifies details about inference jobs that can be run with models based // on this model package, including the following: // @@ -33415,7 +33807,8 @@ type CreateModelPackageInput struct { // A description of the model package. ModelPackageDescription *string `type:"string"` - // The name of the model group that this model version belongs to. + // The name or Amazon Resource Name (ARN) of the model package group that this + // model version belongs to. // // This parameter is required for versioned models, and does not apply to unversioned // models. @@ -33465,6 +33858,9 @@ func (s *CreateModelPackageInput) Validate() error { if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } + if s.CustomerMetadataProperties != nil && len(s.CustomerMetadataProperties) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomerMetadataProperties", 1)) + } if s.ModelPackageGroupName != nil && len(*s.ModelPackageGroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ModelPackageGroupName", 1)) } @@ -33520,6 +33916,12 @@ func (s *CreateModelPackageInput) SetClientToken(v string) *CreateModelPackageIn return s } +// SetCustomerMetadataProperties sets the CustomerMetadataProperties field's value. +func (s *CreateModelPackageInput) SetCustomerMetadataProperties(v map[string]*string) *CreateModelPackageInput { + s.CustomerMetadataProperties = v + return s +} + // SetInferenceSpecification sets the InferenceSpecification field's value. func (s *CreateModelPackageInput) SetInferenceSpecification(v *InferenceSpecification) *CreateModelPackageInput { s.InferenceSpecification = v @@ -46384,6 +46786,9 @@ type DescribeModelPackageOutput struct { // CreationTime is a required field CreationTime *time.Time `type:"timestamp" required:"true"` + // The metadata properties associated with the model package versions. + CustomerMetadataProperties map[string]*string `min:"1" type:"map"` + // Details about inference jobs that can be run with models based on this model // package. InferenceSpecification *InferenceSpecification `type:"structure"` @@ -46437,8 +46842,8 @@ type DescribeModelPackageOutput struct { // Details about the algorithm that was used to create the model package. SourceAlgorithmSpecification *SourceAlgorithmSpecification `type:"structure"` - // Configurations for one or more transform jobs that Amazon SageMaker runs - // to test the model package. + // Configurations for one or more transform jobs that SageMaker runs to test + // the model package. ValidationSpecification *ModelPackageValidationSpecification `type:"structure"` } @@ -46484,6 +46889,12 @@ func (s *DescribeModelPackageOutput) SetCreationTime(v time.Time) *DescribeModel return s } +// SetCustomerMetadataProperties sets the CustomerMetadataProperties field's value. +func (s *DescribeModelPackageOutput) SetCustomerMetadataProperties(v map[string]*string) *DescribeModelPackageOutput { + s.CustomerMetadataProperties = v + return s +} + // SetInferenceSpecification sets the InferenceSpecification field's value. func (s *DescribeModelPackageOutput) SetInferenceSpecification(v *InferenceSpecification) *DescribeModelPackageOutput { s.InferenceSpecification = v @@ -48140,6 +48551,13 @@ type DescribeProjectOutput struct { // CreationTime is a required field CreationTime *time.Time `type:"timestamp" required:"true"` + // Information about the user who created or modified an experiment, trial, + // trial component, or project. + LastModifiedBy *UserContext `type:"structure"` + + // The timestamp when project was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The Amazon Resource Name (ARN) of the project. // // ProjectArn is a required field @@ -48203,6 +48621,18 @@ func (s *DescribeProjectOutput) SetCreationTime(v time.Time) *DescribeProjectOut return s } +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *DescribeProjectOutput) SetLastModifiedBy(v *UserContext) *DescribeProjectOutput { + s.LastModifiedBy = v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *DescribeProjectOutput) SetLastModifiedTime(v time.Time) *DescribeProjectOutput { + s.LastModifiedTime = &v + return s +} + // SetProjectArn sets the ProjectArn field's value. func (s *DescribeProjectOutput) SetProjectArn(v string) *DescribeProjectOutput { s.ProjectArn = &v @@ -67493,6 +67923,9 @@ type ModelPackage struct { // The time that the model package was created. CreationTime *time.Time `type:"timestamp"` + // The metadata properties for the model package. + CustomerMetadataProperties map[string]*string `min:"1" type:"map"` + // Defines how to perform inference generation after a training job is run. InferenceSpecification *InferenceSpecification `type:"structure"` @@ -67604,6 +68037,12 @@ func (s *ModelPackage) SetCreationTime(v time.Time) *ModelPackage { return s } +// SetCustomerMetadataProperties sets the CustomerMetadataProperties field's value. +func (s *ModelPackage) SetCustomerMetadataProperties(v map[string]*string) *ModelPackage { + s.CustomerMetadataProperties = v + return s +} + // SetInferenceSpecification sets the InferenceSpecification field's value. func (s *ModelPackage) SetInferenceSpecification(v *InferenceSpecification) *ModelPackage { s.InferenceSpecification = v @@ -74430,6 +74869,13 @@ type Project struct { // A timestamp specifying when the project was created. CreationTime *time.Time `type:"timestamp"` + // Information about the user who created or modified an experiment, trial, + // trial component, or project. + LastModifiedBy *UserContext `type:"structure"` + + // A timestamp container for when the project was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The Amazon Resource Name (ARN) of the project. ProjectArn *string `min:"1" type:"string"` @@ -74490,6 +74936,18 @@ func (s *Project) SetCreationTime(v time.Time) *Project { return s } +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *Project) SetLastModifiedBy(v *UserContext) *Project { + s.LastModifiedBy = v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *Project) SetLastModifiedTime(v time.Time) *Project { + s.LastModifiedTime = &v + return s +} + // SetProjectArn sets the ProjectArn field's value. func (s *Project) SetProjectArn(v string) *Project { s.ProjectArn = &v @@ -77598,6 +78056,71 @@ func (s *ServiceCatalogProvisioningDetails) SetProvisioningParameters(v []*Provi return s } +// Details that you specify to provision a service catalog product. For information +// about service catalog, see What is AWS Service Catalog (https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html). +type ServiceCatalogProvisioningUpdateDetails struct { + _ struct{} `type:"structure"` + + // The ID of the provisioning artifact. + ProvisioningArtifactId *string `min:"1" type:"string"` + + // A list of key value pairs that you specify when you provision a product. + ProvisioningParameters []*ProvisioningParameter `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceCatalogProvisioningUpdateDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceCatalogProvisioningUpdateDetails) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ServiceCatalogProvisioningUpdateDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ServiceCatalogProvisioningUpdateDetails"} + if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1)) + } + if s.ProvisioningParameters != nil { + for i, v := range s.ProvisioningParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value. +func (s *ServiceCatalogProvisioningUpdateDetails) SetProvisioningArtifactId(v string) *ServiceCatalogProvisioningUpdateDetails { + s.ProvisioningArtifactId = &v + return s +} + +// SetProvisioningParameters sets the ProvisioningParameters field's value. +func (s *ServiceCatalogProvisioningUpdateDetails) SetProvisioningParameters(v []*ProvisioningParameter) *ServiceCatalogProvisioningUpdateDetails { + s.ProvisioningParameters = v + return s +} + // Specifies options for sharing SageMaker Studio notebooks. These settings // are specified as part of DefaultUserSettings when the CreateDomain API is // called, and as part of UserSettings when the CreateUserProfile API is called. @@ -84239,12 +84762,16 @@ type UpdateModelPackageInput struct { // A description for the approval status of the model. ApprovalDescription *string `type:"string"` + // The metadata properties associated with the model package versions. + CustomerMetadataProperties map[string]*string `min:"1" type:"map"` + + // The metadata properties associated with the model package versions to remove. + CustomerMetadataPropertiesToRemove []*string `type:"list"` + // The approval status of the model. - // - // ModelApprovalStatus is a required field - ModelApprovalStatus *string `type:"string" required:"true" enum:"ModelApprovalStatus"` + ModelApprovalStatus *string `type:"string" enum:"ModelApprovalStatus"` - // The Amazon Resource Name (ARN) of the model. + // The Amazon Resource Name (ARN) of the model package. // // ModelPackageArn is a required field ModelPackageArn *string `min:"1" type:"string" required:"true"` @@ -84271,8 +84798,8 @@ func (s UpdateModelPackageInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateModelPackageInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateModelPackageInput"} - if s.ModelApprovalStatus == nil { - invalidParams.Add(request.NewErrParamRequired("ModelApprovalStatus")) + if s.CustomerMetadataProperties != nil && len(s.CustomerMetadataProperties) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomerMetadataProperties", 1)) } if s.ModelPackageArn == nil { invalidParams.Add(request.NewErrParamRequired("ModelPackageArn")) @@ -84293,6 +84820,18 @@ func (s *UpdateModelPackageInput) SetApprovalDescription(v string) *UpdateModelP return s } +// SetCustomerMetadataProperties sets the CustomerMetadataProperties field's value. +func (s *UpdateModelPackageInput) SetCustomerMetadataProperties(v map[string]*string) *UpdateModelPackageInput { + s.CustomerMetadataProperties = v + return s +} + +// SetCustomerMetadataPropertiesToRemove sets the CustomerMetadataPropertiesToRemove field's value. +func (s *UpdateModelPackageInput) SetCustomerMetadataPropertiesToRemove(v []*string) *UpdateModelPackageInput { + s.CustomerMetadataPropertiesToRemove = v + return s +} + // SetModelApprovalStatus sets the ModelApprovalStatus field's value. func (s *UpdateModelPackageInput) SetModelApprovalStatus(v string) *UpdateModelPackageInput { s.ModelApprovalStatus = &v @@ -85003,6 +85542,135 @@ func (s *UpdatePipelineOutput) SetPipelineArn(v string) *UpdatePipelineOutput { return s } +type UpdateProjectInput struct { + _ struct{} `type:"structure"` + + // The description for the project. + ProjectDescription *string `type:"string"` + + // The name of the project. + // + // ProjectName is a required field + ProjectName *string `min:"1" type:"string" required:"true"` + + // The product ID and provisioning artifact ID to provision a service catalog. + // The provisioning artifact ID will default to the latest provisioning artifact + // ID of the product, if you don't provide the provisioning artifact ID. For + // more information, see What is AWS Service Catalog (https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html). + ServiceCatalogProvisioningUpdateDetails *ServiceCatalogProvisioningUpdateDetails `type:"structure"` + + // An array of key-value pairs. You can use tags to categorize your AWS resources + // in different ways, for example, by purpose, owner, or environment. For more + // information, see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateProjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateProjectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"} + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) + } + if s.ProjectName != nil && len(*s.ProjectName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) + } + if s.ServiceCatalogProvisioningUpdateDetails != nil { + if err := s.ServiceCatalogProvisioningUpdateDetails.Validate(); err != nil { + invalidParams.AddNested("ServiceCatalogProvisioningUpdateDetails", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProjectDescription sets the ProjectDescription field's value. +func (s *UpdateProjectInput) SetProjectDescription(v string) *UpdateProjectInput { + s.ProjectDescription = &v + return s +} + +// SetProjectName sets the ProjectName field's value. +func (s *UpdateProjectInput) SetProjectName(v string) *UpdateProjectInput { + s.ProjectName = &v + return s +} + +// SetServiceCatalogProvisioningUpdateDetails sets the ServiceCatalogProvisioningUpdateDetails field's value. +func (s *UpdateProjectInput) SetServiceCatalogProvisioningUpdateDetails(v *ServiceCatalogProvisioningUpdateDetails) *UpdateProjectInput { + s.ServiceCatalogProvisioningUpdateDetails = v + return s +} + +// SetTags sets the Tags field's value. +func (s *UpdateProjectInput) SetTags(v []*Tag) *UpdateProjectInput { + s.Tags = v + return s +} + +type UpdateProjectOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the project. + // + // ProjectArn is a required field + ProjectArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateProjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateProjectOutput) GoString() string { + return s.String() +} + +// SetProjectArn sets the ProjectArn field's value. +func (s *UpdateProjectOutput) SetProjectArn(v string) *UpdateProjectOutput { + s.ProjectArn = &v + return s +} + type UpdateTrainingJobInput struct { _ struct{} `type:"structure"` @@ -89851,6 +90519,15 @@ const ( // ProjectStatusDeleteCompleted is a ProjectStatus enum value ProjectStatusDeleteCompleted = "DeleteCompleted" + + // ProjectStatusUpdateInProgress is a ProjectStatus enum value + ProjectStatusUpdateInProgress = "UpdateInProgress" + + // ProjectStatusUpdateCompleted is a ProjectStatus enum value + ProjectStatusUpdateCompleted = "UpdateCompleted" + + // ProjectStatusUpdateFailed is a ProjectStatus enum value + ProjectStatusUpdateFailed = "UpdateFailed" ) // ProjectStatus_Values returns all elements of the ProjectStatus enum @@ -89863,6 +90540,9 @@ func ProjectStatus_Values() []string { ProjectStatusDeleteInProgress, ProjectStatusDeleteFailed, ProjectStatusDeleteCompleted, + ProjectStatusUpdateInProgress, + ProjectStatusUpdateCompleted, + ProjectStatusUpdateFailed, } } diff --git a/service/sagemaker/sagemakeriface/interface.go b/service/sagemaker/sagemakeriface/interface.go index 00535ee92cd..c078bca4900 100644 --- a/service/sagemaker/sagemakeriface/interface.go +++ b/service/sagemaker/sagemakeriface/interface.go @@ -72,6 +72,10 @@ type SageMakerAPI interface { AssociateTrialComponentWithContext(aws.Context, *sagemaker.AssociateTrialComponentInput, ...request.Option) (*sagemaker.AssociateTrialComponentOutput, error) AssociateTrialComponentRequest(*sagemaker.AssociateTrialComponentInput) (*request.Request, *sagemaker.AssociateTrialComponentOutput) + BatchDescribeModelPackage(*sagemaker.BatchDescribeModelPackageInput) (*sagemaker.BatchDescribeModelPackageOutput, error) + BatchDescribeModelPackageWithContext(aws.Context, *sagemaker.BatchDescribeModelPackageInput, ...request.Option) (*sagemaker.BatchDescribeModelPackageOutput, error) + BatchDescribeModelPackageRequest(*sagemaker.BatchDescribeModelPackageInput) (*request.Request, *sagemaker.BatchDescribeModelPackageOutput) + CreateAction(*sagemaker.CreateActionInput) (*sagemaker.CreateActionOutput, error) CreateActionWithContext(aws.Context, *sagemaker.CreateActionInput, ...request.Option) (*sagemaker.CreateActionOutput, error) CreateActionRequest(*sagemaker.CreateActionInput) (*request.Request, *sagemaker.CreateActionOutput) @@ -1161,6 +1165,10 @@ type SageMakerAPI interface { UpdatePipelineExecutionWithContext(aws.Context, *sagemaker.UpdatePipelineExecutionInput, ...request.Option) (*sagemaker.UpdatePipelineExecutionOutput, error) UpdatePipelineExecutionRequest(*sagemaker.UpdatePipelineExecutionInput) (*request.Request, *sagemaker.UpdatePipelineExecutionOutput) + UpdateProject(*sagemaker.UpdateProjectInput) (*sagemaker.UpdateProjectOutput, error) + UpdateProjectWithContext(aws.Context, *sagemaker.UpdateProjectInput, ...request.Option) (*sagemaker.UpdateProjectOutput, error) + UpdateProjectRequest(*sagemaker.UpdateProjectInput) (*request.Request, *sagemaker.UpdateProjectOutput) + UpdateTrainingJob(*sagemaker.UpdateTrainingJobInput) (*sagemaker.UpdateTrainingJobOutput, error) UpdateTrainingJobWithContext(aws.Context, *sagemaker.UpdateTrainingJobInput, ...request.Option) (*sagemaker.UpdateTrainingJobOutput, error) UpdateTrainingJobRequest(*sagemaker.UpdateTrainingJobInput) (*request.Request, *sagemaker.UpdateTrainingJobOutput) diff --git a/service/textract/api.go b/service/textract/api.go index faccfe2c988..94cefc9a87d 100644 --- a/service/textract/api.go +++ b/service/textract/api.go @@ -701,6 +701,135 @@ func (c *Textract) GetDocumentTextDetectionWithContext(ctx aws.Context, input *G return out, req.Send() } +const opGetExpenseAnalysis = "GetExpenseAnalysis" + +// GetExpenseAnalysisRequest generates a "aws/request.Request" representing the +// client's request for the GetExpenseAnalysis operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetExpenseAnalysis for more information on using the GetExpenseAnalysis +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetExpenseAnalysisRequest method. +// req, resp := client.GetExpenseAnalysisRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/GetExpenseAnalysis +func (c *Textract) GetExpenseAnalysisRequest(input *GetExpenseAnalysisInput) (req *request.Request, output *GetExpenseAnalysisOutput) { + op := &request.Operation{ + Name: opGetExpenseAnalysis, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetExpenseAnalysisInput{} + } + + output = &GetExpenseAnalysisOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetExpenseAnalysis API operation for Amazon Textract. +// +// Gets the results for an Amazon Textract asynchronous operation that analyzes +// invoices and receipts. Amazon Textract finds contact information, items purchased, +// and vendor name, from input invoices and receipts. +// +// You start asynchronous invoice/receipt analysis by calling StartExpenseAnalysis, +// which returns a job identifier (JobId). Upon completion of the invoice/receipt +// analysis, Amazon Textract publishes the completion status to the Amazon Simple +// Notification Service (Amazon SNS) topic. This topic must be registered in +// the initial call to StartExpenseAnalysis. To get the results of the invoice/receipt +// analysis operation, first ensure that the status value published to the Amazon +// SNS topic is SUCCEEDED. If so, call GetExpenseAnalysis, and pass the job +// identifier (JobId) from the initial call to StartExpenseAnalysis. +// +// Use the MaxResults parameter to limit the number of blocks that are returned. +// If there are more results than specified in MaxResults, the value of NextToken +// in the operation response contains a pagination token for getting the next +// set of results. To get the next page of results, call GetExpenseAnalysis, +// and populate the NextToken request parameter with the token value that's +// returned from the previous call to GetExpenseAnalysis. +// +// For more information, see Analyzing Invoices and Receipts (https://docs.aws.amazon.com/textract/latest/dg/invoices-receipts.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Textract's +// API operation GetExpenseAnalysis for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// An input parameter violated a constraint. For example, in synchronous operations, +// an InvalidParameterException exception occurs when neither of the S3Object +// or Bytes values are supplied in the Document request parameter. Validate +// your parameter before calling the API operation again. +// +// * AccessDeniedException +// You aren't authorized to perform the action. Use the Amazon Resource Name +// (ARN) of an authorized user or IAM role to perform the operation. +// +// * ProvisionedThroughputExceededException +// The number of requests exceeded your throughput limit. If you want to increase +// this limit, contact Amazon Textract. +// +// * InvalidJobIdException +// An invalid job identifier was passed to GetDocumentAnalysis or to GetDocumentAnalysis. +// +// * InternalServerError +// Amazon Textract experienced a service issue. Try your call again. +// +// * ThrottlingException +// Amazon Textract is temporarily unable to process the request. Try your call +// again. +// +// * InvalidS3ObjectException +// Amazon Textract is unable to access the S3 object that's specified in the +// request. for more information, Configure Access to Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) +// For troubleshooting information, see Troubleshooting Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/troubleshooting.html) +// +// * InvalidKMSKeyException +// Indicates you do not have decrypt permissions with the KMS key entered, or +// the KMS key was entered incorrectly. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/GetExpenseAnalysis +func (c *Textract) GetExpenseAnalysis(input *GetExpenseAnalysisInput) (*GetExpenseAnalysisOutput, error) { + req, out := c.GetExpenseAnalysisRequest(input) + return out, req.Send() +} + +// GetExpenseAnalysisWithContext is the same as GetExpenseAnalysis with the addition of +// the ability to pass a context and additional request options. +// +// See GetExpenseAnalysis for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Textract) GetExpenseAnalysisWithContext(ctx aws.Context, input *GetExpenseAnalysisInput, opts ...request.Option) (*GetExpenseAnalysisOutput, error) { + req, out := c.GetExpenseAnalysisRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartDocumentAnalysis = "StartDocumentAnalysis" // StartDocumentAnalysisRequest generates a "aws/request.Request" representing the @@ -749,8 +878,8 @@ func (c *Textract) StartDocumentAnalysisRequest(input *StartDocumentAnalysisInpu // detected items such as key-value pairs, tables, and selection elements. // // StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, -// and PDF format. The documents are stored in an Amazon S3 bucket. Use DocumentLocation -// to specify the bucket name and file name of the document. +// TIFF, and PDF format. The documents are stored in an Amazon S3 bucket. Use +// DocumentLocation to specify the bucket name and file name of the document. // // StartDocumentAnalysis returns a job identifier (JobId) that you use to get // the results of the operation. When text analysis is finished, Amazon Textract @@ -896,8 +1025,8 @@ func (c *Textract) StartDocumentTextDetectionRequest(input *StartDocumentTextDet // can detect lines of text and the words that make up a line of text. // // StartDocumentTextDetection can analyze text in documents that are in JPEG, -// PNG, and PDF format. The documents are stored in an Amazon S3 bucket. Use -// DocumentLocation to specify the bucket name and file name of the document. +// PNG, TIFF, and PDF format. The documents are stored in an Amazon S3 bucket. +// Use DocumentLocation to specify the bucket name and file name of the document. // // StartTextDetection returns a job identifier (JobId) that you use to get the // results of the operation. When text detection is finished, Amazon Textract @@ -995,6 +1124,155 @@ func (c *Textract) StartDocumentTextDetectionWithContext(ctx aws.Context, input return out, req.Send() } +const opStartExpenseAnalysis = "StartExpenseAnalysis" + +// StartExpenseAnalysisRequest generates a "aws/request.Request" representing the +// client's request for the StartExpenseAnalysis operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartExpenseAnalysis for more information on using the StartExpenseAnalysis +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartExpenseAnalysisRequest method. +// req, resp := client.StartExpenseAnalysisRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/StartExpenseAnalysis +func (c *Textract) StartExpenseAnalysisRequest(input *StartExpenseAnalysisInput) (req *request.Request, output *StartExpenseAnalysisOutput) { + op := &request.Operation{ + Name: opStartExpenseAnalysis, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartExpenseAnalysisInput{} + } + + output = &StartExpenseAnalysisOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartExpenseAnalysis API operation for Amazon Textract. +// +// Starts the asynchronous analysis of invoices or receipts for data like contact +// information, items purchased, and vendor names. +// +// StartExpenseAnalysis can analyze text in documents that are in JPEG, PNG, +// and PDF format. The documents must be stored in an Amazon S3 bucket. Use +// the DocumentLocation parameter to specify the name of your S3 bucket and +// the name of the document in that bucket. +// +// StartExpenseAnalysis returns a job identifier (JobId) that you will provide +// to GetExpenseAnalysis to retrieve the results of the operation. When the +// analysis of the input invoices/receipts is finished, Amazon Textract publishes +// a completion status to the Amazon Simple Notification Service (Amazon SNS) +// topic that you provide to the NotificationChannel. To obtain the results +// of the invoice and receipt analysis operation, ensure that the status value +// published to the Amazon SNS topic is SUCCEEDED. If so, call GetExpenseAnalysis, +// and pass the job identifier (JobId) that was returned by your call to StartExpenseAnalysis. +// +// For more information, see Analyzing Invoices and Receipts (https://docs.aws.amazon.com/textract/latest/dg/invoice-receipts.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Textract's +// API operation StartExpenseAnalysis for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// An input parameter violated a constraint. For example, in synchronous operations, +// an InvalidParameterException exception occurs when neither of the S3Object +// or Bytes values are supplied in the Document request parameter. Validate +// your parameter before calling the API operation again. +// +// * InvalidS3ObjectException +// Amazon Textract is unable to access the S3 object that's specified in the +// request. for more information, Configure Access to Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) +// For troubleshooting information, see Troubleshooting Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/troubleshooting.html) +// +// * InvalidKMSKeyException +// Indicates you do not have decrypt permissions with the KMS key entered, or +// the KMS key was entered incorrectly. +// +// * UnsupportedDocumentException +// The format of the input document isn't supported. Documents for synchronous +// operations can be in PNG or JPEG format. Documents for asynchronous operations +// can also be in PDF format. +// +// * DocumentTooLargeException +// The document can't be processed because it's too large. The maximum document +// size for synchronous operations 10 MB. The maximum document size for asynchronous +// operations is 500 MB for PDF files. +// +// * BadDocumentException +// Amazon Textract isn't able to read the document. For more information on +// the document limits in Amazon Textract, see limits. +// +// * AccessDeniedException +// You aren't authorized to perform the action. Use the Amazon Resource Name +// (ARN) of an authorized user or IAM role to perform the operation. +// +// * ProvisionedThroughputExceededException +// The number of requests exceeded your throughput limit. If you want to increase +// this limit, contact Amazon Textract. +// +// * InternalServerError +// Amazon Textract experienced a service issue. Try your call again. +// +// * IdempotentParameterMismatchException +// A ClientRequestToken input parameter was reused with an operation, but at +// least one of the other input parameters is different from the previous call +// to the operation. +// +// * ThrottlingException +// Amazon Textract is temporarily unable to process the request. Try your call +// again. +// +// * LimitExceededException +// An Amazon Textract service limit was exceeded. For example, if you start +// too many asynchronous jobs concurrently, calls to start operations (StartDocumentTextDetection, +// for example) raise a LimitExceededException exception (HTTP status code: +// 400) until the number of concurrently running jobs is below the Amazon Textract +// service limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/StartExpenseAnalysis +func (c *Textract) StartExpenseAnalysis(input *StartExpenseAnalysisInput) (*StartExpenseAnalysisOutput, error) { + req, out := c.StartExpenseAnalysisRequest(input) + return out, req.Send() +} + +// StartExpenseAnalysisWithContext is the same as StartExpenseAnalysis with the addition of +// the ability to pass a context and additional request options. +// +// See StartExpenseAnalysis for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Textract) StartExpenseAnalysisWithContext(ctx aws.Context, input *StartExpenseAnalysisInput, opts ...request.Option) (*StartExpenseAnalysisOutput, error) { + req, out := c.StartExpenseAnalysisRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + // You aren't authorized to perform the action. Use the Amazon Resource Name // (ARN) of an authorized user or IAM role to perform the operation. type AccessDeniedException struct { @@ -1473,10 +1751,10 @@ type Block struct { // The page on which a block was detected. Page is returned by asynchronous // operations. Page values greater than 1 are only returned for multipage documents - // that are in PDF format. A scanned image (JPEG/PNG), even if it contains multiple - // document pages, is considered to be a single-page document. The value of - // Page is always 1. Synchronous operations don't return Page because every - // input document is considered to be a single-page document. + // that are in PDF or TIFF format. A scanned image (JPEG/PNG), even if it contains + // multiple document pages, is considered to be a single-page document. The + // value of Page is always 1. Synchronous operations don't return Page because + // every input document is considered to be a single-page document. Page *int64 `type:"integer"` // A list of child blocks of the current block. For example, a LINE object has @@ -2613,6 +2891,175 @@ func (s *GetDocumentTextDetectionOutput) SetWarnings(v []*Warning) *GetDocumentT return s } +type GetExpenseAnalysisInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the text detection job. The JobId is returned from + // StartExpenseAnalysis. A JobId value is only valid for 7 days. + // + // JobId is a required field + JobId *string `min:"1" type:"string" required:"true"` + + // The maximum number of results to return per paginated call. The largest value + // you can specify is 20. If you specify a value greater than 20, a maximum + // of 20 results is returned. The default value is 20. + MaxResults *int64 `min:"1" type:"integer"` + + // If the previous response was incomplete (because there are more blocks to + // retrieve), Amazon Textract returns a pagination token in the response. You + // can use this pagination token to retrieve the next set of blocks. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetExpenseAnalysisInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetExpenseAnalysisInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetExpenseAnalysisInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetExpenseAnalysisInput"} + if s.JobId == nil { + invalidParams.Add(request.NewErrParamRequired("JobId")) + } + if s.JobId != nil && len(*s.JobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobId sets the JobId field's value. +func (s *GetExpenseAnalysisInput) SetJobId(v string) *GetExpenseAnalysisInput { + s.JobId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetExpenseAnalysisInput) SetMaxResults(v int64) *GetExpenseAnalysisInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetExpenseAnalysisInput) SetNextToken(v string) *GetExpenseAnalysisInput { + s.NextToken = &v + return s +} + +type GetExpenseAnalysisOutput struct { + _ struct{} `type:"structure"` + + // The current model version of AnalyzeExpense. + AnalyzeExpenseModelVersion *string `type:"string"` + + // Information about a document that Amazon Textract processed. DocumentMetadata + // is returned in every page of paginated responses from an Amazon Textract + // operation. + DocumentMetadata *DocumentMetadata `type:"structure"` + + // The expenses detected by Amazon Textract. + ExpenseDocuments []*ExpenseDocument `type:"list"` + + // The current status of the text detection job. + JobStatus *string `type:"string" enum:"JobStatus"` + + // If the response is truncated, Amazon Textract returns this token. You can + // use this token in the subsequent request to retrieve the next set of text-detection + // results. + NextToken *string `min:"1" type:"string"` + + // Returns if the detection job could not be completed. Contains explanation + // for what error occured. + StatusMessage *string `type:"string"` + + // A list of warnings that occurred during the text-detection operation for + // the document. + Warnings []*Warning `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetExpenseAnalysisOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetExpenseAnalysisOutput) GoString() string { + return s.String() +} + +// SetAnalyzeExpenseModelVersion sets the AnalyzeExpenseModelVersion field's value. +func (s *GetExpenseAnalysisOutput) SetAnalyzeExpenseModelVersion(v string) *GetExpenseAnalysisOutput { + s.AnalyzeExpenseModelVersion = &v + return s +} + +// SetDocumentMetadata sets the DocumentMetadata field's value. +func (s *GetExpenseAnalysisOutput) SetDocumentMetadata(v *DocumentMetadata) *GetExpenseAnalysisOutput { + s.DocumentMetadata = v + return s +} + +// SetExpenseDocuments sets the ExpenseDocuments field's value. +func (s *GetExpenseAnalysisOutput) SetExpenseDocuments(v []*ExpenseDocument) *GetExpenseAnalysisOutput { + s.ExpenseDocuments = v + return s +} + +// SetJobStatus sets the JobStatus field's value. +func (s *GetExpenseAnalysisOutput) SetJobStatus(v string) *GetExpenseAnalysisOutput { + s.JobStatus = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetExpenseAnalysisOutput) SetNextToken(v string) *GetExpenseAnalysisOutput { + s.NextToken = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *GetExpenseAnalysisOutput) SetStatusMessage(v string) *GetExpenseAnalysisOutput { + s.StatusMessage = &v + return s +} + +// SetWarnings sets the Warnings field's value. +func (s *GetExpenseAnalysisOutput) SetWarnings(v []*Warning) *GetExpenseAnalysisOutput { + s.Warnings = v + return s +} + // Shows the results of the human in the loop evaluation. If there is no HumanLoopArn, // the input did not trigger human review. type HumanLoopActivationOutput struct { @@ -3718,7 +4165,7 @@ type S3Object struct { // The file name of the input document. Synchronous operations can use image // files that are in JPEG or PNG format. Asynchronous operations also support - // PDF format files. + // PDF and TIFF format files. Name *string `min:"1" type:"string"` // If the bucket has versioning enabled, you can specify the object version. @@ -4123,6 +4570,167 @@ func (s *StartDocumentTextDetectionOutput) SetJobId(v string) *StartDocumentText return s } +type StartExpenseAnalysisInput struct { + _ struct{} `type:"structure"` + + // The idempotent token that's used to identify the start request. If you use + // the same token with multiple StartDocumentTextDetection requests, the same + // JobId is returned. Use ClientRequestToken to prevent the same job from being + // accidentally started more than once. For more information, see Calling Amazon + // Textract Asynchronous Operations (https://docs.aws.amazon.com/textract/latest/dg/api-async.html) + ClientRequestToken *string `min:"1" type:"string"` + + // The location of the document to be processed. + // + // DocumentLocation is a required field + DocumentLocation *DocumentLocation `type:"structure" required:"true"` + + // An identifier you specify that's included in the completion notification + // published to the Amazon SNS topic. For example, you can use JobTag to identify + // the type of document that the completion notification corresponds to (such + // as a tax form or a receipt). + JobTag *string `min:"1" type:"string"` + + // The KMS key used to encrypt the inference results. This can be in either + // Key ID or Key Alias format. When a KMS key is provided, the KMS key will + // be used for server-side encryption of the objects in the customer bucket. + // When this parameter is not enabled, the result will be encrypted server side,using + // SSE-S3. + KMSKeyId *string `min:"1" type:"string"` + + // The Amazon SNS topic ARN that you want Amazon Textract to publish the completion + // status of the operation to. + NotificationChannel *NotificationChannel `type:"structure"` + + // Sets if the output will go to a customer defined bucket. By default, Amazon + // Textract will save the results internally to be accessed by the GetExpenseAnalysis + // operation. + OutputConfig *OutputConfig `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartExpenseAnalysisInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartExpenseAnalysisInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartExpenseAnalysisInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartExpenseAnalysisInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.DocumentLocation == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentLocation")) + } + if s.JobTag != nil && len(*s.JobTag) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobTag", 1)) + } + if s.KMSKeyId != nil && len(*s.KMSKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KMSKeyId", 1)) + } + if s.DocumentLocation != nil { + if err := s.DocumentLocation.Validate(); err != nil { + invalidParams.AddNested("DocumentLocation", err.(request.ErrInvalidParams)) + } + } + if s.NotificationChannel != nil { + if err := s.NotificationChannel.Validate(); err != nil { + invalidParams.AddNested("NotificationChannel", err.(request.ErrInvalidParams)) + } + } + if s.OutputConfig != nil { + if err := s.OutputConfig.Validate(); err != nil { + invalidParams.AddNested("OutputConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *StartExpenseAnalysisInput) SetClientRequestToken(v string) *StartExpenseAnalysisInput { + s.ClientRequestToken = &v + return s +} + +// SetDocumentLocation sets the DocumentLocation field's value. +func (s *StartExpenseAnalysisInput) SetDocumentLocation(v *DocumentLocation) *StartExpenseAnalysisInput { + s.DocumentLocation = v + return s +} + +// SetJobTag sets the JobTag field's value. +func (s *StartExpenseAnalysisInput) SetJobTag(v string) *StartExpenseAnalysisInput { + s.JobTag = &v + return s +} + +// SetKMSKeyId sets the KMSKeyId field's value. +func (s *StartExpenseAnalysisInput) SetKMSKeyId(v string) *StartExpenseAnalysisInput { + s.KMSKeyId = &v + return s +} + +// SetNotificationChannel sets the NotificationChannel field's value. +func (s *StartExpenseAnalysisInput) SetNotificationChannel(v *NotificationChannel) *StartExpenseAnalysisInput { + s.NotificationChannel = v + return s +} + +// SetOutputConfig sets the OutputConfig field's value. +func (s *StartExpenseAnalysisInput) SetOutputConfig(v *OutputConfig) *StartExpenseAnalysisInput { + s.OutputConfig = v + return s +} + +type StartExpenseAnalysisOutput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the text detection job. The JobId is returned from + // StartExpenseAnalysis. A JobId value is only valid for 7 days. + JobId *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartExpenseAnalysisOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartExpenseAnalysisOutput) GoString() string { + return s.String() +} + +// SetJobId sets the JobId field's value. +func (s *StartExpenseAnalysisOutput) SetJobId(v string) *StartExpenseAnalysisOutput { + s.JobId = &v + return s +} + // Amazon Textract is temporarily unable to process the request. Try your call // again. type ThrottlingException struct { diff --git a/service/textract/textractiface/interface.go b/service/textract/textractiface/interface.go index b94a6cbcdd2..2d921d2abc2 100644 --- a/service/textract/textractiface/interface.go +++ b/service/textract/textractiface/interface.go @@ -80,6 +80,10 @@ type TextractAPI interface { GetDocumentTextDetectionWithContext(aws.Context, *textract.GetDocumentTextDetectionInput, ...request.Option) (*textract.GetDocumentTextDetectionOutput, error) GetDocumentTextDetectionRequest(*textract.GetDocumentTextDetectionInput) (*request.Request, *textract.GetDocumentTextDetectionOutput) + GetExpenseAnalysis(*textract.GetExpenseAnalysisInput) (*textract.GetExpenseAnalysisOutput, error) + GetExpenseAnalysisWithContext(aws.Context, *textract.GetExpenseAnalysisInput, ...request.Option) (*textract.GetExpenseAnalysisOutput, error) + GetExpenseAnalysisRequest(*textract.GetExpenseAnalysisInput) (*request.Request, *textract.GetExpenseAnalysisOutput) + StartDocumentAnalysis(*textract.StartDocumentAnalysisInput) (*textract.StartDocumentAnalysisOutput, error) StartDocumentAnalysisWithContext(aws.Context, *textract.StartDocumentAnalysisInput, ...request.Option) (*textract.StartDocumentAnalysisOutput, error) StartDocumentAnalysisRequest(*textract.StartDocumentAnalysisInput) (*request.Request, *textract.StartDocumentAnalysisOutput) @@ -87,6 +91,10 @@ type TextractAPI interface { StartDocumentTextDetection(*textract.StartDocumentTextDetectionInput) (*textract.StartDocumentTextDetectionOutput, error) StartDocumentTextDetectionWithContext(aws.Context, *textract.StartDocumentTextDetectionInput, ...request.Option) (*textract.StartDocumentTextDetectionOutput, error) StartDocumentTextDetectionRequest(*textract.StartDocumentTextDetectionInput) (*request.Request, *textract.StartDocumentTextDetectionOutput) + + StartExpenseAnalysis(*textract.StartExpenseAnalysisInput) (*textract.StartExpenseAnalysisOutput, error) + StartExpenseAnalysisWithContext(aws.Context, *textract.StartExpenseAnalysisInput, ...request.Option) (*textract.StartExpenseAnalysisOutput, error) + StartExpenseAnalysisRequest(*textract.StartExpenseAnalysisInput) (*request.Request, *textract.StartExpenseAnalysisOutput) } var _ TextractAPI = (*textract.Textract)(nil)