Class: Aws::EC2::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb

Overview

An API client for EC2. To construct a client, you need to configure a :region and :credentials.

client = Aws::EC2::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the developer guide.

See #initialize for a full list of supported configuration options.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []]

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • Aws::Credentials - Used for configuring static, non-refreshing credentials.

    • Aws::SharedCredentials - Used for loading static credentials from a shared file, such as ~/.aws/config.

    • Aws::AssumeRoleCredentials - Used when you need to assume a role.

    • Aws::AssumeRoleWebIdentityCredentials - Used when you need to assume a role after providing credentials via the web.

    • Aws::SSOCredentials - Used for loading credentials from AWS SSO using an access token generated from aws login.

    • Aws::ProcessCredentials - Used for loading credentials from a process that outputs to stdout.

    • Aws::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • Aws::ECSCredentials - Used for loading credentials from instances running in ECS.

    • Aws::CognitoIdentityCredentials - Used for loading credentials from the Cognito Identity service.

    When :credentials are not configured directly, the following locations will be searched for credentials:

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, :session_token, and :account_id options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'], ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentials or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.
  • :region (required, String)

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is searched for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :account_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in adaptive retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a RetryCapacityNotAvailableError and will not retry instead of sleeping.

  • :client_side_monitoring (Boolean) — default: false

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in standard and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :defaults_mode (String) — default: "legacy"

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :disable_request_compression (Boolean) — default: false

    When set to 'true' the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP)

    Normally you should not configure the :endpoint option directly. This is normally constructed from the :region option. Configuring :endpoint is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to true, endpoint discovery will be enabled for operations when available.

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the :logger at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in standard and adaptive retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :request_checksum_calculation (String) — default: "when_supported"

    Determines when a checksum will be calculated for request payloads. Values are:

    • when_supported - (default) When set, a checksum will be calculated for all request payloads of operations modeled with the httpChecksum trait where requestChecksumRequired is true and/or a requestAlgorithmMember is modeled.
    • when_required - When set, a checksum will only be calculated for request payloads of operations modeled with the httpChecksum trait where requestChecksumRequired is true or where a requestAlgorithmMember is modeled and supplied.
  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

  • :response_checksum_validation (String) — default: "when_supported"

    Determines when checksum validation will be performed on response payloads. Values are:

    • when_supported - (default) When set, checksum validation is performed on all response payloads of operations modeled with the httpChecksum trait where responseAlgorithms is modeled, except when no modeled checksum algorithms are supported.
    • when_required - When set, checksum validation is not performed on response payloads of operations unless the checksum algorithm is supported and the requestValidationModeMember member is set to ENABLED.
  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the legacy retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the legacy retry mode.

    @see https://www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the legacy retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • legacy - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • standard - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • adaptive - An experimental retry mode that includes all the functionality of standard mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array)

    A list of regions that should be signed with SigV4a signing. When not passed, a default :sigv4a_signing_region_set is searched for in the following locations:

    • Aws.config[:sigv4a_signing_region_set]
    • ENV['AWS_SIGV4A_SIGNING_REGION_SET']
    • ~/.aws/config
  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses NoOpTelemetryProvider which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the opentelemetry-sdk gem and then, pass in an instance of a Aws::Telemetry::OTelProvider for telemetry provider.
  • :token_provider (Aws::TokenProvider)

    A Bearer Token Provider. This can be an instance of any one of the following classes:

    • Aws::StaticTokenProvider - Used for configuring static, non-refreshing tokens.

    • Aws::SSOTokenProvider - Used for loading tokens from AWS SSO using an access token generated from aws login.

    When :token_provider is not configured directly, the Aws::TokenProviderChain will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean)

    When set to true, dualstack enabled endpoints (with .aws TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to true, fips compatible endpoints will be used if available. When a fips region is used, the region is normalized and this config is set to true.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request.

  • :endpoint_provider (Aws::EC2::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to #resolve_endpoint(parameters) where parameters is a Struct similar to Aws::EC2::EndpointParameters.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has "Expect" header set to "100-continue". Defaults to nil which disables this behaviour. This value can safely be set per request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_open_timeout (Float) — default: 15

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_wire_trace (Boolean) — default: false

    When true, HTTP debug output will be sent to the :logger.

  • :on_chunk_received (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a content-length).

  • :on_chunk_sent (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

  • :ssl_cert (OpenSSL::X509::Certificate)

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

    When true, SSL peer certificates are verified when establishing a connection.



471
472
473
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 471

def initialize(*args)
  super
end

Instance Method Details

#accept_address_transfer(params = {}) ⇒ Types::AcceptAddressTransferResult

Accepts an Elastic IP address transfer. For more information, see Accept a transferred Elastic IP address in the Amazon VPC User Guide.

Examples:

Request syntax with placeholder values


resp = client.accept_address_transfer({
  address: "String", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.address_transfer.public_ip #=> String
resp.address_transfer.allocation_id #=> String
resp.address_transfer. #=> String
resp.address_transfer.transfer_offer_expiration_timestamp #=> Time
resp.address_transfer.transfer_offer_accepted_timestamp #=> Time
resp.address_transfer.address_transfer_status #=> String, one of "pending", "disabled", "accepted"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :address (required, String)

    The Elastic IP address you are accepting for transfer.

  • :tag_specifications (Array<Types::TagSpecification>)

    tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



536
537
538
539
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 536

def accept_address_transfer(params = {}, options = {})
  req = build_request(:accept_address_transfer, params)
  req.send_request(options)
end

#accept_capacity_reservation_billing_ownership(params = {}) ⇒ Types::AcceptCapacityReservationBillingOwnershipResult

Accepts a request to assign billing of the available capacity of a shared Capacity Reservation to your account. For more information, see Billing assignment for shared Amazon EC2 Capacity Reservations.

Examples:

Request syntax with placeholder values


resp = client.accept_capacity_reservation_billing_ownership({
  dry_run: false,
  capacity_reservation_id: "CapacityReservationId", # required
})

Response structure


resp.return #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :capacity_reservation_id (required, String)

    The ID of the Capacity Reservation for which to accept the request.

Returns:

See Also:



577
578
579
580
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 577

def accept_capacity_reservation_billing_ownership(params = {}, options = {})
  req = build_request(:accept_capacity_reservation_billing_ownership, params)
  req.send_request(options)
end

#accept_reserved_instances_exchange_quote(params = {}) ⇒ Types::AcceptReservedInstancesExchangeQuoteResult

Accepts the Convertible Reserved Instance exchange quote described in the GetReservedInstancesExchangeQuote call.

Examples:

Request syntax with placeholder values


resp = client.accept_reserved_instances_exchange_quote({
  dry_run: false,
  reserved_instance_ids: ["ReservationId"], # required
  target_configurations: [
    {
      instance_count: 1,
      offering_id: "ReservedInstancesOfferingId", # required
    },
  ],
})

Response structure


resp.exchange_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :reserved_instance_ids (required, Array<String>)

    The IDs of the Convertible Reserved Instances to exchange for another Convertible Reserved Instance of the same or higher value.

  • :target_configurations (Array<Types::TargetConfigurationRequest>)

    The configuration of the target Convertible Reserved Instance to exchange for your current Convertible Reserved Instances.

Returns:

See Also:



624
625
626
627
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 624

def accept_reserved_instances_exchange_quote(params = {}, options = {})
  req = build_request(:accept_reserved_instances_exchange_quote, params)
  req.send_request(options)
end

#accept_transit_gateway_multicast_domain_associations(params = {}) ⇒ Types::AcceptTransitGatewayMulticastDomainAssociationsResult

Accepts a request to associate subnets with a transit gateway multicast domain.

Examples:

Request syntax with placeholder values


resp = client.accept_transit_gateway_multicast_domain_associations({
  transit_gateway_multicast_domain_id: "TransitGatewayMulticastDomainId",
  transit_gateway_attachment_id: "TransitGatewayAttachmentId",
  subnet_ids: ["String"],
  dry_run: false,
})

Response structure


resp.associations.transit_gateway_multicast_domain_id #=> String
resp.associations.transit_gateway_attachment_id #=> String
resp.associations.resource_id #=> String
resp.associations.resource_type #=> String, one of "vpc", "vpn", "direct-connect-gateway", "connect", "peering", "tgw-peering"
resp.associations.resource_owner_id #=> String
resp.associations.subnets #=> Array
resp.associations.subnets[0].subnet_id #=> String
resp.associations.subnets[0].state #=> String, one of "pendingAcceptance", "associating", "associated", "disassociating", "disassociated", "rejected", "failed"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_multicast_domain_id (String)

    The ID of the transit gateway multicast domain.

  • :transit_gateway_attachment_id (String)

    The ID of the transit gateway attachment.

  • :subnet_ids (Array<String>)

    The IDs of the subnets to associate with the transit gateway multicast domain.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



676
677
678
679
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 676

def accept_transit_gateway_multicast_domain_associations(params = {}, options = {})
  req = build_request(:accept_transit_gateway_multicast_domain_associations, params)
  req.send_request(options)
end

#accept_transit_gateway_peering_attachment(params = {}) ⇒ Types::AcceptTransitGatewayPeeringAttachmentResult

Accepts a transit gateway peering attachment request. The peering attachment must be in the pendingAcceptance state.

Examples:

Request syntax with placeholder values


resp = client.accept_transit_gateway_peering_attachment({
  transit_gateway_attachment_id: "TransitGatewayAttachmentId", # required
  dry_run: false,
})

Response structure


resp.transit_gateway_peering_attachment.transit_gateway_attachment_id #=> String
resp.transit_gateway_peering_attachment.accepter_transit_gateway_attachment_id #=> String
resp.transit_gateway_peering_attachment.requester_tgw_info.transit_gateway_id #=> String
resp.transit_gateway_peering_attachment.requester_tgw_info.core_network_id #=> String
resp.transit_gateway_peering_attachment.requester_tgw_info.owner_id #=> String
resp.transit_gateway_peering_attachment.requester_tgw_info.region #=> String
resp.transit_gateway_peering_attachment.accepter_tgw_info.transit_gateway_id #=> String
resp.transit_gateway_peering_attachment.accepter_tgw_info.core_network_id #=> String
resp.transit_gateway_peering_attachment.accepter_tgw_info.owner_id #=> String
resp.transit_gateway_peering_attachment.accepter_tgw_info.region #=> String
resp.transit_gateway_peering_attachment.options.dynamic_routing #=> String, one of "enable", "disable"
resp.transit_gateway_peering_attachment.status.code #=> String
resp.transit_gateway_peering_attachment.status.message #=> String
resp.transit_gateway_peering_attachment.state #=> String, one of "initiating", "initiatingRequest", "pendingAcceptance", "rollingBack", "pending", "available", "modifying", "deleting", "deleted", "failed", "rejected", "rejecting", "failing"
resp.transit_gateway_peering_attachment.creation_time #=> Time
resp.transit_gateway_peering_attachment.tags #=> Array
resp.transit_gateway_peering_attachment.tags[0].key #=> String
resp.transit_gateway_peering_attachment.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_attachment_id (required, String)

    The ID of the transit gateway attachment.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



729
730
731
732
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 729

def accept_transit_gateway_peering_attachment(params = {}, options = {})
  req = build_request(:accept_transit_gateway_peering_attachment, params)
  req.send_request(options)
end

#accept_transit_gateway_vpc_attachment(params = {}) ⇒ Types::AcceptTransitGatewayVpcAttachmentResult

Accepts a request to attach a VPC to a transit gateway.

The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments to view your pending VPC attachment requests. Use RejectTransitGatewayVpcAttachment to reject a VPC attachment request.

Examples:

Request syntax with placeholder values


resp = client.accept_transit_gateway_vpc_attachment({
  transit_gateway_attachment_id: "TransitGatewayAttachmentId", # required
  dry_run: false,
})

Response structure


resp.transit_gateway_vpc_attachment.transit_gateway_attachment_id #=> String
resp.transit_gateway_vpc_attachment.transit_gateway_id #=> String
resp.transit_gateway_vpc_attachment.vpc_id #=> String
resp.transit_gateway_vpc_attachment.vpc_owner_id #=> String
resp.transit_gateway_vpc_attachment.state #=> String, one of "initiating", "initiatingRequest", "pendingAcceptance", "rollingBack", "pending", "available", "modifying", "deleting", "deleted", "failed", "rejected", "rejecting", "failing"
resp.transit_gateway_vpc_attachment.subnet_ids #=> Array
resp.transit_gateway_vpc_attachment.subnet_ids[0] #=> String
resp.transit_gateway_vpc_attachment.creation_time #=> Time
resp.transit_gateway_vpc_attachment.options.dns_support #=> String, one of "enable", "disable"
resp.transit_gateway_vpc_attachment.options.security_group_referencing_support #=> String, one of "enable", "disable"
resp.transit_gateway_vpc_attachment.options.ipv_6_support #=> String, one of "enable", "disable"
resp.transit_gateway_vpc_attachment.options.appliance_mode_support #=> String, one of "enable", "disable"
resp.transit_gateway_vpc_attachment.tags #=> Array
resp.transit_gateway_vpc_attachment.tags[0].key #=> String
resp.transit_gateway_vpc_attachment.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_attachment_id (required, String)

    The ID of the attachment.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



783
784
785
786
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 783

def accept_transit_gateway_vpc_attachment(params = {}, options = {})
  req = build_request(:accept_transit_gateway_vpc_attachment, params)
  req.send_request(options)
end

#accept_vpc_endpoint_connections(params = {}) ⇒ Types::AcceptVpcEndpointConnectionsResult

Accepts connection requests to your VPC endpoint service.

Examples:

Request syntax with placeholder values


resp = client.accept_vpc_endpoint_connections({
  dry_run: false,
  service_id: "VpcEndpointServiceId", # required
  vpc_endpoint_ids: ["VpcEndpointId"], # required
})

Response structure


resp.unsuccessful #=> Array
resp.unsuccessful[0].error.code #=> String
resp.unsuccessful[0].error.message #=> String
resp.unsuccessful[0].resource_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :service_id (required, String)

    The ID of the VPC endpoint service.

  • :vpc_endpoint_ids (required, Array<String>)

    The IDs of the interface VPC endpoints.

Returns:

See Also:



825
826
827
828
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 825

def accept_vpc_endpoint_connections(params = {}, options = {})
  req = build_request(:accept_vpc_endpoint_connections, params)
  req.send_request(options)
end

#accept_vpc_peering_connection(params = {}) ⇒ Types::AcceptVpcPeeringConnectionResult

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding VPC peering connection requests.

For an inter-Region VPC peering connection request, you must accept the VPC peering connection in the Region of the accepter VPC.

Examples:

Request syntax with placeholder values


resp = client.accept_vpc_peering_connection({
  dry_run: false,
  vpc_peering_connection_id: "VpcPeeringConnectionIdWithResolver", # required
})

Response structure


resp.vpc_peering_connection.accepter_vpc_info.cidr_block #=> String
resp.vpc_peering_connection.accepter_vpc_info.ipv_6_cidr_block_set #=> Array
resp.vpc_peering_connection.accepter_vpc_info.ipv_6_cidr_block_set[0].ipv_6_cidr_block #=> String
resp.vpc_peering_connection.accepter_vpc_info.cidr_block_set #=> Array
resp.vpc_peering_connection.accepter_vpc_info.cidr_block_set[0].cidr_block #=> String
resp.vpc_peering_connection.accepter_vpc_info.owner_id #=> String
resp.vpc_peering_connection.accepter_vpc_info.peering_options.allow_dns_resolution_from_remote_vpc #=> Boolean
resp.vpc_peering_connection.accepter_vpc_info.peering_options.allow_egress_from_local_classic_link_to_remote_vpc #=> Boolean
resp.vpc_peering_connection.accepter_vpc_info.peering_options.allow_egress_from_local_vpc_to_remote_classic_link #=> Boolean
resp.vpc_peering_connection.accepter_vpc_info.vpc_id #=> String
resp.vpc_peering_connection.accepter_vpc_info.region #=> String
resp.vpc_peering_connection.expiration_time #=> Time
resp.vpc_peering_connection.requester_vpc_info.cidr_block #=> String
resp.vpc_peering_connection.requester_vpc_info.ipv_6_cidr_block_set #=> Array
resp.vpc_peering_connection.requester_vpc_info.ipv_6_cidr_block_set[0].ipv_6_cidr_block #=> String
resp.vpc_peering_connection.requester_vpc_info.cidr_block_set #=> Array
resp.vpc_peering_connection.requester_vpc_info.cidr_block_set[0].cidr_block #=> String
resp.vpc_peering_connection.requester_vpc_info.owner_id #=> String
resp.vpc_peering_connection.requester_vpc_info.peering_options.allow_dns_resolution_from_remote_vpc #=> Boolean
resp.vpc_peering_connection.requester_vpc_info.peering_options.allow_egress_from_local_classic_link_to_remote_vpc #=> Boolean
resp.vpc_peering_connection.requester_vpc_info.peering_options.allow_egress_from_local_vpc_to_remote_classic_link #=> Boolean
resp.vpc_peering_connection.requester_vpc_info.vpc_id #=> String
resp.vpc_peering_connection.requester_vpc_info.region #=> String
resp.vpc_peering_connection.status.code #=> String, one of "initiating-request", "pending-acceptance", "active", "deleted", "rejected", "failed", "expired", "provisioning", "deleting"
resp.vpc_peering_connection.status.message #=> String
resp.vpc_peering_connection.tags #=> Array
resp.vpc_peering_connection.tags[0].key #=> String
resp.vpc_peering_connection.tags[0].value #=> String
resp.vpc_peering_connection.vpc_peering_connection_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :vpc_peering_connection_id (required, String)

    The ID of the VPC peering connection. You must specify this parameter in the request.

Returns:

See Also:



895
896
897
898
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 895

def accept_vpc_peering_connection(params = {}, options = {})
  req = build_request(:accept_vpc_peering_connection, params)
  req.send_request(options)
end

Advertises an IPv4 or IPv6 address range that is provisioned for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP).

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

We recommend that you stop advertising the BYOIP CIDR from other locations when you advertise it from Amazon Web Services. To minimize down time, you can configure your Amazon Web Services resources to use an address from a BYOIP CIDR before it is advertised, and then simultaneously stop advertising it from the current location and start advertising it through Amazon Web Services.

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

To stop advertising the BYOIP CIDR, use WithdrawByoipCidr.

Examples:

Request syntax with placeholder values


resp = client.advertise_byoip_cidr({
  cidr: "String", # required
  asn: "String",
  dry_run: false,
  network_border_group: "String",
})

Response structure


resp.byoip_cidr.cidr #=> String
resp.byoip_cidr.description #=> String
resp.byoip_cidr.asn_associations #=> Array
resp.byoip_cidr.asn_associations[0].asn #=> String
resp.byoip_cidr.asn_associations[0].cidr #=> String
resp.byoip_cidr.asn_associations[0].status_message #=> String
resp.byoip_cidr.asn_associations[0].state #=> String, one of "disassociated", "failed-disassociation", "failed-association", "pending-disassociation", "pending-association", "associated"
resp.byoip_cidr.status_message #=> String
resp.byoip_cidr.state #=> String, one of "advertised", "deprovisioned", "failed-deprovision", "failed-provision", "pending-deprovision", "pending-provision", "provisioned", "provisioned-not-publicly-advertisable"
resp.byoip_cidr.network_border_group #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :cidr (required, String)

    The address range, in CIDR notation. This must be the exact range that you provisioned. You can't advertise only a portion of the provisioned range.

  • :asn (String)

    The public 2-byte or 4-byte ASN that you want to advertise.

  • :dry_run (Boolean)

    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.

  • :network_border_group (String)

    If you have Local Zones enabled, you can choose a network border group for Local Zones when you provision and advertise a BYOIPv4 CIDR. Choose the network border group carefully as the EIP and the Amazon Web Services resource it is associated with must reside in the same network border group.

    You can provision BYOIP address ranges to and advertise them in the following Local Zone network border groups:

    • us-east-1-dfw-2

    • us-west-2-lax-1

    • us-west-2-phx-2

    You cannot provision or advertise BYOIPv6 address ranges in Local Zones at this time.

Returns:

See Also:



989
990
991
992
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 989

def advertise_byoip_cidr(params = {}, options = {})
  req = build_request(:advertise_byoip_cidr, params)
  req.send_request(options)
end

#allocate_address(params = {}) ⇒ Types::AllocateAddressResult

Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different Amazon Web Services account.

You can allocate an Elastic IP address from an address pool owned by Amazon Web Services or from an address pool created from a public IPv4 address range that you have brought to Amazon Web Services for use with your Amazon Web Services resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon EC2 User Guide.

If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another Amazon Web Services account. To attempt to recover an Elastic IP address that you released, specify it in this operation.

For more information, see Elastic IP Addresses in the Amazon EC2 User Guide.

You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).

Examples:

Example: To allocate an Elastic IP address


# This example allocates an Elastic IP address.

resp = client.allocate_address({
})

resp.to_h outputs the following:
{
  allocation_id: "eipalloc-64d5890a", 
  domain: "vpc", 
  network_border_group: "us-east-1", 
  public_ip: "203.0.113.0", 
  public_ipv_4_pool: "amazon", 
}

Request syntax with placeholder values


resp = client.allocate_address({
  domain: "vpc", # accepts vpc, standard
  address: "PublicIpAddress",
  public_ipv_4_pool: "Ipv4PoolEc2Id",
  network_border_group: "String",
  customer_owned_ipv_4_pool: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  ipam_pool_id: "IpamPoolId",
  dry_run: false,
})

Response structure


resp.allocation_id #=> String
resp.public_ipv_4_pool #=> String
resp.network_border_group #=> String
resp.domain #=> String, one of "vpc", "standard"
resp.customer_owned_ip #=> String
resp.customer_owned_ipv_4_pool #=> String
resp.carrier_ip #=> String
resp.public_ip #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain (String)

    The network (vpc).

  • :address (String)

    The Elastic IP address to recover or an IPv4 address from an address pool.

  • :public_ipv_4_pool (String)

    The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool. To specify a specific address from the address pool, use the Address parameter instead.

  • :network_border_group (String)

    A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.

  • :customer_owned_ipv_4_pool (String)

    The ID of a customer-owned address pool. Use this parameter to let Amazon EC2 select an address from the address pool. Alternatively, specify a specific address from the address pool.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the Elastic IP address.

  • :ipam_pool_id (String)

    The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see Allocate sequential Elastic IP addresses from an IPAM pool in the Amazon VPC IPAM User Guide.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



1134
1135
1136
1137
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 1134

def allocate_address(params = {}, options = {})
  req = build_request(:allocate_address, params)
  req.send_request(options)
end

#allocate_hosts(params = {}) ⇒ Types::AllocateHostsResult

Allocates a Dedicated Host to your account. At a minimum, specify the supported instance type or instance family, the Availability Zone in which to allocate the host, and the number of hosts to allocate.

Examples:

Request syntax with placeholder values


resp = client.allocate_hosts({
  instance_family: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  host_recovery: "on", # accepts on, off
  outpost_arn: "String",
  host_maintenance: "on", # accepts on, off
  asset_ids: ["AssetId"],
  auto_placement: "on", # accepts on, off
  client_token: "String",
  instance_type: "String",
  quantity: 1,
  availability_zone: "String", # required
})

Response structure


resp.host_ids #=> Array
resp.host_ids[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_family (String)

    Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family.

    If you want the Dedicated Hosts to support a specific instance type only, omit this parameter and specify InstanceType instead. You cannot specify InstanceFamily and InstanceType in the same request.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the Dedicated Host during creation.

  • :host_recovery (String)

    Indicates whether to enable or disable host recovery for the Dedicated Host. Host recovery is disabled by default. For more information, see Host recovery in the Amazon EC2 User Guide.

    Default: off

  • :outpost_arn (String)

    The Amazon Resource Name (ARN) of the Amazon Web Services Outpost on which to allocate the Dedicated Host. If you specify OutpostArn, you can optionally specify AssetIds.

    If you are allocating the Dedicated Host in a Region, omit this parameter.

  • :host_maintenance (String)

    Indicates whether to enable or disable host maintenance for the Dedicated Host. For more information, see Host maintenance in the Amazon EC2 User Guide.

  • :asset_ids (Array<String>)

    The IDs of the Outpost hardware assets on which to allocate the Dedicated Hosts. Targeting specific hardware assets on an Outpost can help to minimize latency between your workloads. This parameter is supported only if you specify OutpostArn. If you are allocating the Dedicated Hosts in a Region, omit this parameter.

    • If you specify this parameter, you can omit Quantity. In this case, Amazon EC2 allocates a Dedicated Host on each specified hardware asset.

    • If you specify both AssetIds and Quantity, then the value for Quantity must be equal to the number of asset IDs specified.

  • :auto_placement (String)

    Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see Understanding auto-placement and affinity in the Amazon EC2 User Guide.

    Default: off

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

  • :instance_type (String)

    Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only.

    If you want the Dedicated Hosts to support multiple instance types in a specific instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the same request.

  • :quantity (Integer)

    The number of Dedicated Hosts to allocate to your account with these parameters. If you are allocating the Dedicated Hosts on an Outpost, and you specify AssetIds, you can omit this parameter. In this case, Amazon EC2 allocates a Dedicated Host on each specified hardware asset. If you specify both AssetIds and Quantity, then the value that you specify for Quantity must be equal to the number of asset IDs specified.

  • :availability_zone (required, String)

    The Availability Zone in which to allocate the Dedicated Host.

Returns:

See Also:



1281
1282
1283
1284
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 1281

def allocate_hosts(params = {}, options = {})
  req = build_request(:allocate_hosts, params)
  req.send_request(options)
end

#allocate_ipam_pool_cidr(params = {}) ⇒ Types::AllocateIpamPoolCidrResult

Allocate a CIDR from an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations.

In IPAM, an allocation is a CIDR assignment from an IPAM pool to another IPAM pool or to a resource. For more information, see Allocate CIDRs in the Amazon VPC IPAM User Guide.

This action creates an allocation with strong consistency. The returned CIDR will not overlap with any other allocations from the same pool.

Examples:

Request syntax with placeholder values


resp = client.allocate_ipam_pool_cidr({
  dry_run: false,
  ipam_pool_id: "IpamPoolId", # required
  cidr: "String",
  netmask_length: 1,
  client_token: "String",
  description: "String",
  preview_next_cidr: false,
  allowed_cidrs: ["String"],
  disallowed_cidrs: ["String"],
})

Response structure


resp.ipam_pool_allocation.cidr #=> String
resp.ipam_pool_allocation.ipam_pool_allocation_id #=> String
resp.ipam_pool_allocation.description #=> String
resp.ipam_pool_allocation.resource_id #=> String
resp.ipam_pool_allocation.resource_type #=> String, one of "ipam-pool", "vpc", "ec2-public-ipv4-pool", "custom", "subnet", "eip"
resp.ipam_pool_allocation.resource_region #=> String
resp.ipam_pool_allocation.resource_owner #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :ipam_pool_id (required, String)

    The ID of the IPAM pool from which you would like to allocate a CIDR.

  • :cidr (String)

    The CIDR you would like to allocate from the IPAM pool. Note the following:

    • If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.

    • If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.

    Possible values: Any available IPv4 or IPv6 CIDR.

  • :netmask_length (Integer)

    The netmask length of the CIDR you would like to allocate from the IPAM pool. Note the following:

    • If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.

    • If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.

    Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :description (String)

    A description for the allocation.

  • :preview_next_cidr (Boolean)

    A preview of the next available CIDR in a pool.

  • :allowed_cidrs (Array<String>)

    Include a particular CIDR range that can be returned by the pool. Allowed CIDRs are only allowed if using netmask length for allocation.

  • :disallowed_cidrs (Array<String>)

    Exclude a particular CIDR range from being returned by the pool. Disallowed CIDRs are only allowed if using netmask length for allocation.

Returns:

See Also:



1399
1400
1401
1402
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 1399

def allocate_ipam_pool_cidr(params = {}, options = {})
  req = build_request(:allocate_ipam_pool_cidr, params)
  req.send_request(options)
end

#apply_security_groups_to_client_vpn_target_network(params = {}) ⇒ Types::ApplySecurityGroupsToClientVpnTargetNetworkResult

Applies a security group to the association between the target network and the Client VPN endpoint. This action replaces the existing security groups with the specified security groups.

Examples:

Request syntax with placeholder values


resp = client.apply_security_groups_to_client_vpn_target_network({
  client_vpn_endpoint_id: "ClientVpnEndpointId", # required
  vpc_id: "VpcId", # required
  security_group_ids: ["SecurityGroupId"], # required
  dry_run: false,
})

Response structure


resp.security_group_ids #=> Array
resp.security_group_ids[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_vpn_endpoint_id (required, String)

    The ID of the Client VPN endpoint.

  • :vpc_id (required, String)

    The ID of the VPC in which the associated target network is located.

  • :security_group_ids (required, Array<String>)

    The IDs of the security groups to apply to the associated target network. Up to 5 security groups can be applied to an associated target network.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



1447
1448
1449
1450
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 1447

def apply_security_groups_to_client_vpn_target_network(params = {}, options = {})
  req = build_request(:apply_security_groups_to_client_vpn_target_network, params)
  req.send_request(options)
end

#assign_ipv_6_addresses(params = {}) ⇒ Types::AssignIpv6AddressesResult

Assigns the specified IPv6 addresses to the specified network interface. You can specify specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies by instance type.

You must specify either the IPv6 addresses or the IPv6 address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPV6 Prefix Delegation prefixes, or the IPv6 Prefix Delegation count. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.assign_ipv_6_addresses({
  ipv_6_prefix_count: 1,
  ipv_6_prefixes: ["String"],
  network_interface_id: "NetworkInterfaceId", # required
  ipv_6_addresses: ["String"],
  ipv_6_address_count: 1,
})

Response structure


resp.assigned_ipv_6_addresses #=> Array
resp.assigned_ipv_6_addresses[0] #=> String
resp.assigned_ipv_6_prefixes #=> Array
resp.assigned_ipv_6_prefixes[0] #=> String
resp.network_interface_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :ipv_6_prefix_count (Integer)

    The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv6Prefixes option.

  • :ipv_6_prefixes (Array<String>)

    One or more IPv6 prefixes assigned to the network interface. You can't use this option if you use the Ipv6PrefixCount option.

  • :network_interface_id (required, String)

    The ID of the network interface.

  • :ipv_6_addresses (Array<String>)

    The IPv6 addresses to be assigned to the network interface. You can't use this option if you're specifying a number of IPv6 addresses.

  • :ipv_6_address_count (Integer)

    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.

Returns:

See Also:



1523
1524
1525
1526
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 1523

def assign_ipv_6_addresses(params = {}, options = {})
  req = build_request(:assign_ipv_6_addresses, params)
  req.send_request(options)
end

#assign_private_ip_addresses(params = {}) ⇒ Types::AssignPrivateIpAddressesResult

Assigns the specified secondary private IP addresses to the specified network interface.

You can specify specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned from the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon EC2 User Guide.

When you move a secondary private IP address to another network interface, any Elastic IP address that is associated with the IP address is also moved.

Remapping an IP address is an asynchronous operation. When you move an IP address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s in the instance metadata to confirm that the remapping is complete.

You must specify either the IP addresses or the IP address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPv4 Prefix Delegation prefixes, or the IPv4 Prefix Delegation count. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

Examples:

Example: To assign a specific secondary private IP address to an interface


# This example assigns the specified secondary private IP address to the specified network interface.

resp = client.assign_private_ip_addresses({
  network_interface_id: "eni-e5aa89a3", 
  private_ip_addresses: [
    "10.0.0.82", 
  ], 
})

Example: To assign secondary private IP addresses that Amazon EC2 selects to an interface


# This example assigns two secondary private IP addresses to the specified network interface. Amazon EC2 automatically
# assigns these IP addresses from the available IP addresses in the CIDR block range of the subnet the network interface
# is associated with.

resp = client.assign_private_ip_addresses({
  network_interface_id: "eni-e5aa89a3", 
  secondary_private_ip_address_count: 2, 
})

Request syntax with placeholder values


resp = client.assign_private_ip_addresses({
  ipv_4_prefixes: ["String"],
  ipv_4_prefix_count: 1,
  network_interface_id: "NetworkInterfaceId", # required
  private_ip_addresses: ["String"],
  secondary_private_ip_address_count: 1,
  allow_reassignment: false,
})

Response structure


resp.network_interface_id #=> String
resp.assigned_private_ip_addresses #=> Array
resp.assigned_private_ip_addresses[0].private_ip_address #=> String
resp.assigned_ipv_4_prefixes #=> Array
resp.assigned_ipv_4_prefixes[0].ipv_4_prefix #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :ipv_4_prefixes (Array<String>)

    One or more IPv4 prefixes assigned to the network interface. You can't use this option if you use the Ipv4PrefixCount option.

  • :ipv_4_prefix_count (Integer)

    The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface. You can't use this option if you use the Ipv4 Prefixes option.

  • :network_interface_id (required, String)

    The ID of the network interface.

  • :private_ip_addresses (Array<String>)

    The IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

    If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

  • :secondary_private_ip_address_count (Integer)

    The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

  • :allow_reassignment (Boolean)

    Indicates whether to allow an IP address that is already assigned to another network interface or instance to be reassigned to the specified network interface.

Returns:

See Also:



1642
1643
1644
1645
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 1642

def assign_private_ip_addresses(params = {}, options = {})
  req = build_request(:assign_private_ip_addresses, params)
  req.send_request(options)
end

#assign_private_nat_gateway_address(params = {}) ⇒ Types::AssignPrivateNatGatewayAddressResult

Assigns private IPv4 addresses to a private NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

Examples:

Request syntax with placeholder values


resp = client.assign_private_nat_gateway_address({
  nat_gateway_id: "NatGatewayId", # required
  private_ip_addresses: ["String"],
  private_ip_address_count: 1,
  dry_run: false,
})

Response structure


resp.nat_gateway_id #=> String
resp.nat_gateway_addresses #=> Array
resp.nat_gateway_addresses[0].allocation_id #=> String
resp.nat_gateway_addresses[0].network_interface_id #=> String
resp.nat_gateway_addresses[0].private_ip #=> String
resp.nat_gateway_addresses[0].public_ip #=> String
resp.nat_gateway_addresses[0].association_id #=> String
resp.nat_gateway_addresses[0].is_primary #=> Boolean
resp.nat_gateway_addresses[0].failure_message #=> String
resp.nat_gateway_addresses[0].status #=> String, one of "assigning", "unassigning", "associating", "disassociating", "succeeded", "failed"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :nat_gateway_id (required, String)

    The ID of the NAT gateway.

  • :private_ip_addresses (Array<String>)

    The private IPv4 addresses you want to assign to the private NAT gateway.

  • :private_ip_address_count (Integer)

    The number of private IP addresses to assign to the NAT gateway. You can't specify this parameter when also specifying private IP addresses.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



1704
1705
1706
1707
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 1704

def assign_private_nat_gateway_address(params = {}, options = {})
  req = build_request(:assign_private_nat_gateway_address, params)
  req.send_request(options)
end

#associate_address(params = {}) ⇒ Types::AssociateAddressResult

Associates an Elastic IP address, or carrier IP address (for instances that are in subnets in Wavelength Zones) with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account.

If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account.

[Subnets in Wavelength Zones] You can associate an IP address from the telecommunication carrier to the instance or network interface.

You cannot associate an Elastic IP address with an interface in a different network border group.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing.

Examples:

Example: To associate an Elastic IP address


# This example associates the specified Elastic IP address with the specified instance.

resp = client.associate_address({
  allocation_id: "eipalloc-64d5890a", 
  instance_id: "i-0b263919b6498b123", 
})

resp.to_h outputs the following:
{
  association_id: "eipassoc-2bebb745", 
}

Example: To associate an Elastic IP address with a network interface


# This example associates the specified Elastic IP address with the specified network interface.

resp = client.associate_address({
  allocation_id: "eipalloc-64d5890a", 
  network_interface_id: "eni-1a2b3c4d", 
})

resp.to_h outputs the following:
{
  association_id: "eipassoc-2bebb745", 
}

Request syntax with placeholder values


resp = client.associate_address({
  allocation_id: "AllocationId",
  instance_id: "InstanceId",
  public_ip: "EipAllocationPublicIp",
  dry_run: false,
  network_interface_id: "NetworkInterfaceId",
  private_ip_address: "String",
  allow_reassociation: false,
})

Response structure


resp.association_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :allocation_id (String)

    The allocation ID. This is required.

  • :instance_id (String)

    The ID of the instance. The instance must have exactly one attached network interface. You can specify either the instance ID or the network interface ID, but not both.

  • :public_ip (String)

    Deprecated.

  • :dry_run (Boolean)

    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.

  • :network_interface_id (String)

    The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

    You can specify either the instance ID or the network interface ID, but not both.

  • :private_ip_address (String)

    The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

  • :allow_reassociation (Boolean)

    Reassociation is automatic, but you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource.

Returns:

See Also:



1824
1825
1826
1827
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 1824

def associate_address(params = {}, options = {})
  req = build_request(:associate_address, params)
  req.send_request(options)
end

#associate_capacity_reservation_billing_owner(params = {}) ⇒ Types::AssociateCapacityReservationBillingOwnerResult

Initiates a request to assign billing of the unused capacity of a shared Capacity Reservation to a consumer account that is consolidated under the same Amazon Web Services organizations payer account. For more information, see Billing assignment for shared Amazon EC2 Capacity Reservations.

Examples:

Request syntax with placeholder values


resp = client.associate_capacity_reservation_billing_owner({
  dry_run: false,
  capacity_reservation_id: "CapacityReservationId", # required
  unused_reservation_billing_owner_id: "AccountID", # required
})

Response structure


resp.return #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :capacity_reservation_id (required, String)

    The ID of the Capacity Reservation.

  • :unused_reservation_billing_owner_id (required, String)

    The ID of the consumer account to which to assign billing.

Returns:

See Also:



1871
1872
1873
1874
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 1871

def associate_capacity_reservation_billing_owner(params = {}, options = {})
  req = build_request(:associate_capacity_reservation_billing_owner, params)
  req.send_request(options)
end

#associate_client_vpn_target_network(params = {}) ⇒ Types::AssociateClientVpnTargetNetworkResult

Associates a target network with a Client VPN endpoint. A target network is a subnet in a VPC. You can associate multiple subnets from the same VPC with a Client VPN endpoint. You can associate only one subnet in each Availability Zone. We recommend that you associate at least two subnets to provide Availability Zone redundancy.

If you specified a VPC when you created the Client VPN endpoint or if you have previous subnet associations, the specified subnet must be in the same VPC. To specify a subnet that's in a different VPC, you must first modify the Client VPN endpoint (ModifyClientVpnEndpoint) and change the VPC that's associated with it.

Examples:

Request syntax with placeholder values


resp = client.associate_client_vpn_target_network({
  client_vpn_endpoint_id: "ClientVpnEndpointId", # required
  subnet_id: "SubnetId", # required
  client_token: "String",
  dry_run: false,
})

Response structure


resp.association_id #=> String
resp.status.code #=> String, one of "associating", "associated", "association-failed", "disassociating", "disassociated"
resp.status.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_vpn_endpoint_id (required, String)

    The ID of the Client VPN endpoint.

  • :subnet_id (required, String)

    The ID of the subnet to associate with the Client VPN endpoint.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

Returns:

See Also:



1936
1937
1938
1939
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 1936

def associate_client_vpn_target_network(params = {}, options = {})
  req = build_request(:associate_client_vpn_target_network, params)
  req.send_request(options)
end

#associate_dhcp_options(params = {}) ⇒ Struct

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP option sets in the Amazon VPC User Guide.

Examples:

Example: To associate a DHCP options set with a VPC


# This example associates the specified DHCP options set with the specified VPC.

resp = client.associate_dhcp_options({
  dhcp_options_id: "dopt-d9070ebb", 
  vpc_id: "vpc-a01106c2", 
})

Example: To associate the default DHCP options set with a VPC


# This example associates the default DHCP options set with the specified VPC.

resp = client.associate_dhcp_options({
  dhcp_options_id: "default", 
  vpc_id: "vpc-a01106c2", 
})

Request syntax with placeholder values


resp = client.associate_dhcp_options({
  dhcp_options_id: "DefaultingDhcpOptionsId", # required
  vpc_id: "VpcId", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dhcp_options_id (required, String)

    The ID of the DHCP options set, or default to associate no DHCP options with the VPC.

  • :vpc_id (required, String)

    The ID of the VPC.

  • :dry_run (Boolean)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2004
2005
2006
2007
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2004

def associate_dhcp_options(params = {}, options = {})
  req = build_request(:associate_dhcp_options, params)
  req.send_request(options)
end

#associate_enclave_certificate_iam_role(params = {}) ⇒ Types::AssociateEnclaveCertificateIamRoleResult

Associates an Identity and Access Management (IAM) role with an Certificate Manager (ACM) certificate. This enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. For more information, see Certificate Manager for Nitro Enclaves in the Amazon Web Services Nitro Enclaves User Guide.

When the IAM role is associated with the ACM certificate, the certificate, certificate chain, and encrypted private key are placed in an Amazon S3 location that only the associated IAM role can access. The private key of the certificate is encrypted with an Amazon Web Services managed key that has an attached attestation-based key policy.

To enable the IAM role to access the Amazon S3 object, you must grant it permission to call s3:GetObject on the Amazon S3 bucket returned by the command. To enable the IAM role to access the KMS key, you must grant it permission to call kms:Decrypt on the KMS key returned by the command. For more information, see Grant the role permission to access the certificate and encryption key in the Amazon Web Services Nitro Enclaves User Guide.

Examples:

Request syntax with placeholder values


resp = client.associate_enclave_certificate_iam_role({
  certificate_arn: "CertificateId", # required
  role_arn: "RoleId", # required
  dry_run: false,
})

Response structure


resp.certificate_s3_bucket_name #=> String
resp.certificate_s3_object_key #=> String
resp.encryption_kms_key_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :certificate_arn (required, String)

    The ARN of the ACM certificate with which to associate the IAM role.

  • :role_arn (required, String)

    The ARN of the IAM role to associate with the ACM certificate. You can associate up to 16 IAM roles with an ACM certificate.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



2072
2073
2074
2075
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2072

def associate_enclave_certificate_iam_role(params = {}, options = {})
  req = build_request(:associate_enclave_certificate_iam_role, params)
  req.send_request(options)
end

#associate_iam_instance_profile(params = {}) ⇒ Types::AssociateIamInstanceProfileResult

Associates an IAM instance profile with a running or stopped instance. You cannot associate more than one IAM instance profile with an instance.

Examples:

Example: To associate an IAM instance profile with an instance


# This example associates an IAM instance profile named admin-role with the specified instance.

resp = client.associate_iam_instance_profile({
  iam_instance_profile: {
    name: "admin-role", 
  }, 
  instance_id: "i-123456789abcde123", 
})

resp.to_h outputs the following:
{
  iam_instance_profile_association: {
    association_id: "iip-assoc-0e7736511a163c209", 
    iam_instance_profile: {
      arn: "arn:aws:iam::123456789012:instance-profile/admin-role", 
      id: "AIPAJBLK7RKJKWDXVHIEC", 
    }, 
    instance_id: "i-123456789abcde123", 
    state: "associating", 
  }, 
}

Request syntax with placeholder values


resp = client.associate_iam_instance_profile({
  iam_instance_profile: { # required
    arn: "String",
    name: "String",
  },
  instance_id: "InstanceId", # required
})

Response structure


resp.iam_instance_profile_association.association_id #=> String
resp.iam_instance_profile_association.instance_id #=> String
resp.iam_instance_profile_association.iam_instance_profile.arn #=> String
resp.iam_instance_profile_association.iam_instance_profile.id #=> String
resp.iam_instance_profile_association.state #=> String, one of "associating", "associated", "disassociating", "disassociated"
resp.iam_instance_profile_association.timestamp #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



2139
2140
2141
2142
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2139

def associate_iam_instance_profile(params = {}, options = {})
  req = build_request(:associate_iam_instance_profile, params)
  req.send_request(options)
end

#associate_instance_event_window(params = {}) ⇒ Types::AssociateInstanceEventWindowResult

Associates one or more targets with an event window. Only one type of target (instance IDs, Dedicated Host IDs, or tags) can be specified with an event window.

For more information, see Define event windows for scheduled events in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.associate_instance_event_window({
  dry_run: false,
  instance_event_window_id: "InstanceEventWindowId", # required
  association_target: { # required
    instance_ids: ["InstanceId"],
    instance_tags: [
      {
        key: "String",
        value: "String",
      },
    ],
    dedicated_host_ids: ["DedicatedHostId"],
  },
})

Response structure


resp.instance_event_window.instance_event_window_id #=> String
resp.instance_event_window.time_ranges #=> Array
resp.instance_event_window.time_ranges[0].start_week_day #=> String, one of "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"
resp.instance_event_window.time_ranges[0].start_hour #=> Integer
resp.instance_event_window.time_ranges[0].end_week_day #=> String, one of "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"
resp.instance_event_window.time_ranges[0].end_hour #=> Integer
resp.instance_event_window.name #=> String
resp.instance_event_window.cron_expression #=> String
resp.instance_event_window.association_target.instance_ids #=> Array
resp.instance_event_window.association_target.instance_ids[0] #=> String
resp.instance_event_window.association_target.tags #=> Array
resp.instance_event_window.association_target.tags[0].key #=> String
resp.instance_event_window.association_target.tags[0].value #=> String
resp.instance_event_window.association_target.dedicated_host_ids #=> Array
resp.instance_event_window.association_target.dedicated_host_ids[0] #=> String
resp.instance_event_window.state #=> String, one of "creating", "deleting", "active", "deleted"
resp.instance_event_window.tags #=> Array
resp.instance_event_window.tags[0].key #=> String
resp.instance_event_window.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :instance_event_window_id (required, String)

    The ID of the event window.

  • :association_target (required, Types::InstanceEventWindowAssociationRequest)

    One or more targets associated with the specified event window.

Returns:

See Also:



2214
2215
2216
2217
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2214

def associate_instance_event_window(params = {}, options = {})
  req = build_request(:associate_instance_event_window, params)
  req.send_request(options)
end

#associate_ipam_byoasn(params = {}) ⇒ Types::AssociateIpamByoasnResult

Associates your Autonomous System Number (ASN) with a BYOIP CIDR that you own in the same Amazon Web Services Region. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

After the association succeeds, the ASN is eligible for advertisement. You can view the association with DescribeByoipCidrs. You can advertise the CIDR with AdvertiseByoipCidr.

Examples:

Request syntax with placeholder values


resp = client.associate_ipam_byoasn({
  dry_run: false,
  asn: "String", # required
  cidr: "String", # required
})

Response structure


resp.asn_association.asn #=> String
resp.asn_association.cidr #=> String
resp.asn_association.status_message #=> String
resp.asn_association.state #=> String, one of "disassociated", "failed-disassociation", "failed-association", "pending-disassociation", "pending-association", "associated"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :asn (required, String)

    A public 2-byte or 4-byte ASN.

  • :cidr (required, String)

    The BYOIP CIDR you want to associate with an ASN.

Returns:

See Also:



2269
2270
2271
2272
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2269

def associate_ipam_byoasn(params = {}, options = {})
  req = build_request(:associate_ipam_byoasn, params)
  req.send_request(options)
end

#associate_ipam_resource_discovery(params = {}) ⇒ Types::AssociateIpamResourceDiscoveryResult

Associates an IPAM resource discovery with an Amazon VPC IPAM. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account.

Examples:

Request syntax with placeholder values


resp = client.associate_ipam_resource_discovery({
  dry_run: false,
  ipam_id: "IpamId", # required
  ipam_resource_discovery_id: "IpamResourceDiscoveryId", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  client_token: "String",
})

Response structure


resp.ipam_resource_discovery_association.owner_id #=> String
resp.ipam_resource_discovery_association.ipam_resource_discovery_association_id #=> String
resp.ipam_resource_discovery_association.ipam_resource_discovery_association_arn #=> String
resp.ipam_resource_discovery_association.ipam_resource_discovery_id #=> String
resp.ipam_resource_discovery_association.ipam_id #=> String
resp.ipam_resource_discovery_association.ipam_arn #=> String
resp.ipam_resource_discovery_association.ipam_region #=> String
resp.ipam_resource_discovery_association.is_default #=> Boolean
resp.ipam_resource_discovery_association.resource_discovery_status #=> String, one of "active", "not-found"
resp.ipam_resource_discovery_association.state #=> String, one of "associate-in-progress", "associate-complete", "associate-failed", "disassociate-in-progress", "disassociate-complete", "disassociate-failed", "isolate-in-progress", "isolate-complete", "restore-in-progress"
resp.ipam_resource_discovery_association.tags #=> Array
resp.ipam_resource_discovery_association.tags[0].key #=> String
resp.ipam_resource_discovery_association.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :ipam_id (required, String)

    An IPAM ID.

  • :ipam_resource_discovery_id (required, String)

    A resource discovery ID.

  • :tag_specifications (Array<Types::TagSpecification>)

    Tag specifications.

  • :client_token (String)

    A client token.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



2343
2344
2345
2346
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2343

def associate_ipam_resource_discovery(params = {}, options = {})
  req = build_request(:associate_ipam_resource_discovery, params)
  req.send_request(options)
end

#associate_nat_gateway_address(params = {}) ⇒ Types::AssociateNatGatewayAddressResult

Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

When you associate an EIP or secondary EIPs with a public NAT gateway, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the EIP will fail to associate. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

Examples:

Request syntax with placeholder values


resp = client.associate_nat_gateway_address({
  nat_gateway_id: "NatGatewayId", # required
  allocation_ids: ["AllocationId"], # required
  private_ip_addresses: ["String"],
  dry_run: false,
})

Response structure


resp.nat_gateway_id #=> String
resp.nat_gateway_addresses #=> Array
resp.nat_gateway_addresses[0].allocation_id #=> String
resp.nat_gateway_addresses[0].network_interface_id #=> String
resp.nat_gateway_addresses[0].private_ip #=> String
resp.nat_gateway_addresses[0].public_ip #=> String
resp.nat_gateway_addresses[0].association_id #=> String
resp.nat_gateway_addresses[0].is_primary #=> Boolean
resp.nat_gateway_addresses[0].failure_message #=> String
resp.nat_gateway_addresses[0].status #=> String, one of "assigning", "unassigning", "associating", "disassociating", "succeeded", "failed"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :nat_gateway_id (required, String)

    The ID of the NAT gateway.

  • :allocation_ids (required, Array<String>)

    The allocation IDs of EIPs that you want to associate with your NAT gateway.

  • :private_ip_addresses (Array<String>)

    The private IPv4 addresses that you want to assign to the NAT gateway.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



2420
2421
2422
2423
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2420

def associate_nat_gateway_address(params = {}, options = {})
  req = build_request(:associate_nat_gateway_address, params)
  req.send_request(options)
end

#associate_route_table(params = {}) ⇒ Types::AssociateRouteTableResult

Associates a subnet in your VPC or an internet gateway or virtual private gateway attached to your VPC with a route table in your VPC. This association causes traffic from the subnet or gateway to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table later. A route table can be associated with multiple subnets.

For more information, see Route tables in the Amazon VPC User Guide.

Examples:

Example: To associate a route table with a subnet


# This example associates the specified route table with the specified subnet.

resp = client.associate_route_table({
  route_table_id: "rtb-22574640", 
  subnet_id: "subnet-9d4a7b6", 
})

resp.to_h outputs the following:
{
  association_id: "rtbassoc-781d0d1a", 
}

Request syntax with placeholder values


resp = client.associate_route_table({
  gateway_id: "RouteGatewayId",
  dry_run: false,
  subnet_id: "SubnetId",
  route_table_id: "RouteTableId", # required
})

Response structure


resp.association_id #=> String
resp.association_state.state #=> String, one of "associating", "associated", "disassociating", "disassociated", "failed"
resp.association_state.status_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :gateway_id (String)

    The ID of the internet gateway or virtual private gateway.

  • :dry_run (Boolean)

    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.

  • :subnet_id (String)

    The ID of the subnet.

  • :route_table_id (required, String)

    The ID of the route table.

Returns:

See Also:



2493
2494
2495
2496
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2493

def associate_route_table(params = {}, options = {})
  req = build_request(:associate_route_table, params)
  req.send_request(options)
end

#associate_security_group_vpc(params = {}) ⇒ Types::AssociateSecurityGroupVpcResult

Associates a security group with another VPC in the same Region. This enables you to use the same security group with network interfaces and instances in the specified VPC.

* The VPC you want to associate the security group with must be in the same Region.

  • You can associate the security group with another VPC if your account owns the VPC or if the VPC was shared with you.

  • You must own the security group and the VPC that it was created in.

  • You cannot use this feature with default security groups.

  • You cannot use this feature with the default VPC.

Examples:

Request syntax with placeholder values


resp = client.associate_security_group_vpc({
  group_id: "SecurityGroupId", # required
  vpc_id: "VpcId", # required
  dry_run: false,
})

Response structure


resp.state #=> String, one of "associating", "associated", "association-failed", "disassociating", "disassociated", "disassociation-failed"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :group_id (required, String)

    A security group ID.

  • :vpc_id (required, String)

    A VPC ID.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



2548
2549
2550
2551
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2548

def associate_security_group_vpc(params = {}, options = {})
  req = build_request(:associate_security_group_vpc, params)
  req.send_request(options)
end

#associate_subnet_cidr_block(params = {}) ⇒ Types::AssociateSubnetCidrBlockResult

Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR block with your subnet.

Examples:

Request syntax with placeholder values


resp = client.associate_subnet_cidr_block({
  ipv_6_ipam_pool_id: "IpamPoolId",
  ipv_6_netmask_length: 1,
  subnet_id: "SubnetId", # required
  ipv_6_cidr_block: "String",
})

Response structure


resp.ipv_6_cidr_block_association.association_id #=> String
resp.ipv_6_cidr_block_association.ipv_6_cidr_block #=> String
resp.ipv_6_cidr_block_association.ipv_6_cidr_block_state.state #=> String, one of "associating", "associated", "disassociating", "disassociated", "failing", "failed"
resp.ipv_6_cidr_block_association.ipv_6_cidr_block_state.status_message #=> String
resp.ipv_6_cidr_block_association.ipv_6_address_attribute #=> String, one of "public", "private"
resp.ipv_6_cidr_block_association.ip_source #=> String, one of "amazon", "byoip", "none"
resp.subnet_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :ipv_6_ipam_pool_id (String)

    An IPv6 IPAM pool ID.

  • :ipv_6_netmask_length (Integer)

    An IPv6 netmask length.

  • :subnet_id (required, String)

    The ID of your subnet.

  • :ipv_6_cidr_block (String)

    The IPv6 CIDR block for your subnet.

Returns:

See Also:



2596
2597
2598
2599
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2596

def associate_subnet_cidr_block(params = {}, options = {})
  req = build_request(:associate_subnet_cidr_block, params)
  req.send_request(options)
end

#associate_transit_gateway_multicast_domain(params = {}) ⇒ Types::AssociateTransitGatewayMulticastDomainResult

Associates the specified subnets and transit gateway attachments with the specified transit gateway multicast domain.

The transit gateway attachment must be in the available state before you can add a resource. Use DescribeTransitGatewayAttachments to see the state of the attachment.

Examples:

Request syntax with placeholder values


resp = client.associate_transit_gateway_multicast_domain({
  transit_gateway_multicast_domain_id: "TransitGatewayMulticastDomainId", # required
  transit_gateway_attachment_id: "TransitGatewayAttachmentId", # required
  subnet_ids: ["SubnetId"], # required
  dry_run: false,
})

Response structure


resp.associations.transit_gateway_multicast_domain_id #=> String
resp.associations.transit_gateway_attachment_id #=> String
resp.associations.resource_id #=> String
resp.associations.resource_type #=> String, one of "vpc", "vpn", "direct-connect-gateway", "connect", "peering", "tgw-peering"
resp.associations.resource_owner_id #=> String
resp.associations.subnets #=> Array
resp.associations.subnets[0].subnet_id #=> String
resp.associations.subnets[0].state #=> String, one of "pendingAcceptance", "associating", "associated", "disassociating", "disassociated", "rejected", "failed"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_multicast_domain_id (required, String)

    The ID of the transit gateway multicast domain.

  • :transit_gateway_attachment_id (required, String)

    The ID of the transit gateway attachment to associate with the transit gateway multicast domain.

  • :subnet_ids (required, Array<String>)

    The IDs of the subnets to associate with the transit gateway multicast domain.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



2657
2658
2659
2660
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2657

def associate_transit_gateway_multicast_domain(params = {}, options = {})
  req = build_request(:associate_transit_gateway_multicast_domain, params)
  req.send_request(options)
end

#associate_transit_gateway_policy_table(params = {}) ⇒ Types::AssociateTransitGatewayPolicyTableResult

Associates the specified transit gateway attachment with a transit gateway policy table.

Examples:

Request syntax with placeholder values


resp = client.associate_transit_gateway_policy_table({
  transit_gateway_policy_table_id: "TransitGatewayPolicyTableId", # required
  transit_gateway_attachment_id: "TransitGatewayAttachmentId", # required
  dry_run: false,
})

Response structure


resp.association.transit_gateway_policy_table_id #=> String
resp.association.transit_gateway_attachment_id #=> String
resp.association.resource_id #=> String
resp.association.resource_type #=> String, one of "vpc", "vpn", "direct-connect-gateway", "connect", "peering", "tgw-peering"
resp.association.state #=> String, one of "associating", "associated", "disassociating", "disassociated"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_policy_table_id (required, String)

    The ID of the transit gateway policy table to associate with the transit gateway attachment.

  • :transit_gateway_attachment_id (required, String)

    The ID of the transit gateway attachment to associate with the policy table.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



2703
2704
2705
2706
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2703

def associate_transit_gateway_policy_table(params = {}, options = {})
  req = build_request(:associate_transit_gateway_policy_table, params)
  req.send_request(options)
end

#associate_transit_gateway_route_table(params = {}) ⇒ Types::AssociateTransitGatewayRouteTableResult

Associates the specified attachment with the specified transit gateway route table. You can associate only one route table with an attachment.

Examples:

Request syntax with placeholder values


resp = client.associate_transit_gateway_route_table({
  transit_gateway_route_table_id: "TransitGatewayRouteTableId", # required
  transit_gateway_attachment_id: "TransitGatewayAttachmentId", # required
  dry_run: false,
})

Response structure


resp.association.transit_gateway_route_table_id #=> String
resp.association.transit_gateway_attachment_id #=> String
resp.association.resource_id #=> String
resp.association.resource_type #=> String, one of "vpc", "vpn", "direct-connect-gateway", "connect", "peering", "tgw-peering"
resp.association.state #=> String, one of "associating", "associated", "disassociating", "disassociated"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_route_table_id (required, String)

    The ID of the transit gateway route table.

  • :transit_gateway_attachment_id (required, String)

    The ID of the attachment.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



2748
2749
2750
2751
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2748

def associate_transit_gateway_route_table(params = {}, options = {})
  req = build_request(:associate_transit_gateway_route_table, params)
  req.send_request(options)
end

#associate_trunk_interface(params = {}) ⇒ Types::AssociateTrunkInterfaceResult

Associates a branch network interface with a trunk network interface.

Before you create the association, use CreateNetworkInterface command and set the interface type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

Examples:

Request syntax with placeholder values


resp = client.associate_trunk_interface({
  branch_interface_id: "NetworkInterfaceId", # required
  trunk_interface_id: "NetworkInterfaceId", # required
  vlan_id: 1,
  gre_key: 1,
  client_token: "String",
  dry_run: false,
})

Response structure


resp.interface_association.association_id #=> String
resp.interface_association.branch_interface_id #=> String
resp.interface_association.trunk_interface_id #=> String
resp.interface_association.interface_protocol #=> String, one of "VLAN", "GRE"
resp.interface_association.vlan_id #=> Integer
resp.interface_association.gre_key #=> Integer
resp.interface_association.tags #=> Array
resp.interface_association.tags[0].key #=> String
resp.interface_association.tags[0].value #=> String
resp.client_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :branch_interface_id (required, String)

    The ID of the branch network interface.

  • :trunk_interface_id (required, String)

    The ID of the trunk network interface.

  • :vlan_id (Integer)

    The ID of the VLAN. This applies to the VLAN protocol.

  • :gre_key (Integer)

    The application key. This applies to the GRE protocol.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

Returns:

See Also:



2827
2828
2829
2830
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2827

def associate_trunk_interface(params = {}, options = {})
  req = build_request(:associate_trunk_interface, params)
  req.send_request(options)
end

#associate_vpc_cidr_block(params = {}) ⇒ Types::AssociateVpcCidrBlockResult

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 pool, or an Amazon-provided IPv6 CIDR block.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

Examples:

Request syntax with placeholder values


resp = client.associate_vpc_cidr_block({
  cidr_block: "String",
  ipv_6_cidr_block_network_border_group: "String",
  ipv_6_pool: "Ipv6PoolEc2Id",
  ipv_6_cidr_block: "String",
  ipv_4_ipam_pool_id: "IpamPoolId",
  ipv_4_netmask_length: 1,
  ipv_6_ipam_pool_id: "IpamPoolId",
  ipv_6_netmask_length: 1,
  vpc_id: "VpcId", # required
  amazon_provided_ipv_6_cidr_block: false,
})

Response structure


resp.ipv_6_cidr_block_association.association_id #=> String
resp.ipv_6_cidr_block_association.ipv_6_cidr_block #=> String
resp.ipv_6_cidr_block_association.ipv_6_cidr_block_state.state #=> String, one of "associating", "associated", "disassociating", "disassociated", "failing", "failed"
resp.ipv_6_cidr_block_association.ipv_6_cidr_block_state.status_message #=> String
resp.ipv_6_cidr_block_association.network_border_group #=> String
resp.ipv_6_cidr_block_association.ipv_6_pool #=> String
resp.ipv_6_cidr_block_association.ipv_6_address_attribute #=> String, one of "public", "private"
resp.ipv_6_cidr_block_association.ip_source #=> String, one of "amazon", "byoip", "none"
resp.cidr_block_association.association_id #=> String
resp.cidr_block_association.cidr_block #=> String
resp.cidr_block_association.cidr_block_state.state #=> String, one of "associating", "associated", "disassociating", "disassociated", "failing", "failed"
resp.cidr_block_association.cidr_block_state.status_message #=> String
resp.vpc_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :cidr_block (String)

    An IPv4 CIDR block to associate with the VPC.

  • :ipv_6_cidr_block_network_border_group (String)

    The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the CIDR block to this location.

    You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

    You can have one IPv6 CIDR block association per network border group.

  • :ipv_6_pool (String)

    The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

  • :ipv_6_cidr_block (String)

    An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

    To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

  • :ipv_4_ipam_pool_id (String)

    Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

  • :ipv_4_netmask_length (Integer)

    The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

  • :ipv_6_ipam_pool_id (String)

    Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

  • :ipv_6_netmask_length (Integer)

    The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

  • :vpc_id (required, String)

    The ID of the VPC.

  • :amazon_provided_ipv_6_cidr_block (Boolean)

    Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses or the size of the CIDR block.

Returns:

See Also:



2958
2959
2960
2961
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 2958

def associate_vpc_cidr_block(params = {}, options = {})
  req = build_request(:associate_vpc_cidr_block, params)
  req.send_request(options)
end

This action is deprecated.

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

Linking your instance to a VPC is sometimes referred to as attaching your instance.

Examples:

Request syntax with placeholder values


resp = client.attach_classic_link_vpc({
  dry_run: false,
  instance_id: "InstanceId", # required
  vpc_id: "VpcId", # required
  groups: ["SecurityGroupId"], # required
})

Response structure


resp.return #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :instance_id (required, String)

    The ID of the EC2-Classic instance.

  • :vpc_id (required, String)

    The ID of the ClassicLink-enabled VPC.

  • :groups (required, Array<String>)

    The IDs of the security groups. You cannot specify security groups from a different VPC.

Returns:

See Also:



3018
3019
3020
3021
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 3018

def attach_classic_link_vpc(params = {}, options = {})
  req = build_request(:attach_classic_link_vpc, params)
  req.send_request(options)
end

#attach_internet_gateway(params = {}) ⇒ Struct

Attaches an internet gateway or a virtual private gateway to a VPC, enabling connectivity between the internet and the VPC. For more information, see Internet gateways in the Amazon VPC User Guide.

Examples:

Example: To attach an Internet gateway to a VPC


# This example attaches the specified Internet gateway to the specified VPC.

resp = client.attach_internet_gateway({
  internet_gateway_id: "igw-c0a643a9", 
  vpc_id: "vpc-a01106c2", 
})

Request syntax with placeholder values


resp = client.attach_internet_gateway({
  dry_run: false,
  internet_gateway_id: "InternetGatewayId", # required
  vpc_id: "VpcId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :internet_gateway_id (required, String)

    The ID of the internet gateway.

  • :vpc_id (required, String)

    The ID of the VPC.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3068
3069
3070
3071
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 3068

def attach_internet_gateway(params = {}, options = {})
  req = build_request(:attach_internet_gateway, params)
  req.send_request(options)
end

#attach_network_interface(params = {}) ⇒ Types::AttachNetworkInterfaceResult

Attaches a network interface to an instance.

Examples:

Example: To attach a network interface to an instance


# This example attaches the specified network interface to the specified instance.

resp = client.attach_network_interface({
  device_index: 1, 
  instance_id: "i-1234567890abcdef0", 
  network_interface_id: "eni-e5aa89a3", 
})

resp.to_h outputs the following:
{
  attachment_id: "eni-attach-66c4350a", 
}

Request syntax with placeholder values


resp = client.attach_network_interface({
  network_card_index: 1,
  ena_srd_specification: {
    ena_srd_enabled: false,
    ena_srd_udp_specification: {
      ena_srd_udp_enabled: false,
    },
  },
  dry_run: false,
  network_interface_id: "NetworkInterfaceId", # required
  instance_id: "InstanceId", # required
  device_index: 1, # required
})

Response structure


resp.attachment_id #=> String
resp.network_card_index #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :network_card_index (Integer)

    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.

  • :ena_srd_specification (Types::EnaSrdSpecification)

    Configures ENA Express for the network interface that this action attaches to the instance.

  • :dry_run (Boolean)

    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.

  • :network_interface_id (required, String)

    The ID of the network interface.

  • :instance_id (required, String)

    The ID of the instance.

  • :device_index (required, Integer)

    The index of the device for the network interface attachment.

Returns:

See Also:



3145
3146
3147
3148
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 3145

def attach_network_interface(params = {}, options = {})
  req = build_request(:attach_network_interface, params)
  req.send_request(options)
end

#attach_verified_access_trust_provider(params = {}) ⇒ Types::AttachVerifiedAccessTrustProviderResult

Attaches the specified Amazon Web Services Verified Access trust provider to the specified Amazon Web Services Verified Access instance.

Examples:

Request syntax with placeholder values


resp = client.attach_verified_access_trust_provider({
  verified_access_instance_id: "VerifiedAccessInstanceId", # required
  verified_access_trust_provider_id: "VerifiedAccessTrustProviderId", # required
  client_token: "String",
  dry_run: false,
})

Response structure


resp.verified_access_trust_provider.verified_access_trust_provider_id #=> String
resp.verified_access_trust_provider.description #=> String
resp.verified_access_trust_provider.trust_provider_type #=> String, one of "user", "device"
resp.verified_access_trust_provider.user_trust_provider_type #=> String, one of "iam-identity-center", "oidc"
resp.verified_access_trust_provider.device_trust_provider_type #=> String, one of "jamf", "crowdstrike", "jumpcloud"
resp.verified_access_trust_provider.oidc_options.issuer #=> String
resp.verified_access_trust_provider.oidc_options.authorization_endpoint #=> String
resp.verified_access_trust_provider.oidc_options.token_endpoint #=> String
resp.verified_access_trust_provider.oidc_options. #=> String
resp.verified_access_trust_provider.oidc_options.client_id #=> String
resp.verified_access_trust_provider.oidc_options.client_secret #=> String
resp.verified_access_trust_provider.oidc_options.scope #=> String
resp.verified_access_trust_provider.device_options.tenant_id #=> String
resp.verified_access_trust_provider.device_options.public_signing_key_url #=> String
resp.verified_access_trust_provider.policy_reference_name #=> String
resp.verified_access_trust_provider.creation_time #=> String
resp.verified_access_trust_provider.last_updated_time #=> String
resp.verified_access_trust_provider.tags #=> Array
resp.verified_access_trust_provider.tags[0].key #=> String
resp.verified_access_trust_provider.tags[0].value #=> String
resp.verified_access_trust_provider.sse_specification.customer_managed_key_enabled #=> Boolean
resp.verified_access_trust_provider.sse_specification.kms_key_arn #=> String
resp.verified_access_trust_provider.native_application_oidc_options.public_signing_key_endpoint #=> String
resp.verified_access_trust_provider.native_application_oidc_options.issuer #=> String
resp.verified_access_trust_provider.native_application_oidc_options.authorization_endpoint #=> String
resp.verified_access_trust_provider.native_application_oidc_options.token_endpoint #=> String
resp.verified_access_trust_provider.native_application_oidc_options. #=> String
resp.verified_access_trust_provider.native_application_oidc_options.client_id #=> String
resp.verified_access_trust_provider.native_application_oidc_options.scope #=> String
resp.verified_access_instance.verified_access_instance_id #=> String
resp.verified_access_instance.description #=> String
resp.verified_access_instance.verified_access_trust_providers #=> Array
resp.verified_access_instance.verified_access_trust_providers[0].verified_access_trust_provider_id #=> String
resp.verified_access_instance.verified_access_trust_providers[0].description #=> String
resp.verified_access_instance.verified_access_trust_providers[0].trust_provider_type #=> String, one of "user", "device"
resp.verified_access_instance.verified_access_trust_providers[0].user_trust_provider_type #=> String, one of "iam-identity-center", "oidc"
resp.verified_access_instance.verified_access_trust_providers[0].device_trust_provider_type #=> String, one of "jamf", "crowdstrike", "jumpcloud"
resp.verified_access_instance.creation_time #=> String
resp.verified_access_instance.last_updated_time #=> String
resp.verified_access_instance.tags #=> Array
resp.verified_access_instance.tags[0].key #=> String
resp.verified_access_instance.tags[0].value #=> String
resp.verified_access_instance.fips_enabled #=> Boolean
resp.verified_access_instance.cidr_endpoints_custom_sub_domain.sub_domain #=> String
resp.verified_access_instance.cidr_endpoints_custom_sub_domain.nameservers #=> Array
resp.verified_access_instance.cidr_endpoints_custom_sub_domain.nameservers[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :verified_access_instance_id (required, String)

    The ID of the Verified Access instance.

  • :verified_access_trust_provider_id (required, String)

    The ID of the Verified Access trust provider.

  • :client_token (String)

    A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

Returns:

See Also:



3245
3246
3247
3248
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 3245

def attach_verified_access_trust_provider(params = {}, options = {})
  req = build_request(:attach_verified_access_trust_provider, params)
  req.send_request(options)
end

#attach_volume(params = {}) ⇒ Types::VolumeAttachment

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

After you attach an EBS volume, you must make it available. For more information, see Make an EBS volume available for use.

If a volume has an Amazon Web Services Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • Amazon Web Services Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For more information, see Attach an Amazon EBS volume to an instance in the Amazon EBS User Guide.

Examples:

Example: To attach a volume to an instance


# This example attaches a volume (``vol-1234567890abcdef0``) to an instance (``i-01474ef662b89480``) as ``/dev/sdf``.

resp = client.attach_volume({
  device: "/dev/sdf", 
  instance_id: "i-01474ef662b89480", 
  volume_id: "vol-1234567890abcdef0", 
})

resp.to_h outputs the following:
{
  attach_time: Time.parse("2016-08-29T18:52:32.724Z"), 
  device: "/dev/sdf", 
  instance_id: "i-01474ef662b89480", 
  state: "attaching", 
  volume_id: "vol-1234567890abcdef0", 
}

Request syntax with placeholder values


resp = client.attach_volume({
  device: "String", # required
  instance_id: "InstanceId", # required
  volume_id: "VolumeId", # required
  dry_run: false,
})

Response structure


resp.delete_on_termination #=> Boolean
resp.associated_resource #=> String
resp.instance_owning_service #=> String
resp.volume_id #=> String
resp.instance_id #=> String
resp.device #=> String
resp.state #=> String, one of "attaching", "attached", "detaching", "detached", "busy"
resp.attach_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :device (required, String)

    The device name (for example, /dev/sdh or xvdh).

  • :instance_id (required, String)

    The ID of the instance.

  • :volume_id (required, String)

    The ID of the EBS volume. The volume and instance must be within the same Availability Zone.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



3353
3354
3355
3356
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 3353

def attach_volume(params = {}, options = {})
  req = build_request(:attach_volume, params)
  req.send_request(options)
end

#attach_vpn_gateway(params = {}) ⇒ Types::AttachVpnGatewayResult

Attaches an available virtual private gateway to a VPC. You can attach one virtual private gateway to one VPC at a time.

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN User Guide.

Examples:

Request syntax with placeholder values


resp = client.attach_vpn_gateway({
  vpc_id: "VpcId", # required
  vpn_gateway_id: "VpnGatewayId", # required
  dry_run: false,
})

Response structure


resp.vpc_attachment.vpc_id #=> String
resp.vpc_attachment.state #=> String, one of "attaching", "attached", "detaching", "detached"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :vpc_id (required, String)

    The ID of the VPC.

  • :vpn_gateway_id (required, String)

    The ID of the virtual private gateway.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



3401
3402
3403
3404
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 3401

def attach_vpn_gateway(params = {}, options = {})
  req = build_request(:attach_vpn_gateway, params)
  req.send_request(options)
end

#authorize_client_vpn_ingress(params = {}) ⇒ Types::AuthorizeClientVpnIngressResult

Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization rules act as firewall rules that grant access to networks. You must configure ingress authorization rules to enable clients to access resources in Amazon Web Services or on-premises networks.

Examples:

Request syntax with placeholder values


resp = client.authorize_client_vpn_ingress({
  client_vpn_endpoint_id: "ClientVpnEndpointId", # required
  target_network_cidr: "String", # required
  access_group_id: "String",
  authorize_all_groups: false,
  description: "String",
  client_token: "String",
  dry_run: false,
})

Response structure


resp.status.code #=> String, one of "authorizing", "active", "failed", "revoking"
resp.status.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_vpn_endpoint_id (required, String)

    The ID of the Client VPN endpoint.

  • :target_network_cidr (required, String)

    The IPv4 address range, in CIDR notation, of the network for which access is being authorized.

  • :access_group_id (String)

    The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group. Required if AuthorizeAllGroups is false or not specified.

  • :authorize_all_groups (Boolean)

    Indicates whether to grant access to all clients. Specify true to grant all clients who successfully establish a VPN connection access to the network. Must be set to true if AccessGroupId is not specified.

  • :description (String)

    A brief description of the authorization rule.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

Returns:

See Also:



3476
3477
3478
3479
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 3476

def authorize_client_vpn_ingress(params = {}, options = {})
  req = build_request(:authorize_client_vpn_ingress, params)
  req.send_request(options)
end

#authorize_security_group_egress(params = {}) ⇒ Types::AuthorizeSecurityGroupEgressResult

Adds the specified outbound (egress) rules to a security group.

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address ranges, the IP address ranges specified by a prefix list, or the instances that are associated with a source security group. For more information, see Security group rules.

You must specify exactly one of the following destinations: an IPv4 or IPv6 address range, a prefix list, or a security group. You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP type and code.

Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur.

For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide.

For information about security group quotas, see Amazon VPC quotas in the Amazon VPC User Guide.

Examples:

Example: To add a rule that allows outbound traffic to a specific address range


# This example adds a rule that grants access to the specified address ranges on TCP port 80.

resp = client.authorize_security_group_egress({
  group_id: "sg-1a2b3c4d", 
  ip_permissions: [
    {
      from_port: 80, 
      ip_protocol: "tcp", 
      ip_ranges: [
        {
          cidr_ip: "10.0.0.0/16", 
        }, 
      ], 
      to_port: 80, 
    }, 
  ], 
})

resp.to_h outputs the following:
{
}

Example: To add a rule that allows outbound traffic to a specific security group


# This example adds a rule that grants access to the specified security group on TCP port 80.

resp = client.authorize_security_group_egress({
  group_id: "sg-1a2b3c4d", 
  ip_permissions: [
    {
      from_port: 80, 
      ip_protocol: "tcp", 
      to_port: 80, 
      user_id_group_pairs: [
        {
          group_id: "sg-4b51a32f", 
        }, 
      ], 
    }, 
  ], 
})

resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.authorize_security_group_egress({
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
  group_id: "SecurityGroupId", # required
  source_security_group_name: "String",
  source_security_group_owner_id: "String",
  ip_protocol: "String",
  from_port: 1,
  to_port: 1,
  cidr_ip: "String",
  ip_permissions: [
    {
      ip_protocol: "String",
      from_port: 1,
      to_port: 1,
      user_id_group_pairs: [
        {
          description: "String",
          user_id: "String",
          group_name: "String",
          group_id: "String",
          vpc_id: "String",
          vpc_peering_connection_id: "String",
          peering_status: "String",
        },
      ],
      ip_ranges: [
        {
          description: "String",
          cidr_ip: "String",
        },
      ],
      ipv_6_ranges: [
        {
          description: "String",
          cidr_ipv_6: "String",
        },
      ],
      prefix_list_ids: [
        {
          description: "String",
          prefix_list_id: "String",
        },
      ],
    },
  ],
})

Response structure


resp.return #=> Boolean
resp.security_group_rules #=> Array
resp.security_group_rules[0].security_group_rule_id #=> String
resp.security_group_rules[0].group_id #=> String
resp.security_group_rules[0].group_owner_id #=> String
resp.security_group_rules[0].is_egress #=> Boolean
resp.security_group_rules[0].ip_protocol #=> String
resp.security_group_rules[0].from_port #=> Integer
resp.security_group_rules[0].to_port #=> Integer
resp.security_group_rules[0].cidr_ipv_4 #=> String
resp.security_group_rules[0].cidr_ipv_6 #=> String
resp.security_group_rules[0].prefix_list_id #=> String
resp.security_group_rules[0].referenced_group_info.group_id #=> String
resp.security_group_rules[0].referenced_group_info.peering_status #=> String
resp.security_group_rules[0].referenced_group_info.user_id #=> String
resp.security_group_rules[0].referenced_group_info.vpc_id #=> String
resp.security_group_rules[0].referenced_group_info.vpc_peering_connection_id #=> String
resp.security_group_rules[0].description #=> String
resp.security_group_rules[0].tags #=> Array
resp.security_group_rules[0].tags[0].key #=> String
resp.security_group_rules[0].tags[0].value #=> String
resp.security_group_rules[0].security_group_rule_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags applied to the security group rule.

  • :dry_run (Boolean)

    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.

  • :group_id (required, String)

    The ID of the security group.

  • :source_security_group_name (String)

    Not supported. Use IP permissions instead.

  • :source_security_group_owner_id (String)

    Not supported. Use IP permissions instead.

  • :ip_protocol (String)

    Not supported. Use IP permissions instead.

  • :from_port (Integer)

    Not supported. Use IP permissions instead.

  • :to_port (Integer)

    Not supported. Use IP permissions instead.

  • :cidr_ip (String)

    Not supported. Use IP permissions instead.

  • :ip_permissions (Array<Types::IpPermission>)

    The permissions for the security group rules.

Returns:

See Also:



3687
3688
3689
3690
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 3687

def authorize_security_group_egress(params = {}, options = {})
  req = build_request(:authorize_security_group_egress, params)
  req.send_request(options)
end

#authorize_security_group_ingress(params = {}) ⇒ Types::AuthorizeSecurityGroupIngressResult

Adds the specified inbound (ingress) rules to a security group.

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 address range, the IP address ranges that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see Security group rules.

You must specify exactly one of the following sources: an IPv4 or IPv6 address range, a prefix list, or a security group. You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code.

Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur.

For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide.

For more information about security group quotas, see Amazon VPC quotas in the Amazon VPC User Guide.

Examples:

Example: To add a rule that allows inbound SSH traffic from an IPv4 address range


# This example enables inbound traffic on TCP port 22 (SSH). The rule includes a description to help you identify it
# later.

resp = client.authorize_security_group_ingress({
  group_id: "sg-903004f8", 
  ip_permissions: [
    {
      from_port: 22, 
      ip_protocol: "tcp", 
      ip_ranges: [
        {
          cidr_ip: "203.0.113.0/24", 
          description: "SSH access from the LA office", 
        }, 
      ], 
      to_port: 22, 
    }, 
  ], 
})

resp.to_h outputs the following:
{
}

Example: To add a rule that allows inbound HTTP traffic from another security group


# This example enables inbound traffic on TCP port 80 from the specified security group. The group must be in the same VPC
# or a peer VPC. Incoming traffic is allowed based on the private IP addresses of instances that are associated with the
# specified security group.

resp = client.authorize_security_group_ingress({
  group_id: "sg-111aaa22", 
  ip_permissions: [
    {
      from_port: 80, 
      ip_protocol: "tcp", 
      to_port: 80, 
      user_id_group_pairs: [
        {
          description: "HTTP access from other instances", 
          group_id: "sg-1a2b3c4d", 
        }, 
      ], 
    }, 
  ], 
})

resp.to_h outputs the following:
{
}

Example: To add a rule that allows inbound RDP traffic from an IPv6 address range


# This example adds an inbound rule that allows RDP traffic from the specified IPv6 address range. The rule includes a
# description to help you identify it later.

resp = client.authorize_security_group_ingress({
  group_id: "sg-123abc12 ", 
  ip_permissions: [
    {
      from_port: 3389, 
      ip_protocol: "tcp", 
      ipv_6_ranges: [
        {
          cidr_ipv_6: "2001:db8:1234:1a00::/64", 
          description: "RDP access from the NY office", 
        }, 
      ], 
      to_port: 3389, 
    }, 
  ], 
})

resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.authorize_security_group_ingress({
  cidr_ip: "String",
  from_port: 1,
  group_id: "SecurityGroupId",
  group_name: "SecurityGroupName",
  ip_permissions: [
    {
      ip_protocol: "String",
      from_port: 1,
      to_port: 1,
      user_id_group_pairs: [
        {
          description: "String",
          user_id: "String",
          group_name: "String",
          group_id: "String",
          vpc_id: "String",
          vpc_peering_connection_id: "String",
          peering_status: "String",
        },
      ],
      ip_ranges: [
        {
          description: "String",
          cidr_ip: "String",
        },
      ],
      ipv_6_ranges: [
        {
          description: "String",
          cidr_ipv_6: "String",
        },
      ],
      prefix_list_ids: [
        {
          description: "String",
          prefix_list_id: "String",
        },
      ],
    },
  ],
  ip_protocol: "String",
  source_security_group_name: "String",
  source_security_group_owner_id: "String",
  to_port: 1,
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.return #=> Boolean
resp.security_group_rules #=> Array
resp.security_group_rules[0].security_group_rule_id #=> String
resp.security_group_rules[0].group_id #=> String
resp.security_group_rules[0].group_owner_id #=> String
resp.security_group_rules[0].is_egress #=> Boolean
resp.security_group_rules[0].ip_protocol #=> String
resp.security_group_rules[0].from_port #=> Integer
resp.security_group_rules[0].to_port #=> Integer
resp.security_group_rules[0].cidr_ipv_4 #=> String
resp.security_group_rules[0].cidr_ipv_6 #=> String
resp.security_group_rules[0].prefix_list_id #=> String
resp.security_group_rules[0].referenced_group_info.group_id #=> String
resp.security_group_rules[0].referenced_group_info.peering_status #=> String
resp.security_group_rules[0].referenced_group_info.user_id #=> String
resp.security_group_rules[0].referenced_group_info.vpc_id #=> String
resp.security_group_rules[0].referenced_group_info.vpc_peering_connection_id #=> String
resp.security_group_rules[0].description #=> String
resp.security_group_rules[0].tags #=> Array
resp.security_group_rules[0].tags[0].key #=> String
resp.security_group_rules[0].tags[0].value #=> String
resp.security_group_rules[0].security_group_rule_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :cidr_ip (String)

    The IPv4 address range, in CIDR format.

    Amazon Web Services canonicalizes IPv4 and IPv6 CIDRs. For example, if you specify 100.68.0.18/18 for the CIDR block, Amazon Web Services canonicalizes the CIDR block to 100.68.0.0/18. Any subsequent DescribeSecurityGroups and DescribeSecurityGroupRules calls will return the canonicalized form of the CIDR block. Additionally, if you attempt to add another rule with the non-canonical form of the CIDR (such as 100.68.0.18/18) and there is already a rule for the canonicalized form of the CIDR block (such as 100.68.0.0/18), the API throws an duplicate rule error.

    To specify an IPv6 address range, use IP permissions instead.

    To specify multiple rules and descriptions for the rules, use IP permissions instead.

  • :from_port (Integer)

    If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP, this is the ICMP type or -1 (all ICMP types).

    To specify multiple rules and descriptions for the rules, use IP permissions instead.

  • :group_id (String)

    The ID of the security group.

  • :group_name (String)

    [Default VPC] The name of the security group. For security groups for a default VPC you can specify either the ID or the name of the security group. For security groups for a nondefault VPC, you must specify the ID of the security group.

  • :ip_permissions (Array<Types::IpPermission>)

    The permissions for the security group rules.

  • :ip_protocol (String)

    The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). To specify all protocols, use -1.

    To specify icmpv6, use IP permissions instead.

    If you specify a protocol other than one of the supported values, traffic is allowed on all ports, regardless of any ports that you specify.

    To specify multiple rules and descriptions for the rules, use IP permissions instead.

  • :source_security_group_name (String)

    [Default VPC] The name of the source security group.

    The rule grants full ICMP, UDP, and TCP access. To create a rule with a specific protocol and port range, specify a set of IP permissions instead.

  • :source_security_group_owner_id (String)

    The Amazon Web Services account ID for the source security group, if the source security group is in a different account.

    The rule grants full ICMP, UDP, and TCP access. To create a rule with a specific protocol and port range, use IP permissions instead.

  • :to_port (Integer)

    If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

    To specify multiple rules and descriptions for the rules, use IP permissions instead.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags applied to the security group rule.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



3989
3990
3991
3992
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 3989

def authorize_security_group_ingress(params = {}, options = {})
  req = build_request(:authorize_security_group_ingress, params)
  req.send_request(options)
end

#bundle_instance(params = {}) ⇒ Types::BundleInstanceResult

Bundles an Amazon instance store-backed Windows instance.

During bundling, only the root device volume (C:\) is bundled. Data on other instance store volumes is not preserved.

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

Examples:

Request syntax with placeholder values


resp = client.bundle_instance({
  instance_id: "InstanceId", # required
  storage: { # required
    s3: {
      aws_access_key_id: "String",
      bucket: "String",
      prefix: "String",
      upload_policy: "data",
      upload_policy_signature: "S3StorageUploadPolicySignature",
    },
  },
  dry_run: false,
})

Response structure


resp.bundle_task.instance_id #=> String
resp.bundle_task.bundle_id #=> String
resp.bundle_task.state #=> String, one of "pending", "waiting-for-shutdown", "bundling", "storing", "cancelling", "complete", "failed"
resp.bundle_task.start_time #=> Time
resp.bundle_task.update_time #=> Time
resp.bundle_task.storage.s3.aws_access_key_id #=> String
resp.bundle_task.storage.s3.bucket #=> String
resp.bundle_task.storage.s3.prefix #=> String
resp.bundle_task.storage.s3.upload_policy #=> String
resp.bundle_task.storage.s3.upload_policy_signature #=> String
resp.bundle_task.progress #=> String
resp.bundle_task.bundle_task_error.code #=> String
resp.bundle_task.bundle_task_error.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The ID of the instance to bundle.

    Default: None

  • :storage (required, Types::Storage)

    The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



4061
4062
4063
4064
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4061

def bundle_instance(params = {}, options = {})
  req = build_request(:bundle_instance, params)
  req.send_request(options)
end

#cancel_bundle_task(params = {}) ⇒ Types::CancelBundleTaskResult

Cancels a bundling operation for an instance store-backed Windows instance.

Examples:

Request syntax with placeholder values


resp = client.cancel_bundle_task({
  bundle_id: "BundleId", # required
  dry_run: false,
})

Response structure


resp.bundle_task.instance_id #=> String
resp.bundle_task.bundle_id #=> String
resp.bundle_task.state #=> String, one of "pending", "waiting-for-shutdown", "bundling", "storing", "cancelling", "complete", "failed"
resp.bundle_task.start_time #=> Time
resp.bundle_task.update_time #=> Time
resp.bundle_task.storage.s3.aws_access_key_id #=> String
resp.bundle_task.storage.s3.bucket #=> String
resp.bundle_task.storage.s3.prefix #=> String
resp.bundle_task.storage.s3.upload_policy #=> String
resp.bundle_task.storage.s3.upload_policy_signature #=> String
resp.bundle_task.progress #=> String
resp.bundle_task.bundle_task_error.code #=> String
resp.bundle_task.bundle_task_error.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :bundle_id (required, String)

    The ID of the bundle task.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



4109
4110
4111
4112
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4109

def cancel_bundle_task(params = {}, options = {})
  req = build_request(:cancel_bundle_task, params)
  req.send_request(options)
end

#cancel_capacity_reservation(params = {}) ⇒ Types::CancelCapacityReservationResult

Cancels the specified Capacity Reservation, releases the reserved capacity, and changes the Capacity Reservation's state to cancelled.

You can cancel a Capacity Reservation that is in the following states:

  • assessing

  • active and there is no commitment duration or the commitment duration has elapsed. You can't cancel a future-dated Capacity Reservation during the commitment duration.

You can't modify or cancel a Capacity Block. For more information, see Capacity Blocks for ML.

If a future-dated Capacity Reservation enters the delayed state, the commitment duration is waived, and you can cancel it as soon as it enters the active state.

Instances running in the reserved capacity continue running until you stop them. Stopped instances that target the Capacity Reservation can no longer launch. Modify these instances to either target a different Capacity Reservation, launch On-Demand Instance capacity, or run in any open Capacity Reservation that has matching attributes and sufficient capacity.

Examples:

Request syntax with placeholder values


resp = client.cancel_capacity_reservation({
  capacity_reservation_id: "CapacityReservationId", # required
  dry_run: false,
})

Response structure


resp.return #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :capacity_reservation_id (required, String)

    The ID of the Capacity Reservation to be cancelled.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



4174
4175
4176
4177
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4174

def cancel_capacity_reservation(params = {}, options = {})
  req = build_request(:cancel_capacity_reservation, params)
  req.send_request(options)
end

#cancel_capacity_reservation_fleets(params = {}) ⇒ Types::CancelCapacityReservationFleetsResult

Cancels one or more Capacity Reservation Fleets. When you cancel a Capacity Reservation Fleet, the following happens:

  • The Capacity Reservation Fleet's status changes to cancelled.

  • The individual Capacity Reservations in the Fleet are cancelled. Instances running in the Capacity Reservations at the time of cancelling the Fleet continue to run in shared capacity.

  • The Fleet stops creating new Capacity Reservations.

Examples:

Request syntax with placeholder values


resp = client.cancel_capacity_reservation_fleets({
  dry_run: false,
  capacity_reservation_fleet_ids: ["CapacityReservationFleetId"], # required
})

Response structure


resp.successful_fleet_cancellations #=> Array
resp.successful_fleet_cancellations[0].current_fleet_state #=> String, one of "submitted", "modifying", "active", "partially_fulfilled", "expiring", "expired", "cancelling", "cancelled", "failed"
resp.successful_fleet_cancellations[0].previous_fleet_state #=> String, one of "submitted", "modifying", "active", "partially_fulfilled", "expiring", "expired", "cancelling", "cancelled", "failed"
resp.successful_fleet_cancellations[0].capacity_reservation_fleet_id #=> String
resp.failed_fleet_cancellations #=> Array
resp.failed_fleet_cancellations[0].capacity_reservation_fleet_id #=> String
resp.failed_fleet_cancellations[0].cancel_capacity_reservation_fleet_error.code #=> String
resp.failed_fleet_cancellations[0].cancel_capacity_reservation_fleet_error.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :capacity_reservation_fleet_ids (required, Array<String>)

    The IDs of the Capacity Reservation Fleets to cancel.

Returns:

See Also:



4226
4227
4228
4229
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4226

def cancel_capacity_reservation_fleets(params = {}, options = {})
  req = build_request(:cancel_capacity_reservation_fleets, params)
  req.send_request(options)
end

#cancel_conversion_task(params = {}) ⇒ Struct

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

Examples:

Request syntax with placeholder values


resp = client.cancel_conversion_task({
  dry_run: false,
  conversion_task_id: "ConversionTaskId", # required
  reason_message: "String",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :conversion_task_id (required, String)

    The ID of the conversion task.

  • :reason_message (String)

    The reason for canceling the conversion task.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4263
4264
4265
4266
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4263

def cancel_conversion_task(params = {}, options = {})
  req = build_request(:cancel_conversion_task, params)
  req.send_request(options)
end

#cancel_declarative_policies_report(params = {}) ⇒ Types::CancelDeclarativePoliciesReportResult

Cancels the generation of an account status report.

You can only cancel a report while it has the running status. Reports with other statuses (complete, cancelled, or error) can't be canceled.

For more information, see Generating the account status report for declarative policies in the Amazon Web Services Organizations User Guide.

Examples:

Request syntax with placeholder values


resp = client.cancel_declarative_policies_report({
  dry_run: false,
  report_id: "DeclarativePoliciesReportId", # required
})

Response structure


resp.return #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :report_id (required, String)

    The ID of the report.

Returns:

See Also:



4310
4311
4312
4313
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4310

def cancel_declarative_policies_report(params = {}, options = {})
  req = build_request(:cancel_declarative_policies_report, params)
  req.send_request(options)
end

#cancel_export_task(params = {}) ⇒ Struct

Cancels an active export task. The request removes all artifacts of the export, including any partially-created Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the command fails and returns an error.

Examples:

Request syntax with placeholder values


resp = client.cancel_export_task({
  export_task_id: "ExportVmTaskId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :export_task_id (required, String)

    The ID of the export task. This is the ID returned by the CreateInstanceExportTask and ExportImage operations.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4336
4337
4338
4339
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4336

def cancel_export_task(params = {}, options = {})
  req = build_request(:cancel_export_task, params)
  req.send_request(options)
end

#cancel_image_launch_permission(params = {}) ⇒ Types::CancelImageLaunchPermissionResult

Removes your Amazon Web Services account from the launch permissions for the specified AMI. For more information, see Cancel having an AMI shared with your Amazon Web Services account in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.cancel_image_launch_permission({
  image_id: "ImageId", # required
  dry_run: false,
})

Response structure


resp.return #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :image_id (required, String)

    The ID of the AMI that was shared with your Amazon Web Services account.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



4379
4380
4381
4382
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4379

def cancel_image_launch_permission(params = {}, options = {})
  req = build_request(:cancel_image_launch_permission, params)
  req.send_request(options)
end

#cancel_import_task(params = {}) ⇒ Types::CancelImportTaskResult

Cancels an in-process import virtual machine or import snapshot task.

Examples:

Request syntax with placeholder values


resp = client.cancel_import_task({
  cancel_reason: "String",
  dry_run: false,
  import_task_id: "ImportTaskId",
})

Response structure


resp.import_task_id #=> String
resp.previous_state #=> String
resp.state #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :cancel_reason (String)

    The reason for canceling the task.

  • :dry_run (Boolean)

    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.

  • :import_task_id (String)

    The ID of the import image or import snapshot task to be canceled.

Returns:

See Also:



4422
4423
4424
4425
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4422

def cancel_import_task(params = {}, options = {})
  req = build_request(:cancel_import_task, params)
  req.send_request(options)
end

#cancel_reserved_instances_listing(params = {}) ⇒ Types::CancelReservedInstancesListingResult

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Sell in the Reserved Instance Marketplace in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.cancel_reserved_instances_listing({
  reserved_instances_listing_id: "ReservedInstancesListingId", # required
})

Response structure


resp.reserved_instances_listings #=> Array
resp.reserved_instances_listings[0].client_token #=> String
resp.reserved_instances_listings[0].create_date #=> Time
resp.reserved_instances_listings[0].instance_counts #=> Array
resp.reserved_instances_listings[0].instance_counts[0].instance_count #=> Integer
resp.reserved_instances_listings[0].instance_counts[0].state #=> String, one of "available", "sold", "cancelled", "pending"
resp.reserved_instances_listings[0].price_schedules #=> Array
resp.reserved_instances_listings[0].price_schedules[0].active #=> Boolean
resp.reserved_instances_listings[0].price_schedules[0].currency_code #=> String, one of "USD"
resp.reserved_instances_listings[0].price_schedules[0].price #=> Float
resp.reserved_instances_listings[0].price_schedules[0].term #=> Integer
resp.reserved_instances_listings[0].reserved_instances_id #=> String
resp.reserved_instances_listings[0].reserved_instances_listing_id #=> String
resp.reserved_instances_listings[0].status #=> String, one of "active", "pending", "cancelled", "closed"
resp.reserved_instances_listings[0].status_message #=> String
resp.reserved_instances_listings[0].tags #=> Array
resp.reserved_instances_listings[0].tags[0].key #=> String
resp.reserved_instances_listings[0].tags[0].value #=> String
resp.reserved_instances_listings[0].update_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :reserved_instances_listing_id (required, String)

    The ID of the Reserved Instance listing.

Returns:

See Also:



4476
4477
4478
4479
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4476

def cancel_reserved_instances_listing(params = {}, options = {})
  req = build_request(:cancel_reserved_instances_listing, params)
  req.send_request(options)
end

#cancel_spot_fleet_requests(params = {}) ⇒ Types::CancelSpotFleetRequestsResponse

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

Restrictions

  • You can delete up to 100 fleets in a single request. If you exceed the specified number, no fleets are deleted.

^

Examples:

Example: To cancel a Spot fleet request


# This example cancels the specified Spot fleet request and terminates its associated Spot Instances.

resp = client.cancel_spot_fleet_requests({
  spot_fleet_request_ids: [
    "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", 
  ], 
  terminate_instances: true, 
})

resp.to_h outputs the following:
{
  successful_fleet_requests: [
    {
      current_spot_fleet_request_state: "cancelled_running", 
      previous_spot_fleet_request_state: "active", 
      spot_fleet_request_id: "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", 
    }, 
  ], 
}

Example: To cancel a Spot fleet request without terminating its Spot Instances


# This example cancels the specified Spot fleet request without terminating its associated Spot Instances.

resp = client.cancel_spot_fleet_requests({
  spot_fleet_request_ids: [
    "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", 
  ], 
  terminate_instances: false, 
})

resp.to_h outputs the following:
{
  successful_fleet_requests: [
    {
      current_spot_fleet_request_state: "cancelled_terminating", 
      previous_spot_fleet_request_state: "active", 
      spot_fleet_request_id: "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.cancel_spot_fleet_requests({
  dry_run: false,
  spot_fleet_request_ids: ["SpotFleetRequestId"], # required
  terminate_instances: false, # required
})

Response structure


resp.successful_fleet_requests #=> Array
resp.successful_fleet_requests[0].current_spot_fleet_request_state #=> String, one of "submitted", "active", "cancelled", "failed", "cancelled_running", "cancelled_terminating", "modifying"
resp.successful_fleet_requests[0].previous_spot_fleet_request_state #=> String, one of "submitted", "active", "cancelled", "failed", "cancelled_running", "cancelled_terminating", "modifying"
resp.successful_fleet_requests[0].spot_fleet_request_id #=> String
resp.unsuccessful_fleet_requests #=> Array
resp.unsuccessful_fleet_requests[0].error.code #=> String, one of "fleetRequestIdDoesNotExist", "fleetRequestIdMalformed", "fleetRequestNotInCancellableState", "unexpectedError"
resp.unsuccessful_fleet_requests[0].error.message #=> String
resp.unsuccessful_fleet_requests[0].spot_fleet_request_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :spot_fleet_request_ids (required, Array<String>)

    The IDs of the Spot Fleet requests.

    Constraint: You can specify up to 100 IDs in a single request.

  • :terminate_instances (required, Boolean)

    Indicates whether to terminate the associated instances when the Spot Fleet request is canceled. The default is to terminate the instances.

    To let the instances continue to run after the Spot Fleet request is canceled, specify no-terminate-instances.

Returns:

See Also:



4591
4592
4593
4594
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4591

def cancel_spot_fleet_requests(params = {}, options = {})
  req = build_request(:cancel_spot_fleet_requests, params)
  req.send_request(options)
end

#cancel_spot_instance_requests(params = {}) ⇒ Types::CancelSpotInstanceRequestsResult

Cancels one or more Spot Instance requests.

Canceling a Spot Instance request does not terminate running Spot Instances associated with the request.

Examples:

Example: To cancel Spot Instance requests


# This example cancels a Spot Instance request.

resp = client.cancel_spot_instance_requests({
  spot_instance_request_ids: [
    "sir-08b93456", 
  ], 
})

resp.to_h outputs the following:
{
  cancelled_spot_instance_requests: [
    {
      spot_instance_request_id: "sir-08b93456", 
      state: "cancelled", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.cancel_spot_instance_requests({
  dry_run: false,
  spot_instance_request_ids: ["SpotInstanceRequestId"], # required
})

Response structure


resp.cancelled_spot_instance_requests #=> Array
resp.cancelled_spot_instance_requests[0].spot_instance_request_id #=> String
resp.cancelled_spot_instance_requests[0].state #=> String, one of "active", "open", "closed", "cancelled", "completed"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :spot_instance_request_ids (required, Array<String>)

    The IDs of the Spot Instance requests.

Returns:

See Also:



4652
4653
4654
4655
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4652

def cancel_spot_instance_requests(params = {}, options = {})
  req = build_request(:cancel_spot_instance_requests, params)
  req.send_request(options)
end

#confirm_product_instance(params = {}) ⇒ Types::ConfirmProductInstanceResult

Determines whether a product code is associated with an instance. This action can only be used by the owner of the product code. It is useful when a product code owner must verify whether another user's instance is eligible for support.

Examples:

Example: To confirm the product instance


# This example determines whether the specified product code is associated with the specified instance.

resp = client.confirm_product_instance({
  instance_id: "i-1234567890abcdef0", 
  product_code: "774F4FF8", 
})

resp.to_h outputs the following:
{
  owner_id: "123456789012", 
}

Request syntax with placeholder values


resp = client.confirm_product_instance({
  instance_id: "InstanceId", # required
  product_code: "String", # required
  dry_run: false,
})

Response structure


resp.return #=> Boolean
resp.owner_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The ID of the instance.

  • :product_code (required, String)

    The product code. This must be a product code that you own.

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the operation, 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.

Returns:

See Also:



4711
4712
4713
4714
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4711

def confirm_product_instance(params = {}, options = {})
  req = build_request(:confirm_product_instance, params)
  req.send_request(options)
end

#copy_fpga_image(params = {}) ⇒ Types::CopyFpgaImageResult

Copies the specified Amazon FPGA Image (AFI) to the current Region.

Examples:

Request syntax with placeholder values


resp = client.copy_fpga_image({
  dry_run: false,
  source_fpga_image_id: "String", # required
  description: "String",
  name: "String",
  source_region: "String", # required
  client_token: "String",
})

Response structure


resp.fpga_image_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :source_fpga_image_id (required, String)

    The ID of the source AFI.

  • :description (String)

    The description for the new AFI.

  • :name (String)

    The name for the new AFI. The default is the name of the source AFI.

  • :source_region (required, String)

    The Region that contains the source AFI.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

Returns:

See Also:



4768
4769
4770
4771
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4768

def copy_fpga_image(params = {}, options = {})
  req = build_request(:copy_fpga_image, params)
  req.send_request(options)
end

#copy_image(params = {}) ⇒ Types::CopyImageResult

Initiates an AMI copy operation. You can copy an AMI from one Region to another, or from a Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost. To copy an AMI to another partition, see CreateStoreImageTask.

When you copy an AMI from one Region to another, the destination Region is the current Region.

When you copy an AMI from a Region to an Outpost, specify the ARN of the Outpost as the destination. Backing snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region or the key that you specify. Outposts do not support unencrypted snapshots.

For information about the prerequisites when copying an AMI, see Copy an AMI in the Amazon EC2 User Guide.

Examples:

Example: To copy an AMI to another region


# This example copies the specified AMI from the us-east-1 region to the current region.

resp = client.copy_image({
  description: "", 
  name: "My server", 
  source_image_id: "ami-5731123e", 
  source_region: "us-east-1", 
})

resp.to_h outputs the following:
{
  image_id: "ami-438bea42", 
}

Request syntax with placeholder values


resp = client.copy_image({
  client_token: "String",
  description: "String",
  encrypted: false,
  kms_key_id: "KmsKeyId",
  name: "String", # required
  source_image_id: "String", # required
  source_region: "String", # required
  destination_outpost_arn: "String",
  copy_image_tags: false,
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  snapshot_copy_completion_duration_minutes: 1,
  dry_run: false,
})

Response structure


resp.image_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_token (String)

    Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see Ensuring idempotency in the Amazon EC2 API Reference.

  • :description (String)

    A description for the new AMI in the destination Region.

  • :encrypted (Boolean)

    Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default Key Management Service (KMS) KMS key using KmsKeyId. For more information, see Use encryption with EBS-backed AMIs in the Amazon EC2 User Guide.

  • :kms_key_id (String)

    The identifier of the symmetric Key Management Service (KMS) KMS key to use when creating encrypted volumes. If this parameter is not specified, your Amazon Web Services managed KMS key for Amazon EBS is used. If you specify a KMS key, you must also set the encrypted state to true.

    You can specify a KMS key using any of the following:

    • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    • Key alias. For example, alias/ExampleAlias.

    • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an identifier that is not valid, the action can appear to complete, but eventually fails.

    The specified KMS key must exist in the destination Region.

    Amazon EBS does not support asymmetric KMS keys.

  • :name (required, String)

    The name of the new AMI in the destination Region.

  • :source_image_id (required, String)

    The ID of the AMI to copy.

  • :source_region (required, String)

    The name of the Region that contains the AMI to copy.

  • :destination_outpost_arn (String)

    The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. The AMI must be in the Region of the destination Outpost. You cannot copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

    For more information, see Copy AMIs from an Amazon Web Services Region to an Outpost in the Amazon EBS User Guide.

  • :copy_image_tags (Boolean)

    Indicates whether to include your user-defined AMI tags when copying the AMI.

    The following tags will not be copied:

    • System tags (prefixed with aws:)

    • For public and shared AMIs, user-defined tags that are attached by other Amazon Web Services accounts

    Default: Your user-defined AMI tags are not copied.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the new AMI and new snapshots. You can tag the AMI, the snapshots, or both.

    • To tag the new AMI, the value for ResourceType must be image.

    • To tag the new snapshots, the value for ResourceType must be snapshot. The same tag is applied to all the new snapshots.

    If you specify other values for ResourceType, the request fails.

    To tag an AMI or snapshot after it has been created, see CreateTags.

  • :snapshot_copy_completion_duration_minutes (Integer)

    Specify a completion duration, in 15 minute increments, to initiate a time-based AMI copy. The specified completion duration applies to each of the snapshots associated with the AMI. Each snapshot associated with the AMI will be completed within the specified completion duration, regardless of their size.

    If you do not specify a value, the AMI copy operation is completed on a best-effort basis.

    For more information, see Time-based copies.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



4980
4981
4982
4983
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 4980

def copy_image(params = {}, options = {})
  req = build_request(:copy_image, params)
  req.send_request(options)
end

#copy_snapshot(params = {}) ⇒ Types::CopySnapshotResult

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy a snapshot within the same Region, from one Region to another, or from a Region to an Outpost. You can't copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).

When copying snapshots to a Region, copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default KMS key; however, you can specify a different KMS key. To copy an encrypted snapshot that has been shared from another account, you must have permissions for the KMS key used to encrypt the snapshot.

Snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, see Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copy an Amazon EBS snapshot in the Amazon EBS User Guide.

Examples:

Example: To copy a snapshot


# This example copies a snapshot with the snapshot ID of ``snap-066877671789bd71b`` from the ``us-west-2`` region to the
# ``us-east-1`` region and adds a short description to identify the snapshot.

resp = client.copy_snapshot({
  description: "This is my copied snapshot.", 
  destination_region: "us-east-1", 
  source_region: "us-west-2", 
  source_snapshot_id: "snap-066877671789bd71b", 
})

resp.to_h outputs the following:
{
  snapshot_id: "snap-066877671789bd71b", 
}

Copy snapshot example

source_snapshot_id = 'snapshot-id'
source_region = 'us-east-1'
target_region = 'us-west-2'

# You must configure your EC2 client for the destination region to copy
ec2 = Aws::EC2::Client(region: target_region)

resp = ec2.copy_snapshot({
    source_region: source_region,
    source_snapshot_id: source_snapshot_id,
})

snapshot_id = resp.snapshot_id

ec2.wait_until(:snapshot_completed, snapshot_ids: [snapshot_id])

Copy an encrypted snapshot

# same as above, expect you must pass `encrypted: true`
resp = ec2.copy_snapshot({
    source_region: source_region,
    source_snapshot_id: source_snapshot_id,
    encrypted: true, # required for encrypted snapshots
})

Request syntax with placeholder values


resp = client.copy_snapshot({
  description: "String",
  destination_outpost_arn: "String",
  destination_region: "String",
  encrypted: false,
  kms_key_id: "KmsKeyId",
  presigned_url: "CopySnapshotRequestPSU",
  source_region: "String", # required
  source_snapshot_id: "String", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  completion_duration_minutes: 1,
  dry_run: false,
})

Response structure


resp.tags #=> Array
resp.tags[0].key #=> String
resp.tags[0].value #=> String
resp.snapshot_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (String)

    A description for the EBS snapshot.

  • :destination_outpost_arn (String)

    The Amazon Resource Name (ARN) of the Outpost to which to copy the snapshot. Only specify this parameter when copying a snapshot from an Amazon Web Services Region to an Outpost. The snapshot must be in the Region for the destination Outpost. You cannot copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

    For more information, see Copy snapshots from an Amazon Web Services Region to an Outpost in the Amazon EBS User Guide.

  • :destination_region (String)

    The destination Region to use in the PresignedUrl parameter of a snapshot copy operation. This parameter is only valid for specifying the destination Region in a PresignedUrl parameter, where it is required.

    The snapshot copy is sent to the regional endpoint that you sent the HTTP request to (for example, ec2.us-east-1.amazonaws.com). With the CLI, this is specified using the --region parameter or the default Region in your Amazon Web Services configuration file.

  • :encrypted (Boolean)

    To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Otherwise, omit this parameter. Encrypted snapshots are encrypted, even if you omit this parameter and encryption by default is not enabled. You cannot set this parameter to false. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

  • :kms_key_id (String)

    The identifier of the KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

    You can specify the KMS key using any of the following:

    • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    • Key alias. For example, alias/ExampleAlias.

    • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

  • :presigned_url (String)

    When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a pre-signed URL. This parameter is optional for unencrypted snapshots. For more information, see Query requests.

    The PresignedUrl should use the snapshot source endpoint, the CopySnapshot action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The PresignedUrl must be signed using Amazon Web Services Signature Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic that is described in Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference. An invalid or improperly signed PresignedUrl will cause the copy operation to fail asynchronously, and the snapshot will move to an error state.

  • :source_region (required, String)

    The ID of the Region that contains the snapshot to be copied.

  • :source_snapshot_id (required, String)

    The ID of the EBS snapshot to copy.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the new snapshot.

  • :completion_duration_minutes (Integer)

    Specify a completion duration, in 15 minute increments, to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. For more information, see Time-based copies.

    If you do not specify a value, the snapshot copy operation is completed on a best-effort basis.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



5215
5216
5217
5218
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 5215

def copy_snapshot(params = {}, options = {})
  req = build_request(:copy_snapshot, params)
  req.send_request(options)
end

#create_capacity_reservation(params = {}) ⇒ Types::CreateCapacityReservationResult

Creates a new Capacity Reservation with the specified attributes. Capacity Reservations enable you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration.

You can create a Capacity Reservation at any time, and you can choose when it starts. You can create a Capacity Reservation for immediate use or you can request a Capacity Reservation for a future date.

For more information, see Reserve compute capacity with On-Demand Capacity Reservations in the Amazon EC2 User Guide.

Your request to create a Capacity Reservation could fail if:

  • Amazon EC2 does not have sufficient capacity. In this case, try again at a later time, try in a different Availability Zone, or request a smaller Capacity Reservation. If your workload is flexible across instance types and sizes, try with different instance attributes.

  • The requested quantity exceeds your On-Demand Instance quota. In this case, increase your On-Demand Instance quota for the requested instance type and try again. For more information, see Amazon EC2 Service Quotas in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_capacity_reservation({
  client_token: "String",
  instance_type: "String", # required
  instance_platform: "Linux/UNIX", # required, accepts Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard, Windows with SQL Server Web, Linux with SQL Server Standard, Linux with SQL Server Web, Linux with SQL Server Enterprise, RHEL with SQL Server Standard, RHEL with SQL Server Enterprise, RHEL with SQL Server Web, RHEL with HA, RHEL with HA and SQL Server Standard, RHEL with HA and SQL Server Enterprise, Ubuntu Pro
  availability_zone: "AvailabilityZoneName",
  availability_zone_id: "AvailabilityZoneId",
  tenancy: "default", # accepts default, dedicated
  instance_count: 1, # required
  ebs_optimized: false,
  ephemeral_storage: false,
  end_date: Time.now,
  end_date_type: "unlimited", # accepts unlimited, limited
  instance_match_criteria: "open", # accepts open, targeted
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
  outpost_arn: "OutpostArn",
  placement_group_arn: "PlacementGroupArn",
  start_date: Time.now,
  commitment_duration: 1,
  delivery_preference: "fixed", # accepts fixed, incremental
})

Response structure


resp.capacity_reservation.capacity_reservation_id #=> String
resp.capacity_reservation.owner_id #=> String
resp.capacity_reservation.capacity_reservation_arn #=> String
resp.capacity_reservation.availability_zone_id #=> String
resp.capacity_reservation.instance_type #=> String
resp.capacity_reservation.instance_platform #=> String, one of "Linux/UNIX", "Red Hat Enterprise Linux", "SUSE Linux", "Windows", "Windows with SQL Server", "Windows with SQL Server Enterprise", "Windows with SQL Server Standard", "Windows with SQL Server Web", "Linux with SQL Server Standard", "Linux with SQL Server Web", "Linux with SQL Server Enterprise", "RHEL with SQL Server Standard", "RHEL with SQL Server Enterprise", "RHEL with SQL Server Web", "RHEL with HA", "RHEL with HA and SQL Server Standard", "RHEL with HA and SQL Server Enterprise", "Ubuntu Pro"
resp.capacity_reservation.availability_zone #=> String
resp.capacity_reservation.tenancy #=> String, one of "default", "dedicated"
resp.capacity_reservation.total_instance_count #=> Integer
resp.capacity_reservation.available_instance_count #=> Integer
resp.capacity_reservation.ebs_optimized #=> Boolean
resp.capacity_reservation.ephemeral_storage #=> Boolean
resp.capacity_reservation.state #=> String, one of "active", "expired", "cancelled", "pending", "failed", "scheduled", "payment-pending", "payment-failed", "assessing", "delayed", "unsupported"
resp.capacity_reservation.start_date #=> Time
resp.capacity_reservation.end_date #=> Time
resp.capacity_reservation.end_date_type #=> String, one of "unlimited", "limited"
resp.capacity_reservation.instance_match_criteria #=> String, one of "open", "targeted"
resp.capacity_reservation.create_date #=> Time
resp.capacity_reservation.tags #=> Array
resp.capacity_reservation.tags[0].key #=> String
resp.capacity_reservation.tags[0].value #=> String
resp.capacity_reservation.outpost_arn #=> String
resp.capacity_reservation.capacity_reservation_fleet_id #=> String
resp.capacity_reservation.placement_group_arn #=> String
resp.capacity_reservation.capacity_allocations #=> Array
resp.capacity_reservation.capacity_allocations[0].allocation_type #=> String, one of "used", "future"
resp.capacity_reservation.capacity_allocations[0].count #=> Integer
resp.capacity_reservation.reservation_type #=> String, one of "default", "capacity-block"
resp.capacity_reservation.unused_reservation_billing_owner_id #=> String
resp.capacity_reservation.commitment_info.committed_instance_count #=> Integer
resp.capacity_reservation.commitment_info.commitment_end_date #=> Time
resp.capacity_reservation.delivery_preference #=> String, one of "fixed", "incremental"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

  • :instance_type (required, String)

    The instance type for which to reserve capacity.

    You can request future-dated Capacity Reservations for instance types in the C, M, R, I, and T instance families only.

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

  • :instance_platform (required, String)

    The type of operating system for which to reserve capacity.

  • :availability_zone (String)

    The Availability Zone in which to create the Capacity Reservation.

  • :availability_zone_id (String)

    The ID of the Availability Zone in which to create the Capacity Reservation.

  • :tenancy (String)

    Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

    • default - The Capacity Reservation is created on hardware that is shared with other Amazon Web Services accounts.

    • dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

  • :instance_count (required, Integer)

    The number of instances for which to reserve capacity.

    You can request future-dated Capacity Reservations for an instance count with a minimum of 100 vCPUs. For example, if you request a future-dated Capacity Reservation for m5.xlarge instances, you must request at least 25 instances (25 * m5.xlarge = 100 vCPUs).

    Valid range: 1 - 1000

  • :ebs_optimized (Boolean)

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

  • :ephemeral_storage (Boolean)

    Deprecated.

  • :end_date (Time, DateTime, Date, Integer, String)

    The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time.

    You must provide an EndDate value if EndDateType is limited. Omit EndDate if EndDateType is unlimited.

    If the EndDateType is limited, the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

    If you are requesting a future-dated Capacity Reservation, you can't specify an end date and time that is within the commitment duration.

  • :end_date_type (String)

    Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:

    • unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an EndDate if the EndDateType is unlimited.

    • limited - The Capacity Reservation expires automatically at a specified date and time. You must provide an EndDate value if the EndDateType value is limited.

  • :instance_match_criteria (String)

    Indicates the type of instance launches that the Capacity Reservation accepts. The options include:

    • open - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters.

    • targeted - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.

    If you are requesting a future-dated Capacity Reservation, you must specify targeted.

    Default: open

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the Capacity Reservation during launch.

  • :dry_run (Boolean)

    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.

  • :outpost_arn (String)

    Not supported for future-dated Capacity Reservations.

    The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.

  • :placement_group_arn (String)

    Not supported for future-dated Capacity Reservations.

    The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. For more information, see Capacity Reservations for cluster placement groups in the Amazon EC2 User Guide.

  • :start_date (Time, DateTime, Date, Integer, String)

    Required for future-dated Capacity Reservations only. To create a Capacity Reservation for immediate use, omit this parameter.

    The date and time at which the future-dated Capacity Reservation should become available for use, in the ISO8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

    You can request a future-dated Capacity Reservation between 5 and 120 days in advance.

  • :commitment_duration (Integer)

    Required for future-dated Capacity Reservations only. To create a Capacity Reservation for immediate use, omit this parameter.

    Specify a commitment duration, in seconds, for the future-dated Capacity Reservation.

    The commitment duration is a minimum duration for which you commit to having the future-dated Capacity Reservation in the active state in your account after it has been delivered.

    For more information, see Commitment duration.

  • :delivery_preference (String)

    Required for future-dated Capacity Reservations only. To create a Capacity Reservation for immediate use, omit this parameter.

    Indicates that the requested capacity will be delivered in addition to any running instances or reserved capacity that you have in your account at the requested date and time.

    The only supported value is incremental.

Returns:

See Also:



5520
5521
5522
5523
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 5520

def create_capacity_reservation(params = {}, options = {})
  req = build_request(:create_capacity_reservation, params)
  req.send_request(options)
end

#create_capacity_reservation_by_splitting(params = {}) ⇒ Types::CreateCapacityReservationBySplittingResult

Create a new Capacity Reservation by splitting the capacity of the source Capacity Reservation. The new Capacity Reservation will have the same attributes as the source Capacity Reservation except for tags. The source Capacity Reservation must be active and owned by your Amazon Web Services account.

Examples:

Request syntax with placeholder values


resp = client.create_capacity_reservation_by_splitting({
  dry_run: false,
  client_token: "String",
  source_capacity_reservation_id: "CapacityReservationId", # required
  instance_count: 1, # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
})

Response structure


resp.source_capacity_reservation.capacity_reservation_id #=> String
resp.source_capacity_reservation.owner_id #=> String
resp.source_capacity_reservation.capacity_reservation_arn #=> String
resp.source_capacity_reservation.availability_zone_id #=> String
resp.source_capacity_reservation.instance_type #=> String
resp.source_capacity_reservation.instance_platform #=> String, one of "Linux/UNIX", "Red Hat Enterprise Linux", "SUSE Linux", "Windows", "Windows with SQL Server", "Windows with SQL Server Enterprise", "Windows with SQL Server Standard", "Windows with SQL Server Web", "Linux with SQL Server Standard", "Linux with SQL Server Web", "Linux with SQL Server Enterprise", "RHEL with SQL Server Standard", "RHEL with SQL Server Enterprise", "RHEL with SQL Server Web", "RHEL with HA", "RHEL with HA and SQL Server Standard", "RHEL with HA and SQL Server Enterprise", "Ubuntu Pro"
resp.source_capacity_reservation.availability_zone #=> String
resp.source_capacity_reservation.tenancy #=> String, one of "default", "dedicated"
resp.source_capacity_reservation.total_instance_count #=> Integer
resp.source_capacity_reservation.available_instance_count #=> Integer
resp.source_capacity_reservation.ebs_optimized #=> Boolean
resp.source_capacity_reservation.ephemeral_storage #=> Boolean
resp.source_capacity_reservation.state #=> String, one of "active", "expired", "cancelled", "pending", "failed", "scheduled", "payment-pending", "payment-failed", "assessing", "delayed", "unsupported"
resp.source_capacity_reservation.start_date #=> Time
resp.source_capacity_reservation.end_date #=> Time
resp.source_capacity_reservation.end_date_type #=> String, one of "unlimited", "limited"
resp.source_capacity_reservation.instance_match_criteria #=> String, one of "open", "targeted"
resp.source_capacity_reservation.create_date #=> Time
resp.source_capacity_reservation.tags #=> Array
resp.source_capacity_reservation.tags[0].key #=> String
resp.source_capacity_reservation.tags[0].value #=> String
resp.source_capacity_reservation.outpost_arn #=> String
resp.source_capacity_reservation.capacity_reservation_fleet_id #=> String
resp.source_capacity_reservation.placement_group_arn #=> String
resp.source_capacity_reservation.capacity_allocations #=> Array
resp.source_capacity_reservation.capacity_allocations[0].allocation_type #=> String, one of "used", "future"
resp.source_capacity_reservation.capacity_allocations[0].count #=> Integer
resp.source_capacity_reservation.reservation_type #=> String, one of "default", "capacity-block"
resp.source_capacity_reservation.unused_reservation_billing_owner_id #=> String
resp.source_capacity_reservation.commitment_info.committed_instance_count #=> Integer
resp.source_capacity_reservation.commitment_info.commitment_end_date #=> Time
resp.source_capacity_reservation.delivery_preference #=> String, one of "fixed", "incremental"
resp.destination_capacity_reservation.capacity_reservation_id #=> String
resp.destination_capacity_reservation.owner_id #=> String
resp.destination_capacity_reservation.capacity_reservation_arn #=> String
resp.destination_capacity_reservation.availability_zone_id #=> String
resp.destination_capacity_reservation.instance_type #=> String
resp.destination_capacity_reservation.instance_platform #=> String, one of "Linux/UNIX", "Red Hat Enterprise Linux", "SUSE Linux", "Windows", "Windows with SQL Server", "Windows with SQL Server Enterprise", "Windows with SQL Server Standard", "Windows with SQL Server Web", "Linux with SQL Server Standard", "Linux with SQL Server Web", "Linux with SQL Server Enterprise", "RHEL with SQL Server Standard", "RHEL with SQL Server Enterprise", "RHEL with SQL Server Web", "RHEL with HA", "RHEL with HA and SQL Server Standard", "RHEL with HA and SQL Server Enterprise", "Ubuntu Pro"
resp.destination_capacity_reservation.availability_zone #=> String
resp.destination_capacity_reservation.tenancy #=> String, one of "default", "dedicated"
resp.destination_capacity_reservation.total_instance_count #=> Integer
resp.destination_capacity_reservation.available_instance_count #=> Integer
resp.destination_capacity_reservation.ebs_optimized #=> Boolean
resp.destination_capacity_reservation.ephemeral_storage #=> Boolean
resp.destination_capacity_reservation.state #=> String, one of "active", "expired", "cancelled", "pending", "failed", "scheduled", "payment-pending", "payment-failed", "assessing", "delayed", "unsupported"
resp.destination_capacity_reservation.start_date #=> Time
resp.destination_capacity_reservation.end_date #=> Time
resp.destination_capacity_reservation.end_date_type #=> String, one of "unlimited", "limited"
resp.destination_capacity_reservation.instance_match_criteria #=> String, one of "open", "targeted"
resp.destination_capacity_reservation.create_date #=> Time
resp.destination_capacity_reservation.tags #=> Array
resp.destination_capacity_reservation.tags[0].key #=> String
resp.destination_capacity_reservation.tags[0].value #=> String
resp.destination_capacity_reservation.outpost_arn #=> String
resp.destination_capacity_reservation.capacity_reservation_fleet_id #=> String
resp.destination_capacity_reservation.placement_group_arn #=> String
resp.destination_capacity_reservation.capacity_allocations #=> Array
resp.destination_capacity_reservation.capacity_allocations[0].allocation_type #=> String, one of "used", "future"
resp.destination_capacity_reservation.capacity_allocations[0].count #=> Integer
resp.destination_capacity_reservation.reservation_type #=> String, one of "default", "capacity-block"
resp.destination_capacity_reservation.unused_reservation_billing_owner_id #=> String
resp.destination_capacity_reservation.commitment_info.committed_instance_count #=> Integer
resp.destination_capacity_reservation.commitment_info.commitment_end_date #=> Time
resp.destination_capacity_reservation.delivery_preference #=> String, one of "fixed", "incremental"
resp.instance_count #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :source_capacity_reservation_id (required, String)

    The ID of the Capacity Reservation from which you want to split the capacity.

  • :instance_count (required, Integer)

    The number of instances to split from the source Capacity Reservation.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the new Capacity Reservation.

Returns:

See Also:



5657
5658
5659
5660
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 5657

def create_capacity_reservation_by_splitting(params = {}, options = {})
  req = build_request(:create_capacity_reservation_by_splitting, params)
  req.send_request(options)
end

#create_capacity_reservation_fleet(params = {}) ⇒ Types::CreateCapacityReservationFleetResult

Creates a Capacity Reservation Fleet. For more information, see Create a Capacity Reservation Fleet in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_capacity_reservation_fleet({
  allocation_strategy: "String",
  client_token: "String",
  instance_type_specifications: [ # required
    {
      instance_type: "a1.medium", # accepts a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge, a1.metal, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal, c5a.large, c5a.xlarge, c5a.2xlarge, c5a.4xlarge, c5a.8xlarge, c5a.12xlarge, c5a.16xlarge, c5a.24xlarge, c5ad.large, c5ad.xlarge, c5ad.2xlarge, c5ad.4xlarge, c5ad.8xlarge, c5ad.12xlarge, c5ad.16xlarge, c5ad.24xlarge, c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.12xlarge, c5d.18xlarge, c5d.24xlarge, c5d.metal, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge, c5n.metal, c6g.medium, c6g.large, c6g.xlarge, c6g.2xlarge, c6g.4xlarge, c6g.8xlarge, c6g.12xlarge, c6g.16xlarge, c6g.metal, c6gd.medium, c6gd.large, c6gd.xlarge, c6gd.2xlarge, c6gd.4xlarge, c6gd.8xlarge, c6gd.12xlarge, c6gd.16xlarge, c6gd.metal, c6gn.medium, c6gn.large, c6gn.xlarge, c6gn.2xlarge, c6gn.4xlarge, c6gn.8xlarge, c6gn.12xlarge, c6gn.16xlarge, c6i.large, c6i.xlarge, c6i.2xlarge, c6i.4xlarge, c6i.8xlarge, c6i.12xlarge, c6i.16xlarge, c6i.24xlarge, c6i.32xlarge, c6i.metal, cc1.4xlarge, cc2.8xlarge, cg1.4xlarge, cr1.8xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, d3.xlarge, d3.2xlarge, d3.4xlarge, d3.8xlarge, d3en.xlarge, d3en.2xlarge, d3en.4xlarge, d3en.6xlarge, d3en.8xlarge, d3en.12xlarge, dl1.24xlarge, f1.2xlarge, f1.4xlarge, f1.16xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, g3s.xlarge, g4ad.xlarge, g4ad.2xlarge, g4ad.4xlarge, g4ad.8xlarge, g4ad.16xlarge, g4dn.xlarge, g4dn.2xlarge, g4dn.4xlarge, g4dn.8xlarge, g4dn.12xlarge, g4dn.16xlarge, g4dn.metal, g5.xlarge, g5.2xlarge, g5.4xlarge, g5.8xlarge, g5.12xlarge, g5.16xlarge, g5.24xlarge, g5.48xlarge, g5g.xlarge, g5g.2xlarge, g5g.4xlarge, g5g.8xlarge, g5g.16xlarge, g5g.metal, hi1.4xlarge, hpc6a.48xlarge, hs1.8xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, i3.metal, i3en.large, i3en.xlarge, i3en.2xlarge, i3en.3xlarge, i3en.6xlarge, i3en.12xlarge, i3en.24xlarge, i3en.metal, im4gn.large, im4gn.xlarge, im4gn.2xlarge, im4gn.4xlarge, im4gn.8xlarge, im4gn.16xlarge, inf1.xlarge, inf1.2xlarge, inf1.6xlarge, inf1.24xlarge, is4gen.medium, is4gen.large, is4gen.xlarge, is4gen.2xlarge, is4gen.4xlarge, is4gen.8xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.8xlarge, m5a.12xlarge, m5a.16xlarge, m5a.24xlarge, m5ad.large, m5ad.xlarge, m5ad.2xlarge, m5ad.4xlarge, m5ad.8xlarge, m5ad.12xlarge, m5ad.16xlarge, m5ad.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.8xlarge, m5d.12xlarge, m5d.16xlarge, m5d.24xlarge, m5d.metal, m5dn.large, m5dn.xlarge, m5dn.2xlarge, m5dn.4xlarge, m5dn.8xlarge, m5dn.12xlarge, m5dn.16xlarge, m5dn.24xlarge, m5dn.metal, m5n.large, m5n.xlarge, m5n.2xlarge, m5n.4xlarge, m5n.8xlarge, m5n.12xlarge, m5n.16xlarge, m5n.24xlarge, m5n.metal, m5zn.large, m5zn.xlarge, m5zn.2xlarge, m5zn.3xlarge, m5zn.6xlarge, m5zn.12xlarge, m5zn.metal, m6a.large, m6a.xlarge, m6a.2xlarge, m6a.4xlarge, m6a.8xlarge, m6a.12xlarge, m6a.16xlarge, m6a.24xlarge, m6a.32xlarge, m6a.48xlarge, m6g.metal, m6g.medium, m6g.large, m6g.xlarge, m6g.2xlarge, m6g.4xlarge, m6g.8xlarge, m6g.12xlarge, m6g.16xlarge, m6gd.metal, m6gd.medium, m6gd.large, m6gd.xlarge, m6gd.2xlarge, m6gd.4xlarge, m6gd.8xlarge, m6gd.12xlarge, m6gd.16xlarge, m6i.large, m6i.xlarge, m6i.2xlarge, m6i.4xlarge, m6i.8xlarge, m6i.12xlarge, m6i.16xlarge, m6i.24xlarge, m6i.32xlarge, m6i.metal, mac1.metal, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, p3dn.24xlarge, p4d.24xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.8xlarge, r5a.12xlarge, r5a.16xlarge, r5a.24xlarge, r5ad.large, r5ad.xlarge, r5ad.2xlarge, r5ad.4xlarge, r5ad.8xlarge, r5ad.12xlarge, r5ad.16xlarge, r5ad.24xlarge, r5b.large, r5b.xlarge, r5b.2xlarge, r5b.4xlarge, r5b.8xlarge, r5b.12xlarge, r5b.16xlarge, r5b.24xlarge, r5b.metal, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, r5d.24xlarge, r5d.metal, r5dn.large, r5dn.xlarge, r5dn.2xlarge, r5dn.4xlarge, r5dn.8xlarge, r5dn.12xlarge, r5dn.16xlarge, r5dn.24xlarge, r5dn.metal, r5n.large, r5n.xlarge, r5n.2xlarge, r5n.4xlarge, r5n.8xlarge, r5n.12xlarge, r5n.16xlarge, r5n.24xlarge, r5n.metal, r6g.medium, r6g.large, r6g.xlarge, r6g.2xlarge, r6g.4xlarge, r6g.8xlarge, r6g.12xlarge, r6g.16xlarge, r6g.metal, r6gd.medium, r6gd.large, r6gd.xlarge, r6gd.2xlarge, r6gd.4xlarge, r6gd.8xlarge, r6gd.12xlarge, r6gd.16xlarge, r6gd.metal, r6i.large, r6i.xlarge, r6i.2xlarge, r6i.4xlarge, r6i.8xlarge, r6i.12xlarge, r6i.16xlarge, r6i.24xlarge, r6i.32xlarge, r6i.metal, t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge, t3a.nano, t3a.micro, t3a.small, t3a.medium, t3a.large, t3a.xlarge, t3a.2xlarge, t4g.nano, t4g.micro, t4g.small, t4g.medium, t4g.large, t4g.xlarge, t4g.2xlarge, u-6tb1.56xlarge, u-6tb1.112xlarge, u-9tb1.112xlarge, u-12tb1.112xlarge, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, u-18tb1.metal, u-24tb1.metal, vt1.3xlarge, vt1.6xlarge, vt1.24xlarge, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, x2iezn.2xlarge, x2iezn.4xlarge, x2iezn.6xlarge, x2iezn.8xlarge, x2iezn.12xlarge, x2iezn.metal, x2gd.medium, x2gd.large, x2gd.xlarge, x2gd.2xlarge, x2gd.4xlarge, x2gd.8xlarge, x2gd.12xlarge, x2gd.16xlarge, x2gd.metal, z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge, z1d.metal, x2idn.16xlarge, x2idn.24xlarge, x2idn.32xlarge, x2iedn.xlarge, x2iedn.2xlarge, x2iedn.4xlarge, x2iedn.8xlarge, x2iedn.16xlarge, x2iedn.24xlarge, x2iedn.32xlarge, c6a.large, c6a.xlarge, c6a.2xlarge, c6a.4xlarge, c6a.8xlarge, c6a.12xlarge, c6a.16xlarge, c6a.24xlarge, c6a.32xlarge, c6a.48xlarge, c6a.metal, m6a.metal, i4i.large, i4i.xlarge, i4i.2xlarge, i4i.4xlarge, i4i.8xlarge, i4i.16xlarge, i4i.32xlarge, i4i.metal, x2idn.metal, x2iedn.metal, c7g.medium, c7g.large, c7g.xlarge, c7g.2xlarge, c7g.4xlarge, c7g.8xlarge, c7g.12xlarge, c7g.16xlarge, mac2.metal, c6id.large, c6id.xlarge, c6id.2xlarge, c6id.4xlarge, c6id.8xlarge, c6id.12xlarge, c6id.16xlarge, c6id.24xlarge, c6id.32xlarge, c6id.metal, m6id.large, m6id.xlarge, m6id.2xlarge, m6id.4xlarge, m6id.8xlarge, m6id.12xlarge, m6id.16xlarge, m6id.24xlarge, m6id.32xlarge, m6id.metal, r6id.large, r6id.xlarge, r6id.2xlarge, r6id.4xlarge, r6id.8xlarge, r6id.12xlarge, r6id.16xlarge, r6id.24xlarge, r6id.32xlarge, r6id.metal, r6a.large, r6a.xlarge, r6a.2xlarge, r6a.4xlarge, r6a.8xlarge, r6a.12xlarge, r6a.16xlarge, r6a.24xlarge, r6a.32xlarge, r6a.48xlarge, r6a.metal, p4de.24xlarge, u-3tb1.56xlarge, u-18tb1.112xlarge, u-24tb1.112xlarge, trn1.2xlarge, trn1.32xlarge, hpc6id.32xlarge, c6in.large, c6in.xlarge, c6in.2xlarge, c6in.4xlarge, c6in.8xlarge, c6in.12xlarge, c6in.16xlarge, c6in.24xlarge, c6in.32xlarge, m6in.large, m6in.xlarge, m6in.2xlarge, m6in.4xlarge, m6in.8xlarge, m6in.12xlarge, m6in.16xlarge, m6in.24xlarge, m6in.32xlarge, m6idn.large, m6idn.xlarge, m6idn.2xlarge, m6idn.4xlarge, m6idn.8xlarge, m6idn.12xlarge, m6idn.16xlarge, m6idn.24xlarge, m6idn.32xlarge, r6in.large, r6in.xlarge, r6in.2xlarge, r6in.4xlarge, r6in.8xlarge, r6in.12xlarge, r6in.16xlarge, r6in.24xlarge, r6in.32xlarge, r6idn.large, r6idn.xlarge, r6idn.2xlarge, r6idn.4xlarge, r6idn.8xlarge, r6idn.12xlarge, r6idn.16xlarge, r6idn.24xlarge, r6idn.32xlarge, c7g.metal, m7g.medium, m7g.large, m7g.xlarge, m7g.2xlarge, m7g.4xlarge, m7g.8xlarge, m7g.12xlarge, m7g.16xlarge, m7g.metal, r7g.medium, r7g.large, r7g.xlarge, r7g.2xlarge, r7g.4xlarge, r7g.8xlarge, r7g.12xlarge, r7g.16xlarge, r7g.metal, c6in.metal, m6in.metal, m6idn.metal, r6in.metal, r6idn.metal, inf2.xlarge, inf2.8xlarge, inf2.24xlarge, inf2.48xlarge, trn1n.32xlarge, i4g.large, i4g.xlarge, i4g.2xlarge, i4g.4xlarge, i4g.8xlarge, i4g.16xlarge, hpc7g.4xlarge, hpc7g.8xlarge, hpc7g.16xlarge, c7gn.medium, c7gn.large, c7gn.xlarge, c7gn.2xlarge, c7gn.4xlarge, c7gn.8xlarge, c7gn.12xlarge, c7gn.16xlarge, p5.48xlarge, m7i.large, m7i.xlarge, m7i.2xlarge, m7i.4xlarge, m7i.8xlarge, m7i.12xlarge, m7i.16xlarge, m7i.24xlarge, m7i.48xlarge, m7i-flex.large, m7i-flex.xlarge, m7i-flex.2xlarge, m7i-flex.4xlarge, m7i-flex.8xlarge, m7a.medium, m7a.large, m7a.xlarge, m7a.2xlarge, m7a.4xlarge, m7a.8xlarge, m7a.12xlarge, m7a.16xlarge, m7a.24xlarge, m7a.32xlarge, m7a.48xlarge, m7a.metal-48xl, hpc7a.12xlarge, hpc7a.24xlarge, hpc7a.48xlarge, hpc7a.96xlarge, c7gd.medium, c7gd.large, c7gd.xlarge, c7gd.2xlarge, c7gd.4xlarge, c7gd.8xlarge, c7gd.12xlarge, c7gd.16xlarge, m7gd.medium, m7gd.large, m7gd.xlarge, m7gd.2xlarge, m7gd.4xlarge, m7gd.8xlarge, m7gd.12xlarge, m7gd.16xlarge, r7gd.medium, r7gd.large, r7gd.xlarge, r7gd.2xlarge, r7gd.4xlarge, r7gd.8xlarge, r7gd.12xlarge, r7gd.16xlarge, r7a.medium, r7a.large, r7a.xlarge, r7a.2xlarge, r7a.4xlarge, r7a.8xlarge, r7a.12xlarge, r7a.16xlarge, r7a.24xlarge, r7a.32xlarge, r7a.48xlarge, c7i.large, c7i.xlarge, c7i.2xlarge, c7i.4xlarge, c7i.8xlarge, c7i.12xlarge, c7i.16xlarge, c7i.24xlarge, c7i.48xlarge, mac2-m2pro.metal, r7iz.large, r7iz.xlarge, r7iz.2xlarge, r7iz.4xlarge, r7iz.8xlarge, r7iz.12xlarge, r7iz.16xlarge, r7iz.32xlarge, c7a.medium, c7a.large, c7a.xlarge, c7a.2xlarge, c7a.4xlarge, c7a.8xlarge, c7a.12xlarge, c7a.16xlarge, c7a.24xlarge, c7a.32xlarge, c7a.48xlarge, c7a.metal-48xl, r7a.metal-48xl, r7i.large, r7i.xlarge, r7i.2xlarge, r7i.4xlarge, r7i.8xlarge, r7i.12xlarge, r7i.16xlarge, r7i.24xlarge, r7i.48xlarge, dl2q.24xlarge, mac2-m2.metal, i4i.12xlarge, i4i.24xlarge, c7i.metal-24xl, c7i.metal-48xl, m7i.metal-24xl, m7i.metal-48xl, r7i.metal-24xl, r7i.metal-48xl, r7iz.metal-16xl, r7iz.metal-32xl, c7gd.metal, m7gd.metal, r7gd.metal, g6.xlarge, g6.2xlarge, g6.4xlarge, g6.8xlarge, g6.12xlarge, g6.16xlarge, g6.24xlarge, g6.48xlarge, gr6.4xlarge, gr6.8xlarge, c7i-flex.large, c7i-flex.xlarge, c7i-flex.2xlarge, c7i-flex.4xlarge, c7i-flex.8xlarge, u7i-12tb.224xlarge, u7in-16tb.224xlarge, u7in-24tb.224xlarge, u7in-32tb.224xlarge, u7ib-12tb.224xlarge, c7gn.metal, r8g.medium, r8g.large, r8g.xlarge, r8g.2xlarge, r8g.4xlarge, r8g.8xlarge, r8g.12xlarge, r8g.16xlarge, r8g.24xlarge, r8g.48xlarge, r8g.metal-24xl, r8g.metal-48xl, mac2-m1ultra.metal, g6e.xlarge, g6e.2xlarge, g6e.4xlarge, g6e.8xlarge, g6e.12xlarge, g6e.16xlarge, g6e.24xlarge, g6e.48xlarge, c8g.medium, c8g.large, c8g.xlarge, c8g.2xlarge, c8g.4xlarge, c8g.8xlarge, c8g.12xlarge, c8g.16xlarge, c8g.24xlarge, c8g.48xlarge, c8g.metal-24xl, c8g.metal-48xl, m8g.medium, m8g.large, m8g.xlarge, m8g.2xlarge, m8g.4xlarge, m8g.8xlarge, m8g.12xlarge, m8g.16xlarge, m8g.24xlarge, m8g.48xlarge, m8g.metal-24xl, m8g.metal-48xl, x8g.medium, x8g.large, x8g.xlarge, x8g.2xlarge, x8g.4xlarge, x8g.8xlarge, x8g.12xlarge, x8g.16xlarge, x8g.24xlarge, x8g.48xlarge, x8g.metal-24xl, x8g.metal-48xl, i7ie.large, i7ie.xlarge, i7ie.2xlarge, i7ie.3xlarge, i7ie.6xlarge, i7ie.12xlarge, i7ie.18xlarge, i7ie.24xlarge, i7ie.48xlarge, i8g.large, i8g.xlarge, i8g.2xlarge, i8g.4xlarge, i8g.8xlarge, i8g.12xlarge, i8g.16xlarge, i8g.24xlarge, i8g.metal-24xl, u7i-6tb.112xlarge, u7i-8tb.112xlarge, u7inh-32tb.480xlarge, p5e.48xlarge, p5en.48xlarge, f2.12xlarge, f2.48xlarge, trn2.48xlarge
      instance_platform: "Linux/UNIX", # accepts Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard, Windows with SQL Server Web, Linux with SQL Server Standard, Linux with SQL Server Web, Linux with SQL Server Enterprise, RHEL with SQL Server Standard, RHEL with SQL Server Enterprise, RHEL with SQL Server Web, RHEL with HA, RHEL with HA and SQL Server Standard, RHEL with HA and SQL Server Enterprise, Ubuntu Pro
      weight: 1.0,
      availability_zone: "String",
      availability_zone_id: "String",
      ebs_optimized: false,
      priority: 1,
    },
  ],
  tenancy: "default", # accepts default
  total_target_capacity: 1, # required
  end_date: Time.now,
  instance_match_criteria: "open", # accepts open
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.capacity_reservation_fleet_id #=> String
resp.state #=> String, one of "submitted", "modifying", "active", "partially_fulfilled", "expiring", "expired", "cancelling", "cancelled", "failed"
resp.total_target_capacity #=> Integer
resp.total_fulfilled_capacity #=> Float
resp.instance_match_criteria #=> String, one of "open"
resp.allocation_strategy #=> String
resp.create_time #=> Time
resp.end_date #=> Time
resp.tenancy #=> String, one of "default"
resp.fleet_capacity_reservations #=> Array
resp.fleet_capacity_reservations[0].capacity_reservation_id #=> String
resp.fleet_capacity_reservations[0].availability_zone_id #=> String
resp.fleet_capacity_reservations[0].instance_type #=> String, one of "a1.medium", "a1.large", "a1.xlarge", "a1.2xlarge", "a1.4xlarge", "a1.metal", "c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.12xlarge", "c5.18xlarge", "c5.24xlarge", "c5.metal", "c5a.large", "c5a.xlarge", "c5a.2xlarge", "c5a.4xlarge", "c5a.8xlarge", "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", "c5ad.large", "c5ad.xlarge", "c5ad.2xlarge", "c5ad.4xlarge", "c5ad.8xlarge", "c5ad.12xlarge", "c5ad.16xlarge", "c5ad.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", "c5d.4xlarge", "c5d.9xlarge", "c5d.12xlarge", "c5d.18xlarge", "c5d.24xlarge", "c5d.metal", "c5n.large", "c5n.xlarge", "c5n.2xlarge", "c5n.4xlarge", "c5n.9xlarge", "c5n.18xlarge", "c5n.metal", "c6g.medium", "c6g.large", "c6g.xlarge", "c6g.2xlarge", "c6g.4xlarge", "c6g.8xlarge", "c6g.12xlarge", "c6g.16xlarge", "c6g.metal", "c6gd.medium", "c6gd.large", "c6gd.xlarge", "c6gd.2xlarge", "c6gd.4xlarge", "c6gd.8xlarge", "c6gd.12xlarge", "c6gd.16xlarge", "c6gd.metal", "c6gn.medium", "c6gn.large", "c6gn.xlarge", "c6gn.2xlarge", "c6gn.4xlarge", "c6gn.8xlarge", "c6gn.12xlarge", "c6gn.16xlarge", "c6i.large", "c6i.xlarge", "c6i.2xlarge", "c6i.4xlarge", "c6i.8xlarge", "c6i.12xlarge", "c6i.16xlarge", "c6i.24xlarge", "c6i.32xlarge", "c6i.metal", "cc1.4xlarge", "cc2.8xlarge", "cg1.4xlarge", "cr1.8xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "d3.xlarge", "d3.2xlarge", "d3.4xlarge", "d3.8xlarge", "d3en.xlarge", "d3en.2xlarge", "d3en.4xlarge", "d3en.6xlarge", "d3en.8xlarge", "d3en.12xlarge", "dl1.24xlarge", "f1.2xlarge", "f1.4xlarge", "f1.16xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "g3s.xlarge", "g4ad.xlarge", "g4ad.2xlarge", "g4ad.4xlarge", "g4ad.8xlarge", "g4ad.16xlarge", "g4dn.xlarge", "g4dn.2xlarge", "g4dn.4xlarge", "g4dn.8xlarge", "g4dn.12xlarge", "g4dn.16xlarge", "g4dn.metal", "g5.xlarge", "g5.2xlarge", "g5.4xlarge", "g5.8xlarge", "g5.12xlarge", "g5.16xlarge", "g5.24xlarge", "g5.48xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", "g5g.8xlarge", "g5g.16xlarge", "g5g.metal", "hi1.4xlarge", "hpc6a.48xlarge", "hs1.8xlarge", "h1.2xlarge", "h1.4xlarge", "h1.8xlarge", "h1.16xlarge", "i2.xlarge", "i2.2xlarge", "i2.4xlarge", "i2.8xlarge", "i3.large", "i3.xlarge", "i3.2xlarge", "i3.4xlarge", "i3.8xlarge", "i3.16xlarge", "i3.metal", "i3en.large", "i3en.xlarge", "i3en.2xlarge", "i3en.3xlarge", "i3en.6xlarge", "i3en.12xlarge", "i3en.24xlarge", "i3en.metal", "im4gn.large", "im4gn.xlarge", "im4gn.2xlarge", "im4gn.4xlarge", "im4gn.8xlarge", "im4gn.16xlarge", "inf1.xlarge", "inf1.2xlarge", "inf1.6xlarge", "inf1.24xlarge", "is4gen.medium", "is4gen.large", "is4gen.xlarge", "is4gen.2xlarge", "is4gen.4xlarge", "is4gen.8xlarge", "m1.small", "m1.medium", "m1.large", "m1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "m4.16xlarge", "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge", "m5.16xlarge", "m5.24xlarge", "m5.metal", "m5a.large", "m5a.xlarge", "m5a.2xlarge", "m5a.4xlarge", "m5a.8xlarge", "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", "m5ad.large", "m5ad.xlarge", "m5ad.2xlarge", "m5ad.4xlarge", "m5ad.8xlarge", "m5ad.12xlarge", "m5ad.16xlarge", "m5ad.24xlarge", "m5d.large", "m5d.xlarge", "m5d.2xlarge", "m5d.4xlarge", "m5d.8xlarge", "m5d.12xlarge", "m5d.16xlarge", "m5d.24xlarge", "m5d.metal", "m5dn.large", "m5dn.xlarge", "m5dn.2xlarge", "m5dn.4xlarge", "m5dn.8xlarge", "m5dn.12xlarge", "m5dn.16xlarge", "m5dn.24xlarge", "m5dn.metal", "m5n.large", "m5n.xlarge", "m5n.2xlarge", "m5n.4xlarge", "m5n.8xlarge", "m5n.12xlarge", "m5n.16xlarge", "m5n.24xlarge", "m5n.metal", "m5zn.large", "m5zn.xlarge", "m5zn.2xlarge", "m5zn.3xlarge", "m5zn.6xlarge", "m5zn.12xlarge", "m5zn.metal", "m6a.large", "m6a.xlarge", "m6a.2xlarge", "m6a.4xlarge", "m6a.8xlarge", "m6a.12xlarge", "m6a.16xlarge", "m6a.24xlarge", "m6a.32xlarge", "m6a.48xlarge", "m6g.metal", "m6g.medium", "m6g.large", "m6g.xlarge", "m6g.2xlarge", "m6g.4xlarge", "m6g.8xlarge", "m6g.12xlarge", "m6g.16xlarge", "m6gd.metal", "m6gd.medium", "m6gd.large", "m6gd.xlarge", "m6gd.2xlarge", "m6gd.4xlarge", "m6gd.8xlarge", "m6gd.12xlarge", "m6gd.16xlarge", "m6i.large", "m6i.xlarge", "m6i.2xlarge", "m6i.4xlarge", "m6i.8xlarge", "m6i.12xlarge", "m6i.16xlarge", "m6i.24xlarge", "m6i.32xlarge", "m6i.metal", "mac1.metal", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "p3dn.24xlarge", "p4d.24xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", "r4.4xlarge", "r4.8xlarge", "r4.16xlarge", "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge", "r5.16xlarge", "r5.24xlarge", "r5.metal", "r5a.large", "r5a.xlarge", "r5a.2xlarge", "r5a.4xlarge", "r5a.8xlarge", "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", "r5ad.large", "r5ad.xlarge", "r5ad.2xlarge", "r5ad.4xlarge", "r5ad.8xlarge", "r5ad.12xlarge", "r5ad.16xlarge", "r5ad.24xlarge", "r5b.large", "r5b.xlarge", "r5b.2xlarge", "r5b.4xlarge", "r5b.8xlarge", "r5b.12xlarge", "r5b.16xlarge", "r5b.24xlarge", "r5b.metal", "r5d.large", "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", "r5d.8xlarge", "r5d.12xlarge", "r5d.16xlarge", "r5d.24xlarge", "r5d.metal", "r5dn.large", "r5dn.xlarge", "r5dn.2xlarge", "r5dn.4xlarge", "r5dn.8xlarge", "r5dn.12xlarge", "r5dn.16xlarge", "r5dn.24xlarge", "r5dn.metal", "r5n.large", "r5n.xlarge", "r5n.2xlarge", "r5n.4xlarge", "r5n.8xlarge", "r5n.12xlarge", "r5n.16xlarge", "r5n.24xlarge", "r5n.metal", "r6g.medium", "r6g.large", "r6g.xlarge", "r6g.2xlarge", "r6g.4xlarge", "r6g.8xlarge", "r6g.12xlarge", "r6g.16xlarge", "r6g.metal", "r6gd.medium", "r6gd.large", "r6gd.xlarge", "r6gd.2xlarge", "r6gd.4xlarge", "r6gd.8xlarge", "r6gd.12xlarge", "r6gd.16xlarge", "r6gd.metal", "r6i.large", "r6i.xlarge", "r6i.2xlarge", "r6i.4xlarge", "r6i.8xlarge", "r6i.12xlarge", "r6i.16xlarge", "r6i.24xlarge", "r6i.32xlarge", "r6i.metal", "t1.micro", "t2.nano", "t2.micro", "t2.small", "t2.medium", "t2.large", "t2.xlarge", "t2.2xlarge", "t3.nano", "t3.micro", "t3.small", "t3.medium", "t3.large", "t3.xlarge", "t3.2xlarge", "t3a.nano", "t3a.micro", "t3a.small", "t3a.medium", "t3a.large", "t3a.xlarge", "t3a.2xlarge", "t4g.nano", "t4g.micro", "t4g.small", "t4g.medium", "t4g.large", "t4g.xlarge", "t4g.2xlarge", "u-6tb1.56xlarge", "u-6tb1.112xlarge", "u-9tb1.112xlarge", "u-12tb1.112xlarge", "u-6tb1.metal", "u-9tb1.metal", "u-12tb1.metal", "u-18tb1.metal", "u-24tb1.metal", "vt1.3xlarge", "vt1.6xlarge", "vt1.24xlarge", "x1.16xlarge", "x1.32xlarge", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.32xlarge", "x2iezn.2xlarge", "x2iezn.4xlarge", "x2iezn.6xlarge", "x2iezn.8xlarge", "x2iezn.12xlarge", "x2iezn.metal", "x2gd.medium", "x2gd.large", "x2gd.xlarge", "x2gd.2xlarge", "x2gd.4xlarge", "x2gd.8xlarge", "x2gd.12xlarge", "x2gd.16xlarge", "x2gd.metal", "z1d.large", "z1d.xlarge", "z1d.2xlarge", "z1d.3xlarge", "z1d.6xlarge", "z1d.12xlarge", "z1d.metal", "x2idn.16xlarge", "x2idn.24xlarge", "x2idn.32xlarge", "x2iedn.xlarge", "x2iedn.2xlarge", "x2iedn.4xlarge", "x2iedn.8xlarge", "x2iedn.16xlarge", "x2iedn.24xlarge", "x2iedn.32xlarge", "c6a.large", "c6a.xlarge", "c6a.2xlarge", "c6a.4xlarge", "c6a.8xlarge", "c6a.12xlarge", "c6a.16xlarge", "c6a.24xlarge", "c6a.32xlarge", "c6a.48xlarge", "c6a.metal", "m6a.metal", "i4i.large", "i4i.xlarge", "i4i.2xlarge", "i4i.4xlarge", "i4i.8xlarge", "i4i.16xlarge", "i4i.32xlarge", "i4i.metal", "x2idn.metal", "x2iedn.metal", "c7g.medium", "c7g.large", "c7g.xlarge", "c7g.2xlarge", "c7g.4xlarge", "c7g.8xlarge", "c7g.12xlarge", "c7g.16xlarge", "mac2.metal", "c6id.large", "c6id.xlarge", "c6id.2xlarge", "c6id.4xlarge", "c6id.8xlarge", "c6id.12xlarge", "c6id.16xlarge", "c6id.24xlarge", "c6id.32xlarge", "c6id.metal", "m6id.large", "m6id.xlarge", "m6id.2xlarge", "m6id.4xlarge", "m6id.8xlarge", "m6id.12xlarge", "m6id.16xlarge", "m6id.24xlarge", "m6id.32xlarge", "m6id.metal", "r6id.large", "r6id.xlarge", "r6id.2xlarge", "r6id.4xlarge", "r6id.8xlarge", "r6id.12xlarge", "r6id.16xlarge", "r6id.24xlarge", "r6id.32xlarge", "r6id.metal", "r6a.large", "r6a.xlarge", "r6a.2xlarge", "r6a.4xlarge", "r6a.8xlarge", "r6a.12xlarge", "r6a.16xlarge", "r6a.24xlarge", "r6a.32xlarge", "r6a.48xlarge", "r6a.metal", "p4de.24xlarge", "u-3tb1.56xlarge", "u-18tb1.112xlarge", "u-24tb1.112xlarge", "trn1.2xlarge", "trn1.32xlarge", "hpc6id.32xlarge", "c6in.large", "c6in.xlarge", "c6in.2xlarge", "c6in.4xlarge", "c6in.8xlarge", "c6in.12xlarge", "c6in.16xlarge", "c6in.24xlarge", "c6in.32xlarge", "m6in.large", "m6in.xlarge", "m6in.2xlarge", "m6in.4xlarge", "m6in.8xlarge", "m6in.12xlarge", "m6in.16xlarge", "m6in.24xlarge", "m6in.32xlarge", "m6idn.large", "m6idn.xlarge", "m6idn.2xlarge", "m6idn.4xlarge", "m6idn.8xlarge", "m6idn.12xlarge", "m6idn.16xlarge", "m6idn.24xlarge", "m6idn.32xlarge", "r6in.large", "r6in.xlarge", "r6in.2xlarge", "r6in.4xlarge", "r6in.8xlarge", "r6in.12xlarge", "r6in.16xlarge", "r6in.24xlarge", "r6in.32xlarge", "r6idn.large", "r6idn.xlarge", "r6idn.2xlarge", "r6idn.4xlarge", "r6idn.8xlarge", "r6idn.12xlarge", "r6idn.16xlarge", "r6idn.24xlarge", "r6idn.32xlarge", "c7g.metal", "m7g.medium", "m7g.large", "m7g.xlarge", "m7g.2xlarge", "m7g.4xlarge", "m7g.8xlarge", "m7g.12xlarge", "m7g.16xlarge", "m7g.metal", "r7g.medium", "r7g.large", "r7g.xlarge", "r7g.2xlarge", "r7g.4xlarge", "r7g.8xlarge", "r7g.12xlarge", "r7g.16xlarge", "r7g.metal", "c6in.metal", "m6in.metal", "m6idn.metal", "r6in.metal", "r6idn.metal", "inf2.xlarge", "inf2.8xlarge", "inf2.24xlarge", "inf2.48xlarge", "trn1n.32xlarge", "i4g.large", "i4g.xlarge", "i4g.2xlarge", "i4g.4xlarge", "i4g.8xlarge", "i4g.16xlarge", "hpc7g.4xlarge", "hpc7g.8xlarge", "hpc7g.16xlarge", "c7gn.medium", "c7gn.large", "c7gn.xlarge", "c7gn.2xlarge", "c7gn.4xlarge", "c7gn.8xlarge", "c7gn.12xlarge", "c7gn.16xlarge", "p5.48xlarge", "m7i.large", "m7i.xlarge", "m7i.2xlarge", "m7i.4xlarge", "m7i.8xlarge", "m7i.12xlarge", "m7i.16xlarge", "m7i.24xlarge", "m7i.48xlarge", "m7i-flex.large", "m7i-flex.xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", "m7a.medium", "m7a.large", "m7a.xlarge", "m7a.2xlarge", "m7a.4xlarge", "m7a.8xlarge", "m7a.12xlarge", "m7a.16xlarge", "m7a.24xlarge", "m7a.32xlarge", "m7a.48xlarge", "m7a.metal-48xl", "hpc7a.12xlarge", "hpc7a.24xlarge", "hpc7a.48xlarge", "hpc7a.96xlarge", "c7gd.medium", "c7gd.large", "c7gd.xlarge", "c7gd.2xlarge", "c7gd.4xlarge", "c7gd.8xlarge", "c7gd.12xlarge", "c7gd.16xlarge", "m7gd.medium", "m7gd.large", "m7gd.xlarge", "m7gd.2xlarge", "m7gd.4xlarge", "m7gd.8xlarge", "m7gd.12xlarge", "m7gd.16xlarge", "r7gd.medium", "r7gd.large", "r7gd.xlarge", "r7gd.2xlarge", "r7gd.4xlarge", "r7gd.8xlarge", "r7gd.12xlarge", "r7gd.16xlarge", "r7a.medium", "r7a.large", "r7a.xlarge", "r7a.2xlarge", "r7a.4xlarge", "r7a.8xlarge", "r7a.12xlarge", "r7a.16xlarge", "r7a.24xlarge", "r7a.32xlarge", "r7a.48xlarge", "c7i.large", "c7i.xlarge", "c7i.2xlarge", "c7i.4xlarge", "c7i.8xlarge", "c7i.12xlarge", "c7i.16xlarge", "c7i.24xlarge", "c7i.48xlarge", "mac2-m2pro.metal", "r7iz.large", "r7iz.xlarge", "r7iz.2xlarge", "r7iz.4xlarge", "r7iz.8xlarge", "r7iz.12xlarge", "r7iz.16xlarge", "r7iz.32xlarge", "c7a.medium", "c7a.large", "c7a.xlarge", "c7a.2xlarge", "c7a.4xlarge", "c7a.8xlarge", "c7a.12xlarge", "c7a.16xlarge", "c7a.24xlarge", "c7a.32xlarge", "c7a.48xlarge", "c7a.metal-48xl", "r7a.metal-48xl", "r7i.large", "r7i.xlarge", "r7i.2xlarge", "r7i.4xlarge", "r7i.8xlarge", "r7i.12xlarge", "r7i.16xlarge", "r7i.24xlarge", "r7i.48xlarge", "dl2q.24xlarge", "mac2-m2.metal", "i4i.12xlarge", "i4i.24xlarge", "c7i.metal-24xl", "c7i.metal-48xl", "m7i.metal-24xl", "m7i.metal-48xl", "r7i.metal-24xl", "r7i.metal-48xl", "r7iz.metal-16xl", "r7iz.metal-32xl", "c7gd.metal", "m7gd.metal", "r7gd.metal", "g6.xlarge", "g6.2xlarge", "g6.4xlarge", "g6.8xlarge", "g6.12xlarge", "g6.16xlarge", "g6.24xlarge", "g6.48xlarge", "gr6.4xlarge", "gr6.8xlarge", "c7i-flex.large", "c7i-flex.xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", "u7i-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", "u7ib-12tb.224xlarge", "c7gn.metal", "r8g.medium", "r8g.large", "r8g.xlarge", "r8g.2xlarge", "r8g.4xlarge", "r8g.8xlarge", "r8g.12xlarge", "r8g.16xlarge", "r8g.24xlarge", "r8g.48xlarge", "r8g.metal-24xl", "r8g.metal-48xl", "mac2-m1ultra.metal", "g6e.xlarge", "g6e.2xlarge", "g6e.4xlarge", "g6e.8xlarge", "g6e.12xlarge", "g6e.16xlarge", "g6e.24xlarge", "g6e.48xlarge", "c8g.medium", "c8g.large", "c8g.xlarge", "c8g.2xlarge", "c8g.4xlarge", "c8g.8xlarge", "c8g.12xlarge", "c8g.16xlarge", "c8g.24xlarge", "c8g.48xlarge", "c8g.metal-24xl", "c8g.metal-48xl", "m8g.medium", "m8g.large", "m8g.xlarge", "m8g.2xlarge", "m8g.4xlarge", "m8g.8xlarge", "m8g.12xlarge", "m8g.16xlarge", "m8g.24xlarge", "m8g.48xlarge", "m8g.metal-24xl", "m8g.metal-48xl", "x8g.medium", "x8g.large", "x8g.xlarge", "x8g.2xlarge", "x8g.4xlarge", "x8g.8xlarge", "x8g.12xlarge", "x8g.16xlarge", "x8g.24xlarge", "x8g.48xlarge", "x8g.metal-24xl", "x8g.metal-48xl", "i7ie.large", "i7ie.xlarge", "i7ie.2xlarge", "i7ie.3xlarge", "i7ie.6xlarge", "i7ie.12xlarge", "i7ie.18xlarge", "i7ie.24xlarge", "i7ie.48xlarge", "i8g.large", "i8g.xlarge", "i8g.2xlarge", "i8g.4xlarge", "i8g.8xlarge", "i8g.12xlarge", "i8g.16xlarge", "i8g.24xlarge", "i8g.metal-24xl", "u7i-6tb.112xlarge", "u7i-8tb.112xlarge", "u7inh-32tb.480xlarge", "p5e.48xlarge", "p5en.48xlarge", "f2.12xlarge", "f2.48xlarge", "trn2.48xlarge"
resp.fleet_capacity_reservations[0].instance_platform #=> String, one of "Linux/UNIX", "Red Hat Enterprise Linux", "SUSE Linux", "Windows", "Windows with SQL Server", "Windows with SQL Server Enterprise", "Windows with SQL Server Standard", "Windows with SQL Server Web", "Linux with SQL Server Standard", "Linux with SQL Server Web", "Linux with SQL Server Enterprise", "RHEL with SQL Server Standard", "RHEL with SQL Server Enterprise", "RHEL with SQL Server Web", "RHEL with HA", "RHEL with HA and SQL Server Standard", "RHEL with HA and SQL Server Enterprise", "Ubuntu Pro"
resp.fleet_capacity_reservations[0].availability_zone #=> String
resp.fleet_capacity_reservations[0].total_instance_count #=> Integer
resp.fleet_capacity_reservations[0].fulfilled_capacity #=> Float
resp.fleet_capacity_reservations[0].ebs_optimized #=> Boolean
resp.fleet_capacity_reservations[0].create_date #=> Time
resp.fleet_capacity_reservations[0].weight #=> Float
resp.fleet_capacity_reservations[0].priority #=> Integer
resp.tags #=> Array
resp.tags[0].key #=> String
resp.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :allocation_strategy (String)

    The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. Currently, only the prioritized allocation strategy is supported. For more information, see Allocation strategy in the Amazon EC2 User Guide.

    Valid values: prioritized

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :instance_type_specifications (required, Array<Types::ReservationFleetInstanceSpecification>)

    Information about the instance types for which to reserve the capacity.

  • :tenancy (String)

    Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of the following tenancy settings:

    • default - The Capacity Reservation Fleet is created on hardware that is shared with other Amazon Web Services accounts.

    • dedicated - The Capacity Reservations are created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

  • :total_target_capacity (required, Integer)

    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.

  • :end_date (Time, DateTime, Date, Integer, String)

    The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation Fleet expires, its state changes to expired and all of the Capacity Reservations in the Fleet expire.

    The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet is guaranteed to expire between 13:30:55 and 14:30:55 on 5/31/2019.

  • :instance_match_criteria (String)

    Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All Capacity Reservations in the Fleet inherit this instance matching criteria.

    Currently, Capacity Reservation Fleets support open instance matching criteria only. This means that instances that have matching attributes (instance type, platform, and Availability Zone) run in the Capacity Reservations automatically. Instances do not need to explicitly target a Capacity Reservation Fleet to use its reserved capacity.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the Capacity Reservation Fleet. The tags are automatically assigned to the Capacity Reservations in the Fleet.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



5833
5834
5835
5836
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 5833

def create_capacity_reservation_fleet(params = {}, options = {})
  req = build_request(:create_capacity_reservation_fleet, params)
  req.send_request(options)
end

#create_carrier_gateway(params = {}) ⇒ Types::CreateCarrierGatewayResult

Creates a carrier gateway. For more information about carrier gateways, see Carrier gateways in the Amazon Web Services Wavelength Developer Guide.

Examples:

Request syntax with placeholder values


resp = client.create_carrier_gateway({
  vpc_id: "VpcId", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
  client_token: "String",
})

Response structure


resp.carrier_gateway.carrier_gateway_id #=> String
resp.carrier_gateway.vpc_id #=> String
resp.carrier_gateway.state #=> String, one of "pending", "available", "deleting", "deleted"
resp.carrier_gateway.owner_id #=> String
resp.carrier_gateway.tags #=> Array
resp.carrier_gateway.tags[0].key #=> String
resp.carrier_gateway.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :vpc_id (required, String)

    The ID of the VPC to associate with the carrier gateway.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to associate with the carrier gateway.

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



5907
5908
5909
5910
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 5907

def create_carrier_gateway(params = {}, options = {})
  req = build_request(:create_carrier_gateway, params)
  req.send_request(options)
end

#create_client_vpn_endpoint(params = {}) ⇒ Types::CreateClientVpnEndpointResult

Creates a Client VPN endpoint. A Client VPN endpoint is the resource you create and configure to enable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions are terminated.

Examples:

Request syntax with placeholder values


resp = client.create_client_vpn_endpoint({
  client_cidr_block: "String", # required
  server_certificate_arn: "String", # required
  authentication_options: [ # required
    {
      type: "certificate-authentication", # accepts certificate-authentication, directory-service-authentication, federated-authentication
      active_directory: {
        directory_id: "String",
      },
      mutual_authentication: {
        client_root_certificate_chain_arn: "String",
      },
      federated_authentication: {
        saml_provider_arn: "String",
        self_service_saml_provider_arn: "String",
      },
    },
  ],
  connection_log_options: { # required
    enabled: false,
    cloudwatch_log_group: "String",
    cloudwatch_log_stream: "String",
  },
  dns_servers: ["String"],
  transport_protocol: "tcp", # accepts tcp, udp
  vpn_port: 1,
  description: "String",
  split_tunnel: false,
  dry_run: false,
  client_token: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  security_group_ids: ["SecurityGroupId"],
  vpc_id: "VpcId",
  self_service_portal: "enabled", # accepts enabled, disabled
  client_connect_options: {
    enabled: false,
    lambda_function_arn: "String",
  },
  session_timeout_hours: 1,
  client_login_banner_options: {
    enabled: false,
    banner_text: "String",
  },
  disconnect_on_session_timeout: false,
})

Response structure


resp.client_vpn_endpoint_id #=> String
resp.status.code #=> String, one of "pending-associate", "available", "deleting", "deleted"
resp.status.message #=> String
resp.dns_name #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_cidr_block (required, String)

    The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.

  • :server_certificate_arn (required, String)

    The ARN of the server certificate. For more information, see the Certificate Manager User Guide.

  • :authentication_options (required, Array<Types::ClientVpnAuthenticationRequest>)

    Information about the authentication method to be used to authenticate clients.

  • :connection_log_options (required, Types::ConnectionLogOptions)

    Information about the client connection logging options.

    If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:

    • Client connection requests

    • Client connection results (successful and unsuccessful)

    • Reasons for unsuccessful client connection requests

    • Client connection termination time

  • :dns_servers (Array<String>)

    Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.

  • :transport_protocol (String)

    The transport protocol to be used by the VPN session.

    Default value: udp

  • :vpn_port (Integer)

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

    Valid Values: 443 | 1194

    Default Value: 443

  • :description (String)

    A brief description of the Client VPN endpoint.

  • :split_tunnel (Boolean)

    Indicates whether split-tunnel is enabled on the Client VPN endpoint.

    By default, split-tunnel on a VPN endpoint is disabled.

    For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the Client VPN Administrator Guide.

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the Client VPN endpoint during creation.

  • :security_group_ids (Array<String>)

    The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.

  • :vpc_id (String)

    The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.

  • :self_service_portal (String)

    Specify whether to enable the self-service portal for the Client VPN endpoint.

    Default Value: enabled

  • :client_connect_options (Types::ClientConnectOptions)

    The options for managing connection authorization for new client connections.

  • :session_timeout_hours (Integer)

    The maximum VPN session duration time in hours.

    Valid values: 8 | 10 | 12 | 24

    Default value: 24

  • :client_login_banner_options (Types::ClientLoginBannerOptions)

    Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients when a VPN session is established.

  • :disconnect_on_session_timeout (Boolean)

    Indicates whether the client VPN session is disconnected after the maximum timeout specified in SessionTimeoutHours is reached. If true, users are prompted to reconnect client VPN. If false, client VPN attempts to reconnect automatically. The default value is false.

Returns:

See Also:



6120
6121
6122
6123
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 6120

def create_client_vpn_endpoint(params = {}, options = {})
  req = build_request(:create_client_vpn_endpoint, params)
  req.send_request(options)
end

#create_client_vpn_route(params = {}) ⇒ Types::CreateClientVpnRouteResult

Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint has a route table that describes the available destination network routes. Each route in the route table specifies the path for traffic to specific resources or networks.

Examples:

Request syntax with placeholder values


resp = client.create_client_vpn_route({
  client_vpn_endpoint_id: "ClientVpnEndpointId", # required
  destination_cidr_block: "String", # required
  target_vpc_subnet_id: "SubnetId", # required
  description: "String",
  client_token: "String",
  dry_run: false,
})

Response structure


resp.status.code #=> String, one of "creating", "active", "failed", "deleting"
resp.status.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_vpn_endpoint_id (required, String)

    The ID of the Client VPN endpoint to which to add the route.

  • :destination_cidr_block (required, String)

    The IPv4 address range, in CIDR notation, of the route destination. For example:

    • To add a route for Internet access, enter 0.0.0.0/0

    • To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range

    • To add a route for an on-premises network, enter the Amazon Web Services Site-to-Site VPN connection's IPv4 CIDR range

    • To add a route for the local network, enter the client CIDR range

  • :target_vpc_subnet_id (required, String)

    The ID of the subnet through which you want to route traffic. The specified subnet must be an existing target network of the Client VPN endpoint.

    Alternatively, if you're adding a route for the local network, specify local.

  • :description (String)

    A brief description of the route.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

Returns:

See Also:



6200
6201
6202
6203
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 6200

def create_client_vpn_route(params = {}, options = {})
  req = build_request(:create_client_vpn_route, params)
  req.send_request(options)
end

#create_coip_cidr(params = {}) ⇒ Types::CreateCoipCidrResult

Creates a range of customer-owned IP addresses.

Examples:

Request syntax with placeholder values


resp = client.create_coip_cidr({
  cidr: "String", # required
  coip_pool_id: "Ipv4PoolCoipId", # required
  dry_run: false,
})

Response structure


resp.coip_cidr.cidr #=> String
resp.coip_cidr.coip_pool_id #=> String
resp.coip_cidr.local_gateway_route_table_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :cidr (required, String)

    A customer-owned IP address range to create.

  • :coip_pool_id (required, String)

    The ID of the address pool.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



6241
6242
6243
6244
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 6241

def create_coip_cidr(params = {}, options = {})
  req = build_request(:create_coip_cidr, params)
  req.send_request(options)
end

#create_coip_pool(params = {}) ⇒ Types::CreateCoipPoolResult

Creates a pool of customer-owned IP (CoIP) addresses.

Examples:

Request syntax with placeholder values


resp = client.create_coip_pool({
  local_gateway_route_table_id: "LocalGatewayRoutetableId", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.coip_pool.pool_id #=> String
resp.coip_pool.pool_cidrs #=> Array
resp.coip_pool.pool_cidrs[0] #=> String
resp.coip_pool.local_gateway_route_table_id #=> String
resp.coip_pool.tags #=> Array
resp.coip_pool.tags[0].key #=> String
resp.coip_pool.tags[0].value #=> String
resp.coip_pool.pool_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :local_gateway_route_table_id (required, String)

    The ID of the local gateway route table.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the CoIP address pool.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



6297
6298
6299
6300
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 6297

def create_coip_pool(params = {}, options = {})
  req = build_request(:create_coip_pool, params)
  req.send_request(options)
end

#create_customer_gateway(params = {}) ⇒ Types::CreateCustomerGatewayResult

Provides information to Amazon Web Services about your customer gateway device. The customer gateway device is the appliance at your end of the VPN connection. You must provide the IP address of the customer gateway device’s external interface. The IP address must be static and can be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN. For more information, see Customer gateway options for your Site-to-Site VPN connection in the Amazon Web Services Site-to-Site VPN User Guide.

To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. An identical request returns information about the existing customer gateway; it doesn't create a new customer gateway.

Examples:

Example: To create a customer gateway


# This example creates a customer gateway with the specified IP address for its outside interface.

resp = client.create_customer_gateway({
  bgp_asn: 65534, 
  public_ip: "12.1.2.3", 
  type: "ipsec.1", 
})

resp.to_h outputs the following:
{
  customer_gateway: {
    bgp_asn: "65534", 
    customer_gateway_id: "cgw-0e11f167", 
    ip_address: "12.1.2.3", 
    state: "available", 
    type: "ipsec.1", 
  }, 
}

Request syntax with placeholder values


resp = client.create_customer_gateway({
  bgp_asn: 1,
  public_ip: "String",
  certificate_arn: "String",
  type: "ipsec.1", # required, accepts ipsec.1
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  device_name: "String",
  ip_address: "String",
  bgp_asn_extended: 1,
  dry_run: false,
})

Response structure


resp.customer_gateway.certificate_arn #=> String
resp.customer_gateway.device_name #=> String
resp.customer_gateway.tags #=> Array
resp.customer_gateway.tags[0].key #=> String
resp.customer_gateway.tags[0].value #=> String
resp.customer_gateway.bgp_asn_extended #=> String
resp.customer_gateway.customer_gateway_id #=> String
resp.customer_gateway.state #=> String
resp.customer_gateway.type #=> String
resp.customer_gateway.ip_address #=> String
resp.customer_gateway.bgp_asn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :bgp_asn (Integer)

    For customer gateway devices that support BGP, specify the device's ASN. You must specify either BgpAsn or BgpAsnExtended when creating the customer gateway. If the ASN is larger than 2,147,483,647, you must use BgpAsnExtended.

    Default: 65000

    Valid values: 1 to 2,147,483,647

  • :public_ip (String)

    This member has been deprecated. The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

  • :certificate_arn (String)

    The Amazon Resource Name (ARN) for the customer gateway certificate.

  • :type (required, String)

    The type of VPN connection that this customer gateway supports (ipsec.1).

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the customer gateway.

  • :device_name (String)

    A name for the customer gateway device.

    Length Constraints: Up to 255 characters.

  • :ip_address (String)

    IPv4 address for the customer gateway device's outside interface. The address must be static. If OutsideIpAddressType in your VPN connection options is set to PrivateIpv4, you can use an RFC6598 or RFC1918 private IPv4 address. If OutsideIpAddressType is set to PublicIpv4, you can use a public IPv4 address.

  • :bgp_asn_extended (Integer)

    For customer gateway devices that support BGP, specify the device's ASN. You must specify either BgpAsn or BgpAsnExtended when creating the customer gateway. If the ASN is larger than 2,147,483,647, you must use BgpAsnExtended.

    Valid values: 2,147,483,648 to 4,294,967,295

  • :dry_run (Boolean)

    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.

Returns:

See Also:



6444
6445
6446
6447
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 6444

def create_customer_gateway(params = {}, options = {})
  req = build_request(:create_customer_gateway, params)
  req.send_request(options)
end

#create_default_subnet(params = {}) ⇒ Types::CreateDefaultSubnetResult

Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC. You can have only one default subnet per Availability Zone. For more information, see Create a default subnet in the Amazon VPC User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_default_subnet({
  availability_zone: "AvailabilityZoneName", # required
  dry_run: false,
  ipv_6_native: false,
})

Response structure


resp.subnet.availability_zone_id #=> String
resp.subnet.enable_lni_at_device_index #=> Integer
resp.subnet.map_customer_owned_ip_on_launch #=> Boolean
resp.subnet.customer_owned_ipv_4_pool #=> String
resp.subnet.owner_id #=> String
resp.subnet.assign_ipv_6_address_on_creation #=> Boolean
resp.subnet.ipv_6_cidr_block_association_set #=> Array
resp.subnet.ipv_6_cidr_block_association_set[0].association_id #=> String
resp.subnet.ipv_6_cidr_block_association_set[0].ipv_6_cidr_block #=> String
resp.subnet.ipv_6_cidr_block_association_set[0].ipv_6_cidr_block_state.state #=> String, one of "associating", "associated", "disassociating", "disassociated", "failing", "failed"
resp.subnet.ipv_6_cidr_block_association_set[0].ipv_6_cidr_block_state.status_message #=> String
resp.subnet.ipv_6_cidr_block_association_set[0].ipv_6_address_attribute #=> String, one of "public", "private"
resp.subnet.ipv_6_cidr_block_association_set[0].ip_source #=> String, one of "amazon", "byoip", "none"
resp.subnet.tags #=> Array
resp.subnet.tags[0].key #=> String
resp.subnet.tags[0].value #=> String
resp.subnet.subnet_arn #=> String
resp.subnet.outpost_arn #=> String
resp.subnet.enable_dns_64 #=> Boolean
resp.subnet.ipv_6_native #=> Boolean
resp.subnet.private_dns_name_options_on_launch.hostname_type #=> String, one of "ip-name", "resource-name"
resp.subnet.private_dns_name_options_on_launch.enable_resource_name_dns_a_record #=> Boolean
resp.subnet.private_dns_name_options_on_launch.enable_resource_name_dns_aaaa_record #=> Boolean
resp.subnet.block_public_access_states.internet_gateway_block_mode #=> String, one of "off", "block-bidirectional", "block-ingress"
resp.subnet.subnet_id #=> String
resp.subnet.state #=> String, one of "pending", "available", "unavailable"
resp.subnet.vpc_id #=> String
resp.subnet.cidr_block #=> String
resp.subnet.available_ip_address_count #=> Integer
resp.subnet.availability_zone #=> String
resp.subnet.default_for_az #=> Boolean
resp.subnet.map_public_ip_on_launch #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :availability_zone (required, String)

    The Availability Zone in which to create the default subnet.

  • :dry_run (Boolean)

    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.

  • :ipv_6_native (Boolean)

    Indicates whether to create an IPv6 only subnet. If you already have a default subnet for this Availability Zone, you must delete it before you can create an IPv6 only subnet.

Returns:

See Also:



6523
6524
6525
6526
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 6523

def create_default_subnet(params = {}, options = {})
  req = build_request(:create_default_subnet, params)
  req.send_request(options)
end

#create_default_vpc(params = {}) ⇒ Types::CreateDefaultVpcResult

Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet in each Availability Zone. For more information about the components of a default VPC, see Default VPCs in the Amazon VPC User Guide. You cannot specify the components of the default VPC yourself.

If you deleted your previous default VPC, you can create a default VPC. You cannot have more than one default VPC per Region.

Examples:

Request syntax with placeholder values


resp = client.create_default_vpc({
  dry_run: false,
})

Response structure


resp.vpc.owner_id #=> String
resp.vpc.instance_tenancy #=> String, one of "default", "dedicated", "host"
resp.vpc.ipv_6_cidr_block_association_set #=> Array
resp.vpc.ipv_6_cidr_block_association_set[0].association_id #=> String
resp.vpc.ipv_6_cidr_block_association_set[0].ipv_6_cidr_block #=> String
resp.vpc.ipv_6_cidr_block_association_set[0].ipv_6_cidr_block_state.state #=> String, one of "associating", "associated", "disassociating", "disassociated", "failing", "failed"
resp.vpc.ipv_6_cidr_block_association_set[0].ipv_6_cidr_block_state.status_message #=> String
resp.vpc.ipv_6_cidr_block_association_set[0].network_border_group #=> String
resp.vpc.ipv_6_cidr_block_association_set[0].ipv_6_pool #=> String
resp.vpc.ipv_6_cidr_block_association_set[0].ipv_6_address_attribute #=> String, one of "public", "private"
resp.vpc.ipv_6_cidr_block_association_set[0].ip_source #=> String, one of "amazon", "byoip", "none"
resp.vpc.cidr_block_association_set #=> Array
resp.vpc.cidr_block_association_set[0].association_id #=> String
resp.vpc.cidr_block_association_set[0].cidr_block #=> String
resp.vpc.cidr_block_association_set[0].cidr_block_state.state #=> String, one of "associating", "associated", "disassociating", "disassociated", "failing", "failed"
resp.vpc.cidr_block_association_set[0].cidr_block_state.status_message #=> String
resp.vpc.is_default #=> Boolean
resp.vpc.encryption_control.vpc_id #=> String
resp.vpc.encryption_control.vpc_encryption_control_id #=> String
resp.vpc.encryption_control.mode #=> String, one of "monitor", "enforce"
resp.vpc.encryption_control.state #=> String, one of "enforce-in-progress", "monitor-in-progress", "enforce-failed", "monitor-failed", "deleting", "deleted", "available"
resp.vpc.encryption_control.state_message #=> String
resp.vpc.encryption_control.resource_exclusions.internet_gateway.state #=> String, one of "enabling", "enabled", "disabling", "disabled"
resp.vpc.encryption_control.resource_exclusions.internet_gateway.state_message #=> String
resp.vpc.encryption_control.resource_exclusions.egress_only_internet_gateway.state #=> String, one of "enabling", "enabled", "disabling", "disabled"
resp.vpc.encryption_control.resource_exclusions.egress_only_internet_gateway.state_message #=> String
resp.vpc.encryption_control.resource_exclusions.nat_gateway.state #=> String, one of "enabling", "enabled", "disabling", "disabled"
resp.vpc.encryption_control.resource_exclusions.nat_gateway.state_message #=> String
resp.vpc.encryption_control.resource_exclusions.virtual_private_gateway.state #=> String, one of "enabling", "enabled", "disabling", "disabled"
resp.vpc.encryption_control.resource_exclusions.virtual_private_gateway.state_message #=> String
resp.vpc.encryption_control.resource_exclusions.vpc_peering.state #=> String, one of "enabling", "enabled", "disabling", "disabled"
resp.vpc.encryption_control.resource_exclusions.vpc_peering.state_message #=> String
resp.vpc.encryption_control.tags #=> Array
resp.vpc.encryption_control.tags[0].key #=> String
resp.vpc.encryption_control.tags[0].value #=> String
resp.vpc.tags #=> Array
resp.vpc.tags[0].key #=> String
resp.vpc.tags[0].value #=> String
resp.vpc.block_public_access_states.internet_gateway_block_mode #=> String, one of "off", "block-bidirectional", "block-ingress"
resp.vpc.vpc_id #=> String
resp.vpc.state #=> String, one of "pending", "available"
resp.vpc.cidr_block #=> String
resp.vpc.dhcp_options_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

Returns:

See Also:



6607
6608
6609
6610
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 6607

def create_default_vpc(params = {}, options = {})
  req = build_request(:create_default_vpc, params)
  req.send_request(options)
end

#create_dhcp_options(params = {}) ⇒ Types::CreateDhcpOptionsResult

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP option sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-address-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

Examples:

Example: To create a DHCP options set


# This example creates a DHCP options set.

resp = client.create_dhcp_options({
  dhcp_configurations: [
    {
      key: "domain-name-servers", 
      values: [
        "10.2.5.1", 
        "10.2.5.2", 
      ], 
    }, 
  ], 
})

resp.to_h outputs the following:
{
  dhcp_options: {
    dhcp_configurations: [
      {
        key: "domain-name-servers", 
        values: [
          {
            value: "10.2.5.2", 
          }, 
          {
            value: "10.2.5.1", 
          }, 
        ], 
      }, 
    ], 
    dhcp_options_id: "dopt-d9070ebb", 
  }, 
}

Request syntax with placeholder values


resp = client.create_dhcp_options({
  dhcp_configurations: [ # required
    {
      key: "String",
      values: ["String"],
    },
  ],
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.dhcp_options.owner_id #=> String
resp.dhcp_options.tags #=> Array
resp.dhcp_options.tags[0].key #=> String
resp.dhcp_options.tags[0].value #=> String
resp.dhcp_options.dhcp_options_id #=> String
resp.dhcp_options.dhcp_configurations #=> Array
resp.dhcp_options.dhcp_configurations[0].key #=> String
resp.dhcp_options.dhcp_configurations[0].values #=> Array
resp.dhcp_options.dhcp_configurations[0].values[0] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dhcp_configurations (required, Array<Types::NewDhcpConfiguration>)

    A DHCP configuration option.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the DHCP option.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



6758
6759
6760
6761
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 6758

def create_dhcp_options(params = {}, options = {})
  req = build_request(:create_dhcp_options, params)
  req.send_request(options)
end

#create_egress_only_internet_gateway(params = {}) ⇒ Types::CreateEgressOnlyInternetGatewayResult

[IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only internet gateway is used to enable outbound communication over IPv6 from instances in your VPC to the internet, and prevents hosts outside of your VPC from initiating an IPv6 connection with your instance.

Examples:

Request syntax with placeholder values


resp = client.create_egress_only_internet_gateway({
  client_token: "String",
  dry_run: false,
  vpc_id: "VpcId", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
})

Response structure


resp.client_token #=> String
resp.egress_only_internet_gateway.attachments #=> Array
resp.egress_only_internet_gateway.attachments[0].state #=> String, one of "attaching", "attached", "detaching", "detached"
resp.egress_only_internet_gateway.attachments[0].vpc_id #=> String
resp.egress_only_internet_gateway.egress_only_internet_gateway_id #=> String
resp.egress_only_internet_gateway.tags #=> Array
resp.egress_only_internet_gateway.tags[0].key #=> String
resp.egress_only_internet_gateway.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

  • :dry_run (Boolean)

    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.

  • :vpc_id (required, String)

    The ID of the VPC for which to create the egress-only internet gateway.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the egress-only internet gateway.

Returns:

See Also:



6830
6831
6832
6833
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 6830

def create_egress_only_internet_gateway(params = {}, options = {})
  req = build_request(:create_egress_only_internet_gateway, params)
  req.send_request(options)
end

#create_fleet(params = {}) ⇒ Types::CreateFleetResult

Creates an EC2 Fleet that contains the configuration information for On-Demand Instances and Spot Instances. Instances are launched immediately if there is available capacity.

A single EC2 Fleet can include multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

For more information, see EC2 Fleet in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_fleet({
  dry_run: false,
  client_token: "String",
  spot_options: {
    allocation_strategy: "lowest-price", # accepts lowest-price, diversified, capacity-optimized, capacity-optimized-prioritized, price-capacity-optimized
    maintenance_strategies: {
      capacity_rebalance: {
        replacement_strategy: "launch", # accepts launch, launch-before-terminate
        termination_delay: 1,
      },
    },
    instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
    instance_pools_to_use_count: 1,
    single_instance_type: false,
    single_availability_zone: false,
    min_target_capacity: 1,
    max_total_price: "String",
  },
  on_demand_options: {
    allocation_strategy: "lowest-price", # accepts lowest-price, prioritized
    capacity_reservation_options: {
      usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
    },
    single_instance_type: false,
    single_availability_zone: false,
    min_target_capacity: 1,
    max_total_price: "String",
  },
  excess_capacity_termination_policy: "no-termination", # accepts no-termination, termination
  launch_template_configs: [ # required
    {
      launch_template_specification: {
        launch_template_id: "LaunchTemplateId",
        launch_template_name: "LaunchTemplateName",
        version: "String",
      },
      overrides: [
        {
          instance_type: "a1.medium", # accepts a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge, a1.metal, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal, c5a.large, c5a.xlarge, c5a.2xlarge, c5a.4xlarge, c5a.8xlarge, c5a.12xlarge, c5a.16xlarge, c5a.24xlarge, c5ad.large, c5ad.xlarge, c5ad.2xlarge, c5ad.4xlarge, c5ad.8xlarge, c5ad.12xlarge, c5ad.16xlarge, c5ad.24xlarge, c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.12xlarge, c5d.18xlarge, c5d.24xlarge, c5d.metal, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge, c5n.metal, c6g.medium, c6g.large, c6g.xlarge, c6g.2xlarge, c6g.4xlarge, c6g.8xlarge, c6g.12xlarge, c6g.16xlarge, c6g.metal, c6gd.medium, c6gd.large, c6gd.xlarge, c6gd.2xlarge, c6gd.4xlarge, c6gd.8xlarge, c6gd.12xlarge, c6gd.16xlarge, c6gd.metal, c6gn.medium, c6gn.large, c6gn.xlarge, c6gn.2xlarge, c6gn.4xlarge, c6gn.8xlarge, c6gn.12xlarge, c6gn.16xlarge, c6i.large, c6i.xlarge, c6i.2xlarge, c6i.4xlarge, c6i.8xlarge, c6i.12xlarge, c6i.16xlarge, c6i.24xlarge, c6i.32xlarge, c6i.metal, cc1.4xlarge, cc2.8xlarge, cg1.4xlarge, cr1.8xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, d3.xlarge, d3.2xlarge, d3.4xlarge, d3.8xlarge, d3en.xlarge, d3en.2xlarge, d3en.4xlarge, d3en.6xlarge, d3en.8xlarge, d3en.12xlarge, dl1.24xlarge, f1.2xlarge, f1.4xlarge, f1.16xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, g3s.xlarge, g4ad.xlarge, g4ad.2xlarge, g4ad.4xlarge, g4ad.8xlarge, g4ad.16xlarge, g4dn.xlarge, g4dn.2xlarge, g4dn.4xlarge, g4dn.8xlarge, g4dn.12xlarge, g4dn.16xlarge, g4dn.metal, g5.xlarge, g5.2xlarge, g5.4xlarge, g5.8xlarge, g5.12xlarge, g5.16xlarge, g5.24xlarge, g5.48xlarge, g5g.xlarge, g5g.2xlarge, g5g.4xlarge, g5g.8xlarge, g5g.16xlarge, g5g.metal, hi1.4xlarge, hpc6a.48xlarge, hs1.8xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, i3.metal, i3en.large, i3en.xlarge, i3en.2xlarge, i3en.3xlarge, i3en.6xlarge, i3en.12xlarge, i3en.24xlarge, i3en.metal, im4gn.large, im4gn.xlarge, im4gn.2xlarge, im4gn.4xlarge, im4gn.8xlarge, im4gn.16xlarge, inf1.xlarge, inf1.2xlarge, inf1.6xlarge, inf1.24xlarge, is4gen.medium, is4gen.large, is4gen.xlarge, is4gen.2xlarge, is4gen.4xlarge, is4gen.8xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.8xlarge, m5a.12xlarge, m5a.16xlarge, m5a.24xlarge, m5ad.large, m5ad.xlarge, m5ad.2xlarge, m5ad.4xlarge, m5ad.8xlarge, m5ad.12xlarge, m5ad.16xlarge, m5ad.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.8xlarge, m5d.12xlarge, m5d.16xlarge, m5d.24xlarge, m5d.metal, m5dn.large, m5dn.xlarge, m5dn.2xlarge, m5dn.4xlarge, m5dn.8xlarge, m5dn.12xlarge, m5dn.16xlarge, m5dn.24xlarge, m5dn.metal, m5n.large, m5n.xlarge, m5n.2xlarge, m5n.4xlarge, m5n.8xlarge, m5n.12xlarge, m5n.16xlarge, m5n.24xlarge, m5n.metal, m5zn.large, m5zn.xlarge, m5zn.2xlarge, m5zn.3xlarge, m5zn.6xlarge, m5zn.12xlarge, m5zn.metal, m6a.large, m6a.xlarge, m6a.2xlarge, m6a.4xlarge, m6a.8xlarge, m6a.12xlarge, m6a.16xlarge, m6a.24xlarge, m6a.32xlarge, m6a.48xlarge, m6g.metal, m6g.medium, m6g.large, m6g.xlarge, m6g.2xlarge, m6g.4xlarge, m6g.8xlarge, m6g.12xlarge, m6g.16xlarge, m6gd.metal, m6gd.medium, m6gd.large, m6gd.xlarge, m6gd.2xlarge, m6gd.4xlarge, m6gd.8xlarge, m6gd.12xlarge, m6gd.16xlarge, m6i.large, m6i.xlarge, m6i.2xlarge, m6i.4xlarge, m6i.8xlarge, m6i.12xlarge, m6i.16xlarge, m6i.24xlarge, m6i.32xlarge, m6i.metal, mac1.metal, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, p3dn.24xlarge, p4d.24xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.8xlarge, r5a.12xlarge, r5a.16xlarge, r5a.24xlarge, r5ad.large, r5ad.xlarge, r5ad.2xlarge, r5ad.4xlarge, r5ad.8xlarge, r5ad.12xlarge, r5ad.16xlarge, r5ad.24xlarge, r5b.large, r5b.xlarge, r5b.2xlarge, r5b.4xlarge, r5b.8xlarge, r5b.12xlarge, r5b.16xlarge, r5b.24xlarge, r5b.metal, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, r5d.24xlarge, r5d.metal, r5dn.large, r5dn.xlarge, r5dn.2xlarge, r5dn.4xlarge, r5dn.8xlarge, r5dn.12xlarge, r5dn.16xlarge, r5dn.24xlarge, r5dn.metal, r5n.large, r5n.xlarge, r5n.2xlarge, r5n.4xlarge, r5n.8xlarge, r5n.12xlarge, r5n.16xlarge, r5n.24xlarge, r5n.metal, r6g.medium, r6g.large, r6g.xlarge, r6g.2xlarge, r6g.4xlarge, r6g.8xlarge, r6g.12xlarge, r6g.16xlarge, r6g.metal, r6gd.medium, r6gd.large, r6gd.xlarge, r6gd.2xlarge, r6gd.4xlarge, r6gd.8xlarge, r6gd.12xlarge, r6gd.16xlarge, r6gd.metal, r6i.large, r6i.xlarge, r6i.2xlarge, r6i.4xlarge, r6i.8xlarge, r6i.12xlarge, r6i.16xlarge, r6i.24xlarge, r6i.32xlarge, r6i.metal, t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge, t3a.nano, t3a.micro, t3a.small, t3a.medium, t3a.large, t3a.xlarge, t3a.2xlarge, t4g.nano, t4g.micro, t4g.small, t4g.medium, t4g.large, t4g.xlarge, t4g.2xlarge, u-6tb1.56xlarge, u-6tb1.112xlarge, u-9tb1.112xlarge, u-12tb1.112xlarge, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, u-18tb1.metal, u-24tb1.metal, vt1.3xlarge, vt1.6xlarge, vt1.24xlarge, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, x2iezn.2xlarge, x2iezn.4xlarge, x2iezn.6xlarge, x2iezn.8xlarge, x2iezn.12xlarge, x2iezn.metal, x2gd.medium, x2gd.large, x2gd.xlarge, x2gd.2xlarge, x2gd.4xlarge, x2gd.8xlarge, x2gd.12xlarge, x2gd.16xlarge, x2gd.metal, z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge, z1d.metal, x2idn.16xlarge, x2idn.24xlarge, x2idn.32xlarge, x2iedn.xlarge, x2iedn.2xlarge, x2iedn.4xlarge, x2iedn.8xlarge, x2iedn.16xlarge, x2iedn.24xlarge, x2iedn.32xlarge, c6a.large, c6a.xlarge, c6a.2xlarge, c6a.4xlarge, c6a.8xlarge, c6a.12xlarge, c6a.16xlarge, c6a.24xlarge, c6a.32xlarge, c6a.48xlarge, c6a.metal, m6a.metal, i4i.large, i4i.xlarge, i4i.2xlarge, i4i.4xlarge, i4i.8xlarge, i4i.16xlarge, i4i.32xlarge, i4i.metal, x2idn.metal, x2iedn.metal, c7g.medium, c7g.large, c7g.xlarge, c7g.2xlarge, c7g.4xlarge, c7g.8xlarge, c7g.12xlarge, c7g.16xlarge, mac2.metal, c6id.large, c6id.xlarge, c6id.2xlarge, c6id.4xlarge, c6id.8xlarge, c6id.12xlarge, c6id.16xlarge, c6id.24xlarge, c6id.32xlarge, c6id.metal, m6id.large, m6id.xlarge, m6id.2xlarge, m6id.4xlarge, m6id.8xlarge, m6id.12xlarge, m6id.16xlarge, m6id.24xlarge, m6id.32xlarge, m6id.metal, r6id.large, r6id.xlarge, r6id.2xlarge, r6id.4xlarge, r6id.8xlarge, r6id.12xlarge, r6id.16xlarge, r6id.24xlarge, r6id.32xlarge, r6id.metal, r6a.large, r6a.xlarge, r6a.2xlarge, r6a.4xlarge, r6a.8xlarge, r6a.12xlarge, r6a.16xlarge, r6a.24xlarge, r6a.32xlarge, r6a.48xlarge, r6a.metal, p4de.24xlarge, u-3tb1.56xlarge, u-18tb1.112xlarge, u-24tb1.112xlarge, trn1.2xlarge, trn1.32xlarge, hpc6id.32xlarge, c6in.large, c6in.xlarge, c6in.2xlarge, c6in.4xlarge, c6in.8xlarge, c6in.12xlarge, c6in.16xlarge, c6in.24xlarge, c6in.32xlarge, m6in.large, m6in.xlarge, m6in.2xlarge, m6in.4xlarge, m6in.8xlarge, m6in.12xlarge, m6in.16xlarge, m6in.24xlarge, m6in.32xlarge, m6idn.large, m6idn.xlarge, m6idn.2xlarge, m6idn.4xlarge, m6idn.8xlarge, m6idn.12xlarge, m6idn.16xlarge, m6idn.24xlarge, m6idn.32xlarge, r6in.large, r6in.xlarge, r6in.2xlarge, r6in.4xlarge, r6in.8xlarge, r6in.12xlarge, r6in.16xlarge, r6in.24xlarge, r6in.32xlarge, r6idn.large, r6idn.xlarge, r6idn.2xlarge, r6idn.4xlarge, r6idn.8xlarge, r6idn.12xlarge, r6idn.16xlarge, r6idn.24xlarge, r6idn.32xlarge, c7g.metal, m7g.medium, m7g.large, m7g.xlarge, m7g.2xlarge, m7g.4xlarge, m7g.8xlarge, m7g.12xlarge, m7g.16xlarge, m7g.metal, r7g.medium, r7g.large, r7g.xlarge, r7g.2xlarge, r7g.4xlarge, r7g.8xlarge, r7g.12xlarge, r7g.16xlarge, r7g.metal, c6in.metal, m6in.metal, m6idn.metal, r6in.metal, r6idn.metal, inf2.xlarge, inf2.8xlarge, inf2.24xlarge, inf2.48xlarge, trn1n.32xlarge, i4g.large, i4g.xlarge, i4g.2xlarge, i4g.4xlarge, i4g.8xlarge, i4g.16xlarge, hpc7g.4xlarge, hpc7g.8xlarge, hpc7g.16xlarge, c7gn.medium, c7gn.large, c7gn.xlarge, c7gn.2xlarge, c7gn.4xlarge, c7gn.8xlarge, c7gn.12xlarge, c7gn.16xlarge, p5.48xlarge, m7i.large, m7i.xlarge, m7i.2xlarge, m7i.4xlarge, m7i.8xlarge, m7i.12xlarge, m7i.16xlarge, m7i.24xlarge, m7i.48xlarge, m7i-flex.large, m7i-flex.xlarge, m7i-flex.2xlarge, m7i-flex.4xlarge, m7i-flex.8xlarge, m7a.medium, m7a.large, m7a.xlarge, m7a.2xlarge, m7a.4xlarge, m7a.8xlarge, m7a.12xlarge, m7a.16xlarge, m7a.24xlarge, m7a.32xlarge, m7a.48xlarge, m7a.metal-48xl, hpc7a.12xlarge, hpc7a.24xlarge, hpc7a.48xlarge, hpc7a.96xlarge, c7gd.medium, c7gd.large, c7gd.xlarge, c7gd.2xlarge, c7gd.4xlarge, c7gd.8xlarge, c7gd.12xlarge, c7gd.16xlarge, m7gd.medium, m7gd.large, m7gd.xlarge, m7gd.2xlarge, m7gd.4xlarge, m7gd.8xlarge, m7gd.12xlarge, m7gd.16xlarge, r7gd.medium, r7gd.large, r7gd.xlarge, r7gd.2xlarge, r7gd.4xlarge, r7gd.8xlarge, r7gd.12xlarge, r7gd.16xlarge, r7a.medium, r7a.large, r7a.xlarge, r7a.2xlarge, r7a.4xlarge, r7a.8xlarge, r7a.12xlarge, r7a.16xlarge, r7a.24xlarge, r7a.32xlarge, r7a.48xlarge, c7i.large, c7i.xlarge, c7i.2xlarge, c7i.4xlarge, c7i.8xlarge, c7i.12xlarge, c7i.16xlarge, c7i.24xlarge, c7i.48xlarge, mac2-m2pro.metal, r7iz.large, r7iz.xlarge, r7iz.2xlarge, r7iz.4xlarge, r7iz.8xlarge, r7iz.12xlarge, r7iz.16xlarge, r7iz.32xlarge, c7a.medium, c7a.large, c7a.xlarge, c7a.2xlarge, c7a.4xlarge, c7a.8xlarge, c7a.12xlarge, c7a.16xlarge, c7a.24xlarge, c7a.32xlarge, c7a.48xlarge, c7a.metal-48xl, r7a.metal-48xl, r7i.large, r7i.xlarge, r7i.2xlarge, r7i.4xlarge, r7i.8xlarge, r7i.12xlarge, r7i.16xlarge, r7i.24xlarge, r7i.48xlarge, dl2q.24xlarge, mac2-m2.metal, i4i.12xlarge, i4i.24xlarge, c7i.metal-24xl, c7i.metal-48xl, m7i.metal-24xl, m7i.metal-48xl, r7i.metal-24xl, r7i.metal-48xl, r7iz.metal-16xl, r7iz.metal-32xl, c7gd.metal, m7gd.metal, r7gd.metal, g6.xlarge, g6.2xlarge, g6.4xlarge, g6.8xlarge, g6.12xlarge, g6.16xlarge, g6.24xlarge, g6.48xlarge, gr6.4xlarge, gr6.8xlarge, c7i-flex.large, c7i-flex.xlarge, c7i-flex.2xlarge, c7i-flex.4xlarge, c7i-flex.8xlarge, u7i-12tb.224xlarge, u7in-16tb.224xlarge, u7in-24tb.224xlarge, u7in-32tb.224xlarge, u7ib-12tb.224xlarge, c7gn.metal, r8g.medium, r8g.large, r8g.xlarge, r8g.2xlarge, r8g.4xlarge, r8g.8xlarge, r8g.12xlarge, r8g.16xlarge, r8g.24xlarge, r8g.48xlarge, r8g.metal-24xl, r8g.metal-48xl, mac2-m1ultra.metal, g6e.xlarge, g6e.2xlarge, g6e.4xlarge, g6e.8xlarge, g6e.12xlarge, g6e.16xlarge, g6e.24xlarge, g6e.48xlarge, c8g.medium, c8g.large, c8g.xlarge, c8g.2xlarge, c8g.4xlarge, c8g.8xlarge, c8g.12xlarge, c8g.16xlarge, c8g.24xlarge, c8g.48xlarge, c8g.metal-24xl, c8g.metal-48xl, m8g.medium, m8g.large, m8g.xlarge, m8g.2xlarge, m8g.4xlarge, m8g.8xlarge, m8g.12xlarge, m8g.16xlarge, m8g.24xlarge, m8g.48xlarge, m8g.metal-24xl, m8g.metal-48xl, x8g.medium, x8g.large, x8g.xlarge, x8g.2xlarge, x8g.4xlarge, x8g.8xlarge, x8g.12xlarge, x8g.16xlarge, x8g.24xlarge, x8g.48xlarge, x8g.metal-24xl, x8g.metal-48xl, i7ie.large, i7ie.xlarge, i7ie.2xlarge, i7ie.3xlarge, i7ie.6xlarge, i7ie.12xlarge, i7ie.18xlarge, i7ie.24xlarge, i7ie.48xlarge, i8g.large, i8g.xlarge, i8g.2xlarge, i8g.4xlarge, i8g.8xlarge, i8g.12xlarge, i8g.16xlarge, i8g.24xlarge, i8g.metal-24xl, u7i-6tb.112xlarge, u7i-8tb.112xlarge, u7inh-32tb.480xlarge, p5e.48xlarge, p5en.48xlarge, f2.12xlarge, f2.48xlarge, trn2.48xlarge
          max_price: "String",
          subnet_id: "SubnetId",
          availability_zone: "String",
          weighted_capacity: 1.0,
          priority: 1.0,
          placement: {
            affinity: "String",
            group_name: "PlacementGroupName",
            partition_number: 1,
            host_id: "String",
            tenancy: "default", # accepts default, dedicated, host
            spread_domain: "String",
            host_resource_group_arn: "String",
            group_id: "PlacementGroupId",
            availability_zone: "String",
          },
          block_device_mappings: [
            {
              device_name: "String",
              virtual_name: "String",
              ebs: {
                encrypted: false,
                delete_on_termination: false,
                iops: 1,
                throughput: 1,
                kms_key_id: "KmsKeyId",
                snapshot_id: "SnapshotId",
                volume_size: 1,
                volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
              },
              no_device: "String",
            },
          ],
          instance_requirements: {
            v_cpu_count: { # required
              min: 1, # required
              max: 1,
            },
            memory_mi_b: { # required
              min: 1, # required
              max: 1,
            },
            cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services, apple
            memory_gi_b_per_v_cpu: {
              min: 1.0,
              max: 1.0,
            },
            excluded_instance_types: ["ExcludedInstanceType"],
            instance_generations: ["current"], # accepts current, previous
            spot_max_price_percentage_over_lowest_price: 1,
            on_demand_max_price_percentage_over_lowest_price: 1,
            bare_metal: "included", # accepts included, required, excluded
            burstable_performance: "included", # accepts included, required, excluded
            require_hibernate_support: false,
            network_interface_count: {
              min: 1,
              max: 1,
            },
            local_storage: "included", # accepts included, required, excluded
            local_storage_types: ["hdd"], # accepts hdd, ssd
            total_local_storage_gb: {
              min: 1.0,
              max: 1.0,
            },
            baseline_ebs_bandwidth_mbps: {
              min: 1,
              max: 1,
            },
            accelerator_types: ["gpu"], # accepts gpu, fpga, inference
            accelerator_count: {
              min: 1,
              max: 1,
            },
            accelerator_manufacturers: ["amazon-web-services"], # accepts amazon-web-services, amd, nvidia, xilinx, habana
            accelerator_names: ["a100"], # accepts a100, inferentia, k520, k80, m60, radeon-pro-v520, t4, vu9p, v100, a10g, h100, t4g
            accelerator_total_memory_mi_b: {
              min: 1,
              max: 1,
            },
            network_bandwidth_gbps: {
              min: 1.0,
              max: 1.0,
            },
            allowed_instance_types: ["AllowedInstanceType"],
            max_spot_price_as_percentage_of_optimal_on_demand_price: 1,
            baseline_performance_factors: {
              cpu: {
                references: [
                  {
                    instance_family: "String",
                  },
                ],
              },
            },
          },
          image_id: "ImageId",
        },
      ],
    },
  ],
  target_capacity_specification: { # required
    total_target_capacity: 1, # required
    on_demand_target_capacity: 1,
    spot_target_capacity: 1,
    default_target_capacity_type: "spot", # accepts spot, on-demand, capacity-block
    target_capacity_unit_type: "vcpu", # accepts vcpu, memory-mib, units
  },
  terminate_instances_with_expiration: false,
  type: "request", # accepts request, maintain, instant
  valid_from: Time.now,
  valid_until: Time.now,
  replace_unhealthy_instances: false,
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  context: "String",
})

Response structure


resp.fleet_id #=> String
resp.errors #=> Array
resp.errors[0].launch_template_and_overrides.launch_template_specification.launch_template_id #=> String
resp.errors[0].launch_template_and_overrides.launch_template_specification.launch_template_name #=> String
resp.errors[0].launch_template_and_overrides.launch_template_specification.version #=> String
resp.errors[0].launch_template_and_overrides.overrides.instance_type #=> String, one of "a1.medium", "a1.large", "a1.xlarge", "a1.2xlarge", "a1.4xlarge", "a1.metal", "c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.12xlarge", "c5.18xlarge", "c5.24xlarge", "c5.metal", "c5a.large", "c5a.xlarge", "c5a.2xlarge", "c5a.4xlarge", "c5a.8xlarge", "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", "c5ad.large", "c5ad.xlarge", "c5ad.2xlarge", "c5ad.4xlarge", "c5ad.8xlarge", "c5ad.12xlarge", "c5ad.16xlarge", "c5ad.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", "c5d.4xlarge", "c5d.9xlarge", "c5d.12xlarge", "c5d.18xlarge", "c5d.24xlarge", "c5d.metal", "c5n.large", "c5n.xlarge", "c5n.2xlarge", "c5n.4xlarge", "c5n.9xlarge", "c5n.18xlarge", "c5n.metal", "c6g.medium", "c6g.large", "c6g.xlarge", "c6g.2xlarge", "c6g.4xlarge", "c6g.8xlarge", "c6g.12xlarge", "c6g.16xlarge", "c6g.metal", "c6gd.medium", "c6gd.large", "c6gd.xlarge", "c6gd.2xlarge", "c6gd.4xlarge", "c6gd.8xlarge", "c6gd.12xlarge", "c6gd.16xlarge", "c6gd.metal", "c6gn.medium", "c6gn.large", "c6gn.xlarge", "c6gn.2xlarge", "c6gn.4xlarge", "c6gn.8xlarge", "c6gn.12xlarge", "c6gn.16xlarge", "c6i.large", "c6i.xlarge", "c6i.2xlarge", "c6i.4xlarge", "c6i.8xlarge", "c6i.12xlarge", "c6i.16xlarge", "c6i.24xlarge", "c6i.32xlarge", "c6i.metal", "cc1.4xlarge", "cc2.8xlarge", "cg1.4xlarge", "cr1.8xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "d3.xlarge", "d3.2xlarge", "d3.4xlarge", "d3.8xlarge", "d3en.xlarge", "d3en.2xlarge", "d3en.4xlarge", "d3en.6xlarge", "d3en.8xlarge", "d3en.12xlarge", "dl1.24xlarge", "f1.2xlarge", "f1.4xlarge", "f1.16xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "g3s.xlarge", "g4ad.xlarge", "g4ad.2xlarge", "g4ad.4xlarge", "g4ad.8xlarge", "g4ad.16xlarge", "g4dn.xlarge", "g4dn.2xlarge", "g4dn.4xlarge", "g4dn.8xlarge", "g4dn.12xlarge", "g4dn.16xlarge", "g4dn.metal", "g5.xlarge", "g5.2xlarge", "g5.4xlarge", "g5.8xlarge", "g5.12xlarge", "g5.16xlarge", "g5.24xlarge", "g5.48xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", "g5g.8xlarge", "g5g.16xlarge", "g5g.metal", "hi1.4xlarge", "hpc6a.48xlarge", "hs1.8xlarge", "h1.2xlarge", "h1.4xlarge", "h1.8xlarge", "h1.16xlarge", "i2.xlarge", "i2.2xlarge", "i2.4xlarge", "i2.8xlarge", "i3.large", "i3.xlarge", "i3.2xlarge", "i3.4xlarge", "i3.8xlarge", "i3.16xlarge", "i3.metal", "i3en.large", "i3en.xlarge", "i3en.2xlarge", "i3en.3xlarge", "i3en.6xlarge", "i3en.12xlarge", "i3en.24xlarge", "i3en.metal", "im4gn.large", "im4gn.xlarge", "im4gn.2xlarge", "im4gn.4xlarge", "im4gn.8xlarge", "im4gn.16xlarge", "inf1.xlarge", "inf1.2xlarge", "inf1.6xlarge", "inf1.24xlarge", "is4gen.medium", "is4gen.large", "is4gen.xlarge", "is4gen.2xlarge", "is4gen.4xlarge", "is4gen.8xlarge", "m1.small", "m1.medium", "m1.large", "m1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "m4.16xlarge", "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge", "m5.16xlarge", "m5.24xlarge", "m5.metal", "m5a.large", "m5a.xlarge", "m5a.2xlarge", "m5a.4xlarge", "m5a.8xlarge", "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", "m5ad.large", "m5ad.xlarge", "m5ad.2xlarge", "m5ad.4xlarge", "m5ad.8xlarge", "m5ad.12xlarge", "m5ad.16xlarge", "m5ad.24xlarge", "m5d.large", "m5d.xlarge", "m5d.2xlarge", "m5d.4xlarge", "m5d.8xlarge", "m5d.12xlarge", "m5d.16xlarge", "m5d.24xlarge", "m5d.metal", "m5dn.large", "m5dn.xlarge", "m5dn.2xlarge", "m5dn.4xlarge", "m5dn.8xlarge", "m5dn.12xlarge", "m5dn.16xlarge", "m5dn.24xlarge", "m5dn.metal", "m5n.large", "m5n.xlarge", "m5n.2xlarge", "m5n.4xlarge", "m5n.8xlarge", "m5n.12xlarge", "m5n.16xlarge", "m5n.24xlarge", "m5n.metal", "m5zn.large", "m5zn.xlarge", "m5zn.2xlarge", "m5zn.3xlarge", "m5zn.6xlarge", "m5zn.12xlarge", "m5zn.metal", "m6a.large", "m6a.xlarge", "m6a.2xlarge", "m6a.4xlarge", "m6a.8xlarge", "m6a.12xlarge", "m6a.16xlarge", "m6a.24xlarge", "m6a.32xlarge", "m6a.48xlarge", "m6g.metal", "m6g.medium", "m6g.large", "m6g.xlarge", "m6g.2xlarge", "m6g.4xlarge", "m6g.8xlarge", "m6g.12xlarge", "m6g.16xlarge", "m6gd.metal", "m6gd.medium", "m6gd.large", "m6gd.xlarge", "m6gd.2xlarge", "m6gd.4xlarge", "m6gd.8xlarge", "m6gd.12xlarge", "m6gd.16xlarge", "m6i.large", "m6i.xlarge", "m6i.2xlarge", "m6i.4xlarge", "m6i.8xlarge", "m6i.12xlarge", "m6i.16xlarge", "m6i.24xlarge", "m6i.32xlarge", "m6i.metal", "mac1.metal", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "p3dn.24xlarge", "p4d.24xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", "r4.4xlarge", "r4.8xlarge", "r4.16xlarge", "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge", "r5.16xlarge", "r5.24xlarge", "r5.metal", "r5a.large", "r5a.xlarge", "r5a.2xlarge", "r5a.4xlarge", "r5a.8xlarge", "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", "r5ad.large", "r5ad.xlarge", "r5ad.2xlarge", "r5ad.4xlarge", "r5ad.8xlarge", "r5ad.12xlarge", "r5ad.16xlarge", "r5ad.24xlarge", "r5b.large", "r5b.xlarge", "r5b.2xlarge", "r5b.4xlarge", "r5b.8xlarge", "r5b.12xlarge", "r5b.16xlarge", "r5b.24xlarge", "r5b.metal", "r5d.large", "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", "r5d.8xlarge", "r5d.12xlarge", "r5d.16xlarge", "r5d.24xlarge", "r5d.metal", "r5dn.large", "r5dn.xlarge", "r5dn.2xlarge", "r5dn.4xlarge", "r5dn.8xlarge", "r5dn.12xlarge", "r5dn.16xlarge", "r5dn.24xlarge", "r5dn.metal", "r5n.large", "r5n.xlarge", "r5n.2xlarge", "r5n.4xlarge", "r5n.8xlarge", "r5n.12xlarge", "r5n.16xlarge", "r5n.24xlarge", "r5n.metal", "r6g.medium", "r6g.large", "r6g.xlarge", "r6g.2xlarge", "r6g.4xlarge", "r6g.8xlarge", "r6g.12xlarge", "r6g.16xlarge", "r6g.metal", "r6gd.medium", "r6gd.large", "r6gd.xlarge", "r6gd.2xlarge", "r6gd.4xlarge", "r6gd.8xlarge", "r6gd.12xlarge", "r6gd.16xlarge", "r6gd.metal", "r6i.large", "r6i.xlarge", "r6i.2xlarge", "r6i.4xlarge", "r6i.8xlarge", "r6i.12xlarge", "r6i.16xlarge", "r6i.24xlarge", "r6i.32xlarge", "r6i.metal", "t1.micro", "t2.nano", "t2.micro", "t2.small", "t2.medium", "t2.large", "t2.xlarge", "t2.2xlarge", "t3.nano", "t3.micro", "t3.small", "t3.medium", "t3.large", "t3.xlarge", "t3.2xlarge", "t3a.nano", "t3a.micro", "t3a.small", "t3a.medium", "t3a.large", "t3a.xlarge", "t3a.2xlarge", "t4g.nano", "t4g.micro", "t4g.small", "t4g.medium", "t4g.large", "t4g.xlarge", "t4g.2xlarge", "u-6tb1.56xlarge", "u-6tb1.112xlarge", "u-9tb1.112xlarge", "u-12tb1.112xlarge", "u-6tb1.metal", "u-9tb1.metal", "u-12tb1.metal", "u-18tb1.metal", "u-24tb1.metal", "vt1.3xlarge", "vt1.6xlarge", "vt1.24xlarge", "x1.16xlarge", "x1.32xlarge", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.32xlarge", "x2iezn.2xlarge", "x2iezn.4xlarge", "x2iezn.6xlarge", "x2iezn.8xlarge", "x2iezn.12xlarge", "x2iezn.metal", "x2gd.medium", "x2gd.large", "x2gd.xlarge", "x2gd.2xlarge", "x2gd.4xlarge", "x2gd.8xlarge", "x2gd.12xlarge", "x2gd.16xlarge", "x2gd.metal", "z1d.large", "z1d.xlarge", "z1d.2xlarge", "z1d.3xlarge", "z1d.6xlarge", "z1d.12xlarge", "z1d.metal", "x2idn.16xlarge", "x2idn.24xlarge", "x2idn.32xlarge", "x2iedn.xlarge", "x2iedn.2xlarge", "x2iedn.4xlarge", "x2iedn.8xlarge", "x2iedn.16xlarge", "x2iedn.24xlarge", "x2iedn.32xlarge", "c6a.large", "c6a.xlarge", "c6a.2xlarge", "c6a.4xlarge", "c6a.8xlarge", "c6a.12xlarge", "c6a.16xlarge", "c6a.24xlarge", "c6a.32xlarge", "c6a.48xlarge", "c6a.metal", "m6a.metal", "i4i.large", "i4i.xlarge", "i4i.2xlarge", "i4i.4xlarge", "i4i.8xlarge", "i4i.16xlarge", "i4i.32xlarge", "i4i.metal", "x2idn.metal", "x2iedn.metal", "c7g.medium", "c7g.large", "c7g.xlarge", "c7g.2xlarge", "c7g.4xlarge", "c7g.8xlarge", "c7g.12xlarge", "c7g.16xlarge", "mac2.metal", "c6id.large", "c6id.xlarge", "c6id.2xlarge", "c6id.4xlarge", "c6id.8xlarge", "c6id.12xlarge", "c6id.16xlarge", "c6id.24xlarge", "c6id.32xlarge", "c6id.metal", "m6id.large", "m6id.xlarge", "m6id.2xlarge", "m6id.4xlarge", "m6id.8xlarge", "m6id.12xlarge", "m6id.16xlarge", "m6id.24xlarge", "m6id.32xlarge", "m6id.metal", "r6id.large", "r6id.xlarge", "r6id.2xlarge", "r6id.4xlarge", "r6id.8xlarge", "r6id.12xlarge", "r6id.16xlarge", "r6id.24xlarge", "r6id.32xlarge", "r6id.metal", "r6a.large", "r6a.xlarge", "r6a.2xlarge", "r6a.4xlarge", "r6a.8xlarge", "r6a.12xlarge", "r6a.16xlarge", "r6a.24xlarge", "r6a.32xlarge", "r6a.48xlarge", "r6a.metal", "p4de.24xlarge", "u-3tb1.56xlarge", "u-18tb1.112xlarge", "u-24tb1.112xlarge", "trn1.2xlarge", "trn1.32xlarge", "hpc6id.32xlarge", "c6in.large", "c6in.xlarge", "c6in.2xlarge", "c6in.4xlarge", "c6in.8xlarge", "c6in.12xlarge", "c6in.16xlarge", "c6in.24xlarge", "c6in.32xlarge", "m6in.large", "m6in.xlarge", "m6in.2xlarge", "m6in.4xlarge", "m6in.8xlarge", "m6in.12xlarge", "m6in.16xlarge", "m6in.24xlarge", "m6in.32xlarge", "m6idn.large", "m6idn.xlarge", "m6idn.2xlarge", "m6idn.4xlarge", "m6idn.8xlarge", "m6idn.12xlarge", "m6idn.16xlarge", "m6idn.24xlarge", "m6idn.32xlarge", "r6in.large", "r6in.xlarge", "r6in.2xlarge", "r6in.4xlarge", "r6in.8xlarge", "r6in.12xlarge", "r6in.16xlarge", "r6in.24xlarge", "r6in.32xlarge", "r6idn.large", "r6idn.xlarge", "r6idn.2xlarge", "r6idn.4xlarge", "r6idn.8xlarge", "r6idn.12xlarge", "r6idn.16xlarge", "r6idn.24xlarge", "r6idn.32xlarge", "c7g.metal", "m7g.medium", "m7g.large", "m7g.xlarge", "m7g.2xlarge", "m7g.4xlarge", "m7g.8xlarge", "m7g.12xlarge", "m7g.16xlarge", "m7g.metal", "r7g.medium", "r7g.large", "r7g.xlarge", "r7g.2xlarge", "r7g.4xlarge", "r7g.8xlarge", "r7g.12xlarge", "r7g.16xlarge", "r7g.metal", "c6in.metal", "m6in.metal", "m6idn.metal", "r6in.metal", "r6idn.metal", "inf2.xlarge", "inf2.8xlarge", "inf2.24xlarge", "inf2.48xlarge", "trn1n.32xlarge", "i4g.large", "i4g.xlarge", "i4g.2xlarge", "i4g.4xlarge", "i4g.8xlarge", "i4g.16xlarge", "hpc7g.4xlarge", "hpc7g.8xlarge", "hpc7g.16xlarge", "c7gn.medium", "c7gn.large", "c7gn.xlarge", "c7gn.2xlarge", "c7gn.4xlarge", "c7gn.8xlarge", "c7gn.12xlarge", "c7gn.16xlarge", "p5.48xlarge", "m7i.large", "m7i.xlarge", "m7i.2xlarge", "m7i.4xlarge", "m7i.8xlarge", "m7i.12xlarge", "m7i.16xlarge", "m7i.24xlarge", "m7i.48xlarge", "m7i-flex.large", "m7i-flex.xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", "m7a.medium", "m7a.large", "m7a.xlarge", "m7a.2xlarge", "m7a.4xlarge", "m7a.8xlarge", "m7a.12xlarge", "m7a.16xlarge", "m7a.24xlarge", "m7a.32xlarge", "m7a.48xlarge", "m7a.metal-48xl", "hpc7a.12xlarge", "hpc7a.24xlarge", "hpc7a.48xlarge", "hpc7a.96xlarge", "c7gd.medium", "c7gd.large", "c7gd.xlarge", "c7gd.2xlarge", "c7gd.4xlarge", "c7gd.8xlarge", "c7gd.12xlarge", "c7gd.16xlarge", "m7gd.medium", "m7gd.large", "m7gd.xlarge", "m7gd.2xlarge", "m7gd.4xlarge", "m7gd.8xlarge", "m7gd.12xlarge", "m7gd.16xlarge", "r7gd.medium", "r7gd.large", "r7gd.xlarge", "r7gd.2xlarge", "r7gd.4xlarge", "r7gd.8xlarge", "r7gd.12xlarge", "r7gd.16xlarge", "r7a.medium", "r7a.large", "r7a.xlarge", "r7a.2xlarge", "r7a.4xlarge", "r7a.8xlarge", "r7a.12xlarge", "r7a.16xlarge", "r7a.24xlarge", "r7a.32xlarge", "r7a.48xlarge", "c7i.large", "c7i.xlarge", "c7i.2xlarge", "c7i.4xlarge", "c7i.8xlarge", "c7i.12xlarge", "c7i.16xlarge", "c7i.24xlarge", "c7i.48xlarge", "mac2-m2pro.metal", "r7iz.large", "r7iz.xlarge", "r7iz.2xlarge", "r7iz.4xlarge", "r7iz.8xlarge", "r7iz.12xlarge", "r7iz.16xlarge", "r7iz.32xlarge", "c7a.medium", "c7a.large", "c7a.xlarge", "c7a.2xlarge", "c7a.4xlarge", "c7a.8xlarge", "c7a.12xlarge", "c7a.16xlarge", "c7a.24xlarge", "c7a.32xlarge", "c7a.48xlarge", "c7a.metal-48xl", "r7a.metal-48xl", "r7i.large", "r7i.xlarge", "r7i.2xlarge", "r7i.4xlarge", "r7i.8xlarge", "r7i.12xlarge", "r7i.16xlarge", "r7i.24xlarge", "r7i.48xlarge", "dl2q.24xlarge", "mac2-m2.metal", "i4i.12xlarge", "i4i.24xlarge", "c7i.metal-24xl", "c7i.metal-48xl", "m7i.metal-24xl", "m7i.metal-48xl", "r7i.metal-24xl", "r7i.metal-48xl", "r7iz.metal-16xl", "r7iz.metal-32xl", "c7gd.metal", "m7gd.metal", "r7gd.metal", "g6.xlarge", "g6.2xlarge", "g6.4xlarge", "g6.8xlarge", "g6.12xlarge", "g6.16xlarge", "g6.24xlarge", "g6.48xlarge", "gr6.4xlarge", "gr6.8xlarge", "c7i-flex.large", "c7i-flex.xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", "u7i-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", "u7ib-12tb.224xlarge", "c7gn.metal", "r8g.medium", "r8g.large", "r8g.xlarge", "r8g.2xlarge", "r8g.4xlarge", "r8g.8xlarge", "r8g.12xlarge", "r8g.16xlarge", "r8g.24xlarge", "r8g.48xlarge", "r8g.metal-24xl", "r8g.metal-48xl", "mac2-m1ultra.metal", "g6e.xlarge", "g6e.2xlarge", "g6e.4xlarge", "g6e.8xlarge", "g6e.12xlarge", "g6e.16xlarge", "g6e.24xlarge", "g6e.48xlarge", "c8g.medium", "c8g.large", "c8g.xlarge", "c8g.2xlarge", "c8g.4xlarge", "c8g.8xlarge", "c8g.12xlarge", "c8g.16xlarge", "c8g.24xlarge", "c8g.48xlarge", "c8g.metal-24xl", "c8g.metal-48xl", "m8g.medium", "m8g.large", "m8g.xlarge", "m8g.2xlarge", "m8g.4xlarge", "m8g.8xlarge", "m8g.12xlarge", "m8g.16xlarge", "m8g.24xlarge", "m8g.48xlarge", "m8g.metal-24xl", "m8g.metal-48xl", "x8g.medium", "x8g.large", "x8g.xlarge", "x8g.2xlarge", "x8g.4xlarge", "x8g.8xlarge", "x8g.12xlarge", "x8g.16xlarge", "x8g.24xlarge", "x8g.48xlarge", "x8g.metal-24xl", "x8g.metal-48xl", "i7ie.large", "i7ie.xlarge", "i7ie.2xlarge", "i7ie.3xlarge", "i7ie.6xlarge", "i7ie.12xlarge", "i7ie.18xlarge", "i7ie.24xlarge", "i7ie.48xlarge", "i8g.large", "i8g.xlarge", "i8g.2xlarge", "i8g.4xlarge", "i8g.8xlarge", "i8g.12xlarge", "i8g.16xlarge", "i8g.24xlarge", "i8g.metal-24xl", "u7i-6tb.112xlarge", "u7i-8tb.112xlarge", "u7inh-32tb.480xlarge", "p5e.48xlarge", "p5en.48xlarge", "f2.12xlarge", "f2.48xlarge", "trn2.48xlarge"
resp.errors[0].launch_template_and_overrides.overrides.max_price #=> String
resp.errors[0].launch_template_and_overrides.overrides.subnet_id #=> String
resp.errors[0].launch_template_and_overrides.overrides.availability_zone #=> String
resp.errors[0].launch_template_and_overrides.overrides.weighted_capacity #=> Float
resp.errors[0].launch_template_and_overrides.overrides.priority #=> Float
resp.errors[0].launch_template_and_overrides.overrides.placement.group_name #=> String
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.v_cpu_count.min #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.v_cpu_count.max #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.memory_mi_b.min #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.memory_mi_b.max #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.cpu_manufacturers #=> Array
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.cpu_manufacturers[0] #=> String, one of "intel", "amd", "amazon-web-services", "apple"
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.memory_gi_b_per_v_cpu.min #=> Float
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.memory_gi_b_per_v_cpu.max #=> Float
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.excluded_instance_types #=> Array
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.excluded_instance_types[0] #=> String
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.instance_generations #=> Array
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.instance_generations[0] #=> String, one of "current", "previous"
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.spot_max_price_percentage_over_lowest_price #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.on_demand_max_price_percentage_over_lowest_price #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.bare_metal #=> String, one of "included", "required", "excluded"
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.burstable_performance #=> String, one of "included", "required", "excluded"
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.require_hibernate_support #=> Boolean
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.network_interface_count.min #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.network_interface_count.max #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.local_storage #=> String, one of "included", "required", "excluded"
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.local_storage_types #=> Array
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.local_storage_types[0] #=> String, one of "hdd", "ssd"
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.total_local_storage_gb.min #=> Float
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.total_local_storage_gb.max #=> Float
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.baseline_ebs_bandwidth_mbps.min #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.baseline_ebs_bandwidth_mbps.max #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_types #=> Array
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_types[0] #=> String, one of "gpu", "fpga", "inference"
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_count.min #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_count.max #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_manufacturers #=> Array
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_manufacturers[0] #=> String, one of "amazon-web-services", "amd", "nvidia", "xilinx", "habana"
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_names #=> Array
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_names[0] #=> String, one of "a100", "inferentia", "k520", "k80", "m60", "radeon-pro-v520", "t4", "vu9p", "v100", "a10g", "h100", "t4g"
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_total_memory_mi_b.min #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_total_memory_mi_b.max #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.network_bandwidth_gbps.min #=> Float
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.network_bandwidth_gbps.max #=> Float
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.allowed_instance_types #=> Array
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.allowed_instance_types[0] #=> String
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.max_spot_price_as_percentage_of_optimal_on_demand_price #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.baseline_performance_factors.cpu.references #=> Array
resp.errors[0].launch_template_and_overrides.overrides.instance_requirements.baseline_performance_factors.cpu.references[0].instance_family #=> String
resp.errors[0].launch_template_and_overrides.overrides.image_id #=> String
resp.errors[0].launch_template_and_overrides.overrides.block_device_mappings #=> Array
resp.errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].device_name #=> String
resp.errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].virtual_name #=> String
resp.errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.encrypted #=> Boolean
resp.errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
resp.errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.iops #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.throughput #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.kms_key_id #=> String
resp.errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.snapshot_id #=> String
resp.errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.volume_size #=> Integer
resp.errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
resp.errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].no_device #=> String
resp.errors[0].lifecycle #=> String, one of "spot", "on-demand"
resp.errors[0].error_code #=> String
resp.errors[0].error_message #=> String
resp.instances #=> Array
resp.instances[0].launch_template_and_overrides.launch_template_specification.launch_template_id #=> String
resp.instances[0].launch_template_and_overrides.launch_template_specification.launch_template_name #=> String
resp.instances[0].launch_template_and_overrides.launch_template_specification.version #=> String
resp.instances[0].launch_template_and_overrides.overrides.instance_type #=> String, one of "a1.medium", "a1.large", "a1.xlarge", "a1.2xlarge", "a1.4xlarge", "a1.metal", "c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.12xlarge", "c5.18xlarge", "c5.24xlarge", "c5.metal", "c5a.large", "c5a.xlarge", "c5a.2xlarge", "c5a.4xlarge", "c5a.8xlarge", "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", "c5ad.large", "c5ad.xlarge", "c5ad.2xlarge", "c5ad.4xlarge", "c5ad.8xlarge", "c5ad.12xlarge", "c5ad.16xlarge", "c5ad.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", "c5d.4xlarge", "c5d.9xlarge", "c5d.12xlarge", "c5d.18xlarge", "c5d.24xlarge", "c5d.metal", "c5n.large", "c5n.xlarge", "c5n.2xlarge", "c5n.4xlarge", "c5n.9xlarge", "c5n.18xlarge", "c5n.metal", "c6g.medium", "c6g.large", "c6g.xlarge", "c6g.2xlarge", "c6g.4xlarge", "c6g.8xlarge", "c6g.12xlarge", "c6g.16xlarge", "c6g.metal", "c6gd.medium", "c6gd.large", "c6gd.xlarge", "c6gd.2xlarge", "c6gd.4xlarge", "c6gd.8xlarge", "c6gd.12xlarge", "c6gd.16xlarge", "c6gd.metal", "c6gn.medium", "c6gn.large", "c6gn.xlarge", "c6gn.2xlarge", "c6gn.4xlarge", "c6gn.8xlarge", "c6gn.12xlarge", "c6gn.16xlarge", "c6i.large", "c6i.xlarge", "c6i.2xlarge", "c6i.4xlarge", "c6i.8xlarge", "c6i.12xlarge", "c6i.16xlarge", "c6i.24xlarge", "c6i.32xlarge", "c6i.metal", "cc1.4xlarge", "cc2.8xlarge", "cg1.4xlarge", "cr1.8xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "d3.xlarge", "d3.2xlarge", "d3.4xlarge", "d3.8xlarge", "d3en.xlarge", "d3en.2xlarge", "d3en.4xlarge", "d3en.6xlarge", "d3en.8xlarge", "d3en.12xlarge", "dl1.24xlarge", "f1.2xlarge", "f1.4xlarge", "f1.16xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "g3s.xlarge", "g4ad.xlarge", "g4ad.2xlarge", "g4ad.4xlarge", "g4ad.8xlarge", "g4ad.16xlarge", "g4dn.xlarge", "g4dn.2xlarge", "g4dn.4xlarge", "g4dn.8xlarge", "g4dn.12xlarge", "g4dn.16xlarge", "g4dn.metal", "g5.xlarge", "g5.2xlarge", "g5.4xlarge", "g5.8xlarge", "g5.12xlarge", "g5.16xlarge", "g5.24xlarge", "g5.48xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", "g5g.8xlarge", "g5g.16xlarge", "g5g.metal", "hi1.4xlarge", "hpc6a.48xlarge", "hs1.8xlarge", "h1.2xlarge", "h1.4xlarge", "h1.8xlarge", "h1.16xlarge", "i2.xlarge", "i2.2xlarge", "i2.4xlarge", "i2.8xlarge", "i3.large", "i3.xlarge", "i3.2xlarge", "i3.4xlarge", "i3.8xlarge", "i3.16xlarge", "i3.metal", "i3en.large", "i3en.xlarge", "i3en.2xlarge", "i3en.3xlarge", "i3en.6xlarge", "i3en.12xlarge", "i3en.24xlarge", "i3en.metal", "im4gn.large", "im4gn.xlarge", "im4gn.2xlarge", "im4gn.4xlarge", "im4gn.8xlarge", "im4gn.16xlarge", "inf1.xlarge", "inf1.2xlarge", "inf1.6xlarge", "inf1.24xlarge", "is4gen.medium", "is4gen.large", "is4gen.xlarge", "is4gen.2xlarge", "is4gen.4xlarge", "is4gen.8xlarge", "m1.small", "m1.medium", "m1.large", "m1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "m4.16xlarge", "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge", "m5.16xlarge", "m5.24xlarge", "m5.metal", "m5a.large", "m5a.xlarge", "m5a.2xlarge", "m5a.4xlarge", "m5a.8xlarge", "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", "m5ad.large", "m5ad.xlarge", "m5ad.2xlarge", "m5ad.4xlarge", "m5ad.8xlarge", "m5ad.12xlarge", "m5ad.16xlarge", "m5ad.24xlarge", "m5d.large", "m5d.xlarge", "m5d.2xlarge", "m5d.4xlarge", "m5d.8xlarge", "m5d.12xlarge", "m5d.16xlarge", "m5d.24xlarge", "m5d.metal", "m5dn.large", "m5dn.xlarge", "m5dn.2xlarge", "m5dn.4xlarge", "m5dn.8xlarge", "m5dn.12xlarge", "m5dn.16xlarge", "m5dn.24xlarge", "m5dn.metal", "m5n.large", "m5n.xlarge", "m5n.2xlarge", "m5n.4xlarge", "m5n.8xlarge", "m5n.12xlarge", "m5n.16xlarge", "m5n.24xlarge", "m5n.metal", "m5zn.large", "m5zn.xlarge", "m5zn.2xlarge", "m5zn.3xlarge", "m5zn.6xlarge", "m5zn.12xlarge", "m5zn.metal", "m6a.large", "m6a.xlarge", "m6a.2xlarge", "m6a.4xlarge", "m6a.8xlarge", "m6a.12xlarge", "m6a.16xlarge", "m6a.24xlarge", "m6a.32xlarge", "m6a.48xlarge", "m6g.metal", "m6g.medium", "m6g.large", "m6g.xlarge", "m6g.2xlarge", "m6g.4xlarge", "m6g.8xlarge", "m6g.12xlarge", "m6g.16xlarge", "m6gd.metal", "m6gd.medium", "m6gd.large", "m6gd.xlarge", "m6gd.2xlarge", "m6gd.4xlarge", "m6gd.8xlarge", "m6gd.12xlarge", "m6gd.16xlarge", "m6i.large", "m6i.xlarge", "m6i.2xlarge", "m6i.4xlarge", "m6i.8xlarge", "m6i.12xlarge", "m6i.16xlarge", "m6i.24xlarge", "m6i.32xlarge", "m6i.metal", "mac1.metal", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "p3dn.24xlarge", "p4d.24xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", "r4.4xlarge", "r4.8xlarge", "r4.16xlarge", "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge", "r5.16xlarge", "r5.24xlarge", "r5.metal", "r5a.large", "r5a.xlarge", "r5a.2xlarge", "r5a.4xlarge", "r5a.8xlarge", "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", "r5ad.large", "r5ad.xlarge", "r5ad.2xlarge", "r5ad.4xlarge", "r5ad.8xlarge", "r5ad.12xlarge", "r5ad.16xlarge", "r5ad.24xlarge", "r5b.large", "r5b.xlarge", "r5b.2xlarge", "r5b.4xlarge", "r5b.8xlarge", "r5b.12xlarge", "r5b.16xlarge", "r5b.24xlarge", "r5b.metal", "r5d.large", "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", "r5d.8xlarge", "r5d.12xlarge", "r5d.16xlarge", "r5d.24xlarge", "r5d.metal", "r5dn.large", "r5dn.xlarge", "r5dn.2xlarge", "r5dn.4xlarge", "r5dn.8xlarge", "r5dn.12xlarge", "r5dn.16xlarge", "r5dn.24xlarge", "r5dn.metal", "r5n.large", "r5n.xlarge", "r5n.2xlarge", "r5n.4xlarge", "r5n.8xlarge", "r5n.12xlarge", "r5n.16xlarge", "r5n.24xlarge", "r5n.metal", "r6g.medium", "r6g.large", "r6g.xlarge", "r6g.2xlarge", "r6g.4xlarge", "r6g.8xlarge", "r6g.12xlarge", "r6g.16xlarge", "r6g.metal", "r6gd.medium", "r6gd.large", "r6gd.xlarge", "r6gd.2xlarge", "r6gd.4xlarge", "r6gd.8xlarge", "r6gd.12xlarge", "r6gd.16xlarge", "r6gd.metal", "r6i.large", "r6i.xlarge", "r6i.2xlarge", "r6i.4xlarge", "r6i.8xlarge", "r6i.12xlarge", "r6i.16xlarge", "r6i.24xlarge", "r6i.32xlarge", "r6i.metal", "t1.micro", "t2.nano", "t2.micro", "t2.small", "t2.medium", "t2.large", "t2.xlarge", "t2.2xlarge", "t3.nano", "t3.micro", "t3.small", "t3.medium", "t3.large", "t3.xlarge", "t3.2xlarge", "t3a.nano", "t3a.micro", "t3a.small", "t3a.medium", "t3a.large", "t3a.xlarge", "t3a.2xlarge", "t4g.nano", "t4g.micro", "t4g.small", "t4g.medium", "t4g.large", "t4g.xlarge", "t4g.2xlarge", "u-6tb1.56xlarge", "u-6tb1.112xlarge", "u-9tb1.112xlarge", "u-12tb1.112xlarge", "u-6tb1.metal", "u-9tb1.metal", "u-12tb1.metal", "u-18tb1.metal", "u-24tb1.metal", "vt1.3xlarge", "vt1.6xlarge", "vt1.24xlarge", "x1.16xlarge", "x1.32xlarge", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.32xlarge", "x2iezn.2xlarge", "x2iezn.4xlarge", "x2iezn.6xlarge", "x2iezn.8xlarge", "x2iezn.12xlarge", "x2iezn.metal", "x2gd.medium", "x2gd.large", "x2gd.xlarge", "x2gd.2xlarge", "x2gd.4xlarge", "x2gd.8xlarge", "x2gd.12xlarge", "x2gd.16xlarge", "x2gd.metal", "z1d.large", "z1d.xlarge", "z1d.2xlarge", "z1d.3xlarge", "z1d.6xlarge", "z1d.12xlarge", "z1d.metal", "x2idn.16xlarge", "x2idn.24xlarge", "x2idn.32xlarge", "x2iedn.xlarge", "x2iedn.2xlarge", "x2iedn.4xlarge", "x2iedn.8xlarge", "x2iedn.16xlarge", "x2iedn.24xlarge", "x2iedn.32xlarge", "c6a.large", "c6a.xlarge", "c6a.2xlarge", "c6a.4xlarge", "c6a.8xlarge", "c6a.12xlarge", "c6a.16xlarge", "c6a.24xlarge", "c6a.32xlarge", "c6a.48xlarge", "c6a.metal", "m6a.metal", "i4i.large", "i4i.xlarge", "i4i.2xlarge", "i4i.4xlarge", "i4i.8xlarge", "i4i.16xlarge", "i4i.32xlarge", "i4i.metal", "x2idn.metal", "x2iedn.metal", "c7g.medium", "c7g.large", "c7g.xlarge", "c7g.2xlarge", "c7g.4xlarge", "c7g.8xlarge", "c7g.12xlarge", "c7g.16xlarge", "mac2.metal", "c6id.large", "c6id.xlarge", "c6id.2xlarge", "c6id.4xlarge", "c6id.8xlarge", "c6id.12xlarge", "c6id.16xlarge", "c6id.24xlarge", "c6id.32xlarge", "c6id.metal", "m6id.large", "m6id.xlarge", "m6id.2xlarge", "m6id.4xlarge", "m6id.8xlarge", "m6id.12xlarge", "m6id.16xlarge", "m6id.24xlarge", "m6id.32xlarge", "m6id.metal", "r6id.large", "r6id.xlarge", "r6id.2xlarge", "r6id.4xlarge", "r6id.8xlarge", "r6id.12xlarge", "r6id.16xlarge", "r6id.24xlarge", "r6id.32xlarge", "r6id.metal", "r6a.large", "r6a.xlarge", "r6a.2xlarge", "r6a.4xlarge", "r6a.8xlarge", "r6a.12xlarge", "r6a.16xlarge", "r6a.24xlarge", "r6a.32xlarge", "r6a.48xlarge", "r6a.metal", "p4de.24xlarge", "u-3tb1.56xlarge", "u-18tb1.112xlarge", "u-24tb1.112xlarge", "trn1.2xlarge", "trn1.32xlarge", "hpc6id.32xlarge", "c6in.large", "c6in.xlarge", "c6in.2xlarge", "c6in.4xlarge", "c6in.8xlarge", "c6in.12xlarge", "c6in.16xlarge", "c6in.24xlarge", "c6in.32xlarge", "m6in.large", "m6in.xlarge", "m6in.2xlarge", "m6in.4xlarge", "m6in.8xlarge", "m6in.12xlarge", "m6in.16xlarge", "m6in.24xlarge", "m6in.32xlarge", "m6idn.large", "m6idn.xlarge", "m6idn.2xlarge", "m6idn.4xlarge", "m6idn.8xlarge", "m6idn.12xlarge", "m6idn.16xlarge", "m6idn.24xlarge", "m6idn.32xlarge", "r6in.large", "r6in.xlarge", "r6in.2xlarge", "r6in.4xlarge", "r6in.8xlarge", "r6in.12xlarge", "r6in.16xlarge", "r6in.24xlarge", "r6in.32xlarge", "r6idn.large", "r6idn.xlarge", "r6idn.2xlarge", "r6idn.4xlarge", "r6idn.8xlarge", "r6idn.12xlarge", "r6idn.16xlarge", "r6idn.24xlarge", "r6idn.32xlarge", "c7g.metal", "m7g.medium", "m7g.large", "m7g.xlarge", "m7g.2xlarge", "m7g.4xlarge", "m7g.8xlarge", "m7g.12xlarge", "m7g.16xlarge", "m7g.metal", "r7g.medium", "r7g.large", "r7g.xlarge", "r7g.2xlarge", "r7g.4xlarge", "r7g.8xlarge", "r7g.12xlarge", "r7g.16xlarge", "r7g.metal", "c6in.metal", "m6in.metal", "m6idn.metal", "r6in.metal", "r6idn.metal", "inf2.xlarge", "inf2.8xlarge", "inf2.24xlarge", "inf2.48xlarge", "trn1n.32xlarge", "i4g.large", "i4g.xlarge", "i4g.2xlarge", "i4g.4xlarge", "i4g.8xlarge", "i4g.16xlarge", "hpc7g.4xlarge", "hpc7g.8xlarge", "hpc7g.16xlarge", "c7gn.medium", "c7gn.large", "c7gn.xlarge", "c7gn.2xlarge", "c7gn.4xlarge", "c7gn.8xlarge", "c7gn.12xlarge", "c7gn.16xlarge", "p5.48xlarge", "m7i.large", "m7i.xlarge", "m7i.2xlarge", "m7i.4xlarge", "m7i.8xlarge", "m7i.12xlarge", "m7i.16xlarge", "m7i.24xlarge", "m7i.48xlarge", "m7i-flex.large", "m7i-flex.xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", "m7a.medium", "m7a.large", "m7a.xlarge", "m7a.2xlarge", "m7a.4xlarge", "m7a.8xlarge", "m7a.12xlarge", "m7a.16xlarge", "m7a.24xlarge", "m7a.32xlarge", "m7a.48xlarge", "m7a.metal-48xl", "hpc7a.12xlarge", "hpc7a.24xlarge", "hpc7a.48xlarge", "hpc7a.96xlarge", "c7gd.medium", "c7gd.large", "c7gd.xlarge", "c7gd.2xlarge", "c7gd.4xlarge", "c7gd.8xlarge", "c7gd.12xlarge", "c7gd.16xlarge", "m7gd.medium", "m7gd.large", "m7gd.xlarge", "m7gd.2xlarge", "m7gd.4xlarge", "m7gd.8xlarge", "m7gd.12xlarge", "m7gd.16xlarge", "r7gd.medium", "r7gd.large", "r7gd.xlarge", "r7gd.2xlarge", "r7gd.4xlarge", "r7gd.8xlarge", "r7gd.12xlarge", "r7gd.16xlarge", "r7a.medium", "r7a.large", "r7a.xlarge", "r7a.2xlarge", "r7a.4xlarge", "r7a.8xlarge", "r7a.12xlarge", "r7a.16xlarge", "r7a.24xlarge", "r7a.32xlarge", "r7a.48xlarge", "c7i.large", "c7i.xlarge", "c7i.2xlarge", "c7i.4xlarge", "c7i.8xlarge", "c7i.12xlarge", "c7i.16xlarge", "c7i.24xlarge", "c7i.48xlarge", "mac2-m2pro.metal", "r7iz.large", "r7iz.xlarge", "r7iz.2xlarge", "r7iz.4xlarge", "r7iz.8xlarge", "r7iz.12xlarge", "r7iz.16xlarge", "r7iz.32xlarge", "c7a.medium", "c7a.large", "c7a.xlarge", "c7a.2xlarge", "c7a.4xlarge", "c7a.8xlarge", "c7a.12xlarge", "c7a.16xlarge", "c7a.24xlarge", "c7a.32xlarge", "c7a.48xlarge", "c7a.metal-48xl", "r7a.metal-48xl", "r7i.large", "r7i.xlarge", "r7i.2xlarge", "r7i.4xlarge", "r7i.8xlarge", "r7i.12xlarge", "r7i.16xlarge", "r7i.24xlarge", "r7i.48xlarge", "dl2q.24xlarge", "mac2-m2.metal", "i4i.12xlarge", "i4i.24xlarge", "c7i.metal-24xl", "c7i.metal-48xl", "m7i.metal-24xl", "m7i.metal-48xl", "r7i.metal-24xl", "r7i.metal-48xl", "r7iz.metal-16xl", "r7iz.metal-32xl", "c7gd.metal", "m7gd.metal", "r7gd.metal", "g6.xlarge", "g6.2xlarge", "g6.4xlarge", "g6.8xlarge", "g6.12xlarge", "g6.16xlarge", "g6.24xlarge", "g6.48xlarge", "gr6.4xlarge", "gr6.8xlarge", "c7i-flex.large", "c7i-flex.xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", "u7i-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", "u7ib-12tb.224xlarge", "c7gn.metal", "r8g.medium", "r8g.large", "r8g.xlarge", "r8g.2xlarge", "r8g.4xlarge", "r8g.8xlarge", "r8g.12xlarge", "r8g.16xlarge", "r8g.24xlarge", "r8g.48xlarge", "r8g.metal-24xl", "r8g.metal-48xl", "mac2-m1ultra.metal", "g6e.xlarge", "g6e.2xlarge", "g6e.4xlarge", "g6e.8xlarge", "g6e.12xlarge", "g6e.16xlarge", "g6e.24xlarge", "g6e.48xlarge", "c8g.medium", "c8g.large", "c8g.xlarge", "c8g.2xlarge", "c8g.4xlarge", "c8g.8xlarge", "c8g.12xlarge", "c8g.16xlarge", "c8g.24xlarge", "c8g.48xlarge", "c8g.metal-24xl", "c8g.metal-48xl", "m8g.medium", "m8g.large", "m8g.xlarge", "m8g.2xlarge", "m8g.4xlarge", "m8g.8xlarge", "m8g.12xlarge", "m8g.16xlarge", "m8g.24xlarge", "m8g.48xlarge", "m8g.metal-24xl", "m8g.metal-48xl", "x8g.medium", "x8g.large", "x8g.xlarge", "x8g.2xlarge", "x8g.4xlarge", "x8g.8xlarge", "x8g.12xlarge", "x8g.16xlarge", "x8g.24xlarge", "x8g.48xlarge", "x8g.metal-24xl", "x8g.metal-48xl", "i7ie.large", "i7ie.xlarge", "i7ie.2xlarge", "i7ie.3xlarge", "i7ie.6xlarge", "i7ie.12xlarge", "i7ie.18xlarge", "i7ie.24xlarge", "i7ie.48xlarge", "i8g.large", "i8g.xlarge", "i8g.2xlarge", "i8g.4xlarge", "i8g.8xlarge", "i8g.12xlarge", "i8g.16xlarge", "i8g.24xlarge", "i8g.metal-24xl", "u7i-6tb.112xlarge", "u7i-8tb.112xlarge", "u7inh-32tb.480xlarge", "p5e.48xlarge", "p5en.48xlarge", "f2.12xlarge", "f2.48xlarge", "trn2.48xlarge"
resp.instances[0].launch_template_and_overrides.overrides.max_price #=> String
resp.instances[0].launch_template_and_overrides.overrides.subnet_id #=> String
resp.instances[0].launch_template_and_overrides.overrides.availability_zone #=> String
resp.instances[0].launch_template_and_overrides.overrides.weighted_capacity #=> Float
resp.instances[0].launch_template_and_overrides.overrides.priority #=> Float
resp.instances[0].launch_template_and_overrides.overrides.placement.group_name #=> String
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.v_cpu_count.min #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.v_cpu_count.max #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.memory_mi_b.min #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.memory_mi_b.max #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.cpu_manufacturers #=> Array
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.cpu_manufacturers[0] #=> String, one of "intel", "amd", "amazon-web-services", "apple"
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.memory_gi_b_per_v_cpu.min #=> Float
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.memory_gi_b_per_v_cpu.max #=> Float
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.excluded_instance_types #=> Array
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.excluded_instance_types[0] #=> String
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.instance_generations #=> Array
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.instance_generations[0] #=> String, one of "current", "previous"
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.spot_max_price_percentage_over_lowest_price #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.on_demand_max_price_percentage_over_lowest_price #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.bare_metal #=> String, one of "included", "required", "excluded"
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.burstable_performance #=> String, one of "included", "required", "excluded"
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.require_hibernate_support #=> Boolean
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.network_interface_count.min #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.network_interface_count.max #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.local_storage #=> String, one of "included", "required", "excluded"
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.local_storage_types #=> Array
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.local_storage_types[0] #=> String, one of "hdd", "ssd"
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.total_local_storage_gb.min #=> Float
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.total_local_storage_gb.max #=> Float
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.baseline_ebs_bandwidth_mbps.min #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.baseline_ebs_bandwidth_mbps.max #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_types #=> Array
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_types[0] #=> String, one of "gpu", "fpga", "inference"
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_count.min #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_count.max #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_manufacturers #=> Array
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_manufacturers[0] #=> String, one of "amazon-web-services", "amd", "nvidia", "xilinx", "habana"
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_names #=> Array
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_names[0] #=> String, one of "a100", "inferentia", "k520", "k80", "m60", "radeon-pro-v520", "t4", "vu9p", "v100", "a10g", "h100", "t4g"
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_total_memory_mi_b.min #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_total_memory_mi_b.max #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.network_bandwidth_gbps.min #=> Float
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.network_bandwidth_gbps.max #=> Float
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.allowed_instance_types #=> Array
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.allowed_instance_types[0] #=> String
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.max_spot_price_as_percentage_of_optimal_on_demand_price #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.baseline_performance_factors.cpu.references #=> Array
resp.instances[0].launch_template_and_overrides.overrides.instance_requirements.baseline_performance_factors.cpu.references[0].instance_family #=> String
resp.instances[0].launch_template_and_overrides.overrides.image_id #=> String
resp.instances[0].launch_template_and_overrides.overrides.block_device_mappings #=> Array
resp.instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].device_name #=> String
resp.instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].virtual_name #=> String
resp.instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.encrypted #=> Boolean
resp.instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
resp.instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.iops #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.throughput #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.kms_key_id #=> String
resp.instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.snapshot_id #=> String
resp.instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.volume_size #=> Integer
resp.instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
resp.instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].no_device #=> String
resp.instances[0].lifecycle #=> String, one of "spot", "on-demand"
resp.instances[0].instance_ids #=> Array
resp.instances[0].instance_ids[0] #=> String
resp.instances[0].instance_type #=> String, one of "a1.medium", "a1.large", "a1.xlarge", "a1.2xlarge", "a1.4xlarge", "a1.metal", "c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.12xlarge", "c5.18xlarge", "c5.24xlarge", "c5.metal", "c5a.large", "c5a.xlarge", "c5a.2xlarge", "c5a.4xlarge", "c5a.8xlarge", "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", "c5ad.large", "c5ad.xlarge", "c5ad.2xlarge", "c5ad.4xlarge", "c5ad.8xlarge", "c5ad.12xlarge", "c5ad.16xlarge", "c5ad.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", "c5d.4xlarge", "c5d.9xlarge", "c5d.12xlarge", "c5d.18xlarge", "c5d.24xlarge", "c5d.metal", "c5n.large", "c5n.xlarge", "c5n.2xlarge", "c5n.4xlarge", "c5n.9xlarge", "c5n.18xlarge", "c5n.metal", "c6g.medium", "c6g.large", "c6g.xlarge", "c6g.2xlarge", "c6g.4xlarge", "c6g.8xlarge", "c6g.12xlarge", "c6g.16xlarge", "c6g.metal", "c6gd.medium", "c6gd.large", "c6gd.xlarge", "c6gd.2xlarge", "c6gd.4xlarge", "c6gd.8xlarge", "c6gd.12xlarge", "c6gd.16xlarge", "c6gd.metal", "c6gn.medium", "c6gn.large", "c6gn.xlarge", "c6gn.2xlarge", "c6gn.4xlarge", "c6gn.8xlarge", "c6gn.12xlarge", "c6gn.16xlarge", "c6i.large", "c6i.xlarge", "c6i.2xlarge", "c6i.4xlarge", "c6i.8xlarge", "c6i.12xlarge", "c6i.16xlarge", "c6i.24xlarge", "c6i.32xlarge", "c6i.metal", "cc1.4xlarge", "cc2.8xlarge", "cg1.4xlarge", "cr1.8xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "d3.xlarge", "d3.2xlarge", "d3.4xlarge", "d3.8xlarge", "d3en.xlarge", "d3en.2xlarge", "d3en.4xlarge", "d3en.6xlarge", "d3en.8xlarge", "d3en.12xlarge", "dl1.24xlarge", "f1.2xlarge", "f1.4xlarge", "f1.16xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "g3s.xlarge", "g4ad.xlarge", "g4ad.2xlarge", "g4ad.4xlarge", "g4ad.8xlarge", "g4ad.16xlarge", "g4dn.xlarge", "g4dn.2xlarge", "g4dn.4xlarge", "g4dn.8xlarge", "g4dn.12xlarge", "g4dn.16xlarge", "g4dn.metal", "g5.xlarge", "g5.2xlarge", "g5.4xlarge", "g5.8xlarge", "g5.12xlarge", "g5.16xlarge", "g5.24xlarge", "g5.48xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", "g5g.8xlarge", "g5g.16xlarge", "g5g.metal", "hi1.4xlarge", "hpc6a.48xlarge", "hs1.8xlarge", "h1.2xlarge", "h1.4xlarge", "h1.8xlarge", "h1.16xlarge", "i2.xlarge", "i2.2xlarge", "i2.4xlarge", "i2.8xlarge", "i3.large", "i3.xlarge", "i3.2xlarge", "i3.4xlarge", "i3.8xlarge", "i3.16xlarge", "i3.metal", "i3en.large", "i3en.xlarge", "i3en.2xlarge", "i3en.3xlarge", "i3en.6xlarge", "i3en.12xlarge", "i3en.24xlarge", "i3en.metal", "im4gn.large", "im4gn.xlarge", "im4gn.2xlarge", "im4gn.4xlarge", "im4gn.8xlarge", "im4gn.16xlarge", "inf1.xlarge", "inf1.2xlarge", "inf1.6xlarge", "inf1.24xlarge", "is4gen.medium", "is4gen.large", "is4gen.xlarge", "is4gen.2xlarge", "is4gen.4xlarge", "is4gen.8xlarge", "m1.small", "m1.medium", "m1.large", "m1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "m4.16xlarge", "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge", "m5.16xlarge", "m5.24xlarge", "m5.metal", "m5a.large", "m5a.xlarge", "m5a.2xlarge", "m5a.4xlarge", "m5a.8xlarge", "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", "m5ad.large", "m5ad.xlarge", "m5ad.2xlarge", "m5ad.4xlarge", "m5ad.8xlarge", "m5ad.12xlarge", "m5ad.16xlarge", "m5ad.24xlarge", "m5d.large", "m5d.xlarge", "m5d.2xlarge", "m5d.4xlarge", "m5d.8xlarge", "m5d.12xlarge", "m5d.16xlarge", "m5d.24xlarge", "m5d.metal", "m5dn.large", "m5dn.xlarge", "m5dn.2xlarge", "m5dn.4xlarge", "m5dn.8xlarge", "m5dn.12xlarge", "m5dn.16xlarge", "m5dn.24xlarge", "m5dn.metal", "m5n.large", "m5n.xlarge", "m5n.2xlarge", "m5n.4xlarge", "m5n.8xlarge", "m5n.12xlarge", "m5n.16xlarge", "m5n.24xlarge", "m5n.metal", "m5zn.large", "m5zn.xlarge", "m5zn.2xlarge", "m5zn.3xlarge", "m5zn.6xlarge", "m5zn.12xlarge", "m5zn.metal", "m6a.large", "m6a.xlarge", "m6a.2xlarge", "m6a.4xlarge", "m6a.8xlarge", "m6a.12xlarge", "m6a.16xlarge", "m6a.24xlarge", "m6a.32xlarge", "m6a.48xlarge", "m6g.metal", "m6g.medium", "m6g.large", "m6g.xlarge", "m6g.2xlarge", "m6g.4xlarge", "m6g.8xlarge", "m6g.12xlarge", "m6g.16xlarge", "m6gd.metal", "m6gd.medium", "m6gd.large", "m6gd.xlarge", "m6gd.2xlarge", "m6gd.4xlarge", "m6gd.8xlarge", "m6gd.12xlarge", "m6gd.16xlarge", "m6i.large", "m6i.xlarge", "m6i.2xlarge", "m6i.4xlarge", "m6i.8xlarge", "m6i.12xlarge", "m6i.16xlarge", "m6i.24xlarge", "m6i.32xlarge", "m6i.metal", "mac1.metal", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "p3dn.24xlarge", "p4d.24xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", "r4.4xlarge", "r4.8xlarge", "r4.16xlarge", "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge", "r5.16xlarge", "r5.24xlarge", "r5.metal", "r5a.large", "r5a.xlarge", "r5a.2xlarge", "r5a.4xlarge", "r5a.8xlarge", "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", "r5ad.large", "r5ad.xlarge", "r5ad.2xlarge", "r5ad.4xlarge", "r5ad.8xlarge", "r5ad.12xlarge", "r5ad.16xlarge", "r5ad.24xlarge", "r5b.large", "r5b.xlarge", "r5b.2xlarge", "r5b.4xlarge", "r5b.8xlarge", "r5b.12xlarge", "r5b.16xlarge", "r5b.24xlarge", "r5b.metal", "r5d.large", "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", "r5d.8xlarge", "r5d.12xlarge", "r5d.16xlarge", "r5d.24xlarge", "r5d.metal", "r5dn.large", "r5dn.xlarge", "r5dn.2xlarge", "r5dn.4xlarge", "r5dn.8xlarge", "r5dn.12xlarge", "r5dn.16xlarge", "r5dn.24xlarge", "r5dn.metal", "r5n.large", "r5n.xlarge", "r5n.2xlarge", "r5n.4xlarge", "r5n.8xlarge", "r5n.12xlarge", "r5n.16xlarge", "r5n.24xlarge", "r5n.metal", "r6g.medium", "r6g.large", "r6g.xlarge", "r6g.2xlarge", "r6g.4xlarge", "r6g.8xlarge", "r6g.12xlarge", "r6g.16xlarge", "r6g.metal", "r6gd.medium", "r6gd.large", "r6gd.xlarge", "r6gd.2xlarge", "r6gd.4xlarge", "r6gd.8xlarge", "r6gd.12xlarge", "r6gd.16xlarge", "r6gd.metal", "r6i.large", "r6i.xlarge", "r6i.2xlarge", "r6i.4xlarge", "r6i.8xlarge", "r6i.12xlarge", "r6i.16xlarge", "r6i.24xlarge", "r6i.32xlarge", "r6i.metal", "t1.micro", "t2.nano", "t2.micro", "t2.small", "t2.medium", "t2.large", "t2.xlarge", "t2.2xlarge", "t3.nano", "t3.micro", "t3.small", "t3.medium", "t3.large", "t3.xlarge", "t3.2xlarge", "t3a.nano", "t3a.micro", "t3a.small", "t3a.medium", "t3a.large", "t3a.xlarge", "t3a.2xlarge", "t4g.nano", "t4g.micro", "t4g.small", "t4g.medium", "t4g.large", "t4g.xlarge", "t4g.2xlarge", "u-6tb1.56xlarge", "u-6tb1.112xlarge", "u-9tb1.112xlarge", "u-12tb1.112xlarge", "u-6tb1.metal", "u-9tb1.metal", "u-12tb1.metal", "u-18tb1.metal", "u-24tb1.metal", "vt1.3xlarge", "vt1.6xlarge", "vt1.24xlarge", "x1.16xlarge", "x1.32xlarge", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.32xlarge", "x2iezn.2xlarge", "x2iezn.4xlarge", "x2iezn.6xlarge", "x2iezn.8xlarge", "x2iezn.12xlarge", "x2iezn.metal", "x2gd.medium", "x2gd.large", "x2gd.xlarge", "x2gd.2xlarge", "x2gd.4xlarge", "x2gd.8xlarge", "x2gd.12xlarge", "x2gd.16xlarge", "x2gd.metal", "z1d.large", "z1d.xlarge", "z1d.2xlarge", "z1d.3xlarge", "z1d.6xlarge", "z1d.12xlarge", "z1d.metal", "x2idn.16xlarge", "x2idn.24xlarge", "x2idn.32xlarge", "x2iedn.xlarge", "x2iedn.2xlarge", "x2iedn.4xlarge", "x2iedn.8xlarge", "x2iedn.16xlarge", "x2iedn.24xlarge", "x2iedn.32xlarge", "c6a.large", "c6a.xlarge", "c6a.2xlarge", "c6a.4xlarge", "c6a.8xlarge", "c6a.12xlarge", "c6a.16xlarge", "c6a.24xlarge", "c6a.32xlarge", "c6a.48xlarge", "c6a.metal", "m6a.metal", "i4i.large", "i4i.xlarge", "i4i.2xlarge", "i4i.4xlarge", "i4i.8xlarge", "i4i.16xlarge", "i4i.32xlarge", "i4i.metal", "x2idn.metal", "x2iedn.metal", "c7g.medium", "c7g.large", "c7g.xlarge", "c7g.2xlarge", "c7g.4xlarge", "c7g.8xlarge", "c7g.12xlarge", "c7g.16xlarge", "mac2.metal", "c6id.large", "c6id.xlarge", "c6id.2xlarge", "c6id.4xlarge", "c6id.8xlarge", "c6id.12xlarge", "c6id.16xlarge", "c6id.24xlarge", "c6id.32xlarge", "c6id.metal", "m6id.large", "m6id.xlarge", "m6id.2xlarge", "m6id.4xlarge", "m6id.8xlarge", "m6id.12xlarge", "m6id.16xlarge", "m6id.24xlarge", "m6id.32xlarge", "m6id.metal", "r6id.large", "r6id.xlarge", "r6id.2xlarge", "r6id.4xlarge", "r6id.8xlarge", "r6id.12xlarge", "r6id.16xlarge", "r6id.24xlarge", "r6id.32xlarge", "r6id.metal", "r6a.large", "r6a.xlarge", "r6a.2xlarge", "r6a.4xlarge", "r6a.8xlarge", "r6a.12xlarge", "r6a.16xlarge", "r6a.24xlarge", "r6a.32xlarge", "r6a.48xlarge", "r6a.metal", "p4de.24xlarge", "u-3tb1.56xlarge", "u-18tb1.112xlarge", "u-24tb1.112xlarge", "trn1.2xlarge", "trn1.32xlarge", "hpc6id.32xlarge", "c6in.large", "c6in.xlarge", "c6in.2xlarge", "c6in.4xlarge", "c6in.8xlarge", "c6in.12xlarge", "c6in.16xlarge", "c6in.24xlarge", "c6in.32xlarge", "m6in.large", "m6in.xlarge", "m6in.2xlarge", "m6in.4xlarge", "m6in.8xlarge", "m6in.12xlarge", "m6in.16xlarge", "m6in.24xlarge", "m6in.32xlarge", "m6idn.large", "m6idn.xlarge", "m6idn.2xlarge", "m6idn.4xlarge", "m6idn.8xlarge", "m6idn.12xlarge", "m6idn.16xlarge", "m6idn.24xlarge", "m6idn.32xlarge", "r6in.large", "r6in.xlarge", "r6in.2xlarge", "r6in.4xlarge", "r6in.8xlarge", "r6in.12xlarge", "r6in.16xlarge", "r6in.24xlarge", "r6in.32xlarge", "r6idn.large", "r6idn.xlarge", "r6idn.2xlarge", "r6idn.4xlarge", "r6idn.8xlarge", "r6idn.12xlarge", "r6idn.16xlarge", "r6idn.24xlarge", "r6idn.32xlarge", "c7g.metal", "m7g.medium", "m7g.large", "m7g.xlarge", "m7g.2xlarge", "m7g.4xlarge", "m7g.8xlarge", "m7g.12xlarge", "m7g.16xlarge", "m7g.metal", "r7g.medium", "r7g.large", "r7g.xlarge", "r7g.2xlarge", "r7g.4xlarge", "r7g.8xlarge", "r7g.12xlarge", "r7g.16xlarge", "r7g.metal", "c6in.metal", "m6in.metal", "m6idn.metal", "r6in.metal", "r6idn.metal", "inf2.xlarge", "inf2.8xlarge", "inf2.24xlarge", "inf2.48xlarge", "trn1n.32xlarge", "i4g.large", "i4g.xlarge", "i4g.2xlarge", "i4g.4xlarge", "i4g.8xlarge", "i4g.16xlarge", "hpc7g.4xlarge", "hpc7g.8xlarge", "hpc7g.16xlarge", "c7gn.medium", "c7gn.large", "c7gn.xlarge", "c7gn.2xlarge", "c7gn.4xlarge", "c7gn.8xlarge", "c7gn.12xlarge", "c7gn.16xlarge", "p5.48xlarge", "m7i.large", "m7i.xlarge", "m7i.2xlarge", "m7i.4xlarge", "m7i.8xlarge", "m7i.12xlarge", "m7i.16xlarge", "m7i.24xlarge", "m7i.48xlarge", "m7i-flex.large", "m7i-flex.xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", "m7a.medium", "m7a.large", "m7a.xlarge", "m7a.2xlarge", "m7a.4xlarge", "m7a.8xlarge", "m7a.12xlarge", "m7a.16xlarge", "m7a.24xlarge", "m7a.32xlarge", "m7a.48xlarge", "m7a.metal-48xl", "hpc7a.12xlarge", "hpc7a.24xlarge", "hpc7a.48xlarge", "hpc7a.96xlarge", "c7gd.medium", "c7gd.large", "c7gd.xlarge", "c7gd.2xlarge", "c7gd.4xlarge", "c7gd.8xlarge", "c7gd.12xlarge", "c7gd.16xlarge", "m7gd.medium", "m7gd.large", "m7gd.xlarge", "m7gd.2xlarge", "m7gd.4xlarge", "m7gd.8xlarge", "m7gd.12xlarge", "m7gd.16xlarge", "r7gd.medium", "r7gd.large", "r7gd.xlarge", "r7gd.2xlarge", "r7gd.4xlarge", "r7gd.8xlarge", "r7gd.12xlarge", "r7gd.16xlarge", "r7a.medium", "r7a.large", "r7a.xlarge", "r7a.2xlarge", "r7a.4xlarge", "r7a.8xlarge", "r7a.12xlarge", "r7a.16xlarge", "r7a.24xlarge", "r7a.32xlarge", "r7a.48xlarge", "c7i.large", "c7i.xlarge", "c7i.2xlarge", "c7i.4xlarge", "c7i.8xlarge", "c7i.12xlarge", "c7i.16xlarge", "c7i.24xlarge", "c7i.48xlarge", "mac2-m2pro.metal", "r7iz.large", "r7iz.xlarge", "r7iz.2xlarge", "r7iz.4xlarge", "r7iz.8xlarge", "r7iz.12xlarge", "r7iz.16xlarge", "r7iz.32xlarge", "c7a.medium", "c7a.large", "c7a.xlarge", "c7a.2xlarge", "c7a.4xlarge", "c7a.8xlarge", "c7a.12xlarge", "c7a.16xlarge", "c7a.24xlarge", "c7a.32xlarge", "c7a.48xlarge", "c7a.metal-48xl", "r7a.metal-48xl", "r7i.large", "r7i.xlarge", "r7i.2xlarge", "r7i.4xlarge", "r7i.8xlarge", "r7i.12xlarge", "r7i.16xlarge", "r7i.24xlarge", "r7i.48xlarge", "dl2q.24xlarge", "mac2-m2.metal", "i4i.12xlarge", "i4i.24xlarge", "c7i.metal-24xl", "c7i.metal-48xl", "m7i.metal-24xl", "m7i.metal-48xl", "r7i.metal-24xl", "r7i.metal-48xl", "r7iz.metal-16xl", "r7iz.metal-32xl", "c7gd.metal", "m7gd.metal", "r7gd.metal", "g6.xlarge", "g6.2xlarge", "g6.4xlarge", "g6.8xlarge", "g6.12xlarge", "g6.16xlarge", "g6.24xlarge", "g6.48xlarge", "gr6.4xlarge", "gr6.8xlarge", "c7i-flex.large", "c7i-flex.xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", "u7i-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", "u7ib-12tb.224xlarge", "c7gn.metal", "r8g.medium", "r8g.large", "r8g.xlarge", "r8g.2xlarge", "r8g.4xlarge", "r8g.8xlarge", "r8g.12xlarge", "r8g.16xlarge", "r8g.24xlarge", "r8g.48xlarge", "r8g.metal-24xl", "r8g.metal-48xl", "mac2-m1ultra.metal", "g6e.xlarge", "g6e.2xlarge", "g6e.4xlarge", "g6e.8xlarge", "g6e.12xlarge", "g6e.16xlarge", "g6e.24xlarge", "g6e.48xlarge", "c8g.medium", "c8g.large", "c8g.xlarge", "c8g.2xlarge", "c8g.4xlarge", "c8g.8xlarge", "c8g.12xlarge", "c8g.16xlarge", "c8g.24xlarge", "c8g.48xlarge", "c8g.metal-24xl", "c8g.metal-48xl", "m8g.medium", "m8g.large", "m8g.xlarge", "m8g.2xlarge", "m8g.4xlarge", "m8g.8xlarge", "m8g.12xlarge", "m8g.16xlarge", "m8g.24xlarge", "m8g.48xlarge", "m8g.metal-24xl", "m8g.metal-48xl", "x8g.medium", "x8g.large", "x8g.xlarge", "x8g.2xlarge", "x8g.4xlarge", "x8g.8xlarge", "x8g.12xlarge", "x8g.16xlarge", "x8g.24xlarge", "x8g.48xlarge", "x8g.metal-24xl", "x8g.metal-48xl", "i7ie.large", "i7ie.xlarge", "i7ie.2xlarge", "i7ie.3xlarge", "i7ie.6xlarge", "i7ie.12xlarge", "i7ie.18xlarge", "i7ie.24xlarge", "i7ie.48xlarge", "i8g.large", "i8g.xlarge", "i8g.2xlarge", "i8g.4xlarge", "i8g.8xlarge", "i8g.12xlarge", "i8g.16xlarge", "i8g.24xlarge", "i8g.metal-24xl", "u7i-6tb.112xlarge", "u7i-8tb.112xlarge", "u7inh-32tb.480xlarge", "p5e.48xlarge", "p5en.48xlarge", "f2.12xlarge", "f2.48xlarge", "trn2.48xlarge"
resp.instances[0].platform #=> String, one of "Windows"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency.

    For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :spot_options (Types::SpotOptionsRequest)

    Describes the configuration of Spot Instances in an EC2 Fleet.

  • :on_demand_options (Types::OnDemandOptionsRequest)

    Describes the configuration of On-Demand Instances in an EC2 Fleet.

  • :excess_capacity_termination_policy (String)

    Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.

    Supported only for fleets of type maintain.

  • :launch_template_configs (required, Array<Types::FleetLaunchTemplateConfigRequest>)

    The configuration for the EC2 Fleet.

  • :target_capacity_specification (required, Types::TargetCapacitySpecificationRequest)

    The number of units to request.

  • :terminate_instances_with_expiration (Boolean)

    Indicates whether running instances should be terminated when the EC2 Fleet expires.

  • :type (String)

    The fleet type. The default value is maintain.

    • maintain - The EC2 Fleet places an asynchronous request for your desired capacity, and continues to maintain your desired Spot capacity by replenishing interrupted Spot Instances.

    • request - The EC2 Fleet places an asynchronous one-time request for your desired capacity, but does submit Spot requests in alternative capacity pools if Spot capacity is unavailable, and does not maintain Spot capacity if Spot Instances are interrupted.

    • instant - The EC2 Fleet places a synchronous one-time request for your desired capacity, and returns errors for any instances that could not be launched.

    For more information, see EC2 Fleet request types in the Amazon EC2 User Guide.

  • :valid_from (Time, DateTime, Date, Integer, String)

    The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

  • :valid_until (Time, DateTime, Date, Integer, String)

    The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.

  • :replace_unhealthy_instances (Boolean)

    Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for fleets of type maintain. For more information, see EC2 Fleet health checks in the Amazon EC2 User Guide.

  • :tag_specifications (Array<Types::TagSpecification>)

    The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tag your resources.

    If the fleet type is instant, specify a resource type of fleet to tag the fleet or instance to tag the instances at launch.

    If the fleet type is maintain or request, specify a resource type of fleet to tag the fleet. You cannot specify a resource type of instance. To tag instances at launch, specify the tags in a launch template.

  • :context (String)

    Reserved.

Returns:

See Also:



7279
7280
7281
7282
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 7279

def create_fleet(params = {}, options = {})
  req = build_request(:create_fleet, params)
  req.send_request(options)
end

#create_flow_logs(params = {}) ⇒ Types::CreateFlowLogsResult

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow log records in the Amazon VPC User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon VPC User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_flow_logs({
  dry_run: false,
  client_token: "String",
  deliver_logs_permission_arn: "String",
  deliver_cross_account_role: "String",
  log_group_name: "String",
  resource_ids: ["FlowLogResourceId"], # required
  resource_type: "VPC", # required, accepts VPC, Subnet, NetworkInterface, TransitGateway, TransitGatewayAttachment
  traffic_type: "ACCEPT", # accepts ACCEPT, REJECT, ALL
  log_destination_type: "cloud-watch-logs", # accepts cloud-watch-logs, s3, kinesis-data-firehose
  log_destination: "String",
  log_format: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  max_aggregation_interval: 1,
  destination_options: {
    file_format: "plain-text", # accepts plain-text, parquet
    hive_compatible_partitions: false,
    per_hour_partition: false,
  },
})

Response structure


resp.client_token #=> String
resp.flow_log_ids #=> Array
resp.flow_log_ids[0] #=> String
resp.unsuccessful #=> Array
resp.unsuccessful[0].error.code #=> String
resp.unsuccessful[0].error.message #=> String
resp.unsuccessful[0].resource_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

  • :deliver_logs_permission_arn (String)

    The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination.

    This parameter is required if the destination type is cloud-watch-logs, or if the destination type is kinesis-data-firehose and the delivery stream and the resources to monitor are in different accounts.

  • :deliver_cross_account_role (String)

    The ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.

  • :log_group_name (String)

    The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.

    This parameter is valid only if the destination type is cloud-watch-logs.

  • :resource_ids (required, Array<String>)

    The IDs of the resources to monitor. For example, if the resource type is VPC, specify the IDs of the VPCs.

    Constraints: Maximum of 25 for transit gateway resource types. Maximum of 1000 for the other resource types.

  • :resource_type (required, String)

    The type of resource to monitor.

  • :traffic_type (String)

    The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic). This parameter is not supported for transit gateway resource types. It is required for the other resource types.

  • :log_destination_type (String)

    The type of destination for the flow log data.

    Default: cloud-watch-logs

  • :log_destination (String)

    The destination for the flow log data. The meaning of this parameter depends on the destination type.

    • If the destination type is cloud-watch-logs, specify the ARN of a CloudWatch Logs log group. For example:

      arn:aws:logs:region:account_id:log-group:my_group

      Alternatively, use the LogGroupName parameter.

    • If the destination type is s3, specify the ARN of an S3 bucket. For example:

      arn:aws:s3:::my_bucket/my_subfolder/

      The subfolder is optional. Note that you can't use AWSLogs as a subfolder name.

    • If the destination type is kinesis-data-firehose, specify the ARN of a Kinesis Data Firehose delivery stream. For example:

      arn:aws:firehose:region:account_id:deliverystream:my_stream

  • :log_format (String)

    The fields to include in the flow log record. List the fields in the order in which they should appear. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see Flow log records in the Amazon VPC User Guide or Transit Gateway Flow Log records in the Amazon Web Services Transit Gateway Guide.

    Specify the fields using the ${field-id} format, separated by spaces.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the flow logs.

  • :max_aggregation_interval (Integer)

    The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types.

    When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds or less, regardless of the value that you specify.

    Default: 600

  • :destination_options (Types::DestinationOptionsRequest)

    The destination options.

Returns:

See Also:



7477
7478
7479
7480
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 7477

def create_flow_logs(params = {}, options = {})
  req = build_request(:create_flow_logs, params)
  req.send_request(options)
end

#create_fpga_image(params = {}) ⇒ Types::CreateFpgaImageResult

Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).

The create operation is asynchronous. To verify that the AFI is ready for use, check the output logs.

An AFI contains the FPGA bitstream that is ready to download to an FPGA. You can securely deploy an AFI on multiple FPGA-accelerated instances. For more information, see the Amazon Web Services FPGA Hardware Development Kit.

Examples:

Request syntax with placeholder values


resp = client.create_fpga_image({
  dry_run: false,
  input_storage_location: { # required
    bucket: "String",
    key: "String",
  },
  logs_storage_location: {
    bucket: "String",
    key: "String",
  },
  description: "String",
  name: "String",
  client_token: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
})

Response structure


resp.fpga_image_id #=> String
resp.fpga_image_global_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :input_storage_location (required, Types::StorageLocation)

    The location of the encrypted design checkpoint in Amazon S3. The input must be a tarball.

  • :logs_storage_location (Types::StorageLocation)

    The location in Amazon S3 for the output logs.

  • :description (String)

    A description for the AFI.

  • :name (String)

    A name for the AFI.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the FPGA image during creation.

Returns:

See Also:



7570
7571
7572
7573
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 7570

def create_fpga_image(params = {}, options = {})
  req = build_request(:create_fpga_image, params)
  req.send_request(options)
end

#create_image(params = {}) ⇒ Types::CreateImageResult

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

If you customized your instance with instance store volumes or Amazon EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes.

For more information, see Create an Amazon EBS-backed Linux AMI in the Amazon Elastic Compute Cloud User Guide.

Examples:

Example: To create an AMI from an Amazon EBS-backed instance


# This example creates an AMI from the specified instance and adds an EBS volume with the device name /dev/sdh and an
# instance store volume with the device name /dev/sdc.

resp = client.create_image({
  block_device_mappings: [
    {
      device_name: "/dev/sdh", 
      ebs: {
        volume_size: 100, 
      }, 
    }, 
    {
      device_name: "/dev/sdc", 
      virtual_name: "ephemeral1", 
    }, 
  ], 
  description: "An AMI for my server", 
  instance_id: "i-1234567890abcdef0", 
  name: "My server", 
  no_reboot: true, 
})

resp.to_h outputs the following:
{
  image_id: "ami-1a2b3c4d", 
}

Request syntax with placeholder values


resp = client.create_image({
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
  instance_id: "InstanceId", # required
  name: "String", # required
  description: "String",
  no_reboot: false,
  block_device_mappings: [
    {
      ebs: {
        delete_on_termination: false,
        iops: 1,
        snapshot_id: "SnapshotId",
        volume_size: 1,
        volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
        kms_key_id: "String",
        throughput: 1,
        outpost_arn: "String",
        encrypted: false,
      },
      no_device: "String",
      device_name: "String",
      virtual_name: "String",
    },
  ],
})

Response structure


resp.image_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the AMI and snapshots on creation. You can tag the AMI, the snapshots, or both.

    • To tag the AMI, the value for ResourceType must be image.

    • To tag the snapshots that are created of the root volume and of other Amazon EBS volumes that are attached to the instance, the value for ResourceType must be snapshot. The same tag is applied to all of the snapshots that are created.

    If you specify other values for ResourceType, the request fails.

    To tag an AMI or snapshot after it has been created, see CreateTags.

  • :dry_run (Boolean)

    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.

  • :instance_id (required, String)

    The ID of the instance.

  • :name (required, String)

    A name for the new image.

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

  • :description (String)

    A description for the new image.

  • :no_reboot (Boolean)

    Indicates whether or not the instance should be automatically rebooted before creating the image. Specify one of the following values:

    • true - The instance is not rebooted before creating the image. This creates crash-consistent snapshots that include only the data that has been written to the volumes at the time the snapshots are created. Buffered data and data in memory that has not yet been written to the volumes is not included in the snapshots.

    • false - The instance is rebooted before creating the image. This ensures that all buffered data and data in memory is written to the volumes before the snapshots are created.

    Default: false

  • :block_device_mappings (Array<Types::BlockDeviceMapping>)

    The block device mappings.

    When using the CreateImage action:

    • You can't change the volume size using the VolumeSize parameter. If you want a different volume size, you must first change the volume size of the source instance.

    • You can't modify the encryption status of existing volumes or snapshots. To create an AMI with volumes or snapshots that have a different encryption status (for example, where the source volume and snapshots are unencrypted, and you want to create an AMI with encrypted volumes or snapshots), use the CopyImage action.

    • The only option that can be changed for existing mappings or snapshots is DeleteOnTermination.

Returns:

See Also:



7745
7746
7747
7748
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 7745

def create_image(params = {}, options = {})
  req = build_request(:create_image, params)
  req.send_request(options)
end

#create_instance_connect_endpoint(params = {}) ⇒ Types::CreateInstanceConnectEndpointResult

Creates an EC2 Instance Connect Endpoint.

An EC2 Instance Connect Endpoint allows you to connect to an instance, without requiring the instance to have a public IPv4 address. For more information, see Connect to your instances without requiring a public IPv4 address using EC2 Instance Connect Endpoint in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_instance_connect_endpoint({
  dry_run: false,
  subnet_id: "SubnetId", # required
  security_group_ids: ["SecurityGroupId"],
  preserve_client_ip: false,
  client_token: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
})

Response structure


resp.instance_connect_endpoint.owner_id #=> String
resp.instance_connect_endpoint.instance_connect_endpoint_id #=> String
resp.instance_connect_endpoint.instance_connect_endpoint_arn #=> String
resp.instance_connect_endpoint.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "delete-in-progress", "delete-complete", "delete-failed"
resp.instance_connect_endpoint.state_message #=> String
resp.instance_connect_endpoint.dns_name #=> String
resp.instance_connect_endpoint.fips_dns_name #=> String
resp.instance_connect_endpoint.network_interface_ids #=> Array
resp.instance_connect_endpoint.network_interface_ids[0] #=> String
resp.instance_connect_endpoint.vpc_id #=> String
resp.instance_connect_endpoint.availability_zone #=> String
resp.instance_connect_endpoint.created_at #=> Time
resp.instance_connect_endpoint.subnet_id #=> String
resp.instance_connect_endpoint.preserve_client_ip #=> Boolean
resp.instance_connect_endpoint.security_group_ids #=> Array
resp.instance_connect_endpoint.security_group_ids[0] #=> String
resp.instance_connect_endpoint.tags #=> Array
resp.instance_connect_endpoint.tags[0].key #=> String
resp.instance_connect_endpoint.tags[0].value #=> String
resp.client_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :subnet_id (required, String)

    The ID of the subnet in which to create the EC2 Instance Connect Endpoint.

  • :security_group_ids (Array<String>)

    One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for your VPC will be associated with the endpoint.

  • :preserve_client_ip (Boolean)

    Indicates whether the client IP address is preserved as the source. The following are the possible values.

    • true - Use the client IP address as the source.

    • false - Use the network interface IP address as the source.

    Default: false

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the EC2 Instance Connect Endpoint during creation.

Returns:

See Also:



7851
7852
7853
7854
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 7851

def create_instance_connect_endpoint(params = {}, options = {})
  req = build_request(:create_instance_connect_endpoint, params)
  req.send_request(options)
end

#create_instance_event_window(params = {}) ⇒ Types::CreateInstanceEventWindowResult

Creates an event window in which scheduled events for the associated Amazon EC2 instances can run.

You can define either a set of time ranges or a cron expression when creating the event window, but not both. All event window times are in UTC.

You can create up to 200 event windows per Amazon Web Services Region.

When you create the event window, targets (instance IDs, Dedicated Host IDs, or tags) are not yet associated with it. To ensure that the event window can be used, you must associate one or more targets with it by using the AssociateInstanceEventWindow API.

Event windows are applicable only for scheduled events that stop, reboot, or terminate instances.

Event windows are not applicable for:

  • Expedited scheduled events and network maintenance events.

  • Unscheduled maintenance such as AutoRecovery and unplanned reboots.

For more information, see Define event windows for scheduled events in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_instance_event_window({
  dry_run: false,
  name: "String",
  time_ranges: [
    {
      start_week_day: "sunday", # accepts sunday, monday, tuesday, wednesday, thursday, friday, saturday
      start_hour: 1,
      end_week_day: "sunday", # accepts sunday, monday, tuesday, wednesday, thursday, friday, saturday
      end_hour: 1,
    },
  ],
  cron_expression: "InstanceEventWindowCronExpression",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
})

Response structure


resp.instance_event_window.instance_event_window_id #=> String
resp.instance_event_window.time_ranges #=> Array
resp.instance_event_window.time_ranges[0].start_week_day #=> String, one of "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"
resp.instance_event_window.time_ranges[0].start_hour #=> Integer
resp.instance_event_window.time_ranges[0].end_week_day #=> String, one of "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"
resp.instance_event_window.time_ranges[0].end_hour #=> Integer
resp.instance_event_window.name #=> String
resp.instance_event_window.cron_expression #=> String
resp.instance_event_window.association_target.instance_ids #=> Array
resp.instance_event_window.association_target.instance_ids[0] #=> String
resp.instance_event_window.association_target.tags #=> Array
resp.instance_event_window.association_target.tags[0].key #=> String
resp.instance_event_window.association_target.tags[0].value #=> String
resp.instance_event_window.association_target.dedicated_host_ids #=> Array
resp.instance_event_window.association_target.dedicated_host_ids[0] #=> String
resp.instance_event_window.state #=> String, one of "creating", "deleting", "active", "deleted"
resp.instance_event_window.tags #=> Array
resp.instance_event_window.tags[0].key #=> String
resp.instance_event_window.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :name (String)

    The name of the event window.

  • :time_ranges (Array<Types::InstanceEventWindowTimeRangeRequest>)

    The time range for the event window. If you specify a time range, you can't specify a cron expression.

  • :cron_expression (String)

    The cron expression for the event window, for example, * 0-4,20-23 * * 1,5. If you specify a cron expression, you can't specify a time range.

    Constraints:

    • Only hour and day of the week values are supported.

    • For day of the week values, you can specify either integers 0 through 6, or alternative single values SUN through SAT.

    • The minute, month, and year must be specified by *.

    • The hour value must be one or a multiple range, for example, 0-4 or 0-4,20-23.

    • Each hour range must be >= 2 hours, for example, 0-2 or 20-23.

    • The event window must be >= 4 hours. The combined total time ranges in the event window must be >= 4 hours.

    For more information about cron expressions, see cron on the Wikipedia website.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the event window.

Returns:

See Also:



7989
7990
7991
7992
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 7989

def create_instance_event_window(params = {}, options = {})
  req = build_request(:create_instance_event_window, params)
  req.send_request(options)
end

#create_instance_export_task(params = {}) ⇒ Types::CreateInstanceExportTaskResult

Exports a running or stopped instance to an Amazon S3 bucket.

For information about the prerequisites for your Amazon S3 bucket, supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting an instance as a VM Using VM Import/Export in the VM Import/Export User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_instance_export_task({
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  description: "String",
  instance_id: "InstanceId", # required
  target_environment: "citrix", # required, accepts citrix, vmware, microsoft
  export_to_s3_task: { # required
    disk_image_format: "VMDK", # accepts VMDK, RAW, VHD
    container_format: "ova", # accepts ova
    s3_bucket: "String",
    s3_prefix: "String",
  },
})

Response structure


resp.export_task.description #=> String
resp.export_task.export_task_id #=> String
resp.export_task.export_to_s3_task.container_format #=> String, one of "ova"
resp.export_task.export_to_s3_task.disk_image_format #=> String, one of "VMDK", "RAW", "VHD"
resp.export_task.export_to_s3_task.s3_bucket #=> String
resp.export_task.export_to_s3_task.s3_key #=> String
resp.export_task.instance_export_details.instance_id #=> String
resp.export_task.instance_export_details.target_environment #=> String, one of "citrix", "vmware", "microsoft"
resp.export_task.state #=> String, one of "active", "cancelling", "cancelled", "completed"
resp.export_task.status_message #=> String
resp.export_task.tags #=> Array
resp.export_task.tags[0].key #=> String
resp.export_task.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the export instance task during creation.

  • :description (String)

    A description for the conversion task or the resource being exported. The maximum length is 255 characters.

  • :instance_id (required, String)

    The ID of the instance.

  • :target_environment (required, String)

    The target virtualization environment.

  • :export_to_s3_task (required, Types::ExportToS3TaskSpecification)

    The format and location for an export instance task.

Returns:

See Also:



8070
8071
8072
8073
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 8070

def create_instance_export_task(params = {}, options = {})
  req = build_request(:create_instance_export_task, params)
  req.send_request(options)
end

#create_internet_gateway(params = {}) ⇒ Types::CreateInternetGatewayResult

Creates an internet gateway for use with a VPC. After creating the internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information, see Internet gateways in the Amazon VPC User Guide.

Examples:

Example: To create an Internet gateway


# This example creates an Internet gateway.

resp = client.create_internet_gateway({
})

resp.to_h outputs the following:
{
  internet_gateway: {
    attachments: [
    ], 
    internet_gateway_id: "igw-c0a643a9", 
    tags: [
    ], 
  }, 
}

Request syntax with placeholder values


resp = client.create_internet_gateway({
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.internet_gateway.attachments #=> Array
resp.internet_gateway.attachments[0].state #=> String, one of "attaching", "attached", "detaching", "detached"
resp.internet_gateway.attachments[0].vpc_id #=> String
resp.internet_gateway.internet_gateway_id #=> String
resp.internet_gateway.owner_id #=> String
resp.internet_gateway.tags #=> Array
resp.internet_gateway.tags[0].key #=> String
resp.internet_gateway.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the internet gateway.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



8149
8150
8151
8152
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 8149

def create_internet_gateway(params = {}, options = {})
  req = build_request(:create_internet_gateway, params)
  req.send_request(options)
end

#create_ipam(params = {}) ⇒ Types::CreateIpamResult

Create an IPAM. Amazon VPC IP Address Manager (IPAM) is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization.

For more information, see Create an IPAM in the Amazon VPC IPAM User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_ipam({
  dry_run: false,
  description: "String",
  operating_regions: [
    {
      region_name: "String",
    },
  ],
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  client_token: "String",
  tier: "free", # accepts free, advanced
  enable_private_gua: false,
})

Response structure


resp.ipam.owner_id #=> String
resp.ipam.ipam_id #=> String
resp.ipam.ipam_arn #=> String
resp.ipam.ipam_region #=> String
resp.ipam.public_default_scope_id #=> String
resp.ipam.private_default_scope_id #=> String
resp.ipam.scope_count #=> Integer
resp.ipam.description #=> String
resp.ipam.operating_regions #=> Array
resp.ipam.operating_regions[0].region_name #=> String
resp.ipam.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "modify-in-progress", "modify-complete", "modify-failed", "delete-in-progress", "delete-complete", "delete-failed", "isolate-in-progress", "isolate-complete", "restore-in-progress"
resp.ipam.tags #=> Array
resp.ipam.tags[0].key #=> String
resp.ipam.tags[0].value #=> String
resp.ipam.default_resource_discovery_id #=> String
resp.ipam.default_resource_discovery_association_id #=> String
resp.ipam.resource_discovery_association_count #=> Integer
resp.ipam.state_message #=> String
resp.ipam.tier #=> String, one of "free", "advanced"
resp.ipam.enable_private_gua #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :description (String)

    A description for the IPAM.

  • :operating_regions (Array<Types::AddIpamOperatingRegion>)

    The operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

    For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

  • :tag_specifications (Array<Types::TagSpecification>)

    The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :tier (String)

    IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see Amazon VPC pricing > IPAM tab.

  • :enable_private_gua (Boolean)

    Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.

Returns:

See Also:



8278
8279
8280
8281
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 8278

def create_ipam(params = {}, options = {})
  req = build_request(:create_ipam, params)
  req.send_request(options)
end

#create_ipam_external_resource_verification_token(params = {}) ⇒ Types::CreateIpamExternalResourceVerificationTokenResult

Create a verification token. A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).

Examples:

Request syntax with placeholder values


resp = client.create_ipam_external_resource_verification_token({
  dry_run: false,
  ipam_id: "IpamId", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  client_token: "String",
})

Response structure


resp.ipam_external_resource_verification_token.ipam_external_resource_verification_token_id #=> String
resp.ipam_external_resource_verification_token.ipam_external_resource_verification_token_arn #=> String
resp.ipam_external_resource_verification_token.ipam_id #=> String
resp.ipam_external_resource_verification_token.ipam_arn #=> String
resp.ipam_external_resource_verification_token.ipam_region #=> String
resp.ipam_external_resource_verification_token.token_value #=> String
resp.ipam_external_resource_verification_token.token_name #=> String
resp.ipam_external_resource_verification_token.not_after #=> Time
resp.ipam_external_resource_verification_token.status #=> String, one of "valid", "expired"
resp.ipam_external_resource_verification_token.tags #=> Array
resp.ipam_external_resource_verification_token.tags[0].key #=> String
resp.ipam_external_resource_verification_token.tags[0].value #=> String
resp.ipam_external_resource_verification_token.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "delete-in-progress", "delete-complete", "delete-failed"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :ipam_id (required, String)

    The ID of the IPAM that will create the token.

  • :tag_specifications (Array<Types::TagSpecification>)

    Token tags.

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



8356
8357
8358
8359
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 8356

def create_ipam_external_resource_verification_token(params = {}, options = {})
  req = build_request(:create_ipam_external_resource_verification_token, params)
  req.send_request(options)
end

#create_ipam_pool(params = {}) ⇒ Types::CreateIpamPoolResult

Create an IP address pool for Amazon VPC IP Address Manager (IPAM). In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.

For more information, see Create a top-level pool in the Amazon VPC IPAM User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_ipam_pool({
  dry_run: false,
  ipam_scope_id: "IpamScopeId", # required
  locale: "String",
  source_ipam_pool_id: "IpamPoolId",
  description: "String",
  address_family: "ipv4", # required, accepts ipv4, ipv6
  auto_import: false,
  publicly_advertisable: false,
  allocation_min_netmask_length: 1,
  allocation_max_netmask_length: 1,
  allocation_default_netmask_length: 1,
  allocation_resource_tags: [
    {
      key: "String",
      value: "String",
    },
  ],
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  client_token: "String",
  aws_service: "ec2", # accepts ec2
  public_ip_source: "amazon", # accepts amazon, byoip
  source_resource: {
    resource_id: "String",
    resource_type: "vpc", # accepts vpc
    resource_region: "String",
    resource_owner: "String",
  },
})

Response structure


resp.ipam_pool.owner_id #=> String
resp.ipam_pool.ipam_pool_id #=> String
resp.ipam_pool.source_ipam_pool_id #=> String
resp.ipam_pool.ipam_pool_arn #=> String
resp.ipam_pool.ipam_scope_arn #=> String
resp.ipam_pool.ipam_scope_type #=> String, one of "public", "private"
resp.ipam_pool.ipam_arn #=> String
resp.ipam_pool.ipam_region #=> String
resp.ipam_pool.locale #=> String
resp.ipam_pool.pool_depth #=> Integer
resp.ipam_pool.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "modify-in-progress", "modify-complete", "modify-failed", "delete-in-progress", "delete-complete", "delete-failed", "isolate-in-progress", "isolate-complete", "restore-in-progress"
resp.ipam_pool.state_message #=> String
resp.ipam_pool.description #=> String
resp.ipam_pool.auto_import #=> Boolean
resp.ipam_pool.publicly_advertisable #=> Boolean
resp.ipam_pool.address_family #=> String, one of "ipv4", "ipv6"
resp.ipam_pool.allocation_min_netmask_length #=> Integer
resp.ipam_pool.allocation_max_netmask_length #=> Integer
resp.ipam_pool.allocation_default_netmask_length #=> Integer
resp.ipam_pool.allocation_resource_tags #=> Array
resp.ipam_pool.allocation_resource_tags[0].key #=> String
resp.ipam_pool.allocation_resource_tags[0].value #=> String
resp.ipam_pool.tags #=> Array
resp.ipam_pool.tags[0].key #=> String
resp.ipam_pool.tags[0].value #=> String
resp.ipam_pool.aws_service #=> String, one of "ec2"
resp.ipam_pool.public_ip_source #=> String, one of "amazon", "byoip"
resp.ipam_pool.source_resource.resource_id #=> String
resp.ipam_pool.source_resource.resource_type #=> String, one of "vpc"
resp.ipam_pool.source_resource.resource_region #=> String
resp.ipam_pool.source_resource.resource_owner #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :ipam_scope_id (required, String)

    The ID of the scope in which you would like to create the IPAM pool.

  • :locale (String)

    The locale for the pool should be one of the following:

    • An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

    • The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

    Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone. Default is none and means any locale.

  • :source_ipam_pool_id (String)

    The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range.

  • :description (String)

    A description for the IPAM pool.

  • :address_family (required, String)

    The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool.

  • :auto_import (Boolean)

    If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.

    A locale must be set on the pool for this feature to work.

  • :publicly_advertisable (Boolean)

    Determines if the pool is publicly advertisable. The request can only contain PubliclyAdvertisable if AddressFamily is ipv6 and PublicIpSource is byoip.

  • :allocation_min_netmask_length (Integer)

    The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

  • :allocation_max_netmask_length (Integer)

    The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

  • :allocation_default_netmask_length (Integer)

    The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.

  • :allocation_resource_tags (Array<Types::RequestIpamResourceTag>)

    Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.

  • :tag_specifications (Array<Types::TagSpecification>)

    The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :aws_service (String)

    Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs.

  • :public_ip_source (String)

    The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is byoip. For more information, see Create IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

  • :source_resource (Types::IpamPoolSourceResourceRequest)

    The resource used to provision CIDRs to a resource planning pool.

Returns:

See Also:



8586
8587
8588
8589
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 8586

def create_ipam_pool(params = {}, options = {})
  req = build_request(:create_ipam_pool, params)
  req.send_request(options)
end

#create_ipam_resource_discovery(params = {}) ⇒ Types::CreateIpamResourceDiscoveryResult

Creates an IPAM resource discovery. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account.

Examples:

Request syntax with placeholder values


resp = client.create_ipam_resource_discovery({
  dry_run: false,
  description: "String",
  operating_regions: [
    {
      region_name: "String",
    },
  ],
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  client_token: "String",
})

Response structure


resp.ipam_resource_discovery.owner_id #=> String
resp.ipam_resource_discovery.ipam_resource_discovery_id #=> String
resp.ipam_resource_discovery.ipam_resource_discovery_arn #=> String
resp.ipam_resource_discovery.ipam_resource_discovery_region #=> String
resp.ipam_resource_discovery.description #=> String
resp.ipam_resource_discovery.operating_regions #=> Array
resp.ipam_resource_discovery.operating_regions[0].region_name #=> String
resp.ipam_resource_discovery.is_default #=> Boolean
resp.ipam_resource_discovery.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "modify-in-progress", "modify-complete", "modify-failed", "delete-in-progress", "delete-complete", "delete-failed", "isolate-in-progress", "isolate-complete", "restore-in-progress"
resp.ipam_resource_discovery.tags #=> Array
resp.ipam_resource_discovery.tags[0].key #=> String
resp.ipam_resource_discovery.tags[0].value #=> String
resp.ipam_resource_discovery.organizational_unit_exclusions #=> Array
resp.ipam_resource_discovery.organizational_unit_exclusions[0].organizations_entity_path #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :description (String)

    A description for the IPAM resource discovery.

  • :operating_regions (Array<Types::AddIpamOperatingRegion>)

    Operating Regions for the IPAM resource discovery. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

  • :tag_specifications (Array<Types::TagSpecification>)

    Tag specifications for the IPAM resource discovery.

  • :client_token (String)

    A client token for the IPAM resource discovery.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



8668
8669
8670
8671
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 8668

def create_ipam_resource_discovery(params = {}, options = {})
  req = build_request(:create_ipam_resource_discovery, params)
  req.send_request(options)
end

#create_ipam_scope(params = {}) ⇒ Types::CreateIpamScopeResult

Create an IPAM scope. In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

For more information, see Add a scope in the Amazon VPC IPAM User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_ipam_scope({
  dry_run: false,
  ipam_id: "IpamId", # required
  description: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  client_token: "String",
})

Response structure


resp.ipam_scope.owner_id #=> String
resp.ipam_scope.ipam_scope_id #=> String
resp.ipam_scope.ipam_scope_arn #=> String
resp.ipam_scope.ipam_arn #=> String
resp.ipam_scope.ipam_region #=> String
resp.ipam_scope.ipam_scope_type #=> String, one of "public", "private"
resp.ipam_scope.is_default #=> Boolean
resp.ipam_scope.description #=> String
resp.ipam_scope.pool_count #=> Integer
resp.ipam_scope.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "modify-in-progress", "modify-complete", "modify-failed", "delete-in-progress", "delete-complete", "delete-failed", "isolate-in-progress", "isolate-complete", "restore-in-progress"
resp.ipam_scope.tags #=> Array
resp.ipam_scope.tags[0].key #=> String
resp.ipam_scope.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :ipam_id (required, String)

    The ID of the IPAM for which you're creating this scope.

  • :description (String)

    A description for the scope you're creating.

  • :tag_specifications (Array<Types::TagSpecification>)

    The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



8763
8764
8765
8766
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 8763

def create_ipam_scope(params = {}, options = {})
  req = build_request(:create_ipam_scope, params)
  req.send_request(options)
end

#create_key_pair(params = {}) ⇒ Types::KeyPair

Creates an ED25519 or 2048-bit RSA key pair with the specified name and in the specified format. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#1 private key or an unencrypted PPK formatted private key for use with PuTTY. If a key with the specified name already exists, Amazon EC2 returns an error.

The key pair returned to you is available only in the Amazon Web Services Region in which you create it. If you prefer, you can create your own key pair using a third-party tool and upload it to any Region using ImportKeyPair.

You can have up to 5,000 key pairs per Amazon Web Services Region.

For more information, see Amazon EC2 key pairs in the Amazon EC2 User Guide.

Examples:

Example: To create a key pair


# This example creates a key pair named my-key-pair.

resp = client.create_key_pair({
  key_name: "my-key-pair", 
})

Request syntax with placeholder values


resp = client.create_key_pair({
  key_name: "String", # required
  key_type: "rsa", # accepts rsa, ed25519
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  key_format: "pem", # accepts pem, ppk
  dry_run: false,
})

Response structure


resp.key_pair_id #=> String
resp.tags #=> Array
resp.tags[0].key #=> String
resp.tags[0].value #=> String
resp.key_name #=> String
resp.key_fingerprint #=> String
resp.key_material #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :key_name (required, String)

    A unique name for the key pair.

    Constraints: Up to 255 ASCII characters

  • :key_type (String)

    The type of key pair. Note that ED25519 keys are not supported for Windows instances.

    Default: rsa

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the new key pair.

  • :key_format (String)

    The format of the key pair.

    Default: pem

  • :dry_run (Boolean)

    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.

Returns:

See Also:



8865
8866
8867
8868
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 8865

def create_key_pair(params = {}, options = {})
  req = build_request(:create_key_pair, params)
  req.send_request(options)
end

#create_launch_template(params = {}) ⇒ Types::CreateLaunchTemplateResult

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon EC2 User Guide.

Examples:

Example: To create a launch template


# This example creates a launch template that specifies the subnet in which to launch the instance, assigns a public IP
# address and an IPv6 address to the instance, and creates a tag for the instance.

resp = client.create_launch_template({
  launch_template_data: {
    image_id: "ami-8c1be5f6", 
    instance_type: "t2.small", 
    network_interfaces: [
      {
        associate_public_ip_address: true, 
        device_index: 0, 
        ipv_6_address_count: 1, 
        subnet_id: "subnet-7b16de0c", 
      }, 
    ], 
    tag_specifications: [
      {
        resource_type: "instance", 
        tags: [
          {
            key: "Name", 
            value: "webserver", 
          }, 
        ], 
      }, 
    ], 
  }, 
  launch_template_name: "my-template", 
  version_description: "WebVersion1", 
})

resp.to_h outputs the following:
{
  launch_template: {
    create_time: Time.parse("2017-11-27T09:13:24.000Z"), 
    created_by: "arn:aws:iam::123456789012:root", 
    default_version_number: 1, 
    latest_version_number: 1, 
    launch_template_id: "lt-01238c059e3466abc", 
    launch_template_name: "my-template", 
  }, 
}

Request syntax with placeholder values


resp = client.create_launch_template({
  dry_run: false,
  client_token: "String",
  launch_template_name: "LaunchTemplateName", # required
  version_description: "VersionDescription",
  launch_template_data: { # required
    kernel_id: "KernelId",
    ebs_optimized: false,
    iam_instance_profile: {
      arn: "String",
      name: "String",
    },
    block_device_mappings: [
      {
        device_name: "String",
        virtual_name: "String",
        ebs: {
          encrypted: false,
          delete_on_termination: false,
          iops: 1,
          kms_key_id: "KmsKeyId",
          snapshot_id: "SnapshotId",
          volume_size: 1,
          volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
          throughput: 1,
        },
        no_device: "String",
      },
    ],
    network_interfaces: [
      {
        associate_carrier_ip_address: false,
        associate_public_ip_address: false,
        delete_on_termination: false,
        description: "String",
        device_index: 1,
        groups: ["SecurityGroupId"],
        interface_type: "String",
        ipv_6_address_count: 1,
        ipv_6_addresses: [
          {
            ipv_6_address: "String",
          },
        ],
        network_interface_id: "NetworkInterfaceId",
        private_ip_address: "String",
        private_ip_addresses: [
          {
            primary: false,
            private_ip_address: "String",
          },
        ],
        secondary_private_ip_address_count: 1,
        subnet_id: "SubnetId",
        network_card_index: 1,
        ipv_4_prefixes: [
          {
            ipv_4_prefix: "String",
          },
        ],
        ipv_4_prefix_count: 1,
        ipv_6_prefixes: [
          {
            ipv_6_prefix: "String",
          },
        ],
        ipv_6_prefix_count: 1,
        primary_ipv_6: false,
        ena_srd_specification: {
          ena_srd_enabled: false,
          ena_srd_udp_specification: {
            ena_srd_udp_enabled: false,
          },
        },
        connection_tracking_specification: {
          tcp_established_timeout: 1,
          udp_stream_timeout: 1,
          udp_timeout: 1,
        },
      },
    ],
    image_id: "ImageId",
    instance_type: "a1.medium", # accepts a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge, a1.metal, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal, c5a.large, c5a.xlarge, c5a.2xlarge, c5a.4xlarge, c5a.8xlarge, c5a.12xlarge, c5a.16xlarge, c5a.24xlarge, c5ad.large, c5ad.xlarge, c5ad.2xlarge, c5ad.4xlarge, c5ad.8xlarge, c5ad.12xlarge, c5ad.16xlarge, c5ad.24xlarge, c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.12xlarge, c5d.18xlarge, c5d.24xlarge, c5d.metal, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge, c5n.metal, c6g.medium, c6g.large, c6g.xlarge, c6g.2xlarge, c6g.4xlarge, c6g.8xlarge, c6g.12xlarge, c6g.16xlarge, c6g.metal, c6gd.medium, c6gd.large, c6gd.xlarge, c6gd.2xlarge, c6gd.4xlarge, c6gd.8xlarge, c6gd.12xlarge, c6gd.16xlarge, c6gd.metal, c6gn.medium, c6gn.large, c6gn.xlarge, c6gn.2xlarge, c6gn.4xlarge, c6gn.8xlarge, c6gn.12xlarge, c6gn.16xlarge, c6i.large, c6i.xlarge, c6i.2xlarge, c6i.4xlarge, c6i.8xlarge, c6i.12xlarge, c6i.16xlarge, c6i.24xlarge, c6i.32xlarge, c6i.metal, cc1.4xlarge, cc2.8xlarge, cg1.4xlarge, cr1.8xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, d3.xlarge, d3.2xlarge, d3.4xlarge, d3.8xlarge, d3en.xlarge, d3en.2xlarge, d3en.4xlarge, d3en.6xlarge, d3en.8xlarge, d3en.12xlarge, dl1.24xlarge, f1.2xlarge, f1.4xlarge, f1.16xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, g3s.xlarge, g4ad.xlarge, g4ad.2xlarge, g4ad.4xlarge, g4ad.8xlarge, g4ad.16xlarge, g4dn.xlarge, g4dn.2xlarge, g4dn.4xlarge, g4dn.8xlarge, g4dn.12xlarge, g4dn.16xlarge, g4dn.metal, g5.xlarge, g5.2xlarge, g5.4xlarge, g5.8xlarge, g5.12xlarge, g5.16xlarge, g5.24xlarge, g5.48xlarge, g5g.xlarge, g5g.2xlarge, g5g.4xlarge, g5g.8xlarge, g5g.16xlarge, g5g.metal, hi1.4xlarge, hpc6a.48xlarge, hs1.8xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, i3.metal, i3en.large, i3en.xlarge, i3en.2xlarge, i3en.3xlarge, i3en.6xlarge, i3en.12xlarge, i3en.24xlarge, i3en.metal, im4gn.large, im4gn.xlarge, im4gn.2xlarge, im4gn.4xlarge, im4gn.8xlarge, im4gn.16xlarge, inf1.xlarge, inf1.2xlarge, inf1.6xlarge, inf1.24xlarge, is4gen.medium, is4gen.large, is4gen.xlarge, is4gen.2xlarge, is4gen.4xlarge, is4gen.8xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.8xlarge, m5a.12xlarge, m5a.16xlarge, m5a.24xlarge, m5ad.large, m5ad.xlarge, m5ad.2xlarge, m5ad.4xlarge, m5ad.8xlarge, m5ad.12xlarge, m5ad.16xlarge, m5ad.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.8xlarge, m5d.12xlarge, m5d.16xlarge, m5d.24xlarge, m5d.metal, m5dn.large, m5dn.xlarge, m5dn.2xlarge, m5dn.4xlarge, m5dn.8xlarge, m5dn.12xlarge, m5dn.16xlarge, m5dn.24xlarge, m5dn.metal, m5n.large, m5n.xlarge, m5n.2xlarge, m5n.4xlarge, m5n.8xlarge, m5n.12xlarge, m5n.16xlarge, m5n.24xlarge, m5n.metal, m5zn.large, m5zn.xlarge, m5zn.2xlarge, m5zn.3xlarge, m5zn.6xlarge, m5zn.12xlarge, m5zn.metal, m6a.large, m6a.xlarge, m6a.2xlarge, m6a.4xlarge, m6a.8xlarge, m6a.12xlarge, m6a.16xlarge, m6a.24xlarge, m6a.32xlarge, m6a.48xlarge, m6g.metal, m6g.medium, m6g.large, m6g.xlarge, m6g.2xlarge, m6g.4xlarge, m6g.8xlarge, m6g.12xlarge, m6g.16xlarge, m6gd.metal, m6gd.medium, m6gd.large, m6gd.xlarge, m6gd.2xlarge, m6gd.4xlarge, m6gd.8xlarge, m6gd.12xlarge, m6gd.16xlarge, m6i.large, m6i.xlarge, m6i.2xlarge, m6i.4xlarge, m6i.8xlarge, m6i.12xlarge, m6i.16xlarge, m6i.24xlarge, m6i.32xlarge, m6i.metal, mac1.metal, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, p3dn.24xlarge, p4d.24xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.8xlarge, r5a.12xlarge, r5a.16xlarge, r5a.24xlarge, r5ad.large, r5ad.xlarge, r5ad.2xlarge, r5ad.4xlarge, r5ad.8xlarge, r5ad.12xlarge, r5ad.16xlarge, r5ad.24xlarge, r5b.large, r5b.xlarge, r5b.2xlarge, r5b.4xlarge, r5b.8xlarge, r5b.12xlarge, r5b.16xlarge, r5b.24xlarge, r5b.metal, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, r5d.24xlarge, r5d.metal, r5dn.large, r5dn.xlarge, r5dn.2xlarge, r5dn.4xlarge, r5dn.8xlarge, r5dn.12xlarge, r5dn.16xlarge, r5dn.24xlarge, r5dn.metal, r5n.large, r5n.xlarge, r5n.2xlarge, r5n.4xlarge, r5n.8xlarge, r5n.12xlarge, r5n.16xlarge, r5n.24xlarge, r5n.metal, r6g.medium, r6g.large, r6g.xlarge, r6g.2xlarge, r6g.4xlarge, r6g.8xlarge, r6g.12xlarge, r6g.16xlarge, r6g.metal, r6gd.medium, r6gd.large, r6gd.xlarge, r6gd.2xlarge, r6gd.4xlarge, r6gd.8xlarge, r6gd.12xlarge, r6gd.16xlarge, r6gd.metal, r6i.large, r6i.xlarge, r6i.2xlarge, r6i.4xlarge, r6i.8xlarge, r6i.12xlarge, r6i.16xlarge, r6i.24xlarge, r6i.32xlarge, r6i.metal, t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge, t3a.nano, t3a.micro, t3a.small, t3a.medium, t3a.large, t3a.xlarge, t3a.2xlarge, t4g.nano, t4g.micro, t4g.small, t4g.medium, t4g.large, t4g.xlarge, t4g.2xlarge, u-6tb1.56xlarge, u-6tb1.112xlarge, u-9tb1.112xlarge, u-12tb1.112xlarge, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, u-18tb1.metal, u-24tb1.metal, vt1.3xlarge, vt1.6xlarge, vt1.24xlarge, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, x2iezn.2xlarge, x2iezn.4xlarge, x2iezn.6xlarge, x2iezn.8xlarge, x2iezn.12xlarge, x2iezn.metal, x2gd.medium, x2gd.large, x2gd.xlarge, x2gd.2xlarge, x2gd.4xlarge, x2gd.8xlarge, x2gd.12xlarge, x2gd.16xlarge, x2gd.metal, z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge, z1d.metal, x2idn.16xlarge, x2idn.24xlarge, x2idn.32xlarge, x2iedn.xlarge, x2iedn.2xlarge, x2iedn.4xlarge, x2iedn.8xlarge, x2iedn.16xlarge, x2iedn.24xlarge, x2iedn.32xlarge, c6a.large, c6a.xlarge, c6a.2xlarge, c6a.4xlarge, c6a.8xlarge, c6a.12xlarge, c6a.16xlarge, c6a.24xlarge, c6a.32xlarge, c6a.48xlarge, c6a.metal, m6a.metal, i4i.large, i4i.xlarge, i4i.2xlarge, i4i.4xlarge, i4i.8xlarge, i4i.16xlarge, i4i.32xlarge, i4i.metal, x2idn.metal, x2iedn.metal, c7g.medium, c7g.large, c7g.xlarge, c7g.2xlarge, c7g.4xlarge, c7g.8xlarge, c7g.12xlarge, c7g.16xlarge, mac2.metal, c6id.large, c6id.xlarge, c6id.2xlarge, c6id.4xlarge, c6id.8xlarge, c6id.12xlarge, c6id.16xlarge, c6id.24xlarge, c6id.32xlarge, c6id.metal, m6id.large, m6id.xlarge, m6id.2xlarge, m6id.4xlarge, m6id.8xlarge, m6id.12xlarge, m6id.16xlarge, m6id.24xlarge, m6id.32xlarge, m6id.metal, r6id.large, r6id.xlarge, r6id.2xlarge, r6id.4xlarge, r6id.8xlarge, r6id.12xlarge, r6id.16xlarge, r6id.24xlarge, r6id.32xlarge, r6id.metal, r6a.large, r6a.xlarge, r6a.2xlarge, r6a.4xlarge, r6a.8xlarge, r6a.12xlarge, r6a.16xlarge, r6a.24xlarge, r6a.32xlarge, r6a.48xlarge, r6a.metal, p4de.24xlarge, u-3tb1.56xlarge, u-18tb1.112xlarge, u-24tb1.112xlarge, trn1.2xlarge, trn1.32xlarge, hpc6id.32xlarge, c6in.large, c6in.xlarge, c6in.2xlarge, c6in.4xlarge, c6in.8xlarge, c6in.12xlarge, c6in.16xlarge, c6in.24xlarge, c6in.32xlarge, m6in.large, m6in.xlarge, m6in.2xlarge, m6in.4xlarge, m6in.8xlarge, m6in.12xlarge, m6in.16xlarge, m6in.24xlarge, m6in.32xlarge, m6idn.large, m6idn.xlarge, m6idn.2xlarge, m6idn.4xlarge, m6idn.8xlarge, m6idn.12xlarge, m6idn.16xlarge, m6idn.24xlarge, m6idn.32xlarge, r6in.large, r6in.xlarge, r6in.2xlarge, r6in.4xlarge, r6in.8xlarge, r6in.12xlarge, r6in.16xlarge, r6in.24xlarge, r6in.32xlarge, r6idn.large, r6idn.xlarge, r6idn.2xlarge, r6idn.4xlarge, r6idn.8xlarge, r6idn.12xlarge, r6idn.16xlarge, r6idn.24xlarge, r6idn.32xlarge, c7g.metal, m7g.medium, m7g.large, m7g.xlarge, m7g.2xlarge, m7g.4xlarge, m7g.8xlarge, m7g.12xlarge, m7g.16xlarge, m7g.metal, r7g.medium, r7g.large, r7g.xlarge, r7g.2xlarge, r7g.4xlarge, r7g.8xlarge, r7g.12xlarge, r7g.16xlarge, r7g.metal, c6in.metal, m6in.metal, m6idn.metal, r6in.metal, r6idn.metal, inf2.xlarge, inf2.8xlarge, inf2.24xlarge, inf2.48xlarge, trn1n.32xlarge, i4g.large, i4g.xlarge, i4g.2xlarge, i4g.4xlarge, i4g.8xlarge, i4g.16xlarge, hpc7g.4xlarge, hpc7g.8xlarge, hpc7g.16xlarge, c7gn.medium, c7gn.large, c7gn.xlarge, c7gn.2xlarge, c7gn.4xlarge, c7gn.8xlarge, c7gn.12xlarge, c7gn.16xlarge, p5.48xlarge, m7i.large, m7i.xlarge, m7i.2xlarge, m7i.4xlarge, m7i.8xlarge, m7i.12xlarge, m7i.16xlarge, m7i.24xlarge, m7i.48xlarge, m7i-flex.large, m7i-flex.xlarge, m7i-flex.2xlarge, m7i-flex.4xlarge, m7i-flex.8xlarge, m7a.medium, m7a.large, m7a.xlarge, m7a.2xlarge, m7a.4xlarge, m7a.8xlarge, m7a.12xlarge, m7a.16xlarge, m7a.24xlarge, m7a.32xlarge, m7a.48xlarge, m7a.metal-48xl, hpc7a.12xlarge, hpc7a.24xlarge, hpc7a.48xlarge, hpc7a.96xlarge, c7gd.medium, c7gd.large, c7gd.xlarge, c7gd.2xlarge, c7gd.4xlarge, c7gd.8xlarge, c7gd.12xlarge, c7gd.16xlarge, m7gd.medium, m7gd.large, m7gd.xlarge, m7gd.2xlarge, m7gd.4xlarge, m7gd.8xlarge, m7gd.12xlarge, m7gd.16xlarge, r7gd.medium, r7gd.large, r7gd.xlarge, r7gd.2xlarge, r7gd.4xlarge, r7gd.8xlarge, r7gd.12xlarge, r7gd.16xlarge, r7a.medium, r7a.large, r7a.xlarge, r7a.2xlarge, r7a.4xlarge, r7a.8xlarge, r7a.12xlarge, r7a.16xlarge, r7a.24xlarge, r7a.32xlarge, r7a.48xlarge, c7i.large, c7i.xlarge, c7i.2xlarge, c7i.4xlarge, c7i.8xlarge, c7i.12xlarge, c7i.16xlarge, c7i.24xlarge, c7i.48xlarge, mac2-m2pro.metal, r7iz.large, r7iz.xlarge, r7iz.2xlarge, r7iz.4xlarge, r7iz.8xlarge, r7iz.12xlarge, r7iz.16xlarge, r7iz.32xlarge, c7a.medium, c7a.large, c7a.xlarge, c7a.2xlarge, c7a.4xlarge, c7a.8xlarge, c7a.12xlarge, c7a.16xlarge, c7a.24xlarge, c7a.32xlarge, c7a.48xlarge, c7a.metal-48xl, r7a.metal-48xl, r7i.large, r7i.xlarge, r7i.2xlarge, r7i.4xlarge, r7i.8xlarge, r7i.12xlarge, r7i.16xlarge, r7i.24xlarge, r7i.48xlarge, dl2q.24xlarge, mac2-m2.metal, i4i.12xlarge, i4i.24xlarge, c7i.metal-24xl, c7i.metal-48xl, m7i.metal-24xl, m7i.metal-48xl, r7i.metal-24xl, r7i.metal-48xl, r7iz.metal-16xl, r7iz.metal-32xl, c7gd.metal, m7gd.metal, r7gd.metal, g6.xlarge, g6.2xlarge, g6.4xlarge, g6.8xlarge, g6.12xlarge, g6.16xlarge, g6.24xlarge, g6.48xlarge, gr6.4xlarge, gr6.8xlarge, c7i-flex.large, c7i-flex.xlarge, c7i-flex.2xlarge, c7i-flex.4xlarge, c7i-flex.8xlarge, u7i-12tb.224xlarge, u7in-16tb.224xlarge, u7in-24tb.224xlarge, u7in-32tb.224xlarge, u7ib-12tb.224xlarge, c7gn.metal, r8g.medium, r8g.large, r8g.xlarge, r8g.2xlarge, r8g.4xlarge, r8g.8xlarge, r8g.12xlarge, r8g.16xlarge, r8g.24xlarge, r8g.48xlarge, r8g.metal-24xl, r8g.metal-48xl, mac2-m1ultra.metal, g6e.xlarge, g6e.2xlarge, g6e.4xlarge, g6e.8xlarge, g6e.12xlarge, g6e.16xlarge, g6e.24xlarge, g6e.48xlarge, c8g.medium, c8g.large, c8g.xlarge, c8g.2xlarge, c8g.4xlarge, c8g.8xlarge, c8g.12xlarge, c8g.16xlarge, c8g.24xlarge, c8g.48xlarge, c8g.metal-24xl, c8g.metal-48xl, m8g.medium, m8g.large, m8g.xlarge, m8g.2xlarge, m8g.4xlarge, m8g.8xlarge, m8g.12xlarge, m8g.16xlarge, m8g.24xlarge, m8g.48xlarge, m8g.metal-24xl, m8g.metal-48xl, x8g.medium, x8g.large, x8g.xlarge, x8g.2xlarge, x8g.4xlarge, x8g.8xlarge, x8g.12xlarge, x8g.16xlarge, x8g.24xlarge, x8g.48xlarge, x8g.metal-24xl, x8g.metal-48xl, i7ie.large, i7ie.xlarge, i7ie.2xlarge, i7ie.3xlarge, i7ie.6xlarge, i7ie.12xlarge, i7ie.18xlarge, i7ie.24xlarge, i7ie.48xlarge, i8g.large, i8g.xlarge, i8g.2xlarge, i8g.4xlarge, i8g.8xlarge, i8g.12xlarge, i8g.16xlarge, i8g.24xlarge, i8g.metal-24xl, u7i-6tb.112xlarge, u7i-8tb.112xlarge, u7inh-32tb.480xlarge, p5e.48xlarge, p5en.48xlarge, f2.12xlarge, f2.48xlarge, trn2.48xlarge
    key_name: "KeyPairName",
    monitoring: {
      enabled: false,
    },
    placement: {
      availability_zone: "String",
      affinity: "String",
      group_name: "PlacementGroupName",
      host_id: "DedicatedHostId",
      tenancy: "default", # accepts default, dedicated, host
      spread_domain: "String",
      host_resource_group_arn: "String",
      partition_number: 1,
      group_id: "PlacementGroupId",
    },
    ram_disk_id: "RamdiskId",
    disable_api_termination: false,
    instance_initiated_shutdown_behavior: "stop", # accepts stop, terminate
    user_data: "SensitiveUserData",
    tag_specifications: [
      {
        resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
        tags: [
          {
            key: "String",
            value: "String",
          },
        ],
      },
    ],
    elastic_gpu_specifications: [
      {
        type: "String", # required
      },
    ],
    elastic_inference_accelerators: [
      {
        type: "String", # required
        count: 1,
      },
    ],
    security_group_ids: ["SecurityGroupId"],
    security_groups: ["SecurityGroupName"],
    instance_market_options: {
      market_type: "spot", # accepts spot, capacity-block
      spot_options: {
        max_price: "String",
        spot_instance_type: "one-time", # accepts one-time, persistent
        block_duration_minutes: 1,
        valid_until: Time.now,
        instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
      },
    },
    credit_specification: {
      cpu_credits: "String", # required
    },
    cpu_options: {
      core_count: 1,
      threads_per_core: 1,
      amd_sev_snp: "enabled", # accepts enabled, disabled
    },
    capacity_reservation_specification: {
      capacity_reservation_preference: "capacity-reservations-only", # accepts capacity-reservations-only, open, none
      capacity_reservation_target: {
        capacity_reservation_id: "CapacityReservationId",
        capacity_reservation_resource_group_arn: "String",
      },
    },
    license_specifications: [
      {
        license_configuration_arn: "String",
      },
    ],
    hibernation_options: {
      configured: false,
    },
    metadata_options: {
      http_tokens: "optional", # accepts optional, required
      http_put_response_hop_limit: 1,
      http_endpoint: "disabled", # accepts disabled, enabled
      http_protocol_ipv_6: "disabled", # accepts disabled, enabled
      instance_metadata_tags: "disabled", # accepts disabled, enabled
    },
    enclave_options: {
      enabled: false,
    },
    instance_requirements: {
      v_cpu_count: { # required
        min: 1, # required
        max: 1,
      },
      memory_mi_b: { # required
        min: 1, # required
        max: 1,
      },
      cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services, apple
      memory_gi_b_per_v_cpu: {
        min: 1.0,
        max: 1.0,
      },
      excluded_instance_types: ["ExcludedInstanceType"],
      instance_generations: ["current"], # accepts current, previous
      spot_max_price_percentage_over_lowest_price: 1,
      on_demand_max_price_percentage_over_lowest_price: 1,
      bare_metal: "included", # accepts included, required, excluded
      burstable_performance: "included", # accepts included, required, excluded
      require_hibernate_support: false,
      network_interface_count: {
        min: 1,
        max: 1,
      },
      local_storage: "included", # accepts included, required, excluded
      local_storage_types: ["hdd"], # accepts hdd, ssd
      total_local_storage_gb: {
        min: 1.0,
        max: 1.0,
      },
      baseline_ebs_bandwidth_mbps: {
        min: 1,
        max: 1,
      },
      accelerator_types: ["gpu"], # accepts gpu, fpga, inference
      accelerator_count: {
        min: 1,
        max: 1,
      },
      accelerator_manufacturers: ["amazon-web-services"], # accepts amazon-web-services, amd, nvidia, xilinx, habana
      accelerator_names: ["a100"], # accepts a100, inferentia, k520, k80, m60, radeon-pro-v520, t4, vu9p, v100, a10g, h100, t4g
      accelerator_total_memory_mi_b: {
        min: 1,
        max: 1,
      },
      network_bandwidth_gbps: {
        min: 1.0,
        max: 1.0,
      },
      allowed_instance_types: ["AllowedInstanceType"],
      max_spot_price_as_percentage_of_optimal_on_demand_price: 1,
      baseline_performance_factors: {
        cpu: {
          references: [
            {
              instance_family: "String",
            },
          ],
        },
      },
    },
    private_dns_name_options: {
      hostname_type: "ip-name", # accepts ip-name, resource-name
      enable_resource_name_dns_a_record: false,
      enable_resource_name_dns_aaaa_record: false,
    },
    maintenance_options: {
      auto_recovery: "default", # accepts default, disabled
    },
    disable_api_stop: false,
    operator: {
      principal: "String",
    },
    network_performance_options: {
      bandwidth_weighting: "default", # accepts default, vpc-1, ebs-1
    },
  },
  operator: {
    principal: "String",
  },
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
})

Response structure


resp.launch_template.launch_template_id #=> String
resp.launch_template.launch_template_name #=> String
resp.launch_template.create_time #=> Time
resp.launch_template.created_by #=> String
resp.launch_template.default_version_number #=> Integer
resp.launch_template.latest_version_number #=> Integer
resp.launch_template.tags #=> Array
resp.launch_template.tags[0].key #=> String
resp.launch_template.tags[0].value #=> String
resp.launch_template.operator.managed #=> Boolean
resp.launch_template.operator.principal #=> String
resp.warning.errors #=> Array
resp.warning.errors[0].code #=> String
resp.warning.errors[0].message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    Constraint: Maximum 128 ASCII characters.

  • :launch_template_name (required, String)

    A name for the launch template.

  • :version_description (String)

    A description for the first version of the launch template.

  • :launch_template_data (required, Types::RequestLaunchTemplateData)

    The information for the launch template.

  • :operator (Types::OperatorRequest)

    Reserved for internal use.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the launch template on creation. To tag the launch template, the resource type must be launch-template.

    To specify the tags for the resources that are created when an instance is launched, you must use the TagSpecifications parameter in the launch template data structure.

Returns:

See Also:



9267
9268
9269
9270
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 9267

def create_launch_template(params = {}, options = {})
  req = build_request(:create_launch_template, params)
  req.send_request(options)
end

#create_launch_template_version(params = {}) ⇒ Types::CreateLaunchTemplateVersionResult

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon EC2 User Guide.

Examples:

Example: To create a launch template version


# This example creates a new launch template version based on version 1 of the specified launch template and specifies a
# different AMI ID.

resp = client.create_launch_template_version({
  launch_template_data: {
    image_id: "ami-c998b6b2", 
  }, 
  launch_template_id: "lt-0abcd290751193123", 
  source_version: "1", 
  version_description: "WebVersion2", 
})

resp.to_h outputs the following:
{
  launch_template_version: {
    create_time: Time.parse("2017-12-01T13:35:46.000Z"), 
    created_by: "arn:aws:iam::123456789012:root", 
    default_version: false, 
    launch_template_data: {
      image_id: "ami-c998b6b2", 
      instance_type: "t2.micro", 
      network_interfaces: [
        {
          associate_public_ip_address: true, 
          device_index: 0, 
          ipv_6_addresses: [
            {
              ipv_6_address: "2001:db8:1234:1a00::123", 
            }, 
          ], 
          subnet_id: "subnet-7b16de0c", 
        }, 
      ], 
    }, 
    launch_template_id: "lt-0abcd290751193123", 
    launch_template_name: "my-template", 
    version_description: "WebVersion2", 
    version_number: 2, 
  }, 
}

Request syntax with placeholder values


resp = client.create_launch_template_version({
  dry_run: false,
  client_token: "String",
  launch_template_id: "LaunchTemplateId",
  launch_template_name: "LaunchTemplateName",
  source_version: "String",
  version_description: "VersionDescription",
  launch_template_data: { # required
    kernel_id: "KernelId",
    ebs_optimized: false,
    iam_instance_profile: {
      arn: "String",
      name: "String",
    },
    block_device_mappings: [
      {
        device_name: "String",
        virtual_name: "String",
        ebs: {
          encrypted: false,
          delete_on_termination: false,
          iops: 1,
          kms_key_id: "KmsKeyId",
          snapshot_id: "SnapshotId",
          volume_size: 1,
          volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
          throughput: 1,
        },
        no_device: "String",
      },
    ],
    network_interfaces: [
      {
        associate_carrier_ip_address: false,
        associate_public_ip_address: false,
        delete_on_termination: false,
        description: "String",
        device_index: 1,
        groups: ["SecurityGroupId"],
        interface_type: "String",
        ipv_6_address_count: 1,
        ipv_6_addresses: [
          {
            ipv_6_address: "String",
          },
        ],
        network_interface_id: "NetworkInterfaceId",
        private_ip_address: "String",
        private_ip_addresses: [
          {
            primary: false,
            private_ip_address: "String",
          },
        ],
        secondary_private_ip_address_count: 1,
        subnet_id: "SubnetId",
        network_card_index: 1,
        ipv_4_prefixes: [
          {
            ipv_4_prefix: "String",
          },
        ],
        ipv_4_prefix_count: 1,
        ipv_6_prefixes: [
          {
            ipv_6_prefix: "String",
          },
        ],
        ipv_6_prefix_count: 1,
        primary_ipv_6: false,
        ena_srd_specification: {
          ena_srd_enabled: false,
          ena_srd_udp_specification: {
            ena_srd_udp_enabled: false,
          },
        },
        connection_tracking_specification: {
          tcp_established_timeout: 1,
          udp_stream_timeout: 1,
          udp_timeout: 1,
        },
      },
    ],
    image_id: "ImageId",
    instance_type: "a1.medium", # accepts a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge, a1.metal, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal, c5a.large, c5a.xlarge, c5a.2xlarge, c5a.4xlarge, c5a.8xlarge, c5a.12xlarge, c5a.16xlarge, c5a.24xlarge, c5ad.large, c5ad.xlarge, c5ad.2xlarge, c5ad.4xlarge, c5ad.8xlarge, c5ad.12xlarge, c5ad.16xlarge, c5ad.24xlarge, c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.12xlarge, c5d.18xlarge, c5d.24xlarge, c5d.metal, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge, c5n.metal, c6g.medium, c6g.large, c6g.xlarge, c6g.2xlarge, c6g.4xlarge, c6g.8xlarge, c6g.12xlarge, c6g.16xlarge, c6g.metal, c6gd.medium, c6gd.large, c6gd.xlarge, c6gd.2xlarge, c6gd.4xlarge, c6gd.8xlarge, c6gd.12xlarge, c6gd.16xlarge, c6gd.metal, c6gn.medium, c6gn.large, c6gn.xlarge, c6gn.2xlarge, c6gn.4xlarge, c6gn.8xlarge, c6gn.12xlarge, c6gn.16xlarge, c6i.large, c6i.xlarge, c6i.2xlarge, c6i.4xlarge, c6i.8xlarge, c6i.12xlarge, c6i.16xlarge, c6i.24xlarge, c6i.32xlarge, c6i.metal, cc1.4xlarge, cc2.8xlarge, cg1.4xlarge, cr1.8xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, d3.xlarge, d3.2xlarge, d3.4xlarge, d3.8xlarge, d3en.xlarge, d3en.2xlarge, d3en.4xlarge, d3en.6xlarge, d3en.8xlarge, d3en.12xlarge, dl1.24xlarge, f1.2xlarge, f1.4xlarge, f1.16xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, g3s.xlarge, g4ad.xlarge, g4ad.2xlarge, g4ad.4xlarge, g4ad.8xlarge, g4ad.16xlarge, g4dn.xlarge, g4dn.2xlarge, g4dn.4xlarge, g4dn.8xlarge, g4dn.12xlarge, g4dn.16xlarge, g4dn.metal, g5.xlarge, g5.2xlarge, g5.4xlarge, g5.8xlarge, g5.12xlarge, g5.16xlarge, g5.24xlarge, g5.48xlarge, g5g.xlarge, g5g.2xlarge, g5g.4xlarge, g5g.8xlarge, g5g.16xlarge, g5g.metal, hi1.4xlarge, hpc6a.48xlarge, hs1.8xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, i3.metal, i3en.large, i3en.xlarge, i3en.2xlarge, i3en.3xlarge, i3en.6xlarge, i3en.12xlarge, i3en.24xlarge, i3en.metal, im4gn.large, im4gn.xlarge, im4gn.2xlarge, im4gn.4xlarge, im4gn.8xlarge, im4gn.16xlarge, inf1.xlarge, inf1.2xlarge, inf1.6xlarge, inf1.24xlarge, is4gen.medium, is4gen.large, is4gen.xlarge, is4gen.2xlarge, is4gen.4xlarge, is4gen.8xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.8xlarge, m5a.12xlarge, m5a.16xlarge, m5a.24xlarge, m5ad.large, m5ad.xlarge, m5ad.2xlarge, m5ad.4xlarge, m5ad.8xlarge, m5ad.12xlarge, m5ad.16xlarge, m5ad.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.8xlarge, m5d.12xlarge, m5d.16xlarge, m5d.24xlarge, m5d.metal, m5dn.large, m5dn.xlarge, m5dn.2xlarge, m5dn.4xlarge, m5dn.8xlarge, m5dn.12xlarge, m5dn.16xlarge, m5dn.24xlarge, m5dn.metal, m5n.large, m5n.xlarge, m5n.2xlarge, m5n.4xlarge, m5n.8xlarge, m5n.12xlarge, m5n.16xlarge, m5n.24xlarge, m5n.metal, m5zn.large, m5zn.xlarge, m5zn.2xlarge, m5zn.3xlarge, m5zn.6xlarge, m5zn.12xlarge, m5zn.metal, m6a.large, m6a.xlarge, m6a.2xlarge, m6a.4xlarge, m6a.8xlarge, m6a.12xlarge, m6a.16xlarge, m6a.24xlarge, m6a.32xlarge, m6a.48xlarge, m6g.metal, m6g.medium, m6g.large, m6g.xlarge, m6g.2xlarge, m6g.4xlarge, m6g.8xlarge, m6g.12xlarge, m6g.16xlarge, m6gd.metal, m6gd.medium, m6gd.large, m6gd.xlarge, m6gd.2xlarge, m6gd.4xlarge, m6gd.8xlarge, m6gd.12xlarge, m6gd.16xlarge, m6i.large, m6i.xlarge, m6i.2xlarge, m6i.4xlarge, m6i.8xlarge, m6i.12xlarge, m6i.16xlarge, m6i.24xlarge, m6i.32xlarge, m6i.metal, mac1.metal, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, p3dn.24xlarge, p4d.24xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.8xlarge, r5a.12xlarge, r5a.16xlarge, r5a.24xlarge, r5ad.large, r5ad.xlarge, r5ad.2xlarge, r5ad.4xlarge, r5ad.8xlarge, r5ad.12xlarge, r5ad.16xlarge, r5ad.24xlarge, r5b.large, r5b.xlarge, r5b.2xlarge, r5b.4xlarge, r5b.8xlarge, r5b.12xlarge, r5b.16xlarge, r5b.24xlarge, r5b.metal, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, r5d.24xlarge, r5d.metal, r5dn.large, r5dn.xlarge, r5dn.2xlarge, r5dn.4xlarge, r5dn.8xlarge, r5dn.12xlarge, r5dn.16xlarge, r5dn.24xlarge, r5dn.metal, r5n.large, r5n.xlarge, r5n.2xlarge, r5n.4xlarge, r5n.8xlarge, r5n.12xlarge, r5n.16xlarge, r5n.24xlarge, r5n.metal, r6g.medium, r6g.large, r6g.xlarge, r6g.2xlarge, r6g.4xlarge, r6g.8xlarge, r6g.12xlarge, r6g.16xlarge, r6g.metal, r6gd.medium, r6gd.large, r6gd.xlarge, r6gd.2xlarge, r6gd.4xlarge, r6gd.8xlarge, r6gd.12xlarge, r6gd.16xlarge, r6gd.metal, r6i.large, r6i.xlarge, r6i.2xlarge, r6i.4xlarge, r6i.8xlarge, r6i.12xlarge, r6i.16xlarge, r6i.24xlarge, r6i.32xlarge, r6i.metal, t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge, t3a.nano, t3a.micro, t3a.small, t3a.medium, t3a.large, t3a.xlarge, t3a.2xlarge, t4g.nano, t4g.micro, t4g.small, t4g.medium, t4g.large, t4g.xlarge, t4g.2xlarge, u-6tb1.56xlarge, u-6tb1.112xlarge, u-9tb1.112xlarge, u-12tb1.112xlarge, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, u-18tb1.metal, u-24tb1.metal, vt1.3xlarge, vt1.6xlarge, vt1.24xlarge, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, x2iezn.2xlarge, x2iezn.4xlarge, x2iezn.6xlarge, x2iezn.8xlarge, x2iezn.12xlarge, x2iezn.metal, x2gd.medium, x2gd.large, x2gd.xlarge, x2gd.2xlarge, x2gd.4xlarge, x2gd.8xlarge, x2gd.12xlarge, x2gd.16xlarge, x2gd.metal, z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge, z1d.metal, x2idn.16xlarge, x2idn.24xlarge, x2idn.32xlarge, x2iedn.xlarge, x2iedn.2xlarge, x2iedn.4xlarge, x2iedn.8xlarge, x2iedn.16xlarge, x2iedn.24xlarge, x2iedn.32xlarge, c6a.large, c6a.xlarge, c6a.2xlarge, c6a.4xlarge, c6a.8xlarge, c6a.12xlarge, c6a.16xlarge, c6a.24xlarge, c6a.32xlarge, c6a.48xlarge, c6a.metal, m6a.metal, i4i.large, i4i.xlarge, i4i.2xlarge, i4i.4xlarge, i4i.8xlarge, i4i.16xlarge, i4i.32xlarge, i4i.metal, x2idn.metal, x2iedn.metal, c7g.medium, c7g.large, c7g.xlarge, c7g.2xlarge, c7g.4xlarge, c7g.8xlarge, c7g.12xlarge, c7g.16xlarge, mac2.metal, c6id.large, c6id.xlarge, c6id.2xlarge, c6id.4xlarge, c6id.8xlarge, c6id.12xlarge, c6id.16xlarge, c6id.24xlarge, c6id.32xlarge, c6id.metal, m6id.large, m6id.xlarge, m6id.2xlarge, m6id.4xlarge, m6id.8xlarge, m6id.12xlarge, m6id.16xlarge, m6id.24xlarge, m6id.32xlarge, m6id.metal, r6id.large, r6id.xlarge, r6id.2xlarge, r6id.4xlarge, r6id.8xlarge, r6id.12xlarge, r6id.16xlarge, r6id.24xlarge, r6id.32xlarge, r6id.metal, r6a.large, r6a.xlarge, r6a.2xlarge, r6a.4xlarge, r6a.8xlarge, r6a.12xlarge, r6a.16xlarge, r6a.24xlarge, r6a.32xlarge, r6a.48xlarge, r6a.metal, p4de.24xlarge, u-3tb1.56xlarge, u-18tb1.112xlarge, u-24tb1.112xlarge, trn1.2xlarge, trn1.32xlarge, hpc6id.32xlarge, c6in.large, c6in.xlarge, c6in.2xlarge, c6in.4xlarge, c6in.8xlarge, c6in.12xlarge, c6in.16xlarge, c6in.24xlarge, c6in.32xlarge, m6in.large, m6in.xlarge, m6in.2xlarge, m6in.4xlarge, m6in.8xlarge, m6in.12xlarge, m6in.16xlarge, m6in.24xlarge, m6in.32xlarge, m6idn.large, m6idn.xlarge, m6idn.2xlarge, m6idn.4xlarge, m6idn.8xlarge, m6idn.12xlarge, m6idn.16xlarge, m6idn.24xlarge, m6idn.32xlarge, r6in.large, r6in.xlarge, r6in.2xlarge, r6in.4xlarge, r6in.8xlarge, r6in.12xlarge, r6in.16xlarge, r6in.24xlarge, r6in.32xlarge, r6idn.large, r6idn.xlarge, r6idn.2xlarge, r6idn.4xlarge, r6idn.8xlarge, r6idn.12xlarge, r6idn.16xlarge, r6idn.24xlarge, r6idn.32xlarge, c7g.metal, m7g.medium, m7g.large, m7g.xlarge, m7g.2xlarge, m7g.4xlarge, m7g.8xlarge, m7g.12xlarge, m7g.16xlarge, m7g.metal, r7g.medium, r7g.large, r7g.xlarge, r7g.2xlarge, r7g.4xlarge, r7g.8xlarge, r7g.12xlarge, r7g.16xlarge, r7g.metal, c6in.metal, m6in.metal, m6idn.metal, r6in.metal, r6idn.metal, inf2.xlarge, inf2.8xlarge, inf2.24xlarge, inf2.48xlarge, trn1n.32xlarge, i4g.large, i4g.xlarge, i4g.2xlarge, i4g.4xlarge, i4g.8xlarge, i4g.16xlarge, hpc7g.4xlarge, hpc7g.8xlarge, hpc7g.16xlarge, c7gn.medium, c7gn.large, c7gn.xlarge, c7gn.2xlarge, c7gn.4xlarge, c7gn.8xlarge, c7gn.12xlarge, c7gn.16xlarge, p5.48xlarge, m7i.large, m7i.xlarge, m7i.2xlarge, m7i.4xlarge, m7i.8xlarge, m7i.12xlarge, m7i.16xlarge, m7i.24xlarge, m7i.48xlarge, m7i-flex.large, m7i-flex.xlarge, m7i-flex.2xlarge, m7i-flex.4xlarge, m7i-flex.8xlarge, m7a.medium, m7a.large, m7a.xlarge, m7a.2xlarge, m7a.4xlarge, m7a.8xlarge, m7a.12xlarge, m7a.16xlarge, m7a.24xlarge, m7a.32xlarge, m7a.48xlarge, m7a.metal-48xl, hpc7a.12xlarge, hpc7a.24xlarge, hpc7a.48xlarge, hpc7a.96xlarge, c7gd.medium, c7gd.large, c7gd.xlarge, c7gd.2xlarge, c7gd.4xlarge, c7gd.8xlarge, c7gd.12xlarge, c7gd.16xlarge, m7gd.medium, m7gd.large, m7gd.xlarge, m7gd.2xlarge, m7gd.4xlarge, m7gd.8xlarge, m7gd.12xlarge, m7gd.16xlarge, r7gd.medium, r7gd.large, r7gd.xlarge, r7gd.2xlarge, r7gd.4xlarge, r7gd.8xlarge, r7gd.12xlarge, r7gd.16xlarge, r7a.medium, r7a.large, r7a.xlarge, r7a.2xlarge, r7a.4xlarge, r7a.8xlarge, r7a.12xlarge, r7a.16xlarge, r7a.24xlarge, r7a.32xlarge, r7a.48xlarge, c7i.large, c7i.xlarge, c7i.2xlarge, c7i.4xlarge, c7i.8xlarge, c7i.12xlarge, c7i.16xlarge, c7i.24xlarge, c7i.48xlarge, mac2-m2pro.metal, r7iz.large, r7iz.xlarge, r7iz.2xlarge, r7iz.4xlarge, r7iz.8xlarge, r7iz.12xlarge, r7iz.16xlarge, r7iz.32xlarge, c7a.medium, c7a.large, c7a.xlarge, c7a.2xlarge, c7a.4xlarge, c7a.8xlarge, c7a.12xlarge, c7a.16xlarge, c7a.24xlarge, c7a.32xlarge, c7a.48xlarge, c7a.metal-48xl, r7a.metal-48xl, r7i.large, r7i.xlarge, r7i.2xlarge, r7i.4xlarge, r7i.8xlarge, r7i.12xlarge, r7i.16xlarge, r7i.24xlarge, r7i.48xlarge, dl2q.24xlarge, mac2-m2.metal, i4i.12xlarge, i4i.24xlarge, c7i.metal-24xl, c7i.metal-48xl, m7i.metal-24xl, m7i.metal-48xl, r7i.metal-24xl, r7i.metal-48xl, r7iz.metal-16xl, r7iz.metal-32xl, c7gd.metal, m7gd.metal, r7gd.metal, g6.xlarge, g6.2xlarge, g6.4xlarge, g6.8xlarge, g6.12xlarge, g6.16xlarge, g6.24xlarge, g6.48xlarge, gr6.4xlarge, gr6.8xlarge, c7i-flex.large, c7i-flex.xlarge, c7i-flex.2xlarge, c7i-flex.4xlarge, c7i-flex.8xlarge, u7i-12tb.224xlarge, u7in-16tb.224xlarge, u7in-24tb.224xlarge, u7in-32tb.224xlarge, u7ib-12tb.224xlarge, c7gn.metal, r8g.medium, r8g.large, r8g.xlarge, r8g.2xlarge, r8g.4xlarge, r8g.8xlarge, r8g.12xlarge, r8g.16xlarge, r8g.24xlarge, r8g.48xlarge, r8g.metal-24xl, r8g.metal-48xl, mac2-m1ultra.metal, g6e.xlarge, g6e.2xlarge, g6e.4xlarge, g6e.8xlarge, g6e.12xlarge, g6e.16xlarge, g6e.24xlarge, g6e.48xlarge, c8g.medium, c8g.large, c8g.xlarge, c8g.2xlarge, c8g.4xlarge, c8g.8xlarge, c8g.12xlarge, c8g.16xlarge, c8g.24xlarge, c8g.48xlarge, c8g.metal-24xl, c8g.metal-48xl, m8g.medium, m8g.large, m8g.xlarge, m8g.2xlarge, m8g.4xlarge, m8g.8xlarge, m8g.12xlarge, m8g.16xlarge, m8g.24xlarge, m8g.48xlarge, m8g.metal-24xl, m8g.metal-48xl, x8g.medium, x8g.large, x8g.xlarge, x8g.2xlarge, x8g.4xlarge, x8g.8xlarge, x8g.12xlarge, x8g.16xlarge, x8g.24xlarge, x8g.48xlarge, x8g.metal-24xl, x8g.metal-48xl, i7ie.large, i7ie.xlarge, i7ie.2xlarge, i7ie.3xlarge, i7ie.6xlarge, i7ie.12xlarge, i7ie.18xlarge, i7ie.24xlarge, i7ie.48xlarge, i8g.large, i8g.xlarge, i8g.2xlarge, i8g.4xlarge, i8g.8xlarge, i8g.12xlarge, i8g.16xlarge, i8g.24xlarge, i8g.metal-24xl, u7i-6tb.112xlarge, u7i-8tb.112xlarge, u7inh-32tb.480xlarge, p5e.48xlarge, p5en.48xlarge, f2.12xlarge, f2.48xlarge, trn2.48xlarge
    key_name: "KeyPairName",
    monitoring: {
      enabled: false,
    },
    placement: {
      availability_zone: "String",
      affinity: "String",
      group_name: "PlacementGroupName",
      host_id: "DedicatedHostId",
      tenancy: "default", # accepts default, dedicated, host
      spread_domain: "String",
      host_resource_group_arn: "String",
      partition_number: 1,
      group_id: "PlacementGroupId",
    },
    ram_disk_id: "RamdiskId",
    disable_api_termination: false,
    instance_initiated_shutdown_behavior: "stop", # accepts stop, terminate
    user_data: "SensitiveUserData",
    tag_specifications: [
      {
        resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
        tags: [
          {
            key: "String",
            value: "String",
          },
        ],
      },
    ],
    elastic_gpu_specifications: [
      {
        type: "String", # required
      },
    ],
    elastic_inference_accelerators: [
      {
        type: "String", # required
        count: 1,
      },
    ],
    security_group_ids: ["SecurityGroupId"],
    security_groups: ["SecurityGroupName"],
    instance_market_options: {
      market_type: "spot", # accepts spot, capacity-block
      spot_options: {
        max_price: "String",
        spot_instance_type: "one-time", # accepts one-time, persistent
        block_duration_minutes: 1,
        valid_until: Time.now,
        instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
      },
    },
    credit_specification: {
      cpu_credits: "String", # required
    },
    cpu_options: {
      core_count: 1,
      threads_per_core: 1,
      amd_sev_snp: "enabled", # accepts enabled, disabled
    },
    capacity_reservation_specification: {
      capacity_reservation_preference: "capacity-reservations-only", # accepts capacity-reservations-only, open, none
      capacity_reservation_target: {
        capacity_reservation_id: "CapacityReservationId",
        capacity_reservation_resource_group_arn: "String",
      },
    },
    license_specifications: [
      {
        license_configuration_arn: "String",
      },
    ],
    hibernation_options: {
      configured: false,
    },
    metadata_options: {
      http_tokens: "optional", # accepts optional, required
      http_put_response_hop_limit: 1,
      http_endpoint: "disabled", # accepts disabled, enabled
      http_protocol_ipv_6: "disabled", # accepts disabled, enabled
      instance_metadata_tags: "disabled", # accepts disabled, enabled
    },
    enclave_options: {
      enabled: false,
    },
    instance_requirements: {
      v_cpu_count: { # required
        min: 1, # required
        max: 1,
      },
      memory_mi_b: { # required
        min: 1, # required
        max: 1,
      },
      cpu_manufacturers: ["intel"], # accepts intel, amd, amazon-web-services, apple
      memory_gi_b_per_v_cpu: {
        min: 1.0,
        max: 1.0,
      },
      excluded_instance_types: ["ExcludedInstanceType"],
      instance_generations: ["current"], # accepts current, previous
      spot_max_price_percentage_over_lowest_price: 1,
      on_demand_max_price_percentage_over_lowest_price: 1,
      bare_metal: "included", # accepts included, required, excluded
      burstable_performance: "included", # accepts included, required, excluded
      require_hibernate_support: false,
      network_interface_count: {
        min: 1,
        max: 1,
      },
      local_storage: "included", # accepts included, required, excluded
      local_storage_types: ["hdd"], # accepts hdd, ssd
      total_local_storage_gb: {
        min: 1.0,
        max: 1.0,
      },
      baseline_ebs_bandwidth_mbps: {
        min: 1,
        max: 1,
      },
      accelerator_types: ["gpu"], # accepts gpu, fpga, inference
      accelerator_count: {
        min: 1,
        max: 1,
      },
      accelerator_manufacturers: ["amazon-web-services"], # accepts amazon-web-services, amd, nvidia, xilinx, habana
      accelerator_names: ["a100"], # accepts a100, inferentia, k520, k80, m60, radeon-pro-v520, t4, vu9p, v100, a10g, h100, t4g
      accelerator_total_memory_mi_b: {
        min: 1,
        max: 1,
      },
      network_bandwidth_gbps: {
        min: 1.0,
        max: 1.0,
      },
      allowed_instance_types: ["AllowedInstanceType"],
      max_spot_price_as_percentage_of_optimal_on_demand_price: 1,
      baseline_performance_factors: {
        cpu: {
          references: [
            {
              instance_family: "String",
            },
          ],
        },
      },
    },
    private_dns_name_options: {
      hostname_type: "ip-name", # accepts ip-name, resource-name
      enable_resource_name_dns_a_record: false,
      enable_resource_name_dns_aaaa_record: false,
    },
    maintenance_options: {
      auto_recovery: "default", # accepts default, disabled
    },
    disable_api_stop: false,
    operator: {
      principal: "String",
    },
    network_performance_options: {
      bandwidth_weighting: "default", # accepts default, vpc-1, ebs-1
    },
  },
  resolve_alias: false,
})

Response structure


resp.launch_template_version.launch_template_id #=> String
resp.launch_template_version.launch_template_name #=> String
resp.launch_template_version.version_number #=> Integer
resp.launch_template_version.version_description #=> String
resp.launch_template_version.create_time #=> Time
resp.launch_template_version.created_by #=> String
resp.launch_template_version.default_version #=> Boolean
resp.launch_template_version.launch_template_data.kernel_id #=> String
resp.launch_template_version.launch_template_data.ebs_optimized #=> Boolean
resp.launch_template_version.launch_template_data.iam_instance_profile.arn #=> String
resp.launch_template_version.launch_template_data.iam_instance_profile.name #=> String
resp.launch_template_version.launch_template_data.block_device_mappings #=> Array
resp.launch_template_version.launch_template_data.block_device_mappings[0].device_name #=> String
resp.launch_template_version.launch_template_data.block_device_mappings[0].virtual_name #=> String
resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.encrypted #=> Boolean
resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.iops #=> Integer
resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.kms_key_id #=> String
resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.snapshot_id #=> String
resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.volume_size #=> Integer
resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.throughput #=> Integer
resp.launch_template_version.launch_template_data.block_device_mappings[0].no_device #=> String
resp.launch_template_version.launch_template_data.network_interfaces #=> Array
resp.launch_template_version.launch_template_data.network_interfaces[0].associate_carrier_ip_address #=> Boolean
resp.launch_template_version.launch_template_data.network_interfaces[0].associate_public_ip_address #=> Boolean
resp.launch_template_version.launch_template_data.network_interfaces[0].delete_on_termination #=> Boolean
resp.launch_template_version.launch_template_data.network_interfaces[0].description #=> String
resp.launch_template_version.launch_template_data.network_interfaces[0].device_index #=> Integer
resp.launch_template_version.launch_template_data.network_interfaces[0].groups #=> Array
resp.launch_template_version.launch_template_data.network_interfaces[0].groups[0] #=> String
resp.launch_template_version.launch_template_data.network_interfaces[0].interface_type #=> String
resp.launch_template_version.launch_template_data.network_interfaces[0].ipv_6_address_count #=> Integer
resp.launch_template_version.launch_template_data.network_interfaces[0].ipv_6_addresses #=> Array
resp.launch_template_version.launch_template_data.network_interfaces[0].ipv_6_addresses[0].ipv_6_address #=> String
resp.launch_template_version.launch_template_data.network_interfaces[0].ipv_6_addresses[0].is_primary_ipv_6 #=> Boolean
resp.launch_template_version.launch_template_data.network_interfaces[0].network_interface_id #=> String
resp.launch_template_version.launch_template_data.network_interfaces[0].private_ip_address #=> String
resp.launch_template_version.launch_template_data.network_interfaces[0].private_ip_addresses #=> Array
resp.launch_template_version.launch_template_data.network_interfaces[0].private_ip_addresses[0].primary #=> Boolean
resp.launch_template_version.launch_template_data.network_interfaces[0].private_ip_addresses[0].private_ip_address #=> String
resp.launch_template_version.launch_template_data.network_interfaces[0].secondary_private_ip_address_count #=> Integer
resp.launch_template_version.launch_template_data.network_interfaces[0].subnet_id #=> String
resp.launch_template_version.launch_template_data.network_interfaces[0].network_card_index #=> Integer
resp.launch_template_version.launch_template_data.network_interfaces[0].ipv_4_prefixes #=> Array
resp.launch_template_version.launch_template_data.network_interfaces[0].ipv_4_prefixes[0].ipv_4_prefix #=> String
resp.launch_template_version.launch_template_data.network_interfaces[0].ipv_4_prefix_count #=> Integer
resp.launch_template_version.launch_template_data.network_interfaces[0].ipv_6_prefixes #=> Array
resp.launch_template_version.launch_template_data.network_interfaces[0].ipv_6_prefixes[0].ipv_6_prefix #=> String
resp.launch_template_version.launch_template_data.network_interfaces[0].ipv_6_prefix_count #=> Integer
resp.launch_template_version.launch_template_data.network_interfaces[0].primary_ipv_6 #=> Boolean
resp.launch_template_version.launch_template_data.network_interfaces[0].ena_srd_specification.ena_srd_enabled #=> Boolean
resp.launch_template_version.launch_template_data.network_interfaces[0].ena_srd_specification.ena_srd_udp_specification.ena_srd_udp_enabled #=> Boolean
resp.launch_template_version.launch_template_data.network_interfaces[0].connection_tracking_specification.tcp_established_timeout #=> Integer
resp.launch_template_version.launch_template_data.network_interfaces[0].connection_tracking_specification.udp_timeout #=> Integer
resp.launch_template_version.launch_template_data.network_interfaces[0].connection_tracking_specification.udp_stream_timeout #=> Integer
resp.launch_template_version.launch_template_data.image_id #=> String
resp.launch_template_version.launch_template_data.instance_type #=> String, one of "a1.medium", "a1.large", "a1.xlarge", "a1.2xlarge", "a1.4xlarge", "a1.metal", "c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.12xlarge", "c5.18xlarge", "c5.24xlarge", "c5.metal", "c5a.large", "c5a.xlarge", "c5a.2xlarge", "c5a.4xlarge", "c5a.8xlarge", "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", "c5ad.large", "c5ad.xlarge", "c5ad.2xlarge", "c5ad.4xlarge", "c5ad.8xlarge", "c5ad.12xlarge", "c5ad.16xlarge", "c5ad.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", "c5d.4xlarge", "c5d.9xlarge", "c5d.12xlarge", "c5d.18xlarge", "c5d.24xlarge", "c5d.metal", "c5n.large", "c5n.xlarge", "c5n.2xlarge", "c5n.4xlarge", "c5n.9xlarge", "c5n.18xlarge", "c5n.metal", "c6g.medium", "c6g.large", "c6g.xlarge", "c6g.2xlarge", "c6g.4xlarge", "c6g.8xlarge", "c6g.12xlarge", "c6g.16xlarge", "c6g.metal", "c6gd.medium", "c6gd.large", "c6gd.xlarge", "c6gd.2xlarge", "c6gd.4xlarge", "c6gd.8xlarge", "c6gd.12xlarge", "c6gd.16xlarge", "c6gd.metal", "c6gn.medium", "c6gn.large", "c6gn.xlarge", "c6gn.2xlarge", "c6gn.4xlarge", "c6gn.8xlarge", "c6gn.12xlarge", "c6gn.16xlarge", "c6i.large", "c6i.xlarge", "c6i.2xlarge", "c6i.4xlarge", "c6i.8xlarge", "c6i.12xlarge", "c6i.16xlarge", "c6i.24xlarge", "c6i.32xlarge", "c6i.metal", "cc1.4xlarge", "cc2.8xlarge", "cg1.4xlarge", "cr1.8xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "d3.xlarge", "d3.2xlarge", "d3.4xlarge", "d3.8xlarge", "d3en.xlarge", "d3en.2xlarge", "d3en.4xlarge", "d3en.6xlarge", "d3en.8xlarge", "d3en.12xlarge", "dl1.24xlarge", "f1.2xlarge", "f1.4xlarge", "f1.16xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "g3s.xlarge", "g4ad.xlarge", "g4ad.2xlarge", "g4ad.4xlarge", "g4ad.8xlarge", "g4ad.16xlarge", "g4dn.xlarge", "g4dn.2xlarge", "g4dn.4xlarge", "g4dn.8xlarge", "g4dn.12xlarge", "g4dn.16xlarge", "g4dn.metal", "g5.xlarge", "g5.2xlarge", "g5.4xlarge", "g5.8xlarge", "g5.12xlarge", "g5.16xlarge", "g5.24xlarge", "g5.48xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", "g5g.8xlarge", "g5g.16xlarge", "g5g.metal", "hi1.4xlarge", "hpc6a.48xlarge", "hs1.8xlarge", "h1.2xlarge", "h1.4xlarge", "h1.8xlarge", "h1.16xlarge", "i2.xlarge", "i2.2xlarge", "i2.4xlarge", "i2.8xlarge", "i3.large", "i3.xlarge", "i3.2xlarge", "i3.4xlarge", "i3.8xlarge", "i3.16xlarge", "i3.metal", "i3en.large", "i3en.xlarge", "i3en.2xlarge", "i3en.3xlarge", "i3en.6xlarge", "i3en.12xlarge", "i3en.24xlarge", "i3en.metal", "im4gn.large", "im4gn.xlarge", "im4gn.2xlarge", "im4gn.4xlarge", "im4gn.8xlarge", "im4gn.16xlarge", "inf1.xlarge", "inf1.2xlarge", "inf1.6xlarge", "inf1.24xlarge", "is4gen.medium", "is4gen.large", "is4gen.xlarge", "is4gen.2xlarge", "is4gen.4xlarge", "is4gen.8xlarge", "m1.small", "m1.medium", "m1.large", "m1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "m4.16xlarge", "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge", "m5.16xlarge", "m5.24xlarge", "m5.metal", "m5a.large", "m5a.xlarge", "m5a.2xlarge", "m5a.4xlarge", "m5a.8xlarge", "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", "m5ad.large", "m5ad.xlarge", "m5ad.2xlarge", "m5ad.4xlarge", "m5ad.8xlarge", "m5ad.12xlarge", "m5ad.16xlarge", "m5ad.24xlarge", "m5d.large", "m5d.xlarge", "m5d.2xlarge", "m5d.4xlarge", "m5d.8xlarge", "m5d.12xlarge", "m5d.16xlarge", "m5d.24xlarge", "m5d.metal", "m5dn.large", "m5dn.xlarge", "m5dn.2xlarge", "m5dn.4xlarge", "m5dn.8xlarge", "m5dn.12xlarge", "m5dn.16xlarge", "m5dn.24xlarge", "m5dn.metal", "m5n.large", "m5n.xlarge", "m5n.2xlarge", "m5n.4xlarge", "m5n.8xlarge", "m5n.12xlarge", "m5n.16xlarge", "m5n.24xlarge", "m5n.metal", "m5zn.large", "m5zn.xlarge", "m5zn.2xlarge", "m5zn.3xlarge", "m5zn.6xlarge", "m5zn.12xlarge", "m5zn.metal", "m6a.large", "m6a.xlarge", "m6a.2xlarge", "m6a.4xlarge", "m6a.8xlarge", "m6a.12xlarge", "m6a.16xlarge", "m6a.24xlarge", "m6a.32xlarge", "m6a.48xlarge", "m6g.metal", "m6g.medium", "m6g.large", "m6g.xlarge", "m6g.2xlarge", "m6g.4xlarge", "m6g.8xlarge", "m6g.12xlarge", "m6g.16xlarge", "m6gd.metal", "m6gd.medium", "m6gd.large", "m6gd.xlarge", "m6gd.2xlarge", "m6gd.4xlarge", "m6gd.8xlarge", "m6gd.12xlarge", "m6gd.16xlarge", "m6i.large", "m6i.xlarge", "m6i.2xlarge", "m6i.4xlarge", "m6i.8xlarge", "m6i.12xlarge", "m6i.16xlarge", "m6i.24xlarge", "m6i.32xlarge", "m6i.metal", "mac1.metal", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "p3dn.24xlarge", "p4d.24xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", "r4.4xlarge", "r4.8xlarge", "r4.16xlarge", "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge", "r5.16xlarge", "r5.24xlarge", "r5.metal", "r5a.large", "r5a.xlarge", "r5a.2xlarge", "r5a.4xlarge", "r5a.8xlarge", "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", "r5ad.large", "r5ad.xlarge", "r5ad.2xlarge", "r5ad.4xlarge", "r5ad.8xlarge", "r5ad.12xlarge", "r5ad.16xlarge", "r5ad.24xlarge", "r5b.large", "r5b.xlarge", "r5b.2xlarge", "r5b.4xlarge", "r5b.8xlarge", "r5b.12xlarge", "r5b.16xlarge", "r5b.24xlarge", "r5b.metal", "r5d.large", "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", "r5d.8xlarge", "r5d.12xlarge", "r5d.16xlarge", "r5d.24xlarge", "r5d.metal", "r5dn.large", "r5dn.xlarge", "r5dn.2xlarge", "r5dn.4xlarge", "r5dn.8xlarge", "r5dn.12xlarge", "r5dn.16xlarge", "r5dn.24xlarge", "r5dn.metal", "r5n.large", "r5n.xlarge", "r5n.2xlarge", "r5n.4xlarge", "r5n.8xlarge", "r5n.12xlarge", "r5n.16xlarge", "r5n.24xlarge", "r5n.metal", "r6g.medium", "r6g.large", "r6g.xlarge", "r6g.2xlarge", "r6g.4xlarge", "r6g.8xlarge", "r6g.12xlarge", "r6g.16xlarge", "r6g.metal", "r6gd.medium", "r6gd.large", "r6gd.xlarge", "r6gd.2xlarge", "r6gd.4xlarge", "r6gd.8xlarge", "r6gd.12xlarge", "r6gd.16xlarge", "r6gd.metal", "r6i.large", "r6i.xlarge", "r6i.2xlarge", "r6i.4xlarge", "r6i.8xlarge", "r6i.12xlarge", "r6i.16xlarge", "r6i.24xlarge", "r6i.32xlarge", "r6i.metal", "t1.micro", "t2.nano", "t2.micro", "t2.small", "t2.medium", "t2.large", "t2.xlarge", "t2.2xlarge", "t3.nano", "t3.micro", "t3.small", "t3.medium", "t3.large", "t3.xlarge", "t3.2xlarge", "t3a.nano", "t3a.micro", "t3a.small", "t3a.medium", "t3a.large", "t3a.xlarge", "t3a.2xlarge", "t4g.nano", "t4g.micro", "t4g.small", "t4g.medium", "t4g.large", "t4g.xlarge", "t4g.2xlarge", "u-6tb1.56xlarge", "u-6tb1.112xlarge", "u-9tb1.112xlarge", "u-12tb1.112xlarge", "u-6tb1.metal", "u-9tb1.metal", "u-12tb1.metal", "u-18tb1.metal", "u-24tb1.metal", "vt1.3xlarge", "vt1.6xlarge", "vt1.24xlarge", "x1.16xlarge", "x1.32xlarge", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.32xlarge", "x2iezn.2xlarge", "x2iezn.4xlarge", "x2iezn.6xlarge", "x2iezn.8xlarge", "x2iezn.12xlarge", "x2iezn.metal", "x2gd.medium", "x2gd.large", "x2gd.xlarge", "x2gd.2xlarge", "x2gd.4xlarge", "x2gd.8xlarge", "x2gd.12xlarge", "x2gd.16xlarge", "x2gd.metal", "z1d.large", "z1d.xlarge", "z1d.2xlarge", "z1d.3xlarge", "z1d.6xlarge", "z1d.12xlarge", "z1d.metal", "x2idn.16xlarge", "x2idn.24xlarge", "x2idn.32xlarge", "x2iedn.xlarge", "x2iedn.2xlarge", "x2iedn.4xlarge", "x2iedn.8xlarge", "x2iedn.16xlarge", "x2iedn.24xlarge", "x2iedn.32xlarge", "c6a.large", "c6a.xlarge", "c6a.2xlarge", "c6a.4xlarge", "c6a.8xlarge", "c6a.12xlarge", "c6a.16xlarge", "c6a.24xlarge", "c6a.32xlarge", "c6a.48xlarge", "c6a.metal", "m6a.metal", "i4i.large", "i4i.xlarge", "i4i.2xlarge", "i4i.4xlarge", "i4i.8xlarge", "i4i.16xlarge", "i4i.32xlarge", "i4i.metal", "x2idn.metal", "x2iedn.metal", "c7g.medium", "c7g.large", "c7g.xlarge", "c7g.2xlarge", "c7g.4xlarge", "c7g.8xlarge", "c7g.12xlarge", "c7g.16xlarge", "mac2.metal", "c6id.large", "c6id.xlarge", "c6id.2xlarge", "c6id.4xlarge", "c6id.8xlarge", "c6id.12xlarge", "c6id.16xlarge", "c6id.24xlarge", "c6id.32xlarge", "c6id.metal", "m6id.large", "m6id.xlarge", "m6id.2xlarge", "m6id.4xlarge", "m6id.8xlarge", "m6id.12xlarge", "m6id.16xlarge", "m6id.24xlarge", "m6id.32xlarge", "m6id.metal", "r6id.large", "r6id.xlarge", "r6id.2xlarge", "r6id.4xlarge", "r6id.8xlarge", "r6id.12xlarge", "r6id.16xlarge", "r6id.24xlarge", "r6id.32xlarge", "r6id.metal", "r6a.large", "r6a.xlarge", "r6a.2xlarge", "r6a.4xlarge", "r6a.8xlarge", "r6a.12xlarge", "r6a.16xlarge", "r6a.24xlarge", "r6a.32xlarge", "r6a.48xlarge", "r6a.metal", "p4de.24xlarge", "u-3tb1.56xlarge", "u-18tb1.112xlarge", "u-24tb1.112xlarge", "trn1.2xlarge", "trn1.32xlarge", "hpc6id.32xlarge", "c6in.large", "c6in.xlarge", "c6in.2xlarge", "c6in.4xlarge", "c6in.8xlarge", "c6in.12xlarge", "c6in.16xlarge", "c6in.24xlarge", "c6in.32xlarge", "m6in.large", "m6in.xlarge", "m6in.2xlarge", "m6in.4xlarge", "m6in.8xlarge", "m6in.12xlarge", "m6in.16xlarge", "m6in.24xlarge", "m6in.32xlarge", "m6idn.large", "m6idn.xlarge", "m6idn.2xlarge", "m6idn.4xlarge", "m6idn.8xlarge", "m6idn.12xlarge", "m6idn.16xlarge", "m6idn.24xlarge", "m6idn.32xlarge", "r6in.large", "r6in.xlarge", "r6in.2xlarge", "r6in.4xlarge", "r6in.8xlarge", "r6in.12xlarge", "r6in.16xlarge", "r6in.24xlarge", "r6in.32xlarge", "r6idn.large", "r6idn.xlarge", "r6idn.2xlarge", "r6idn.4xlarge", "r6idn.8xlarge", "r6idn.12xlarge", "r6idn.16xlarge", "r6idn.24xlarge", "r6idn.32xlarge", "c7g.metal", "m7g.medium", "m7g.large", "m7g.xlarge", "m7g.2xlarge", "m7g.4xlarge", "m7g.8xlarge", "m7g.12xlarge", "m7g.16xlarge", "m7g.metal", "r7g.medium", "r7g.large", "r7g.xlarge", "r7g.2xlarge", "r7g.4xlarge", "r7g.8xlarge", "r7g.12xlarge", "r7g.16xlarge", "r7g.metal", "c6in.metal", "m6in.metal", "m6idn.metal", "r6in.metal", "r6idn.metal", "inf2.xlarge", "inf2.8xlarge", "inf2.24xlarge", "inf2.48xlarge", "trn1n.32xlarge", "i4g.large", "i4g.xlarge", "i4g.2xlarge", "i4g.4xlarge", "i4g.8xlarge", "i4g.16xlarge", "hpc7g.4xlarge", "hpc7g.8xlarge", "hpc7g.16xlarge", "c7gn.medium", "c7gn.large", "c7gn.xlarge", "c7gn.2xlarge", "c7gn.4xlarge", "c7gn.8xlarge", "c7gn.12xlarge", "c7gn.16xlarge", "p5.48xlarge", "m7i.large", "m7i.xlarge", "m7i.2xlarge", "m7i.4xlarge", "m7i.8xlarge", "m7i.12xlarge", "m7i.16xlarge", "m7i.24xlarge", "m7i.48xlarge", "m7i-flex.large", "m7i-flex.xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", "m7a.medium", "m7a.large", "m7a.xlarge", "m7a.2xlarge", "m7a.4xlarge", "m7a.8xlarge", "m7a.12xlarge", "m7a.16xlarge", "m7a.24xlarge", "m7a.32xlarge", "m7a.48xlarge", "m7a.metal-48xl", "hpc7a.12xlarge", "hpc7a.24xlarge", "hpc7a.48xlarge", "hpc7a.96xlarge", "c7gd.medium", "c7gd.large", "c7gd.xlarge", "c7gd.2xlarge", "c7gd.4xlarge", "c7gd.8xlarge", "c7gd.12xlarge", "c7gd.16xlarge", "m7gd.medium", "m7gd.large", "m7gd.xlarge", "m7gd.2xlarge", "m7gd.4xlarge", "m7gd.8xlarge", "m7gd.12xlarge", "m7gd.16xlarge", "r7gd.medium", "r7gd.large", "r7gd.xlarge", "r7gd.2xlarge", "r7gd.4xlarge", "r7gd.8xlarge", "r7gd.12xlarge", "r7gd.16xlarge", "r7a.medium", "r7a.large", "r7a.xlarge", "r7a.2xlarge", "r7a.4xlarge", "r7a.8xlarge", "r7a.12xlarge", "r7a.16xlarge", "r7a.24xlarge", "r7a.32xlarge", "r7a.48xlarge", "c7i.large", "c7i.xlarge", "c7i.2xlarge", "c7i.4xlarge", "c7i.8xlarge", "c7i.12xlarge", "c7i.16xlarge", "c7i.24xlarge", "c7i.48xlarge", "mac2-m2pro.metal", "r7iz.large", "r7iz.xlarge", "r7iz.2xlarge", "r7iz.4xlarge", "r7iz.8xlarge", "r7iz.12xlarge", "r7iz.16xlarge", "r7iz.32xlarge", "c7a.medium", "c7a.large", "c7a.xlarge", "c7a.2xlarge", "c7a.4xlarge", "c7a.8xlarge", "c7a.12xlarge", "c7a.16xlarge", "c7a.24xlarge", "c7a.32xlarge", "c7a.48xlarge", "c7a.metal-48xl", "r7a.metal-48xl", "r7i.large", "r7i.xlarge", "r7i.2xlarge", "r7i.4xlarge", "r7i.8xlarge", "r7i.12xlarge", "r7i.16xlarge", "r7i.24xlarge", "r7i.48xlarge", "dl2q.24xlarge", "mac2-m2.metal", "i4i.12xlarge", "i4i.24xlarge", "c7i.metal-24xl", "c7i.metal-48xl", "m7i.metal-24xl", "m7i.metal-48xl", "r7i.metal-24xl", "r7i.metal-48xl", "r7iz.metal-16xl", "r7iz.metal-32xl", "c7gd.metal", "m7gd.metal", "r7gd.metal", "g6.xlarge", "g6.2xlarge", "g6.4xlarge", "g6.8xlarge", "g6.12xlarge", "g6.16xlarge", "g6.24xlarge", "g6.48xlarge", "gr6.4xlarge", "gr6.8xlarge", "c7i-flex.large", "c7i-flex.xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", "u7i-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", "u7ib-12tb.224xlarge", "c7gn.metal", "r8g.medium", "r8g.large", "r8g.xlarge", "r8g.2xlarge", "r8g.4xlarge", "r8g.8xlarge", "r8g.12xlarge", "r8g.16xlarge", "r8g.24xlarge", "r8g.48xlarge", "r8g.metal-24xl", "r8g.metal-48xl", "mac2-m1ultra.metal", "g6e.xlarge", "g6e.2xlarge", "g6e.4xlarge", "g6e.8xlarge", "g6e.12xlarge", "g6e.16xlarge", "g6e.24xlarge", "g6e.48xlarge", "c8g.medium", "c8g.large", "c8g.xlarge", "c8g.2xlarge", "c8g.4xlarge", "c8g.8xlarge", "c8g.12xlarge", "c8g.16xlarge", "c8g.24xlarge", "c8g.48xlarge", "c8g.metal-24xl", "c8g.metal-48xl", "m8g.medium", "m8g.large", "m8g.xlarge", "m8g.2xlarge", "m8g.4xlarge", "m8g.8xlarge", "m8g.12xlarge", "m8g.16xlarge", "m8g.24xlarge", "m8g.48xlarge", "m8g.metal-24xl", "m8g.metal-48xl", "x8g.medium", "x8g.large", "x8g.xlarge", "x8g.2xlarge", "x8g.4xlarge", "x8g.8xlarge", "x8g.12xlarge", "x8g.16xlarge", "x8g.24xlarge", "x8g.48xlarge", "x8g.metal-24xl", "x8g.metal-48xl", "i7ie.large", "i7ie.xlarge", "i7ie.2xlarge", "i7ie.3xlarge", "i7ie.6xlarge", "i7ie.12xlarge", "i7ie.18xlarge", "i7ie.24xlarge", "i7ie.48xlarge", "i8g.large", "i8g.xlarge", "i8g.2xlarge", "i8g.4xlarge", "i8g.8xlarge", "i8g.12xlarge", "i8g.16xlarge", "i8g.24xlarge", "i8g.metal-24xl", "u7i-6tb.112xlarge", "u7i-8tb.112xlarge", "u7inh-32tb.480xlarge", "p5e.48xlarge", "p5en.48xlarge", "f2.12xlarge", "f2.48xlarge", "trn2.48xlarge"
resp.launch_template_version.launch_template_data.key_name #=> String
resp.launch_template_version.launch_template_data.monitoring.enabled #=> Boolean
resp.launch_template_version.launch_template_data.placement.availability_zone #=> String
resp.launch_template_version.launch_template_data.placement.affinity #=> String
resp.launch_template_version.launch_template_data.placement.group_name #=> String
resp.launch_template_version.launch_template_data.placement.host_id #=> String
resp.launch_template_version.launch_template_data.placement.tenancy #=> String, one of "default", "dedicated", "host"
resp.launch_template_version.launch_template_data.placement.spread_domain #=> String
resp.launch_template_version.launch_template_data.placement.host_resource_group_arn #=> String
resp.launch_template_version.launch_template_data.placement.partition_number #=> Integer
resp.launch_template_version.launch_template_data.placement.group_id #=> String
resp.launch_template_version.launch_template_data.ram_disk_id #=> String
resp.launch_template_version.launch_template_data.disable_api_termination #=> Boolean
resp.launch_template_version.launch_template_data.instance_initiated_shutdown_behavior #=> String, one of "stop", "terminate"
resp.launch_template_version.launch_template_data.user_data #=> String
resp.launch_template_version.launch_template_data.tag_specifications #=> Array
resp.launch_template_version.launch_template_data.tag_specifications[0].resource_type #=> String, one of "capacity-reservation", "client-vpn-endpoint", "customer-gateway", "carrier-gateway", "coip-pool", "declarative-policies-report", "dedicated-host", "dhcp-options", "egress-only-internet-gateway", "elastic-ip", "elastic-gpu", "export-image-task", "export-instance-task", "fleet", "fpga-image", "host-reservation", "image", "import-image-task", "import-snapshot-task", "instance", "instance-event-window", "internet-gateway", "ipam", "ipam-pool", "ipam-scope", "ipv4pool-ec2", "ipv6pool-ec2", "key-pair", "launch-template", "local-gateway", "local-gateway-route-table", "local-gateway-virtual-interface", "local-gateway-virtual-interface-group", "local-gateway-route-table-vpc-association", "local-gateway-route-table-virtual-interface-group-association", "natgateway", "network-acl", "network-interface", "network-insights-analysis", "network-insights-path", "network-insights-access-scope", "network-insights-access-scope-analysis", "placement-group", "prefix-list", "replace-root-volume-task", "reserved-instances", "route-table", "security-group", "security-group-rule", "snapshot", "spot-fleet-request", "spot-instances-request", "subnet", "subnet-cidr-reservation", "traffic-mirror-filter", "traffic-mirror-session", "traffic-mirror-target", "transit-gateway", "transit-gateway-attachment", "transit-gateway-connect-peer", "transit-gateway-multicast-domain", "transit-gateway-policy-table", "transit-gateway-route-table", "transit-gateway-route-table-announcement", "volume", "vpc", "vpc-endpoint", "vpc-endpoint-connection", "vpc-endpoint-service", "vpc-endpoint-service-permission", "vpc-peering-connection", "vpn-connection", "vpn-gateway", "vpc-flow-log", "capacity-reservation-fleet", "traffic-mirror-filter-rule", "vpc-endpoint-connection-device-type", "verified-access-instance", "verified-access-group", "verified-access-endpoint", "verified-access-policy", "verified-access-trust-provider", "vpn-connection-device-type", "vpc-block-public-access-exclusion", "ipam-resource-discovery", "ipam-resource-discovery-association", "instance-connect-endpoint", "verified-access-endpoint-target", "ipam-external-resource-verification-token"
resp.launch_template_version.launch_template_data.tag_specifications[0].tags #=> Array
resp.launch_template_version.launch_template_data.tag_specifications[0].tags[0].key #=> String
resp.launch_template_version.launch_template_data.tag_specifications[0].tags[0].value #=> String
resp.launch_template_version.launch_template_data.elastic_gpu_specifications #=> Array
resp.launch_template_version.launch_template_data.elastic_gpu_specifications[0].type #=> String
resp.launch_template_version.launch_template_data.elastic_inference_accelerators #=> Array
resp.launch_template_version.launch_template_data.elastic_inference_accelerators[0].type #=> String
resp.launch_template_version.launch_template_data.elastic_inference_accelerators[0].count #=> Integer
resp.launch_template_version.launch_template_data.security_group_ids #=> Array
resp.launch_template_version.launch_template_data.security_group_ids[0] #=> String
resp.launch_template_version.launch_template_data.security_groups #=> Array
resp.launch_template_version.launch_template_data.security_groups[0] #=> String
resp.launch_template_version.launch_template_data.instance_market_options.market_type #=> String, one of "spot", "capacity-block"
resp.launch_template_version.launch_template_data.instance_market_options.spot_options.max_price #=> String
resp.launch_template_version.launch_template_data.instance_market_options.spot_options.spot_instance_type #=> String, one of "one-time", "persistent"
resp.launch_template_version.launch_template_data.instance_market_options.spot_options.block_duration_minutes #=> Integer
resp.launch_template_version.launch_template_data.instance_market_options.spot_options.valid_until #=> Time
resp.launch_template_version.launch_template_data.instance_market_options.spot_options.instance_interruption_behavior #=> String, one of "hibernate", "stop", "terminate"
resp.launch_template_version.launch_template_data.credit_specification.cpu_credits #=> String
resp.launch_template_version.launch_template_data.cpu_options.core_count #=> Integer
resp.launch_template_version.launch_template_data.cpu_options.threads_per_core #=> Integer
resp.launch_template_version.launch_template_data.cpu_options.amd_sev_snp #=> String, one of "enabled", "disabled"
resp.launch_template_version.launch_template_data.capacity_reservation_specification.capacity_reservation_preference #=> String, one of "capacity-reservations-only", "open", "none"
resp.launch_template_version.launch_template_data.capacity_reservation_specification.capacity_reservation_target.capacity_reservation_id #=> String
resp.launch_template_version.launch_template_data.capacity_reservation_specification.capacity_reservation_target.capacity_reservation_resource_group_arn #=> String
resp.launch_template_version.launch_template_data.license_specifications #=> Array
resp.launch_template_version.launch_template_data.license_specifications[0].license_configuration_arn #=> String
resp.launch_template_version.launch_template_data.hibernation_options.configured #=> Boolean
resp.launch_template_version.launch_template_data..state #=> String, one of "pending", "applied"
resp.launch_template_version.launch_template_data..http_tokens #=> String, one of "optional", "required"
resp.launch_template_version.launch_template_data..http_put_response_hop_limit #=> Integer
resp.launch_template_version.launch_template_data..http_endpoint #=> String, one of "disabled", "enabled"
resp.launch_template_version.launch_template_data..http_protocol_ipv_6 #=> String, one of "disabled", "enabled"
resp.launch_template_version.launch_template_data.. #=> String, one of "disabled", "enabled"
resp.launch_template_version.launch_template_data.enclave_options.enabled #=> Boolean
resp.launch_template_version.launch_template_data.instance_requirements.v_cpu_count.min #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.v_cpu_count.max #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.memory_mi_b.min #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.memory_mi_b.max #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.cpu_manufacturers #=> Array
resp.launch_template_version.launch_template_data.instance_requirements.cpu_manufacturers[0] #=> String, one of "intel", "amd", "amazon-web-services", "apple"
resp.launch_template_version.launch_template_data.instance_requirements.memory_gi_b_per_v_cpu.min #=> Float
resp.launch_template_version.launch_template_data.instance_requirements.memory_gi_b_per_v_cpu.max #=> Float
resp.launch_template_version.launch_template_data.instance_requirements.excluded_instance_types #=> Array
resp.launch_template_version.launch_template_data.instance_requirements.excluded_instance_types[0] #=> String
resp.launch_template_version.launch_template_data.instance_requirements.instance_generations #=> Array
resp.launch_template_version.launch_template_data.instance_requirements.instance_generations[0] #=> String, one of "current", "previous"
resp.launch_template_version.launch_template_data.instance_requirements.spot_max_price_percentage_over_lowest_price #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.on_demand_max_price_percentage_over_lowest_price #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.bare_metal #=> String, one of "included", "required", "excluded"
resp.launch_template_version.launch_template_data.instance_requirements.burstable_performance #=> String, one of "included", "required", "excluded"
resp.launch_template_version.launch_template_data.instance_requirements.require_hibernate_support #=> Boolean
resp.launch_template_version.launch_template_data.instance_requirements.network_interface_count.min #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.network_interface_count.max #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.local_storage #=> String, one of "included", "required", "excluded"
resp.launch_template_version.launch_template_data.instance_requirements.local_storage_types #=> Array
resp.launch_template_version.launch_template_data.instance_requirements.local_storage_types[0] #=> String, one of "hdd", "ssd"
resp.launch_template_version.launch_template_data.instance_requirements.total_local_storage_gb.min #=> Float
resp.launch_template_version.launch_template_data.instance_requirements.total_local_storage_gb.max #=> Float
resp.launch_template_version.launch_template_data.instance_requirements.baseline_ebs_bandwidth_mbps.min #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.baseline_ebs_bandwidth_mbps.max #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.accelerator_types #=> Array
resp.launch_template_version.launch_template_data.instance_requirements.accelerator_types[0] #=> String, one of "gpu", "fpga", "inference"
resp.launch_template_version.launch_template_data.instance_requirements.accelerator_count.min #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.accelerator_count.max #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.accelerator_manufacturers #=> Array
resp.launch_template_version.launch_template_data.instance_requirements.accelerator_manufacturers[0] #=> String, one of "amazon-web-services", "amd", "nvidia", "xilinx", "habana"
resp.launch_template_version.launch_template_data.instance_requirements.accelerator_names #=> Array
resp.launch_template_version.launch_template_data.instance_requirements.accelerator_names[0] #=> String, one of "a100", "inferentia", "k520", "k80", "m60", "radeon-pro-v520", "t4", "vu9p", "v100", "a10g", "h100", "t4g"
resp.launch_template_version.launch_template_data.instance_requirements.accelerator_total_memory_mi_b.min #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.accelerator_total_memory_mi_b.max #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.network_bandwidth_gbps.min #=> Float
resp.launch_template_version.launch_template_data.instance_requirements.network_bandwidth_gbps.max #=> Float
resp.launch_template_version.launch_template_data.instance_requirements.allowed_instance_types #=> Array
resp.launch_template_version.launch_template_data.instance_requirements.allowed_instance_types[0] #=> String
resp.launch_template_version.launch_template_data.instance_requirements.max_spot_price_as_percentage_of_optimal_on_demand_price #=> Integer
resp.launch_template_version.launch_template_data.instance_requirements.baseline_performance_factors.cpu.references #=> Array
resp.launch_template_version.launch_template_data.instance_requirements.baseline_performance_factors.cpu.references[0].instance_family #=> String
resp.launch_template_version.launch_template_data.private_dns_name_options.hostname_type #=> String, one of "ip-name", "resource-name"
resp.launch_template_version.launch_template_data.private_dns_name_options.enable_resource_name_dns_a_record #=> Boolean
resp.launch_template_version.launch_template_data.private_dns_name_options.enable_resource_name_dns_aaaa_record #=> Boolean
resp.launch_template_version.launch_template_data.maintenance_options.auto_recovery #=> String, one of "default", "disabled"
resp.launch_template_version.launch_template_data.disable_api_stop #=> Boolean
resp.launch_template_version.launch_template_data.operator.managed #=> Boolean
resp.launch_template_version.launch_template_data.operator.principal #=> String
resp.launch_template_version.launch_template_data.network_performance_options.bandwidth_weighting #=> String, one of "default", "vpc-1", "ebs-1"
resp.launch_template_version.operator.managed #=> Boolean
resp.launch_template_version.operator.principal #=> String
resp.warning.errors #=> Array
resp.warning.errors[0].code #=> String
resp.warning.errors[0].message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    Constraint: Maximum 128 ASCII characters.

  • :launch_template_id (String)

    The ID of the launch template.

    You must specify either the launch template ID or the launch template name, but not both.

  • :launch_template_name (String)

    The name of the launch template.

    You must specify either the launch template ID or the launch template name, but not both.

  • :source_version (String)

    The version of the launch template on which to base the new version. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

    If you specify this parameter, the new version inherits the launch parameters from the source version. If you specify additional launch parameters for the new version, they overwrite any corresponding launch parameters inherited from the source version.

    If you omit this parameter, the new version contains only the launch parameters that you specify for the new version.

  • :version_description (String)

    A description for the version of the launch template.

  • :launch_template_data (required, Types::RequestLaunchTemplateData)

    The information for the launch template.

  • :resolve_alias (Boolean)

    If true, and if a Systems Manager parameter is specified for ImageId, the AMI ID is displayed in the response for imageID. For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

    Default: false

Returns:

See Also:



9828
9829
9830
9831
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 9828

def create_launch_template_version(params = {}, options = {})
  req = build_request(:create_launch_template_version, params)
  req.send_request(options)
end

#create_local_gateway_route(params = {}) ⇒ Types::CreateLocalGatewayRouteResult

Creates a static route for the specified local gateway route table. You must specify one of the following targets:

  • LocalGatewayVirtualInterfaceGroupId

  • NetworkInterfaceId

Examples:

Request syntax with placeholder values


resp = client.create_local_gateway_route({
  destination_cidr_block: "String",
  local_gateway_route_table_id: "LocalGatewayRoutetableId", # required
  local_gateway_virtual_interface_group_id: "LocalGatewayVirtualInterfaceGroupId",
  dry_run: false,
  network_interface_id: "NetworkInterfaceId",
  destination_prefix_list_id: "PrefixListResourceId",
})

Response structure


resp.route.destination_cidr_block #=> String
resp.route.local_gateway_virtual_interface_group_id #=> String
resp.route.type #=> String, one of "static", "propagated"
resp.route.state #=> String, one of "pending", "active", "blackhole", "deleting", "deleted"
resp.route.local_gateway_route_table_id #=> String
resp.route.local_gateway_route_table_arn #=> String
resp.route.owner_id #=> String
resp.route.subnet_id #=> String
resp.route.coip_pool_id #=> String
resp.route.network_interface_id #=> String
resp.route.destination_prefix_list_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :destination_cidr_block (String)

    The CIDR range used for destination matches. Routing decisions are based on the most specific match.

  • :local_gateway_route_table_id (required, String)

    The ID of the local gateway route table.

  • :local_gateway_virtual_interface_group_id (String)

    The ID of the virtual interface group.

  • :dry_run (Boolean)

    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.

  • :network_interface_id (String)

    The ID of the network interface.

  • :destination_prefix_list_id (String)

    The ID of the prefix list. Use a prefix list in place of DestinationCidrBlock. You cannot use DestinationPrefixListId and DestinationCidrBlock in the same request.

Returns:

See Also:



9897
9898
9899
9900
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 9897

def create_local_gateway_route(params = {}, options = {})
  req = build_request(:create_local_gateway_route, params)
  req.send_request(options)
end

#create_local_gateway_route_table(params = {}) ⇒ Types::CreateLocalGatewayRouteTableResult

Creates a local gateway route table.

Examples:

Request syntax with placeholder values


resp = client.create_local_gateway_route_table({
  local_gateway_id: "LocalGatewayId", # required
  mode: "direct-vpc-routing", # accepts direct-vpc-routing, coip
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.local_gateway_route_table.local_gateway_route_table_id #=> String
resp.local_gateway_route_table.local_gateway_route_table_arn #=> String
resp.local_gateway_route_table.local_gateway_id #=> String
resp.local_gateway_route_table.outpost_arn #=> String
resp.local_gateway_route_table.owner_id #=> String
resp.local_gateway_route_table.state #=> String
resp.local_gateway_route_table.tags #=> Array
resp.local_gateway_route_table.tags[0].key #=> String
resp.local_gateway_route_table.tags[0].value #=> String
resp.local_gateway_route_table.mode #=> String, one of "direct-vpc-routing", "coip"
resp.local_gateway_route_table.state_reason.code #=> String
resp.local_gateway_route_table.state_reason.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :local_gateway_id (required, String)

    The ID of the local gateway.

  • :mode (String)

    The mode of the local gateway route table.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags assigned to the local gateway route table.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



9961
9962
9963
9964
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 9961

def create_local_gateway_route_table(params = {}, options = {})
  req = build_request(:create_local_gateway_route_table, params)
  req.send_request(options)
end

#create_local_gateway_route_table_virtual_interface_group_association(params = {}) ⇒ Types::CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult

Creates a local gateway route table virtual interface group association.

Examples:

Request syntax with placeholder values


resp = client.create_local_gateway_route_table_virtual_interface_group_association({
  local_gateway_route_table_id: "LocalGatewayRoutetableId", # required
  local_gateway_virtual_interface_group_id: "LocalGatewayVirtualInterfaceGroupId", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.local_gateway_route_table_virtual_interface_group_association.local_gateway_route_table_virtual_interface_group_association_id #=> String
resp.local_gateway_route_table_virtual_interface_group_association.local_gateway_virtual_interface_group_id #=> String
resp.local_gateway_route_table_virtual_interface_group_association.local_gateway_id #=> String
resp.local_gateway_route_table_virtual_interface_group_association.local_gateway_route_table_id #=> String
resp.local_gateway_route_table_virtual_interface_group_association.local_gateway_route_table_arn #=> String
resp.local_gateway_route_table_virtual_interface_group_association.owner_id #=> String
resp.local_gateway_route_table_virtual_interface_group_association.state #=> String
resp.local_gateway_route_table_virtual_interface_group_association.tags #=> Array
resp.local_gateway_route_table_virtual_interface_group_association.tags[0].key #=> String
resp.local_gateway_route_table_virtual_interface_group_association.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :local_gateway_route_table_id (required, String)

    The ID of the local gateway route table.

  • :local_gateway_virtual_interface_group_id (required, String)

    The ID of the local gateway route table virtual interface group association.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags assigned to the local gateway route table virtual interface group association.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



10026
10027
10028
10029
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 10026

def create_local_gateway_route_table_virtual_interface_group_association(params = {}, options = {})
  req = build_request(:create_local_gateway_route_table_virtual_interface_group_association, params)
  req.send_request(options)
end

#create_local_gateway_route_table_vpc_association(params = {}) ⇒ Types::CreateLocalGatewayRouteTableVpcAssociationResult

Associates the specified VPC with the specified local gateway route table.

Examples:

Request syntax with placeholder values


resp = client.create_local_gateway_route_table_vpc_association({
  local_gateway_route_table_id: "LocalGatewayRoutetableId", # required
  vpc_id: "VpcId", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.local_gateway_route_table_vpc_association.local_gateway_route_table_vpc_association_id #=> String
resp.local_gateway_route_table_vpc_association.local_gateway_route_table_id #=> String
resp.local_gateway_route_table_vpc_association.local_gateway_route_table_arn #=> String
resp.local_gateway_route_table_vpc_association.local_gateway_id #=> String
resp.local_gateway_route_table_vpc_association.vpc_id #=> String
resp.local_gateway_route_table_vpc_association.owner_id #=> String
resp.local_gateway_route_table_vpc_association.state #=> String
resp.local_gateway_route_table_vpc_association.tags #=> Array
resp.local_gateway_route_table_vpc_association.tags[0].key #=> String
resp.local_gateway_route_table_vpc_association.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :local_gateway_route_table_id (required, String)

    The ID of the local gateway route table.

  • :vpc_id (required, String)

    The ID of the VPC.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the local gateway route table VPC association.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



10089
10090
10091
10092
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 10089

def create_local_gateway_route_table_vpc_association(params = {}, options = {})
  req = build_request(:create_local_gateway_route_table_vpc_association, params)
  req.send_request(options)
end

#create_managed_prefix_list(params = {}) ⇒ Types::CreateManagedPrefixListResult

Creates a managed prefix list. You can specify entries for the prefix list. Each entry consists of a CIDR block and an optional description.

Examples:

Request syntax with placeholder values


resp = client.create_managed_prefix_list({
  dry_run: false,
  prefix_list_name: "String", # required
  entries: [
    {
      cidr: "String", # required
      description: "String",
    },
  ],
  max_entries: 1, # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  address_family: "String", # required
  client_token: "String",
})

Response structure


resp.prefix_list.prefix_list_id #=> String
resp.prefix_list.address_family #=> String
resp.prefix_list.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "modify-in-progress", "modify-complete", "modify-failed", "restore-in-progress", "restore-complete", "restore-failed", "delete-in-progress", "delete-complete", "delete-failed"
resp.prefix_list.state_message #=> String
resp.prefix_list.prefix_list_arn #=> String
resp.prefix_list.prefix_list_name #=> String
resp.prefix_list.max_entries #=> Integer
resp.prefix_list.version #=> Integer
resp.prefix_list.tags #=> Array
resp.prefix_list.tags[0].key #=> String
resp.prefix_list.tags[0].value #=> String
resp.prefix_list.owner_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :prefix_list_name (required, String)

    A name for the prefix list.

    Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.

  • :entries (Array<Types::AddPrefixListEntry>)

    One or more entries for the prefix list.

  • :max_entries (required, Integer)

    The maximum number of entries for the prefix list.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the prefix list during creation.

  • :address_family (required, String)

    The IP address type.

    Valid Values: IPv4 | IPv6

  • :client_token (String)

    Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    Constraints: Up to 255 UTF-8 characters in length.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



10187
10188
10189
10190
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 10187

def create_managed_prefix_list(params = {}, options = {})
  req = build_request(:create_managed_prefix_list, params)
  req.send_request(options)
end

#create_nat_gateway(params = {}) ⇒ Types::CreateNatGatewayResult

Creates a NAT gateway in the specified subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. You can create either a public NAT gateway or a private NAT gateway.

With a public NAT gateway, internet-bound traffic from a private subnet can be routed to the NAT gateway, so that instances in a private subnet can connect to the internet.

With a private NAT gateway, private communication is routed across VPCs and on-premises networks through a transit gateway or virtual private gateway. Common use cases include running large workloads behind a small pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and communicating between overlapping networks.

For more information, see NAT gateways in the Amazon VPC User Guide.

When you create a public NAT gateway and assign it an EIP or secondary EIPs, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the NAT gateway will fail to launch. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

Examples:

Example: To create a NAT gateway


# This example creates a NAT gateway in subnet subnet-1a2b3c4d and associates an Elastic IP address with the allocation ID
# eipalloc-37fc1a52 with the NAT gateway.

resp = client.create_nat_gateway({
  allocation_id: "eipalloc-37fc1a52", 
  subnet_id: "subnet-1a2b3c4d", 
})

resp.to_h outputs the following:
{
  nat_gateway: {
    create_time: Time.parse("2015-12-17T12:45:26.732Z"), 
    nat_gateway_addresses: [
      {
        allocation_id: "eipalloc-37fc1a52", 
      }, 
    ], 
    nat_gateway_id: "nat-08d48af2a8e83edfd", 
    state: "pending", 
    subnet_id: "subnet-1a2b3c4d", 
    vpc_id: "vpc-1122aabb", 
  }, 
}

Request syntax with placeholder values


resp = client.create_nat_gateway({
  allocation_id: "AllocationId",
  client_token: "String",
  dry_run: false,
  subnet_id: "SubnetId", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  connectivity_type: "private", # accepts private, public
  private_ip_address: "String",
  secondary_allocation_ids: ["AllocationId"],
  secondary_private_ip_addresses: ["String"],
  secondary_private_ip_address_count: 1,
})

Response structure


resp.client_token #=> String
resp.nat_gateway.create_time #=> Time
resp.nat_gateway.delete_time #=> Time
resp.nat_gateway.failure_code #=> String
resp.nat_gateway.failure_message #=> String
resp.nat_gateway.nat_gateway_addresses #=> Array
resp.nat_gateway.nat_gateway_addresses[0].allocation_id #=> String
resp.nat_gateway.nat_gateway_addresses[0].network_interface_id #=> String
resp.nat_gateway.nat_gateway_addresses[0].private_ip #=> String
resp.nat_gateway.nat_gateway_addresses[0].public_ip #=> String
resp.nat_gateway.nat_gateway_addresses[0].association_id #=> String
resp.nat_gateway.nat_gateway_addresses[0].is_primary #=> Boolean
resp.nat_gateway.nat_gateway_addresses[0].failure_message #=> String
resp.nat_gateway.nat_gateway_addresses[0].status #=> String, one of "assigning", "unassigning", "associating", "disassociating", "succeeded", "failed"
resp.nat_gateway.nat_gateway_id #=> String
resp.nat_gateway.provisioned_bandwidth.provision_time #=> Time
resp.nat_gateway.provisioned_bandwidth.provisioned #=> String
resp.nat_gateway.provisioned_bandwidth.request_time #=> Time
resp.nat_gateway.provisioned_bandwidth.requested #=> String
resp.nat_gateway.provisioned_bandwidth.status #=> String
resp.nat_gateway.state #=> String, one of "pending", "failed", "available", "deleting", "deleted"
resp.nat_gateway.subnet_id #=> String
resp.nat_gateway.vpc_id #=> String
resp.nat_gateway.tags #=> Array
resp.nat_gateway.tags[0].key #=> String
resp.nat_gateway.tags[0].value #=> String
resp.nat_gateway.connectivity_type #=> String, one of "private", "public"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :allocation_id (String)

    [Public NAT gateways only] The allocation ID of an Elastic IP address to associate with the NAT gateway. You cannot specify an Elastic IP address with a private NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    Constraint: Maximum 64 ASCII characters.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

  • :subnet_id (required, String)

    The ID of the subnet in which to create the NAT gateway.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the NAT gateway.

  • :connectivity_type (String)

    Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.

  • :private_ip_address (String)

    The private IPv4 address to assign to the NAT gateway. If you don't provide an address, a private IPv4 address will be automatically assigned.

  • :secondary_allocation_ids (Array<String>)

    Secondary EIP allocation IDs. For more information, see Create a NAT gateway in the Amazon VPC User Guide.

  • :secondary_private_ip_addresses (Array<String>)

    Secondary private IPv4 addresses. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

  • :secondary_private_ip_address_count (Integer)

    [Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

Returns:

See Also:



10385
10386
10387
10388
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 10385

def create_nat_gateway(params = {}, options = {})
  req = build_request(:create_nat_gateway, params)
  req.send_request(options)
end

#create_network_acl(params = {}) ⇒ Types::CreateNetworkAclResult

Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC.

For more information, see Network ACLs in the Amazon VPC User Guide.

Examples:

Example: To create a network ACL


# This example creates a network ACL for the specified VPC.

resp = client.create_network_acl({
  vpc_id: "vpc-a01106c2", 
})

resp.to_h outputs the following:
{
  network_acl: {
    associations: [
    ], 
    entries: [
      {
        cidr_block: "0.0.0.0/0", 
        egress: true, 
        protocol: "-1", 
        rule_action: "deny", 
        rule_number: 32767, 
      }, 
      {
        cidr_block: "0.0.0.0/0", 
        egress: false, 
        protocol: "-1", 
        rule_action: "deny", 
        rule_number: 32767, 
      }, 
    ], 
    is_default: false, 
    network_acl_id: "acl-5fb85d36", 
    tags: [
    ], 
    vpc_id: "vpc-a01106c2", 
  }, 
}

Request syntax with placeholder values


resp = client.create_network_acl({
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  client_token: "String",
  dry_run: false,
  vpc_id: "VpcId", # required
})

Response structure


resp.network_acl.associations #=> Array
resp.network_acl.associations[0].network_acl_association_id #=> String
resp.network_acl.associations[0].network_acl_id #=> String
resp.network_acl.associations[0].subnet_id #=> String
resp.network_acl.entries #=> Array
resp.network_acl.entries[0].cidr_block #=> String
resp.network_acl.entries[0].egress #=> Boolean
resp.network_acl.entries[0].icmp_type_code.code #=> Integer
resp.network_acl.entries[0].icmp_type_code.type #=> Integer
resp.network_acl.entries[0].ipv_6_cidr_block #=> String
resp.network_acl.entries[0].port_range.from #=> Integer
resp.network_acl.entries[0].port_range.to #=> Integer
resp.network_acl.entries[0].protocol #=> String
resp.network_acl.entries[0].rule_action #=> String, one of "allow", "deny"
resp.network_acl.entries[0].rule_number #=> Integer
resp.network_acl.is_default #=> Boolean
resp.network_acl.network_acl_id #=> String
resp.network_acl.tags #=> Array
resp.network_acl.tags[0].key #=> String
resp.network_acl.tags[0].value #=> String
resp.network_acl.vpc_id #=> String
resp.network_acl.owner_id #=> String
resp.client_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the network ACL.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

  • :vpc_id (required, String)

    The ID of the VPC.

Returns:

See Also:



10517
10518
10519
10520
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 10517

def create_network_acl(params = {}, options = {})
  req = build_request(:create_network_acl, params)
  req.send_request(options)
end

#create_network_acl_entry(params = {}) ⇒ Struct

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate set of egress rules.

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon VPC User Guide.

Examples:

Example: To create a network ACL entry


# This example creates an entry for the specified network ACL. The rule allows ingress traffic from anywhere (0.0.0.0/0)
# on UDP port 53 (DNS) into any associated subnet.

resp = client.create_network_acl_entry({
  cidr_block: "0.0.0.0/0", 
  egress: false, 
  network_acl_id: "acl-5fb85d36", 
  port_range: {
    from: 53, 
    to: 53, 
  }, 
  protocol: "17", 
  rule_action: "allow", 
  rule_number: 100, 
})

Request syntax with placeholder values


resp = client.create_network_acl_entry({
  dry_run: false,
  network_acl_id: "NetworkAclId", # required
  rule_number: 1, # required
  protocol: "String", # required
  rule_action: "allow", # required, accepts allow, deny
  egress: false, # required
  cidr_block: "String",
  ipv_6_cidr_block: "String",
  icmp_type_code: {
    code: 1,
    type: 1,
  },
  port_range: {
    from: 1,
    to: 1,
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :network_acl_id (required, String)

    The ID of the network ACL.

  • :rule_number (required, Integer)

    The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

    Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

  • :protocol (required, String)

    The protocol number. A value of "-1" means all protocols. If you specify "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is allowed, regardless of any ports or ICMP types or codes that you specify. If you specify protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6) and specify an IPv6 CIDR block, you must specify an ICMP type and code.

  • :rule_action (required, String)

    Indicates whether to allow or deny the traffic that matches the rule.

  • :egress (required, Boolean)

    Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

  • :cidr_block (String)

    The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24). We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

  • :ipv_6_cidr_block (String)

    The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).

  • :icmp_type_code (Types::IcmpTypeCode)

    ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

  • :port_range (Types::PortRange)

    TCP or UDP protocols: The range of ports the rule applies to. Required if specifying protocol 6 (TCP) or 17 (UDP).

Returns:

  • (Struct)

    Returns an empty response.

See Also:



10643
10644
10645
10646
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 10643

def create_network_acl_entry(params = {}, options = {})
  req = build_request(:create_network_acl_entry, params)
  req.send_request(options)
end

#create_network_insights_access_scope(params = {}) ⇒ Types::CreateNetworkInsightsAccessScopeResult

Creates a Network Access Scope.

Amazon Web Services Network Access Analyzer enables cloud networking and cloud operations teams to verify that their networks on Amazon Web Services conform to their network security and governance objectives. For more information, see the Amazon Web Services Network Access Analyzer Guide.

Examples:

Request syntax with placeholder values


resp = client.create_network_insights_access_scope({
  match_paths: [
    {
      source: {
        packet_header_statement: {
          source_addresses: ["String"],
          destination_addresses: ["String"],
          source_ports: ["String"],
          destination_ports: ["String"],
          source_prefix_lists: ["String"],
          destination_prefix_lists: ["String"],
          protocols: ["tcp"], # accepts tcp, udp
        },
        resource_statement: {
          resources: ["String"],
          resource_types: ["String"],
        },
      },
      destination: {
        packet_header_statement: {
          source_addresses: ["String"],
          destination_addresses: ["String"],
          source_ports: ["String"],
          destination_ports: ["String"],
          source_prefix_lists: ["String"],
          destination_prefix_lists: ["String"],
          protocols: ["tcp"], # accepts tcp, udp
        },
        resource_statement: {
          resources: ["String"],
          resource_types: ["String"],
        },
      },
      through_resources: [
        {
          resource_statement: {
            resources: ["String"],
            resource_types: ["String"],
          },
        },
      ],
    },
  ],
  exclude_paths: [
    {
      source: {
        packet_header_statement: {
          source_addresses: ["String"],
          destination_addresses: ["String"],
          source_ports: ["String"],
          destination_ports: ["String"],
          source_prefix_lists: ["String"],
          destination_prefix_lists: ["String"],
          protocols: ["tcp"], # accepts tcp, udp
        },
        resource_statement: {
          resources: ["String"],
          resource_types: ["String"],
        },
      },
      destination: {
        packet_header_statement: {
          source_addresses: ["String"],
          destination_addresses: ["String"],
          source_ports: ["String"],
          destination_ports: ["String"],
          source_prefix_lists: ["String"],
          destination_prefix_lists: ["String"],
          protocols: ["tcp"], # accepts tcp, udp
        },
        resource_statement: {
          resources: ["String"],
          resource_types: ["String"],
        },
      },
      through_resources: [
        {
          resource_statement: {
            resources: ["String"],
            resource_types: ["String"],
          },
        },
      ],
    },
  ],
  client_token: "String", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.network_insights_access_scope.network_insights_access_scope_id #=> String
resp.network_insights_access_scope.network_insights_access_scope_arn #=> String
resp.network_insights_access_scope.created_date #=> Time
resp.network_insights_access_scope.updated_date #=> Time
resp.network_insights_access_scope.tags #=> Array
resp.network_insights_access_scope.tags[0].key #=> String
resp.network_insights_access_scope.tags[0].value #=> String
resp.network_insights_access_scope_content.network_insights_access_scope_id #=> String
resp.network_insights_access_scope_content.match_paths #=> Array
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.source_addresses #=> Array
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.source_addresses[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.destination_addresses #=> Array
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.destination_addresses[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.source_ports #=> Array
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.source_ports[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.destination_ports #=> Array
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.destination_ports[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.source_prefix_lists #=> Array
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.source_prefix_lists[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.destination_prefix_lists #=> Array
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.destination_prefix_lists[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.protocols #=> Array
resp.network_insights_access_scope_content.match_paths[0].source.packet_header_statement.protocols[0] #=> String, one of "tcp", "udp"
resp.network_insights_access_scope_content.match_paths[0].source.resource_statement.resources #=> Array
resp.network_insights_access_scope_content.match_paths[0].source.resource_statement.resources[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].source.resource_statement.resource_types #=> Array
resp.network_insights_access_scope_content.match_paths[0].source.resource_statement.resource_types[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.source_addresses #=> Array
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.source_addresses[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.destination_addresses #=> Array
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.destination_addresses[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.source_ports #=> Array
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.source_ports[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.destination_ports #=> Array
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.destination_ports[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.source_prefix_lists #=> Array
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.source_prefix_lists[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.destination_prefix_lists #=> Array
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.destination_prefix_lists[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.protocols #=> Array
resp.network_insights_access_scope_content.match_paths[0].destination.packet_header_statement.protocols[0] #=> String, one of "tcp", "udp"
resp.network_insights_access_scope_content.match_paths[0].destination.resource_statement.resources #=> Array
resp.network_insights_access_scope_content.match_paths[0].destination.resource_statement.resources[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].destination.resource_statement.resource_types #=> Array
resp.network_insights_access_scope_content.match_paths[0].destination.resource_statement.resource_types[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].through_resources #=> Array
resp.network_insights_access_scope_content.match_paths[0].through_resources[0].resource_statement.resources #=> Array
resp.network_insights_access_scope_content.match_paths[0].through_resources[0].resource_statement.resources[0] #=> String
resp.network_insights_access_scope_content.match_paths[0].through_resources[0].resource_statement.resource_types #=> Array
resp.network_insights_access_scope_content.match_paths[0].through_resources[0].resource_statement.resource_types[0] #=> String
resp.network_insights_access_scope_content.exclude_paths #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.source_addresses #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.source_addresses[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.destination_addresses #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.destination_addresses[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.source_ports #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.source_ports[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.destination_ports #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.destination_ports[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.source_prefix_lists #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.source_prefix_lists[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.destination_prefix_lists #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.destination_prefix_lists[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.protocols #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].source.packet_header_statement.protocols[0] #=> String, one of "tcp", "udp"
resp.network_insights_access_scope_content.exclude_paths[0].source.resource_statement.resources #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].source.resource_statement.resources[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].source.resource_statement.resource_types #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].source.resource_statement.resource_types[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.source_addresses #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.source_addresses[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.destination_addresses #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.destination_addresses[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.source_ports #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.source_ports[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.destination_ports #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.destination_ports[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.source_prefix_lists #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.source_prefix_lists[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.destination_prefix_lists #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.destination_prefix_lists[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.protocols #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].destination.packet_header_statement.protocols[0] #=> String, one of "tcp", "udp"
resp.network_insights_access_scope_content.exclude_paths[0].destination.resource_statement.resources #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].destination.resource_statement.resources[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].destination.resource_statement.resource_types #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].destination.resource_statement.resource_types[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].through_resources #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].through_resources[0].resource_statement.resources #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].through_resources[0].resource_statement.resources[0] #=> String
resp.network_insights_access_scope_content.exclude_paths[0].through_resources[0].resource_statement.resource_types #=> Array
resp.network_insights_access_scope_content.exclude_paths[0].through_resources[0].resource_statement.resource_types[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :match_paths (Array<Types::AccessScopePathRequest>)

    The paths to match.

  • :exclude_paths (Array<Types::AccessScopePathRequest>)

    The paths to exclude.

  • :client_token (required, String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



10893
10894
10895
10896
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 10893

def create_network_insights_access_scope(params = {}, options = {})
  req = build_request(:create_network_insights_access_scope, params)
  req.send_request(options)
end

#create_network_insights_path(params = {}) ⇒ Types::CreateNetworkInsightsPathResult

Creates a path to analyze for reachability.

Reachability Analyzer enables you to analyze and debug network reachability between two resources in your virtual private cloud (VPC). For more information, see the Reachability Analyzer Guide.

Examples:

Request syntax with placeholder values


resp = client.create_network_insights_path({
  source_ip: "IpAddress",
  destination_ip: "IpAddress",
  source: "NetworkInsightsResourceId", # required
  destination: "NetworkInsightsResourceId",
  protocol: "tcp", # required, accepts tcp, udp
  destination_port: 1,
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
  client_token: "String", # required
  filter_at_source: {
    source_address: "IpAddress",
    source_port_range: {
      from_port: 1,
      to_port: 1,
    },
    destination_address: "IpAddress",
    destination_port_range: {
      from_port: 1,
      to_port: 1,
    },
  },
  filter_at_destination: {
    source_address: "IpAddress",
    source_port_range: {
      from_port: 1,
      to_port: 1,
    },
    destination_address: "IpAddress",
    destination_port_range: {
      from_port: 1,
      to_port: 1,
    },
  },
})

Response structure


resp.network_insights_path.network_insights_path_id #=> String
resp.network_insights_path.network_insights_path_arn #=> String
resp.network_insights_path.created_date #=> Time
resp.network_insights_path.source #=> String
resp.network_insights_path.destination #=> String
resp.network_insights_path.source_arn #=> String
resp.network_insights_path.destination_arn #=> String
resp.network_insights_path.source_ip #=> String
resp.network_insights_path.destination_ip #=> String
resp.network_insights_path.protocol #=> String, one of "tcp", "udp"
resp.network_insights_path.destination_port #=> Integer
resp.network_insights_path.tags #=> Array
resp.network_insights_path.tags[0].key #=> String
resp.network_insights_path.tags[0].value #=> String
resp.network_insights_path.filter_at_source.source_address #=> String
resp.network_insights_path.filter_at_source.source_port_range.from_port #=> Integer
resp.network_insights_path.filter_at_source.source_port_range.to_port #=> Integer
resp.network_insights_path.filter_at_source.destination_address #=> String
resp.network_insights_path.filter_at_source.destination_port_range.from_port #=> Integer
resp.network_insights_path.filter_at_source.destination_port_range.to_port #=> Integer
resp.network_insights_path.filter_at_destination.source_address #=> String
resp.network_insights_path.filter_at_destination.source_port_range.from_port #=> Integer
resp.network_insights_path.filter_at_destination.source_port_range.to_port #=> Integer
resp.network_insights_path.filter_at_destination.destination_address #=> String
resp.network_insights_path.filter_at_destination.destination_port_range.from_port #=> Integer
resp.network_insights_path.filter_at_destination.destination_port_range.to_port #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :source_ip (String)

    The IP address of the source.

  • :destination_ip (String)

    The IP address of the destination.

  • :source (required, String)

    The ID or ARN of the source. If the resource is in another account, you must specify an ARN.

  • :destination (String)

    The ID or ARN of the destination. If the resource is in another account, you must specify an ARN.

  • :protocol (required, String)

    The protocol.

  • :destination_port (Integer)

    The destination port.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to add to the path.

  • :dry_run (Boolean)

    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.

  • :client_token (required, String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :filter_at_source (Types::PathRequestFilter)

    Scopes the analysis to network paths that match specific filters at the source. If you specify this parameter, you can't specify the parameters for the source IP address or the destination port.

  • :filter_at_destination (Types::PathRequestFilter)

    Scopes the analysis to network paths that match specific filters at the destination. If you specify this parameter, you can't specify the parameter for the destination IP address.

Returns:

See Also:



11044
11045
11046
11047
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 11044

def create_network_insights_path(params = {}, options = {})
  req = build_request(:create_network_insights_path, params)
  req.send_request(options)
end

#create_network_interface(params = {}) ⇒ Types::CreateNetworkInterfaceResult

Creates a network interface in the specified subnet.

The number of IP addresses you can assign to a network interface varies by instance type.

For more information about network interfaces, see Elastic network interfaces in the Amazon EC2 User Guide.

Examples:

Example: To create a network interface


# This example creates a network interface for the specified subnet.

resp = client.create_network_interface({
  description: "my network interface", 
  groups: [
    "sg-903004f8", 
  ], 
  private_ip_address: "10.0.2.17", 
  subnet_id: "subnet-9d4a7b6c", 
})

resp.to_h outputs the following:
{
  network_interface: {
    availability_zone: "us-east-1d", 
    description: "my network interface", 
    groups: [
      {
        group_id: "sg-903004f8", 
        group_name: "default", 
      }, 
    ], 
    mac_address: "02:1a:80:41:52:9c", 
    network_interface_id: "eni-e5aa89a3", 
    owner_id: "123456789012", 
    private_ip_address: "10.0.2.17", 
    private_ip_addresses: [
      {
        primary: true, 
        private_ip_address: "10.0.2.17", 
      }, 
    ], 
    requester_managed: false, 
    source_dest_check: true, 
    status: "pending", 
    subnet_id: "subnet-9d4a7b6c", 
    tag_set: [
    ], 
    vpc_id: "vpc-a01106c2", 
  }, 
}

Request syntax with placeholder values


resp = client.create_network_interface({
  ipv_4_prefixes: [
    {
      ipv_4_prefix: "String",
    },
  ],
  ipv_4_prefix_count: 1,
  ipv_6_prefixes: [
    {
      ipv_6_prefix: "String",
    },
  ],
  ipv_6_prefix_count: 1,
  interface_type: "efa", # accepts efa, efa-only, branch, trunk
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  client_token: "String",
  enable_primary_ipv_6: false,
  connection_tracking_specification: {
    tcp_established_timeout: 1,
    udp_stream_timeout: 1,
    udp_timeout: 1,
  },
  operator: {
    principal: "String",
  },
  subnet_id: "SubnetId", # required
  description: "String",
  private_ip_address: "String",
  groups: ["SecurityGroupId"],
  private_ip_addresses: [
    {
      primary: false,
      private_ip_address: "String",
    },
  ],
  secondary_private_ip_address_count: 1,
  ipv_6_addresses: [
    {
      ipv_6_address: "String",
      is_primary_ipv_6: false,
    },
  ],
  ipv_6_address_count: 1,
  dry_run: false,
})

Response structure


resp.network_interface.association.allocation_id #=> String
resp.network_interface.association.association_id #=> String
resp.network_interface.association.ip_owner_id #=> String
resp.network_interface.association.public_dns_name #=> String
resp.network_interface.association.public_ip #=> String
resp.network_interface.association.customer_owned_ip #=> String
resp.network_interface.association.carrier_ip #=> String
resp.network_interface.attachment.attach_time #=> Time
resp.network_interface.attachment.attachment_id #=> String
resp.network_interface.attachment.delete_on_termination #=> Boolean
resp.network_interface.attachment.device_index #=> Integer
resp.network_interface.attachment.network_card_index #=> Integer
resp.network_interface.attachment.instance_id #=> String
resp.network_interface.attachment.instance_owner_id #=> String
resp.network_interface.attachment.status #=> String, one of "attaching", "attached", "detaching", "detached"
resp.network_interface.attachment.ena_srd_specification.ena_srd_enabled #=> Boolean
resp.network_interface.attachment.ena_srd_specification.ena_srd_udp_specification.ena_srd_udp_enabled #=> Boolean
resp.network_interface.availability_zone #=> String
resp.network_interface.connection_tracking_configuration.tcp_established_timeout #=> Integer
resp.network_interface.connection_tracking_configuration.udp_stream_timeout #=> Integer
resp.network_interface.connection_tracking_configuration.udp_timeout #=> Integer
resp.network_interface.description #=> String
resp.network_interface.groups #=> Array
resp.network_interface.groups[0].group_id #=> String
resp.network_interface.groups[0].group_name #=> String
resp.network_interface.interface_type #=> String, one of "interface", "natGateway", "efa", "efa-only", "trunk", "load_balancer", "network_load_balancer", "vpc_endpoint", "branch", "transit_gateway", "lambda", "quicksight", "global_accelerator_managed", "api_gateway_managed", "gateway_load_balancer", "gateway_load_balancer_endpoint", "iot_rules_managed", "aws_codestar_connections_managed"
resp.network_interface.ipv_6_addresses #=> Array
resp.network_interface.ipv_6_addresses[0].ipv_6_address #=> String
resp.network_interface.ipv_6_addresses[0].is_primary_ipv_6 #=> Boolean
resp.network_interface.mac_address #=> String
resp.network_interface.network_interface_id #=> String
resp.network_interface.outpost_arn #=> String
resp.network_interface.owner_id #=> String
resp.network_interface.private_dns_name #=> String
resp.network_interface.private_ip_address #=> String
resp.network_interface.private_ip_addresses #=> Array
resp.network_interface.private_ip_addresses[0].association.allocation_id #=> String
resp.network_interface.private_ip_addresses[0].association.association_id #=> String
resp.network_interface.private_ip_addresses[0].association.ip_owner_id #=> String
resp.network_interface.private_ip_addresses[0].association.public_dns_name #=> String
resp.network_interface.private_ip_addresses[0].association.public_ip #=> String
resp.network_interface.private_ip_addresses[0].association.customer_owned_ip #=> String
resp.network_interface.private_ip_addresses[0].association.carrier_ip #=> String
resp.network_interface.private_ip_addresses[0].primary #=> Boolean
resp.network_interface.private_ip_addresses[0].private_dns_name #=> String
resp.network_interface.private_ip_addresses[0].private_ip_address #=> String
resp.network_interface.ipv_4_prefixes #=> Array
resp.network_interface.ipv_4_prefixes[0].ipv_4_prefix #=> String
resp.network_interface.ipv_6_prefixes #=> Array
resp.network_interface.ipv_6_prefixes[0].ipv_6_prefix #=> String
resp.network_interface.requester_id #=> String
resp.network_interface.requester_managed #=> Boolean
resp.network_interface.source_dest_check #=> Boolean
resp.network_interface.status #=> String, one of "available", "associated", "attaching", "in-use", "detaching"
resp.network_interface.subnet_id #=> String
resp.network_interface.tag_set #=> Array
resp.network_interface.tag_set[0].key #=> String
resp.network_interface.tag_set[0].value #=> String
resp.network_interface.vpc_id #=> String
resp.network_interface.deny_all_igw_traffic #=> Boolean
resp.network_interface.ipv_6_native #=> Boolean
resp.network_interface.ipv_6_address #=> String
resp.network_interface.operator.managed #=> Boolean
resp.network_interface.operator.principal #=> String
resp.client_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :ipv_4_prefixes (Array<Types::Ipv4PrefixSpecificationRequest>)

    The IPv4 prefixes assigned to the network interface.

    You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.

  • :ipv_4_prefix_count (Integer)

    The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface.

    You can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.

  • :ipv_6_prefixes (Array<Types::Ipv6PrefixSpecificationRequest>)

    The IPv6 prefixes assigned to the network interface.

    You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.

  • :ipv_6_prefix_count (Integer)

    The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface.

    You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.

  • :interface_type (String)

    The type of network interface. The default is interface.

    If you specify efa-only, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.

    The only supported values are interface, efa, efa-only, and trunk.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the new network interface.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :enable_primary_ipv_6 (Boolean)

    If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you have enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be attached to relies on its IPv6 address not changing. Amazon Web Services will automatically assign an IPv6 address associated with the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. If you have multiple IPv6 addresses associated with an ENI attached to your instance and you enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI becomes the primary IPv6 address.

  • :connection_tracking_specification (Types::ConnectionTrackingSpecificationRequest)

    A connection tracking specification for the network interface.

  • :operator (Types::OperatorRequest)

    Reserved for internal use.

  • :subnet_id (required, String)

    The ID of the subnet to associate with the network interface.

  • :description (String)

    A description for the network interface.

  • :private_ip_address (String)

    The primary private IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you specify an IP address, you cannot indicate any IP addresses specified in privateIpAddresses as primary (only one IP address can be designated as primary).

  • :groups (Array<String>)

    The IDs of the security groups.

  • :private_ip_addresses (Array<Types::PrivateIpAddressSpecification>)

    The private IPv4 addresses.

    You can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.

  • :secondary_private_ip_address_count (Integer)

    The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using privateIpAddresses.

    You can't specify a count of private IPv4 addresses if you've specified one of the following: specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.

  • :ipv_6_addresses (Array<Types::InstanceIpv6Address>)

    The IPv6 addresses from the IPv6 CIDR block range of your subnet.

    You can't specify IPv6 addresses using this parameter if you've specified one of the following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.

  • :ipv_6_address_count (Integer)

    The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range.

    You can't specify a count of IPv6 addresses using this parameter if you've specified one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.

    If your subnet has the AssignIpv6AddressOnCreation attribute set, you can override that setting by specifying 0 as the IPv6 address count.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



11378
11379
11380
11381
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 11378

def create_network_interface(params = {}, options = {})
  req = build_request(:create_network_interface, params)
  req.send_request(options)
end

#create_network_interface_permission(params = {}) ⇒ Types::CreateNetworkInterfacePermissionResult

Grants an Amazon Web Services-authorized account permission to attach the specified network interface to an instance in their account.

You can grant permission to a single Amazon Web Services account only, and only one account at a time.

Examples:

Request syntax with placeholder values


resp = client.create_network_interface_permission({
  network_interface_id: "NetworkInterfaceId", # required
  aws_account_id: "String",
  aws_service: "String",
  permission: "INSTANCE-ATTACH", # required, accepts INSTANCE-ATTACH, EIP-ASSOCIATE
  dry_run: false,
})

Response structure


resp.interface_permission.network_interface_permission_id #=> String
resp.interface_permission.network_interface_id #=> String
resp.interface_permission. #=> String
resp.interface_permission.aws_service #=> String
resp.interface_permission.permission #=> String, one of "INSTANCE-ATTACH", "EIP-ASSOCIATE"
resp.interface_permission.permission_state.state #=> String, one of "pending", "granted", "revoking", "revoked"
resp.interface_permission.permission_state.status_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :network_interface_id (required, String)

    The ID of the network interface.

  • :aws_account_id (String)

    The Amazon Web Services account ID.

  • :aws_service (String)

    The Amazon Web Services service. Currently not supported.

  • :permission (required, String)

    The type of permission to grant.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



11435
11436
11437
11438
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 11435

def create_network_interface_permission(params = {}, options = {})
  req = build_request(:create_network_interface_permission, params)
  req.send_request(options)
end

#create_placement_group(params = {}) ⇒ Types::CreatePlacementGroupResult

Creates a placement group in which to launch instances. The strategy of the placement group determines how the instances are organized within the group.

A cluster placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput. A spread placement group places instances on distinct hardware. A partition placement group places groups of instances in different partitions, where instances in one partition do not share the same hardware with instances in another partition.

For more information, see Placement groups in the Amazon EC2 User Guide.

Examples:

Example: To create a placement group


# This example creates a placement group with the specified name.

resp = client.create_placement_group({
  group_name: "my-cluster", 
  strategy: "cluster", 
})

resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.create_placement_group({
  partition_count: 1,
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  spread_level: "host", # accepts host, rack
  dry_run: false,
  group_name: "String",
  strategy: "cluster", # accepts cluster, spread, partition
})

Response structure


resp.placement_group.group_name #=> String
resp.placement_group.state #=> String, one of "pending", "available", "deleting", "deleted"
resp.placement_group.strategy #=> String, one of "cluster", "spread", "partition"
resp.placement_group.partition_count #=> Integer
resp.placement_group.group_id #=> String
resp.placement_group.tags #=> Array
resp.placement_group.tags[0].key #=> String
resp.placement_group.tags[0].value #=> String
resp.placement_group.group_arn #=> String
resp.placement_group.spread_level #=> String, one of "host", "rack"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :partition_count (Integer)

    The number of partitions. Valid only when Strategy is set to partition.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the new placement group.

  • :spread_level (String)

    Determines how placement groups spread instances.

    • Host – You can use host only with Outpost placement groups.

    • Rack – No usage restrictions.

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the operation, 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.

  • :group_name (String)

    A name for the placement group. Must be unique within the scope of your account for the Region.

    Constraints: Up to 255 ASCII characters

  • :strategy (String)

    The placement strategy.

Returns:

See Also:



11543
11544
11545
11546
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 11543

def create_placement_group(params = {}, options = {})
  req = build_request(:create_placement_group, params)
  req.send_request(options)
end

#create_public_ipv_4_pool(params = {}) ⇒ Types::CreatePublicIpv4PoolResult

Creates a public IPv4 address pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only. To monitor the status of pool creation, use DescribePublicIpv4Pools.

Examples:

Request syntax with placeholder values


resp = client.create_public_ipv_4_pool({
  dry_run: false,
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  network_border_group: "String",
})

Response structure


resp.pool_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :tag_specifications (Array<Types::TagSpecification>)

    The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • :network_border_group (String)

    The Availability Zone (AZ) or Local Zone (LZ) network border group that the resource that the IP address is assigned to is in. Defaults to an AZ network border group. For more information on available Local Zones, see Local Zone availability in the Amazon EC2 User Guide.

Returns:

See Also:



11612
11613
11614
11615
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 11612

def create_public_ipv_4_pool(params = {}, options = {})
  req = build_request(:create_public_ipv_4_pool, params)
  req.send_request(options)
end

#create_replace_root_volume_task(params = {}) ⇒ Types::CreateReplaceRootVolumeTaskResult

Replaces the EBS-backed root volume for a running instance with a new volume that is restored to the original root volume's launch state, that is restored to a specific snapshot taken from the original root volume, or that is restored from an AMI that has the same key characteristics as that of the instance.

For more information, see Replace a root volume in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_replace_root_volume_task({
  instance_id: "InstanceId", # required
  snapshot_id: "SnapshotId",
  client_token: "String",
  dry_run: false,
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  image_id: "ImageId",
  delete_replaced_root_volume: false,
})

Response structure


resp.replace_root_volume_task.replace_root_volume_task_id #=> String
resp.replace_root_volume_task.instance_id #=> String
resp.replace_root_volume_task.task_state #=> String, one of "pending", "in-progress", "failing", "succeeded", "failed", "failed-detached"
resp.replace_root_volume_task.start_time #=> String
resp.replace_root_volume_task.complete_time #=> String
resp.replace_root_volume_task.tags #=> Array
resp.replace_root_volume_task.tags[0].key #=> String
resp.replace_root_volume_task.tags[0].value #=> String
resp.replace_root_volume_task.image_id #=> String
resp.replace_root_volume_task.snapshot_id #=> String
resp.replace_root_volume_task.delete_replaced_root_volume #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The ID of the instance for which to replace the root volume.

  • :snapshot_id (String)

    The ID of the snapshot from which to restore the replacement root volume. The specified snapshot must be a snapshot that you previously created from the original root volume.

    If you want to restore the replacement root volume to the initial launch state, or if you want to restore the replacement root volume from an AMI, omit this parameter.

  • :client_token (String)

    Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the root volume replacement task.

  • :image_id (String)

    The ID of the AMI to use to restore the root volume. The specified AMI must have the same product code, billing information, architecture type, and virtualization type as that of the instance.

    If you want to restore the replacement volume from a specific snapshot, or if you want to restore it to its launch state, omit this parameter.

  • :delete_replaced_root_volume (Boolean)

    Indicates whether to automatically delete the original root volume after the root volume replacement task completes. To delete the original root volume, specify true. If you choose to keep the original root volume after the replacement task completes, you must manually delete it when you no longer need it.

Returns:

See Also:



11724
11725
11726
11727
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 11724

def create_replace_root_volume_task(params = {}, options = {})
  req = build_request(:create_replace_root_volume_task, params)
  req.send_request(options)
end

#create_reserved_instances_listing(params = {}) ⇒ Types::CreateReservedInstancesListingResult

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation.

Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible Reserved Instances cannot be sold.

The Reserved Instance Marketplace matches sellers who want to resell Standard Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Sell in the Reserved Instance Marketplace in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_reserved_instances_listing({
  reserved_instances_id: "ReservationId", # required
  instance_count: 1, # required
  price_schedules: [ # required
    {
      term: 1,
      price: 1.0,
      currency_code: "USD", # accepts USD
    },
  ],
  client_token: "String", # required
})

Response structure


resp.reserved_instances_listings #=> Array
resp.reserved_instances_listings[0].client_token #=> String
resp.reserved_instances_listings[0].create_date #=> Time
resp.reserved_instances_listings[0].instance_counts #=> Array
resp.reserved_instances_listings[0].instance_counts[0].instance_count #=> Integer
resp.reserved_instances_listings[0].instance_counts[0].state #=> String, one of "available", "sold", "cancelled", "pending"
resp.reserved_instances_listings[0].price_schedules #=> Array
resp.reserved_instances_listings[0].price_schedules[0].active #=> Boolean
resp.reserved_instances_listings[0].price_schedules[0].currency_code #=> String, one of "USD"
resp.reserved_instances_listings[0].price_schedules[0].price #=> Float
resp.reserved_instances_listings[0].price_schedules[0].term #=> Integer
resp.reserved_instances_listings[0].reserved_instances_id #=> String
resp.reserved_instances_listings[0].reserved_instances_listing_id #=> String
resp.reserved_instances_listings[0].status #=> String, one of "active", "pending", "cancelled", "closed"
resp.reserved_instances_listings[0].status_message #=> String
resp.reserved_instances_listings[0].tags #=> Array
resp.reserved_instances_listings[0].tags[0].key #=> String
resp.reserved_instances_listings[0].tags[0].value #=> String
resp.reserved_instances_listings[0].update_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :reserved_instances_id (required, String)

    The ID of the active Standard Reserved Instance.

  • :instance_count (required, Integer)

    The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

  • :price_schedules (required, Array<Types::PriceScheduleSpecification>)

    A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

  • :client_token (required, String)

    Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

Returns:

See Also:



11829
11830
11831
11832
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 11829

def create_reserved_instances_listing(params = {}, options = {})
  req = build_request(:create_reserved_instances_listing, params)
  req.send_request(options)
end

#create_restore_image_task(params = {}) ⇒ Types::CreateRestoreImageTaskResult

Starts a task that restores an AMI from an Amazon S3 object that was previously created by using CreateStoreImageTask.

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the Amazon EC2 User Guide.

For more information, see Store and restore an AMI using Amazon S3 in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_restore_image_task({
  bucket: "String", # required
  object_key: "String", # required
  name: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.image_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :bucket (required, String)

    The name of the Amazon S3 bucket that contains the stored AMI object.

  • :object_key (required, String)

    The name of the stored AMI object in the bucket.

  • :name (String)

    The name for the restored AMI. The name must be unique for AMIs in the Region for this account. If you do not provide a name, the new AMI gets the same name as the original AMI.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the AMI and snapshots on restoration. You can tag the AMI, the snapshots, or both.

    • To tag the AMI, the value for ResourceType must be image.

    • To tag the snapshots, the value for ResourceType must be snapshot. The same tag is applied to all of the snapshots that are created.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



11909
11910
11911
11912
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 11909

def create_restore_image_task(params = {}, options = {})
  req = build_request(:create_restore_image_task, params)
  req.send_request(options)
end

#create_route(params = {}) ⇒ Types::CreateRouteResult

Creates a route in a route table within a VPC.

You must specify either a destination CIDR block or a prefix list ID. You must also specify exactly one of the resources from the parameter list.

When determining how to route traffic, we use the route with the most specific match. For example, traffic is destined for the IPv4 address 192.0.2.3, and the route table includes the following two IPv4 routes:

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

For more information about route tables, see Route tables in the Amazon VPC User Guide.

Examples:

Example: To create a route


# This example creates a route for the specified route table. The route matches all traffic (0.0.0.0/0) and routes it to
# the specified Internet gateway.

resp = client.create_route({
  destination_cidr_block: "0.0.0.0/0", 
  gateway_id: "igw-c0a643a9", 
  route_table_id: "rtb-22574640", 
})

Request syntax with placeholder values


resp = client.create_route({
  destination_prefix_list_id: "PrefixListResourceId",
  vpc_endpoint_id: "VpcEndpointId",
  transit_gateway_id: "TransitGatewayId",
  local_gateway_id: "LocalGatewayId",
  carrier_gateway_id: "CarrierGatewayId",
  core_network_arn: "CoreNetworkArn",
  dry_run: false,
  route_table_id: "RouteTableId", # required
  destination_cidr_block: "String",
  gateway_id: "RouteGatewayId",
  destination_ipv_6_cidr_block: "String",
  egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
  instance_id: "InstanceId",
  network_interface_id: "NetworkInterfaceId",
  vpc_peering_connection_id: "VpcPeeringConnectionId",
  nat_gateway_id: "NatGatewayId",
})

Response structure


resp.return #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :destination_prefix_list_id (String)

    The ID of a prefix list used for the destination match.

  • :vpc_endpoint_id (String)

    The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

  • :transit_gateway_id (String)

    The ID of a transit gateway.

  • :local_gateway_id (String)

    The ID of the local gateway.

  • :carrier_gateway_id (String)

    The ID of the carrier gateway.

    You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.

  • :core_network_arn (String)

    The Amazon Resource Name (ARN) of the core network.

  • :dry_run (Boolean)

    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.

  • :route_table_id (required, String)

    The ID of the route table for the route.

  • :destination_cidr_block (String)

    The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

  • :gateway_id (String)

    The ID of an internet gateway or virtual private gateway attached to your VPC.

  • :destination_ipv_6_cidr_block (String)

    The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

  • :egress_only_internet_gateway_id (String)

    [IPv6 traffic only] The ID of an egress-only internet gateway.

  • :instance_id (String)

    The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.

  • :network_interface_id (String)

    The ID of a network interface.

  • :vpc_peering_connection_id (String)

    The ID of a VPC peering connection.

  • :nat_gateway_id (String)

    [IPv4 traffic only] The ID of a NAT gateway.

Returns:

See Also:



12048
12049
12050
12051
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 12048

def create_route(params = {}, options = {})
  req = build_request(:create_route, params)
  req.send_request(options)
end

#create_route_table(params = {}) ⇒ Types::CreateRouteTableResult

Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.

For more information, see Route tables in the Amazon VPC User Guide.

Examples:

Example: To create a route table


# This example creates a route table for the specified VPC.

resp = client.create_route_table({
  vpc_id: "vpc-a01106c2", 
})

resp.to_h outputs the following:
{
  route_table: {
    associations: [
    ], 
    propagating_vgws: [
    ], 
    route_table_id: "rtb-22574640", 
    routes: [
      {
        destination_cidr_block: "10.0.0.0/16", 
        gateway_id: "local", 
        state: "active", 
      }, 
    ], 
    tags: [
    ], 
    vpc_id: "vpc-a01106c2", 
  }, 
}

Request syntax with placeholder values


resp = client.create_route_table({
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  client_token: "String",
  dry_run: false,
  vpc_id: "VpcId", # required
})

Response structure


resp.route_table.associations #=> Array
resp.route_table.associations[0].main #=> Boolean
resp.route_table.associations[0].route_table_association_id #=> String
resp.route_table.associations[0].route_table_id #=> String
resp.route_table.associations[0].subnet_id #=> String
resp.route_table.associations[0].gateway_id #=> String
resp.route_table.associations[0].association_state.state #=> String, one of "associating", "associated", "disassociating", "disassociated", "failed"
resp.route_table.associations[0].association_state.status_message #=> String
resp.route_table.propagating_vgws #=> Array
resp.route_table.propagating_vgws[0].gateway_id #=> String
resp.route_table.route_table_id #=> String
resp.route_table.routes #=> Array
resp.route_table.routes[0].destination_cidr_block #=> String
resp.route_table.routes[0].destination_ipv_6_cidr_block #=> String
resp.route_table.routes[0].destination_prefix_list_id #=> String
resp.route_table.routes[0].egress_only_internet_gateway_id #=> String
resp.route_table.routes[0].gateway_id #=> String
resp.route_table.routes[0].instance_id #=> String
resp.route_table.routes[0].instance_owner_id #=> String
resp.route_table.routes[0].nat_gateway_id #=> String
resp.route_table.routes[0].transit_gateway_id #=> String
resp.route_table.routes[0].local_gateway_id #=> String
resp.route_table.routes[0].carrier_gateway_id #=> String
resp.route_table.routes[0].network_interface_id #=> String
resp.route_table.routes[0].origin #=> String, one of "CreateRouteTable", "CreateRoute", "EnableVgwRoutePropagation"
resp.route_table.routes[0].state #=> String, one of "active", "blackhole"
resp.route_table.routes[0].vpc_peering_connection_id #=> String
resp.route_table.routes[0].core_network_arn #=> String
resp.route_table.tags #=> Array
resp.route_table.tags[0].key #=> String
resp.route_table.tags[0].value #=> String
resp.route_table.vpc_id #=> String
resp.route_table.owner_id #=> String
resp.client_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the route table.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

  • :vpc_id (required, String)

    The ID of the VPC.

Returns:

See Also:



12182
12183
12184
12185
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 12182

def create_route_table(params = {}, options = {})
  req = build_request(:create_route_table, params)
  req.send_request(options)
end

#create_security_group(params = {}) ⇒ Types::CreateSecurityGroupResult

Creates a security group.

A security group acts as a virtual firewall for your instance to control inbound and outbound traffic. For more information, see Amazon EC2 security groups in the Amazon EC2 User Guide and Security groups for your VPC in the Amazon VPC User Guide.

When you create a security group, you specify a friendly name of your choice. You can't have two security groups for the same VPC with the same name.

You have a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

For more information about VPC security group limits, see Amazon VPC Limits.

Examples:

Example: To create a security group for a VPC


# This example creates a security group for the specified VPC.

resp = client.create_security_group({
  description: "My security group", 
  group_name: "my-security-group", 
  vpc_id: "vpc-1a2b3c4d", 
})

resp.to_h outputs the following:
{
  group_id: "sg-903004f8", 
}

Request syntax with placeholder values


resp = client.create_security_group({
  description: "String", # required
  group_name: "String", # required
  vpc_id: "VpcId",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.group_id #=> String
resp.tags #=> Array
resp.tags[0].key #=> String
resp.tags[0].value #=> String
resp.security_group_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (required, String)

    A description for the security group.

    Constraints: Up to 255 characters in length

    Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

  • :group_name (required, String)

    The name of the security group. Names are case-insensitive and must be unique within the VPC.

    Constraints: Up to 255 characters in length. Can't start with sg-.

    Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

  • :vpc_id (String)

    The ID of the VPC. Required for a nondefault VPC.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the security group.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



12300
12301
12302
12303
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 12300

def create_security_group(params = {}, options = {})
  req = build_request(:create_security_group, params)
  req.send_request(options)
end

#create_snapshot(params = {}) ⇒ Types::Snapshot

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

The location of the source EBS volume determines where you can create the snapshot.

  • If the source volume is in a Region, you must create the snapshot in the same Region as the volume.

  • If the source volume is in a Local Zone, you can create the snapshot in the same Local Zone or in its parent Amazon Web Services Region.

  • If the source volume is on an Outpost, you can create the snapshot on the same Outpost or in its parent Amazon Web Services Region.

When a snapshot is created, any Amazon Web Services Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your Amazon EBS volume at the time the snapshot command is issued; this might exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

When you create a snapshot for an EBS volume that serves as a root device, we recommend that you stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

Examples:

Example: To create a snapshot


# This example creates a snapshot of the volume with a volume ID of ``vol-1234567890abcdef0`` and a short description to
# identify the snapshot.

resp = client.create_snapshot({
  description: "This is my root volume snapshot.", 
  volume_id: "vol-1234567890abcdef0", 
})

resp.to_h outputs the following:
{
  description: "This is my root volume snapshot.", 
  owner_id: "012345678910", 
  snapshot_id: "snap-066877671789bd71b", 
  start_time: Time.parse("2014-02-28T21:06:01.000Z"), 
  state: "pending", 
  tags: [
  ], 
  volume_id: "vol-1234567890abcdef0", 
  volume_size: 8, 
}

Request syntax with placeholder values


resp = client.create_snapshot({
  description: "String",
  outpost_arn: "String",
  volume_id: "VolumeId", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  location: "regional", # accepts regional, local
  dry_run: false,
})

Response structure


resp.owner_alias #=> String
resp.outpost_arn #=> String
resp.tags #=> Array
resp.tags[0].key #=> String
resp.tags[0].value #=> String
resp.storage_tier #=> String, one of "archive", "standard"
resp.restore_expiry_time #=> Time
resp.sse_type #=> String, one of "sse-ebs", "sse-kms", "none"
resp.availability_zone #=> String
resp.transfer_type #=> String, one of "time-based", "standard"
resp.completion_duration_minutes #=> Integer
resp.completion_time #=> Time
resp.full_snapshot_size_in_bytes #=> Integer
resp.snapshot_id #=> String
resp.volume_id #=> String
resp.state #=> String, one of "pending", "completed", "error", "recoverable", "recovering"
resp.state_message #=> String
resp.start_time #=> Time
resp.progress #=> String
resp.owner_id #=> String
resp.description #=> String
resp.volume_size #=> Integer
resp.encrypted #=> Boolean
resp.kms_key_id #=> String
resp.data_encryption_key_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (String)

    A description for the snapshot.

  • :outpost_arn (String)

    Only supported for volumes on Outposts. If the source volume is not on an Outpost, omit this parameter.

    • To create the snapshot on the same Outpost as the source volume, specify the ARN of that Outpost. The snapshot must be created on the same Outpost as the volume.

    • To create the snapshot in the parent Region of the Outpost, omit this parameter.

    For more information, see Create local snapshots from volumes on an Outpost in the Amazon EBS User Guide.

  • :volume_id (required, String)

    The ID of the Amazon EBS volume.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the snapshot during creation.

  • :location (String)

    Only supported for volumes in Local Zones. If the source volume is not in a Local Zone, omit this parameter.

    • To create a local snapshot in the same Local Zone as the source volume, specify local.

    • To create a regional snapshot in the parent Region of the Local Zone, specify regional or omit this parameter.

    Default value: regional

  • :dry_run (Boolean)

    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.

Returns:

See Also:



12503
12504
12505
12506
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 12503

def create_snapshot(params = {}, options = {})
  req = build_request(:create_snapshot, params)
  req.send_request(options)
end

#create_snapshots(params = {}) ⇒ Types::CreateSnapshotsResult

Creates crash-consistent snapshots of multiple EBS volumes attached to an Amazon EC2 instance. Volumes are chosen by specifying an instance. Each volume attached to the specified instance will produce one snapshot that is crash-consistent across the instance. You can include all of the volumes currently attached to the instance, or you can exclude the root volume or specific data (non-root) volumes from the multi-volume snapshot set.

The location of the source instance determines where you can create the snapshots.

  • If the source instance is in a Region, you must create the snapshots in the same Region as the instance.

  • If the source instance is in a Local Zone, you can create the snapshots in the same Local Zone or in its parent Amazon Web Services Region.

  • If the source instance is on an Outpost, you can create the snapshots on the same Outpost or in its parent Amazon Web Services Region.

Examples:

Request syntax with placeholder values


resp = client.create_snapshots({
  description: "String",
  instance_specification: { # required
    instance_id: "InstanceIdWithVolumeResolver", # required
    exclude_boot_volume: false,
    exclude_data_volume_ids: ["VolumeId"],
  },
  outpost_arn: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
  copy_tags_from_source: "volume", # accepts volume
  location: "regional", # accepts regional, local
})

Response structure


resp.snapshots #=> Array
resp.snapshots[0].description #=> String
resp.snapshots[0].tags #=> Array
resp.snapshots[0].tags[0].key #=> String
resp.snapshots[0].tags[0].value #=> String
resp.snapshots[0].encrypted #=> Boolean
resp.snapshots[0].volume_id #=> String
resp.snapshots[0].state #=> String, one of "pending", "completed", "error", "recoverable", "recovering"
resp.snapshots[0].volume_size #=> Integer
resp.snapshots[0].start_time #=> Time
resp.snapshots[0].progress #=> String
resp.snapshots[0].owner_id #=> String
resp.snapshots[0].snapshot_id #=> String
resp.snapshots[0].outpost_arn #=> String
resp.snapshots[0].sse_type #=> String, one of "sse-ebs", "sse-kms", "none"
resp.snapshots[0].availability_zone #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (String)

    A description propagated to every snapshot specified by the instance.

  • :instance_specification (required, Types::InstanceSpecification)

    The instance to specify which volumes should be included in the snapshots.

  • :outpost_arn (String)

    Only supported for instances on Outposts. If the source instance is not on an Outpost, omit this parameter.

    • To create the snapshots on the same Outpost as the source instance, specify the ARN of that Outpost. The snapshots must be created on the same Outpost as the instance.

    • To create the snapshots in the parent Region of the Outpost, omit this parameter.

    For more information, see Create local snapshots from volumes on an Outpost in the Amazon EBS User Guide.

  • :tag_specifications (Array<Types::TagSpecification>)

    Tags to apply to every snapshot specified by the instance.

  • :dry_run (Boolean)

    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.

  • :copy_tags_from_source (String)

    Copies the tags from the specified volume to corresponding snapshot.

  • :location (String)

    Only supported for instances in Local Zones. If the source instance is not in a Local Zone, omit this parameter.

    • To create local snapshots in the same Local Zone as the source instance, specify local.

    • To create a regional snapshots in the parent Region of the Local Zone, specify regional or omit this parameter.

    Default value: regional

Returns:

See Also:



12636
12637
12638
12639
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 12636

def create_snapshots(params = {}, options = {})
  req = build_request(:create_snapshots, params)
  req.send_request(options)
end

#create_spot_datafeed_subscription(params = {}) ⇒ Types::CreateSpotDatafeedSubscriptionResult

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per Amazon Web Services account. For more information, see Spot Instance data feed in the Amazon EC2 User Guide.

Examples:

Example: To create a Spot Instance datafeed


# This example creates a Spot Instance data feed for your AWS account.

resp = client.create_spot_datafeed_subscription({
  bucket: "my-s3-bucket", 
  prefix: "spotdata", 
})

resp.to_h outputs the following:
{
  spot_datafeed_subscription: {
    bucket: "my-s3-bucket", 
    owner_id: "123456789012", 
    prefix: "spotdata", 
    state: "Active", 
  }, 
}

Request syntax with placeholder values


resp = client.create_spot_datafeed_subscription({
  dry_run: false,
  bucket: "String", # required
  prefix: "String",
})

Response structure


resp.spot_datafeed_subscription.bucket #=> String
resp.spot_datafeed_subscription.fault.code #=> String
resp.spot_datafeed_subscription.fault.message #=> String
resp.spot_datafeed_subscription.owner_id #=> String
resp.spot_datafeed_subscription.prefix #=> String
resp.spot_datafeed_subscription.state #=> String, one of "Active", "Inactive"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :bucket (required, String)

    The name of the Amazon S3 bucket in which to store the Spot Instance data feed. For more information about bucket names, see Bucket naming rules in the Amazon S3 User Guide.

  • :prefix (String)

    The prefix for the data feed file names.

Returns:

See Also:



12713
12714
12715
12716
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 12713

def create_spot_datafeed_subscription(params = {}, options = {})
  req = build_request(:create_spot_datafeed_subscription, params)
  req.send_request(options)
end

#create_store_image_task(params = {}) ⇒ Types::CreateStoreImageTaskResult

Stores an AMI as a single object in an Amazon S3 bucket.

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the Amazon EC2 User Guide.

For more information, see Store and restore an AMI using Amazon S3 in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_store_image_task({
  image_id: "ImageId", # required
  bucket: "String", # required
  s3_object_tags: [
    {
      key: "String",
      value: "String",
    },
  ],
  dry_run: false,
})

Response structure


resp.object_key #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :image_id (required, String)

    The ID of the AMI.

  • :bucket (required, String)

    The name of the Amazon S3 bucket in which the AMI object will be stored. The bucket must be in the Region in which the request is being made. The AMI object appears in the bucket only after the upload task has completed.

  • :s3_object_tags (Array<Types::S3ObjectTag>)

    The tags to apply to the AMI object that will be stored in the Amazon S3 bucket.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



12777
12778
12779
12780
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 12777

def create_store_image_task(params = {}, options = {})
  req = build_request(:create_store_image_task, params)
  req.send_request(options)
end

#create_subnet(params = {}) ⇒ Types::CreateSubnetResult

Creates a subnet in the specified VPC. For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.

A subnet CIDR block must not overlap the CIDR block of an existing subnet in the VPC. After you create a subnet, you can't change its CIDR block.

The allowed size for an IPv4 subnet is between a /28 netmask (16 IP addresses) and a /16 netmask (65,536 IP addresses). Amazon Web Services reserves both the first four and the last IPv4 address in each subnet's CIDR block. They're not available for your use.

If you've associated an IPv6 CIDR block with your VPC, you can associate an IPv6 CIDR block with a subnet when you create it.

If you add more than one subnet to a VPC, they're set up in a star topology with a logical router in the middle.

When you stop an instance in a subnet, it retains its private IPv4 address. It's therefore possible to have a subnet with no running instances (they're all stopped), but no remaining IP addresses available.

For more information, see Subnets in the Amazon VPC User Guide.

Examples:

Example: To create a subnet


# This example creates a subnet in the specified VPC with the specified CIDR block. We recommend that you let us select an
# Availability Zone for you.

resp = client.create_subnet({
  cidr_block: "10.0.1.0/24", 
  vpc_id: "vpc-a01106c2", 
})

resp.to_h outputs the following:
{
  subnet: {
    availability_zone: "us-west-2c", 
    available_ip_address_count: 251, 
    cidr_block: "10.0.1.0/24", 
    state: "pending", 
    subnet_id: "subnet-9d4a7b6c", 
    vpc_id: "vpc-a01106c2", 
  }, 
}

Request syntax with placeholder values


resp = client.create_subnet({
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  availability_zone: "String",
  availability_zone_id: "String",
  cidr_block: "String",
  ipv_6_cidr_block: "String",
  outpost_arn: "String",
  vpc_id: "VpcId", # required
  ipv_6_native: false,
  ipv_4_ipam_pool_id: "IpamPoolId",
  ipv_4_netmask_length: 1,
  ipv_6_ipam_pool_id: "IpamPoolId",
  ipv_6_netmask_length: 1,
  dry_run: false,
})

Response structure


resp.subnet.availability_zone_id #=> String
resp.subnet.enable_lni_at_device_index #=> Integer
resp.subnet.map_customer_owned_ip_on_launch #=> Boolean
resp.subnet.customer_owned_ipv_4_pool #=> String
resp.subnet.owner_id #=> String
resp.subnet.assign_ipv_6_address_on_creation #=> Boolean
resp.subnet.ipv_6_cidr_block_association_set #=> Array
resp.subnet.ipv_6_cidr_block_association_set[0].association_id #=> String
resp.subnet.ipv_6_cidr_block_association_set[0].ipv_6_cidr_block #=> String
resp.subnet.ipv_6_cidr_block_association_set[0].ipv_6_cidr_block_state.state #=> String, one of "associating", "associated", "disassociating", "disassociated", "failing", "failed"
resp.subnet.ipv_6_cidr_block_association_set[0].ipv_6_cidr_block_state.status_message #=> String
resp.subnet.ipv_6_cidr_block_association_set[0].ipv_6_address_attribute #=> String, one of "public", "private"
resp.subnet.ipv_6_cidr_block_association_set[0].ip_source #=> String, one of "amazon", "byoip", "none"
resp.subnet.tags #=> Array
resp.subnet.tags[0].key #=> String
resp.subnet.tags[0].value #=> String
resp.subnet.subnet_arn #=> String
resp.subnet.outpost_arn #=> String
resp.subnet.enable_dns_64 #=> Boolean
resp.subnet.ipv_6_native #=> Boolean
resp.subnet.private_dns_name_options_on_launch.hostname_type #=> String, one of "ip-name", "resource-name"
resp.subnet.private_dns_name_options_on_launch.enable_resource_name_dns_a_record #=> Boolean
resp.subnet.private_dns_name_options_on_launch.enable_resource_name_dns_aaaa_record #=> Boolean
resp.subnet.block_public_access_states.internet_gateway_block_mode #=> String, one of "off", "block-bidirectional", "block-ingress"
resp.subnet.subnet_id #=> String
resp.subnet.state #=> String, one of "pending", "available", "unavailable"
resp.subnet.vpc_id #=> String
resp.subnet.cidr_block #=> String
resp.subnet.available_ip_address_count #=> Integer
resp.subnet.availability_zone #=> String
resp.subnet.default_for_az #=> Boolean
resp.subnet.map_public_ip_on_launch #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the subnet.

  • :availability_zone (String)

    The Availability Zone or Local Zone for the subnet.

    Default: Amazon Web Services selects one for you. If you create more than one subnet in your VPC, we do not necessarily select a different zone for each subnet.

    To create a subnet in a Local Zone, set this value to the Local Zone ID, for example us-west-2-lax-1a. For information about the Regions that support Local Zones, see Available Local Zones.

    To create a subnet in an Outpost, set this value to the Availability Zone for the Outpost and specify the Outpost ARN.

  • :availability_zone_id (String)

    The AZ ID or the Local Zone ID of the subnet.

  • :cidr_block (String)

    The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

    This parameter is not supported for an IPv6 only subnet.

  • :ipv_6_cidr_block (String)

    The IPv6 network range for the subnet, in CIDR notation. This parameter is required for an IPv6 only subnet.

  • :outpost_arn (String)

    The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost ARN, you must also specify the Availability Zone of the Outpost subnet.

  • :vpc_id (required, String)

    The ID of the VPC.

  • :ipv_6_native (Boolean)

    Indicates whether to create an IPv6 only subnet.

  • :ipv_4_ipam_pool_id (String)

    An IPv4 IPAM pool ID for the subnet.

  • :ipv_4_netmask_length (Integer)

    An IPv4 netmask length for the subnet.

  • :ipv_6_ipam_pool_id (String)

    An IPv6 IPAM pool ID for the subnet.

  • :ipv_6_netmask_length (Integer)

    An IPv6 netmask length for the subnet.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



12973
12974
12975
12976
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 12973

def create_subnet(params = {}, options = {})
  req = build_request(:create_subnet, params)
  req.send_request(options)
end

#create_subnet_cidr_reservation(params = {}) ⇒ Types::CreateSubnetCidrReservationResult

Creates a subnet CIDR reservation. For more information, see Subnet CIDR reservations in the Amazon VPC User Guide and Manage prefixes for your network interfaces in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_subnet_cidr_reservation({
  subnet_id: "SubnetId", # required
  cidr: "String", # required
  reservation_type: "prefix", # required, accepts prefix, explicit
  description: "String",
  dry_run: false,
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
})

Response structure


resp.subnet_cidr_reservation.subnet_cidr_reservation_id #=> String
resp.subnet_cidr_reservation.subnet_id #=> String
resp.subnet_cidr_reservation.cidr #=> String
resp.subnet_cidr_reservation.reservation_type #=> String, one of "prefix", "explicit"
resp.subnet_cidr_reservation.owner_id #=> String
resp.subnet_cidr_reservation.description #=> String
resp.subnet_cidr_reservation.tags #=> Array
resp.subnet_cidr_reservation.tags[0].key #=> String
resp.subnet_cidr_reservation.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :subnet_id (required, String)

    The ID of the subnet.

  • :cidr (required, String)

    The IPv4 or IPV6 CIDR range to reserve.

  • :reservation_type (required, String)

    The type of reservation. The reservation type determines how the reserved IP addresses are assigned to resources.

    • prefix - Amazon Web Services assigns the reserved IP addresses to network interfaces.

    • explicit - You assign the reserved IP addresses to network interfaces.

  • :description (String)

    The description to assign to the subnet CIDR reservation.

  • :dry_run (Boolean)

    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.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the subnet CIDR reservation.

Returns:

See Also:



13057
13058
13059
13060
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 13057

def create_subnet_cidr_reservation(params = {}, options = {})
  req = build_request(:create_subnet_cidr_reservation, params)
  req.send_request(options)
end

#create_tags(params = {}) ⇒ Struct

Adds or overwrites only the specified tags for the specified Amazon EC2 resource or resources. When you specify an existing tag key, the value is overwritten with the new value. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide. For more information about creating IAM policies that control users' access to resources based on tags, see Supported resource-level permissions for Amazon EC2 API actions in the Amazon Elastic Compute Cloud User Guide.

Examples:

Example: To add a tag to a resource


# This example adds the tag Stack=production to the specified image, or overwrites an existing tag for the AMI where the
# tag key is Stack.

resp = client.create_tags({
  resources: [
    "ami-78a54011", 
  ], 
  tags: [
    {
      key: "Stack", 
      value: "production", 
    }, 
  ], 
})

Request syntax with placeholder values


resp = client.create_tags({
  dry_run: false,
  resources: ["TaggableResourceId"], # required
  tags: [ # required
    {
      key: "String",
      value: "String",
    },
  ],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :resources (required, Array<String>)

    The IDs of the resources, separated by spaces.

    Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

  • :tags (required, Array<Types::Tag>)

    The tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



13134
13135
13136
13137
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 13134

def create_tags(params = {}, options = {})
  req = build_request(:create_tags, params)
  req.send_request(options)
end

#create_traffic_mirror_filter(params = {}) ⇒ Types::CreateTrafficMirrorFilterResult

Creates a Traffic Mirror filter.

A Traffic Mirror filter is a set of rules that defines the traffic to mirror.

By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule to add Traffic Mirror rules to the filter. The rules you add define what traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices to mirror supported network services.

Examples:

Request syntax with placeholder values


resp = client.create_traffic_mirror_filter({
  description: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
  client_token: "String",
})

Response structure


resp.traffic_mirror_filter.traffic_mirror_filter_id #=> String
resp.traffic_mirror_filter.ingress_filter_rules #=> Array
resp.traffic_mirror_filter.ingress_filter_rules[0].traffic_mirror_filter_rule_id #=> String
resp.traffic_mirror_filter.ingress_filter_rules[0].traffic_mirror_filter_id #=> String
resp.traffic_mirror_filter.ingress_filter_rules[0].traffic_direction #=> String, one of "ingress", "egress"
resp.traffic_mirror_filter.ingress_filter_rules[0].rule_number #=> Integer
resp.traffic_mirror_filter.ingress_filter_rules[0].rule_action #=> String, one of "accept", "reject"
resp.traffic_mirror_filter.ingress_filter_rules[0].protocol #=> Integer
resp.traffic_mirror_filter.ingress_filter_rules[0].destination_port_range.from_port #=> Integer
resp.traffic_mirror_filter.ingress_filter_rules[0].destination_port_range.to_port #=> Integer
resp.traffic_mirror_filter.ingress_filter_rules[0].source_port_range.from_port #=> Integer
resp.traffic_mirror_filter.ingress_filter_rules[0].source_port_range.to_port #=> Integer
resp.traffic_mirror_filter.ingress_filter_rules[0].destination_cidr_block #=> String
resp.traffic_mirror_filter.ingress_filter_rules[0].source_cidr_block #=> String
resp.traffic_mirror_filter.ingress_filter_rules[0].description #=> String
resp.traffic_mirror_filter.ingress_filter_rules[0].tags #=> Array
resp.traffic_mirror_filter.ingress_filter_rules[0].tags[0].key #=> String
resp.traffic_mirror_filter.ingress_filter_rules[0].tags[0].value #=> String
resp.traffic_mirror_filter.egress_filter_rules #=> Array
resp.traffic_mirror_filter.egress_filter_rules[0].traffic_mirror_filter_rule_id #=> String
resp.traffic_mirror_filter.egress_filter_rules[0].traffic_mirror_filter_id #=> String
resp.traffic_mirror_filter.egress_filter_rules[0].traffic_direction #=> String, one of "ingress", "egress"
resp.traffic_mirror_filter.egress_filter_rules[0].rule_number #=> Integer
resp.traffic_mirror_filter.egress_filter_rules[0].rule_action #=> String, one of "accept", "reject"
resp.traffic_mirror_filter.egress_filter_rules[0].protocol #=> Integer
resp.traffic_mirror_filter.egress_filter_rules[0].destination_port_range.from_port #=> Integer
resp.traffic_mirror_filter.egress_filter_rules[0].destination_port_range.to_port #=> Integer
resp.traffic_mirror_filter.egress_filter_rules[0].source_port_range.from_port #=> Integer
resp.traffic_mirror_filter.egress_filter_rules[0].source_port_range.to_port #=> Integer
resp.traffic_mirror_filter.egress_filter_rules[0].destination_cidr_block #=> String
resp.traffic_mirror_filter.egress_filter_rules[0].source_cidr_block #=> String
resp.traffic_mirror_filter.egress_filter_rules[0].description #=> String
resp.traffic_mirror_filter.egress_filter_rules[0].tags #=> Array
resp.traffic_mirror_filter.egress_filter_rules[0].tags[0].key #=> String
resp.traffic_mirror_filter.egress_filter_rules[0].tags[0].value #=> String
resp.traffic_mirror_filter.network_services #=> Array
resp.traffic_mirror_filter.network_services[0] #=> String, one of "amazon-dns"
resp.traffic_mirror_filter.description #=> String
resp.traffic_mirror_filter.tags #=> Array
resp.traffic_mirror_filter.tags[0].key #=> String
resp.traffic_mirror_filter.tags[0].value #=> String
resp.client_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (String)

    The description of the Traffic Mirror filter.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to a Traffic Mirror filter.

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



13252
13253
13254
13255
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 13252

def create_traffic_mirror_filter(params = {}, options = {})
  req = build_request(:create_traffic_mirror_filter, params)
  req.send_request(options)
end

#create_traffic_mirror_filter_rule(params = {}) ⇒ Types::CreateTrafficMirrorFilterRuleResult

Creates a Traffic Mirror filter rule.

A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror.

You need the Traffic Mirror filter ID when you create the rule.

Examples:

Request syntax with placeholder values


resp = client.create_traffic_mirror_filter_rule({
  traffic_mirror_filter_id: "TrafficMirrorFilterId", # required
  traffic_direction: "ingress", # required, accepts ingress, egress
  rule_number: 1, # required
  rule_action: "accept", # required, accepts accept, reject
  destination_port_range: {
    from_port: 1,
    to_port: 1,
  },
  source_port_range: {
    from_port: 1,
    to_port: 1,
  },
  protocol: 1,
  destination_cidr_block: "String", # required
  source_cidr_block: "String", # required
  description: "String",
  dry_run: false,
  client_token: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
})

Response structure


resp.traffic_mirror_filter_rule.traffic_mirror_filter_rule_id #=> String
resp.traffic_mirror_filter_rule.traffic_mirror_filter_id #=> String
resp.traffic_mirror_filter_rule.traffic_direction #=> String, one of "ingress", "egress"
resp.traffic_mirror_filter_rule.rule_number #=> Integer
resp.traffic_mirror_filter_rule.rule_action #=> String, one of "accept", "reject"
resp.traffic_mirror_filter_rule.protocol #=> Integer
resp.traffic_mirror_filter_rule.destination_port_range.from_port #=> Integer
resp.traffic_mirror_filter_rule.destination_port_range.to_port #=> Integer
resp.traffic_mirror_filter_rule.source_port_range.from_port #=> Integer
resp.traffic_mirror_filter_rule.source_port_range.to_port #=> Integer
resp.traffic_mirror_filter_rule.destination_cidr_block #=> String
resp.traffic_mirror_filter_rule.source_cidr_block #=> String
resp.traffic_mirror_filter_rule.description #=> String
resp.traffic_mirror_filter_rule.tags #=> Array
resp.traffic_mirror_filter_rule.tags[0].key #=> String
resp.traffic_mirror_filter_rule.tags[0].value #=> String
resp.client_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :traffic_mirror_filter_id (required, String)

    The ID of the filter that this rule is associated with.

  • :traffic_direction (required, String)

    The type of traffic.

  • :rule_number (required, Integer)

    The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.

  • :rule_action (required, String)

    The action to take on the filtered traffic.

  • :destination_port_range (Types::TrafficMirrorPortRangeRequest)

    The destination port range.

  • :source_port_range (Types::TrafficMirrorPortRangeRequest)

    The source port range.

  • :protocol (Integer)

    The protocol, for example UDP, to assign to the Traffic Mirror rule.

    For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.

  • :destination_cidr_block (required, String)

    The destination CIDR block to assign to the Traffic Mirror rule.

  • :source_cidr_block (required, String)

    The source CIDR block to assign to the Traffic Mirror rule.

  • :description (String)

    The description of the Traffic Mirror rule.

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :tag_specifications (Array<Types::TagSpecification>)

    Traffic Mirroring tags specifications.

Returns:

See Also:



13387
13388
13389
13390
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 13387

def create_traffic_mirror_filter_rule(params = {}, options = {})
  req = build_request(:create_traffic_mirror_filter_rule, params)
  req.send_request(options)
end

#create_traffic_mirror_session(params = {}) ⇒ Types::CreateTrafficMirrorSessionResult

Creates a Traffic Mirror session.

A Traffic Mirror session actively copies packets from a Traffic Mirror source to a Traffic Mirror target. Create a filter, and then assign it to the session to define a subset of the traffic to mirror, for example all TCP traffic.

The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in a different VPC connected via VPC peering or a transit gateway.

By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to create filter rules that specify the traffic to mirror.

Examples:

Request syntax with placeholder values


resp = client.create_traffic_mirror_session({
  network_interface_id: "NetworkInterfaceId", # required
  traffic_mirror_target_id: "TrafficMirrorTargetId", # required
  traffic_mirror_filter_id: "TrafficMirrorFilterId", # required
  packet_length: 1,
  session_number: 1, # required
  virtual_network_id: 1,
  description: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
  client_token: "String",
})

Response structure


resp.traffic_mirror_session.traffic_mirror_session_id #=> String
resp.traffic_mirror_session.traffic_mirror_target_id #=> String
resp.traffic_mirror_session.traffic_mirror_filter_id #=> String
resp.traffic_mirror_session.network_interface_id #=> String
resp.traffic_mirror_session.owner_id #=> String
resp.traffic_mirror_session.packet_length #=> Integer
resp.traffic_mirror_session.session_number #=> Integer
resp.traffic_mirror_session.virtual_network_id #=> Integer
resp.traffic_mirror_session.description #=> String
resp.traffic_mirror_session.tags #=> Array
resp.traffic_mirror_session.tags[0].key #=> String
resp.traffic_mirror_session.tags[0].value #=> String
resp.client_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :network_interface_id (required, String)

    The ID of the source network interface.

  • :traffic_mirror_target_id (required, String)

    The ID of the Traffic Mirror target.

  • :traffic_mirror_filter_id (required, String)

    The ID of the Traffic Mirror filter.

  • :packet_length (Integer)

    The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target.

    If you do not want to mirror the entire packet, use the PacketLength parameter to specify the number of bytes in each packet to mirror.

    For sessions with Network Load Balancer (NLB) Traffic Mirror targets the default PacketLength will be set to 8500. Valid values are 1-8500. Setting a PacketLength greater than 8500 will result in an error response.

  • :session_number (required, Integer)

    The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

    Valid values are 1-32766.

  • :virtual_network_id (Integer)

    The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique ID is chosen at random.

  • :description (String)

    The description of the Traffic Mirror session.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to a Traffic Mirror session.

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



13525
13526
13527
13528
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 13525

def create_traffic_mirror_session(params = {}, options = {})
  req = build_request(:create_traffic_mirror_session, params)
  req.send_request(options)
end

#create_traffic_mirror_target(params = {}) ⇒ Types::CreateTrafficMirrorTargetResult

Creates a target for your Traffic Mirror session.

A Traffic Mirror target is the destination for mirrored traffic. The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in different VPCs connected via VPC peering or a transit gateway.

A Traffic Mirror target can be a network interface, a Network Load Balancer, or a Gateway Load Balancer endpoint.

To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession.

Examples:

Request syntax with placeholder values


resp = client.create_traffic_mirror_target({
  network_interface_id: "NetworkInterfaceId",
  network_load_balancer_arn: "String",
  description: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
  client_token: "String",
  gateway_load_balancer_endpoint_id: "VpcEndpointId",
})

Response structure


resp.traffic_mirror_target.traffic_mirror_target_id #=> String
resp.traffic_mirror_target.network_interface_id #=> String
resp.traffic_mirror_target.network_load_balancer_arn #=> String
resp.traffic_mirror_target.type #=> String, one of "network-interface", "network-load-balancer", "gateway-load-balancer-endpoint"
resp.traffic_mirror_target.description #=> String
resp.traffic_mirror_target.owner_id #=> String
resp.traffic_mirror_target.tags #=> Array
resp.traffic_mirror_target.tags[0].key #=> String
resp.traffic_mirror_target.tags[0].value #=> String
resp.traffic_mirror_target.gateway_load_balancer_endpoint_id #=> String
resp.client_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :network_interface_id (String)

    The network interface ID that is associated with the target.

  • :network_load_balancer_arn (String)

    The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.

  • :description (String)

    The description of the Traffic Mirror target.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the Traffic Mirror target.

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :gateway_load_balancer_endpoint_id (String)

    The ID of the Gateway Load Balancer endpoint.

Returns:

See Also:



13626
13627
13628
13629
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 13626

def create_traffic_mirror_target(params = {}, options = {})
  req = build_request(:create_traffic_mirror_target, params)
  req.send_request(options)
end

#create_transit_gateway(params = {}) ⇒ Types::CreateTransitGatewayResult

Creates a transit gateway.

You can use a transit gateway to interconnect your virtual private clouds (VPC) and on-premises networks. After the transit gateway enters the available state, you can attach your VPCs and VPN connections to the transit gateway.

To attach your VPCs, use CreateTransitGatewayVpcAttachment.

To attach a VPN connection, use CreateCustomerGateway to create a customer gateway and specify the ID of the customer gateway and the ID of the transit gateway in a call to CreateVpnConnection.

When you create a transit gateway, we create a default transit gateway route table and use it as the default association route table and the default propagation route table. You can use CreateTransitGatewayRouteTable to create additional transit gateway route tables. If you disable automatic route propagation, we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation to propagate routes from a resource attachment to a transit gateway route table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable to associate a resource attachment with a transit gateway route table.

Examples:

Request syntax with placeholder values


resp = client.create_transit_gateway({
  description: "String",
  options: {
    amazon_side_asn: 1,
    auto_accept_shared_attachments: "enable", # accepts enable, disable
    default_route_table_association: "enable", # accepts enable, disable
    default_route_table_propagation: "enable", # accepts enable, disable
    vpn_ecmp_support: "enable", # accepts enable, disable
    dns_support: "enable", # accepts enable, disable
    security_group_referencing_support: "enable", # accepts enable, disable
    multicast_support: "enable", # accepts enable, disable
    transit_gateway_cidr_blocks: ["String"],
  },
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.transit_gateway.transit_gateway_id #=> String
resp.transit_gateway.transit_gateway_arn #=> String
resp.transit_gateway.state #=> String, one of "pending", "available", "modifying", "deleting", "deleted"
resp.transit_gateway.owner_id #=> String
resp.transit_gateway.description #=> String
resp.transit_gateway.creation_time #=> Time
resp.transit_gateway.options.amazon_side_asn #=> Integer
resp.transit_gateway.options.transit_gateway_cidr_blocks #=> Array
resp.transit_gateway.options.transit_gateway_cidr_blocks[0] #=> String
resp.transit_gateway.options.auto_accept_shared_attachments #=> String, one of "enable", "disable"
resp.transit_gateway.options.default_route_table_association #=> String, one of "enable", "disable"
resp.transit_gateway.options.association_default_route_table_id #=> String
resp.transit_gateway.options.default_route_table_propagation #=> String, one of "enable", "disable"
resp.transit_gateway.options.propagation_default_route_table_id #=> String
resp.transit_gateway.options.vpn_ecmp_support #=> String, one of "enable", "disable"
resp.transit_gateway.options.dns_support #=> String, one of "enable", "disable"
resp.transit_gateway.options.security_group_referencing_support #=> String, one of "enable", "disable"
resp.transit_gateway.options.multicast_support #=> String, one of "enable", "disable"
resp.transit_gateway.tags #=> Array
resp.transit_gateway.tags[0].key #=> String
resp.transit_gateway.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (String)

    A description of the transit gateway.

  • :options (Types::TransitGatewayRequestOptions)

    The transit gateway options.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the transit gateway.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



13731
13732
13733
13734
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 13731

def create_transit_gateway(params = {}, options = {})
  req = build_request(:create_transit_gateway, params)
  req.send_request(options)
end

#create_transit_gateway_connect(params = {}) ⇒ Types::CreateTransitGatewayConnectResult

Creates a Connect attachment from a specified transit gateway attachment. A Connect attachment is a GRE-based tunnel attachment that you can use to establish a connection between a transit gateway and an appliance.

A Connect attachment uses an existing VPC or Amazon Web Services Direct Connect attachment as the underlying transport mechanism.

Examples:

Request syntax with placeholder values


resp = client.create_transit_gateway_connect({
  transport_transit_gateway_attachment_id: "TransitGatewayAttachmentId", # required
  options: { # required
    protocol: "gre", # required, accepts gre
  },
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.transit_gateway_connect.transit_gateway_attachment_id #=> String
resp.transit_gateway_connect.transport_transit_gateway_attachment_id #=> String
resp.transit_gateway_connect.transit_gateway_id #=> String
resp.transit_gateway_connect.state #=> String, one of "initiating", "initiatingRequest", "pendingAcceptance", "rollingBack", "pending", "available", "modifying", "deleting", "deleted", "failed", "rejected", "rejecting", "failing"
resp.transit_gateway_connect.creation_time #=> Time
resp.transit_gateway_connect.options.protocol #=> String, one of "gre"
resp.transit_gateway_connect.tags #=> Array
resp.transit_gateway_connect.tags[0].key #=> String
resp.transit_gateway_connect.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transport_transit_gateway_attachment_id (required, String)

    The ID of the transit gateway attachment. You can specify a VPC attachment or Amazon Web Services Direct Connect attachment.

  • :options (required, Types::CreateTransitGatewayConnectRequestOptions)

    The Connect attachment options.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the Connect attachment.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



13801
13802
13803
13804
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 13801

def create_transit_gateway_connect(params = {}, options = {})
  req = build_request(:create_transit_gateway_connect, params)
  req.send_request(options)
end

#create_transit_gateway_connect_peer(params = {}) ⇒ Types::CreateTransitGatewayConnectPeerResult

Creates a Connect peer for a specified transit gateway Connect attachment between a transit gateway and an appliance.

The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).

For more information, see Connect peers in the Amazon Web Services Transit Gateways Guide.

Examples:

Request syntax with placeholder values


resp = client.create_transit_gateway_connect_peer({
  transit_gateway_attachment_id: "TransitGatewayAttachmentId", # required
  transit_gateway_address: "String",
  peer_address: "String", # required
  bgp_options: {
    peer_asn: 1,
  },
  inside_cidr_blocks: ["String"], # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.transit_gateway_connect_peer.transit_gateway_attachment_id #=> String
resp.transit_gateway_connect_peer.transit_gateway_connect_peer_id #=> String
resp.transit_gateway_connect_peer.state #=> String, one of "pending", "available", "deleting", "deleted"
resp.transit_gateway_connect_peer.creation_time #=> Time
resp.transit_gateway_connect_peer.connect_peer_configuration.transit_gateway_address #=> String
resp.transit_gateway_connect_peer.connect_peer_configuration.peer_address #=> String
resp.transit_gateway_connect_peer.connect_peer_configuration.inside_cidr_blocks #=> Array
resp.transit_gateway_connect_peer.connect_peer_configuration.inside_cidr_blocks[0] #=> String
resp.transit_gateway_connect_peer.connect_peer_configuration.protocol #=> String, one of "gre"
resp.transit_gateway_connect_peer.connect_peer_configuration.bgp_configurations #=> Array
resp.transit_gateway_connect_peer.connect_peer_configuration.bgp_configurations[0].transit_gateway_asn #=> Integer
resp.transit_gateway_connect_peer.connect_peer_configuration.bgp_configurations[0].peer_asn #=> Integer
resp.transit_gateway_connect_peer.connect_peer_configuration.bgp_configurations[0].transit_gateway_address #=> String
resp.transit_gateway_connect_peer.connect_peer_configuration.bgp_configurations[0].peer_address #=> String
resp.transit_gateway_connect_peer.connect_peer_configuration.bgp_configurations[0].bgp_status #=> String, one of "up", "down"
resp.transit_gateway_connect_peer.tags #=> Array
resp.transit_gateway_connect_peer.tags[0].key #=> String
resp.transit_gateway_connect_peer.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_attachment_id (required, String)

    The ID of the Connect attachment.

  • :transit_gateway_address (String)

    The peer IP address (GRE outer IP address) on the transit gateway side of the Connect peer, which must be specified from a transit gateway CIDR block. If not specified, Amazon automatically assigns the first available IP address from the transit gateway CIDR block.

  • :peer_address (required, String)

    The peer IP address (GRE outer IP address) on the appliance side of the Connect peer.

  • :bgp_options (Types::TransitGatewayConnectRequestBgpOptions)

    The BGP options for the Connect peer.

  • :inside_cidr_blocks (required, Array<String>)

    The range of inside IP addresses that are used for BGP peering. You must specify a size /29 IPv4 CIDR block from the 169.254.0.0/16 range. The first address from the range must be configured on the appliance as the BGP IP address. You can also optionally specify a size /125 IPv6 CIDR block from the fd00::/8 range.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the Connect peer.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



13904
13905
13906
13907
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 13904

def create_transit_gateway_connect_peer(params = {}, options = {})
  req = build_request(:create_transit_gateway_connect_peer, params)
  req.send_request(options)
end

#create_transit_gateway_multicast_domain(params = {}) ⇒ Types::CreateTransitGatewayMulticastDomainResult

Creates a multicast domain using the specified transit gateway.

The transit gateway must be in the available state before you create a domain. Use DescribeTransitGateways to see the state of transit gateway.

Examples:

Request syntax with placeholder values


resp = client.create_transit_gateway_multicast_domain({
  transit_gateway_id: "TransitGatewayId", # required
  options: {
    igmpv_2_support: "enable", # accepts enable, disable
    static_sources_support: "enable", # accepts enable, disable
    auto_accept_shared_associations: "enable", # accepts enable, disable
  },
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.transit_gateway_multicast_domain.transit_gateway_multicast_domain_id #=> String
resp.transit_gateway_multicast_domain.transit_gateway_id #=> String
resp.transit_gateway_multicast_domain.transit_gateway_multicast_domain_arn #=> String
resp.transit_gateway_multicast_domain.owner_id #=> String
resp.transit_gateway_multicast_domain.options.igmpv_2_support #=> String, one of "enable", "disable"
resp.transit_gateway_multicast_domain.options.static_sources_support #=> String, one of "enable", "disable"
resp.transit_gateway_multicast_domain.options.auto_accept_shared_associations #=> String, one of "enable", "disable"
resp.transit_gateway_multicast_domain.state #=> String, one of "pending", "available", "deleting", "deleted"
resp.transit_gateway_multicast_domain.creation_time #=> Time
resp.transit_gateway_multicast_domain.tags #=> Array
resp.transit_gateway_multicast_domain.tags[0].key #=> String
resp.transit_gateway_multicast_domain.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_id (required, String)

    The ID of the transit gateway.

  • :options (Types::CreateTransitGatewayMulticastDomainRequestOptions)

    The options for the transit gateway multicast domain.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags for the transit gateway multicast domain.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



13980
13981
13982
13983
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 13980

def create_transit_gateway_multicast_domain(params = {}, options = {})
  req = build_request(:create_transit_gateway_multicast_domain, params)
  req.send_request(options)
end

#create_transit_gateway_peering_attachment(params = {}) ⇒ Types::CreateTransitGatewayPeeringAttachmentResult

Requests a transit gateway peering attachment between the specified transit gateway (requester) and a peer transit gateway (accepter). The peer transit gateway can be in your account or a different Amazon Web Services account.

After you create the peering attachment, the owner of the accepter transit gateway must accept the attachment request.

Examples:

Request syntax with placeholder values


resp = client.create_transit_gateway_peering_attachment({
  transit_gateway_id: "TransitGatewayId", # required
  peer_transit_gateway_id: "TransitAssociationGatewayId", # required
  peer_account_id: "String", # required
  peer_region: "String", # required
  options: {
    dynamic_routing: "enable", # accepts enable, disable
  },
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.transit_gateway_peering_attachment.transit_gateway_attachment_id #=> String
resp.transit_gateway_peering_attachment.accepter_transit_gateway_attachment_id #=> String
resp.transit_gateway_peering_attachment.requester_tgw_info.transit_gateway_id #=> String
resp.transit_gateway_peering_attachment.requester_tgw_info.core_network_id #=> String
resp.transit_gateway_peering_attachment.requester_tgw_info.owner_id #=> String
resp.transit_gateway_peering_attachment.requester_tgw_info.region #=> String
resp.transit_gateway_peering_attachment.accepter_tgw_info.transit_gateway_id #=> String
resp.transit_gateway_peering_attachment.accepter_tgw_info.core_network_id #=> String
resp.transit_gateway_peering_attachment.accepter_tgw_info.owner_id #=> String
resp.transit_gateway_peering_attachment.accepter_tgw_info.region #=> String
resp.transit_gateway_peering_attachment.options.dynamic_routing #=> String, one of "enable", "disable"
resp.transit_gateway_peering_attachment.status.code #=> String
resp.transit_gateway_peering_attachment.status.message #=> String
resp.transit_gateway_peering_attachment.state #=> String, one of "initiating", "initiatingRequest", "pendingAcceptance", "rollingBack", "pending", "available", "modifying", "deleting", "deleted", "failed", "rejected", "rejecting", "failing"
resp.transit_gateway_peering_attachment.creation_time #=> Time
resp.transit_gateway_peering_attachment.tags #=> Array
resp.transit_gateway_peering_attachment.tags[0].key #=> String
resp.transit_gateway_peering_attachment.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_id (required, String)

    The ID of the transit gateway.

  • :peer_transit_gateway_id (required, String)

    The ID of the peer transit gateway with which to create the peering attachment.

  • :peer_account_id (required, String)

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

  • :peer_region (required, String)

    The Region where the peer transit gateway is located.

  • :options (Types::CreateTransitGatewayPeeringAttachmentRequestOptions)

    Requests a transit gateway peering attachment.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the transit gateway peering attachment.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



14072
14073
14074
14075
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 14072

def create_transit_gateway_peering_attachment(params = {}, options = {})
  req = build_request(:create_transit_gateway_peering_attachment, params)
  req.send_request(options)
end

#create_transit_gateway_policy_table(params = {}) ⇒ Types::CreateTransitGatewayPolicyTableResult

Creates a transit gateway policy table.

Examples:

Request syntax with placeholder values


resp = client.create_transit_gateway_policy_table({
  transit_gateway_id: "TransitGatewayId", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.transit_gateway_policy_table.transit_gateway_policy_table_id #=> String
resp.transit_gateway_policy_table.transit_gateway_id #=> String
resp.transit_gateway_policy_table.state #=> String, one of "pending", "available", "deleting", "deleted"
resp.transit_gateway_policy_table.creation_time #=> Time
resp.transit_gateway_policy_table.tags #=> Array
resp.transit_gateway_policy_table.tags[0].key #=> String
resp.transit_gateway_policy_table.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_id (required, String)

    The ID of the transit gateway used for the policy table.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags specification for the transit gateway policy table created during the request.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



14128
14129
14130
14131
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 14128

def create_transit_gateway_policy_table(params = {}, options = {})
  req = build_request(:create_transit_gateway_policy_table, params)
  req.send_request(options)
end

#create_transit_gateway_prefix_list_reference(params = {}) ⇒ Types::CreateTransitGatewayPrefixListReferenceResult

Creates a reference (route) to a prefix list in a specified transit gateway route table.

Examples:

Request syntax with placeholder values


resp = client.create_transit_gateway_prefix_list_reference({
  transit_gateway_route_table_id: "TransitGatewayRouteTableId", # required
  prefix_list_id: "PrefixListResourceId", # required
  transit_gateway_attachment_id: "TransitGatewayAttachmentId",
  blackhole: false,
  dry_run: false,
})

Response structure


resp.transit_gateway_prefix_list_reference.transit_gateway_route_table_id #=> String
resp.transit_gateway_prefix_list_reference.prefix_list_id #=> String
resp.transit_gateway_prefix_list_reference.prefix_list_owner_id #=> String
resp.transit_gateway_prefix_list_reference.state #=> String, one of "pending", "available", "modifying", "deleting"
resp.transit_gateway_prefix_list_reference.blackhole #=> Boolean
resp.transit_gateway_prefix_list_reference.transit_gateway_attachment.transit_gateway_attachment_id #=> String
resp.transit_gateway_prefix_list_reference.transit_gateway_attachment.resource_type #=> String, one of "vpc", "vpn", "direct-connect-gateway", "connect", "peering", "tgw-peering"
resp.transit_gateway_prefix_list_reference.transit_gateway_attachment.resource_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_route_table_id (required, String)

    The ID of the transit gateway route table.

  • :prefix_list_id (required, String)

    The ID of the prefix list that is used for destination matches.

  • :transit_gateway_attachment_id (String)

    The ID of the attachment to which traffic is routed.

  • :blackhole (Boolean)

    Indicates whether to drop traffic that matches this route.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



14183
14184
14185
14186
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 14183

def create_transit_gateway_prefix_list_reference(params = {}, options = {})
  req = build_request(:create_transit_gateway_prefix_list_reference, params)
  req.send_request(options)
end

#create_transit_gateway_route(params = {}) ⇒ Types::CreateTransitGatewayRouteResult

Creates a static route for the specified transit gateway route table.

Examples:

Request syntax with placeholder values


resp = client.create_transit_gateway_route({
  destination_cidr_block: "String", # required
  transit_gateway_route_table_id: "TransitGatewayRouteTableId", # required
  transit_gateway_attachment_id: "TransitGatewayAttachmentId",
  blackhole: false,
  dry_run: false,
})

Response structure


resp.route.destination_cidr_block #=> String
resp.route.prefix_list_id #=> String
resp.route.transit_gateway_route_table_announcement_id #=> String
resp.route.transit_gateway_attachments #=> Array
resp.route.transit_gateway_attachments[0].resource_id #=> String
resp.route.transit_gateway_attachments[0].transit_gateway_attachment_id #=> String
resp.route.transit_gateway_attachments[0].resource_type #=> String, one of "vpc", "vpn", "direct-connect-gateway", "connect", "peering", "tgw-peering"
resp.route.type #=> String, one of "static", "propagated"
resp.route.state #=> String, one of "pending", "active", "blackhole", "deleting", "deleted"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :destination_cidr_block (required, String)

    The CIDR range used for destination matches. Routing decisions are based on the most specific match.

  • :transit_gateway_route_table_id (required, String)

    The ID of the transit gateway route table.

  • :transit_gateway_attachment_id (String)

    The ID of the attachment.

  • :blackhole (Boolean)

    Indicates whether to drop traffic that matches this route.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



14239
14240
14241
14242
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 14239

def create_transit_gateway_route(params = {}, options = {})
  req = build_request(:create_transit_gateway_route, params)
  req.send_request(options)
end

#create_transit_gateway_route_table(params = {}) ⇒ Types::CreateTransitGatewayRouteTableResult

Creates a route table for the specified transit gateway.

Examples:

Request syntax with placeholder values


resp = client.create_transit_gateway_route_table({
  transit_gateway_id: "TransitGatewayId", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.transit_gateway_route_table.transit_gateway_route_table_id #=> String
resp.transit_gateway_route_table.transit_gateway_id #=> String
resp.transit_gateway_route_table.state #=> String, one of "pending", "available", "deleting", "deleted"
resp.transit_gateway_route_table.default_association_route_table #=> Boolean
resp.transit_gateway_route_table.default_propagation_route_table #=> Boolean
resp.transit_gateway_route_table.creation_time #=> Time
resp.transit_gateway_route_table.tags #=> Array
resp.transit_gateway_route_table.tags[0].key #=> String
resp.transit_gateway_route_table.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_id (required, String)

    The ID of the transit gateway.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the transit gateway route table.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



14296
14297
14298
14299
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 14296

def create_transit_gateway_route_table(params = {}, options = {})
  req = build_request(:create_transit_gateway_route_table, params)
  req.send_request(options)
end

#create_transit_gateway_route_table_announcement(params = {}) ⇒ Types::CreateTransitGatewayRouteTableAnnouncementResult

Advertises a new transit gateway route table.

Examples:

Request syntax with placeholder values


resp = client.create_transit_gateway_route_table_announcement({
  transit_gateway_route_table_id: "TransitGatewayRouteTableId", # required
  peering_attachment_id: "TransitGatewayAttachmentId", # required
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.transit_gateway_route_table_announcement.transit_gateway_route_table_announcement_id #=> String
resp.transit_gateway_route_table_announcement.transit_gateway_id #=> String
resp.transit_gateway_route_table_announcement.core_network_id #=> String
resp.transit_gateway_route_table_announcement.peer_transit_gateway_id #=> String
resp.transit_gateway_route_table_announcement.peer_core_network_id #=> String
resp.transit_gateway_route_table_announcement.peering_attachment_id #=> String
resp.transit_gateway_route_table_announcement.announcement_direction #=> String, one of "outgoing", "incoming"
resp.transit_gateway_route_table_announcement.transit_gateway_route_table_id #=> String
resp.transit_gateway_route_table_announcement.state #=> String, one of "available", "pending", "failing", "failed", "deleting", "deleted"
resp.transit_gateway_route_table_announcement.creation_time #=> Time
resp.transit_gateway_route_table_announcement.tags #=> Array
resp.transit_gateway_route_table_announcement.tags[0].key #=> String
resp.transit_gateway_route_table_announcement.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_route_table_id (required, String)

    The ID of the transit gateway route table.

  • :peering_attachment_id (required, String)

    The ID of the peering attachment.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags specifications applied to the transit gateway route table announcement.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



14362
14363
14364
14365
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 14362

def create_transit_gateway_route_table_announcement(params = {}, options = {})
  req = build_request(:create_transit_gateway_route_table_announcement, params)
  req.send_request(options)
end

#create_transit_gateway_vpc_attachment(params = {}) ⇒ Types::CreateTransitGatewayVpcAttachmentResult

Attaches the specified VPC to the specified transit gateway.

If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC that is already attached, the new VPC CIDR range is not propagated to the default propagation route table.

To send VPC traffic to an attached transit gateway, add a route to the VPC route table using CreateRoute.

Examples:

Request syntax with placeholder values


resp = client.create_transit_gateway_vpc_attachment({
  transit_gateway_id: "TransitGatewayId", # required
  vpc_id: "VpcId", # required
  subnet_ids: ["SubnetId"], # required
  options: {
    dns_support: "enable", # accepts enable, disable
    security_group_referencing_support: "enable", # accepts enable, disable
    ipv_6_support: "enable", # accepts enable, disable
    appliance_mode_support: "enable", # accepts enable, disable
  },
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
})

Response structure


resp.transit_gateway_vpc_attachment.transit_gateway_attachment_id #=> String
resp.transit_gateway_vpc_attachment.transit_gateway_id #=> String
resp.transit_gateway_vpc_attachment.vpc_id #=> String
resp.transit_gateway_vpc_attachment.vpc_owner_id #=> String
resp.transit_gateway_vpc_attachment.state #=> String, one of "initiating", "initiatingRequest", "pendingAcceptance", "rollingBack", "pending", "available", "modifying", "deleting", "deleted", "failed", "rejected", "rejecting", "failing"
resp.transit_gateway_vpc_attachment.subnet_ids #=> Array
resp.transit_gateway_vpc_attachment.subnet_ids[0] #=> String
resp.transit_gateway_vpc_attachment.creation_time #=> Time
resp.transit_gateway_vpc_attachment.options.dns_support #=> String, one of "enable", "disable"
resp.transit_gateway_vpc_attachment.options.security_group_referencing_support #=> String, one of "enable", "disable"
resp.transit_gateway_vpc_attachment.options.ipv_6_support #=> String, one of "enable", "disable"
resp.transit_gateway_vpc_attachment.options.appliance_mode_support #=> String, one of "enable", "disable"
resp.transit_gateway_vpc_attachment.tags #=> Array
resp.transit_gateway_vpc_attachment.tags[0].key #=> String
resp.transit_gateway_vpc_attachment.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_id (required, String)

    The ID of the transit gateway.

  • :vpc_id (required, String)

    The ID of the VPC.

  • :subnet_ids (required, Array<String>)

    The IDs of one or more subnets. You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet.

  • :options (Types::CreateTransitGatewayVpcAttachmentRequestOptions)

    The VPC attachment options.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the VPC attachment.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



14452
14453
14454
14455
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 14452

def create_transit_gateway_vpc_attachment(params = {}, options = {})
  req = build_request(:create_transit_gateway_vpc_attachment, params)
  req.send_request(options)
end

#create_verified_access_endpoint(params = {}) ⇒ Types::CreateVerifiedAccessEndpointResult

An Amazon Web Services Verified Access endpoint is where you define your application along with an optional endpoint-level access policy.

Examples:

Request syntax with placeholder values


resp = client.create_verified_access_endpoint({
  verified_access_group_id: "VerifiedAccessGroupId", # required
  endpoint_type: "load-balancer", # required, accepts load-balancer, network-interface, rds, cidr
  attachment_type: "vpc", # required, accepts vpc
  domain_certificate_arn: "CertificateArn",
  application_domain: "String",
  endpoint_domain_prefix: "String",
  security_group_ids: ["SecurityGroupId"],
  load_balancer_options: {
    protocol: "http", # accepts http, https, tcp
    port: 1,
    load_balancer_arn: "LoadBalancerArn",
    subnet_ids: ["SubnetId"],
    port_ranges: [
      {
        from_port: 1,
        to_port: 1,
      },
    ],
  },
  network_interface_options: {
    network_interface_id: "NetworkInterfaceId",
    protocol: "http", # accepts http, https, tcp
    port: 1,
    port_ranges: [
      {
        from_port: 1,
        to_port: 1,
      },
    ],
  },
  description: "String",
  policy_document: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  client_token: "String",
  dry_run: false,
  sse_specification: {
    customer_managed_key_enabled: false,
    kms_key_arn: "KmsKeyArn",
  },
  rds_options: {
    protocol: "http", # accepts http, https, tcp
    port: 1,
    rds_db_instance_arn: "RdsDbInstanceArn",
    rds_db_cluster_arn: "RdsDbClusterArn",
    rds_db_proxy_arn: "RdsDbProxyArn",
    rds_endpoint: "String",
    subnet_ids: ["SubnetId"],
  },
  cidr_options: {
    protocol: "http", # accepts http, https, tcp
    subnet_ids: ["SubnetId"],
    cidr: "String",
    port_ranges: [
      {
        from_port: 1,
        to_port: 1,
      },
    ],
  },
})

Response structure


resp.verified_access_endpoint.verified_access_instance_id #=> String
resp.verified_access_endpoint.verified_access_group_id #=> String
resp.verified_access_endpoint.verified_access_endpoint_id #=> String
resp.verified_access_endpoint.application_domain #=> String
resp.verified_access_endpoint.endpoint_type #=> String, one of "load-balancer", "network-interface", "rds", "cidr"
resp.verified_access_endpoint.attachment_type #=> String, one of "vpc"
resp.verified_access_endpoint.domain_certificate_arn #=> String
resp.verified_access_endpoint.endpoint_domain #=> String
resp.verified_access_endpoint.device_validation_domain #=> String
resp.verified_access_endpoint.security_group_ids #=> Array
resp.verified_access_endpoint.security_group_ids[0] #=> String
resp.verified_access_endpoint.load_balancer_options.protocol #=> String, one of "http", "https", "tcp"
resp.verified_access_endpoint.load_balancer_options.port #=> Integer
resp.verified_access_endpoint.load_balancer_options.load_balancer_arn #=> String
resp.verified_access_endpoint.load_balancer_options.subnet_ids #=> Array
resp.verified_access_endpoint.load_balancer_options.subnet_ids[0] #=> String
resp.verified_access_endpoint.load_balancer_options.port_ranges #=> Array
resp.verified_access_endpoint.load_balancer_options.port_ranges[0].from_port #=> Integer
resp.verified_access_endpoint.load_balancer_options.port_ranges[0].to_port #=> Integer
resp.verified_access_endpoint.network_interface_options.network_interface_id #=> String
resp.verified_access_endpoint.network_interface_options.protocol #=> String, one of "http", "https", "tcp"
resp.verified_access_endpoint.network_interface_options.port #=> Integer
resp.verified_access_endpoint.network_interface_options.port_ranges #=> Array
resp.verified_access_endpoint.network_interface_options.port_ranges[0].from_port #=> Integer
resp.verified_access_endpoint.network_interface_options.port_ranges[0].to_port #=> Integer
resp.verified_access_endpoint.status.code #=> String, one of "pending", "active", "updating", "deleting", "deleted"
resp.verified_access_endpoint.status.message #=> String
resp.verified_access_endpoint.description #=> String
resp.verified_access_endpoint.creation_time #=> String
resp.verified_access_endpoint.last_updated_time #=> String
resp.verified_access_endpoint.deletion_time #=> String
resp.verified_access_endpoint.tags #=> Array
resp.verified_access_endpoint.tags[0].key #=> String
resp.verified_access_endpoint.tags[0].value #=> String
resp.verified_access_endpoint.sse_specification.customer_managed_key_enabled #=> Boolean
resp.verified_access_endpoint.sse_specification.kms_key_arn #=> String
resp.verified_access_endpoint.rds_options.protocol #=> String, one of "http", "https", "tcp"
resp.verified_access_endpoint.rds_options.port #=> Integer
resp.verified_access_endpoint.rds_options.rds_db_instance_arn #=> String
resp.verified_access_endpoint.rds_options.rds_db_cluster_arn #=> String
resp.verified_access_endpoint.rds_options.rds_db_proxy_arn #=> String
resp.verified_access_endpoint.rds_options.rds_endpoint #=> String
resp.verified_access_endpoint.rds_options.subnet_ids #=> Array
resp.verified_access_endpoint.rds_options.subnet_ids[0] #=> String
resp.verified_access_endpoint.cidr_options.cidr #=> String
resp.verified_access_endpoint.cidr_options.port_ranges #=> Array
resp.verified_access_endpoint.cidr_options.port_ranges[0].from_port #=> Integer
resp.verified_access_endpoint.cidr_options.port_ranges[0].to_port #=> Integer
resp.verified_access_endpoint.cidr_options.protocol #=> String, one of "http", "https", "tcp"
resp.verified_access_endpoint.cidr_options.subnet_ids #=> Array
resp.verified_access_endpoint.cidr_options.subnet_ids[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :verified_access_group_id (required, String)

    The ID of the Verified Access group to associate the endpoint with.

  • :endpoint_type (required, String)

    The type of Verified Access endpoint to create.

  • :attachment_type (required, String)

    The type of attachment.

  • :domain_certificate_arn (String)

    The ARN of the public TLS/SSL certificate in Amazon Web Services Certificate Manager to associate with the endpoint. The CN in the certificate must match the DNS name your end users will use to reach your application.

  • :application_domain (String)

    The DNS name for users to reach your application.

  • :endpoint_domain_prefix (String)

    A custom identifier that is prepended to the DNS name that is generated for the endpoint.

  • :security_group_ids (Array<String>)

    The IDs of the security groups to associate with the Verified Access endpoint. Required if AttachmentType is set to vpc.

  • :load_balancer_options (Types::CreateVerifiedAccessEndpointLoadBalancerOptions)

    The load balancer details. This parameter is required if the endpoint type is load-balancer.

  • :network_interface_options (Types::CreateVerifiedAccessEndpointEniOptions)

    The network interface details. This parameter is required if the endpoint type is network-interface.

  • :description (String)

    A description for the Verified Access endpoint.

  • :policy_document (String)

    The Verified Access policy document.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the Verified Access endpoint.

  • :client_token (String)

    A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

  • :sse_specification (Types::VerifiedAccessSseSpecificationRequest)

    The options for server side encryption.

  • :rds_options (Types::CreateVerifiedAccessEndpointRdsOptions)

    The RDS details. This parameter is required if the endpoint type is rds.

  • :cidr_options (Types::CreateVerifiedAccessEndpointCidrOptions)

    The CIDR options. This parameter is required if the endpoint type is cidr.

Returns:

See Also:



14668
14669
14670
14671
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 14668

def create_verified_access_endpoint(params = {}, options = {})
  req = build_request(:create_verified_access_endpoint, params)
  req.send_request(options)
end

#create_verified_access_group(params = {}) ⇒ Types::CreateVerifiedAccessGroupResult

An Amazon Web Services Verified Access group is a collection of Amazon Web Services Verified Access endpoints who's associated applications have similar security requirements. Each instance within a Verified Access group shares an Verified Access policy. For example, you can group all Verified Access instances associated with "sales" applications together and use one common Verified Access policy.

Examples:

Request syntax with placeholder values


resp = client.create_verified_access_group({
  verified_access_instance_id: "VerifiedAccessInstanceId", # required
  description: "String",
  policy_document: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  client_token: "String",
  dry_run: false,
  sse_specification: {
    customer_managed_key_enabled: false,
    kms_key_arn: "KmsKeyArn",
  },
})

Response structure


resp.verified_access_group.verified_access_group_id #=> String
resp.verified_access_group.verified_access_instance_id #=> String
resp.verified_access_group.description #=> String
resp.verified_access_group.owner #=> String
resp.verified_access_group.verified_access_group_arn #=> String
resp.verified_access_group.creation_time #=> String
resp.verified_access_group.last_updated_time #=> String
resp.verified_access_group.deletion_time #=> String
resp.verified_access_group.tags #=> Array
resp.verified_access_group.tags[0].key #=> String
resp.verified_access_group.tags[0].value #=> String
resp.verified_access_group.sse_specification.customer_managed_key_enabled #=> Boolean
resp.verified_access_group.sse_specification.kms_key_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :verified_access_instance_id (required, String)

    The ID of the Verified Access instance.

  • :description (String)

    A description for the Verified Access group.

  • :policy_document (String)

    The Verified Access policy document.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the Verified Access group.

  • :client_token (String)

    A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

  • :sse_specification (Types::VerifiedAccessSseSpecificationRequest)

    The options for server side encryption.

Returns:

See Also:



14762
14763
14764
14765
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 14762

def create_verified_access_group(params = {}, options = {})
  req = build_request(:create_verified_access_group, params)
  req.send_request(options)
end

#create_verified_access_instance(params = {}) ⇒ Types::CreateVerifiedAccessInstanceResult

An Amazon Web Services Verified Access instance is a regional entity that evaluates application requests and grants access only when your security requirements are met.

Examples:

Request syntax with placeholder values


resp = client.create_verified_access_instance({
  description: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  client_token: "String",
  dry_run: false,
  fips_enabled: false,
  cidr_endpoints_custom_sub_domain: "String",
})

Response structure


resp.verified_access_instance.verified_access_instance_id #=> String
resp.verified_access_instance.description #=> String
resp.verified_access_instance.verified_access_trust_providers #=> Array
resp.verified_access_instance.verified_access_trust_providers[0].verified_access_trust_provider_id #=> String
resp.verified_access_instance.verified_access_trust_providers[0].description #=> String
resp.verified_access_instance.verified_access_trust_providers[0].trust_provider_type #=> String, one of "user", "device"
resp.verified_access_instance.verified_access_trust_providers[0].user_trust_provider_type #=> String, one of "iam-identity-center", "oidc"
resp.verified_access_instance.verified_access_trust_providers[0].device_trust_provider_type #=> String, one of "jamf", "crowdstrike", "jumpcloud"
resp.verified_access_instance.creation_time #=> String
resp.verified_access_instance.last_updated_time #=> String
resp.verified_access_instance.tags #=> Array
resp.verified_access_instance.tags[0].key #=> String
resp.verified_access_instance.tags[0].value #=> String
resp.verified_access_instance.fips_enabled #=> Boolean
resp.verified_access_instance.cidr_endpoints_custom_sub_domain.sub_domain #=> String
resp.verified_access_instance.cidr_endpoints_custom_sub_domain.nameservers #=> Array
resp.verified_access_instance.cidr_endpoints_custom_sub_domain.nameservers[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (String)

    A description for the Verified Access instance.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the Verified Access instance.

  • :client_token (String)

    A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

  • :fips_enabled (Boolean)

    Enable or disable support for Federal Information Processing Standards (FIPS) on the instance.

  • :cidr_endpoints_custom_sub_domain (String)

    The custom subdomain.

Returns:

See Also:



14851
14852
14853
14854
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 14851

def create_verified_access_instance(params = {}, options = {})
  req = build_request(:create_verified_access_instance, params)
  req.send_request(options)
end

#create_verified_access_trust_provider(params = {}) ⇒ Types::CreateVerifiedAccessTrustProviderResult

A trust provider is a third-party entity that creates, maintains, and manages identity information for users and devices. When an application request is made, the identity information sent by the trust provider is evaluated by Verified Access before allowing or denying the application request.

Examples:

Request syntax with placeholder values


resp = client.create_verified_access_trust_provider({
  trust_provider_type: "user", # required, accepts user, device
  user_trust_provider_type: "iam-identity-center", # accepts iam-identity-center, oidc
  device_trust_provider_type: "jamf", # accepts jamf, crowdstrike, jumpcloud
  oidc_options: {
    issuer: "String",
    authorization_endpoint: "String",
    token_endpoint: "String",
    user_info_endpoint: "String",
    client_id: "String",
    client_secret: "ClientSecretType",
    scope: "String",
  },
  device_options: {
    tenant_id: "String",
    public_signing_key_url: "String",
  },
  policy_reference_name: "String", # required
  description: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  client_token: "String",
  dry_run: false,
  sse_specification: {
    customer_managed_key_enabled: false,
    kms_key_arn: "KmsKeyArn",
  },
  native_application_oidc_options: {
    public_signing_key_endpoint: "String",
    issuer: "String",
    authorization_endpoint: "String",
    token_endpoint: "String",
    user_info_endpoint: "String",
    client_id: "String",
    client_secret: "ClientSecretType",
    scope: "String",
  },
})

Response structure


resp.verified_access_trust_provider.verified_access_trust_provider_id #=> String
resp.verified_access_trust_provider.description #=> String
resp.verified_access_trust_provider.trust_provider_type #=> String, one of "user", "device"
resp.verified_access_trust_provider.user_trust_provider_type #=> String, one of "iam-identity-center", "oidc"
resp.verified_access_trust_provider.device_trust_provider_type #=> String, one of "jamf", "crowdstrike", "jumpcloud"
resp.verified_access_trust_provider.oidc_options.issuer #=> String
resp.verified_access_trust_provider.oidc_options.authorization_endpoint #=> String
resp.verified_access_trust_provider.oidc_options.token_endpoint #=> String
resp.verified_access_trust_provider.oidc_options. #=> String
resp.verified_access_trust_provider.oidc_options.client_id #=> String
resp.verified_access_trust_provider.oidc_options.client_secret #=> String
resp.verified_access_trust_provider.oidc_options.scope #=> String
resp.verified_access_trust_provider.device_options.tenant_id #=> String
resp.verified_access_trust_provider.device_options.public_signing_key_url #=> String
resp.verified_access_trust_provider.policy_reference_name #=> String
resp.verified_access_trust_provider.creation_time #=> String
resp.verified_access_trust_provider.last_updated_time #=> String
resp.verified_access_trust_provider.tags #=> Array
resp.verified_access_trust_provider.tags[0].key #=> String
resp.verified_access_trust_provider.tags[0].value #=> String
resp.verified_access_trust_provider.sse_specification.customer_managed_key_enabled #=> Boolean
resp.verified_access_trust_provider.sse_specification.kms_key_arn #=> String
resp.verified_access_trust_provider.native_application_oidc_options.public_signing_key_endpoint #=> String
resp.verified_access_trust_provider.native_application_oidc_options.issuer #=> String
resp.verified_access_trust_provider.native_application_oidc_options.authorization_endpoint #=> String
resp.verified_access_trust_provider.native_application_oidc_options.token_endpoint #=> String
resp.verified_access_trust_provider.native_application_oidc_options. #=> String
resp.verified_access_trust_provider.native_application_oidc_options.client_id #=> String
resp.verified_access_trust_provider.native_application_oidc_options.scope #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :trust_provider_type (required, String)

    The type of trust provider.

  • :user_trust_provider_type (String)

    The type of user-based trust provider. This parameter is required when the provider type is user.

  • :device_trust_provider_type (String)

    The type of device-based trust provider. This parameter is required when the provider type is device.

  • :oidc_options (Types::CreateVerifiedAccessTrustProviderOidcOptions)

    The options for a OpenID Connect-compatible user-identity trust provider. This parameter is required when the provider type is user.

  • :device_options (Types::CreateVerifiedAccessTrustProviderDeviceOptions)

    The options for a device-based trust provider. This parameter is required when the provider type is device.

  • :policy_reference_name (required, String)

    The identifier to be used when working with policy rules.

  • :description (String)

    A description for the Verified Access trust provider.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the Verified Access trust provider.

  • :client_token (String)

    A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

  • :sse_specification (Types::VerifiedAccessSseSpecificationRequest)

    The options for server side encryption.

  • :native_application_oidc_options (Types::CreateVerifiedAccessNativeApplicationOidcOptions)

    The OpenID Connect (OIDC) options.

Returns:

See Also:



15004
15005
15006
15007
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 15004

def create_verified_access_trust_provider(params = {}, options = {})
  req = build_request(:create_verified_access_trust_provider, params)
  req.send_request(options)
end

#create_volume(params = {}) ⇒ Types::Volume

Creates an EBS volume that can be attached to an instance in the same Availability Zone.

You can create a new empty volume or restore a volume from an EBS snapshot. Any Amazon Web Services Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

You can tag your volumes during creation. For more information, see Tag your Amazon EC2 resources in the Amazon EC2 User Guide.

For more information, see Create an Amazon EBS volume in the Amazon EBS User Guide.

Examples:

Example: To create a new volume


# This example creates an 80 GiB General Purpose (SSD) volume in the Availability Zone ``us-east-1a``.

resp = client.create_volume({
  availability_zone: "us-east-1a", 
  size: 80, 
  volume_type: "gp2", 
})

resp.to_h outputs the following:
{
  availability_zone: "us-east-1a", 
  create_time: Time.parse("2016-08-29T18:52:32.724Z"), 
  encrypted: false, 
  iops: 240, 
  size: 80, 
  snapshot_id: "", 
  state: "creating", 
  volume_id: "vol-6b60b7c7", 
  volume_type: "gp2", 
}

Example: To create a new Provisioned IOPS (SSD) volume from a snapshot


# This example creates a new Provisioned IOPS (SSD) volume with 1000 provisioned IOPS from a snapshot in the Availability
# Zone ``us-east-1a``.

resp = client.create_volume({
  availability_zone: "us-east-1a", 
  iops: 1000, 
  snapshot_id: "snap-066877671789bd71b", 
  volume_type: "io1", 
})

resp.to_h outputs the following:
{
  attachments: [
  ], 
  availability_zone: "us-east-1a", 
  create_time: Time.parse("2016-08-29T18:52:32.724Z"), 
  iops: 1000, 
  size: 500, 
  snapshot_id: "snap-066877671789bd71b", 
  state: "creating", 
  tags: [
  ], 
  volume_id: "vol-1234567890abcdef0", 
  volume_type: "io1", 
}

Request syntax with placeholder values


resp = client.create_volume({
  availability_zone: "AvailabilityZoneName", # required
  encrypted: false,
  iops: 1,
  kms_key_id: "KmsKeyId",
  outpost_arn: "String",
  size: 1,
  snapshot_id: "SnapshotId",
  volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  multi_attach_enabled: false,
  throughput: 1,
  client_token: "String",
  operator: {
    principal: "String",
  },
  dry_run: false,
})

Response structure


resp.outpost_arn #=> String
resp.iops #=> Integer
resp.tags #=> Array
resp.tags[0].key #=> String
resp.tags[0].value #=> String
resp.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
resp.fast_restored #=> Boolean
resp.multi_attach_enabled #=> Boolean
resp.throughput #=> Integer
resp.sse_type #=> String, one of "sse-ebs", "sse-kms", "none"
resp.operator.managed #=> Boolean
resp.operator.principal #=> String
resp.volume_id #=> String
resp.size #=> Integer
resp.snapshot_id #=> String
resp.availability_zone #=> String
resp.state #=> String, one of "creating", "available", "in-use", "deleting", "deleted", "error"
resp.create_time #=> Time
resp.attachments #=> Array
resp.attachments[0].delete_on_termination #=> Boolean
resp.attachments[0].associated_resource #=> String
resp.attachments[0].instance_owning_service #=> String
resp.attachments[0].volume_id #=> String
resp.attachments[0].instance_id #=> String
resp.attachments[0].device #=> String
resp.attachments[0].state #=> String, one of "attaching", "attached", "detaching", "detached", "busy"
resp.attachments[0].attach_time #=> Time
resp.encrypted #=> Boolean
resp.kms_key_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :availability_zone (required, String)

    The ID of the Availability Zone in which to create the volume. For example, us-east-1a.

  • :encrypted (Boolean)

    Indicates whether the volume should be encrypted. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by default in the Amazon EBS User Guide.

    Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.

  • :iops (Integer)

    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.

    The following are the supported values for each volume type:

    • gp3: 3,000 - 16,000 IOPS

    • io1: 100 - 64,000 IOPS

    • io2: 100 - 256,000 IOPS

    For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

    This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard volumes.

  • :kms_key_id (String)

    The identifier of the KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

    You can specify the KMS key using any of the following:

    • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    • Key alias. For example, alias/ExampleAlias.

    • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

  • :outpost_arn (String)

    The Amazon Resource Name (ARN) of the Outpost on which to create the volume.

    If you intend to use a volume with an instance running on an outpost, then you must create the volume on the same outpost as the instance. You can't use a volume created in an Amazon Web Services Region with an instance on an Amazon Web Services outpost, or the other way around.

  • :size (Integer)

    The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.

    The following are the supported volumes sizes for each volume type:

    • gp2 and gp3: 1 - 16,384 GiB

    • io1: 4 - 16,384 GiB

    • io2: 4 - 65,536 GiB

    • st1 and sc1: 125 - 16,384 GiB

    • standard: 1 - 1024 GiB

  • :snapshot_id (String)

    The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.

  • :volume_type (String)

    The volume type. This parameter can be one of the following values:

    • General Purpose SSD: gp2 | gp3

    • Provisioned IOPS SSD: io1 | io2

    • Throughput Optimized HDD: st1

    • Cold HDD: sc1

    • Magnetic: standard

    Throughput Optimized HDD (st1) and Cold HDD (sc1) volumes can't be used as boot volumes.

    For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

    Default: gp2

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the volume during creation.

  • :multi_attach_enabled (Boolean)

    Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon EBS User Guide.

  • :throughput (Integer)

    The throughput to provision for a volume, with a maximum of 1,000 MiB/s.

    This parameter is valid only for gp3 volumes.

    Valid Range: Minimum value of 125. Maximum value of 1000.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :operator (Types::OperatorRequest)

    Reserved for internal use.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



15343
15344
15345
15346
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 15343

def create_volume(params = {}, options = {})
  req = build_request(:create_volume, params)
  req.send_request(options)
end

#create_vpc(params = {}) ⇒ Types::CreateVpcResult

Creates a VPC with the specified CIDR blocks. For more information, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

By default, each instance that you launch in the VPC has the default DHCP options, which include only a default DNS server that we provide (AmazonProvidedDNS). For more information, see DHCP option sets in the Amazon VPC User Guide.

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon EC2 User Guide.

Examples:

Example: To create a VPC


# This example creates a VPC with the specified CIDR block.

resp = client.create_vpc({
  cidr_block: "10.0.0.0/16", 
})

resp.to_h outputs the following:
{
  vpc: {
    cidr_block: "10.0.0.0/16", 
    dhcp_options_id: "dopt-7a8b9c2d", 
    instance_tenancy: "default", 
    state: "pending", 
    vpc_id: "vpc-a01106c2", 
  }, 
}

Request syntax with placeholder values


resp = client.create_vpc({
  cidr_block: "String",
  ipv_6_pool: "Ipv6PoolEc2Id",
  ipv_6_cidr_block: "String",
  ipv_4_ipam_pool_id: "IpamPoolId",
  ipv_4_netmask_length: 1,
  ipv_6_ipam_pool_id: "IpamPoolId",
  ipv_6_netmask_length: 1,
  ipv_6_cidr_block_network_border_group: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
  instance_tenancy: "default", # accepts default, dedicated, host
  amazon_provided_ipv_6_cidr_block: false,
})

Response structure


resp.vpc.owner_id #=> String
resp.vpc.instance_tenancy #=> String, one of "default", "dedicated", "host"
resp.vpc.ipv_6_cidr_block_association_set #=> Array
resp.vpc.ipv_6_cidr_block_association_set[0].association_id #=> String
resp.vpc.ipv_6_cidr_block_association_set[0].ipv_6_cidr_block #=> String
resp.vpc.ipv_6_cidr_block_association_set[0].ipv_6_cidr_block_state.state #=> String, one of "associating", "associated", "disassociating", "disassociated", "failing", "failed"
resp.vpc.ipv_6_cidr_block_association_set[0].ipv_6_cidr_block_state.status_message #=> String
resp.vpc.ipv_6_cidr_block_association_set[0].network_border_group #=> String
resp.vpc.ipv_6_cidr_block_association_set[0].ipv_6_pool #=> String
resp.vpc.ipv_6_cidr_block_association_set[0].ipv_6_address_attribute #=> String, one of "public", "private"
resp.vpc.ipv_6_cidr_block_association_set[0].ip_source #=> String, one of "amazon", "byoip", "none"
resp.vpc.cidr_block_association_set #=> Array
resp.vpc.cidr_block_association_set[0].association_id #=> String
resp.vpc.cidr_block_association_set[0].cidr_block #=> String
resp.vpc.cidr_block_association_set[0].cidr_block_state.state #=> String, one of "associating", "associated", "disassociating", "disassociated", "failing", "failed"
resp.vpc.cidr_block_association_set[0].cidr_block_state.status_message #=> String
resp.vpc.is_default #=> Boolean
resp.vpc.encryption_control.vpc_id #=> String
resp.vpc.encryption_control.vpc_encryption_control_id #=> String
resp.vpc.encryption_control.mode #=> String, one of "monitor", "enforce"
resp.vpc.encryption_control.state #=> String, one of "enforce-in-progress", "monitor-in-progress", "enforce-failed", "monitor-failed", "deleting", "deleted", "available"
resp.vpc.encryption_control.state_message #=> String
resp.vpc.encryption_control.resource_exclusions.internet_gateway.state #=> String, one of "enabling", "enabled", "disabling", "disabled"
resp.vpc.encryption_control.resource_exclusions.internet_gateway.state_message #=> String
resp.vpc.encryption_control.resource_exclusions.egress_only_internet_gateway.state #=> String, one of "enabling", "enabled", "disabling", "disabled"
resp.vpc.encryption_control.resource_exclusions.egress_only_internet_gateway.state_message #=> String
resp.vpc.encryption_control.resource_exclusions.nat_gateway.state #=> String, one of "enabling", "enabled", "disabling", "disabled"
resp.vpc.encryption_control.resource_exclusions.nat_gateway.state_message #=> String
resp.vpc.encryption_control.resource_exclusions.virtual_private_gateway.state #=> String, one of "enabling", "enabled", "disabling", "disabled"
resp.vpc.encryption_control.resource_exclusions.virtual_private_gateway.state_message #=> String
resp.vpc.encryption_control.resource_exclusions.vpc_peering.state #=> String, one of "enabling", "enabled", "disabling", "disabled"
resp.vpc.encryption_control.resource_exclusions.vpc_peering.state_message #=> String
resp.vpc.encryption_control.tags #=> Array
resp.vpc.encryption_control.tags[0].key #=> String
resp.vpc.encryption_control.tags[0].value #=> String
resp.vpc.tags #=> Array
resp.vpc.tags[0].key #=> String
resp.vpc.tags[0].value #=> String
resp.vpc.block_public_access_states.internet_gateway_block_mode #=> String, one of "off", "block-bidirectional", "block-ingress"
resp.vpc.vpc_id #=> String
resp.vpc.state #=> String, one of "pending", "available"
resp.vpc.cidr_block #=> String
resp.vpc.dhcp_options_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :cidr_block (String)

    The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

  • :ipv_6_pool (String)

    The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

  • :ipv_6_cidr_block (String)

    The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

    To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

  • :ipv_4_ipam_pool_id (String)

    The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

  • :ipv_4_netmask_length (Integer)

    The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

  • :ipv_6_ipam_pool_id (String)

    The ID of an IPv6 IPAM pool which will be used to allocate this VPC an IPv6 CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

  • :ipv_6_netmask_length (Integer)

    The netmask length of the IPv6 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

  • :ipv_6_cidr_block_network_border_group (String)

    The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the address to this location.

    You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the VPC.

  • :dry_run (Boolean)

    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.

  • :instance_tenancy (String)

    The tenancy options for instances launched into the VPC. For default, instances are launched with shared tenancy by default. You can launch instances with any tenancy into a shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy instances by default. You can only launch instances with a tenancy of dedicated or host into a dedicated tenancy VPC.

    Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

    Default: default

  • :amazon_provided_ipv_6_cidr_block (Boolean)

    Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block.

Returns:

See Also:



15567
15568
15569
15570
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 15567

def create_vpc(params = {}, options = {})
  req = build_request(:create_vpc, params)
  req.send_request(options)
end

#create_vpc_block_public_access_exclusion(params = {}) ⇒ Types::CreateVpcBlockPublicAccessExclusionResult

Create a VPC Block Public Access (BPA) exclusion. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_vpc_block_public_access_exclusion({
  dry_run: false,
  subnet_id: "SubnetId",
  vpc_id: "VpcId",
  internet_gateway_exclusion_mode: "allow-bidirectional", # required, accepts allow-bidirectional, allow-egress
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
})

Response structure


resp.vpc_block_public_access_exclusion.exclusion_id #=> String
resp.vpc_block_public_access_exclusion.internet_gateway_exclusion_mode #=> String, one of "allow-bidirectional", "allow-egress"
resp.vpc_block_public_access_exclusion.resource_arn #=> String
resp.vpc_block_public_access_exclusion.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "update-in-progress", "update-complete", "update-failed", "delete-in-progress", "delete-complete", "disable-in-progress", "disable-complete"
resp.vpc_block_public_access_exclusion.reason #=> String
resp.vpc_block_public_access_exclusion.creation_timestamp #=> Time
resp.vpc_block_public_access_exclusion.last_update_timestamp #=> Time
resp.vpc_block_public_access_exclusion.deletion_timestamp #=> Time
resp.vpc_block_public_access_exclusion.tags #=> Array
resp.vpc_block_public_access_exclusion.tags[0].key #=> String
resp.vpc_block_public_access_exclusion.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :subnet_id (String)

    A subnet ID.

  • :vpc_id (String)

    A VPC ID.

  • :internet_gateway_exclusion_mode (required, String)

    The exclusion mode for internet gateway traffic.

    • allow-bidirectional: Allow all internet traffic to and from the excluded VPCs and subnets.

    • allow-egress: Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to Bidirectional.

  • :tag_specifications (Array<Types::TagSpecification>)

    tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

Returns:

See Also:



15657
15658
15659
15660
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 15657

def create_vpc_block_public_access_exclusion(params = {}, options = {})
  req = build_request(:create_vpc_block_public_access_exclusion, params)
  req.send_request(options)
end

#create_vpc_endpoint(params = {}) ⇒ Types::CreateVpcEndpointResult

Creates a VPC endpoint. A VPC endpoint provides a private connection between the specified VPC and the specified endpoint service. You can use an endpoint service provided by Amazon Web Services, an Amazon Web Services Marketplace Partner, or another Amazon Web Services account. For more information, see the Amazon Web Services PrivateLink User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_vpc_endpoint({
  dry_run: false,
  vpc_endpoint_type: "Interface", # accepts Interface, Gateway, GatewayLoadBalancer, Resource, ServiceNetwork
  vpc_id: "VpcId", # required
  service_name: "String",
  policy_document: "String",
  route_table_ids: ["RouteTableId"],
  subnet_ids: ["SubnetId"],
  security_group_ids: ["SecurityGroupId"],
  ip_address_type: "ipv4", # accepts ipv4, dualstack, ipv6
  dns_options: {
    dns_record_ip_type: "ipv4", # accepts ipv4, dualstack, ipv6, service-defined
    private_dns_only_for_inbound_resolver_endpoint: false,
  },
  client_token: "String",
  private_dns_enabled: false,
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  subnet_configurations: [
    {
      subnet_id: "SubnetId",
      ipv_4: "String",
      ipv_6: "String",
    },
  ],
  service_network_arn: "ServiceNetworkArn",
  resource_configuration_arn: "ResourceConfigurationArn",
  service_region: "String",
})

Response structure


resp.vpc_endpoint.vpc_endpoint_id #=> String
resp.vpc_endpoint.vpc_endpoint_type #=> String, one of "Interface", "Gateway", "GatewayLoadBalancer", "Resource", "ServiceNetwork"
resp.vpc_endpoint.vpc_id #=> String
resp.vpc_endpoint.service_name #=> String
resp.vpc_endpoint.state #=> String, one of "PendingAcceptance", "Pending", "Available", "Deleting", "Deleted", "Rejected", "Failed", "Expired", "Partial"
resp.vpc_endpoint.policy_document #=> String
resp.vpc_endpoint.route_table_ids #=> Array
resp.vpc_endpoint.route_table_ids[0] #=> String
resp.vpc_endpoint.subnet_ids #=> Array
resp.vpc_endpoint.subnet_ids[0] #=> String
resp.vpc_endpoint.groups #=> Array
resp.vpc_endpoint.groups[0].group_id #=> String
resp.vpc_endpoint.groups[0].group_name #=> String
resp.vpc_endpoint.ip_address_type #=> String, one of "ipv4", "dualstack", "ipv6"
resp.vpc_endpoint.dns_options.dns_record_ip_type #=> String, one of "ipv4", "dualstack", "ipv6", "service-defined"
resp.vpc_endpoint.dns_options.private_dns_only_for_inbound_resolver_endpoint #=> Boolean
resp.vpc_endpoint.private_dns_enabled #=> Boolean
resp.vpc_endpoint.requester_managed #=> Boolean
resp.vpc_endpoint.network_interface_ids #=> Array
resp.vpc_endpoint.network_interface_ids[0] #=> String
resp.vpc_endpoint.dns_entries #=> Array
resp.vpc_endpoint.dns_entries[0].dns_name #=> String
resp.vpc_endpoint.dns_entries[0].hosted_zone_id #=> String
resp.vpc_endpoint.creation_timestamp #=> Time
resp.vpc_endpoint.tags #=> Array
resp.vpc_endpoint.tags[0].key #=> String
resp.vpc_endpoint.tags[0].value #=> String
resp.vpc_endpoint.owner_id #=> String
resp.vpc_endpoint.last_error.message #=> String
resp.vpc_endpoint.last_error.code #=> String
resp.vpc_endpoint.ipv_4_prefixes #=> Array
resp.vpc_endpoint.ipv_4_prefixes[0].subnet_id #=> String
resp.vpc_endpoint.ipv_4_prefixes[0].ip_prefixes #=> Array
resp.vpc_endpoint.ipv_4_prefixes[0].ip_prefixes[0] #=> String
resp.vpc_endpoint.ipv_6_prefixes #=> Array
resp.vpc_endpoint.ipv_6_prefixes[0].subnet_id #=> String
resp.vpc_endpoint.ipv_6_prefixes[0].ip_prefixes #=> Array
resp.vpc_endpoint.ipv_6_prefixes[0].ip_prefixes[0] #=> String
resp.vpc_endpoint.failure_reason #=> String
resp.vpc_endpoint.service_network_arn #=> String
resp.vpc_endpoint.resource_configuration_arn #=> String
resp.vpc_endpoint.service_region #=> String
resp.client_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :vpc_endpoint_type (String)

    The type of endpoint.

    Default: Gateway

  • :vpc_id (required, String)

    The ID of the VPC.

  • :service_name (String)

    The name of the endpoint service.

  • :policy_document (String) — default: Interface and gateway endpoints

    A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format. If this parameter is not specified, we attach a default policy that allows full access to the service.

  • :route_table_ids (Array<String>) — default: Gateway endpoint

    The route table IDs.

  • :subnet_ids (Array<String>) — default: Interface and Gateway Load Balancer endpoints

    The IDs of the subnets in which to create endpoint network interfaces. For a Gateway Load Balancer endpoint, you can specify only one subnet.

  • :security_group_ids (Array<String>) — default: Interface endpoint

    The IDs of the security groups to associate with the endpoint network interfaces. If this parameter is not specified, we use the default security group for the VPC.

  • :ip_address_type (String)

    The IP address type for the endpoint.

  • :dns_options (Types::DnsOptionsSpecification)

    The DNS options for the endpoint.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

  • :private_dns_enabled (Boolean) — default: Interface endpoint

    Indicates whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, kinesis.us-east-1.amazonaws.com), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.

    To use a private hosted zone, you must set the following VPC attributes to true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to set the VPC attributes.

    Default: true

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to associate with the endpoint.

  • :subnet_configurations (Array<Types::SubnetConfiguration>)

    The subnet configurations for the endpoint.

  • :service_network_arn (String)

    The Amazon Resource Name (ARN) of a service network that will be associated with the VPC endpoint of type service-network.

  • :resource_configuration_arn (String)

    The Amazon Resource Name (ARN) of a resource configuration that will be associated with the VPC endpoint of type resource.

  • :service_region (String)

    The Region where the service is hosted. The default is the current Region.

Returns:

See Also:



15854
15855
15856
15857
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 15854

def create_vpc_endpoint(params = {}, options = {})
  req = build_request(:create_vpc_endpoint, params)
  req.send_request(options)
end

#create_vpc_endpoint_connection_notification(params = {}) ⇒ Types::CreateVpcEndpointConnectionNotificationResult

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Creating an Amazon SNS topic in the Amazon SNS Developer Guide.

You can create a connection notification for interface endpoints only.

Examples:

Request syntax with placeholder values


resp = client.create_vpc_endpoint_connection_notification({
  dry_run: false,
  service_id: "VpcEndpointServiceId",
  vpc_endpoint_id: "VpcEndpointId",
  connection_notification_arn: "String", # required
  connection_events: ["String"], # required
  client_token: "String",
})

Response structure


resp.connection_notification.connection_notification_id #=> String
resp.connection_notification.service_id #=> String
resp.connection_notification.vpc_endpoint_id #=> String
resp.connection_notification.connection_notification_type #=> String, one of "Topic"
resp.connection_notification.connection_notification_arn #=> String
resp.connection_notification.connection_events #=> Array
resp.connection_notification.connection_events[0] #=> String
resp.connection_notification.connection_notification_state #=> String, one of "Enabled", "Disabled"
resp.connection_notification.service_region #=> String
resp.client_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :service_id (String)

    The ID of the endpoint service.

  • :vpc_endpoint_id (String)

    The ID of the endpoint.

  • :connection_notification_arn (required, String)

    The ARN of the SNS topic for the notifications.

  • :connection_events (required, Array<String>)

    The endpoint events for which to receive notifications. Valid values are Accept, Connect, Delete, and Reject.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

Returns:

See Also:



15932
15933
15934
15935
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 15932

def create_vpc_endpoint_connection_notification(params = {}, options = {})
  req = build_request(:create_vpc_endpoint_connection_notification, params)
  req.send_request(options)
end

#create_vpc_endpoint_service_configuration(params = {}) ⇒ Types::CreateVpcEndpointServiceConfigurationResult

Creates a VPC endpoint service to which service consumers (Amazon Web Services accounts, users, and IAM roles) can connect.

Before you create an endpoint service, you must create one of the following for your service:

If you set the private DNS name, you must prove that you own the private DNS domain name.

For more information, see the Amazon Web Services PrivateLink Guide.

Examples:

Request syntax with placeholder values


resp = client.create_vpc_endpoint_service_configuration({
  dry_run: false,
  acceptance_required: false,
  private_dns_name: "String",
  network_load_balancer_arns: ["String"],
  gateway_load_balancer_arns: ["String"],
  supported_ip_address_types: ["String"],
  supported_regions: ["String"],
  client_token: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
})

Response structure


resp.service_configuration.service_type #=> Array
resp.service_configuration.service_type[0].service_type #=> String, one of "Interface", "Gateway", "GatewayLoadBalancer"
resp.service_configuration.service_id #=> String
resp.service_configuration.service_name #=> String
resp.service_configuration.service_state #=> String, one of "Pending", "Available", "Deleting", "Deleted", "Failed"
resp.service_configuration.availability_zones #=> Array
resp.service_configuration.availability_zones[0] #=> String
resp.service_configuration.acceptance_required #=> Boolean
resp.service_configuration.manages_vpc_endpoints #=> Boolean
resp.service_configuration.network_load_balancer_arns #=> Array
resp.service_configuration.network_load_balancer_arns[0] #=> String
resp.service_configuration.gateway_load_balancer_arns #=> Array
resp.service_configuration.gateway_load_balancer_arns[0] #=> String
resp.service_configuration.supported_ip_address_types #=> Array
resp.service_configuration.supported_ip_address_types[0] #=> String, one of "ipv4", "ipv6"
resp.service_configuration.base_endpoint_dns_names #=> Array
resp.service_configuration.base_endpoint_dns_names[0] #=> String
resp.service_configuration.private_dns_name #=> String
resp.service_configuration.private_dns_name_configuration.state #=> String, one of "pendingVerification", "verified", "failed"
resp.service_configuration.private_dns_name_configuration.type #=> String
resp.service_configuration.private_dns_name_configuration.value #=> String
resp.service_configuration.private_dns_name_configuration.name #=> String
resp.service_configuration.payer_responsibility #=> String, one of "ServiceOwner"
resp.service_configuration.tags #=> Array
resp.service_configuration.tags[0].key #=> String
resp.service_configuration.tags[0].value #=> String
resp.service_configuration.supported_regions #=> Array
resp.service_configuration.supported_regions[0].region #=> String
resp.service_configuration.supported_regions[0].service_state #=> String
resp.service_configuration.remote_access_enabled #=> Boolean
resp.client_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :acceptance_required (Boolean)

    Indicates whether requests from service consumers to create an endpoint to your service must be accepted manually.

  • :private_dns_name (String) — default: Interface endpoint configuration

    The private DNS name to assign to the VPC endpoint service.

  • :network_load_balancer_arns (Array<String>)

    The Amazon Resource Names (ARNs) of the Network Load Balancers.

  • :gateway_load_balancer_arns (Array<String>)

    The Amazon Resource Names (ARNs) of the Gateway Load Balancers.

  • :supported_ip_address_types (Array<String>)

    The supported IP address types. The possible values are ipv4 and ipv6.

  • :supported_regions (Array<String>)

    The Regions from which service consumers can access the service.

  • :client_token (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to associate with the service.

Returns:

See Also:



16067
16068
16069
16070
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16067

def create_vpc_endpoint_service_configuration(params = {}, options = {})
  req = build_request(:create_vpc_endpoint_service_configuration, params)
  req.send_request(options)
end

#create_vpc_peering_connection(params = {}) ⇒ Types::CreateVpcPeeringConnectionResult

Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another Amazon Web Services account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

Limitations and rules apply to a VPC peering connection. For more information, see the VPC peering limitations in the VPC Peering Guide.

The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed.

Examples:

Request syntax with placeholder values


resp = client.create_vpc_peering_connection({
  peer_region: "String",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
  vpc_id: "VpcId", # required
  peer_vpc_id: "String",
  peer_owner_id: "String",
})

Response structure


resp.vpc_peering_connection.accepter_vpc_info.cidr_block #=> String
resp.vpc_peering_connection.accepter_vpc_info.ipv_6_cidr_block_set #=> Array
resp.vpc_peering_connection.accepter_vpc_info.ipv_6_cidr_block_set[0].ipv_6_cidr_block #=> String
resp.vpc_peering_connection.accepter_vpc_info.cidr_block_set #=> Array
resp.vpc_peering_connection.accepter_vpc_info.cidr_block_set[0].cidr_block #=> String
resp.vpc_peering_connection.accepter_vpc_info.owner_id #=> String
resp.vpc_peering_connection.accepter_vpc_info.peering_options.allow_dns_resolution_from_remote_vpc #=> Boolean
resp.vpc_peering_connection.accepter_vpc_info.peering_options.allow_egress_from_local_classic_link_to_remote_vpc #=> Boolean
resp.vpc_peering_connection.accepter_vpc_info.peering_options.allow_egress_from_local_vpc_to_remote_classic_link #=> Boolean
resp.vpc_peering_connection.accepter_vpc_info.vpc_id #=> String
resp.vpc_peering_connection.accepter_vpc_info.region #=> String
resp.vpc_peering_connection.expiration_time #=> Time
resp.vpc_peering_connection.requester_vpc_info.cidr_block #=> String
resp.vpc_peering_connection.requester_vpc_info.ipv_6_cidr_block_set #=> Array
resp.vpc_peering_connection.requester_vpc_info.ipv_6_cidr_block_set[0].ipv_6_cidr_block #=> String
resp.vpc_peering_connection.requester_vpc_info.cidr_block_set #=> Array
resp.vpc_peering_connection.requester_vpc_info.cidr_block_set[0].cidr_block #=> String
resp.vpc_peering_connection.requester_vpc_info.owner_id #=> String
resp.vpc_peering_connection.requester_vpc_info.peering_options.allow_dns_resolution_from_remote_vpc #=> Boolean
resp.vpc_peering_connection.requester_vpc_info.peering_options.allow_egress_from_local_classic_link_to_remote_vpc #=> Boolean
resp.vpc_peering_connection.requester_vpc_info.peering_options.allow_egress_from_local_vpc_to_remote_classic_link #=> Boolean
resp.vpc_peering_connection.requester_vpc_info.vpc_id #=> String
resp.vpc_peering_connection.requester_vpc_info.region #=> String
resp.vpc_peering_connection.status.code #=> String, one of "initiating-request", "pending-acceptance", "active", "deleted", "rejected", "failed", "expired", "provisioning", "deleting"
resp.vpc_peering_connection.status.message #=> String
resp.vpc_peering_connection.tags #=> Array
resp.vpc_peering_connection.tags[0].key #=> String
resp.vpc_peering_connection.tags[0].value #=> String
resp.vpc_peering_connection.vpc_peering_connection_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :peer_region (String)

    The Region code for the accepter VPC, if the accepter VPC is located in a Region other than the Region in which you make the request.

    Default: The Region in which you make the request.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to assign to the peering connection.

  • :dry_run (Boolean)

    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.

  • :vpc_id (required, String)

    The ID of the requester VPC. You must specify this parameter in the request.

  • :peer_vpc_id (String)

    The ID of the VPC with which you are creating the VPC peering connection. You must specify this parameter in the request.

  • :peer_owner_id (String)

    The Amazon Web Services account ID of the owner of the accepter VPC.

    Default: Your Amazon Web Services account ID

Returns:

See Also:



16185
16186
16187
16188
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16185

def create_vpc_peering_connection(params = {}, options = {})
  req = build_request(:create_vpc_peering_connection, params)
  req.send_request(options)
end

#create_vpn_connection(params = {}) ⇒ Types::CreateVpnConnectionResult

Creates a VPN connection between an existing virtual private gateway or transit gateway and a customer gateway. The supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway device.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_vpn_connection({
  customer_gateway_id: "CustomerGatewayId", # required
  type: "String", # required
  vpn_gateway_id: "VpnGatewayId",
  transit_gateway_id: "TransitGatewayId",
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  dry_run: false,
  options: {
    enable_acceleration: false,
    tunnel_inside_ip_version: "ipv4", # accepts ipv4, ipv6
    tunnel_options: [
      {
        tunnel_inside_cidr: "String",
        tunnel_inside_ipv_6_cidr: "String",
        pre_shared_key: "preSharedKey",
        phase_1_lifetime_seconds: 1,
        phase_2_lifetime_seconds: 1,
        rekey_margin_time_seconds: 1,
        rekey_fuzz_percentage: 1,
        replay_window_size: 1,
        dpd_timeout_seconds: 1,
        dpd_timeout_action: "String",
        phase_1_encryption_algorithms: [
          {
            value: "String",
          },
        ],
        phase_2_encryption_algorithms: [
          {
            value: "String",
          },
        ],
        phase_1_integrity_algorithms: [
          {
            value: "String",
          },
        ],
        phase_2_integrity_algorithms: [
          {
            value: "String",
          },
        ],
        phase_1_dh_group_numbers: [
          {
            value: 1,
          },
        ],
        phase_2_dh_group_numbers: [
          {
            value: 1,
          },
        ],
        ike_versions: [
          {
            value: "String",
          },
        ],
        startup_action: "String",
        log_options: {
          cloud_watch_log_options: {
            log_enabled: false,
            log_group_arn: "CloudWatchLogGroupArn",
            log_output_format: "String",
          },
        },
        enable_tunnel_lifecycle_control: false,
      },
    ],
    local_ipv_4_network_cidr: "String",
    remote_ipv_4_network_cidr: "String",
    local_ipv_6_network_cidr: "String",
    remote_ipv_6_network_cidr: "String",
    outside_ip_address_type: "String",
    transport_transit_gateway_attachment_id: "TransitGatewayAttachmentId",
    static_routes_only: false,
  },
})

Response structure


resp.vpn_connection.category #=> String
resp.vpn_connection.transit_gateway_id #=> String
resp.vpn_connection.core_network_arn #=> String
resp.vpn_connection.core_network_attachment_arn #=> String
resp.vpn_connection.gateway_association_state #=> String, one of "associated", "not-associated", "associating", "disassociating"
resp.vpn_connection.options.enable_acceleration #=> Boolean
resp.vpn_connection.options.static_routes_only #=> Boolean
resp.vpn_connection.options.local_ipv_4_network_cidr #=> String
resp.vpn_connection.options.remote_ipv_4_network_cidr #=> String
resp.vpn_connection.options.local_ipv_6_network_cidr #=> String
resp.vpn_connection.options.remote_ipv_6_network_cidr #=> String
resp.vpn_connection.options.outside_ip_address_type #=> String
resp.vpn_connection.options.transport_transit_gateway_attachment_id #=> String
resp.vpn_connection.options.tunnel_inside_ip_version #=> String, one of "ipv4", "ipv6"
resp.vpn_connection.options.tunnel_options #=> Array
resp.vpn_connection.options.tunnel_options[0].outside_ip_address #=> String
resp.vpn_connection.options.tunnel_options[0].tunnel_inside_cidr #=> String
resp.vpn_connection.options.tunnel_options[0].tunnel_inside_ipv_6_cidr #=> String
resp.vpn_connection.options.tunnel_options[0].pre_shared_key #=> String
resp.vpn_connection.options.tunnel_options[0].phase_1_lifetime_seconds #=> Integer
resp.vpn_connection.options.tunnel_options[0].phase_2_lifetime_seconds #=> Integer
resp.vpn_connection.options.tunnel_options[0].rekey_margin_time_seconds #=> Integer
resp.vpn_connection.options.tunnel_options[0].rekey_fuzz_percentage #=> Integer
resp.vpn_connection.options.tunnel_options[0].replay_window_size #=> Integer
resp.vpn_connection.options.tunnel_options[0].dpd_timeout_seconds #=> Integer
resp.vpn_connection.options.tunnel_options[0].dpd_timeout_action #=> String
resp.vpn_connection.options.tunnel_options[0].phase_1_encryption_algorithms #=> Array
resp.vpn_connection.options.tunnel_options[0].phase_1_encryption_algorithms[0].value #=> String
resp.vpn_connection.options.tunnel_options[0].phase_2_encryption_algorithms #=> Array
resp.vpn_connection.options.tunnel_options[0].phase_2_encryption_algorithms[0].value #=> String
resp.vpn_connection.options.tunnel_options[0].phase_1_integrity_algorithms #=> Array
resp.vpn_connection.options.tunnel_options[0].phase_1_integrity_algorithms[0].value #=> String
resp.vpn_connection.options.tunnel_options[0].phase_2_integrity_algorithms #=> Array
resp.vpn_connection.options.tunnel_options[0].phase_2_integrity_algorithms[0].value #=> String
resp.vpn_connection.options.tunnel_options[0].phase_1_dh_group_numbers #=> Array
resp.vpn_connection.options.tunnel_options[0].phase_1_dh_group_numbers[0].value #=> Integer
resp.vpn_connection.options.tunnel_options[0].phase_2_dh_group_numbers #=> Array
resp.vpn_connection.options.tunnel_options[0].phase_2_dh_group_numbers[0].value #=> Integer
resp.vpn_connection.options.tunnel_options[0].ike_versions #=> Array
resp.vpn_connection.options.tunnel_options[0].ike_versions[0].value #=> String
resp.vpn_connection.options.tunnel_options[0].startup_action #=> String
resp.vpn_connection.options.tunnel_options[0].log_options.cloud_watch_log_options.log_enabled #=> Boolean
resp.vpn_connection.options.tunnel_options[0].log_options.cloud_watch_log_options.log_group_arn #=> String
resp.vpn_connection.options.tunnel_options[0].log_options.cloud_watch_log_options.log_output_format #=> String
resp.vpn_connection.options.tunnel_options[0].enable_tunnel_lifecycle_control #=> Boolean
resp.vpn_connection.routes #=> Array
resp.vpn_connection.routes[0].destination_cidr_block #=> String
resp.vpn_connection.routes[0].source #=> String, one of "Static"
resp.vpn_connection.routes[0].state #=> String, one of "pending", "available", "deleting", "deleted"
resp.vpn_connection.tags #=> Array
resp.vpn_connection.tags[0].key #=> String
resp.vpn_connection.tags[0].value #=> String
resp.vpn_connection.vgw_telemetry #=> Array
resp.vpn_connection.vgw_telemetry[0].accepted_route_count #=> Integer
resp.vpn_connection.vgw_telemetry[0].last_status_change #=> Time
resp.vpn_connection.vgw_telemetry[0].outside_ip_address #=> String
resp.vpn_connection.vgw_telemetry[0].status #=> String, one of "UP", "DOWN"
resp.vpn_connection.vgw_telemetry[0].status_message #=> String
resp.vpn_connection.vgw_telemetry[0].certificate_arn #=> String
resp.vpn_connection.vpn_connection_id #=> String
resp.vpn_connection.state #=> String, one of "pending", "available", "deleting", "deleted"
resp.vpn_connection.customer_gateway_configuration #=> String
resp.vpn_connection.type #=> String, one of "ipsec.1"
resp.vpn_connection.customer_gateway_id #=> String
resp.vpn_connection.vpn_gateway_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :customer_gateway_id (required, String)

    The ID of the customer gateway.

  • :type (required, String)

    The type of VPN connection (ipsec.1).

  • :vpn_gateway_id (String)

    The ID of the virtual private gateway. If you specify a virtual private gateway, you cannot specify a transit gateway.

  • :transit_gateway_id (String)

    The ID of the transit gateway. If you specify a transit gateway, you cannot specify a virtual private gateway.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the VPN connection.

  • :dry_run (Boolean)

    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.

  • :options (Types::VpnConnectionOptionsSpecification)

    The options for the VPN connection.

Returns:

See Also:



16407
16408
16409
16410
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16407

def create_vpn_connection(params = {}, options = {})
  req = build_request(:create_vpn_connection, params)
  req.send_request(options)
end

#create_vpn_connection_route(params = {}) ⇒ Struct

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_vpn_connection_route({
  destination_cidr_block: "String", # required
  vpn_connection_id: "VpnConnectionId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :destination_cidr_block (required, String)

    The CIDR block associated with the local subnet of the customer network.

  • :vpn_connection_id (required, String)

    The ID of the VPN connection.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



16444
16445
16446
16447
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16444

def create_vpn_connection_route(params = {}, options = {})
  req = build_request(:create_vpn_connection_route, params)
  req.send_request(options)
end

#create_vpn_gateway(params = {}) ⇒ Types::CreateVpnGatewayResult

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_vpn_gateway({
  availability_zone: "String",
  type: "ipsec.1", # required, accepts ipsec.1
  tag_specifications: [
    {
      resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  amazon_side_asn: 1,
  dry_run: false,
})

Response structure


resp.vpn_gateway.amazon_side_asn #=> Integer
resp.vpn_gateway.tags #=> Array
resp.vpn_gateway.tags[0].key #=> String
resp.vpn_gateway.tags[0].value #=> String
resp.vpn_gateway.vpn_gateway_id #=> String
resp.vpn_gateway.state #=> String, one of "pending", "available", "deleting", "deleted"
resp.vpn_gateway.type #=> String, one of "ipsec.1"
resp.vpn_gateway.availability_zone #=> String
resp.vpn_gateway.vpc_attachments #=> Array
resp.vpn_gateway.vpc_attachments[0].vpc_id #=> String
resp.vpn_gateway.vpc_attachments[0].state #=> String, one of "attaching", "attached", "detaching", "detached"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :availability_zone (String)

    The Availability Zone for the virtual private gateway.

  • :type (required, String)

    The type of VPN connection this virtual private gateway supports.

  • :tag_specifications (Array<Types::TagSpecification>)

    The tags to apply to the virtual private gateway.

  • :amazon_side_asn (Integer)

    A private Autonomous System Number (ASN) for the Amazon side of a BGP session. If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.

    Default: 64512

  • :dry_run (Boolean)

    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.

Returns:

See Also:



16525
16526
16527
16528
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16525

def create_vpn_gateway(params = {}, options = {})
  req = build_request(:create_vpn_gateway, params)
  req.send_request(options)
end

#delete_carrier_gateway(params = {}) ⇒ Types::DeleteCarrierGatewayResult

Deletes a carrier gateway.

If you do not delete the route that contains the carrier gateway as the Target, the route is a blackhole route. For information about how to delete a route, see DeleteRoute.

Examples:

Request syntax with placeholder values


resp = client.delete_carrier_gateway({
  carrier_gateway_id: "CarrierGatewayId", # required
  dry_run: false,
})

Response structure


resp.carrier_gateway.carrier_gateway_id #=> String
resp.carrier_gateway.vpc_id #=> String
resp.carrier_gateway.state #=> String, one of "pending", "available", "deleting", "deleted"
resp.carrier_gateway.owner_id #=> String
resp.carrier_gateway.tags #=> Array
resp.carrier_gateway.tags[0].key #=> String
resp.carrier_gateway.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :carrier_gateway_id (required, String)

    The ID of the carrier gateway.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



16574
16575
16576
16577
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16574

def delete_carrier_gateway(params = {}, options = {})
  req = build_request(:delete_carrier_gateway, params)
  req.send_request(options)
end

#delete_client_vpn_endpoint(params = {}) ⇒ Types::DeleteClientVpnEndpointResult

Deletes the specified Client VPN endpoint. You must disassociate all target networks before you can delete a Client VPN endpoint.

Examples:

Request syntax with placeholder values


resp = client.delete_client_vpn_endpoint({
  client_vpn_endpoint_id: "ClientVpnEndpointId", # required
  dry_run: false,
})

Response structure


resp.status.code #=> String, one of "pending-associate", "available", "deleting", "deleted"
resp.status.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_vpn_endpoint_id (required, String)

    The ID of the Client VPN to be deleted.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



16611
16612
16613
16614
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16611

def delete_client_vpn_endpoint(params = {}, options = {})
  req = build_request(:delete_client_vpn_endpoint, params)
  req.send_request(options)
end

#delete_client_vpn_route(params = {}) ⇒ Types::DeleteClientVpnRouteResult

Deletes a route from a Client VPN endpoint. You can only delete routes that you manually added using the CreateClientVpnRoute action. You cannot delete routes that were automatically added when associating a subnet. To remove routes that have been automatically added, disassociate the target subnet from the Client VPN endpoint.

Examples:

Request syntax with placeholder values


resp = client.delete_client_vpn_route({
  client_vpn_endpoint_id: "ClientVpnEndpointId", # required
  target_vpc_subnet_id: "SubnetId",
  destination_cidr_block: "String", # required
  dry_run: false,
})

Response structure


resp.status.code #=> String, one of "creating", "active", "failed", "deleting"
resp.status.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_vpn_endpoint_id (required, String)

    The ID of the Client VPN endpoint from which the route is to be deleted.

  • :target_vpc_subnet_id (String)

    The ID of the target subnet used by the route.

  • :destination_cidr_block (required, String)

    The IPv4 address range, in CIDR notation, of the route to be deleted.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



16660
16661
16662
16663
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16660

def delete_client_vpn_route(params = {}, options = {})
  req = build_request(:delete_client_vpn_route, params)
  req.send_request(options)
end

#delete_coip_cidr(params = {}) ⇒ Types::DeleteCoipCidrResult

Deletes a range of customer-owned IP addresses.

Examples:

Request syntax with placeholder values


resp = client.delete_coip_cidr({
  cidr: "String", # required
  coip_pool_id: "Ipv4PoolCoipId", # required
  dry_run: false,
})

Response structure


resp.coip_cidr.cidr #=> String
resp.coip_cidr.coip_pool_id #=> String
resp.coip_cidr.local_gateway_route_table_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :cidr (required, String)

    A customer-owned IP address range that you want to delete.

  • :coip_pool_id (required, String)

    The ID of the customer-owned address pool.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



16701
16702
16703
16704
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16701

def delete_coip_cidr(params = {}, options = {})
  req = build_request(:delete_coip_cidr, params)
  req.send_request(options)
end

#delete_coip_pool(params = {}) ⇒ Types::DeleteCoipPoolResult

Deletes a pool of customer-owned IP (CoIP) addresses.

Examples:

Request syntax with placeholder values


resp = client.delete_coip_pool({
  coip_pool_id: "Ipv4PoolCoipId", # required
  dry_run: false,
})

Response structure


resp.coip_pool.pool_id #=> String
resp.coip_pool.pool_cidrs #=> Array
resp.coip_pool.pool_cidrs[0] #=> String
resp.coip_pool.local_gateway_route_table_id #=> String
resp.coip_pool.tags #=> Array
resp.coip_pool.tags[0].key #=> String
resp.coip_pool.tags[0].value #=> String
resp.coip_pool.pool_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :coip_pool_id (required, String)

    The ID of the CoIP pool that you want to delete.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



16743
16744
16745
16746
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16743

def delete_coip_pool(params = {}, options = {})
  req = build_request(:delete_coip_pool, params)
  req.send_request(options)
end

#delete_customer_gateway(params = {}) ⇒ Struct

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

Examples:

Example: To delete a customer gateway


# This example deletes the specified customer gateway.

resp = client.delete_customer_gateway({
  customer_gateway_id: "cgw-0e11f167", 
})

Request syntax with placeholder values


resp = client.delete_customer_gateway({
  customer_gateway_id: "CustomerGatewayId", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :customer_gateway_id (required, String)

    The ID of the customer gateway.

  • :dry_run (Boolean)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



16782
16783
16784
16785
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16782

def delete_customer_gateway(params = {}, options = {})
  req = build_request(:delete_customer_gateway, params)
  req.send_request(options)
end

#delete_dhcp_options(params = {}) ⇒ Struct

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

Examples:

Example: To delete a DHCP options set


# This example deletes the specified DHCP options set.

resp = client.delete_dhcp_options({
  dhcp_options_id: "dopt-d9070ebb", 
})

Request syntax with placeholder values


resp = client.delete_dhcp_options({
  dhcp_options_id: "DhcpOptionsId", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dhcp_options_id (required, String)

    The ID of the DHCP options set.

  • :dry_run (Boolean)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



16823
16824
16825
16826
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16823

def delete_dhcp_options(params = {}, options = {})
  req = build_request(:delete_dhcp_options, params)
  req.send_request(options)
end

#delete_egress_only_internet_gateway(params = {}) ⇒ Types::DeleteEgressOnlyInternetGatewayResult

Deletes an egress-only internet gateway.

Examples:

Request syntax with placeholder values


resp = client.delete_egress_only_internet_gateway({
  dry_run: false,
  egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId", # required
})

Response structure


resp.return_code #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :egress_only_internet_gateway_id (required, String)

    The ID of the egress-only internet gateway.

Returns:

See Also:



16858
16859
16860
16861
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16858

def delete_egress_only_internet_gateway(params = {}, options = {})
  req = build_request(:delete_egress_only_internet_gateway, params)
  req.send_request(options)
end

#delete_fleets(params = {}) ⇒ Types::DeleteFleetsResult

Deletes the specified EC2 Fleet request.

After you delete an EC2 Fleet request, it launches no new instances.

You must also specify whether a deleted EC2 Fleet request should terminate its instances. If you choose to terminate the instances, the EC2 Fleet request enters the deleted_terminating state. Otherwise, it enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

A deleted instant fleet with running instances is not supported. When you delete an instant fleet, Amazon EC2 automatically terminates all its instances. For fleets with more than 1000 instances, the deletion request might fail. If your fleet has more than 1000 instances, first terminate most of the instances manually, leaving 1000 or fewer. Then delete the fleet, and the remaining instances will be terminated automatically.

Restrictions

  • You can delete up to 25 fleets of type instant in a single request.

  • You can delete up to 100 fleets of type maintain or request in a single request.

  • You can delete up to 125 fleets in a single request, provided you do not exceed the quota for each fleet type, as specified above.

  • If you exceed the specified number of fleets to delete, no fleets are deleted.

For more information, see Delete an EC2 Fleet request and the instances in the fleet in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_fleets({
  dry_run: false,
  fleet_ids: ["FleetId"], # required
  terminate_instances: false, # required
})

Response structure


resp.successful_fleet_deletions #=> Array
resp.successful_fleet_deletions[0].current_fleet_state #=> String, one of "submitted", "active", "deleted", "failed", "deleted_running", "deleted_terminating", "modifying"
resp.successful_fleet_deletions[0].previous_fleet_state #=> String, one of "submitted", "active", "deleted", "failed", "deleted_running", "deleted_terminating", "modifying"
resp.successful_fleet_deletions[0].fleet_id #=> String
resp.unsuccessful_fleet_deletions #=> Array
resp.unsuccessful_fleet_deletions[0].error.code #=> String, one of "fleetIdDoesNotExist", "fleetIdMalformed", "fleetNotInDeletableState", "unexpectedError"
resp.unsuccessful_fleet_deletions[0].error.message #=> String
resp.unsuccessful_fleet_deletions[0].fleet_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :fleet_ids (required, Array<String>)

    The IDs of the EC2 Fleets.

    Constraints: In a single request, you can specify up to 25 instant fleet IDs and up to 100 maintain or request fleet IDs.

  • :terminate_instances (required, Boolean)

    Indicates whether to terminate the associated instances when the EC2 Fleet is deleted. The default is to terminate the instances.

    To let the instances continue to run after the EC2 Fleet is deleted, specify no-terminate-instances. Supported only for fleets of type maintain and request.

    For instant fleets, you cannot specify NoTerminateInstances. A deleted instant fleet with running instances is not supported.

Returns:

See Also:



16953
16954
16955
16956
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16953

def delete_fleets(params = {}, options = {})
  req = build_request(:delete_fleets, params)
  req.send_request(options)
end

#delete_flow_logs(params = {}) ⇒ Types::DeleteFlowLogsResult

Deletes one or more flow logs.

Examples:

Request syntax with placeholder values


resp = client.delete_flow_logs({
  dry_run: false,
  flow_log_ids: ["VpcFlowLogId"], # required
})

Response structure


resp.unsuccessful #=> Array
resp.unsuccessful[0].error.code #=> String
resp.unsuccessful[0].error.message #=> String
resp.unsuccessful[0].resource_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :flow_log_ids (required, Array<String>)

    One or more flow log IDs.

    Constraint: Maximum of 1000 flow log IDs.

Returns:

See Also:



16993
16994
16995
16996
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 16993

def delete_flow_logs(params = {}, options = {})
  req = build_request(:delete_flow_logs, params)
  req.send_request(options)
end

#delete_fpga_image(params = {}) ⇒ Types::DeleteFpgaImageResult

Deletes the specified Amazon FPGA Image (AFI).

Examples:

Request syntax with placeholder values


resp = client.delete_fpga_image({
  dry_run: false,
  fpga_image_id: "FpgaImageId", # required
})

Response structure


resp.return #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :fpga_image_id (required, String)

    The ID of the AFI.

Returns:

See Also:



17028
17029
17030
17031
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17028

def delete_fpga_image(params = {}, options = {})
  req = build_request(:delete_fpga_image, params)
  req.send_request(options)
end

#delete_instance_connect_endpoint(params = {}) ⇒ Types::DeleteInstanceConnectEndpointResult

Deletes the specified EC2 Instance Connect Endpoint.

Examples:

Request syntax with placeholder values


resp = client.delete_instance_connect_endpoint({
  dry_run: false,
  instance_connect_endpoint_id: "InstanceConnectEndpointId", # required
})

Response structure


resp.instance_connect_endpoint.owner_id #=> String
resp.instance_connect_endpoint.instance_connect_endpoint_id #=> String
resp.instance_connect_endpoint.instance_connect_endpoint_arn #=> String
resp.instance_connect_endpoint.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "delete-in-progress", "delete-complete", "delete-failed"
resp.instance_connect_endpoint.state_message #=> String
resp.instance_connect_endpoint.dns_name #=> String
resp.instance_connect_endpoint.fips_dns_name #=> String
resp.instance_connect_endpoint.network_interface_ids #=> Array
resp.instance_connect_endpoint.network_interface_ids[0] #=> String
resp.instance_connect_endpoint.vpc_id #=> String
resp.instance_connect_endpoint.availability_zone #=> String
resp.instance_connect_endpoint.created_at #=> Time
resp.instance_connect_endpoint.subnet_id #=> String
resp.instance_connect_endpoint.preserve_client_ip #=> Boolean
resp.instance_connect_endpoint.security_group_ids #=> Array
resp.instance_connect_endpoint.security_group_ids[0] #=> String
resp.instance_connect_endpoint.tags #=> Array
resp.instance_connect_endpoint.tags[0].key #=> String
resp.instance_connect_endpoint.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :instance_connect_endpoint_id (required, String)

    The ID of the EC2 Instance Connect Endpoint to delete.

Returns:

See Also:



17081
17082
17083
17084
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17081

def delete_instance_connect_endpoint(params = {}, options = {})
  req = build_request(:delete_instance_connect_endpoint, params)
  req.send_request(options)
end

#delete_instance_event_window(params = {}) ⇒ Types::DeleteInstanceEventWindowResult

Deletes the specified event window.

For more information, see Define event windows for scheduled events in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_instance_event_window({
  dry_run: false,
  force_delete: false,
  instance_event_window_id: "InstanceEventWindowId", # required
})

Response structure


resp.instance_event_window_state.instance_event_window_id #=> String
resp.instance_event_window_state.state #=> String, one of "creating", "deleting", "active", "deleted"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :force_delete (Boolean)

    Specify true to force delete the event window. Use the force delete parameter if the event window is currently associated with targets.

  • :instance_event_window_id (required, String)

    The ID of the event window.

Returns:

See Also:



17129
17130
17131
17132
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17129

def delete_instance_event_window(params = {}, options = {})
  req = build_request(:delete_instance_event_window, params)
  req.send_request(options)
end

#delete_internet_gateway(params = {}) ⇒ Struct

Deletes the specified internet gateway. You must detach the internet gateway from the VPC before you can delete it.

Examples:

Example: To delete an Internet gateway


# This example deletes the specified Internet gateway.

resp = client.delete_internet_gateway({
  internet_gateway_id: "igw-c0a643a9", 
})

Request syntax with placeholder values


resp = client.delete_internet_gateway({
  dry_run: false,
  internet_gateway_id: "InternetGatewayId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :internet_gateway_id (required, String)

    The ID of the internet gateway.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



17168
17169
17170
17171
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17168

def delete_internet_gateway(params = {}, options = {})
  req = build_request(:delete_internet_gateway, params)
  req.send_request(options)
end

#delete_ipam(params = {}) ⇒ Types::DeleteIpamResult

Delete an IPAM. Deleting an IPAM removes all monitored data associated with the IPAM including the historical data for CIDRs.

For more information, see Delete an IPAM in the Amazon VPC IPAM User Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_ipam({
  dry_run: false,
  ipam_id: "IpamId", # required
  cascade: false,
})

Response structure


resp.ipam.owner_id #=> String
resp.ipam.ipam_id #=> String
resp.ipam.ipam_arn #=> String
resp.ipam.ipam_region #=> String
resp.ipam.public_default_scope_id #=> String
resp.ipam.private_default_scope_id #=> String
resp.ipam.scope_count #=> Integer
resp.ipam.description #=> String
resp.ipam.operating_regions #=> Array
resp.ipam.operating_regions[0].region_name #=> String
resp.ipam.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "modify-in-progress", "modify-complete", "modify-failed", "delete-in-progress", "delete-complete", "delete-failed", "isolate-in-progress", "isolate-complete", "restore-in-progress"
resp.ipam.tags #=> Array
resp.ipam.tags[0].key #=> String
resp.ipam.tags[0].value #=> String
resp.ipam.default_resource_discovery_id #=> String
resp.ipam.default_resource_discovery_association_id #=> String
resp.ipam.resource_discovery_association_count #=> Integer
resp.ipam.state_message #=> String
resp.ipam.tier #=> String, one of "free", "advanced"
resp.ipam.enable_private_gua #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :ipam_id (required, String)

    The ID of the IPAM to delete.

  • :cascade (Boolean)

    Enables you to quickly delete an IPAM, private scopes, pools in private scopes, and any allocations in the pools in private scopes. You cannot delete the IPAM with this option if there is a pool in your public scope. If you use this option, IPAM does the following:

    • Deallocates any CIDRs allocated to VPC resources (such as VPCs) in pools in private scopes.

      No VPC resources are deleted as a result of enabling this option. The CIDR associated with the resource will no longer be allocated from an IPAM pool, but the CIDR itself will remain unchanged.

    • Deprovisions all IPv4 CIDRs provisioned to IPAM pools in private scopes.

    • Deletes all IPAM pools in private scopes.

    • Deletes all non-default private scopes in the IPAM.

    • Deletes the default public and private scopes and the IPAM.

Returns:

See Also:



17255
17256
17257
17258
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17255

def delete_ipam(params = {}, options = {})
  req = build_request(:delete_ipam, params)
  req.send_request(options)
end

#delete_ipam_external_resource_verification_token(params = {}) ⇒ Types::DeleteIpamExternalResourceVerificationTokenResult

Delete a verification token. A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).

Examples:

Request syntax with placeholder values


resp = client.delete_ipam_external_resource_verification_token({
  dry_run: false,
  ipam_external_resource_verification_token_id: "IpamExternalResourceVerificationTokenId", # required
})

Response structure


resp.ipam_external_resource_verification_token.ipam_external_resource_verification_token_id #=> String
resp.ipam_external_resource_verification_token.ipam_external_resource_verification_token_arn #=> String
resp.ipam_external_resource_verification_token.ipam_id #=> String
resp.ipam_external_resource_verification_token.ipam_arn #=> String
resp.ipam_external_resource_verification_token.ipam_region #=> String
resp.ipam_external_resource_verification_token.token_value #=> String
resp.ipam_external_resource_verification_token.token_name #=> String
resp.ipam_external_resource_verification_token.not_after #=> Time
resp.ipam_external_resource_verification_token.status #=> String, one of "valid", "expired"
resp.ipam_external_resource_verification_token.tags #=> Array
resp.ipam_external_resource_verification_token.tags[0].key #=> String
resp.ipam_external_resource_verification_token.tags[0].value #=> String
resp.ipam_external_resource_verification_token.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "delete-in-progress", "delete-complete", "delete-failed"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :ipam_external_resource_verification_token_id (required, String)

    The token ID.

Returns:

See Also:



17306
17307
17308
17309
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17306

def delete_ipam_external_resource_verification_token(params = {}, options = {})
  req = build_request(:delete_ipam_external_resource_verification_token, params)
  req.send_request(options)
end

#delete_ipam_pool(params = {}) ⇒ Types::DeleteIpamPoolResult

Delete an IPAM pool.

You cannot delete an IPAM pool if there are allocations in it or CIDRs provisioned to it. To release allocations, see ReleaseIpamPoolAllocation. To deprovision pool CIDRs, see DeprovisionIpamPoolCidr.

For more information, see Delete a pool in the Amazon VPC IPAM User Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_ipam_pool({
  dry_run: false,
  ipam_pool_id: "IpamPoolId", # required
  cascade: false,
})

Response structure


resp.ipam_pool.owner_id #=> String
resp.ipam_pool.ipam_pool_id #=> String
resp.ipam_pool.source_ipam_pool_id #=> String
resp.ipam_pool.ipam_pool_arn #=> String
resp.ipam_pool.ipam_scope_arn #=> String
resp.ipam_pool.ipam_scope_type #=> String, one of "public", "private"
resp.ipam_pool.ipam_arn #=> String
resp.ipam_pool.ipam_region #=> String
resp.ipam_pool.locale #=> String
resp.ipam_pool.pool_depth #=> Integer
resp.ipam_pool.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "modify-in-progress", "modify-complete", "modify-failed", "delete-in-progress", "delete-complete", "delete-failed", "isolate-in-progress", "isolate-complete", "restore-in-progress"
resp.ipam_pool.state_message #=> String
resp.ipam_pool.description #=> String
resp.ipam_pool.auto_import #=> Boolean
resp.ipam_pool.publicly_advertisable #=> Boolean
resp.ipam_pool.address_family #=> String, one of "ipv4", "ipv6"
resp.ipam_pool.allocation_min_netmask_length #=> Integer
resp.ipam_pool.allocation_max_netmask_length #=> Integer
resp.ipam_pool.allocation_default_netmask_length #=> Integer
resp.ipam_pool.allocation_resource_tags #=> Array
resp.ipam_pool.allocation_resource_tags[0].key #=> String
resp.ipam_pool.allocation_resource_tags[0].value #=> String
resp.ipam_pool.tags #=> Array
resp.ipam_pool.tags[0].key #=> String
resp.ipam_pool.tags[0].value #=> String
resp.ipam_pool.aws_service #=> String, one of "ec2"
resp.ipam_pool.public_ip_source #=> String, one of "amazon", "byoip"
resp.ipam_pool.source_resource.resource_id #=> String
resp.ipam_pool.source_resource.resource_type #=> String, one of "vpc"
resp.ipam_pool.source_resource.resource_region #=> String
resp.ipam_pool.source_resource.resource_owner #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :ipam_pool_id (required, String)

    The ID of the pool to delete.

  • :cascade (Boolean)

    Enables you to quickly delete an IPAM pool and all resources within that pool, including provisioned CIDRs, allocations, and other pools.

    You can only use this option to delete pools in the private scope or pools in the public scope with a source resource. A source resource is a resource used to provision CIDRs to a resource planning pool.

Returns:

See Also:



17396
17397
17398
17399
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17396

def delete_ipam_pool(params = {}, options = {})
  req = build_request(:delete_ipam_pool, params)
  req.send_request(options)
end

#delete_ipam_resource_discovery(params = {}) ⇒ Types::DeleteIpamResourceDiscoveryResult

Deletes an IPAM resource discovery. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account.

Examples:

Request syntax with placeholder values


resp = client.delete_ipam_resource_discovery({
  dry_run: false,
  ipam_resource_discovery_id: "IpamResourceDiscoveryId", # required
})

Response structure


resp.ipam_resource_discovery.owner_id #=> String
resp.ipam_resource_discovery.ipam_resource_discovery_id #=> String
resp.ipam_resource_discovery.ipam_resource_discovery_arn #=> String
resp.ipam_resource_discovery.ipam_resource_discovery_region #=> String
resp.ipam_resource_discovery.description #=> String
resp.ipam_resource_discovery.operating_regions #=> Array
resp.ipam_resource_discovery.operating_regions[0].region_name #=> String
resp.ipam_resource_discovery.is_default #=> Boolean
resp.ipam_resource_discovery.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "modify-in-progress", "modify-complete", "modify-failed", "delete-in-progress", "delete-complete", "delete-failed", "isolate-in-progress", "isolate-complete", "restore-in-progress"
resp.ipam_resource_discovery.tags #=> Array
resp.ipam_resource_discovery.tags[0].key #=> String
resp.ipam_resource_discovery.tags[0].value #=> String
resp.ipam_resource_discovery.organizational_unit_exclusions #=> Array
resp.ipam_resource_discovery.organizational_unit_exclusions[0].organizations_entity_path #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :ipam_resource_discovery_id (required, String)

    The IPAM resource discovery ID.

Returns:

See Also:



17446
17447
17448
17449
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17446

def delete_ipam_resource_discovery(params = {}, options = {})
  req = build_request(:delete_ipam_resource_discovery, params)
  req.send_request(options)
end

#delete_ipam_scope(params = {}) ⇒ Types::DeleteIpamScopeResult

Delete the scope for an IPAM. You cannot delete the default scopes.

For more information, see Delete a scope in the Amazon VPC IPAM User Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_ipam_scope({
  dry_run: false,
  ipam_scope_id: "IpamScopeId", # required
})

Response structure


resp.ipam_scope.owner_id #=> String
resp.ipam_scope.ipam_scope_id #=> String
resp.ipam_scope.ipam_scope_arn #=> String
resp.ipam_scope.ipam_arn #=> String
resp.ipam_scope.ipam_region #=> String
resp.ipam_scope.ipam_scope_type #=> String, one of "public", "private"
resp.ipam_scope.is_default #=> Boolean
resp.ipam_scope.description #=> String
resp.ipam_scope.pool_count #=> Integer
resp.ipam_scope.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "modify-in-progress", "modify-complete", "modify-failed", "delete-in-progress", "delete-complete", "delete-failed", "isolate-in-progress", "isolate-complete", "restore-in-progress"
resp.ipam_scope.tags #=> Array
resp.ipam_scope.tags[0].key #=> String
resp.ipam_scope.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :ipam_scope_id (required, String)

    The ID of the scope to delete.

Returns:

See Also:



17500
17501
17502
17503
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17500

def delete_ipam_scope(params = {}, options = {})
  req = build_request(:delete_ipam_scope, params)
  req.send_request(options)
end

#delete_key_pair(params = {}) ⇒ Types::DeleteKeyPairResult

Deletes the specified key pair, by removing the public key from Amazon EC2.

Examples:

Example: To delete a key pair


# This example deletes the specified key pair.

resp = client.delete_key_pair({
  key_name: "my-key-pair", 
})

Request syntax with placeholder values


resp = client.delete_key_pair({
  key_name: "KeyPairNameWithResolver",
  key_pair_id: "KeyPairId",
  dry_run: false,
})

Response structure


resp.return #=> Boolean
resp.key_pair_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :key_name (String)

    The name of the key pair.

  • :key_pair_id (String)

    The ID of the key pair.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



17551
17552
17553
17554
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17551

def delete_key_pair(params = {}, options = {})
  req = build_request(:delete_key_pair, params)
  req.send_request(options)
end

#delete_launch_template(params = {}) ⇒ Types::DeleteLaunchTemplateResult

Deletes a launch template. Deleting a launch template deletes all of its versions.

Examples:

Example: To delete a launch template


# This example deletes the specified launch template.

resp = client.delete_launch_template({
  launch_template_id: "lt-0abcd290751193123", 
})

resp.to_h outputs the following:
{
  launch_template: {
    create_time: Time.parse("2017-11-23T16:46:25.000Z"), 
    created_by: "arn:aws:iam::123456789012:root", 
    default_version_number: 2, 
    latest_version_number: 2, 
    launch_template_id: "lt-0abcd290751193123", 
    launch_template_name: "my-template", 
  }, 
}

Request syntax with placeholder values


resp = client.delete_launch_template({
  dry_run: false,
  launch_template_id: "LaunchTemplateId",
  launch_template_name: "LaunchTemplateName",
})

Response structure


resp.launch_template.launch_template_id #=> String
resp.launch_template.launch_template_name #=> String
resp.launch_template.create_time #=> Time
resp.launch_template.created_by #=> String
resp.launch_template.default_version_number #=> Integer
resp.launch_template.latest_version_number #=> Integer
resp.launch_template.tags #=> Array
resp.launch_template.tags[0].key #=> String
resp.launch_template.tags[0].value #=> String
resp.launch_template.operator.managed #=> Boolean
resp.launch_template.operator.principal #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :launch_template_id (String)

    The ID of the launch template.

    You must specify either the launch template ID or the launch template name, but not both.

  • :launch_template_name (String)

    The name of the launch template.

    You must specify either the launch template ID or the launch template name, but not both.

Returns:

See Also:



17628
17629
17630
17631
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17628

def delete_launch_template(params = {}, options = {})
  req = build_request(:delete_launch_template, params)
  req.send_request(options)
end

#delete_launch_template_versions(params = {}) ⇒ Types::DeleteLaunchTemplateVersionsResult

Deletes one or more versions of a launch template.

You can't delete the default version of a launch template; you must first assign a different version as the default. If the default version is the only version for the launch template, you must delete the entire launch template using DeleteLaunchTemplate.

You can delete up to 200 launch template versions in a single request. To delete more than 200 versions in a single request, use DeleteLaunchTemplate, which deletes the launch template and all of its versions.

For more information, see Delete a launch template version in the Amazon EC2 User Guide.

Examples:

Example: To delete a launch template version


# This example deletes the specified launch template version.

resp = client.delete_launch_template_versions({
  launch_template_id: "lt-0abcd290751193123", 
  versions: [
    "1", 
  ], 
})

resp.to_h outputs the following:
{
  successfully_deleted_launch_template_versions: [
    {
      launch_template_id: "lt-0abcd290751193123", 
      launch_template_name: "my-template", 
      version_number: 1, 
    }, 
  ], 
  unsuccessfully_deleted_launch_template_versions: [
  ], 
}

Request syntax with placeholder values


resp = client.delete_launch_template_versions({
  dry_run: false,
  launch_template_id: "LaunchTemplateId",
  launch_template_name: "LaunchTemplateName",
  versions: ["String"], # required
})

Response structure


resp.successfully_deleted_launch_template_versions #=> Array
resp.successfully_deleted_launch_template_versions[0].launch_template_id #=> String
resp.successfully_deleted_launch_template_versions[0].launch_template_name #=> String
resp.successfully_deleted_launch_template_versions[0].version_number #=> Integer
resp.unsuccessfully_deleted_launch_template_versions #=> Array
resp.unsuccessfully_deleted_launch_template_versions[0].launch_template_id #=> String
resp.unsuccessfully_deleted_launch_template_versions[0].launch_template_name #=> String
resp.unsuccessfully_deleted_launch_template_versions[0].version_number #=> Integer
resp.unsuccessfully_deleted_launch_template_versions[0].response_error.code #=> String, one of "launchTemplateIdDoesNotExist", "launchTemplateIdMalformed", "launchTemplateNameDoesNotExist", "launchTemplateNameMalformed", "launchTemplateVersionDoesNotExist", "unexpectedError"
resp.unsuccessfully_deleted_launch_template_versions[0].response_error.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :launch_template_id (String)

    The ID of the launch template.

    You must specify either the launch template ID or the launch template name, but not both.

  • :launch_template_name (String)

    The name of the launch template.

    You must specify either the launch template ID or the launch template name, but not both.

  • :versions (required, Array<String>)

    The version numbers of one or more launch template versions to delete. You can specify up to 200 launch template version numbers.

Returns:

See Also:



17730
17731
17732
17733
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17730

def delete_launch_template_versions(params = {}, options = {})
  req = build_request(:delete_launch_template_versions, params)
  req.send_request(options)
end

#delete_local_gateway_route(params = {}) ⇒ Types::DeleteLocalGatewayRouteResult

Deletes the specified route from the specified local gateway route table.

Examples:

Request syntax with placeholder values


resp = client.delete_local_gateway_route({
  destination_cidr_block: "String",
  local_gateway_route_table_id: "LocalGatewayRoutetableId", # required
  dry_run: false,
  destination_prefix_list_id: "PrefixListResourceId",
})

Response structure


resp.route.destination_cidr_block #=> String
resp.route.local_gateway_virtual_interface_group_id #=> String
resp.route.type #=> String, one of "static", "propagated"
resp.route.state #=> String, one of "pending", "active", "blackhole", "deleting", "deleted"
resp.route.local_gateway_route_table_id #=> String
resp.route.local_gateway_route_table_arn #=> String
resp.route.owner_id #=> String
resp.route.subnet_id #=> String
resp.route.coip_pool_id #=> String
resp.route.network_interface_id #=> String
resp.route.destination_prefix_list_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :destination_cidr_block (String)

    The CIDR range for the route. This must match the CIDR for the route exactly.

  • :local_gateway_route_table_id (required, String)

    The ID of the local gateway route table.

  • :dry_run (Boolean)

    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.

  • :destination_prefix_list_id (String)

    Use a prefix list in place of DestinationCidrBlock. You cannot use DestinationPrefixListId and DestinationCidrBlock in the same request.

Returns:

See Also:



17787
17788
17789
17790
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17787

def delete_local_gateway_route(params = {}, options = {})
  req = build_request(:delete_local_gateway_route, params)
  req.send_request(options)
end

#delete_local_gateway_route_table(params = {}) ⇒ Types::DeleteLocalGatewayRouteTableResult

Deletes a local gateway route table.

Examples:

Request syntax with placeholder values


resp = client.delete_local_gateway_route_table({
  local_gateway_route_table_id: "LocalGatewayRoutetableId", # required
  dry_run: false,
})

Response structure


resp.local_gateway_route_table.local_gateway_route_table_id #=> String
resp.local_gateway_route_table.local_gateway_route_table_arn #=> String
resp.local_gateway_route_table.local_gateway_id #=> String
resp.local_gateway_route_table.outpost_arn #=> String
resp.local_gateway_route_table.owner_id #=> String
resp.local_gateway_route_table.state #=> String
resp.local_gateway_route_table.tags #=> Array
resp.local_gateway_route_table.tags[0].key #=> String
resp.local_gateway_route_table.tags[0].value #=> String
resp.local_gateway_route_table.mode #=> String, one of "direct-vpc-routing", "coip"
resp.local_gateway_route_table.state_reason.code #=> String
resp.local_gateway_route_table.state_reason.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :local_gateway_route_table_id (required, String)

    The ID of the local gateway route table.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



17833
17834
17835
17836
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17833

def delete_local_gateway_route_table(params = {}, options = {})
  req = build_request(:delete_local_gateway_route_table, params)
  req.send_request(options)
end

#delete_local_gateway_route_table_virtual_interface_group_association(params = {}) ⇒ Types::DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult

Deletes a local gateway route table virtual interface group association.

Examples:

Request syntax with placeholder values


resp = client.delete_local_gateway_route_table_virtual_interface_group_association({
  local_gateway_route_table_virtual_interface_group_association_id: "LocalGatewayRouteTableVirtualInterfaceGroupAssociationId", # required
  dry_run: false,
})

Response structure


resp.local_gateway_route_table_virtual_interface_group_association.local_gateway_route_table_virtual_interface_group_association_id #=> String
resp.local_gateway_route_table_virtual_interface_group_association.local_gateway_virtual_interface_group_id #=> String
resp.local_gateway_route_table_virtual_interface_group_association.local_gateway_id #=> String
resp.local_gateway_route_table_virtual_interface_group_association.local_gateway_route_table_id #=> String
resp.local_gateway_route_table_virtual_interface_group_association.local_gateway_route_table_arn #=> String
resp.local_gateway_route_table_virtual_interface_group_association.owner_id #=> String
resp.local_gateway_route_table_virtual_interface_group_association.state #=> String
resp.local_gateway_route_table_virtual_interface_group_association.tags #=> Array
resp.local_gateway_route_table_virtual_interface_group_association.tags[0].key #=> String
resp.local_gateway_route_table_virtual_interface_group_association.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :local_gateway_route_table_virtual_interface_group_association_id (required, String)

    The ID of the local gateway route table virtual interface group association.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



17879
17880
17881
17882
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17879

def delete_local_gateway_route_table_virtual_interface_group_association(params = {}, options = {})
  req = build_request(:delete_local_gateway_route_table_virtual_interface_group_association, params)
  req.send_request(options)
end

#delete_local_gateway_route_table_vpc_association(params = {}) ⇒ Types::DeleteLocalGatewayRouteTableVpcAssociationResult

Deletes the specified association between a VPC and local gateway route table.

Examples:

Request syntax with placeholder values


resp = client.delete_local_gateway_route_table_vpc_association({
  local_gateway_route_table_vpc_association_id: "LocalGatewayRouteTableVpcAssociationId", # required
  dry_run: false,
})

Response structure


resp.local_gateway_route_table_vpc_association.local_gateway_route_table_vpc_association_id #=> String
resp.local_gateway_route_table_vpc_association.local_gateway_route_table_id #=> String
resp.local_gateway_route_table_vpc_association.local_gateway_route_table_arn #=> String
resp.local_gateway_route_table_vpc_association.local_gateway_id #=> String
resp.local_gateway_route_table_vpc_association.vpc_id #=> String
resp.local_gateway_route_table_vpc_association.owner_id #=> String
resp.local_gateway_route_table_vpc_association.state #=> String
resp.local_gateway_route_table_vpc_association.tags #=> Array
resp.local_gateway_route_table_vpc_association.tags[0].key #=> String
resp.local_gateway_route_table_vpc_association.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :local_gateway_route_table_vpc_association_id (required, String)

    The ID of the association.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



17924
17925
17926
17927
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17924

def delete_local_gateway_route_table_vpc_association(params = {}, options = {})
  req = build_request(:delete_local_gateway_route_table_vpc_association, params)
  req.send_request(options)
end

#delete_managed_prefix_list(params = {}) ⇒ Types::DeleteManagedPrefixListResult

Deletes the specified managed prefix list. You must first remove all references to the prefix list in your resources.

Examples:

Request syntax with placeholder values


resp = client.delete_managed_prefix_list({
  dry_run: false,
  prefix_list_id: "PrefixListResourceId", # required
})

Response structure


resp.prefix_list.prefix_list_id #=> String
resp.prefix_list.address_family #=> String
resp.prefix_list.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "modify-in-progress", "modify-complete", "modify-failed", "restore-in-progress", "restore-complete", "restore-failed", "delete-in-progress", "delete-complete", "delete-failed"
resp.prefix_list.state_message #=> String
resp.prefix_list.prefix_list_arn #=> String
resp.prefix_list.prefix_list_name #=> String
resp.prefix_list.max_entries #=> Integer
resp.prefix_list.version #=> Integer
resp.prefix_list.tags #=> Array
resp.prefix_list.tags[0].key #=> String
resp.prefix_list.tags[0].value #=> String
resp.prefix_list.owner_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :prefix_list_id (required, String)

    The ID of the prefix list.

Returns:

See Also:



17971
17972
17973
17974
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 17971

def delete_managed_prefix_list(params = {}, options = {})
  req = build_request(:delete_managed_prefix_list, params)
  req.send_request(options)
end

#delete_nat_gateway(params = {}) ⇒ Types::DeleteNatGatewayResult

Deletes the specified NAT gateway. Deleting a public NAT gateway disassociates its Elastic IP address, but does not release the address from your account. Deleting a NAT gateway does not delete any NAT gateway routes in your route tables.

Examples:

Example: To delete a NAT gateway


# This example deletes the specified NAT gateway.

resp = client.delete_nat_gateway({
  nat_gateway_id: "nat-04ae55e711cec5680", 
})

resp.to_h outputs the following:
{
  nat_gateway_id: "nat-04ae55e711cec5680", 
}

Request syntax with placeholder values


resp = client.delete_nat_gateway({
  dry_run: false,
  nat_gateway_id: "NatGatewayId", # required
})

Response structure


resp.nat_gateway_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :nat_gateway_id (required, String)

    The ID of the NAT gateway.

Returns:

See Also:



18023
18024
18025
18026
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18023

def delete_nat_gateway(params = {}, options = {})
  req = build_request(:delete_nat_gateway, params)
  req.send_request(options)
end

#delete_network_acl(params = {}) ⇒ Struct

Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL.

Examples:

Example: To delete a network ACL


# This example deletes the specified network ACL.

resp = client.delete_network_acl({
  network_acl_id: "acl-5fb85d36", 
})

Request syntax with placeholder values


resp = client.delete_network_acl({
  dry_run: false,
  network_acl_id: "NetworkAclId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :network_acl_id (required, String)

    The ID of the network ACL.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



18063
18064
18065
18066
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18063

def delete_network_acl(params = {}, options = {})
  req = build_request(:delete_network_acl, params)
  req.send_request(options)
end

#delete_network_acl_entry(params = {}) ⇒ Struct

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

Examples:

Example: To delete a network ACL entry


# This example deletes ingress rule number 100 from the specified network ACL.

resp = client.delete_network_acl_entry({
  egress: true, 
  network_acl_id: "acl-5fb85d36", 
  rule_number: 100, 
})

Request syntax with placeholder values


resp = client.delete_network_acl_entry({
  dry_run: false,
  network_acl_id: "NetworkAclId", # required
  rule_number: 1, # required
  egress: false, # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :network_acl_id (required, String)

    The ID of the network ACL.

  • :rule_number (required, Integer)

    The rule number of the entry to delete.

  • :egress (required, Boolean)

    Indicates whether the rule is an egress rule.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



18112
18113
18114
18115
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18112

def delete_network_acl_entry(params = {}, options = {})
  req = build_request(:delete_network_acl_entry, params)
  req.send_request(options)
end

#delete_network_insights_access_scope(params = {}) ⇒ Types::DeleteNetworkInsightsAccessScopeResult

Deletes the specified Network Access Scope.

Examples:

Request syntax with placeholder values


resp = client.delete_network_insights_access_scope({
  dry_run: false,
  network_insights_access_scope_id: "NetworkInsightsAccessScopeId", # required
})

Response structure


resp.network_insights_access_scope_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :network_insights_access_scope_id (required, String)

    The ID of the Network Access Scope.

Returns:

See Also:



18147
18148
18149
18150
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18147

def delete_network_insights_access_scope(params = {}, options = {})
  req = build_request(:delete_network_insights_access_scope, params)
  req.send_request(options)
end

#delete_network_insights_access_scope_analysis(params = {}) ⇒ Types::DeleteNetworkInsightsAccessScopeAnalysisResult

Deletes the specified Network Access Scope analysis.

Examples:

Request syntax with placeholder values


resp = client.delete_network_insights_access_scope_analysis({
  network_insights_access_scope_analysis_id: "NetworkInsightsAccessScopeAnalysisId", # required
  dry_run: false,
})

Response structure


resp.network_insights_access_scope_analysis_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :network_insights_access_scope_analysis_id (required, String)

    The ID of the Network Access Scope analysis.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



18182
18183
18184
18185
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18182

def delete_network_insights_access_scope_analysis(params = {}, options = {})
  req = build_request(:delete_network_insights_access_scope_analysis, params)
  req.send_request(options)
end

#delete_network_insights_analysis(params = {}) ⇒ Types::DeleteNetworkInsightsAnalysisResult

Deletes the specified network insights analysis.

Examples:

Request syntax with placeholder values


resp = client.delete_network_insights_analysis({
  dry_run: false,
  network_insights_analysis_id: "NetworkInsightsAnalysisId", # required
})

Response structure


resp.network_insights_analysis_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :network_insights_analysis_id (required, String)

    The ID of the network insights analysis.

Returns:

See Also:



18217
18218
18219
18220
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18217

def delete_network_insights_analysis(params = {}, options = {})
  req = build_request(:delete_network_insights_analysis, params)
  req.send_request(options)
end

#delete_network_insights_path(params = {}) ⇒ Types::DeleteNetworkInsightsPathResult

Deletes the specified path.

Examples:

Request syntax with placeholder values


resp = client.delete_network_insights_path({
  dry_run: false,
  network_insights_path_id: "NetworkInsightsPathId", # required
})

Response structure


resp.network_insights_path_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :network_insights_path_id (required, String)

    The ID of the path.

Returns:

See Also:



18252
18253
18254
18255
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18252

def delete_network_insights_path(params = {}, options = {})
  req = build_request(:delete_network_insights_path, params)
  req.send_request(options)
end

#delete_network_interface(params = {}) ⇒ Struct

Deletes the specified network interface. You must detach the network interface before you can delete it.

Examples:

Example: To delete a network interface


# This example deletes the specified network interface.

resp = client.delete_network_interface({
  network_interface_id: "eni-e5aa89a3", 
})

Request syntax with placeholder values


resp = client.delete_network_interface({
  dry_run: false,
  network_interface_id: "NetworkInterfaceId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :network_interface_id (required, String)

    The ID of the network interface.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



18291
18292
18293
18294
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18291

def delete_network_interface(params = {}, options = {})
  req = build_request(:delete_network_interface, params)
  req.send_request(options)
end

#delete_network_interface_permission(params = {}) ⇒ Types::DeleteNetworkInterfacePermissionResult

Deletes a permission for a network interface. By default, you cannot delete the permission if the account for which you're removing the permission has attached the network interface to an instance. However, you can force delete the permission, regardless of any attachment.

Examples:

Request syntax with placeholder values


resp = client.delete_network_interface_permission({
  network_interface_permission_id: "NetworkInterfacePermissionId", # required
  force: false,
  dry_run: false,
})

Response structure


resp.return #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :network_interface_permission_id (required, String)

    The ID of the network interface permission.

  • :force (Boolean)

    Specify true to remove the permission even if the network interface is attached to an instance.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



18334
18335
18336
18337
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18334

def delete_network_interface_permission(params = {}, options = {})
  req = build_request(:delete_network_interface_permission, params)
  req.send_request(options)
end

#delete_placement_group(params = {}) ⇒ Struct

Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information, see Placement groups in the Amazon EC2 User Guide.

Examples:

Example: To delete a placement group


# This example deletes the specified placement group.

resp = client.delete_placement_group({
  group_name: "my-cluster", 
})

resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.delete_placement_group({
  dry_run: false,
  group_name: "PlacementGroupName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the operation, 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.

  • :group_name (required, String)

    The name of the placement group.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



18383
18384
18385
18386
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18383

def delete_placement_group(params = {}, options = {})
  req = build_request(:delete_placement_group, params)
  req.send_request(options)
end

#delete_public_ipv_4_pool(params = {}) ⇒ Types::DeletePublicIpv4PoolResult

Delete a public IPv4 pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only.

Examples:

Request syntax with placeholder values


resp = client.delete_public_ipv_4_pool({
  dry_run: false,
  pool_id: "Ipv4PoolEc2Id", # required
  network_border_group: "String",
})

Response structure


resp.return_value #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :pool_id (required, String)

    The ID of the public IPv4 pool you want to delete.

  • :network_border_group (String)

    The Availability Zone (AZ) or Local Zone (LZ) network border group that the resource that the IP address is assigned to is in. Defaults to an AZ network border group. For more information on available Local Zones, see Local Zone availability in the Amazon EC2 User Guide.

Returns:

See Also:



18433
18434
18435
18436
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18433

def delete_public_ipv_4_pool(params = {}, options = {})
  req = build_request(:delete_public_ipv_4_pool, params)
  req.send_request(options)
end

#delete_queued_reserved_instances(params = {}) ⇒ Types::DeleteQueuedReservedInstancesResult

Deletes the queued purchases for the specified Reserved Instances.

Examples:

Request syntax with placeholder values


resp = client.delete_queued_reserved_instances({
  dry_run: false,
  reserved_instances_ids: ["ReservationId"], # required
})

Response structure


resp.successful_queued_purchase_deletions #=> Array
resp.successful_queued_purchase_deletions[0].reserved_instances_id #=> String
resp.failed_queued_purchase_deletions #=> Array
resp.failed_queued_purchase_deletions[0].error.code #=> String, one of "reserved-instances-id-invalid", "reserved-instances-not-in-queued-state", "unexpected-error"
resp.failed_queued_purchase_deletions[0].error.message #=> String
resp.failed_queued_purchase_deletions[0].reserved_instances_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :reserved_instances_ids (required, Array<String>)

    The IDs of the Reserved Instances.

Returns:

See Also:



18474
18475
18476
18477
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18474

def delete_queued_reserved_instances(params = {}, options = {})
  req = build_request(:delete_queued_reserved_instances, params)
  req.send_request(options)
end

#delete_route(params = {}) ⇒ Struct

Deletes the specified route from the specified route table.

Examples:

Example: To delete a route


# This example deletes the specified route from the specified route table.

resp = client.delete_route({
  destination_cidr_block: "0.0.0.0/0", 
  route_table_id: "rtb-22574640", 
})

Request syntax with placeholder values


resp = client.delete_route({
  destination_prefix_list_id: "PrefixListResourceId",
  dry_run: false,
  route_table_id: "RouteTableId", # required
  destination_cidr_block: "String",
  destination_ipv_6_cidr_block: "String",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :destination_prefix_list_id (String)

    The ID of the prefix list for the route.

  • :dry_run (Boolean)

    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.

  • :route_table_id (required, String)

    The ID of the route table.

  • :destination_cidr_block (String)

    The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

  • :destination_ipv_6_cidr_block (String)

    The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



18527
18528
18529
18530
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18527

def delete_route(params = {}, options = {})
  req = build_request(:delete_route, params)
  req.send_request(options)
end

#delete_route_table(params = {}) ⇒ Struct

Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table.

Examples:

Example: To delete a route table


# This example deletes the specified route table.

resp = client.delete_route_table({
  route_table_id: "rtb-22574640", 
})

Request syntax with placeholder values


resp = client.delete_route_table({
  dry_run: false,
  route_table_id: "RouteTableId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :route_table_id (required, String)

    The ID of the route table.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



18567
18568
18569
18570
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18567

def delete_route_table(params = {}, options = {})
  req = build_request(:delete_route_table, params)
  req.send_request(options)
end

#delete_security_group(params = {}) ⇒ Types::DeleteSecurityGroupResult

Deletes a security group.

If you attempt to delete a security group that is associated with an instance or network interface, is referenced by another security group in the same VPC, or has a VPC association, the operation fails with DependencyViolation.

Examples:

Example: To delete a security group


# This example deletes the specified security group.

resp = client.delete_security_group({
  group_id: "sg-903004f8", 
})

resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.delete_security_group({
  group_id: "SecurityGroupId",
  group_name: "SecurityGroupName",
  dry_run: false,
})

Response structure


resp.return #=> Boolean
resp.group_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :group_id (String)

    The ID of the security group.

  • :group_name (String)

    [Default VPC] The name of the security group. You can specify either the security group name or the security group ID. For security groups in a nondefault VPC, you must specify the security group ID.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



18628
18629
18630
18631
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18628

def delete_security_group(params = {}, options = {})
  req = build_request(:delete_security_group, params)
  req.send_request(options)
end

#delete_snapshot(params = {}) ⇒ Struct

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first deregister the AMI before you can delete the snapshot.

For more information, see Delete an Amazon EBS snapshot in the Amazon EBS User Guide.

Examples:

Example: To delete a snapshot


# This example deletes a snapshot with the snapshot ID of ``snap-1234567890abcdef0``. If the command succeeds, no output
# is returned.

resp = client.delete_snapshot({
  snapshot_id: "snap-1234567890abcdef0", 
})

resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.delete_snapshot({
  snapshot_id: "SnapshotId", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :snapshot_id (required, String)

    The ID of the EBS snapshot.

  • :dry_run (Boolean)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



18690
18691
18692
18693
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18690

def delete_snapshot(params = {}, options = {})
  req = build_request(:delete_snapshot, params)
  req.send_request(options)
end

#delete_spot_datafeed_subscription(params = {}) ⇒ Struct

Deletes the data feed for Spot Instances.

Examples:

Example: To cancel a Spot Instance data feed subscription


# This example deletes a Spot data feed subscription for the account.

resp = client.delete_spot_datafeed_subscription({
})

Request syntax with placeholder values


resp = client.delete_spot_datafeed_subscription({
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



18723
18724
18725
18726
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18723

def delete_spot_datafeed_subscription(params = {}, options = {})
  req = build_request(:delete_spot_datafeed_subscription, params)
  req.send_request(options)
end

#delete_subnet(params = {}) ⇒ Struct

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

Examples:

Example: To delete a subnet


# This example deletes the specified subnet.

resp = client.delete_subnet({
  subnet_id: "subnet-9d4a7b6c", 
})

Request syntax with placeholder values


resp = client.delete_subnet({
  subnet_id: "SubnetId", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :subnet_id (required, String)

    The ID of the subnet.

  • :dry_run (Boolean)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



18762
18763
18764
18765
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18762

def delete_subnet(params = {}, options = {})
  req = build_request(:delete_subnet, params)
  req.send_request(options)
end

#delete_subnet_cidr_reservation(params = {}) ⇒ Types::DeleteSubnetCidrReservationResult

Deletes a subnet CIDR reservation.

Examples:

Request syntax with placeholder values


resp = client.delete_subnet_cidr_reservation({
  subnet_cidr_reservation_id: "SubnetCidrReservationId", # required
  dry_run: false,
})

Response structure


resp.deleted_subnet_cidr_reservation.subnet_cidr_reservation_id #=> String
resp.deleted_subnet_cidr_reservation.subnet_id #=> String
resp.deleted_subnet_cidr_reservation.cidr #=> String
resp.deleted_subnet_cidr_reservation.reservation_type #=> String, one of "prefix", "explicit"
resp.deleted_subnet_cidr_reservation.owner_id #=> String
resp.deleted_subnet_cidr_reservation.description #=> String
resp.deleted_subnet_cidr_reservation.tags #=> Array
resp.deleted_subnet_cidr_reservation.tags[0].key #=> String
resp.deleted_subnet_cidr_reservation.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :subnet_cidr_reservation_id (required, String)

    The ID of the subnet CIDR reservation.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



18805
18806
18807
18808
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18805

def delete_subnet_cidr_reservation(params = {}, options = {})
  req = build_request(:delete_subnet_cidr_reservation, params)
  req.send_request(options)
end

#delete_tags(params = {}) ⇒ Struct

Deletes the specified set of tags from the specified set of resources.

To list the current tags, use DescribeTags. For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

Examples:

Example: To delete a tag from a resource


# This example deletes the tag Stack=test from the specified image.

resp = client.delete_tags({
  resources: [
    "ami-78a54011", 
  ], 
  tags: [
    {
      key: "Stack", 
      value: "test", 
    }, 
  ], 
})

Request syntax with placeholder values


resp = client.delete_tags({
  dry_run: false,
  resources: ["TaggableResourceId"], # required
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :resources (required, Array<String>)

    The IDs of the resources, separated by spaces.

    Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

  • :tags (Array<Types::Tag>)

    The tags to delete. Specify a tag key and an optional tag value to delete specific tags. If you specify a tag key without a tag value, we delete any tag with this key regardless of its value. If you specify a tag key with an empty string as the tag value, we delete the tag only if its value is an empty string.

    If you omit this parameter, we delete all user-defined tags for the specified resources. We do not delete Amazon Web Services-generated tags (tags that have the aws: prefix).

    Constraints: Up to 1000 tags.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



18881
18882
18883
18884
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18881

def delete_tags(params = {}, options = {})
  req = build_request(:delete_tags, params)
  req.send_request(options)
end

#delete_traffic_mirror_filter(params = {}) ⇒ Types::DeleteTrafficMirrorFilterResult

Deletes the specified Traffic Mirror filter.

You cannot delete a Traffic Mirror filter that is in use by a Traffic Mirror session.

Examples:

Request syntax with placeholder values


resp = client.delete_traffic_mirror_filter({
  traffic_mirror_filter_id: "TrafficMirrorFilterId", # required
  dry_run: false,
})

Response structure


resp.traffic_mirror_filter_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :traffic_mirror_filter_id (required, String)

    The ID of the Traffic Mirror filter.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



18919
18920
18921
18922
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18919

def delete_traffic_mirror_filter(params = {}, options = {})
  req = build_request(:delete_traffic_mirror_filter, params)
  req.send_request(options)
end

#delete_traffic_mirror_filter_rule(params = {}) ⇒ Types::DeleteTrafficMirrorFilterRuleResult

Deletes the specified Traffic Mirror rule.

Examples:

Request syntax with placeholder values


resp = client.delete_traffic_mirror_filter_rule({
  traffic_mirror_filter_rule_id: "TrafficMirrorFilterRuleIdWithResolver", # required
  dry_run: false,
})

Response structure


resp.traffic_mirror_filter_rule_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :traffic_mirror_filter_rule_id (required, String)

    The ID of the Traffic Mirror rule.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



18954
18955
18956
18957
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18954

def delete_traffic_mirror_filter_rule(params = {}, options = {})
  req = build_request(:delete_traffic_mirror_filter_rule, params)
  req.send_request(options)
end

#delete_traffic_mirror_session(params = {}) ⇒ Types::DeleteTrafficMirrorSessionResult

Deletes the specified Traffic Mirror session.

Examples:

Request syntax with placeholder values


resp = client.delete_traffic_mirror_session({
  traffic_mirror_session_id: "TrafficMirrorSessionId", # required
  dry_run: false,
})

Response structure


resp.traffic_mirror_session_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :traffic_mirror_session_id (required, String)

    The ID of the Traffic Mirror session.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



18989
18990
18991
18992
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 18989

def delete_traffic_mirror_session(params = {}, options = {})
  req = build_request(:delete_traffic_mirror_session, params)
  req.send_request(options)
end

#delete_traffic_mirror_target(params = {}) ⇒ Types::DeleteTrafficMirrorTargetResult

Deletes the specified Traffic Mirror target.

You cannot delete a Traffic Mirror target that is in use by a Traffic Mirror session.

Examples:

Request syntax with placeholder values


resp = client.delete_traffic_mirror_target({
  traffic_mirror_target_id: "TrafficMirrorTargetId", # required
  dry_run: false,
})

Response structure


resp.traffic_mirror_target_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :traffic_mirror_target_id (required, String)

    The ID of the Traffic Mirror target.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19027
19028
19029
19030
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19027

def delete_traffic_mirror_target(params = {}, options = {})
  req = build_request(:delete_traffic_mirror_target, params)
  req.send_request(options)
end

#delete_transit_gateway(params = {}) ⇒ Types::DeleteTransitGatewayResult

Deletes the specified transit gateway.

Examples:

Request syntax with placeholder values


resp = client.delete_transit_gateway({
  transit_gateway_id: "TransitGatewayId", # required
  dry_run: false,
})

Response structure


resp.transit_gateway.transit_gateway_id #=> String
resp.transit_gateway.transit_gateway_arn #=> String
resp.transit_gateway.state #=> String, one of "pending", "available", "modifying", "deleting", "deleted"
resp.transit_gateway.owner_id #=> String
resp.transit_gateway.description #=> String
resp.transit_gateway.creation_time #=> Time
resp.transit_gateway.options.amazon_side_asn #=> Integer
resp.transit_gateway.options.transit_gateway_cidr_blocks #=> Array
resp.transit_gateway.options.transit_gateway_cidr_blocks[0] #=> String
resp.transit_gateway.options.auto_accept_shared_attachments #=> String, one of "enable", "disable"
resp.transit_gateway.options.default_route_table_association #=> String, one of "enable", "disable"
resp.transit_gateway.options.association_default_route_table_id #=> String
resp.transit_gateway.options.default_route_table_propagation #=> String, one of "enable", "disable"
resp.transit_gateway.options.propagation_default_route_table_id #=> String
resp.transit_gateway.options.vpn_ecmp_support #=> String, one of "enable", "disable"
resp.transit_gateway.options.dns_support #=> String, one of "enable", "disable"
resp.transit_gateway.options.security_group_referencing_support #=> String, one of "enable", "disable"
resp.transit_gateway.options.multicast_support #=> String, one of "enable", "disable"
resp.transit_gateway.tags #=> Array
resp.transit_gateway.tags[0].key #=> String
resp.transit_gateway.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_id (required, String)

    The ID of the transit gateway.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19082
19083
19084
19085
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19082

def delete_transit_gateway(params = {}, options = {})
  req = build_request(:delete_transit_gateway, params)
  req.send_request(options)
end

#delete_transit_gateway_connect(params = {}) ⇒ Types::DeleteTransitGatewayConnectResult

Deletes the specified Connect attachment. You must first delete any Connect peers for the attachment.

Examples:

Request syntax with placeholder values


resp = client.delete_transit_gateway_connect({
  transit_gateway_attachment_id: "TransitGatewayAttachmentId", # required
  dry_run: false,
})

Response structure


resp.transit_gateway_connect.transit_gateway_attachment_id #=> String
resp.transit_gateway_connect.transport_transit_gateway_attachment_id #=> String
resp.transit_gateway_connect.transit_gateway_id #=> String
resp.transit_gateway_connect.state #=> String, one of "initiating", "initiatingRequest", "pendingAcceptance", "rollingBack", "pending", "available", "modifying", "deleting", "deleted", "failed", "rejected", "rejecting", "failing"
resp.transit_gateway_connect.creation_time #=> Time
resp.transit_gateway_connect.options.protocol #=> String, one of "gre"
resp.transit_gateway_connect.tags #=> Array
resp.transit_gateway_connect.tags[0].key #=> String
resp.transit_gateway_connect.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_attachment_id (required, String)

    The ID of the Connect attachment.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19126
19127
19128
19129
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19126

def delete_transit_gateway_connect(params = {}, options = {})
  req = build_request(:delete_transit_gateway_connect, params)
  req.send_request(options)
end

#delete_transit_gateway_connect_peer(params = {}) ⇒ Types::DeleteTransitGatewayConnectPeerResult

Deletes the specified Connect peer.

Examples:

Request syntax with placeholder values


resp = client.delete_transit_gateway_connect_peer({
  transit_gateway_connect_peer_id: "TransitGatewayConnectPeerId", # required
  dry_run: false,
})

Response structure


resp.transit_gateway_connect_peer.transit_gateway_attachment_id #=> String
resp.transit_gateway_connect_peer.transit_gateway_connect_peer_id #=> String
resp.transit_gateway_connect_peer.state #=> String, one of "pending", "available", "deleting", "deleted"
resp.transit_gateway_connect_peer.creation_time #=> Time
resp.transit_gateway_connect_peer.connect_peer_configuration.transit_gateway_address #=> String
resp.transit_gateway_connect_peer.connect_peer_configuration.peer_address #=> String
resp.transit_gateway_connect_peer.connect_peer_configuration.inside_cidr_blocks #=> Array
resp.transit_gateway_connect_peer.connect_peer_configuration.inside_cidr_blocks[0] #=> String
resp.transit_gateway_connect_peer.connect_peer_configuration.protocol #=> String, one of "gre"
resp.transit_gateway_connect_peer.connect_peer_configuration.bgp_configurations #=> Array
resp.transit_gateway_connect_peer.connect_peer_configuration.bgp_configurations[0].transit_gateway_asn #=> Integer
resp.transit_gateway_connect_peer.connect_peer_configuration.bgp_configurations[0].peer_asn #=> Integer
resp.transit_gateway_connect_peer.connect_peer_configuration.bgp_configurations[0].transit_gateway_address #=> String
resp.transit_gateway_connect_peer.connect_peer_configuration.bgp_configurations[0].peer_address #=> String
resp.transit_gateway_connect_peer.connect_peer_configuration.bgp_configurations[0].bgp_status #=> String, one of "up", "down"
resp.transit_gateway_connect_peer.tags #=> Array
resp.transit_gateway_connect_peer.tags[0].key #=> String
resp.transit_gateway_connect_peer.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_connect_peer_id (required, String)

    The ID of the Connect peer.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19178
19179
19180
19181
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19178

def delete_transit_gateway_connect_peer(params = {}, options = {})
  req = build_request(:delete_transit_gateway_connect_peer, params)
  req.send_request(options)
end

#delete_transit_gateway_multicast_domain(params = {}) ⇒ Types::DeleteTransitGatewayMulticastDomainResult

Deletes the specified transit gateway multicast domain.

Examples:

Request syntax with placeholder values


resp = client.delete_transit_gateway_multicast_domain({
  transit_gateway_multicast_domain_id: "TransitGatewayMulticastDomainId", # required
  dry_run: false,
})

Response structure


resp.transit_gateway_multicast_domain.transit_gateway_multicast_domain_id #=> String
resp.transit_gateway_multicast_domain.transit_gateway_id #=> String
resp.transit_gateway_multicast_domain.transit_gateway_multicast_domain_arn #=> String
resp.transit_gateway_multicast_domain.owner_id #=> String
resp.transit_gateway_multicast_domain.options.igmpv_2_support #=> String, one of "enable", "disable"
resp.transit_gateway_multicast_domain.options.static_sources_support #=> String, one of "enable", "disable"
resp.transit_gateway_multicast_domain.options.auto_accept_shared_associations #=> String, one of "enable", "disable"
resp.transit_gateway_multicast_domain.state #=> String, one of "pending", "available", "deleting", "deleted"
resp.transit_gateway_multicast_domain.creation_time #=> Time
resp.transit_gateway_multicast_domain.tags #=> Array
resp.transit_gateway_multicast_domain.tags[0].key #=> String
resp.transit_gateway_multicast_domain.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_multicast_domain_id (required, String)

    The ID of the transit gateway multicast domain.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19224
19225
19226
19227
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19224

def delete_transit_gateway_multicast_domain(params = {}, options = {})
  req = build_request(:delete_transit_gateway_multicast_domain, params)
  req.send_request(options)
end

#delete_transit_gateway_peering_attachment(params = {}) ⇒ Types::DeleteTransitGatewayPeeringAttachmentResult

Deletes a transit gateway peering attachment.

Examples:

Request syntax with placeholder values


resp = client.delete_transit_gateway_peering_attachment({
  transit_gateway_attachment_id: "TransitGatewayAttachmentId", # required
  dry_run: false,
})

Response structure


resp.transit_gateway_peering_attachment.transit_gateway_attachment_id #=> String
resp.transit_gateway_peering_attachment.accepter_transit_gateway_attachment_id #=> String
resp.transit_gateway_peering_attachment.requester_tgw_info.transit_gateway_id #=> String
resp.transit_gateway_peering_attachment.requester_tgw_info.core_network_id #=> String
resp.transit_gateway_peering_attachment.requester_tgw_info.owner_id #=> String
resp.transit_gateway_peering_attachment.requester_tgw_info.region #=> String
resp.transit_gateway_peering_attachment.accepter_tgw_info.transit_gateway_id #=> String
resp.transit_gateway_peering_attachment.accepter_tgw_info.core_network_id #=> String
resp.transit_gateway_peering_attachment.accepter_tgw_info.owner_id #=> String
resp.transit_gateway_peering_attachment.accepter_tgw_info.region #=> String
resp.transit_gateway_peering_attachment.options.dynamic_routing #=> String, one of "enable", "disable"
resp.transit_gateway_peering_attachment.status.code #=> String
resp.transit_gateway_peering_attachment.status.message #=> String
resp.transit_gateway_peering_attachment.state #=> String, one of "initiating", "initiatingRequest", "pendingAcceptance", "rollingBack", "pending", "available", "modifying", "deleting", "deleted", "failed", "rejected", "rejecting", "failing"
resp.transit_gateway_peering_attachment.creation_time #=> Time
resp.transit_gateway_peering_attachment.tags #=> Array
resp.transit_gateway_peering_attachment.tags[0].key #=> String
resp.transit_gateway_peering_attachment.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_attachment_id (required, String)

    The ID of the transit gateway peering attachment.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19276
19277
19278
19279
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19276

def delete_transit_gateway_peering_attachment(params = {}, options = {})
  req = build_request(:delete_transit_gateway_peering_attachment, params)
  req.send_request(options)
end

#delete_transit_gateway_policy_table(params = {}) ⇒ Types::DeleteTransitGatewayPolicyTableResult

Deletes the specified transit gateway policy table.

Examples:

Request syntax with placeholder values


resp = client.delete_transit_gateway_policy_table({
  transit_gateway_policy_table_id: "TransitGatewayPolicyTableId", # required
  dry_run: false,
})

Response structure


resp.transit_gateway_policy_table.transit_gateway_policy_table_id #=> String
resp.transit_gateway_policy_table.transit_gateway_id #=> String
resp.transit_gateway_policy_table.state #=> String, one of "pending", "available", "deleting", "deleted"
resp.transit_gateway_policy_table.creation_time #=> Time
resp.transit_gateway_policy_table.tags #=> Array
resp.transit_gateway_policy_table.tags[0].key #=> String
resp.transit_gateway_policy_table.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_policy_table_id (required, String)

    The transit gateway policy table to delete.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19317
19318
19319
19320
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19317

def delete_transit_gateway_policy_table(params = {}, options = {})
  req = build_request(:delete_transit_gateway_policy_table, params)
  req.send_request(options)
end

#delete_transit_gateway_prefix_list_reference(params = {}) ⇒ Types::DeleteTransitGatewayPrefixListReferenceResult

Deletes a reference (route) to a prefix list in a specified transit gateway route table.

Examples:

Request syntax with placeholder values


resp = client.delete_transit_gateway_prefix_list_reference({
  transit_gateway_route_table_id: "TransitGatewayRouteTableId", # required
  prefix_list_id: "PrefixListResourceId", # required
  dry_run: false,
})

Response structure


resp.transit_gateway_prefix_list_reference.transit_gateway_route_table_id #=> String
resp.transit_gateway_prefix_list_reference.prefix_list_id #=> String
resp.transit_gateway_prefix_list_reference.prefix_list_owner_id #=> String
resp.transit_gateway_prefix_list_reference.state #=> String, one of "pending", "available", "modifying", "deleting"
resp.transit_gateway_prefix_list_reference.blackhole #=> Boolean
resp.transit_gateway_prefix_list_reference.transit_gateway_attachment.transit_gateway_attachment_id #=> String
resp.transit_gateway_prefix_list_reference.transit_gateway_attachment.resource_type #=> String, one of "vpc", "vpn", "direct-connect-gateway", "connect", "peering", "tgw-peering"
resp.transit_gateway_prefix_list_reference.transit_gateway_attachment.resource_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_route_table_id (required, String)

    The ID of the route table.

  • :prefix_list_id (required, String)

    The ID of the prefix list.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19364
19365
19366
19367
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19364

def delete_transit_gateway_prefix_list_reference(params = {}, options = {})
  req = build_request(:delete_transit_gateway_prefix_list_reference, params)
  req.send_request(options)
end

#delete_transit_gateway_route(params = {}) ⇒ Types::DeleteTransitGatewayRouteResult

Deletes the specified route from the specified transit gateway route table.

Examples:

Request syntax with placeholder values


resp = client.delete_transit_gateway_route({
  transit_gateway_route_table_id: "TransitGatewayRouteTableId", # required
  destination_cidr_block: "String", # required
  dry_run: false,
})

Response structure


resp.route.destination_cidr_block #=> String
resp.route.prefix_list_id #=> String
resp.route.transit_gateway_route_table_announcement_id #=> String
resp.route.transit_gateway_attachments #=> Array
resp.route.transit_gateway_attachments[0].resource_id #=> String
resp.route.transit_gateway_attachments[0].transit_gateway_attachment_id #=> String
resp.route.transit_gateway_attachments[0].resource_type #=> String, one of "vpc", "vpn", "direct-connect-gateway", "connect", "peering", "tgw-peering"
resp.route.type #=> String, one of "static", "propagated"
resp.route.state #=> String, one of "pending", "active", "blackhole", "deleting", "deleted"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_route_table_id (required, String)

    The ID of the transit gateway route table.

  • :destination_cidr_block (required, String)

    The CIDR range for the route. This must match the CIDR for the route exactly.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19413
19414
19415
19416
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19413

def delete_transit_gateway_route(params = {}, options = {})
  req = build_request(:delete_transit_gateway_route, params)
  req.send_request(options)
end

#delete_transit_gateway_route_table(params = {}) ⇒ Types::DeleteTransitGatewayRouteTableResult

Deletes the specified transit gateway route table. If there are any route tables associated with the transit gateway route table, you must first run DisassociateRouteTable before you can delete the transit gateway route table. This removes any route tables associated with the transit gateway route table.

Examples:

Request syntax with placeholder values


resp = client.delete_transit_gateway_route_table({
  transit_gateway_route_table_id: "TransitGatewayRouteTableId", # required
  dry_run: false,
})

Response structure


resp.transit_gateway_route_table.transit_gateway_route_table_id #=> String
resp.transit_gateway_route_table.transit_gateway_id #=> String
resp.transit_gateway_route_table.state #=> String, one of "pending", "available", "deleting", "deleted"
resp.transit_gateway_route_table.default_association_route_table #=> Boolean
resp.transit_gateway_route_table.default_propagation_route_table #=> Boolean
resp.transit_gateway_route_table.creation_time #=> Time
resp.transit_gateway_route_table.tags #=> Array
resp.transit_gateway_route_table.tags[0].key #=> String
resp.transit_gateway_route_table.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_route_table_id (required, String)

    The ID of the transit gateway route table.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19460
19461
19462
19463
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19460

def delete_transit_gateway_route_table(params = {}, options = {})
  req = build_request(:delete_transit_gateway_route_table, params)
  req.send_request(options)
end

#delete_transit_gateway_route_table_announcement(params = {}) ⇒ Types::DeleteTransitGatewayRouteTableAnnouncementResult

Advertises to the transit gateway that a transit gateway route table is deleted.

Examples:

Request syntax with placeholder values


resp = client.delete_transit_gateway_route_table_announcement({
  transit_gateway_route_table_announcement_id: "TransitGatewayRouteTableAnnouncementId", # required
  dry_run: false,
})

Response structure


resp.transit_gateway_route_table_announcement.transit_gateway_route_table_announcement_id #=> String
resp.transit_gateway_route_table_announcement.transit_gateway_id #=> String
resp.transit_gateway_route_table_announcement.core_network_id #=> String
resp.transit_gateway_route_table_announcement.peer_transit_gateway_id #=> String
resp.transit_gateway_route_table_announcement.peer_core_network_id #=> String
resp.transit_gateway_route_table_announcement.peering_attachment_id #=> String
resp.transit_gateway_route_table_announcement.announcement_direction #=> String, one of "outgoing", "incoming"
resp.transit_gateway_route_table_announcement.transit_gateway_route_table_id #=> String
resp.transit_gateway_route_table_announcement.state #=> String, one of "available", "pending", "failing", "failed", "deleting", "deleted"
resp.transit_gateway_route_table_announcement.creation_time #=> Time
resp.transit_gateway_route_table_announcement.tags #=> Array
resp.transit_gateway_route_table_announcement.tags[0].key #=> String
resp.transit_gateway_route_table_announcement.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_route_table_announcement_id (required, String)

    The transit gateway route table ID that's being deleted.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19508
19509
19510
19511
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19508

def delete_transit_gateway_route_table_announcement(params = {}, options = {})
  req = build_request(:delete_transit_gateway_route_table_announcement, params)
  req.send_request(options)
end

#delete_transit_gateway_vpc_attachment(params = {}) ⇒ Types::DeleteTransitGatewayVpcAttachmentResult

Deletes the specified VPC attachment.

Examples:

Request syntax with placeholder values


resp = client.delete_transit_gateway_vpc_attachment({
  transit_gateway_attachment_id: "TransitGatewayAttachmentId", # required
  dry_run: false,
})

Response structure


resp.transit_gateway_vpc_attachment.transit_gateway_attachment_id #=> String
resp.transit_gateway_vpc_attachment.transit_gateway_id #=> String
resp.transit_gateway_vpc_attachment.vpc_id #=> String
resp.transit_gateway_vpc_attachment.vpc_owner_id #=> String
resp.transit_gateway_vpc_attachment.state #=> String, one of "initiating", "initiatingRequest", "pendingAcceptance", "rollingBack", "pending", "available", "modifying", "deleting", "deleted", "failed", "rejected", "rejecting", "failing"
resp.transit_gateway_vpc_attachment.subnet_ids #=> Array
resp.transit_gateway_vpc_attachment.subnet_ids[0] #=> String
resp.transit_gateway_vpc_attachment.creation_time #=> Time
resp.transit_gateway_vpc_attachment.options.dns_support #=> String, one of "enable", "disable"
resp.transit_gateway_vpc_attachment.options.security_group_referencing_support #=> String, one of "enable", "disable"
resp.transit_gateway_vpc_attachment.options.ipv_6_support #=> String, one of "enable", "disable"
resp.transit_gateway_vpc_attachment.options.appliance_mode_support #=> String, one of "enable", "disable"
resp.transit_gateway_vpc_attachment.tags #=> Array
resp.transit_gateway_vpc_attachment.tags[0].key #=> String
resp.transit_gateway_vpc_attachment.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_attachment_id (required, String)

    The ID of the attachment.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19557
19558
19559
19560
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19557

def delete_transit_gateway_vpc_attachment(params = {}, options = {})
  req = build_request(:delete_transit_gateway_vpc_attachment, params)
  req.send_request(options)
end

#delete_verified_access_endpoint(params = {}) ⇒ Types::DeleteVerifiedAccessEndpointResult

Delete an Amazon Web Services Verified Access endpoint.

Examples:

Request syntax with placeholder values


resp = client.delete_verified_access_endpoint({
  verified_access_endpoint_id: "VerifiedAccessEndpointId", # required
  client_token: "String",
  dry_run: false,
})

Response structure


resp.verified_access_endpoint.verified_access_instance_id #=> String
resp.verified_access_endpoint.verified_access_group_id #=> String
resp.verified_access_endpoint.verified_access_endpoint_id #=> String
resp.verified_access_endpoint.application_domain #=> String
resp.verified_access_endpoint.endpoint_type #=> String, one of "load-balancer", "network-interface", "rds", "cidr"
resp.verified_access_endpoint.attachment_type #=> String, one of "vpc"
resp.verified_access_endpoint.domain_certificate_arn #=> String
resp.verified_access_endpoint.endpoint_domain #=> String
resp.verified_access_endpoint.device_validation_domain #=> String
resp.verified_access_endpoint.security_group_ids #=> Array
resp.verified_access_endpoint.security_group_ids[0] #=> String
resp.verified_access_endpoint.load_balancer_options.protocol #=> String, one of "http", "https", "tcp"
resp.verified_access_endpoint.load_balancer_options.port #=> Integer
resp.verified_access_endpoint.load_balancer_options.load_balancer_arn #=> String
resp.verified_access_endpoint.load_balancer_options.subnet_ids #=> Array
resp.verified_access_endpoint.load_balancer_options.subnet_ids[0] #=> String
resp.verified_access_endpoint.load_balancer_options.port_ranges #=> Array
resp.verified_access_endpoint.load_balancer_options.port_ranges[0].from_port #=> Integer
resp.verified_access_endpoint.load_balancer_options.port_ranges[0].to_port #=> Integer
resp.verified_access_endpoint.network_interface_options.network_interface_id #=> String
resp.verified_access_endpoint.network_interface_options.protocol #=> String, one of "http", "https", "tcp"
resp.verified_access_endpoint.network_interface_options.port #=> Integer
resp.verified_access_endpoint.network_interface_options.port_ranges #=> Array
resp.verified_access_endpoint.network_interface_options.port_ranges[0].from_port #=> Integer
resp.verified_access_endpoint.network_interface_options.port_ranges[0].to_port #=> Integer
resp.verified_access_endpoint.status.code #=> String, one of "pending", "active", "updating", "deleting", "deleted"
resp.verified_access_endpoint.status.message #=> String
resp.verified_access_endpoint.description #=> String
resp.verified_access_endpoint.creation_time #=> String
resp.verified_access_endpoint.last_updated_time #=> String
resp.verified_access_endpoint.deletion_time #=> String
resp.verified_access_endpoint.tags #=> Array
resp.verified_access_endpoint.tags[0].key #=> String
resp.verified_access_endpoint.tags[0].value #=> String
resp.verified_access_endpoint.sse_specification.customer_managed_key_enabled #=> Boolean
resp.verified_access_endpoint.sse_specification.kms_key_arn #=> String
resp.verified_access_endpoint.rds_options.protocol #=> String, one of "http", "https", "tcp"
resp.verified_access_endpoint.rds_options.port #=> Integer
resp.verified_access_endpoint.rds_options.rds_db_instance_arn #=> String
resp.verified_access_endpoint.rds_options.rds_db_cluster_arn #=> String
resp.verified_access_endpoint.rds_options.rds_db_proxy_arn #=> String
resp.verified_access_endpoint.rds_options.rds_endpoint #=> String
resp.verified_access_endpoint.rds_options.subnet_ids #=> Array
resp.verified_access_endpoint.rds_options.subnet_ids[0] #=> String
resp.verified_access_endpoint.cidr_options.cidr #=> String
resp.verified_access_endpoint.cidr_options.port_ranges #=> Array
resp.verified_access_endpoint.cidr_options.port_ranges[0].from_port #=> Integer
resp.verified_access_endpoint.cidr_options.port_ranges[0].to_port #=> Integer
resp.verified_access_endpoint.cidr_options.protocol #=> String, one of "http", "https", "tcp"
resp.verified_access_endpoint.cidr_options.subnet_ids #=> Array
resp.verified_access_endpoint.cidr_options.subnet_ids[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :verified_access_endpoint_id (required, String)

    The ID of the Verified Access endpoint.

  • :client_token (String)

    A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19655
19656
19657
19658
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19655

def delete_verified_access_endpoint(params = {}, options = {})
  req = build_request(:delete_verified_access_endpoint, params)
  req.send_request(options)
end

#delete_verified_access_group(params = {}) ⇒ Types::DeleteVerifiedAccessGroupResult

Delete an Amazon Web Services Verified Access group.

Examples:

Request syntax with placeholder values


resp = client.delete_verified_access_group({
  verified_access_group_id: "VerifiedAccessGroupId", # required
  client_token: "String",
  dry_run: false,
})

Response structure


resp.verified_access_group.verified_access_group_id #=> String
resp.verified_access_group.verified_access_instance_id #=> String
resp.verified_access_group.description #=> String
resp.verified_access_group.owner #=> String
resp.verified_access_group.verified_access_group_arn #=> String
resp.verified_access_group.creation_time #=> String
resp.verified_access_group.last_updated_time #=> String
resp.verified_access_group.deletion_time #=> String
resp.verified_access_group.tags #=> Array
resp.verified_access_group.tags[0].key #=> String
resp.verified_access_group.tags[0].value #=> String
resp.verified_access_group.sse_specification.customer_managed_key_enabled #=> Boolean
resp.verified_access_group.sse_specification.kms_key_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :verified_access_group_id (required, String)

    The ID of the Verified Access group.

  • :client_token (String)

    A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :dry_run (Boolean)

    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.

Returns:

See Also:



19715
19716
19717
19718
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19715

def delete_verified_access_group(params = {}, options = {})
  req = build_request(:delete_verified_access_group, params)
  req.send_request(options)
end

#delete_verified_access_instance(params = {}) ⇒ Types::DeleteVerifiedAccessInstanceResult

Delete an Amazon Web Services Verified Access instance.

Examples:

Request syntax with placeholder values


resp = client.delete_verified_access_instance({
  verified_access_instance_id: "VerifiedAccessInstanceId", # required
  dry_run: false,
  client_token: "String",
})

Response structure


resp.verified_access_instance.verified_access_instance_id #=> String
resp.verified_access_instance.description #=> String
resp.verified_access_instance.verified_access_trust_providers #=> Array
resp.verified_access_instance.verified_access_trust_providers[0].verified_access_trust_provider_id #=> String
resp.verified_access_instance.verified_access_trust_providers[0].description #=> String
resp.verified_access_instance.verified_access_trust_providers[0].trust_provider_type #=> String, one of "user", "device"
resp.verified_access_instance.verified_access_trust_providers[0].user_trust_provider_type #=> String, one of "iam-identity-center", "oidc"
resp.verified_access_instance.verified_access_trust_providers[0].device_trust_provider_type #=> String, one of "jamf", "crowdstrike", "jumpcloud"
resp.verified_access_instance.creation_time #=> String
resp.verified_access_instance.last_updated_time #=> String
resp.verified_access_instance.tags #=> Array
resp.verified_access_instance.tags[0].key #=> String
resp.verified_access_instance.tags[0].value #=> String
resp.verified_access_instance.fips_enabled #=> Boolean
resp.verified_access_instance.cidr_endpoints_custom_sub_domain.sub_domain #=> String
resp.verified_access_instance.cidr_endpoints_custom_sub_domain.nameservers #=> Array
resp.verified_access_instance.cidr_endpoints_custom_sub_domain.nameservers[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :verified_access_instance_id (required, String)

    The ID of the Verified Access instance.

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



19779
19780
19781
19782
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19779

def delete_verified_access_instance(params = {}, options = {})
  req = build_request(:delete_verified_access_instance, params)
  req.send_request(options)
end

#delete_verified_access_trust_provider(params = {}) ⇒ Types::DeleteVerifiedAccessTrustProviderResult

Delete an Amazon Web Services Verified Access trust provider.

Examples:

Request syntax with placeholder values


resp = client.delete_verified_access_trust_provider({
  verified_access_trust_provider_id: "VerifiedAccessTrustProviderId", # required
  dry_run: false,
  client_token: "String",
})

Response structure


resp.verified_access_trust_provider.verified_access_trust_provider_id #=> String
resp.verified_access_trust_provider.description #=> String
resp.verified_access_trust_provider.trust_provider_type #=> String, one of "user", "device"
resp.verified_access_trust_provider.user_trust_provider_type #=> String, one of "iam-identity-center", "oidc"
resp.verified_access_trust_provider.device_trust_provider_type #=> String, one of "jamf", "crowdstrike", "jumpcloud"
resp.verified_access_trust_provider.oidc_options.issuer #=> String
resp.verified_access_trust_provider.oidc_options.authorization_endpoint #=> String
resp.verified_access_trust_provider.oidc_options.token_endpoint #=> String
resp.verified_access_trust_provider.oidc_options. #=> String
resp.verified_access_trust_provider.oidc_options.client_id #=> String
resp.verified_access_trust_provider.oidc_options.client_secret #=> String
resp.verified_access_trust_provider.oidc_options.scope #=> String
resp.verified_access_trust_provider.device_options.tenant_id #=> String
resp.verified_access_trust_provider.device_options.public_signing_key_url #=> String
resp.verified_access_trust_provider.policy_reference_name #=> String
resp.verified_access_trust_provider.creation_time #=> String
resp.verified_access_trust_provider.last_updated_time #=> String
resp.verified_access_trust_provider.tags #=> Array
resp.verified_access_trust_provider.tags[0].key #=> String
resp.verified_access_trust_provider.tags[0].value #=> String
resp.verified_access_trust_provider.sse_specification.customer_managed_key_enabled #=> Boolean
resp.verified_access_trust_provider.sse_specification.kms_key_arn #=> String
resp.verified_access_trust_provider.native_application_oidc_options.public_signing_key_endpoint #=> String
resp.verified_access_trust_provider.native_application_oidc_options.issuer #=> String
resp.verified_access_trust_provider.native_application_oidc_options.authorization_endpoint #=> String
resp.verified_access_trust_provider.native_application_oidc_options.token_endpoint #=> String
resp.verified_access_trust_provider.native_application_oidc_options. #=> String
resp.verified_access_trust_provider.native_application_oidc_options.client_id #=> String
resp.verified_access_trust_provider.native_application_oidc_options.scope #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :verified_access_trust_provider_id (required, String)

    The ID of the Verified Access trust provider.

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



19855
19856
19857
19858
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19855

def delete_verified_access_trust_provider(params = {}, options = {})
  req = build_request(:delete_verified_access_trust_provider, params)
  req.send_request(options)
end

#delete_volume(params = {}) ⇒ Struct

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume can remain in the deleting state for several minutes.

For more information, see Delete an Amazon EBS volume in the Amazon EBS User Guide.

Examples:

Example: To delete a volume


# This example deletes an available volume with the volume ID of ``vol-049df61146c4d7901``. If the command succeeds, no
# output is returned.

resp = client.delete_volume({
  volume_id: "vol-049df61146c4d7901", 
})

resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.delete_volume({
  volume_id: "VolumeId", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :volume_id (required, String)

    The ID of the volume.

  • :dry_run (Boolean)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



19908
19909
19910
19911
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19908

def delete_volume(params = {}, options = {})
  req = build_request(:delete_volume, params)
  req.send_request(options)
end

#delete_vpc(params = {}) ⇒ Struct

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on. When you delete the VPC, it deletes the default security group, network ACL, and route table for the VPC.

If you created a flow log for the VPC that you are deleting, note that flow logs for deleted VPCs are eventually automatically removed.

Examples:

Example: To delete a VPC


# This example deletes the specified VPC.

resp = client.delete_vpc({
  vpc_id: "vpc-a01106c2", 
})

Request syntax with placeholder values


resp = client.delete_vpc({
  vpc_id: "VpcId", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :vpc_id (required, String)

    The ID of the VPC.

  • :dry_run (Boolean)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



19955
19956
19957
19958
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 19955

def delete_vpc(params = {}, options = {})
  req = build_request(:delete_vpc, params)
  req.send_request(options)
end

#delete_vpc_block_public_access_exclusion(params = {}) ⇒ Types::DeleteVpcBlockPublicAccessExclusionResult

Delete a VPC Block Public Access (BPA) exclusion. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_vpc_block_public_access_exclusion({
  dry_run: false,
  exclusion_id: "VpcBlockPublicAccessExclusionId", # required
})

Response structure


resp.vpc_block_public_access_exclusion.exclusion_id #=> String
resp.vpc_block_public_access_exclusion.internet_gateway_exclusion_mode #=> String, one of "allow-bidirectional", "allow-egress"
resp.vpc_block_public_access_exclusion.resource_arn #=> String
resp.vpc_block_public_access_exclusion.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "update-in-progress", "update-complete", "update-failed", "delete-in-progress", "delete-complete", "disable-in-progress", "disable-complete"
resp.vpc_block_public_access_exclusion.reason #=> String
resp.vpc_block_public_access_exclusion.creation_timestamp #=> Time
resp.vpc_block_public_access_exclusion.last_update_timestamp #=> Time
resp.vpc_block_public_access_exclusion.deletion_timestamp #=> Time
resp.vpc_block_public_access_exclusion.tags #=> Array
resp.vpc_block_public_access_exclusion.tags[0].key #=> String
resp.vpc_block_public_access_exclusion.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :exclusion_id (required, String)

    The ID of the exclusion.

Returns:

See Also:



20011
20012
20013
20014
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20011

def delete_vpc_block_public_access_exclusion(params = {}, options = {})
  req = build_request(:delete_vpc_block_public_access_exclusion, params)
  req.send_request(options)
end

#delete_vpc_endpoint_connection_notifications(params = {}) ⇒ Types::DeleteVpcEndpointConnectionNotificationsResult

Deletes the specified VPC endpoint connection notifications.

Examples:

Request syntax with placeholder values


resp = client.delete_vpc_endpoint_connection_notifications({
  dry_run: false,
  connection_notification_ids: ["ConnectionNotificationId"], # required
})

Response structure


resp.unsuccessful #=> Array
resp.unsuccessful[0].error.code #=> String
resp.unsuccessful[0].error.message #=> String
resp.unsuccessful[0].resource_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :connection_notification_ids (required, Array<String>)

    The IDs of the notifications.

Returns:

See Also:



20049
20050
20051
20052
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20049

def delete_vpc_endpoint_connection_notifications(params = {}, options = {})
  req = build_request(:delete_vpc_endpoint_connection_notifications, params)
  req.send_request(options)
end

#delete_vpc_endpoint_service_configurations(params = {}) ⇒ Types::DeleteVpcEndpointServiceConfigurationsResult

Deletes the specified VPC endpoint service configurations. Before you can delete an endpoint service configuration, you must reject any Available or PendingAcceptance interface endpoint connections that are attached to the service.

Examples:

Request syntax with placeholder values


resp = client.delete_vpc_endpoint_service_configurations({
  dry_run: false,
  service_ids: ["VpcEndpointServiceId"], # required
})

Response structure


resp.unsuccessful #=> Array
resp.unsuccessful[0].error.code #=> String
resp.unsuccessful[0].error.message #=> String
resp.unsuccessful[0].resource_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :service_ids (required, Array<String>)

    The IDs of the services.

Returns:

See Also:



20090
20091
20092
20093
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20090

def delete_vpc_endpoint_service_configurations(params = {}, options = {})
  req = build_request(:delete_vpc_endpoint_service_configurations, params)
  req.send_request(options)
end

#delete_vpc_endpoints(params = {}) ⇒ Types::DeleteVpcEndpointsResult

Deletes the specified VPC endpoints.

When you delete a gateway endpoint, we delete the endpoint routes in the route tables for the endpoint.

When you delete a Gateway Load Balancer endpoint, we delete its endpoint network interfaces. You can only delete Gateway Load Balancer endpoints when the routes that are associated with the endpoint are deleted.

When you delete an interface endpoint, we delete its endpoint network interfaces.

Examples:

Request syntax with placeholder values


resp = client.delete_vpc_endpoints({
  dry_run: false,
  vpc_endpoint_ids: ["VpcEndpointId"], # required
})

Response structure


resp.unsuccessful #=> Array
resp.unsuccessful[0].error.code #=> String
resp.unsuccessful[0].error.message #=> String
resp.unsuccessful[0].resource_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :vpc_endpoint_ids (required, Array<String>)

    The IDs of the VPC endpoints.

Returns:

See Also:



20139
20140
20141
20142
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20139

def delete_vpc_endpoints(params = {}, options = {})
  req = build_request(:delete_vpc_endpoints, params)
  req.send_request(options)
end

#delete_vpc_peering_connection(params = {}) ⇒ Types::DeleteVpcPeeringConnectionResult

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the accepter VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state. You cannot delete a VPC peering connection that's in the failed or rejected state.

Examples:

Request syntax with placeholder values


resp = client.delete_vpc_peering_connection({
  dry_run: false,
  vpc_peering_connection_id: "VpcPeeringConnectionId", # required
})

Response structure


resp.return #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :vpc_peering_connection_id (required, String)

    The ID of the VPC peering connection.

Returns:

See Also:



20179
20180
20181
20182
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20179

def delete_vpc_peering_connection(params = {}, options = {})
  req = build_request(:delete_vpc_peering_connection, params)
  req.send_request(options)
end

#delete_vpn_connection(params = {}) ⇒ Struct

Deletes the specified VPN connection.

If you're deleting the VPC and its associated components, we recommend that you detach the virtual private gateway from the VPC and delete the VPC before deleting the VPN connection. If you believe that the tunnel credentials for your VPN connection have been compromised, you can delete the VPN connection and create a new one that has new keys, without needing to delete the VPC or virtual private gateway. If you create a new VPN connection, you must reconfigure the customer gateway device using the new configuration information returned with the new VPN connection ID.

For certificate-based authentication, delete all Certificate Manager (ACM) private certificates used for the Amazon Web Services-side tunnel endpoints for the VPN connection before deleting the VPN connection.

Examples:

Request syntax with placeholder values


resp = client.delete_vpn_connection({
  vpn_connection_id: "VpnConnectionId", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :vpn_connection_id (required, String)

    The ID of the VPN connection.

  • :dry_run (Boolean)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



20223
20224
20225
20226
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20223

def delete_vpn_connection(params = {}, options = {})
  req = build_request(:delete_vpn_connection, params)
  req.send_request(options)
end

#delete_vpn_connection_route(params = {}) ⇒ Struct

Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

Examples:

Request syntax with placeholder values


resp = client.delete_vpn_connection_route({
  destination_cidr_block: "String", # required
  vpn_connection_id: "VpnConnectionId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :destination_cidr_block (required, String)

    The CIDR block associated with the local subnet of the customer network.

  • :vpn_connection_id (required, String)

    The ID of the VPN connection.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



20253
20254
20255
20256
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20253

def delete_vpn_connection_route(params = {}, options = {})
  req = build_request(:delete_vpn_connection_route, params)
  req.send_request(options)
end

#delete_vpn_gateway(params = {}) ⇒ Struct

Deletes the specified virtual private gateway. You must first detach the virtual private gateway from the VPC. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network.

Examples:

Request syntax with placeholder values


resp = client.delete_vpn_gateway({
  vpn_gateway_id: "VpnGatewayId", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :vpn_gateway_id (required, String)

    The ID of the virtual private gateway.

  • :dry_run (Boolean)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



20285
20286
20287
20288
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20285

def delete_vpn_gateway(params = {}, options = {})
  req = build_request(:delete_vpn_gateway, params)
  req.send_request(options)
end

#deprovision_byoip_cidr(params = {}) ⇒ Types::DeprovisionByoipCidrResult

Releases the specified address range that you provisioned for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and deletes the corresponding address pool.

Before you can release an address range, you must stop advertising it using WithdrawByoipCidr and you must not have any IP addresses allocated from its address range.

Examples:

Request syntax with placeholder values


resp = client.deprovision_byoip_cidr({
  cidr: "String", # required
  dry_run: false,
})

Response structure


resp.byoip_cidr.cidr #=> String
resp.byoip_cidr.description #=> String
resp.byoip_cidr.asn_associations #=> Array
resp.byoip_cidr.asn_associations[0].asn #=> String
resp.byoip_cidr.asn_associations[0].cidr #=> String
resp.byoip_cidr.asn_associations[0].status_message #=> String
resp.byoip_cidr.asn_associations[0].state #=> String, one of "disassociated", "failed-disassociation", "failed-association", "pending-disassociation", "pending-association", "associated"
resp.byoip_cidr.status_message #=> String
resp.byoip_cidr.state #=> String, one of "advertised", "deprovisioned", "failed-deprovision", "failed-provision", "pending-deprovision", "pending-provision", "provisioned", "provisioned-not-publicly-advertisable"
resp.byoip_cidr.network_border_group #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :cidr (required, String)

    The address range, in CIDR notation. The prefix must be the same prefix that you specified when you provisioned the address range.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



20336
20337
20338
20339
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20336

def deprovision_byoip_cidr(params = {}, options = {})
  req = build_request(:deprovision_byoip_cidr, params)
  req.send_request(options)
end

#deprovision_ipam_byoasn(params = {}) ⇒ Types::DeprovisionIpamByoasnResult

Deprovisions your Autonomous System Number (ASN) from your Amazon Web Services account. This action can only be called after any BYOIP CIDR associations are removed from your Amazon Web Services account with DisassociateIpamByoasn. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

Examples:

Request syntax with placeholder values


resp = client.deprovision_ipam_byoasn({
  dry_run: false,
  ipam_id: "IpamId", # required
  asn: "String", # required
})

Response structure


resp.byoasn.asn #=> String
resp.byoasn.ipam_id #=> String
resp.byoasn.status_message #=> String
resp.byoasn.state #=> String, one of "deprovisioned", "failed-deprovision", "failed-provision", "pending-deprovision", "pending-provision", "provisioned"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :ipam_id (required, String)

    The IPAM ID.

  • :asn (required, String)

    An ASN.

Returns:

See Also:



20387
20388
20389
20390
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20387

def deprovision_ipam_byoasn(params = {}, options = {})
  req = build_request(:deprovision_ipam_byoasn, params)
  req.send_request(options)
end

#deprovision_ipam_pool_cidr(params = {}) ⇒ Types::DeprovisionIpamPoolCidrResult

Deprovision a CIDR provisioned from an IPAM pool. If you deprovision a CIDR from a pool that has a source pool, the CIDR is recycled back into the source pool. For more information, see Deprovision pool CIDRs in the Amazon VPC IPAM User Guide.

Examples:

Request syntax with placeholder values


resp = client.deprovision_ipam_pool_cidr({
  dry_run: false,
  ipam_pool_id: "IpamPoolId", # required
  cidr: "String",
})

Response structure


resp.ipam_pool_cidr.cidr #=> String
resp.ipam_pool_cidr.state #=> String, one of "pending-provision", "provisioned", "failed-provision", "pending-deprovision", "deprovisioned", "failed-deprovision", "pending-import", "failed-import"
resp.ipam_pool_cidr.failure_reason.code #=> String, one of "cidr-not-available", "limit-exceeded"
resp.ipam_pool_cidr.failure_reason.message #=> String
resp.ipam_pool_cidr.ipam_pool_cidr_id #=> String
resp.ipam_pool_cidr.netmask_length #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :ipam_pool_id (required, String)

    The ID of the pool that has the CIDR you want to deprovision.

  • :cidr (String)

    The CIDR which you want to deprovision from the pool.

Returns:

See Also:



20438
20439
20440
20441
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20438

def deprovision_ipam_pool_cidr(params = {}, options = {})
  req = build_request(:deprovision_ipam_pool_cidr, params)
  req.send_request(options)
end

#deprovision_public_ipv_4_pool_cidr(params = {}) ⇒ Types::DeprovisionPublicIpv4PoolCidrResult

Deprovision a CIDR from a public IPv4 pool.

Examples:

Request syntax with placeholder values


resp = client.deprovision_public_ipv_4_pool_cidr({
  dry_run: false,
  pool_id: "Ipv4PoolEc2Id", # required
  cidr: "String", # required
})

Response structure


resp.pool_id #=> String
resp.deprovisioned_addresses #=> Array
resp.deprovisioned_addresses[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    A check for 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.

  • :pool_id (required, String)

    The ID of the pool that you want to deprovision the CIDR from.

  • :cidr (required, String)

    The CIDR you want to deprovision from the pool. Enter the CIDR you want to deprovision with a netmask of /32. You must rerun this command for each IP address in the CIDR range. If your CIDR is a /24, you will have to run this command to deprovision each of the 256 IP addresses in the /24 CIDR.

Returns:

See Also:



20484
20485
20486
20487
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20484

def deprovision_public_ipv_4_pool_cidr(params = {}, options = {})
  req = build_request(:deprovision_public_ipv_4_pool_cidr, params)
  req.send_request(options)
end

#deregister_image(params = {}) ⇒ Struct

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances.

If you deregister an AMI that matches a Recycle Bin retention rule, the AMI is retained in the Recycle Bin for the specified retention period. For more information, see Recycle Bin in the Amazon EC2 User Guide.

When you deregister an AMI, it doesn't affect any instances that you've already launched from the AMI. You'll continue to incur usage costs for those instances until you terminate them.

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was created for the root volume of the instance during the AMI creation process. When you deregister an instance store-backed AMI, it doesn't affect the files that you uploaded to Amazon S3 when you created the AMI.

Examples:

Request syntax with placeholder values


resp = client.deregister_image({
  image_id: "ImageId", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :image_id (required, String)

    The ID of the AMI.

  • :dry_run (Boolean)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



20533
20534
20535
20536
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20533

def deregister_image(params = {}, options = {})
  req = build_request(:deregister_image, params)
  req.send_request(options)
end

#deregister_instance_event_notification_attributes(params = {}) ⇒ Types::DeregisterInstanceEventNotificationAttributesResult

Deregisters tag keys to prevent tags that have the specified tag keys from being included in scheduled event notifications for resources in the Region.

Examples:

Request syntax with placeholder values


resp = client.deregister_instance_event_notification_attributes({
  dry_run: false,
  instance_tag_attribute: { # required
    include_all_tags_of_instance: false,
    instance_tag_keys: ["String"],
  },
})

Response structure


resp.instance_tag_attribute.instance_tag_keys #=> Array
resp.instance_tag_attribute.instance_tag_keys[0] #=> String
resp.instance_tag_attribute.include_all_tags_of_instance #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :instance_tag_attribute (required, Types::DeregisterInstanceTagAttributeRequest)

    Information about the tag keys to deregister.

Returns:

See Also:



20575
20576
20577
20578
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20575

def deregister_instance_event_notification_attributes(params = {}, options = {})
  req = build_request(:deregister_instance_event_notification_attributes, params)
  req.send_request(options)
end

#deregister_transit_gateway_multicast_group_members(params = {}) ⇒ Types::DeregisterTransitGatewayMulticastGroupMembersResult

Deregisters the specified members (network interfaces) from the transit gateway multicast group.

Examples:

Request syntax with placeholder values


resp = client.deregister_transit_gateway_multicast_group_members({
  transit_gateway_multicast_domain_id: "TransitGatewayMulticastDomainId",
  group_ip_address: "String",
  network_interface_ids: ["NetworkInterfaceId"],
  dry_run: false,
})

Response structure


resp.deregistered_multicast_group_members.transit_gateway_multicast_domain_id #=> String
resp.deregistered_multicast_group_members.deregistered_network_interface_ids #=> Array
resp.deregistered_multicast_group_members.deregistered_network_interface_ids[0] #=> String
resp.deregistered_multicast_group_members.group_ip_address #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_multicast_domain_id (String)

    The ID of the transit gateway multicast domain.

  • :group_ip_address (String)

    The IP address assigned to the transit gateway multicast group.

  • :network_interface_ids (Array<String>)

    The IDs of the group members' network interfaces.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



20622
20623
20624
20625
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20622

def deregister_transit_gateway_multicast_group_members(params = {}, options = {})
  req = build_request(:deregister_transit_gateway_multicast_group_members, params)
  req.send_request(options)
end

#deregister_transit_gateway_multicast_group_sources(params = {}) ⇒ Types::DeregisterTransitGatewayMulticastGroupSourcesResult

Deregisters the specified sources (network interfaces) from the transit gateway multicast group.

Examples:

Request syntax with placeholder values


resp = client.deregister_transit_gateway_multicast_group_sources({
  transit_gateway_multicast_domain_id: "TransitGatewayMulticastDomainId",
  group_ip_address: "String",
  network_interface_ids: ["NetworkInterfaceId"],
  dry_run: false,
})

Response structure


resp.deregistered_multicast_group_sources.transit_gateway_multicast_domain_id #=> String
resp.deregistered_multicast_group_sources.deregistered_network_interface_ids #=> Array
resp.deregistered_multicast_group_sources.deregistered_network_interface_ids[0] #=> String
resp.deregistered_multicast_group_sources.group_ip_address #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :transit_gateway_multicast_domain_id (String)

    The ID of the transit gateway multicast domain.

  • :group_ip_address (String)

    The IP address assigned to the transit gateway multicast group.

  • :network_interface_ids (Array<String>)

    The IDs of the group sources' network interfaces.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



20669
20670
20671
20672
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20669

def deregister_transit_gateway_multicast_group_sources(params = {}, options = {})
  req = build_request(:deregister_transit_gateway_multicast_group_sources, params)
  req.send_request(options)
end

#describe_account_attributes(params = {}) ⇒ Types::DescribeAccountAttributesResult

Describes attributes of your Amazon Web Services account. The following are the supported account attributes:

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: This attribute is no longer supported. The returned value does not reflect your actual vCPU limit for running On-Demand Instances. For more information, see On-Demand Instance Limits in the Amazon Elastic Compute Cloud User Guide.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • supported-platforms: This attribute is deprecated.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Examples:

Example: To describe a single attribute for your AWS account


# This example describes the supported-platforms attribute for your AWS account.

resp = client.({
  attribute_names: [
    "supported-platforms", 
  ], 
})

resp.to_h outputs the following:
{
  account_attributes: [
    {
      attribute_name: "supported-platforms", 
      attribute_values: [
        {
          attribute_value: "EC2", 
        }, 
        {
          attribute_value: "VPC", 
        }, 
      ], 
    }, 
  ], 
}

Example: To describe all attributes for your AWS account


# This example describes the attributes for your AWS account.

resp = client.({
})

resp.to_h outputs the following:
{
  account_attributes: [
    {
      attribute_name: "supported-platforms", 
      attribute_values: [
        {
          attribute_value: "EC2", 
        }, 
        {
          attribute_value: "VPC", 
        }, 
      ], 
    }, 
    {
      attribute_name: "vpc-max-security-groups-per-interface", 
      attribute_values: [
        {
          attribute_value: "5", 
        }, 
      ], 
    }, 
    {
      attribute_name: "max-elastic-ips", 
      attribute_values: [
        {
          attribute_value: "5", 
        }, 
      ], 
    }, 
    {
      attribute_name: "max-instances", 
      attribute_values: [
        {
          attribute_value: "20", 
        }, 
      ], 
    }, 
    {
      attribute_name: "vpc-max-elastic-ips", 
      attribute_values: [
        {
          attribute_value: "5", 
        }, 
      ], 
    }, 
    {
      attribute_name: "default-vpc", 
      attribute_values: [
        {
          attribute_value: "none", 
        }, 
      ], 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.({
  dry_run: false,
  attribute_names: ["supported-platforms"], # accepts supported-platforms, default-vpc
})

Response structure


resp. #=> Array
resp.[0].attribute_name #=> String
resp.[0].attribute_values #=> Array
resp.[0].attribute_values[0].attribute_value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :attribute_names (Array<String>)

    The account attribute names.

Returns:

See Also:



20829
20830
20831
20832
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20829

def (params = {}, options = {})
  req = build_request(:describe_account_attributes, params)
  req.send_request(options)
end

#describe_address_transfers(params = {}) ⇒ Types::DescribeAddressTransfersResult

Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

When you transfer an Elastic IP address, there is a two-step handshake between the source and transfer Amazon Web Services accounts. When the source account starts the transfer, the transfer account has seven days to accept the Elastic IP address transfer. During those seven days, the source account can view the pending transfer by using this action. After seven days, the transfer expires and ownership of the Elastic IP address returns to the source account. Accepted transfers are visible to the source account for 14 days after the transfers have been accepted.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_address_transfers({
  allocation_ids: ["AllocationId"],
  next_token: "String",
  max_results: 1,
  dry_run: false,
})

Response structure


resp.address_transfers #=> Array
resp.address_transfers[0].public_ip #=> String
resp.address_transfers[0].allocation_id #=> String
resp.address_transfers[0]. #=> String
resp.address_transfers[0].transfer_offer_expiration_timestamp #=> Time
resp.address_transfers[0].transfer_offer_accepted_timestamp #=> Time
resp.address_transfers[0].address_transfer_status #=> String, one of "pending", "disabled", "accepted"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :allocation_ids (Array<String>)

    The allocation IDs of Elastic IP addresses.

  • :next_token (String)

    Specify the pagination token from a previous request to retrieve the next page of results.

  • :max_results (Integer)

    The maximum number of address transfers to return in one page of results.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



20899
20900
20901
20902
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 20899

def describe_address_transfers(params = {}, options = {})
  req = build_request(:describe_address_transfers, params)
  req.send_request(options)
end

#describe_addresses(params = {}) ⇒ Types::DescribeAddressesResult

Describes the specified Elastic IP addresses or all of your Elastic IP addresses.

Examples:

Example: To describe your Elastic IP addresses


# This example describes your Elastic IP addresses.

resp = client.describe_addresses({
})

resp.to_h outputs the following:
{
  addresses: [
    {
      domain: "standard", 
      instance_id: "i-1234567890abcdef0", 
      public_ip: "198.51.100.0", 
    }, 
    {
      allocation_id: "eipalloc-12345678", 
      association_id: "eipassoc-12345678", 
      domain: "vpc", 
      instance_id: "i-1234567890abcdef0", 
      network_interface_id: "eni-12345678", 
      network_interface_owner_id: "123456789012", 
      private_ip_address: "10.0.1.241", 
      public_ip: "203.0.113.0", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_addresses({
  public_ips: ["String"],
  dry_run: false,
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  allocation_ids: ["AllocationId"],
})

Response structure


resp.addresses #=> Array
resp.addresses[0].allocation_id #=> String
resp.addresses[0].association_id #=> String
resp.addresses[0].domain #=> String, one of "vpc", "standard"
resp.addresses[0].network_interface_id #=> String
resp.addresses[0].network_interface_owner_id #=> String
resp.addresses[0].private_ip_address #=> String
resp.addresses[0].tags #=> Array
resp.addresses[0].tags[0].key #=> String
resp.addresses[0].tags[0].value #=> String
resp.addresses[0].public_ipv_4_pool #=> String
resp.addresses[0].network_border_group #=> String
resp.addresses[0].customer_owned_ip #=> String
resp.addresses[0].customer_owned_ipv_4_pool #=> String
resp.addresses[0].carrier_ip #=> String
resp.addresses[0].service_managed #=> String, one of "alb", "nlb"
resp.addresses[0].instance_id #=> String
resp.addresses[0].public_ip #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :public_ips (Array<String>)

    One or more Elastic IP addresses.

    Default: Describes all your Elastic IP addresses.

  • :dry_run (Boolean)

    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.

  • :filters (Array<Types::Filter>)

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

    • allocation-id - The allocation ID for the address.

    • association-id - The association ID for the address.

    • instance-id - The ID of the instance the address is associated with, if any.

    • network-border-group - A unique set of Availability Zones, Local Zones, or Wavelength Zones from where Amazon Web Services advertises IP addresses.

    • network-interface-id - The ID of the network interface that the address is associated with, if any.

    • network-interface-owner-id - The Amazon Web Services account ID of the owner.

    • private-ip-address - The private IP address associated with the Elastic IP address.

    • public-ip - The Elastic IP address, or the carrier IP address.

    • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • :allocation_ids (Array<String>)

    Information about the allocation IDs.

Returns:

See Also:



21028
21029
21030
21031
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 21028

def describe_addresses(params = {}, options = {})
  req = build_request(:describe_addresses, params)
  req.send_request(options)
end

#describe_addresses_attribute(params = {}) ⇒ Types::DescribeAddressesAttributeResult

Describes the attributes of the specified Elastic IP addresses. For requirements, see Using reverse DNS for email applications.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_addresses_attribute({
  allocation_ids: ["AllocationId"],
  attribute: "domain-name", # accepts domain-name
  next_token: "NextToken",
  max_results: 1,
  dry_run: false,
})

Response structure


resp.addresses #=> Array
resp.addresses[0].public_ip #=> String
resp.addresses[0].allocation_id #=> String
resp.addresses[0].ptr_record #=> String
resp.addresses[0].ptr_record_update.value #=> String
resp.addresses[0].ptr_record_update.status #=> String
resp.addresses[0].ptr_record_update.reason #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :allocation_ids (Array<String>)

    [EC2-VPC] The allocation IDs.

  • :attribute (String)

    The attribute of the IP address.

  • :next_token (String)

    The token for the next page of results.

  • :max_results (Integer)

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



21092
21093
21094
21095
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 21092

def describe_addresses_attribute(params = {}, options = {})
  req = build_request(:describe_addresses_attribute, params)
  req.send_request(options)
end

#describe_aggregate_id_format(params = {}) ⇒ Types::DescribeAggregateIdFormatResult

Describes the longer ID format settings for all resource types in a specific Region. This request is useful for performing a quick audit to determine whether a specific Region is fully opted in for longer IDs (17-character IDs).

This request only returns information about resource types that support longer IDs.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

Examples:

Request syntax with placeholder values


resp = client.describe_aggregate_id_format({
  dry_run: false,
})

Response structure


resp.use_long_ids_aggregated #=> Boolean
resp.statuses #=> Array
resp.statuses[0].deadline #=> Time
resp.statuses[0].resource #=> String
resp.statuses[0].use_long_ids #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

Returns:

See Also:



21146
21147
21148
21149
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 21146

def describe_aggregate_id_format(params = {}, options = {})
  req = build_request(:describe_aggregate_id_format, params)
  req.send_request(options)
end

#describe_availability_zones(params = {}) ⇒ Types::DescribeAvailabilityZonesResult

Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you. If there is an event impacting a zone, you can use this request to view the state and any provided messages for that zone.

For more information about Availability Zones, Local Zones, and Wavelength Zones, see Regions and zones in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Examples:

Example: To describe your Availability Zones


# This example describes the Availability Zones that are available to you. The response includes Availability Zones only
# for the current region.

resp = client.describe_availability_zones({
})

resp.to_h outputs the following:
{
  availability_zones: [
    {
      messages: [
      ], 
      region_name: "us-east-1", 
      state: "available", 
      zone_name: "us-east-1b", 
    }, 
    {
      messages: [
      ], 
      region_name: "us-east-1", 
      state: "available", 
      zone_name: "us-east-1c", 
    }, 
    {
      messages: [
      ], 
      region_name: "us-east-1", 
      state: "available", 
      zone_name: "us-east-1d", 
    }, 
    {
      messages: [
      ], 
      region_name: "us-east-1", 
      state: "available", 
      zone_name: "us-east-1e", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_availability_zones({
  zone_names: ["String"],
  zone_ids: ["String"],
  all_availability_zones: false,
  dry_run: false,
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
})

Response structure


resp.availability_zones #=> Array
resp.availability_zones[0].opt_in_status #=> String, one of "opt-in-not-required", "opted-in", "not-opted-in"
resp.availability_zones[0].messages #=> Array
resp.availability_zones[0].messages[0].message #=> String
resp.availability_zones[0].region_name #=> String
resp.availability_zones[0].zone_name #=> String
resp.availability_zones[0].zone_id #=> String
resp.availability_zones[0].group_name #=> String
resp.availability_zones[0].network_border_group #=> String
resp.availability_zones[0].zone_type #=> String
resp.availability_zones[0].parent_zone_name #=> String
resp.availability_zones[0].parent_zone_id #=> String
resp.availability_zones[0].state #=> String, one of "available", "information", "impaired", "unavailable", "constrained"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :zone_names (Array<String>)

    The names of the Availability Zones, Local Zones, and Wavelength Zones.

  • :zone_ids (Array<String>)

    The IDs of the Availability Zones, Local Zones, and Wavelength Zones.

  • :all_availability_zones (Boolean)

    Include all Availability Zones, Local Zones, and Wavelength Zones regardless of your opt-in status.

    If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.

  • :dry_run (Boolean)

    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.

  • :filters (Array<Types::Filter>)

    The filters.

    • group-name - The name of the zone group for the Availability Zone (for example, us-east-1-zg-1), the Local Zone (for example, us-west-2-lax-1), or the Wavelength Zone (for example, us-east-1-wl1).

    • message - The Zone message.

    • opt-in-status - The opt-in status (opted-in | not-opted-in | opt-in-not-required).

    • parent-zone-id - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

    • parent-zone-name - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

    • region-name - The name of the Region for the Zone (for example, us-east-1).

    • state - The state of the Availability Zone, the Local Zone, or the Wavelength Zone (available).

    • zone-id - The ID of the Availability Zone (for example, use1-az1), the Local Zone (for example, usw2-lax1-az1), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

    • zone-name - The name of the Availability Zone (for example, us-east-1a), the Local Zone (for example, us-west-2-lax-1a), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

    • zone-type - The type of zone (availability-zone | local-zone | wavelength-zone).

Returns:

See Also:



21310
21311
21312
21313
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 21310

def describe_availability_zones(params = {}, options = {})
  req = build_request(:describe_availability_zones, params)
  req.send_request(options)
end

#describe_aws_network_performance_metric_subscriptions(params = {}) ⇒ Types::DescribeAwsNetworkPerformanceMetricSubscriptionsResult

Describes the current Infrastructure Performance metric subscriptions.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_aws_network_performance_metric_subscriptions({
  max_results: 1,
  next_token: "String",
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  dry_run: false,
})

Response structure


resp.next_token #=> String
resp.subscriptions #=> Array
resp.subscriptions[0].source #=> String
resp.subscriptions[0].destination #=> String
resp.subscriptions[0].metric #=> String, one of "aggregate-latency"
resp.subscriptions[0].statistic #=> String, one of "p50"
resp.subscriptions[0].period #=> String, one of "five-minutes", "fifteen-minutes", "one-hour", "three-hours", "one-day", "one-week"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

  • :next_token (String)

    The token for the next page of results.

  • :filters (Array<Types::Filter>)

    One or more filters.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



21369
21370
21371
21372
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 21369

def describe_aws_network_performance_metric_subscriptions(params = {}, options = {})
  req = build_request(:describe_aws_network_performance_metric_subscriptions, params)
  req.send_request(options)
end

#describe_bundle_tasks(params = {}) ⇒ Types::DescribeBundleTasksResult

Describes the specified bundle tasks or all of your bundle tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

The following waiters are defined for this operation (see #wait_until for detailed usage):

  • bundle_task_complete

Examples:

Request syntax with placeholder values


resp = client.describe_bundle_tasks({
  bundle_ids: ["BundleId"],
  dry_run: false,
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
})

Response structure


resp.bundle_tasks #=> Array
resp.bundle_tasks[0].instance_id #=> String
resp.bundle_tasks[0].bundle_id #=> String
resp.bundle_tasks[0].state #=> String, one of "pending", "waiting-for-shutdown", "bundling", "storing", "cancelling", "complete", "failed"
resp.bundle_tasks[0].start_time #=> Time
resp.bundle_tasks[0].update_time #=> Time
resp.bundle_tasks[0].storage.s3.aws_access_key_id #=> String
resp.bundle_tasks[0].storage.s3.bucket #=> String
resp.bundle_tasks[0].storage.s3.prefix #=> String
resp.bundle_tasks[0].storage.s3.upload_policy #=> String
resp.bundle_tasks[0].storage.s3.upload_policy_signature #=> String
resp.bundle_tasks[0].progress #=> String
resp.bundle_tasks[0].bundle_task_error.code #=> String
resp.bundle_tasks[0].bundle_task_error.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :bundle_ids (Array<String>)

    The bundle task IDs.

    Default: Describes all your bundle tasks.

  • :dry_run (Boolean)

    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.

  • :filters (Array<Types::Filter>)

    The filters.

    • bundle-id - The ID of the bundle task.

    • error-code - If the task failed, the error code returned.

    • error-message - If the task failed, the error message returned.

    • instance-id - The ID of the instance.

    • progress - The level of task completion, as a percentage (for example, 20%).

    • s3-bucket - The Amazon S3 bucket to store the AMI.

    • s3-prefix - The beginning of the AMI name.

    • start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

    • state - The state of the task (pending | waiting-for-shutdown | bundling | storing | cancelling | complete | failed).

    • update-time - The time of the most recent update for the task.

Returns:

See Also:



21470
21471
21472
21473
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 21470

def describe_bundle_tasks(params = {}, options = {})
  req = build_request(:describe_bundle_tasks, params)
  req.send_request(options)
end

#describe_byoip_cidrs(params = {}) ⇒ Types::DescribeByoipCidrsResult

Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.

To describe the address pools that were created when you provisioned the address ranges, use DescribePublicIpv4Pools or DescribeIpv6Pools.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_byoip_cidrs({
  dry_run: false,
  max_results: 1, # required
  next_token: "NextToken",
})

Response structure


resp.byoip_cidrs #=> Array
resp.byoip_cidrs[0].cidr #=> String
resp.byoip_cidrs[0].description #=> String
resp.byoip_cidrs[0].asn_associations #=> Array
resp.byoip_cidrs[0].asn_associations[0].asn #=> String
resp.byoip_cidrs[0].asn_associations[0].cidr #=> String
resp.byoip_cidrs[0].asn_associations[0].status_message #=> String
resp.byoip_cidrs[0].asn_associations[0].state #=> String, one of "disassociated", "failed-disassociation", "failed-association", "pending-disassociation", "pending-association", "associated"
resp.byoip_cidrs[0].status_message #=> String
resp.byoip_cidrs[0].state #=> String, one of "advertised", "deprovisioned", "failed-deprovision", "failed-provision", "pending-deprovision", "pending-provision", "provisioned", "provisioned-not-publicly-advertisable"
resp.byoip_cidrs[0].network_border_group #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :max_results (required, Integer)

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

  • :next_token (String)

    The token for the next page of results.

Returns:

See Also:



21529
21530
21531
21532
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 21529

def describe_byoip_cidrs(params = {}, options = {})
  req = build_request(:describe_byoip_cidrs, params)
  req.send_request(options)
end

#describe_capacity_block_extension_history(params = {}) ⇒ Types::DescribeCapacityBlockExtensionHistoryResult

Describes the events for the specified Capacity Block extension during the specified time.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_capacity_block_extension_history({
  capacity_reservation_ids: ["CapacityReservationId"],
  next_token: "String",
  max_results: 1,
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  dry_run: false,
})

Response structure


resp.capacity_block_extensions #=> Array
resp.capacity_block_extensions[0].capacity_reservation_id #=> String
resp.capacity_block_extensions[0].instance_type #=> String
resp.capacity_block_extensions[0].instance_count #=> Integer
resp.capacity_block_extensions[0].availability_zone #=> String
resp.capacity_block_extensions[0].availability_zone_id #=> String
resp.capacity_block_extensions[0].capacity_block_extension_offering_id #=> String
resp.capacity_block_extensions[0].capacity_block_extension_duration_hours #=> Integer
resp.capacity_block_extensions[0].capacity_block_extension_status #=> String, one of "payment-pending", "payment-failed", "payment-succeeded"
resp.capacity_block_extensions[0].capacity_block_extension_purchase_date #=> Time
resp.capacity_block_extensions[0].capacity_block_extension_start_date #=> Time
resp.capacity_block_extensions[0].capacity_block_extension_end_date #=> Time
resp.capacity_block_extensions[0].upfront_fee #=> String
resp.capacity_block_extensions[0].currency_code #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :capacity_reservation_ids (Array<String>)

    The IDs of Capacity Block reservations that you want to display the history for.

  • :next_token (String)

    The token to use to retrieve the next page of results.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :filters (Array<Types::Filter>)

    One or more filters

    • availability-zone - The Availability Zone of the extension.

    • availability-zone-id - The Availability Zone ID of the extension.

    • capacity-block-extension-offering-id - The ID of the extension offering.

    • capacity-block-extension-status - The status of the extension (payment-pending | payment-failed | payment-succeeded).

    • capacity-reservation-id - The reservation ID of the extension.

    • instance-type - The instance type of the extension.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



21620
21621
21622
21623
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 21620

def describe_capacity_block_extension_history(params = {}, options = {})
  req = build_request(:describe_capacity_block_extension_history, params)
  req.send_request(options)
end

#describe_capacity_block_extension_offerings(params = {}) ⇒ Types::DescribeCapacityBlockExtensionOfferingsResult

Describes Capacity Block extension offerings available for purchase in the Amazon Web Services Region that you're currently using.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_capacity_block_extension_offerings({
  dry_run: false,
  capacity_block_extension_duration_hours: 1, # required
  capacity_reservation_id: "CapacityReservationId", # required
  next_token: "String",
  max_results: 1,
})

Response structure


resp.capacity_block_extension_offerings #=> Array
resp.capacity_block_extension_offerings[0].capacity_block_extension_offering_id #=> String
resp.capacity_block_extension_offerings[0].instance_type #=> String
resp.capacity_block_extension_offerings[0].instance_count #=> Integer
resp.capacity_block_extension_offerings[0].availability_zone #=> String
resp.capacity_block_extension_offerings[0].availability_zone_id #=> String
resp.capacity_block_extension_offerings[0].start_date #=> Time
resp.capacity_block_extension_offerings[0].capacity_block_extension_start_date #=> Time
resp.capacity_block_extension_offerings[0].capacity_block_extension_end_date #=> Time
resp.capacity_block_extension_offerings[0].capacity_block_extension_duration_hours #=> Integer
resp.capacity_block_extension_offerings[0].upfront_fee #=> String
resp.capacity_block_extension_offerings[0].currency_code #=> String
resp.capacity_block_extension_offerings[0].tenancy #=> String, one of "default", "dedicated"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :capacity_block_extension_duration_hours (required, Integer)

    The duration of the Capacity Block extension offering in hours.

  • :capacity_reservation_id (required, String)

    The ID of the Capacity reservation to be extended.

  • :next_token (String)

    The token to use to retrieve the next page of results.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

Returns:

See Also:



21690
21691
21692
21693
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 21690

def describe_capacity_block_extension_offerings(params = {}, options = {})
  req = build_request(:describe_capacity_block_extension_offerings, params)
  req.send_request(options)
end

#describe_capacity_block_offerings(params = {}) ⇒ Types::DescribeCapacityBlockOfferingsResult

Describes Capacity Block offerings available for purchase in the Amazon Web Services Region that you're currently using. With Capacity Blocks, you purchase a specific instance type for a period of time.

To search for an available Capacity Block offering, you specify a reservation duration and instance count. You must select one of the following options.

  • For reservation durations 1-day increments up 14 days and 7-day increments up to 182 days total

  • For instance count 1, 2, 4, 8, 16, 32, or 64 instances

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_capacity_block_offerings({
  dry_run: false,
  instance_type: "String",
  instance_count: 1,
  start_date_range: Time.now,
  end_date_range: Time.now,
  capacity_duration_hours: 1, # required
  next_token: "String",
  max_results: 1,
})

Response structure


resp.capacity_block_offerings #=> Array
resp.capacity_block_offerings[0].capacity_block_offering_id #=> String
resp.capacity_block_offerings[0].instance_type #=> String
resp.capacity_block_offerings[0].availability_zone #=> String
resp.capacity_block_offerings[0].instance_count #=> Integer
resp.capacity_block_offerings[0].start_date #=> Time
resp.capacity_block_offerings[0].end_date #=> Time
resp.capacity_block_offerings[0].capacity_block_duration_hours #=> Integer
resp.capacity_block_offerings[0].upfront_fee #=> String
resp.capacity_block_offerings[0].currency_code #=> String
resp.capacity_block_offerings[0].tenancy #=> String, one of "default", "dedicated"
resp.capacity_block_offerings[0].capacity_block_duration_minutes #=> Integer
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :instance_type (String)

    The type of instance for which the Capacity Block offering reserves capacity.

  • :instance_count (Integer)

    The number of instances for which to reserve capacity.

  • :start_date_range (Time, DateTime, Date, Integer, String)

    The earliest start date for the Capacity Block offering.

  • :end_date_range (Time, DateTime, Date, Integer, String)

    The latest end date for the Capacity Block offering.

  • :capacity_duration_hours (required, Integer)

    The number of hours for which to reserve Capacity Block.

  • :next_token (String)

    The token to use to retrieve the next page of results.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

Returns:

See Also:



21782
21783
21784
21785
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 21782

def describe_capacity_block_offerings(params = {}, options = {})
  req = build_request(:describe_capacity_block_offerings, params)
  req.send_request(options)
end

#describe_capacity_reservation_billing_requests(params = {}) ⇒ Types::DescribeCapacityReservationBillingRequestsResult

Describes a request to assign the billing of the unused capacity of a Capacity Reservation. For more information, see Billing assignment for shared Amazon EC2 Capacity Reservations.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_capacity_reservation_billing_requests({
  capacity_reservation_ids: ["CapacityReservationId"],
  role: "odcr-owner", # required, accepts odcr-owner, unused-reservation-billing-owner
  next_token: "String",
  max_results: 1,
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  dry_run: false,
})

Response structure


resp.next_token #=> String
resp.capacity_reservation_billing_requests #=> Array
resp.capacity_reservation_billing_requests[0].capacity_reservation_id #=> String
resp.capacity_reservation_billing_requests[0].requested_by #=> String
resp.capacity_reservation_billing_requests[0].unused_reservation_billing_owner_id #=> String
resp.capacity_reservation_billing_requests[0].last_update_time #=> Time
resp.capacity_reservation_billing_requests[0].status #=> String, one of "pending", "accepted", "rejected", "cancelled", "revoked", "expired"
resp.capacity_reservation_billing_requests[0].status_message #=> String
resp.capacity_reservation_billing_requests[0].capacity_reservation_info.instance_type #=> String
resp.capacity_reservation_billing_requests[0].capacity_reservation_info.availability_zone #=> String
resp.capacity_reservation_billing_requests[0].capacity_reservation_info.tenancy #=> String, one of "default", "dedicated"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :capacity_reservation_ids (Array<String>)

    The ID of the Capacity Reservation.

  • :role (required, String)

    Specify one of the following:

    • odcr-owner - If you are the Capacity Reservation owner, specify this value to view requests that you have initiated. Not supported with the requested-by filter.

    • unused-reservation-billing-owner - If you are the consumer account, specify this value to view requests that have been sent to you. Not supported with the unused-reservation-billing-owner filter.

  • :next_token (String)

    The token to use to retrieve the next page of results.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :filters (Array<Types::Filter>)

    One or more filters.

    • status - The state of the request (pending | accepted | rejected | cancelled | revoked | expired).

    • requested-by - The account ID of the Capacity Reservation owner that initiated the request. Not supported if you specify requested-by for Role.

    • unused-reservation-billing-owner - The ID of the consumer account to which the request was sent. Not supported if you specify unused-reservation-billing-owner for Role.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



21883
21884
21885
21886
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 21883

def describe_capacity_reservation_billing_requests(params = {}, options = {})
  req = build_request(:describe_capacity_reservation_billing_requests, params)
  req.send_request(options)
end

#describe_capacity_reservation_fleets(params = {}) ⇒ Types::DescribeCapacityReservationFleetsResult

Describes one or more Capacity Reservation Fleets.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_capacity_reservation_fleets({
  capacity_reservation_fleet_ids: ["CapacityReservationFleetId"],
  next_token: "String",
  max_results: 1,
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  dry_run: false,
})

Response structure


resp.capacity_reservation_fleets #=> Array
resp.capacity_reservation_fleets[0].capacity_reservation_fleet_id #=> String
resp.capacity_reservation_fleets[0].capacity_reservation_fleet_arn #=> String
resp.capacity_reservation_fleets[0].state #=> String, one of "submitted", "modifying", "active", "partially_fulfilled", "expiring", "expired", "cancelling", "cancelled", "failed"
resp.capacity_reservation_fleets[0].total_target_capacity #=> Integer
resp.capacity_reservation_fleets[0].total_fulfilled_capacity #=> Float
resp.capacity_reservation_fleets[0].tenancy #=> String, one of "default"
resp.capacity_reservation_fleets[0].end_date #=> Time
resp.capacity_reservation_fleets[0].create_time #=> Time
resp.capacity_reservation_fleets[0].instance_match_criteria #=> String, one of "open"
resp.capacity_reservation_fleets[0].allocation_strategy #=> String
resp.capacity_reservation_fleets[0].instance_type_specifications #=> Array
resp.capacity_reservation_fleets[0].instance_type_specifications[0].capacity_reservation_id #=> String
resp.capacity_reservation_fleets[0].instance_type_specifications[0].availability_zone_id #=> String
resp.capacity_reservation_fleets[0].instance_type_specifications[0].instance_type #=> String, one of "a1.medium", "a1.large", "a1.xlarge", "a1.2xlarge", "a1.4xlarge", "a1.metal", "c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.12xlarge", "c5.18xlarge", "c5.24xlarge", "c5.metal", "c5a.large", "c5a.xlarge", "c5a.2xlarge", "c5a.4xlarge", "c5a.8xlarge", "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", "c5ad.large", "c5ad.xlarge", "c5ad.2xlarge", "c5ad.4xlarge", "c5ad.8xlarge", "c5ad.12xlarge", "c5ad.16xlarge", "c5ad.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", "c5d.4xlarge", "c5d.9xlarge", "c5d.12xlarge", "c5d.18xlarge", "c5d.24xlarge", "c5d.metal", "c5n.large", "c5n.xlarge", "c5n.2xlarge", "c5n.4xlarge", "c5n.9xlarge", "c5n.18xlarge", "c5n.metal", "c6g.medium", "c6g.large", "c6g.xlarge", "c6g.2xlarge", "c6g.4xlarge", "c6g.8xlarge", "c6g.12xlarge", "c6g.16xlarge", "c6g.metal", "c6gd.medium", "c6gd.large", "c6gd.xlarge", "c6gd.2xlarge", "c6gd.4xlarge", "c6gd.8xlarge", "c6gd.12xlarge", "c6gd.16xlarge", "c6gd.metal", "c6gn.medium", "c6gn.large", "c6gn.xlarge", "c6gn.2xlarge", "c6gn.4xlarge", "c6gn.8xlarge", "c6gn.12xlarge", "c6gn.16xlarge", "c6i.large", "c6i.xlarge", "c6i.2xlarge", "c6i.4xlarge", "c6i.8xlarge", "c6i.12xlarge", "c6i.16xlarge", "c6i.24xlarge", "c6i.32xlarge", "c6i.metal", "cc1.4xlarge", "cc2.8xlarge", "cg1.4xlarge", "cr1.8xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "d3.xlarge", "d3.2xlarge", "d3.4xlarge", "d3.8xlarge", "d3en.xlarge", "d3en.2xlarge", "d3en.4xlarge", "d3en.6xlarge", "d3en.8xlarge", "d3en.12xlarge", "dl1.24xlarge", "f1.2xlarge", "f1.4xlarge", "f1.16xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "g3s.xlarge", "g4ad.xlarge", "g4ad.2xlarge", "g4ad.4xlarge", "g4ad.8xlarge", "g4ad.16xlarge", "g4dn.xlarge", "g4dn.2xlarge", "g4dn.4xlarge", "g4dn.8xlarge", "g4dn.12xlarge", "g4dn.16xlarge", "g4dn.metal", "g5.xlarge", "g5.2xlarge", "g5.4xlarge", "g5.8xlarge", "g5.12xlarge", "g5.16xlarge", "g5.24xlarge", "g5.48xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", "g5g.8xlarge", "g5g.16xlarge", "g5g.metal", "hi1.4xlarge", "hpc6a.48xlarge", "hs1.8xlarge", "h1.2xlarge", "h1.4xlarge", "h1.8xlarge", "h1.16xlarge", "i2.xlarge", "i2.2xlarge", "i2.4xlarge", "i2.8xlarge", "i3.large", "i3.xlarge", "i3.2xlarge", "i3.4xlarge", "i3.8xlarge", "i3.16xlarge", "i3.metal", "i3en.large", "i3en.xlarge", "i3en.2xlarge", "i3en.3xlarge", "i3en.6xlarge", "i3en.12xlarge", "i3en.24xlarge", "i3en.metal", "im4gn.large", "im4gn.xlarge", "im4gn.2xlarge", "im4gn.4xlarge", "im4gn.8xlarge", "im4gn.16xlarge", "inf1.xlarge", "inf1.2xlarge", "inf1.6xlarge", "inf1.24xlarge", "is4gen.medium", "is4gen.large", "is4gen.xlarge", "is4gen.2xlarge", "is4gen.4xlarge", "is4gen.8xlarge", "m1.small", "m1.medium", "m1.large", "m1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "m4.16xlarge", "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge", "m5.16xlarge", "m5.24xlarge", "m5.metal", "m5a.large", "m5a.xlarge", "m5a.2xlarge", "m5a.4xlarge", "m5a.8xlarge", "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", "m5ad.large", "m5ad.xlarge", "m5ad.2xlarge", "m5ad.4xlarge", "m5ad.8xlarge", "m5ad.12xlarge", "m5ad.16xlarge", "m5ad.24xlarge", "m5d.large", "m5d.xlarge", "m5d.2xlarge", "m5d.4xlarge", "m5d.8xlarge", "m5d.12xlarge", "m5d.16xlarge", "m5d.24xlarge", "m5d.metal", "m5dn.large", "m5dn.xlarge", "m5dn.2xlarge", "m5dn.4xlarge", "m5dn.8xlarge", "m5dn.12xlarge", "m5dn.16xlarge", "m5dn.24xlarge", "m5dn.metal", "m5n.large", "m5n.xlarge", "m5n.2xlarge", "m5n.4xlarge", "m5n.8xlarge", "m5n.12xlarge", "m5n.16xlarge", "m5n.24xlarge", "m5n.metal", "m5zn.large", "m5zn.xlarge", "m5zn.2xlarge", "m5zn.3xlarge", "m5zn.6xlarge", "m5zn.12xlarge", "m5zn.metal", "m6a.large", "m6a.xlarge", "m6a.2xlarge", "m6a.4xlarge", "m6a.8xlarge", "m6a.12xlarge", "m6a.16xlarge", "m6a.24xlarge", "m6a.32xlarge", "m6a.48xlarge", "m6g.metal", "m6g.medium", "m6g.large", "m6g.xlarge", "m6g.2xlarge", "m6g.4xlarge", "m6g.8xlarge", "m6g.12xlarge", "m6g.16xlarge", "m6gd.metal", "m6gd.medium", "m6gd.large", "m6gd.xlarge", "m6gd.2xlarge", "m6gd.4xlarge", "m6gd.8xlarge", "m6gd.12xlarge", "m6gd.16xlarge", "m6i.large", "m6i.xlarge", "m6i.2xlarge", "m6i.4xlarge", "m6i.8xlarge", "m6i.12xlarge", "m6i.16xlarge", "m6i.24xlarge", "m6i.32xlarge", "m6i.metal", "mac1.metal", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "p3dn.24xlarge", "p4d.24xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", "r4.4xlarge", "r4.8xlarge", "r4.16xlarge", "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge", "r5.16xlarge", "r5.24xlarge", "r5.metal", "r5a.large", "r5a.xlarge", "r5a.2xlarge", "r5a.4xlarge", "r5a.8xlarge", "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", "r5ad.large", "r5ad.xlarge", "r5ad.2xlarge", "r5ad.4xlarge", "r5ad.8xlarge", "r5ad.12xlarge", "r5ad.16xlarge", "r5ad.24xlarge", "r5b.large", "r5b.xlarge", "r5b.2xlarge", "r5b.4xlarge", "r5b.8xlarge", "r5b.12xlarge", "r5b.16xlarge", "r5b.24xlarge", "r5b.metal", "r5d.large", "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", "r5d.8xlarge", "r5d.12xlarge", "r5d.16xlarge", "r5d.24xlarge", "r5d.metal", "r5dn.large", "r5dn.xlarge", "r5dn.2xlarge", "r5dn.4xlarge", "r5dn.8xlarge", "r5dn.12xlarge", "r5dn.16xlarge", "r5dn.24xlarge", "r5dn.metal", "r5n.large", "r5n.xlarge", "r5n.2xlarge", "r5n.4xlarge", "r5n.8xlarge", "r5n.12xlarge", "r5n.16xlarge", "r5n.24xlarge", "r5n.metal", "r6g.medium", "r6g.large", "r6g.xlarge", "r6g.2xlarge", "r6g.4xlarge", "r6g.8xlarge", "r6g.12xlarge", "r6g.16xlarge", "r6g.metal", "r6gd.medium", "r6gd.large", "r6gd.xlarge", "r6gd.2xlarge", "r6gd.4xlarge", "r6gd.8xlarge", "r6gd.12xlarge", "r6gd.16xlarge", "r6gd.metal", "r6i.large", "r6i.xlarge", "r6i.2xlarge", "r6i.4xlarge", "r6i.8xlarge", "r6i.12xlarge", "r6i.16xlarge", "r6i.24xlarge", "r6i.32xlarge", "r6i.metal", "t1.micro", "t2.nano", "t2.micro", "t2.small", "t2.medium", "t2.large", "t2.xlarge", "t2.2xlarge", "t3.nano", "t3.micro", "t3.small", "t3.medium", "t3.large", "t3.xlarge", "t3.2xlarge", "t3a.nano", "t3a.micro", "t3a.small", "t3a.medium", "t3a.large", "t3a.xlarge", "t3a.2xlarge", "t4g.nano", "t4g.micro", "t4g.small", "t4g.medium", "t4g.large", "t4g.xlarge", "t4g.2xlarge", "u-6tb1.56xlarge", "u-6tb1.112xlarge", "u-9tb1.112xlarge", "u-12tb1.112xlarge", "u-6tb1.metal", "u-9tb1.metal", "u-12tb1.metal", "u-18tb1.metal", "u-24tb1.metal", "vt1.3xlarge", "vt1.6xlarge", "vt1.24xlarge", "x1.16xlarge", "x1.32xlarge", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.32xlarge", "x2iezn.2xlarge", "x2iezn.4xlarge", "x2iezn.6xlarge", "x2iezn.8xlarge", "x2iezn.12xlarge", "x2iezn.metal", "x2gd.medium", "x2gd.large", "x2gd.xlarge", "x2gd.2xlarge", "x2gd.4xlarge", "x2gd.8xlarge", "x2gd.12xlarge", "x2gd.16xlarge", "x2gd.metal", "z1d.large", "z1d.xlarge", "z1d.2xlarge", "z1d.3xlarge", "z1d.6xlarge", "z1d.12xlarge", "z1d.metal", "x2idn.16xlarge", "x2idn.24xlarge", "x2idn.32xlarge", "x2iedn.xlarge", "x2iedn.2xlarge", "x2iedn.4xlarge", "x2iedn.8xlarge", "x2iedn.16xlarge", "x2iedn.24xlarge", "x2iedn.32xlarge", "c6a.large", "c6a.xlarge", "c6a.2xlarge", "c6a.4xlarge", "c6a.8xlarge", "c6a.12xlarge", "c6a.16xlarge", "c6a.24xlarge", "c6a.32xlarge", "c6a.48xlarge", "c6a.metal", "m6a.metal", "i4i.large", "i4i.xlarge", "i4i.2xlarge", "i4i.4xlarge", "i4i.8xlarge", "i4i.16xlarge", "i4i.32xlarge", "i4i.metal", "x2idn.metal", "x2iedn.metal", "c7g.medium", "c7g.large", "c7g.xlarge", "c7g.2xlarge", "c7g.4xlarge", "c7g.8xlarge", "c7g.12xlarge", "c7g.16xlarge", "mac2.metal", "c6id.large", "c6id.xlarge", "c6id.2xlarge", "c6id.4xlarge", "c6id.8xlarge", "c6id.12xlarge", "c6id.16xlarge", "c6id.24xlarge", "c6id.32xlarge", "c6id.metal", "m6id.large", "m6id.xlarge", "m6id.2xlarge", "m6id.4xlarge", "m6id.8xlarge", "m6id.12xlarge", "m6id.16xlarge", "m6id.24xlarge", "m6id.32xlarge", "m6id.metal", "r6id.large", "r6id.xlarge", "r6id.2xlarge", "r6id.4xlarge", "r6id.8xlarge", "r6id.12xlarge", "r6id.16xlarge", "r6id.24xlarge", "r6id.32xlarge", "r6id.metal", "r6a.large", "r6a.xlarge", "r6a.2xlarge", "r6a.4xlarge", "r6a.8xlarge", "r6a.12xlarge", "r6a.16xlarge", "r6a.24xlarge", "r6a.32xlarge", "r6a.48xlarge", "r6a.metal", "p4de.24xlarge", "u-3tb1.56xlarge", "u-18tb1.112xlarge", "u-24tb1.112xlarge", "trn1.2xlarge", "trn1.32xlarge", "hpc6id.32xlarge", "c6in.large", "c6in.xlarge", "c6in.2xlarge", "c6in.4xlarge", "c6in.8xlarge", "c6in.12xlarge", "c6in.16xlarge", "c6in.24xlarge", "c6in.32xlarge", "m6in.large", "m6in.xlarge", "m6in.2xlarge", "m6in.4xlarge", "m6in.8xlarge", "m6in.12xlarge", "m6in.16xlarge", "m6in.24xlarge", "m6in.32xlarge", "m6idn.large", "m6idn.xlarge", "m6idn.2xlarge", "m6idn.4xlarge", "m6idn.8xlarge", "m6idn.12xlarge", "m6idn.16xlarge", "m6idn.24xlarge", "m6idn.32xlarge", "r6in.large", "r6in.xlarge", "r6in.2xlarge", "r6in.4xlarge", "r6in.8xlarge", "r6in.12xlarge", "r6in.16xlarge", "r6in.24xlarge", "r6in.32xlarge", "r6idn.large", "r6idn.xlarge", "r6idn.2xlarge", "r6idn.4xlarge", "r6idn.8xlarge", "r6idn.12xlarge", "r6idn.16xlarge", "r6idn.24xlarge", "r6idn.32xlarge", "c7g.metal", "m7g.medium", "m7g.large", "m7g.xlarge", "m7g.2xlarge", "m7g.4xlarge", "m7g.8xlarge", "m7g.12xlarge", "m7g.16xlarge", "m7g.metal", "r7g.medium", "r7g.large", "r7g.xlarge", "r7g.2xlarge", "r7g.4xlarge", "r7g.8xlarge", "r7g.12xlarge", "r7g.16xlarge", "r7g.metal", "c6in.metal", "m6in.metal", "m6idn.metal", "r6in.metal", "r6idn.metal", "inf2.xlarge", "inf2.8xlarge", "inf2.24xlarge", "inf2.48xlarge", "trn1n.32xlarge", "i4g.large", "i4g.xlarge", "i4g.2xlarge", "i4g.4xlarge", "i4g.8xlarge", "i4g.16xlarge", "hpc7g.4xlarge", "hpc7g.8xlarge", "hpc7g.16xlarge", "c7gn.medium", "c7gn.large", "c7gn.xlarge", "c7gn.2xlarge", "c7gn.4xlarge", "c7gn.8xlarge", "c7gn.12xlarge", "c7gn.16xlarge", "p5.48xlarge", "m7i.large", "m7i.xlarge", "m7i.2xlarge", "m7i.4xlarge", "m7i.8xlarge", "m7i.12xlarge", "m7i.16xlarge", "m7i.24xlarge", "m7i.48xlarge", "m7i-flex.large", "m7i-flex.xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", "m7a.medium", "m7a.large", "m7a.xlarge", "m7a.2xlarge", "m7a.4xlarge", "m7a.8xlarge", "m7a.12xlarge", "m7a.16xlarge", "m7a.24xlarge", "m7a.32xlarge", "m7a.48xlarge", "m7a.metal-48xl", "hpc7a.12xlarge", "hpc7a.24xlarge", "hpc7a.48xlarge", "hpc7a.96xlarge", "c7gd.medium", "c7gd.large", "c7gd.xlarge", "c7gd.2xlarge", "c7gd.4xlarge", "c7gd.8xlarge", "c7gd.12xlarge", "c7gd.16xlarge", "m7gd.medium", "m7gd.large", "m7gd.xlarge", "m7gd.2xlarge", "m7gd.4xlarge", "m7gd.8xlarge", "m7gd.12xlarge", "m7gd.16xlarge", "r7gd.medium", "r7gd.large", "r7gd.xlarge", "r7gd.2xlarge", "r7gd.4xlarge", "r7gd.8xlarge", "r7gd.12xlarge", "r7gd.16xlarge", "r7a.medium", "r7a.large", "r7a.xlarge", "r7a.2xlarge", "r7a.4xlarge", "r7a.8xlarge", "r7a.12xlarge", "r7a.16xlarge", "r7a.24xlarge", "r7a.32xlarge", "r7a.48xlarge", "c7i.large", "c7i.xlarge", "c7i.2xlarge", "c7i.4xlarge", "c7i.8xlarge", "c7i.12xlarge", "c7i.16xlarge", "c7i.24xlarge", "c7i.48xlarge", "mac2-m2pro.metal", "r7iz.large", "r7iz.xlarge", "r7iz.2xlarge", "r7iz.4xlarge", "r7iz.8xlarge", "r7iz.12xlarge", "r7iz.16xlarge", "r7iz.32xlarge", "c7a.medium", "c7a.large", "c7a.xlarge", "c7a.2xlarge", "c7a.4xlarge", "c7a.8xlarge", "c7a.12xlarge", "c7a.16xlarge", "c7a.24xlarge", "c7a.32xlarge", "c7a.48xlarge", "c7a.metal-48xl", "r7a.metal-48xl", "r7i.large", "r7i.xlarge", "r7i.2xlarge", "r7i.4xlarge", "r7i.8xlarge", "r7i.12xlarge", "r7i.16xlarge", "r7i.24xlarge", "r7i.48xlarge", "dl2q.24xlarge", "mac2-m2.metal", "i4i.12xlarge", "i4i.24xlarge", "c7i.metal-24xl", "c7i.metal-48xl", "m7i.metal-24xl", "m7i.metal-48xl", "r7i.metal-24xl", "r7i.metal-48xl", "r7iz.metal-16xl", "r7iz.metal-32xl", "c7gd.metal", "m7gd.metal", "r7gd.metal", "g6.xlarge", "g6.2xlarge", "g6.4xlarge", "g6.8xlarge", "g6.12xlarge", "g6.16xlarge", "g6.24xlarge", "g6.48xlarge", "gr6.4xlarge", "gr6.8xlarge", "c7i-flex.large", "c7i-flex.xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", "u7i-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", "u7ib-12tb.224xlarge", "c7gn.metal", "r8g.medium", "r8g.large", "r8g.xlarge", "r8g.2xlarge", "r8g.4xlarge", "r8g.8xlarge", "r8g.12xlarge", "r8g.16xlarge", "r8g.24xlarge", "r8g.48xlarge", "r8g.metal-24xl", "r8g.metal-48xl", "mac2-m1ultra.metal", "g6e.xlarge", "g6e.2xlarge", "g6e.4xlarge", "g6e.8xlarge", "g6e.12xlarge", "g6e.16xlarge", "g6e.24xlarge", "g6e.48xlarge", "c8g.medium", "c8g.large", "c8g.xlarge", "c8g.2xlarge", "c8g.4xlarge", "c8g.8xlarge", "c8g.12xlarge", "c8g.16xlarge", "c8g.24xlarge", "c8g.48xlarge", "c8g.metal-24xl", "c8g.metal-48xl", "m8g.medium", "m8g.large", "m8g.xlarge", "m8g.2xlarge", "m8g.4xlarge", "m8g.8xlarge", "m8g.12xlarge", "m8g.16xlarge", "m8g.24xlarge", "m8g.48xlarge", "m8g.metal-24xl", "m8g.metal-48xl", "x8g.medium", "x8g.large", "x8g.xlarge", "x8g.2xlarge", "x8g.4xlarge", "x8g.8xlarge", "x8g.12xlarge", "x8g.16xlarge", "x8g.24xlarge", "x8g.48xlarge", "x8g.metal-24xl", "x8g.metal-48xl", "i7ie.large", "i7ie.xlarge", "i7ie.2xlarge", "i7ie.3xlarge", "i7ie.6xlarge", "i7ie.12xlarge", "i7ie.18xlarge", "i7ie.24xlarge", "i7ie.48xlarge", "i8g.large", "i8g.xlarge", "i8g.2xlarge", "i8g.4xlarge", "i8g.8xlarge", "i8g.12xlarge", "i8g.16xlarge", "i8g.24xlarge", "i8g.metal-24xl", "u7i-6tb.112xlarge", "u7i-8tb.112xlarge", "u7inh-32tb.480xlarge", "p5e.48xlarge", "p5en.48xlarge", "f2.12xlarge", "f2.48xlarge", "trn2.48xlarge"
resp.capacity_reservation_fleets[0].instance_type_specifications[0].instance_platform #=> String, one of "Linux/UNIX", "Red Hat Enterprise Linux", "SUSE Linux", "Windows", "Windows with SQL Server", "Windows with SQL Server Enterprise", "Windows with SQL Server Standard", "Windows with SQL Server Web", "Linux with SQL Server Standard", "Linux with SQL Server Web", "Linux with SQL Server Enterprise", "RHEL with SQL Server Standard", "RHEL with SQL Server Enterprise", "RHEL with SQL Server Web", "RHEL with HA", "RHEL with HA and SQL Server Standard", "RHEL with HA and SQL Server Enterprise", "Ubuntu Pro"
resp.capacity_reservation_fleets[0].instance_type_specifications[0].availability_zone #=> String
resp.capacity_reservation_fleets[0].instance_type_specifications[0].total_instance_count #=> Integer
resp.capacity_reservation_fleets[0].instance_type_specifications[0].fulfilled_capacity #=> Float
resp.capacity_reservation_fleets[0].instance_type_specifications[0].ebs_optimized #=> Boolean
resp.capacity_reservation_fleets[0].instance_type_specifications[0].create_date #=> Time
resp.capacity_reservation_fleets[0].instance_type_specifications[0].weight #=> Float
resp.capacity_reservation_fleets[0].instance_type_specifications[0].priority #=> Integer
resp.capacity_reservation_fleets[0].tags #=> Array
resp.capacity_reservation_fleets[0].tags[0].key #=> String
resp.capacity_reservation_fleets[0].tags[0].value #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :capacity_reservation_fleet_ids (Array<String>)

    The IDs of the Capacity Reservation Fleets to describe.

  • :next_token (String)

    The token to use to retrieve the next page of results.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :filters (Array<Types::Filter>)

    One or more filters.

    • state - The state of the Fleet (submitted | modifying | active | partially_fulfilled | expiring | expired | cancelling | cancelled | failed).

    • instance-match-criteria - The instance matching criteria for the Fleet. Only open is supported.

    • tenancy - The tenancy of the Fleet (default | dedicated).

    • allocation-strategy - The allocation strategy used by the Fleet. Only prioritized is supported.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



21982
21983
21984
21985
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 21982

def describe_capacity_reservation_fleets(params = {}, options = {})
  req = build_request(:describe_capacity_reservation_fleets, params)
  req.send_request(options)
end

#describe_capacity_reservations(params = {}) ⇒ Types::DescribeCapacityReservationsResult

Describes one or more of your Capacity Reservations. The results describe only the Capacity Reservations in the Amazon Web Services Region that you're currently using.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_capacity_reservations({
  capacity_reservation_ids: ["CapacityReservationId"],
  next_token: "String",
  max_results: 1,
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  dry_run: false,
})

Response structure


resp.next_token #=> String
resp.capacity_reservations #=> Array
resp.capacity_reservations[0].capacity_reservation_id #=> String
resp.capacity_reservations[0].owner_id #=> String
resp.capacity_reservations[0].capacity_reservation_arn #=> String
resp.capacity_reservations[0].availability_zone_id #=> String
resp.capacity_reservations[0].instance_type #=> String
resp.capacity_reservations[0].instance_platform #=> String, one of "Linux/UNIX", "Red Hat Enterprise Linux", "SUSE Linux", "Windows", "Windows with SQL Server", "Windows with SQL Server Enterprise", "Windows with SQL Server Standard", "Windows with SQL Server Web", "Linux with SQL Server Standard", "Linux with SQL Server Web", "Linux with SQL Server Enterprise", "RHEL with SQL Server Standard", "RHEL with SQL Server Enterprise", "RHEL with SQL Server Web", "RHEL with HA", "RHEL with HA and SQL Server Standard", "RHEL with HA and SQL Server Enterprise", "Ubuntu Pro"
resp.capacity_reservations[0].availability_zone #=> String
resp.capacity_reservations[0].tenancy #=> String, one of "default", "dedicated"
resp.capacity_reservations[0].total_instance_count #=> Integer
resp.capacity_reservations[0].available_instance_count #=> Integer
resp.capacity_reservations[0].ebs_optimized #=> Boolean
resp.capacity_reservations[0].ephemeral_storage #=> Boolean
resp.capacity_reservations[0].state #=> String, one of "active", "expired", "cancelled", "pending", "failed", "scheduled", "payment-pending", "payment-failed", "assessing", "delayed", "unsupported"
resp.capacity_reservations[0].start_date #=> Time
resp.capacity_reservations[0].end_date #=> Time
resp.capacity_reservations[0].end_date_type #=> String, one of "unlimited", "limited"
resp.capacity_reservations[0].instance_match_criteria #=> String, one of "open", "targeted"
resp.capacity_reservations[0].create_date #=> Time
resp.capacity_reservations[0].tags #=> Array
resp.capacity_reservations[0].tags[0].key #=> String
resp.capacity_reservations[0].tags[0].value #=> String
resp.capacity_reservations[0].outpost_arn #=> String
resp.capacity_reservations[0].capacity_reservation_fleet_id #=> String
resp.capacity_reservations[0].placement_group_arn #=> String
resp.capacity_reservations[0].capacity_allocations #=> Array
resp.capacity_reservations[0].capacity_allocations[0].allocation_type #=> String, one of "used", "future"
resp.capacity_reservations[0].capacity_allocations[0].count #=> Integer
resp.capacity_reservations[0].reservation_type #=> String, one of "default", "capacity-block"
resp.capacity_reservations[0].unused_reservation_billing_owner_id #=> String
resp.capacity_reservations[0].commitment_info.committed_instance_count #=> Integer
resp.capacity_reservations[0].commitment_info.commitment_end_date #=> Time
resp.capacity_reservations[0].delivery_preference #=> String, one of "fixed", "incremental"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :capacity_reservation_ids (Array<String>)

    The ID of the Capacity Reservation.

  • :next_token (String)

    The token to use to retrieve the next page of results.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :filters (Array<Types::Filter>)

    One or more filters.

    • instance-type - The type of instance for which the Capacity Reservation reserves capacity.

    • owner-id - The ID of the Amazon Web Services account that owns the Capacity Reservation.

    • instance-platform - The type of operating system for which the Capacity Reservation reserves capacity.

    • availability-zone - The Availability Zone of the Capacity Reservation.

    • tenancy - Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

      • default - The Capacity Reservation is created on hardware that is shared with other Amazon Web Services accounts.

      • dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

    • outpost-arn - The Amazon Resource Name (ARN) of the Outpost on which the Capacity Reservation was created.

    • state - The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

      • active- The Capacity Reservation is active and the capacity is available for your use.

      • expired - The Capacity Reservation expired automatically at the date and time specified in your request. The reserved capacity is no longer available for your use.

      • cancelled - The Capacity Reservation was cancelled. The reserved capacity is no longer available for your use.

      • pending - The Capacity Reservation request was successful but the capacity provisioning is still pending.

      • failed - The Capacity Reservation request has failed. A request might fail due to invalid request parameters, capacity constraints, or instance limit constraints. Failed requests are retained for 60 minutes.

    • start-date - The date and time at which the Capacity Reservation was started.

    • end-date - The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time.

    • end-date-type - Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:

      • unlimited - The Capacity Reservation remains active until you explicitly cancel it.

      • limited - The Capacity Reservation expires automatically at a specified date and time.

    • instance-match-criteria - Indicates the type of instance launches that the Capacity Reservation accepts. The options include:

      • open - The Capacity Reservation accepts all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes launch into the Capacity Reservation automatically without specifying any additional parameters.

      • targeted - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.

    • placement-group-arn - The ARN of the cluster placement group in which the Capacity Reservation was created.
  • :dry_run (Boolean)

    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.

Returns:

See Also:



22157
22158
22159
22160
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 22157

def describe_capacity_reservations(params = {}, options = {})
  req = build_request(:describe_capacity_reservations, params)
  req.send_request(options)
end

#describe_carrier_gateways(params = {}) ⇒ Types::DescribeCarrierGatewaysResult

Describes one or more of your carrier gateways.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_carrier_gateways({
  carrier_gateway_ids: ["CarrierGatewayId"],
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  max_results: 1,
  next_token: "String",
  dry_run: false,
})

Response structure


resp.carrier_gateways #=> Array
resp.carrier_gateways[0].carrier_gateway_id #=> String
resp.carrier_gateways[0].vpc_id #=> String
resp.carrier_gateways[0].state #=> String, one of "pending", "available", "deleting", "deleted"
resp.carrier_gateways[0].owner_id #=> String
resp.carrier_gateways[0].tags #=> Array
resp.carrier_gateways[0].tags[0].key #=> String
resp.carrier_gateways[0].tags[0].value #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :carrier_gateway_ids (Array<String>)

    One or more carrier gateway IDs.

  • :filters (Array<Types::Filter>)

    One or more filters.

    • carrier-gateway-id - The ID of the carrier gateway.

    • state - The state of the carrier gateway (pending | failed | available | deleting | deleted).

    • owner-id - The Amazon Web Services account ID of the owner of the carrier gateway.

    • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    • vpc-id - The ID of the VPC associated with the carrier gateway.

  • :max_results (Integer)

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

  • :next_token (String)

    The token for the next page of results.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



22242
22243
22244
22245
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 22242

def describe_carrier_gateways(params = {}, options = {})
  req = build_request(:describe_carrier_gateways, params)
  req.send_request(options)
end

This action is deprecated.

Describes your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_classic_link_instances({
  dry_run: false,
  instance_ids: ["InstanceId"],
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  next_token: "String",
  max_results: 1,
})

Response structure


resp.instances #=> Array
resp.instances[0].groups #=> Array
resp.instances[0].groups[0].group_id #=> String
resp.instances[0].groups[0].group_name #=> String
resp.instances[0].instance_id #=> String
resp.instances[0].tags #=> Array
resp.instances[0].tags[0].key #=> String
resp.instances[0].tags[0].value #=> String
resp.instances[0].vpc_id #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :instance_ids (Array<String>)

    The instance IDs. Must be instances linked to a VPC through ClassicLink.

  • :filters (Array<Types::Filter>)

    The filters.

    • group-id - The ID of a VPC security group that's associated with the instance.

    • instance-id - The ID of the instance.

    • tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    • vpc-id - The ID of the VPC to which the instance is linked.

  • :next_token (String)

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

    Constraint: If the value is greater than 1000, we return only 1000 items.

Returns:

See Also:



22341
22342
22343
22344
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 22341

def describe_classic_link_instances(params = {}, options = {})
  req = build_request(:describe_classic_link_instances, params)
  req.send_request(options)
end

#describe_client_vpn_authorization_rules(params = {}) ⇒ Types::DescribeClientVpnAuthorizationRulesResult

Describes the authorization rules for a specified Client VPN endpoint.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_client_vpn_authorization_rules({
  client_vpn_endpoint_id: "ClientVpnEndpointId", # required
  dry_run: false,
  next_token: "NextToken",
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  max_results: 1,
})

Response structure


resp.authorization_rules #=> Array
resp.authorization_rules[0].client_vpn_endpoint_id #=> String
resp.authorization_rules[0].description #=> String
resp.authorization_rules[0].group_id #=> String
resp.authorization_rules[0].access_all #=> Boolean
resp.authorization_rules[0].destination_cidr #=> String
resp.authorization_rules[0].status.code #=> String, one of "authorizing", "active", "failed", "revoking"
resp.authorization_rules[0].status.message #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_vpn_endpoint_id (required, String)

    The ID of the Client VPN endpoint.

  • :dry_run (Boolean)

    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.

  • :next_token (String)

    The token to retrieve the next page of results.

  • :filters (Array<Types::Filter>)

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

    • description - The description of the authorization rule.

    • destination-cidr - The CIDR of the network to which the authorization rule applies.

    • group-id - The ID of the Active Directory group to which the authorization rule grants access.

  • :max_results (Integer)

    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

Returns:

See Also:



22414
22415
22416
22417
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 22414

def describe_client_vpn_authorization_rules(params = {}, options = {})
  req = build_request(:describe_client_vpn_authorization_rules, params)
  req.send_request(options)
end

#describe_client_vpn_connections(params = {}) ⇒ Types::DescribeClientVpnConnectionsResult

Describes active client connections and connections that have been terminated within the last 60 minutes for the specified Client VPN endpoint.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_client_vpn_connections({
  client_vpn_endpoint_id: "ClientVpnEndpointId", # required
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  next_token: "NextToken",
  max_results: 1,
  dry_run: false,
})

Response structure


resp.connections #=> Array
resp.connections[0].client_vpn_endpoint_id #=> String
resp.connections[0].timestamp #=> String
resp.connections[0].connection_id #=> String
resp.connections[0].username #=> String
resp.connections[0].connection_established_time #=> String
resp.connections[0].ingress_bytes #=> String
resp.connections[0].egress_bytes #=> String
resp.connections[0].ingress_packets #=> String
resp.connections[0].egress_packets #=> String
resp.connections[0].client_ip #=> String
resp.connections[0].common_name #=> String
resp.connections[0].status.code #=> String, one of "active", "failed-to-terminate", "terminating", "terminated"
resp.connections[0].status.message #=> String
resp.connections[0].connection_end_time #=> String
resp.connections[0].posture_compliance_statuses #=> Array
resp.connections[0].posture_compliance_statuses[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_vpn_endpoint_id (required, String)

    The ID of the Client VPN endpoint.

  • :filters (Array<Types::Filter>)

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

    • connection-id - The ID of the connection.

    • username - For Active Directory client authentication, the user name of the client who established the client connection.

  • :next_token (String)

    The token to retrieve the next page of results.

  • :max_results (Integer)

    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



22495
22496
22497
22498
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 22495

def describe_client_vpn_connections(params = {}, options = {})
  req = build_request(:describe_client_vpn_connections, params)
  req.send_request(options)
end

#describe_client_vpn_endpoints(params = {}) ⇒ Types::DescribeClientVpnEndpointsResult

Describes one or more Client VPN endpoints in the account.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_client_vpn_endpoints({
  client_vpn_endpoint_ids: ["ClientVpnEndpointId"],
  max_results: 1,
  next_token: "NextToken",
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  dry_run: false,
})

Response structure


resp.client_vpn_endpoints #=> Array
resp.client_vpn_endpoints[0].client_vpn_endpoint_id #=> String
resp.client_vpn_endpoints[0].description #=> String
resp.client_vpn_endpoints[0].status.code #=> String, one of "pending-associate", "available", "deleting", "deleted"
resp.client_vpn_endpoints[0].status.message #=> String
resp.client_vpn_endpoints[0].creation_time #=> String
resp.client_vpn_endpoints[0].deletion_time #=> String
resp.client_vpn_endpoints[0].dns_name #=> String
resp.client_vpn_endpoints[0].client_cidr_block #=> String
resp.client_vpn_endpoints[0].dns_servers #=> Array
resp.client_vpn_endpoints[0].dns_servers[0] #=> String
resp.client_vpn_endpoints[0].split_tunnel #=> Boolean
resp.client_vpn_endpoints[0].vpn_protocol #=> String, one of "openvpn"
resp.client_vpn_endpoints[0].transport_protocol #=> String, one of "tcp", "udp"
resp.client_vpn_endpoints[0].vpn_port #=> Integer
resp.client_vpn_endpoints[0].associated_target_networks #=> Array
resp.client_vpn_endpoints[0].associated_target_networks[0].network_id #=> String
resp.client_vpn_endpoints[0].associated_target_networks[0].network_type #=> String, one of "vpc"
resp.client_vpn_endpoints[0].server_certificate_arn #=> String
resp.client_vpn_endpoints[0].authentication_options #=> Array
resp.client_vpn_endpoints[0].authentication_options[0].type #=> String, one of "certificate-authentication", "directory-service-authentication", "federated-authentication"
resp.client_vpn_endpoints[0].authentication_options[0].active_directory.directory_id #=> String
resp.client_vpn_endpoints[0].authentication_options[0].mutual_authentication.client_root_certificate_chain #=> String
resp.client_vpn_endpoints[0].authentication_options[0].federated_authentication.saml_provider_arn #=> String
resp.client_vpn_endpoints[0].authentication_options[0].federated_authentication.self_service_saml_provider_arn #=> String
resp.client_vpn_endpoints[0].connection_log_options.enabled #=> Boolean
resp.client_vpn_endpoints[0].connection_log_options.cloudwatch_log_group #=> String
resp.client_vpn_endpoints[0].connection_log_options.cloudwatch_log_stream #=> String
resp.client_vpn_endpoints[0].tags #=> Array
resp.client_vpn_endpoints[0].tags[0].key #=> String
resp.client_vpn_endpoints[0].tags[0].value #=> String
resp.client_vpn_endpoints[0].security_group_ids #=> Array
resp.client_vpn_endpoints[0].security_group_ids[0] #=> String
resp.client_vpn_endpoints[0].vpc_id #=> String
resp.client_vpn_endpoints[0].self_service_portal_url #=> String
resp.client_vpn_endpoints[0].client_connect_options.enabled #=> Boolean
resp.client_vpn_endpoints[0].client_connect_options.lambda_function_arn #=> String
resp.client_vpn_endpoints[0].client_connect_options.status.code #=> String, one of "applying", "applied"
resp.client_vpn_endpoints[0].client_connect_options.status.message #=> String
resp.client_vpn_endpoints[0].session_timeout_hours #=> Integer
resp.client_vpn_endpoints[0]..enabled #=> Boolean
resp.client_vpn_endpoints[0]..banner_text #=> String
resp.client_vpn_endpoints[0].disconnect_on_session_timeout #=> Boolean
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_vpn_endpoint_ids (Array<String>)

    The ID of the Client VPN endpoint.

  • :max_results (Integer)

    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

  • :next_token (String)

    The token to retrieve the next page of results.

  • :filters (Array<Types::Filter>)

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

    • endpoint-id - The ID of the Client VPN endpoint.

    • transport-protocol - The transport protocol (tcp | udp).

  • :dry_run (Boolean)

    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.

Returns:

See Also:



22599
22600
22601
22602
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 22599

def describe_client_vpn_endpoints(params = {}, options = {})
  req = build_request(:describe_client_vpn_endpoints, params)
  req.send_request(options)
end

#describe_client_vpn_routes(params = {}) ⇒ Types::DescribeClientVpnRoutesResult

Describes the routes for the specified Client VPN endpoint.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_client_vpn_routes({
  client_vpn_endpoint_id: "ClientVpnEndpointId", # required
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
  dry_run: false,
})

Response structure


resp.routes #=> Array
resp.routes[0].client_vpn_endpoint_id #=> String
resp.routes[0].destination_cidr #=> String
resp.routes[0].target_subnet #=> String
resp.routes[0].type #=> String
resp.routes[0].origin #=> String
resp.routes[0].status.code #=> String, one of "creating", "active", "failed", "deleting"
resp.routes[0].status.message #=> String
resp.routes[0].description #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_vpn_endpoint_id (required, String)

    The ID of the Client VPN endpoint.

  • :filters (Array<Types::Filter>)

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

    • destination-cidr - The CIDR of the route destination.

    • origin - How the route was associated with the Client VPN endpoint (associate | add-route).

    • target-subnet - The ID of the subnet through which traffic is routed.

  • :max_results (Integer)

    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

  • :next_token (String)

    The token to retrieve the next page of results.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



22673
22674
22675
22676
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 22673

def describe_client_vpn_routes(params = {}, options = {})
  req = build_request(:describe_client_vpn_routes, params)
  req.send_request(options)
end

#describe_client_vpn_target_networks(params = {}) ⇒ Types::DescribeClientVpnTargetNetworksResult

Describes the target networks associated with the specified Client VPN endpoint.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_client_vpn_target_networks({
  client_vpn_endpoint_id: "ClientVpnEndpointId", # required
  association_ids: ["String"],
  max_results: 1,
  next_token: "NextToken",
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  dry_run: false,
})

Response structure


resp.client_vpn_target_networks #=> Array
resp.client_vpn_target_networks[0].association_id #=> String
resp.client_vpn_target_networks[0].vpc_id #=> String
resp.client_vpn_target_networks[0].target_network_id #=> String
resp.client_vpn_target_networks[0].client_vpn_endpoint_id #=> String
resp.client_vpn_target_networks[0].status.code #=> String, one of "associating", "associated", "association-failed", "disassociating", "disassociated"
resp.client_vpn_target_networks[0].status.message #=> String
resp.client_vpn_target_networks[0].security_groups #=> Array
resp.client_vpn_target_networks[0].security_groups[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :client_vpn_endpoint_id (required, String)

    The ID of the Client VPN endpoint.

  • :association_ids (Array<String>)

    The IDs of the target network associations.

  • :max_results (Integer)

    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

  • :next_token (String)

    The token to retrieve the next page of results.

  • :filters (Array<Types::Filter>)

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

    • association-id - The ID of the association.

    • target-network-id - The ID of the subnet specified as the target network.

    • vpc-id - The ID of the VPC in which the target network is located.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



22751
22752
22753
22754
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 22751

def describe_client_vpn_target_networks(params = {}, options = {})
  req = build_request(:describe_client_vpn_target_networks, params)
  req.send_request(options)
end

#describe_coip_pools(params = {}) ⇒ Types::DescribeCoipPoolsResult

Describes the specified customer-owned address pools or all of your customer-owned address pools.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_coip_pools({
  pool_ids: ["Ipv4PoolCoipId"],
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  max_results: 1,
  next_token: "String",
  dry_run: false,
})

Response structure


resp.coip_pools #=> Array
resp.coip_pools[0].pool_id #=> String
resp.coip_pools[0].pool_cidrs #=> Array
resp.coip_pools[0].pool_cidrs[0] #=> String
resp.coip_pools[0].local_gateway_route_table_id #=> String
resp.coip_pools[0].tags #=> Array
resp.coip_pools[0].tags[0].key #=> String
resp.coip_pools[0].tags[0].value #=> String
resp.coip_pools[0].pool_arn #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :pool_ids (Array<String>)

    The IDs of the address pools.

  • :filters (Array<Types::Filter>)

    One or more filters.

    • coip-pool.local-gateway-route-table-id - The ID of the local gateway route table.

    • coip-pool.pool-id - The ID of the address pool.

  • :max_results (Integer)

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

  • :next_token (String)

    The token for the next page of results.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



22823
22824
22825
22826
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 22823

def describe_coip_pools(params = {}, options = {})
  req = build_request(:describe_coip_pools, params)
  req.send_request(options)
end

#describe_conversion_tasks(params = {}) ⇒ Types::DescribeConversionTasksResult

Describes the specified conversion tasks or all your conversion tasks. For more information, see the VM Import/Export User Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

The following waiters are defined for this operation (see #wait_until for detailed usage):

  • conversion_task_cancelled
  • conversion_task_completed
  • conversion_task_deleted

Examples:

Request syntax with placeholder values


resp = client.describe_conversion_tasks({
  dry_run: false,
  conversion_task_ids: ["ConversionTaskId"],
})

Response structure


resp.conversion_tasks #=> Array
resp.conversion_tasks[0].conversion_task_id #=> String
resp.conversion_tasks[0].expiration_time #=> String
resp.conversion_tasks[0].import_instance.description #=> String
resp.conversion_tasks[0].import_instance.instance_id #=> String
resp.conversion_tasks[0].import_instance.platform #=> String, one of "Windows"
resp.conversion_tasks[0].import_instance.volumes #=> Array
resp.conversion_tasks[0].import_instance.volumes[0].availability_zone #=> String
resp.conversion_tasks[0].import_instance.volumes[0].bytes_converted #=> Integer
resp.conversion_tasks[0].import_instance.volumes[0].description #=> String
resp.conversion_tasks[0].import_instance.volumes[0].image.checksum #=> String
resp.conversion_tasks[0].import_instance.volumes[0].image.format #=> String, one of "VMDK", "RAW", "VHD"
resp.conversion_tasks[0].import_instance.volumes[0].image.import_manifest_url #=> String
resp.conversion_tasks[0].import_instance.volumes[0].image.size #=> Integer
resp.conversion_tasks[0].import_instance.volumes[0].status #=> String
resp.conversion_tasks[0].import_instance.volumes[0].status_message #=> String
resp.conversion_tasks[0].import_instance.volumes[0].volume.id #=> String
resp.conversion_tasks[0].import_instance.volumes[0].volume.size #=> Integer
resp.conversion_tasks[0].import_volume.availability_zone #=> String
resp.conversion_tasks[0].import_volume.bytes_converted #=> Integer
resp.conversion_tasks[0].import_volume.description #=> String
resp.conversion_tasks[0].import_volume.image.checksum #=> String
resp.conversion_tasks[0].import_volume.image.format #=> String, one of "VMDK", "RAW", "VHD"
resp.conversion_tasks[0].import_volume.image.import_manifest_url #=> String
resp.conversion_tasks[0].import_volume.image.size #=> Integer
resp.conversion_tasks[0].import_volume.volume.id #=> String
resp.conversion_tasks[0].import_volume.volume.size #=> Integer
resp.conversion_tasks[0].state #=> String, one of "active", "cancelling", "cancelled", "completed"
resp.conversion_tasks[0].status_message #=> String
resp.conversion_tasks[0].tags #=> Array
resp.conversion_tasks[0].tags[0].key #=> String
resp.conversion_tasks[0].tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :conversion_task_ids (Array<String>)

    The conversion task IDs.

Returns:

See Also:



22905
22906
22907
22908
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 22905

def describe_conversion_tasks(params = {}, options = {})
  req = build_request(:describe_conversion_tasks, params)
  req.send_request(options)
end

#describe_customer_gateways(params = {}) ⇒ Types::DescribeCustomerGatewaysResult

Describes one or more of your VPN customer gateways.

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN User Guide.

The following waiters are defined for this operation (see #wait_until for detailed usage):

  • customer_gateway_available

Examples:

Example: To describe a customer gateway


# This example describes the specified customer gateway.

resp = client.describe_customer_gateways({
  customer_gateway_ids: [
    "cgw-0e11f167", 
  ], 
})

resp.to_h outputs the following:
{
  customer_gateways: [
    {
      bgp_asn: "65534", 
      customer_gateway_id: "cgw-0e11f167", 
      ip_address: "12.1.2.3", 
      state: "available", 
      type: "ipsec.1", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_customer_gateways({
  customer_gateway_ids: ["CustomerGatewayId"],
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  dry_run: false,
})

Response structure


resp.customer_gateways #=> Array
resp.customer_gateways[0].certificate_arn #=> String
resp.customer_gateways[0].device_name #=> String
resp.customer_gateways[0].tags #=> Array
resp.customer_gateways[0].tags[0].key #=> String
resp.customer_gateways[0].tags[0].value #=> String
resp.customer_gateways[0].bgp_asn_extended #=> String
resp.customer_gateways[0].customer_gateway_id #=> String
resp.customer_gateways[0].state #=> String
resp.customer_gateways[0].type #=> String
resp.customer_gateways[0].ip_address #=> String
resp.customer_gateways[0].bgp_asn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :customer_gateway_ids (Array<String>)

    One or more customer gateway IDs.

    Default: Describes all your customer gateways.

  • :filters (Array<Types::Filter>)

    One or more filters.

    • bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

    • customer-gateway-id - The ID of the customer gateway.

    • ip-address - The IP address of the customer gateway device's external interface.

    • state - The state of the customer gateway (pending | available | deleting | deleted).

    • type - The type of customer gateway. Currently, the only supported type is ipsec.1.

    • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



23022
23023
23024
23025
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 23022

def describe_customer_gateways(params = {}, options = {})
  req = build_request(:describe_customer_gateways, params)
  req.send_request(options)
end

#describe_declarative_policies_reports(params = {}) ⇒ Types::DescribeDeclarativePoliciesReportsResult

Describes the metadata of an account status report, including the status of the report.

To view the full report, download it from the Amazon S3 bucket where it was saved. Reports are accessible only when they have the complete status. Reports with other statuses (running, cancelled, or error) are not available in the S3 bucket. For more information about downloading objects from an S3 bucket, see Downloading objects in the Amazon Simple Storage Service User Guide.

For more information, see Generating the account status report for declarative policies in the Amazon Web Services Organizations User Guide.

Examples:

Request syntax with placeholder values


resp = client.describe_declarative_policies_reports({
  dry_run: false,
  next_token: "String",
  max_results: 1,
  report_ids: ["String"],
})

Response structure


resp.next_token #=> String
resp.reports #=> Array
resp.reports[0].report_id #=> String
resp.reports[0].s3_bucket #=> String
resp.reports[0].s3_prefix #=> String
resp.reports[0].target_id #=> String
resp.reports[0].start_time #=> Time
resp.reports[0].end_time #=> Time
resp.reports[0].status #=> String, one of "running", "cancelled", "complete", "error"
resp.reports[0].tags #=> Array
resp.reports[0].tags[0].key #=> String
resp.reports[0].tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :next_token (String)

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :report_ids (Array<String>)

    One or more report IDs.

Returns:

See Also:



23102
23103
23104
23105
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 23102

def describe_declarative_policies_reports(params = {}, options = {})
  req = build_request(:describe_declarative_policies_reports, params)
  req.send_request(options)
end

#describe_dhcp_options(params = {}) ⇒ Types::DescribeDhcpOptionsResult

Describes your DHCP option sets. The default is to describe all your DHCP option sets. Alternatively, you can specify specific DHCP option set IDs or filter the results to include only the DHCP option sets that match specific criteria.

For more information, see DHCP option sets in the Amazon VPC User Guide.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Example: To describe a DHCP options set


# This example describes the specified DHCP options set.

resp = client.describe_dhcp_options({
  dhcp_options_ids: [
    "dopt-d9070ebb", 
  ], 
})

resp.to_h outputs the following:
{
  dhcp_options: [
    {
      dhcp_configurations: [
        {
          key: "domain-name-servers", 
          values: [
            {
              value: "10.2.5.2", 
            }, 
            {
              value: "10.2.5.1", 
            }, 
          ], 
        }, 
      ], 
      dhcp_options_id: "dopt-d9070ebb", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_dhcp_options({
  dhcp_options_ids: ["DhcpOptionsId"],
  next_token: "String",
  max_results: 1,
  dry_run: false,
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
})

Response structure


resp.next_token #=> String
resp.dhcp_options #=> Array
resp.dhcp_options[0].owner_id #=> String
resp.dhcp_options[0].tags #=> Array
resp.dhcp_options[0].tags[0].key #=> String
resp.dhcp_options[0].tags[0].value #=> String
resp.dhcp_options[0].dhcp_options_id #=> String
resp.dhcp_options[0].dhcp_configurations #=> Array
resp.dhcp_options[0].dhcp_configurations[0].key #=> String
resp.dhcp_options[0].dhcp_configurations[0].values #=> Array
resp.dhcp_options[0].dhcp_configurations[0].values[0] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dhcp_options_ids (Array<String>)

    The IDs of DHCP option sets.

  • :next_token (String)

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :dry_run (Boolean)

    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.

  • :filters (Array<Types::Filter>)

    The filters.

    • dhcp-options-id - The ID of a DHCP options set.

    • key - The key for one of the options (for example, domain-name).

    • value - The value for one of the options.

    • owner-id - The ID of the Amazon Web Services account that owns the DHCP options set.

    • tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

Returns:

See Also:



23236
23237
23238
23239
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 23236

def describe_dhcp_options(params = {}, options = {})
  req = build_request(:describe_dhcp_options, params)
  req.send_request(options)
end

#describe_egress_only_internet_gateways(params = {}) ⇒ Types::DescribeEgressOnlyInternetGatewaysResult

Describes your egress-only internet gateways. The default is to describe all your egress-only internet gateways. Alternatively, you can specify specific egress-only internet gateway IDs or filter the results to include only the egress-only internet gateways that match specific criteria.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_egress_only_internet_gateways({
  dry_run: false,
  egress_only_internet_gateway_ids: ["EgressOnlyInternetGatewayId"],
  max_results: 1,
  next_token: "String",
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
})

Response structure


resp.egress_only_internet_gateways #=> Array
resp.egress_only_internet_gateways[0].attachments #=> Array
resp.egress_only_internet_gateways[0].attachments[0].state #=> String, one of "attaching", "attached", "detaching", "detached"
resp.egress_only_internet_gateways[0].attachments[0].vpc_id #=> String
resp.egress_only_internet_gateways[0].egress_only_internet_gateway_id #=> String
resp.egress_only_internet_gateways[0].tags #=> Array
resp.egress_only_internet_gateways[0].tags[0].key #=> String
resp.egress_only_internet_gateways[0].tags[0].value #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :egress_only_internet_gateway_ids (Array<String>)

    The IDs of the egress-only internet gateways.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :next_token (String)

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

  • :filters (Array<Types::Filter>)

    The filters.

    • tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

Returns:

See Also:



23320
23321
23322
23323
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 23320

def describe_egress_only_internet_gateways(params = {}, options = {})
  req = build_request(:describe_egress_only_internet_gateways, params)
  req.send_request(options)
end

#describe_elastic_gpus(params = {}) ⇒ Types::DescribeElasticGpusResult

Amazon Elastic Graphics reached end of life on January 8, 2024.

Describes the Elastic Graphics accelerator associated with your instances.

Examples:

Request syntax with placeholder values


resp = client.describe_elastic_gpus({
  elastic_gpu_ids: ["ElasticGpuId"],
  dry_run: false,
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  max_results: 1,
  next_token: "String",
})

Response structure


resp.elastic_gpu_set #=> Array
resp.elastic_gpu_set[0].elastic_gpu_id #=> String
resp.elastic_gpu_set[0].availability_zone #=> String
resp.elastic_gpu_set[0].elastic_gpu_type #=> String
resp.elastic_gpu_set[0].elastic_gpu_health.status #=> String, one of "OK", "IMPAIRED"
resp.elastic_gpu_set[0].elastic_gpu_state #=> String, one of "ATTACHED"
resp.elastic_gpu_set[0].instance_id #=> String
resp.elastic_gpu_set[0].tags #=> Array
resp.elastic_gpu_set[0].tags[0].key #=> String
resp.elastic_gpu_set[0].tags[0].value #=> String
resp.max_results #=> Integer
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :elastic_gpu_ids (Array<String>)

    The Elastic Graphics accelerator IDs.

  • :dry_run (Boolean)

    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.

  • :filters (Array<Types::Filter>)

    The filters.

    • availability-zone - The Availability Zone in which the Elastic Graphics accelerator resides.

    • elastic-gpu-health - The status of the Elastic Graphics accelerator (OK | IMPAIRED).

    • elastic-gpu-state - The state of the Elastic Graphics accelerator (ATTACHED).

    • elastic-gpu-type - The type of Elastic Graphics accelerator; for example, eg1.medium.

    • instance-id - The ID of the instance to which the Elastic Graphics accelerator is associated.

  • :max_results (Integer)

    The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000.

  • :next_token (String)

    The token to request the next page of results.

Returns:

See Also:



23407
23408
23409
23410
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 23407

def describe_elastic_gpus(params = {}, options = {})
  req = build_request(:describe_elastic_gpus, params)
  req.send_request(options)
end

#describe_export_image_tasks(params = {}) ⇒ Types::DescribeExportImageTasksResult

Describes the specified export image tasks or all of your export image tasks.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_export_image_tasks({
  dry_run: false,
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  export_image_task_ids: ["ExportImageTaskId"],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.export_image_tasks #=> Array
resp.export_image_tasks[0].description #=> String
resp.export_image_tasks[0].export_image_task_id #=> String
resp.export_image_tasks[0].image_id #=> String
resp.export_image_tasks[0].progress #=> String
resp.export_image_tasks[0].s3_export_location.s3_bucket #=> String
resp.export_image_tasks[0].s3_export_location.s3_prefix #=> String
resp.export_image_tasks[0].status #=> String
resp.export_image_tasks[0].status_message #=> String
resp.export_image_tasks[0].tags #=> Array
resp.export_image_tasks[0].tags[0].key #=> String
resp.export_image_tasks[0].tags[0].value #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :filters (Array<Types::Filter>)

    Filter tasks using the task-state filter and one of the following values: active, completed, deleting, or deleted.

  • :export_image_task_ids (Array<String>)

    The IDs of the export image tasks.

  • :max_results (Integer)

    The maximum number of results to return in a single call.

  • :next_token (String)

    A token that indicates the next page of results.

Returns:

See Also:



23476
23477
23478
23479
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 23476

def describe_export_image_tasks(params = {}, options = {})
  req = build_request(:describe_export_image_tasks, params)
  req.send_request(options)
end

#describe_export_tasks(params = {}) ⇒ Types::DescribeExportTasksResult

Describes the specified export instance tasks or all of your export instance tasks.

The following waiters are defined for this operation (see #wait_until for detailed usage):

  • export_task_cancelled
  • export_task_completed

Examples:

Request syntax with placeholder values


resp = client.describe_export_tasks({
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  export_task_ids: ["ExportTaskId"],
})

Response structure


resp.export_tasks #=> Array
resp.export_tasks[0].description #=> String
resp.export_tasks[0].export_task_id #=> String
resp.export_tasks[0].export_to_s3_task.container_format #=> String, one of "ova"
resp.export_tasks[0].export_to_s3_task.disk_image_format #=> String, one of "VMDK", "RAW", "VHD"
resp.export_tasks[0].export_to_s3_task.s3_bucket #=> String
resp.export_tasks[0].export_to_s3_task.s3_key #=> String
resp.export_tasks[0].instance_export_details.instance_id #=> String
resp.export_tasks[0].instance_export_details.target_environment #=> String, one of "citrix", "vmware", "microsoft"
resp.export_tasks[0].state #=> String, one of "active", "cancelling", "cancelled", "completed"
resp.export_tasks[0].status_message #=> String
resp.export_tasks[0].tags #=> Array
resp.export_tasks[0].tags[0].key #=> String
resp.export_tasks[0].tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filters (Array<Types::Filter>)

    the filters for the export tasks.

  • :export_task_ids (Array<String>)

    The export task IDs.

Returns:

See Also:



23533
23534
23535
23536
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 23533

def describe_export_tasks(params = {}, options = {})
  req = build_request(:describe_export_tasks, params)
  req.send_request(options)
end

#describe_fast_launch_images(params = {}) ⇒ Types::DescribeFastLaunchImagesResult

Describe details for Windows AMIs that are configured for Windows fast launch.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_fast_launch_images({
  image_ids: ["ImageId"],
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
  dry_run: false,
})

Response structure


resp.fast_launch_images #=> Array
resp.fast_launch_images[0].image_id #=> String
resp.fast_launch_images[0].resource_type #=> String, one of "snapshot"
resp.fast_launch_images[0].snapshot_configuration.target_resource_count #=> Integer
resp.fast_launch_images[0].launch_template.launch_template_id #=> String
resp.fast_launch_images[0].launch_template.launch_template_name #=> String
resp.fast_launch_images[0].launch_template.version #=> String
resp.fast_launch_images[0].max_parallel_launches #=> Integer
resp.fast_launch_images[0].owner_id #=> String
resp.fast_launch_images[0].state #=> String, one of "enabling", "enabling-failed", "enabled", "enabled-failed", "disabling", "disabling-failed"
resp.fast_launch_images[0].state_transition_reason #=> String
resp.fast_launch_images[0].state_transition_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :image_ids (Array<String>)

    Specify one or more Windows AMI image IDs for the request.

  • :filters (Array<Types::Filter>)

    Use the following filters to streamline results.

    • resource-type - The resource type for pre-provisioning.

    • owner-id - The owner ID for the pre-provisioning resource.

    • state - The current state of fast launching for the Windows AMI.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :next_token (String)

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



23614
23615
23616
23617
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 23614

def describe_fast_launch_images(params = {}, options = {})
  req = build_request(:describe_fast_launch_images, params)
  req.send_request(options)
end

#describe_fast_snapshot_restores(params = {}) ⇒ Types::DescribeFastSnapshotRestoresResult

Describes the state of fast snapshot restores for your snapshots.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_fast_snapshot_restores({
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
  dry_run: false,
})

Response structure


resp.fast_snapshot_restores #=> Array
resp.fast_snapshot_restores[0].snapshot_id #=> String
resp.fast_snapshot_restores[0].availability_zone #=> String
resp.fast_snapshot_restores[0].state #=> String, one of "enabling", "optimizing", "enabled", "disabling", "disabled"
resp.fast_snapshot_restores[0].state_transition_reason #=> String
resp.fast_snapshot_restores[0].owner_id #=> String
resp.fast_snapshot_restores[0].owner_alias #=> String
resp.fast_snapshot_restores[0].enabling_time #=> Time
resp.fast_snapshot_restores[0].optimizing_time #=> Time
resp.fast_snapshot_restores[0].enabled_time #=> Time
resp.fast_snapshot_restores[0].disabling_time #=> Time
resp.fast_snapshot_restores[0].disabled_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filters (Array<Types::Filter>)

    The filters. The possible values are:

    • availability-zone: The Availability Zone of the snapshot.

    • owner-id: The ID of the Amazon Web Services account that enabled fast snapshot restore on the snapshot.

    • snapshot-id: The ID of the snapshot.

    • state: The state of fast snapshot restores for the snapshot (enabling | optimizing | enabled | disabling | disabled).

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :next_token (String)

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



23695
23696
23697
23698
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 23695

def describe_fast_snapshot_restores(params = {}, options = {})
  req = build_request(:describe_fast_snapshot_restores, params)
  req.send_request(options)
end

#describe_fleet_history(params = {}) ⇒ Types::DescribeFleetHistoryResult

Describes the events for the specified EC2 Fleet during the specified time.

EC2 Fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event. EC2 Fleet events are available for 48 hours.

For more information, see Monitor fleet events using Amazon EventBridge in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.describe_fleet_history({
  dry_run: false,
  event_type: "instance-change", # accepts instance-change, fleet-change, service-error
  max_results: 1,
  next_token: "String",
  fleet_id: "FleetId", # required
  start_time: Time.now, # required
})

Response structure


resp.history_records #=> Array
resp.history_records[0].event_information.event_description #=> String
resp.history_records[0].event_information.event_sub_type #=> String
resp.history_records[0].event_information.instance_id #=> String
resp.history_records[0].event_type #=> String, one of "instance-change", "fleet-change", "service-error"
resp.history_records[0].timestamp #=> Time
resp.last_evaluated_time #=> Time
resp.next_token #=> String
resp.fleet_id #=> String
resp.start_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :event_type (String)

    The type of events to describe. By default, all events are described.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :next_token (String)

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

  • :fleet_id (required, String)

    The ID of the EC2 Fleet.

  • :start_time (required, Time, DateTime, Date, Integer, String)

    The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

Returns:

See Also:



23780
23781
23782
23783
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 23780

def describe_fleet_history(params = {}, options = {})
  req = build_request(:describe_fleet_history, params)
  req.send_request(options)
end

#describe_fleet_instances(params = {}) ⇒ Types::DescribeFleetInstancesResult

Describes the running instances for the specified EC2 Fleet.

Currently, DescribeFleetInstances does not support fleets of type instant. Instead, use DescribeFleets, specifying the instant fleet ID in the request.

For more information, see Describe your EC2 Fleet in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.describe_fleet_instances({
  dry_run: false,
  max_results: 1,
  next_token: "String",
  fleet_id: "FleetId", # required
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
})

Response structure


resp.active_instances #=> Array
resp.active_instances[0].instance_id #=> String
resp.active_instances[0].instance_type #=> String
resp.active_instances[0].spot_instance_request_id #=> String
resp.active_instances[0].instance_health #=> String, one of "healthy", "unhealthy"
resp.next_token #=> String
resp.fleet_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :next_token (String)

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

  • :fleet_id (required, String)

    The ID of the EC2 Fleet.

  • :filters (Array<Types::Filter>)

    The filters.

    • instance-type - The instance type.

    ^

Returns:

See Also:



23864
23865
23866
23867
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 23864

def describe_fleet_instances(params = {}, options = {})
  req = build_request(:describe_fleet_instances, params)
  req.send_request(options)
end

#describe_fleets(params = {}) ⇒ Types::DescribeFleetsResult

Describes the specified EC2 Fleet or all of your EC2 Fleets.

If a fleet is of type instant, you must specify the fleet ID in the request, otherwise the fleet does not appear in the response.

For more information, see Describe your EC2 Fleet in the Amazon EC2 User Guide.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_fleets({
  dry_run: false,
  max_results: 1,
  next_token: "String",
  fleet_ids: ["FleetId"],
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
})

Response structure


resp.next_token #=> String
resp.fleets #=> Array
resp.fleets[0].activity_status #=> String, one of "error", "pending_fulfillment", "pending_termination", "fulfilled"
resp.fleets[0].create_time #=> Time
resp.fleets[0].fleet_id #=> String
resp.fleets[0].fleet_state #=> String, one of "submitted", "active", "deleted", "failed", "deleted_running", "deleted_terminating", "modifying"
resp.fleets[0].client_token #=> String
resp.fleets[0].excess_capacity_termination_policy #=> String, one of "no-termination", "termination"
resp.fleets[0].fulfilled_capacity #=> Float
resp.fleets[0].fulfilled_on_demand_capacity #=> Float
resp.fleets[0].launch_template_configs #=> Array
resp.fleets[0].launch_template_configs[0].launch_template_specification.launch_template_id #=> String
resp.fleets[0].launch_template_configs[0].launch_template_specification.launch_template_name #=> String
resp.fleets[0].launch_template_configs[0].launch_template_specification.version #=> String
resp.fleets[0].launch_template_configs[0].overrides #=> Array
resp.fleets[0].launch_template_configs[0].overrides[0].instance_type #=> String, one of "a1.medium", "a1.large", "a1.xlarge", "a1.2xlarge", "a1.4xlarge", "a1.metal", "c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.12xlarge", "c5.18xlarge", "c5.24xlarge", "c5.metal", "c5a.large", "c5a.xlarge", "c5a.2xlarge", "c5a.4xlarge", "c5a.8xlarge", "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", "c5ad.large", "c5ad.xlarge", "c5ad.2xlarge", "c5ad.4xlarge", "c5ad.8xlarge", "c5ad.12xlarge", "c5ad.16xlarge", "c5ad.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", "c5d.4xlarge", "c5d.9xlarge", "c5d.12xlarge", "c5d.18xlarge", "c5d.24xlarge", "c5d.metal", "c5n.large", "c5n.xlarge", "c5n.2xlarge", "c5n.4xlarge", "c5n.9xlarge", "c5n.18xlarge", "c5n.metal", "c6g.medium", "c6g.large", "c6g.xlarge", "c6g.2xlarge", "c6g.4xlarge", "c6g.8xlarge", "c6g.12xlarge", "c6g.16xlarge", "c6g.metal", "c6gd.medium", "c6gd.large", "c6gd.xlarge", "c6gd.2xlarge", "c6gd.4xlarge", "c6gd.8xlarge", "c6gd.12xlarge", "c6gd.16xlarge", "c6gd.metal", "c6gn.medium", "c6gn.large", "c6gn.xlarge", "c6gn.2xlarge", "c6gn.4xlarge", "c6gn.8xlarge", "c6gn.12xlarge", "c6gn.16xlarge", "c6i.large", "c6i.xlarge", "c6i.2xlarge", "c6i.4xlarge", "c6i.8xlarge", "c6i.12xlarge", "c6i.16xlarge", "c6i.24xlarge", "c6i.32xlarge", "c6i.metal", "cc1.4xlarge", "cc2.8xlarge", "cg1.4xlarge", "cr1.8xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "d3.xlarge", "d3.2xlarge", "d3.4xlarge", "d3.8xlarge", "d3en.xlarge", "d3en.2xlarge", "d3en.4xlarge", "d3en.6xlarge", "d3en.8xlarge", "d3en.12xlarge", "dl1.24xlarge", "f1.2xlarge", "f1.4xlarge", "f1.16xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "g3s.xlarge", "g4ad.xlarge", "g4ad.2xlarge", "g4ad.4xlarge", "g4ad.8xlarge", "g4ad.16xlarge", "g4dn.xlarge", "g4dn.2xlarge", "g4dn.4xlarge", "g4dn.8xlarge", "g4dn.12xlarge", "g4dn.16xlarge", "g4dn.metal", "g5.xlarge", "g5.2xlarge", "g5.4xlarge", "g5.8xlarge", "g5.12xlarge", "g5.16xlarge", "g5.24xlarge", "g5.48xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", "g5g.8xlarge", "g5g.16xlarge", "g5g.metal", "hi1.4xlarge", "hpc6a.48xlarge", "hs1.8xlarge", "h1.2xlarge", "h1.4xlarge", "h1.8xlarge", "h1.16xlarge", "i2.xlarge", "i2.2xlarge", "i2.4xlarge", "i2.8xlarge", "i3.large", "i3.xlarge", "i3.2xlarge", "i3.4xlarge", "i3.8xlarge", "i3.16xlarge", "i3.metal", "i3en.large", "i3en.xlarge", "i3en.2xlarge", "i3en.3xlarge", "i3en.6xlarge", "i3en.12xlarge", "i3en.24xlarge", "i3en.metal", "im4gn.large", "im4gn.xlarge", "im4gn.2xlarge", "im4gn.4xlarge", "im4gn.8xlarge", "im4gn.16xlarge", "inf1.xlarge", "inf1.2xlarge", "inf1.6xlarge", "inf1.24xlarge", "is4gen.medium", "is4gen.large", "is4gen.xlarge", "is4gen.2xlarge", "is4gen.4xlarge", "is4gen.8xlarge", "m1.small", "m1.medium", "m1.large", "m1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "m4.16xlarge", "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge", "m5.16xlarge", "m5.24xlarge", "m5.metal", "m5a.large", "m5a.xlarge", "m5a.2xlarge", "m5a.4xlarge", "m5a.8xlarge", "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", "m5ad.large", "m5ad.xlarge", "m5ad.2xlarge", "m5ad.4xlarge", "m5ad.8xlarge", "m5ad.12xlarge", "m5ad.16xlarge", "m5ad.24xlarge", "m5d.large", "m5d.xlarge", "m5d.2xlarge", "m5d.4xlarge", "m5d.8xlarge", "m5d.12xlarge", "m5d.16xlarge", "m5d.24xlarge", "m5d.metal", "m5dn.large", "m5dn.xlarge", "m5dn.2xlarge", "m5dn.4xlarge", "m5dn.8xlarge", "m5dn.12xlarge", "m5dn.16xlarge", "m5dn.24xlarge", "m5dn.metal", "m5n.large", "m5n.xlarge", "m5n.2xlarge", "m5n.4xlarge", "m5n.8xlarge", "m5n.12xlarge", "m5n.16xlarge", "m5n.24xlarge", "m5n.metal", "m5zn.large", "m5zn.xlarge", "m5zn.2xlarge", "m5zn.3xlarge", "m5zn.6xlarge", "m5zn.12xlarge", "m5zn.metal", "m6a.large", "m6a.xlarge", "m6a.2xlarge", "m6a.4xlarge", "m6a.8xlarge", "m6a.12xlarge", "m6a.16xlarge", "m6a.24xlarge", "m6a.32xlarge", "m6a.48xlarge", "m6g.metal", "m6g.medium", "m6g.large", "m6g.xlarge", "m6g.2xlarge", "m6g.4xlarge", "m6g.8xlarge", "m6g.12xlarge", "m6g.16xlarge", "m6gd.metal", "m6gd.medium", "m6gd.large", "m6gd.xlarge", "m6gd.2xlarge", "m6gd.4xlarge", "m6gd.8xlarge", "m6gd.12xlarge", "m6gd.16xlarge", "m6i.large", "m6i.xlarge", "m6i.2xlarge", "m6i.4xlarge", "m6i.8xlarge", "m6i.12xlarge", "m6i.16xlarge", "m6i.24xlarge", "m6i.32xlarge", "m6i.metal", "mac1.metal", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "p3dn.24xlarge", "p4d.24xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", "r4.4xlarge", "r4.8xlarge", "r4.16xlarge", "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge", "r5.16xlarge", "r5.24xlarge", "r5.metal", "r5a.large", "r5a.xlarge", "r5a.2xlarge", "r5a.4xlarge", "r5a.8xlarge", "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", "r5ad.large", "r5ad.xlarge", "r5ad.2xlarge", "r5ad.4xlarge", "r5ad.8xlarge", "r5ad.12xlarge", "r5ad.16xlarge", "r5ad.24xlarge", "r5b.large", "r5b.xlarge", "r5b.2xlarge", "r5b.4xlarge", "r5b.8xlarge", "r5b.12xlarge", "r5b.16xlarge", "r5b.24xlarge", "r5b.metal", "r5d.large", "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", "r5d.8xlarge", "r5d.12xlarge", "r5d.16xlarge", "r5d.24xlarge", "r5d.metal", "r5dn.large", "r5dn.xlarge", "r5dn.2xlarge", "r5dn.4xlarge", "r5dn.8xlarge", "r5dn.12xlarge", "r5dn.16xlarge", "r5dn.24xlarge", "r5dn.metal", "r5n.large", "r5n.xlarge", "r5n.2xlarge", "r5n.4xlarge", "r5n.8xlarge", "r5n.12xlarge", "r5n.16xlarge", "r5n.24xlarge", "r5n.metal", "r6g.medium", "r6g.large", "r6g.xlarge", "r6g.2xlarge", "r6g.4xlarge", "r6g.8xlarge", "r6g.12xlarge", "r6g.16xlarge", "r6g.metal", "r6gd.medium", "r6gd.large", "r6gd.xlarge", "r6gd.2xlarge", "r6gd.4xlarge", "r6gd.8xlarge", "r6gd.12xlarge", "r6gd.16xlarge", "r6gd.metal", "r6i.large", "r6i.xlarge", "r6i.2xlarge", "r6i.4xlarge", "r6i.8xlarge", "r6i.12xlarge", "r6i.16xlarge", "r6i.24xlarge", "r6i.32xlarge", "r6i.metal", "t1.micro", "t2.nano", "t2.micro", "t2.small", "t2.medium", "t2.large", "t2.xlarge", "t2.2xlarge", "t3.nano", "t3.micro", "t3.small", "t3.medium", "t3.large", "t3.xlarge", "t3.2xlarge", "t3a.nano", "t3a.micro", "t3a.small", "t3a.medium", "t3a.large", "t3a.xlarge", "t3a.2xlarge", "t4g.nano", "t4g.micro", "t4g.small", "t4g.medium", "t4g.large", "t4g.xlarge", "t4g.2xlarge", "u-6tb1.56xlarge", "u-6tb1.112xlarge", "u-9tb1.112xlarge", "u-12tb1.112xlarge", "u-6tb1.metal", "u-9tb1.metal", "u-12tb1.metal", "u-18tb1.metal", "u-24tb1.metal", "vt1.3xlarge", "vt1.6xlarge", "vt1.24xlarge", "x1.16xlarge", "x1.32xlarge", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.32xlarge", "x2iezn.2xlarge", "x2iezn.4xlarge", "x2iezn.6xlarge", "x2iezn.8xlarge", "x2iezn.12xlarge", "x2iezn.metal", "x2gd.medium", "x2gd.large", "x2gd.xlarge", "x2gd.2xlarge", "x2gd.4xlarge", "x2gd.8xlarge", "x2gd.12xlarge", "x2gd.16xlarge", "x2gd.metal", "z1d.large", "z1d.xlarge", "z1d.2xlarge", "z1d.3xlarge", "z1d.6xlarge", "z1d.12xlarge", "z1d.metal", "x2idn.16xlarge", "x2idn.24xlarge", "x2idn.32xlarge", "x2iedn.xlarge", "x2iedn.2xlarge", "x2iedn.4xlarge", "x2iedn.8xlarge", "x2iedn.16xlarge", "x2iedn.24xlarge", "x2iedn.32xlarge", "c6a.large", "c6a.xlarge", "c6a.2xlarge", "c6a.4xlarge", "c6a.8xlarge", "c6a.12xlarge", "c6a.16xlarge", "c6a.24xlarge", "c6a.32xlarge", "c6a.48xlarge", "c6a.metal", "m6a.metal", "i4i.large", "i4i.xlarge", "i4i.2xlarge", "i4i.4xlarge", "i4i.8xlarge", "i4i.16xlarge", "i4i.32xlarge", "i4i.metal", "x2idn.metal", "x2iedn.metal", "c7g.medium", "c7g.large", "c7g.xlarge", "c7g.2xlarge", "c7g.4xlarge", "c7g.8xlarge", "c7g.12xlarge", "c7g.16xlarge", "mac2.metal", "c6id.large", "c6id.xlarge", "c6id.2xlarge", "c6id.4xlarge", "c6id.8xlarge", "c6id.12xlarge", "c6id.16xlarge", "c6id.24xlarge", "c6id.32xlarge", "c6id.metal", "m6id.large", "m6id.xlarge", "m6id.2xlarge", "m6id.4xlarge", "m6id.8xlarge", "m6id.12xlarge", "m6id.16xlarge", "m6id.24xlarge", "m6id.32xlarge", "m6id.metal", "r6id.large", "r6id.xlarge", "r6id.2xlarge", "r6id.4xlarge", "r6id.8xlarge", "r6id.12xlarge", "r6id.16xlarge", "r6id.24xlarge", "r6id.32xlarge", "r6id.metal", "r6a.large", "r6a.xlarge", "r6a.2xlarge", "r6a.4xlarge", "r6a.8xlarge", "r6a.12xlarge", "r6a.16xlarge", "r6a.24xlarge", "r6a.32xlarge", "r6a.48xlarge", "r6a.metal", "p4de.24xlarge", "u-3tb1.56xlarge", "u-18tb1.112xlarge", "u-24tb1.112xlarge", "trn1.2xlarge", "trn1.32xlarge", "hpc6id.32xlarge", "c6in.large", "c6in.xlarge", "c6in.2xlarge", "c6in.4xlarge", "c6in.8xlarge", "c6in.12xlarge", "c6in.16xlarge", "c6in.24xlarge", "c6in.32xlarge", "m6in.large", "m6in.xlarge", "m6in.2xlarge", "m6in.4xlarge", "m6in.8xlarge", "m6in.12xlarge", "m6in.16xlarge", "m6in.24xlarge", "m6in.32xlarge", "m6idn.large", "m6idn.xlarge", "m6idn.2xlarge", "m6idn.4xlarge", "m6idn.8xlarge", "m6idn.12xlarge", "m6idn.16xlarge", "m6idn.24xlarge", "m6idn.32xlarge", "r6in.large", "r6in.xlarge", "r6in.2xlarge", "r6in.4xlarge", "r6in.8xlarge", "r6in.12xlarge", "r6in.16xlarge", "r6in.24xlarge", "r6in.32xlarge", "r6idn.large", "r6idn.xlarge", "r6idn.2xlarge", "r6idn.4xlarge", "r6idn.8xlarge", "r6idn.12xlarge", "r6idn.16xlarge", "r6idn.24xlarge", "r6idn.32xlarge", "c7g.metal", "m7g.medium", "m7g.large", "m7g.xlarge", "m7g.2xlarge", "m7g.4xlarge", "m7g.8xlarge", "m7g.12xlarge", "m7g.16xlarge", "m7g.metal", "r7g.medium", "r7g.large", "r7g.xlarge", "r7g.2xlarge", "r7g.4xlarge", "r7g.8xlarge", "r7g.12xlarge", "r7g.16xlarge", "r7g.metal", "c6in.metal", "m6in.metal", "m6idn.metal", "r6in.metal", "r6idn.metal", "inf2.xlarge", "inf2.8xlarge", "inf2.24xlarge", "inf2.48xlarge", "trn1n.32xlarge", "i4g.large", "i4g.xlarge", "i4g.2xlarge", "i4g.4xlarge", "i4g.8xlarge", "i4g.16xlarge", "hpc7g.4xlarge", "hpc7g.8xlarge", "hpc7g.16xlarge", "c7gn.medium", "c7gn.large", "c7gn.xlarge", "c7gn.2xlarge", "c7gn.4xlarge", "c7gn.8xlarge", "c7gn.12xlarge", "c7gn.16xlarge", "p5.48xlarge", "m7i.large", "m7i.xlarge", "m7i.2xlarge", "m7i.4xlarge", "m7i.8xlarge", "m7i.12xlarge", "m7i.16xlarge", "m7i.24xlarge", "m7i.48xlarge", "m7i-flex.large", "m7i-flex.xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", "m7a.medium", "m7a.large", "m7a.xlarge", "m7a.2xlarge", "m7a.4xlarge", "m7a.8xlarge", "m7a.12xlarge", "m7a.16xlarge", "m7a.24xlarge", "m7a.32xlarge", "m7a.48xlarge", "m7a.metal-48xl", "hpc7a.12xlarge", "hpc7a.24xlarge", "hpc7a.48xlarge", "hpc7a.96xlarge", "c7gd.medium", "c7gd.large", "c7gd.xlarge", "c7gd.2xlarge", "c7gd.4xlarge", "c7gd.8xlarge", "c7gd.12xlarge", "c7gd.16xlarge", "m7gd.medium", "m7gd.large", "m7gd.xlarge", "m7gd.2xlarge", "m7gd.4xlarge", "m7gd.8xlarge", "m7gd.12xlarge", "m7gd.16xlarge", "r7gd.medium", "r7gd.large", "r7gd.xlarge", "r7gd.2xlarge", "r7gd.4xlarge", "r7gd.8xlarge", "r7gd.12xlarge", "r7gd.16xlarge", "r7a.medium", "r7a.large", "r7a.xlarge", "r7a.2xlarge", "r7a.4xlarge", "r7a.8xlarge", "r7a.12xlarge", "r7a.16xlarge", "r7a.24xlarge", "r7a.32xlarge", "r7a.48xlarge", "c7i.large", "c7i.xlarge", "c7i.2xlarge", "c7i.4xlarge", "c7i.8xlarge", "c7i.12xlarge", "c7i.16xlarge", "c7i.24xlarge", "c7i.48xlarge", "mac2-m2pro.metal", "r7iz.large", "r7iz.xlarge", "r7iz.2xlarge", "r7iz.4xlarge", "r7iz.8xlarge", "r7iz.12xlarge", "r7iz.16xlarge", "r7iz.32xlarge", "c7a.medium", "c7a.large", "c7a.xlarge", "c7a.2xlarge", "c7a.4xlarge", "c7a.8xlarge", "c7a.12xlarge", "c7a.16xlarge", "c7a.24xlarge", "c7a.32xlarge", "c7a.48xlarge", "c7a.metal-48xl", "r7a.metal-48xl", "r7i.large", "r7i.xlarge", "r7i.2xlarge", "r7i.4xlarge", "r7i.8xlarge", "r7i.12xlarge", "r7i.16xlarge", "r7i.24xlarge", "r7i.48xlarge", "dl2q.24xlarge", "mac2-m2.metal", "i4i.12xlarge", "i4i.24xlarge", "c7i.metal-24xl", "c7i.metal-48xl", "m7i.metal-24xl", "m7i.metal-48xl", "r7i.metal-24xl", "r7i.metal-48xl", "r7iz.metal-16xl", "r7iz.metal-32xl", "c7gd.metal", "m7gd.metal", "r7gd.metal", "g6.xlarge", "g6.2xlarge", "g6.4xlarge", "g6.8xlarge", "g6.12xlarge", "g6.16xlarge", "g6.24xlarge", "g6.48xlarge", "gr6.4xlarge", "gr6.8xlarge", "c7i-flex.large", "c7i-flex.xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", "u7i-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", "u7ib-12tb.224xlarge", "c7gn.metal", "r8g.medium", "r8g.large", "r8g.xlarge", "r8g.2xlarge", "r8g.4xlarge", "r8g.8xlarge", "r8g.12xlarge", "r8g.16xlarge", "r8g.24xlarge", "r8g.48xlarge", "r8g.metal-24xl", "r8g.metal-48xl", "mac2-m1ultra.metal", "g6e.xlarge", "g6e.2xlarge", "g6e.4xlarge", "g6e.8xlarge", "g6e.12xlarge", "g6e.16xlarge", "g6e.24xlarge", "g6e.48xlarge", "c8g.medium", "c8g.large", "c8g.xlarge", "c8g.2xlarge", "c8g.4xlarge", "c8g.8xlarge", "c8g.12xlarge", "c8g.16xlarge", "c8g.24xlarge", "c8g.48xlarge", "c8g.metal-24xl", "c8g.metal-48xl", "m8g.medium", "m8g.large", "m8g.xlarge", "m8g.2xlarge", "m8g.4xlarge", "m8g.8xlarge", "m8g.12xlarge", "m8g.16xlarge", "m8g.24xlarge", "m8g.48xlarge", "m8g.metal-24xl", "m8g.metal-48xl", "x8g.medium", "x8g.large", "x8g.xlarge", "x8g.2xlarge", "x8g.4xlarge", "x8g.8xlarge", "x8g.12xlarge", "x8g.16xlarge", "x8g.24xlarge", "x8g.48xlarge", "x8g.metal-24xl", "x8g.metal-48xl", "i7ie.large", "i7ie.xlarge", "i7ie.2xlarge", "i7ie.3xlarge", "i7ie.6xlarge", "i7ie.12xlarge", "i7ie.18xlarge", "i7ie.24xlarge", "i7ie.48xlarge", "i8g.large", "i8g.xlarge", "i8g.2xlarge", "i8g.4xlarge", "i8g.8xlarge", "i8g.12xlarge", "i8g.16xlarge", "i8g.24xlarge", "i8g.metal-24xl", "u7i-6tb.112xlarge", "u7i-8tb.112xlarge", "u7inh-32tb.480xlarge", "p5e.48xlarge", "p5en.48xlarge", "f2.12xlarge", "f2.48xlarge", "trn2.48xlarge"
resp.fleets[0].launch_template_configs[0].overrides[0].max_price #=> String
resp.fleets[0].launch_template_configs[0].overrides[0].subnet_id #=> String
resp.fleets[0].launch_template_configs[0].overrides[0].availability_zone #=> String
resp.fleets[0].launch_template_configs[0].overrides[0].weighted_capacity #=> Float
resp.fleets[0].launch_template_configs[0].overrides[0].priority #=> Float
resp.fleets[0].launch_template_configs[0].overrides[0].placement.group_name #=> String
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.v_cpu_count.min #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.v_cpu_count.max #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.memory_mi_b.min #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.memory_mi_b.max #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.cpu_manufacturers #=> Array
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.cpu_manufacturers[0] #=> String, one of "intel", "amd", "amazon-web-services", "apple"
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.memory_gi_b_per_v_cpu.min #=> Float
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.memory_gi_b_per_v_cpu.max #=> Float
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.excluded_instance_types #=> Array
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.excluded_instance_types[0] #=> String
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.instance_generations #=> Array
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.instance_generations[0] #=> String, one of "current", "previous"
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.spot_max_price_percentage_over_lowest_price #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.on_demand_max_price_percentage_over_lowest_price #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.bare_metal #=> String, one of "included", "required", "excluded"
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.burstable_performance #=> String, one of "included", "required", "excluded"
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.require_hibernate_support #=> Boolean
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.network_interface_count.min #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.network_interface_count.max #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.local_storage #=> String, one of "included", "required", "excluded"
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.local_storage_types #=> Array
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.local_storage_types[0] #=> String, one of "hdd", "ssd"
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.total_local_storage_gb.min #=> Float
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.total_local_storage_gb.max #=> Float
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.baseline_ebs_bandwidth_mbps.min #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.baseline_ebs_bandwidth_mbps.max #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.accelerator_types #=> Array
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.accelerator_types[0] #=> String, one of "gpu", "fpga", "inference"
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.accelerator_count.min #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.accelerator_count.max #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.accelerator_manufacturers #=> Array
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.accelerator_manufacturers[0] #=> String, one of "amazon-web-services", "amd", "nvidia", "xilinx", "habana"
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.accelerator_names #=> Array
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.accelerator_names[0] #=> String, one of "a100", "inferentia", "k520", "k80", "m60", "radeon-pro-v520", "t4", "vu9p", "v100", "a10g", "h100", "t4g"
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.accelerator_total_memory_mi_b.min #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.accelerator_total_memory_mi_b.max #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.network_bandwidth_gbps.min #=> Float
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.network_bandwidth_gbps.max #=> Float
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.allowed_instance_types #=> Array
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.allowed_instance_types[0] #=> String
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.max_spot_price_as_percentage_of_optimal_on_demand_price #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.baseline_performance_factors.cpu.references #=> Array
resp.fleets[0].launch_template_configs[0].overrides[0].instance_requirements.baseline_performance_factors.cpu.references[0].instance_family #=> String
resp.fleets[0].launch_template_configs[0].overrides[0].image_id #=> String
resp.fleets[0].launch_template_configs[0].overrides[0].block_device_mappings #=> Array
resp.fleets[0].launch_template_configs[0].overrides[0].block_device_mappings[0].device_name #=> String
resp.fleets[0].launch_template_configs[0].overrides[0].block_device_mappings[0].virtual_name #=> String
resp.fleets[0].launch_template_configs[0].overrides[0].block_device_mappings[0].ebs.encrypted #=> Boolean
resp.fleets[0].launch_template_configs[0].overrides[0].block_device_mappings[0].ebs.delete_on_termination #=> Boolean
resp.fleets[0].launch_template_configs[0].overrides[0].block_device_mappings[0].ebs.iops #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].block_device_mappings[0].ebs.throughput #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].block_device_mappings[0].ebs.kms_key_id #=> String
resp.fleets[0].launch_template_configs[0].overrides[0].block_device_mappings[0].ebs.snapshot_id #=> String
resp.fleets[0].launch_template_configs[0].overrides[0].block_device_mappings[0].ebs.volume_size #=> Integer
resp.fleets[0].launch_template_configs[0].overrides[0].block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
resp.fleets[0].launch_template_configs[0].overrides[0].block_device_mappings[0].no_device #=> String
resp.fleets[0].target_capacity_specification.total_target_capacity #=> Integer
resp.fleets[0].target_capacity_specification.on_demand_target_capacity #=> Integer
resp.fleets[0].target_capacity_specification.spot_target_capacity #=> Integer
resp.fleets[0].target_capacity_specification.default_target_capacity_type #=> String, one of "spot", "on-demand", "capacity-block"
resp.fleets[0].target_capacity_specification.target_capacity_unit_type #=> String, one of "vcpu", "memory-mib", "units"
resp.fleets[0].terminate_instances_with_expiration #=> Boolean
resp.fleets[0].type #=> String, one of "request", "maintain", "instant"
resp.fleets[0].valid_from #=> Time
resp.fleets[0].valid_until #=> Time
resp.fleets[0].replace_unhealthy_instances #=> Boolean
resp.fleets[0].spot_options.allocation_strategy #=> String, one of "lowest-price", "diversified", "capacity-optimized", "capacity-optimized-prioritized", "price-capacity-optimized"
resp.fleets[0].spot_options.maintenance_strategies.capacity_rebalance.replacement_strategy #=> String, one of "launch", "launch-before-terminate"
resp.fleets[0].spot_options.maintenance_strategies.capacity_rebalance.termination_delay #=> Integer
resp.fleets[0].spot_options.instance_interruption_behavior #=> String, one of "hibernate", "stop", "terminate"
resp.fleets[0].spot_options.instance_pools_to_use_count #=> Integer
resp.fleets[0].spot_options.single_instance_type #=> Boolean
resp.fleets[0].spot_options.single_availability_zone #=> Boolean
resp.fleets[0].spot_options.min_target_capacity #=> Integer
resp.fleets[0].spot_options.max_total_price #=> String
resp.fleets[0].on_demand_options.allocation_strategy #=> String, one of "lowest-price", "prioritized"
resp.fleets[0].on_demand_options.capacity_reservation_options.usage_strategy #=> String, one of "use-capacity-reservations-first"
resp.fleets[0].on_demand_options.single_instance_type #=> Boolean
resp.fleets[0].on_demand_options.single_availability_zone #=> Boolean
resp.fleets[0].on_demand_options.min_target_capacity #=> Integer
resp.fleets[0].on_demand_options.max_total_price #=> String
resp.fleets[0].tags #=> Array
resp.fleets[0].tags[0].key #=> String
resp.fleets[0].tags[0].value #=> String
resp.fleets[0].errors #=> Array
resp.fleets[0].errors[0].launch_template_and_overrides.launch_template_specification.launch_template_id #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.launch_template_specification.launch_template_name #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.launch_template_specification.version #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_type #=> String, one of "a1.medium", "a1.large", "a1.xlarge", "a1.2xlarge", "a1.4xlarge", "a1.metal", "c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.12xlarge", "c5.18xlarge", "c5.24xlarge", "c5.metal", "c5a.large", "c5a.xlarge", "c5a.2xlarge", "c5a.4xlarge", "c5a.8xlarge", "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", "c5ad.large", "c5ad.xlarge", "c5ad.2xlarge", "c5ad.4xlarge", "c5ad.8xlarge", "c5ad.12xlarge", "c5ad.16xlarge", "c5ad.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", "c5d.4xlarge", "c5d.9xlarge", "c5d.12xlarge", "c5d.18xlarge", "c5d.24xlarge", "c5d.metal", "c5n.large", "c5n.xlarge", "c5n.2xlarge", "c5n.4xlarge", "c5n.9xlarge", "c5n.18xlarge", "c5n.metal", "c6g.medium", "c6g.large", "c6g.xlarge", "c6g.2xlarge", "c6g.4xlarge", "c6g.8xlarge", "c6g.12xlarge", "c6g.16xlarge", "c6g.metal", "c6gd.medium", "c6gd.large", "c6gd.xlarge", "c6gd.2xlarge", "c6gd.4xlarge", "c6gd.8xlarge", "c6gd.12xlarge", "c6gd.16xlarge", "c6gd.metal", "c6gn.medium", "c6gn.large", "c6gn.xlarge", "c6gn.2xlarge", "c6gn.4xlarge", "c6gn.8xlarge", "c6gn.12xlarge", "c6gn.16xlarge", "c6i.large", "c6i.xlarge", "c6i.2xlarge", "c6i.4xlarge", "c6i.8xlarge", "c6i.12xlarge", "c6i.16xlarge", "c6i.24xlarge", "c6i.32xlarge", "c6i.metal", "cc1.4xlarge", "cc2.8xlarge", "cg1.4xlarge", "cr1.8xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "d3.xlarge", "d3.2xlarge", "d3.4xlarge", "d3.8xlarge", "d3en.xlarge", "d3en.2xlarge", "d3en.4xlarge", "d3en.6xlarge", "d3en.8xlarge", "d3en.12xlarge", "dl1.24xlarge", "f1.2xlarge", "f1.4xlarge", "f1.16xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "g3s.xlarge", "g4ad.xlarge", "g4ad.2xlarge", "g4ad.4xlarge", "g4ad.8xlarge", "g4ad.16xlarge", "g4dn.xlarge", "g4dn.2xlarge", "g4dn.4xlarge", "g4dn.8xlarge", "g4dn.12xlarge", "g4dn.16xlarge", "g4dn.metal", "g5.xlarge", "g5.2xlarge", "g5.4xlarge", "g5.8xlarge", "g5.12xlarge", "g5.16xlarge", "g5.24xlarge", "g5.48xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", "g5g.8xlarge", "g5g.16xlarge", "g5g.metal", "hi1.4xlarge", "hpc6a.48xlarge", "hs1.8xlarge", "h1.2xlarge", "h1.4xlarge", "h1.8xlarge", "h1.16xlarge", "i2.xlarge", "i2.2xlarge", "i2.4xlarge", "i2.8xlarge", "i3.large", "i3.xlarge", "i3.2xlarge", "i3.4xlarge", "i3.8xlarge", "i3.16xlarge", "i3.metal", "i3en.large", "i3en.xlarge", "i3en.2xlarge", "i3en.3xlarge", "i3en.6xlarge", "i3en.12xlarge", "i3en.24xlarge", "i3en.metal", "im4gn.large", "im4gn.xlarge", "im4gn.2xlarge", "im4gn.4xlarge", "im4gn.8xlarge", "im4gn.16xlarge", "inf1.xlarge", "inf1.2xlarge", "inf1.6xlarge", "inf1.24xlarge", "is4gen.medium", "is4gen.large", "is4gen.xlarge", "is4gen.2xlarge", "is4gen.4xlarge", "is4gen.8xlarge", "m1.small", "m1.medium", "m1.large", "m1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "m4.16xlarge", "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge", "m5.16xlarge", "m5.24xlarge", "m5.metal", "m5a.large", "m5a.xlarge", "m5a.2xlarge", "m5a.4xlarge", "m5a.8xlarge", "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", "m5ad.large", "m5ad.xlarge", "m5ad.2xlarge", "m5ad.4xlarge", "m5ad.8xlarge", "m5ad.12xlarge", "m5ad.16xlarge", "m5ad.24xlarge", "m5d.large", "m5d.xlarge", "m5d.2xlarge", "m5d.4xlarge", "m5d.8xlarge", "m5d.12xlarge", "m5d.16xlarge", "m5d.24xlarge", "m5d.metal", "m5dn.large", "m5dn.xlarge", "m5dn.2xlarge", "m5dn.4xlarge", "m5dn.8xlarge", "m5dn.12xlarge", "m5dn.16xlarge", "m5dn.24xlarge", "m5dn.metal", "m5n.large", "m5n.xlarge", "m5n.2xlarge", "m5n.4xlarge", "m5n.8xlarge", "m5n.12xlarge", "m5n.16xlarge", "m5n.24xlarge", "m5n.metal", "m5zn.large", "m5zn.xlarge", "m5zn.2xlarge", "m5zn.3xlarge", "m5zn.6xlarge", "m5zn.12xlarge", "m5zn.metal", "m6a.large", "m6a.xlarge", "m6a.2xlarge", "m6a.4xlarge", "m6a.8xlarge", "m6a.12xlarge", "m6a.16xlarge", "m6a.24xlarge", "m6a.32xlarge", "m6a.48xlarge", "m6g.metal", "m6g.medium", "m6g.large", "m6g.xlarge", "m6g.2xlarge", "m6g.4xlarge", "m6g.8xlarge", "m6g.12xlarge", "m6g.16xlarge", "m6gd.metal", "m6gd.medium", "m6gd.large", "m6gd.xlarge", "m6gd.2xlarge", "m6gd.4xlarge", "m6gd.8xlarge", "m6gd.12xlarge", "m6gd.16xlarge", "m6i.large", "m6i.xlarge", "m6i.2xlarge", "m6i.4xlarge", "m6i.8xlarge", "m6i.12xlarge", "m6i.16xlarge", "m6i.24xlarge", "m6i.32xlarge", "m6i.metal", "mac1.metal", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "p3dn.24xlarge", "p4d.24xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", "r4.4xlarge", "r4.8xlarge", "r4.16xlarge", "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge", "r5.16xlarge", "r5.24xlarge", "r5.metal", "r5a.large", "r5a.xlarge", "r5a.2xlarge", "r5a.4xlarge", "r5a.8xlarge", "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", "r5ad.large", "r5ad.xlarge", "r5ad.2xlarge", "r5ad.4xlarge", "r5ad.8xlarge", "r5ad.12xlarge", "r5ad.16xlarge", "r5ad.24xlarge", "r5b.large", "r5b.xlarge", "r5b.2xlarge", "r5b.4xlarge", "r5b.8xlarge", "r5b.12xlarge", "r5b.16xlarge", "r5b.24xlarge", "r5b.metal", "r5d.large", "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", "r5d.8xlarge", "r5d.12xlarge", "r5d.16xlarge", "r5d.24xlarge", "r5d.metal", "r5dn.large", "r5dn.xlarge", "r5dn.2xlarge", "r5dn.4xlarge", "r5dn.8xlarge", "r5dn.12xlarge", "r5dn.16xlarge", "r5dn.24xlarge", "r5dn.metal", "r5n.large", "r5n.xlarge", "r5n.2xlarge", "r5n.4xlarge", "r5n.8xlarge", "r5n.12xlarge", "r5n.16xlarge", "r5n.24xlarge", "r5n.metal", "r6g.medium", "r6g.large", "r6g.xlarge", "r6g.2xlarge", "r6g.4xlarge", "r6g.8xlarge", "r6g.12xlarge", "r6g.16xlarge", "r6g.metal", "r6gd.medium", "r6gd.large", "r6gd.xlarge", "r6gd.2xlarge", "r6gd.4xlarge", "r6gd.8xlarge", "r6gd.12xlarge", "r6gd.16xlarge", "r6gd.metal", "r6i.large", "r6i.xlarge", "r6i.2xlarge", "r6i.4xlarge", "r6i.8xlarge", "r6i.12xlarge", "r6i.16xlarge", "r6i.24xlarge", "r6i.32xlarge", "r6i.metal", "t1.micro", "t2.nano", "t2.micro", "t2.small", "t2.medium", "t2.large", "t2.xlarge", "t2.2xlarge", "t3.nano", "t3.micro", "t3.small", "t3.medium", "t3.large", "t3.xlarge", "t3.2xlarge", "t3a.nano", "t3a.micro", "t3a.small", "t3a.medium", "t3a.large", "t3a.xlarge", "t3a.2xlarge", "t4g.nano", "t4g.micro", "t4g.small", "t4g.medium", "t4g.large", "t4g.xlarge", "t4g.2xlarge", "u-6tb1.56xlarge", "u-6tb1.112xlarge", "u-9tb1.112xlarge", "u-12tb1.112xlarge", "u-6tb1.metal", "u-9tb1.metal", "u-12tb1.metal", "u-18tb1.metal", "u-24tb1.metal", "vt1.3xlarge", "vt1.6xlarge", "vt1.24xlarge", "x1.16xlarge", "x1.32xlarge", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.32xlarge", "x2iezn.2xlarge", "x2iezn.4xlarge", "x2iezn.6xlarge", "x2iezn.8xlarge", "x2iezn.12xlarge", "x2iezn.metal", "x2gd.medium", "x2gd.large", "x2gd.xlarge", "x2gd.2xlarge", "x2gd.4xlarge", "x2gd.8xlarge", "x2gd.12xlarge", "x2gd.16xlarge", "x2gd.metal", "z1d.large", "z1d.xlarge", "z1d.2xlarge", "z1d.3xlarge", "z1d.6xlarge", "z1d.12xlarge", "z1d.metal", "x2idn.16xlarge", "x2idn.24xlarge", "x2idn.32xlarge", "x2iedn.xlarge", "x2iedn.2xlarge", "x2iedn.4xlarge", "x2iedn.8xlarge", "x2iedn.16xlarge", "x2iedn.24xlarge", "x2iedn.32xlarge", "c6a.large", "c6a.xlarge", "c6a.2xlarge", "c6a.4xlarge", "c6a.8xlarge", "c6a.12xlarge", "c6a.16xlarge", "c6a.24xlarge", "c6a.32xlarge", "c6a.48xlarge", "c6a.metal", "m6a.metal", "i4i.large", "i4i.xlarge", "i4i.2xlarge", "i4i.4xlarge", "i4i.8xlarge", "i4i.16xlarge", "i4i.32xlarge", "i4i.metal", "x2idn.metal", "x2iedn.metal", "c7g.medium", "c7g.large", "c7g.xlarge", "c7g.2xlarge", "c7g.4xlarge", "c7g.8xlarge", "c7g.12xlarge", "c7g.16xlarge", "mac2.metal", "c6id.large", "c6id.xlarge", "c6id.2xlarge", "c6id.4xlarge", "c6id.8xlarge", "c6id.12xlarge", "c6id.16xlarge", "c6id.24xlarge", "c6id.32xlarge", "c6id.metal", "m6id.large", "m6id.xlarge", "m6id.2xlarge", "m6id.4xlarge", "m6id.8xlarge", "m6id.12xlarge", "m6id.16xlarge", "m6id.24xlarge", "m6id.32xlarge", "m6id.metal", "r6id.large", "r6id.xlarge", "r6id.2xlarge", "r6id.4xlarge", "r6id.8xlarge", "r6id.12xlarge", "r6id.16xlarge", "r6id.24xlarge", "r6id.32xlarge", "r6id.metal", "r6a.large", "r6a.xlarge", "r6a.2xlarge", "r6a.4xlarge", "r6a.8xlarge", "r6a.12xlarge", "r6a.16xlarge", "r6a.24xlarge", "r6a.32xlarge", "r6a.48xlarge", "r6a.metal", "p4de.24xlarge", "u-3tb1.56xlarge", "u-18tb1.112xlarge", "u-24tb1.112xlarge", "trn1.2xlarge", "trn1.32xlarge", "hpc6id.32xlarge", "c6in.large", "c6in.xlarge", "c6in.2xlarge", "c6in.4xlarge", "c6in.8xlarge", "c6in.12xlarge", "c6in.16xlarge", "c6in.24xlarge", "c6in.32xlarge", "m6in.large", "m6in.xlarge", "m6in.2xlarge", "m6in.4xlarge", "m6in.8xlarge", "m6in.12xlarge", "m6in.16xlarge", "m6in.24xlarge", "m6in.32xlarge", "m6idn.large", "m6idn.xlarge", "m6idn.2xlarge", "m6idn.4xlarge", "m6idn.8xlarge", "m6idn.12xlarge", "m6idn.16xlarge", "m6idn.24xlarge", "m6idn.32xlarge", "r6in.large", "r6in.xlarge", "r6in.2xlarge", "r6in.4xlarge", "r6in.8xlarge", "r6in.12xlarge", "r6in.16xlarge", "r6in.24xlarge", "r6in.32xlarge", "r6idn.large", "r6idn.xlarge", "r6idn.2xlarge", "r6idn.4xlarge", "r6idn.8xlarge", "r6idn.12xlarge", "r6idn.16xlarge", "r6idn.24xlarge", "r6idn.32xlarge", "c7g.metal", "m7g.medium", "m7g.large", "m7g.xlarge", "m7g.2xlarge", "m7g.4xlarge", "m7g.8xlarge", "m7g.12xlarge", "m7g.16xlarge", "m7g.metal", "r7g.medium", "r7g.large", "r7g.xlarge", "r7g.2xlarge", "r7g.4xlarge", "r7g.8xlarge", "r7g.12xlarge", "r7g.16xlarge", "r7g.metal", "c6in.metal", "m6in.metal", "m6idn.metal", "r6in.metal", "r6idn.metal", "inf2.xlarge", "inf2.8xlarge", "inf2.24xlarge", "inf2.48xlarge", "trn1n.32xlarge", "i4g.large", "i4g.xlarge", "i4g.2xlarge", "i4g.4xlarge", "i4g.8xlarge", "i4g.16xlarge", "hpc7g.4xlarge", "hpc7g.8xlarge", "hpc7g.16xlarge", "c7gn.medium", "c7gn.large", "c7gn.xlarge", "c7gn.2xlarge", "c7gn.4xlarge", "c7gn.8xlarge", "c7gn.12xlarge", "c7gn.16xlarge", "p5.48xlarge", "m7i.large", "m7i.xlarge", "m7i.2xlarge", "m7i.4xlarge", "m7i.8xlarge", "m7i.12xlarge", "m7i.16xlarge", "m7i.24xlarge", "m7i.48xlarge", "m7i-flex.large", "m7i-flex.xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", "m7a.medium", "m7a.large", "m7a.xlarge", "m7a.2xlarge", "m7a.4xlarge", "m7a.8xlarge", "m7a.12xlarge", "m7a.16xlarge", "m7a.24xlarge", "m7a.32xlarge", "m7a.48xlarge", "m7a.metal-48xl", "hpc7a.12xlarge", "hpc7a.24xlarge", "hpc7a.48xlarge", "hpc7a.96xlarge", "c7gd.medium", "c7gd.large", "c7gd.xlarge", "c7gd.2xlarge", "c7gd.4xlarge", "c7gd.8xlarge", "c7gd.12xlarge", "c7gd.16xlarge", "m7gd.medium", "m7gd.large", "m7gd.xlarge", "m7gd.2xlarge", "m7gd.4xlarge", "m7gd.8xlarge", "m7gd.12xlarge", "m7gd.16xlarge", "r7gd.medium", "r7gd.large", "r7gd.xlarge", "r7gd.2xlarge", "r7gd.4xlarge", "r7gd.8xlarge", "r7gd.12xlarge", "r7gd.16xlarge", "r7a.medium", "r7a.large", "r7a.xlarge", "r7a.2xlarge", "r7a.4xlarge", "r7a.8xlarge", "r7a.12xlarge", "r7a.16xlarge", "r7a.24xlarge", "r7a.32xlarge", "r7a.48xlarge", "c7i.large", "c7i.xlarge", "c7i.2xlarge", "c7i.4xlarge", "c7i.8xlarge", "c7i.12xlarge", "c7i.16xlarge", "c7i.24xlarge", "c7i.48xlarge", "mac2-m2pro.metal", "r7iz.large", "r7iz.xlarge", "r7iz.2xlarge", "r7iz.4xlarge", "r7iz.8xlarge", "r7iz.12xlarge", "r7iz.16xlarge", "r7iz.32xlarge", "c7a.medium", "c7a.large", "c7a.xlarge", "c7a.2xlarge", "c7a.4xlarge", "c7a.8xlarge", "c7a.12xlarge", "c7a.16xlarge", "c7a.24xlarge", "c7a.32xlarge", "c7a.48xlarge", "c7a.metal-48xl", "r7a.metal-48xl", "r7i.large", "r7i.xlarge", "r7i.2xlarge", "r7i.4xlarge", "r7i.8xlarge", "r7i.12xlarge", "r7i.16xlarge", "r7i.24xlarge", "r7i.48xlarge", "dl2q.24xlarge", "mac2-m2.metal", "i4i.12xlarge", "i4i.24xlarge", "c7i.metal-24xl", "c7i.metal-48xl", "m7i.metal-24xl", "m7i.metal-48xl", "r7i.metal-24xl", "r7i.metal-48xl", "r7iz.metal-16xl", "r7iz.metal-32xl", "c7gd.metal", "m7gd.metal", "r7gd.metal", "g6.xlarge", "g6.2xlarge", "g6.4xlarge", "g6.8xlarge", "g6.12xlarge", "g6.16xlarge", "g6.24xlarge", "g6.48xlarge", "gr6.4xlarge", "gr6.8xlarge", "c7i-flex.large", "c7i-flex.xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", "u7i-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", "u7ib-12tb.224xlarge", "c7gn.metal", "r8g.medium", "r8g.large", "r8g.xlarge", "r8g.2xlarge", "r8g.4xlarge", "r8g.8xlarge", "r8g.12xlarge", "r8g.16xlarge", "r8g.24xlarge", "r8g.48xlarge", "r8g.metal-24xl", "r8g.metal-48xl", "mac2-m1ultra.metal", "g6e.xlarge", "g6e.2xlarge", "g6e.4xlarge", "g6e.8xlarge", "g6e.12xlarge", "g6e.16xlarge", "g6e.24xlarge", "g6e.48xlarge", "c8g.medium", "c8g.large", "c8g.xlarge", "c8g.2xlarge", "c8g.4xlarge", "c8g.8xlarge", "c8g.12xlarge", "c8g.16xlarge", "c8g.24xlarge", "c8g.48xlarge", "c8g.metal-24xl", "c8g.metal-48xl", "m8g.medium", "m8g.large", "m8g.xlarge", "m8g.2xlarge", "m8g.4xlarge", "m8g.8xlarge", "m8g.12xlarge", "m8g.16xlarge", "m8g.24xlarge", "m8g.48xlarge", "m8g.metal-24xl", "m8g.metal-48xl", "x8g.medium", "x8g.large", "x8g.xlarge", "x8g.2xlarge", "x8g.4xlarge", "x8g.8xlarge", "x8g.12xlarge", "x8g.16xlarge", "x8g.24xlarge", "x8g.48xlarge", "x8g.metal-24xl", "x8g.metal-48xl", "i7ie.large", "i7ie.xlarge", "i7ie.2xlarge", "i7ie.3xlarge", "i7ie.6xlarge", "i7ie.12xlarge", "i7ie.18xlarge", "i7ie.24xlarge", "i7ie.48xlarge", "i8g.large", "i8g.xlarge", "i8g.2xlarge", "i8g.4xlarge", "i8g.8xlarge", "i8g.12xlarge", "i8g.16xlarge", "i8g.24xlarge", "i8g.metal-24xl", "u7i-6tb.112xlarge", "u7i-8tb.112xlarge", "u7inh-32tb.480xlarge", "p5e.48xlarge", "p5en.48xlarge", "f2.12xlarge", "f2.48xlarge", "trn2.48xlarge"
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.max_price #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.subnet_id #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.availability_zone #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.weighted_capacity #=> Float
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.priority #=> Float
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.placement.group_name #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.v_cpu_count.min #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.v_cpu_count.max #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.memory_mi_b.min #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.memory_mi_b.max #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.cpu_manufacturers #=> Array
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.cpu_manufacturers[0] #=> String, one of "intel", "amd", "amazon-web-services", "apple"
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.memory_gi_b_per_v_cpu.min #=> Float
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.memory_gi_b_per_v_cpu.max #=> Float
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.excluded_instance_types #=> Array
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.excluded_instance_types[0] #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.instance_generations #=> Array
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.instance_generations[0] #=> String, one of "current", "previous"
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.spot_max_price_percentage_over_lowest_price #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.on_demand_max_price_percentage_over_lowest_price #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.bare_metal #=> String, one of "included", "required", "excluded"
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.burstable_performance #=> String, one of "included", "required", "excluded"
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.require_hibernate_support #=> Boolean
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.network_interface_count.min #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.network_interface_count.max #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.local_storage #=> String, one of "included", "required", "excluded"
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.local_storage_types #=> Array
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.local_storage_types[0] #=> String, one of "hdd", "ssd"
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.total_local_storage_gb.min #=> Float
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.total_local_storage_gb.max #=> Float
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.baseline_ebs_bandwidth_mbps.min #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.baseline_ebs_bandwidth_mbps.max #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_types #=> Array
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_types[0] #=> String, one of "gpu", "fpga", "inference"
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_count.min #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_count.max #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_manufacturers #=> Array
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_manufacturers[0] #=> String, one of "amazon-web-services", "amd", "nvidia", "xilinx", "habana"
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_names #=> Array
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_names[0] #=> String, one of "a100", "inferentia", "k520", "k80", "m60", "radeon-pro-v520", "t4", "vu9p", "v100", "a10g", "h100", "t4g"
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_total_memory_mi_b.min #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_total_memory_mi_b.max #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.network_bandwidth_gbps.min #=> Float
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.network_bandwidth_gbps.max #=> Float
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.allowed_instance_types #=> Array
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.allowed_instance_types[0] #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.max_spot_price_as_percentage_of_optimal_on_demand_price #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.baseline_performance_factors.cpu.references #=> Array
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.instance_requirements.baseline_performance_factors.cpu.references[0].instance_family #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.image_id #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.block_device_mappings #=> Array
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].device_name #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].virtual_name #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.encrypted #=> Boolean
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.iops #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.throughput #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.kms_key_id #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.snapshot_id #=> String
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.volume_size #=> Integer
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
resp.fleets[0].errors[0].launch_template_and_overrides.overrides.block_device_mappings[0].no_device #=> String
resp.fleets[0].errors[0].lifecycle #=> String, one of "spot", "on-demand"
resp.fleets[0].errors[0].error_code #=> String
resp.fleets[0].errors[0].error_message #=> String
resp.fleets[0].instances #=> Array
resp.fleets[0].instances[0].launch_template_and_overrides.launch_template_specification.launch_template_id #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.launch_template_specification.launch_template_name #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.launch_template_specification.version #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_type #=> String, one of "a1.medium", "a1.large", "a1.xlarge", "a1.2xlarge", "a1.4xlarge", "a1.metal", "c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.12xlarge", "c5.18xlarge", "c5.24xlarge", "c5.metal", "c5a.large", "c5a.xlarge", "c5a.2xlarge", "c5a.4xlarge", "c5a.8xlarge", "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", "c5ad.large", "c5ad.xlarge", "c5ad.2xlarge", "c5ad.4xlarge", "c5ad.8xlarge", "c5ad.12xlarge", "c5ad.16xlarge", "c5ad.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", "c5d.4xlarge", "c5d.9xlarge", "c5d.12xlarge", "c5d.18xlarge", "c5d.24xlarge", "c5d.metal", "c5n.large", "c5n.xlarge", "c5n.2xlarge", "c5n.4xlarge", "c5n.9xlarge", "c5n.18xlarge", "c5n.metal", "c6g.medium", "c6g.large", "c6g.xlarge", "c6g.2xlarge", "c6g.4xlarge", "c6g.8xlarge", "c6g.12xlarge", "c6g.16xlarge", "c6g.metal", "c6gd.medium", "c6gd.large", "c6gd.xlarge", "c6gd.2xlarge", "c6gd.4xlarge", "c6gd.8xlarge", "c6gd.12xlarge", "c6gd.16xlarge", "c6gd.metal", "c6gn.medium", "c6gn.large", "c6gn.xlarge", "c6gn.2xlarge", "c6gn.4xlarge", "c6gn.8xlarge", "c6gn.12xlarge", "c6gn.16xlarge", "c6i.large", "c6i.xlarge", "c6i.2xlarge", "c6i.4xlarge", "c6i.8xlarge", "c6i.12xlarge", "c6i.16xlarge", "c6i.24xlarge", "c6i.32xlarge", "c6i.metal", "cc1.4xlarge", "cc2.8xlarge", "cg1.4xlarge", "cr1.8xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "d3.xlarge", "d3.2xlarge", "d3.4xlarge", "d3.8xlarge", "d3en.xlarge", "d3en.2xlarge", "d3en.4xlarge", "d3en.6xlarge", "d3en.8xlarge", "d3en.12xlarge", "dl1.24xlarge", "f1.2xlarge", "f1.4xlarge", "f1.16xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "g3s.xlarge", "g4ad.xlarge", "g4ad.2xlarge", "g4ad.4xlarge", "g4ad.8xlarge", "g4ad.16xlarge", "g4dn.xlarge", "g4dn.2xlarge", "g4dn.4xlarge", "g4dn.8xlarge", "g4dn.12xlarge", "g4dn.16xlarge", "g4dn.metal", "g5.xlarge", "g5.2xlarge", "g5.4xlarge", "g5.8xlarge", "g5.12xlarge", "g5.16xlarge", "g5.24xlarge", "g5.48xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", "g5g.8xlarge", "g5g.16xlarge", "g5g.metal", "hi1.4xlarge", "hpc6a.48xlarge", "hs1.8xlarge", "h1.2xlarge", "h1.4xlarge", "h1.8xlarge", "h1.16xlarge", "i2.xlarge", "i2.2xlarge", "i2.4xlarge", "i2.8xlarge", "i3.large", "i3.xlarge", "i3.2xlarge", "i3.4xlarge", "i3.8xlarge", "i3.16xlarge", "i3.metal", "i3en.large", "i3en.xlarge", "i3en.2xlarge", "i3en.3xlarge", "i3en.6xlarge", "i3en.12xlarge", "i3en.24xlarge", "i3en.metal", "im4gn.large", "im4gn.xlarge", "im4gn.2xlarge", "im4gn.4xlarge", "im4gn.8xlarge", "im4gn.16xlarge", "inf1.xlarge", "inf1.2xlarge", "inf1.6xlarge", "inf1.24xlarge", "is4gen.medium", "is4gen.large", "is4gen.xlarge", "is4gen.2xlarge", "is4gen.4xlarge", "is4gen.8xlarge", "m1.small", "m1.medium", "m1.large", "m1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "m4.16xlarge", "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge", "m5.16xlarge", "m5.24xlarge", "m5.metal", "m5a.large", "m5a.xlarge", "m5a.2xlarge", "m5a.4xlarge", "m5a.8xlarge", "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", "m5ad.large", "m5ad.xlarge", "m5ad.2xlarge", "m5ad.4xlarge", "m5ad.8xlarge", "m5ad.12xlarge", "m5ad.16xlarge", "m5ad.24xlarge", "m5d.large", "m5d.xlarge", "m5d.2xlarge", "m5d.4xlarge", "m5d.8xlarge", "m5d.12xlarge", "m5d.16xlarge", "m5d.24xlarge", "m5d.metal", "m5dn.large", "m5dn.xlarge", "m5dn.2xlarge", "m5dn.4xlarge", "m5dn.8xlarge", "m5dn.12xlarge", "m5dn.16xlarge", "m5dn.24xlarge", "m5dn.metal", "m5n.large", "m5n.xlarge", "m5n.2xlarge", "m5n.4xlarge", "m5n.8xlarge", "m5n.12xlarge", "m5n.16xlarge", "m5n.24xlarge", "m5n.metal", "m5zn.large", "m5zn.xlarge", "m5zn.2xlarge", "m5zn.3xlarge", "m5zn.6xlarge", "m5zn.12xlarge", "m5zn.metal", "m6a.large", "m6a.xlarge", "m6a.2xlarge", "m6a.4xlarge", "m6a.8xlarge", "m6a.12xlarge", "m6a.16xlarge", "m6a.24xlarge", "m6a.32xlarge", "m6a.48xlarge", "m6g.metal", "m6g.medium", "m6g.large", "m6g.xlarge", "m6g.2xlarge", "m6g.4xlarge", "m6g.8xlarge", "m6g.12xlarge", "m6g.16xlarge", "m6gd.metal", "m6gd.medium", "m6gd.large", "m6gd.xlarge", "m6gd.2xlarge", "m6gd.4xlarge", "m6gd.8xlarge", "m6gd.12xlarge", "m6gd.16xlarge", "m6i.large", "m6i.xlarge", "m6i.2xlarge", "m6i.4xlarge", "m6i.8xlarge", "m6i.12xlarge", "m6i.16xlarge", "m6i.24xlarge", "m6i.32xlarge", "m6i.metal", "mac1.metal", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "p3dn.24xlarge", "p4d.24xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", "r4.4xlarge", "r4.8xlarge", "r4.16xlarge", "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge", "r5.16xlarge", "r5.24xlarge", "r5.metal", "r5a.large", "r5a.xlarge", "r5a.2xlarge", "r5a.4xlarge", "r5a.8xlarge", "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", "r5ad.large", "r5ad.xlarge", "r5ad.2xlarge", "r5ad.4xlarge", "r5ad.8xlarge", "r5ad.12xlarge", "r5ad.16xlarge", "r5ad.24xlarge", "r5b.large", "r5b.xlarge", "r5b.2xlarge", "r5b.4xlarge", "r5b.8xlarge", "r5b.12xlarge", "r5b.16xlarge", "r5b.24xlarge", "r5b.metal", "r5d.large", "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", "r5d.8xlarge", "r5d.12xlarge", "r5d.16xlarge", "r5d.24xlarge", "r5d.metal", "r5dn.large", "r5dn.xlarge", "r5dn.2xlarge", "r5dn.4xlarge", "r5dn.8xlarge", "r5dn.12xlarge", "r5dn.16xlarge", "r5dn.24xlarge", "r5dn.metal", "r5n.large", "r5n.xlarge", "r5n.2xlarge", "r5n.4xlarge", "r5n.8xlarge", "r5n.12xlarge", "r5n.16xlarge", "r5n.24xlarge", "r5n.metal", "r6g.medium", "r6g.large", "r6g.xlarge", "r6g.2xlarge", "r6g.4xlarge", "r6g.8xlarge", "r6g.12xlarge", "r6g.16xlarge", "r6g.metal", "r6gd.medium", "r6gd.large", "r6gd.xlarge", "r6gd.2xlarge", "r6gd.4xlarge", "r6gd.8xlarge", "r6gd.12xlarge", "r6gd.16xlarge", "r6gd.metal", "r6i.large", "r6i.xlarge", "r6i.2xlarge", "r6i.4xlarge", "r6i.8xlarge", "r6i.12xlarge", "r6i.16xlarge", "r6i.24xlarge", "r6i.32xlarge", "r6i.metal", "t1.micro", "t2.nano", "t2.micro", "t2.small", "t2.medium", "t2.large", "t2.xlarge", "t2.2xlarge", "t3.nano", "t3.micro", "t3.small", "t3.medium", "t3.large", "t3.xlarge", "t3.2xlarge", "t3a.nano", "t3a.micro", "t3a.small", "t3a.medium", "t3a.large", "t3a.xlarge", "t3a.2xlarge", "t4g.nano", "t4g.micro", "t4g.small", "t4g.medium", "t4g.large", "t4g.xlarge", "t4g.2xlarge", "u-6tb1.56xlarge", "u-6tb1.112xlarge", "u-9tb1.112xlarge", "u-12tb1.112xlarge", "u-6tb1.metal", "u-9tb1.metal", "u-12tb1.metal", "u-18tb1.metal", "u-24tb1.metal", "vt1.3xlarge", "vt1.6xlarge", "vt1.24xlarge", "x1.16xlarge", "x1.32xlarge", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.32xlarge", "x2iezn.2xlarge", "x2iezn.4xlarge", "x2iezn.6xlarge", "x2iezn.8xlarge", "x2iezn.12xlarge", "x2iezn.metal", "x2gd.medium", "x2gd.large", "x2gd.xlarge", "x2gd.2xlarge", "x2gd.4xlarge", "x2gd.8xlarge", "x2gd.12xlarge", "x2gd.16xlarge", "x2gd.metal", "z1d.large", "z1d.xlarge", "z1d.2xlarge", "z1d.3xlarge", "z1d.6xlarge", "z1d.12xlarge", "z1d.metal", "x2idn.16xlarge", "x2idn.24xlarge", "x2idn.32xlarge", "x2iedn.xlarge", "x2iedn.2xlarge", "x2iedn.4xlarge", "x2iedn.8xlarge", "x2iedn.16xlarge", "x2iedn.24xlarge", "x2iedn.32xlarge", "c6a.large", "c6a.xlarge", "c6a.2xlarge", "c6a.4xlarge", "c6a.8xlarge", "c6a.12xlarge", "c6a.16xlarge", "c6a.24xlarge", "c6a.32xlarge", "c6a.48xlarge", "c6a.metal", "m6a.metal", "i4i.large", "i4i.xlarge", "i4i.2xlarge", "i4i.4xlarge", "i4i.8xlarge", "i4i.16xlarge", "i4i.32xlarge", "i4i.metal", "x2idn.metal", "x2iedn.metal", "c7g.medium", "c7g.large", "c7g.xlarge", "c7g.2xlarge", "c7g.4xlarge", "c7g.8xlarge", "c7g.12xlarge", "c7g.16xlarge", "mac2.metal", "c6id.large", "c6id.xlarge", "c6id.2xlarge", "c6id.4xlarge", "c6id.8xlarge", "c6id.12xlarge", "c6id.16xlarge", "c6id.24xlarge", "c6id.32xlarge", "c6id.metal", "m6id.large", "m6id.xlarge", "m6id.2xlarge", "m6id.4xlarge", "m6id.8xlarge", "m6id.12xlarge", "m6id.16xlarge", "m6id.24xlarge", "m6id.32xlarge", "m6id.metal", "r6id.large", "r6id.xlarge", "r6id.2xlarge", "r6id.4xlarge", "r6id.8xlarge", "r6id.12xlarge", "r6id.16xlarge", "r6id.24xlarge", "r6id.32xlarge", "r6id.metal", "r6a.large", "r6a.xlarge", "r6a.2xlarge", "r6a.4xlarge", "r6a.8xlarge", "r6a.12xlarge", "r6a.16xlarge", "r6a.24xlarge", "r6a.32xlarge", "r6a.48xlarge", "r6a.metal", "p4de.24xlarge", "u-3tb1.56xlarge", "u-18tb1.112xlarge", "u-24tb1.112xlarge", "trn1.2xlarge", "trn1.32xlarge", "hpc6id.32xlarge", "c6in.large", "c6in.xlarge", "c6in.2xlarge", "c6in.4xlarge", "c6in.8xlarge", "c6in.12xlarge", "c6in.16xlarge", "c6in.24xlarge", "c6in.32xlarge", "m6in.large", "m6in.xlarge", "m6in.2xlarge", "m6in.4xlarge", "m6in.8xlarge", "m6in.12xlarge", "m6in.16xlarge", "m6in.24xlarge", "m6in.32xlarge", "m6idn.large", "m6idn.xlarge", "m6idn.2xlarge", "m6idn.4xlarge", "m6idn.8xlarge", "m6idn.12xlarge", "m6idn.16xlarge", "m6idn.24xlarge", "m6idn.32xlarge", "r6in.large", "r6in.xlarge", "r6in.2xlarge", "r6in.4xlarge", "r6in.8xlarge", "r6in.12xlarge", "r6in.16xlarge", "r6in.24xlarge", "r6in.32xlarge", "r6idn.large", "r6idn.xlarge", "r6idn.2xlarge", "r6idn.4xlarge", "r6idn.8xlarge", "r6idn.12xlarge", "r6idn.16xlarge", "r6idn.24xlarge", "r6idn.32xlarge", "c7g.metal", "m7g.medium", "m7g.large", "m7g.xlarge", "m7g.2xlarge", "m7g.4xlarge", "m7g.8xlarge", "m7g.12xlarge", "m7g.16xlarge", "m7g.metal", "r7g.medium", "r7g.large", "r7g.xlarge", "r7g.2xlarge", "r7g.4xlarge", "r7g.8xlarge", "r7g.12xlarge", "r7g.16xlarge", "r7g.metal", "c6in.metal", "m6in.metal", "m6idn.metal", "r6in.metal", "r6idn.metal", "inf2.xlarge", "inf2.8xlarge", "inf2.24xlarge", "inf2.48xlarge", "trn1n.32xlarge", "i4g.large", "i4g.xlarge", "i4g.2xlarge", "i4g.4xlarge", "i4g.8xlarge", "i4g.16xlarge", "hpc7g.4xlarge", "hpc7g.8xlarge", "hpc7g.16xlarge", "c7gn.medium", "c7gn.large", "c7gn.xlarge", "c7gn.2xlarge", "c7gn.4xlarge", "c7gn.8xlarge", "c7gn.12xlarge", "c7gn.16xlarge", "p5.48xlarge", "m7i.large", "m7i.xlarge", "m7i.2xlarge", "m7i.4xlarge", "m7i.8xlarge", "m7i.12xlarge", "m7i.16xlarge", "m7i.24xlarge", "m7i.48xlarge", "m7i-flex.large", "m7i-flex.xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", "m7a.medium", "m7a.large", "m7a.xlarge", "m7a.2xlarge", "m7a.4xlarge", "m7a.8xlarge", "m7a.12xlarge", "m7a.16xlarge", "m7a.24xlarge", "m7a.32xlarge", "m7a.48xlarge", "m7a.metal-48xl", "hpc7a.12xlarge", "hpc7a.24xlarge", "hpc7a.48xlarge", "hpc7a.96xlarge", "c7gd.medium", "c7gd.large", "c7gd.xlarge", "c7gd.2xlarge", "c7gd.4xlarge", "c7gd.8xlarge", "c7gd.12xlarge", "c7gd.16xlarge", "m7gd.medium", "m7gd.large", "m7gd.xlarge", "m7gd.2xlarge", "m7gd.4xlarge", "m7gd.8xlarge", "m7gd.12xlarge", "m7gd.16xlarge", "r7gd.medium", "r7gd.large", "r7gd.xlarge", "r7gd.2xlarge", "r7gd.4xlarge", "r7gd.8xlarge", "r7gd.12xlarge", "r7gd.16xlarge", "r7a.medium", "r7a.large", "r7a.xlarge", "r7a.2xlarge", "r7a.4xlarge", "r7a.8xlarge", "r7a.12xlarge", "r7a.16xlarge", "r7a.24xlarge", "r7a.32xlarge", "r7a.48xlarge", "c7i.large", "c7i.xlarge", "c7i.2xlarge", "c7i.4xlarge", "c7i.8xlarge", "c7i.12xlarge", "c7i.16xlarge", "c7i.24xlarge", "c7i.48xlarge", "mac2-m2pro.metal", "r7iz.large", "r7iz.xlarge", "r7iz.2xlarge", "r7iz.4xlarge", "r7iz.8xlarge", "r7iz.12xlarge", "r7iz.16xlarge", "r7iz.32xlarge", "c7a.medium", "c7a.large", "c7a.xlarge", "c7a.2xlarge", "c7a.4xlarge", "c7a.8xlarge", "c7a.12xlarge", "c7a.16xlarge", "c7a.24xlarge", "c7a.32xlarge", "c7a.48xlarge", "c7a.metal-48xl", "r7a.metal-48xl", "r7i.large", "r7i.xlarge", "r7i.2xlarge", "r7i.4xlarge", "r7i.8xlarge", "r7i.12xlarge", "r7i.16xlarge", "r7i.24xlarge", "r7i.48xlarge", "dl2q.24xlarge", "mac2-m2.metal", "i4i.12xlarge", "i4i.24xlarge", "c7i.metal-24xl", "c7i.metal-48xl", "m7i.metal-24xl", "m7i.metal-48xl", "r7i.metal-24xl", "r7i.metal-48xl", "r7iz.metal-16xl", "r7iz.metal-32xl", "c7gd.metal", "m7gd.metal", "r7gd.metal", "g6.xlarge", "g6.2xlarge", "g6.4xlarge", "g6.8xlarge", "g6.12xlarge", "g6.16xlarge", "g6.24xlarge", "g6.48xlarge", "gr6.4xlarge", "gr6.8xlarge", "c7i-flex.large", "c7i-flex.xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", "u7i-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", "u7ib-12tb.224xlarge", "c7gn.metal", "r8g.medium", "r8g.large", "r8g.xlarge", "r8g.2xlarge", "r8g.4xlarge", "r8g.8xlarge", "r8g.12xlarge", "r8g.16xlarge", "r8g.24xlarge", "r8g.48xlarge", "r8g.metal-24xl", "r8g.metal-48xl", "mac2-m1ultra.metal", "g6e.xlarge", "g6e.2xlarge", "g6e.4xlarge", "g6e.8xlarge", "g6e.12xlarge", "g6e.16xlarge", "g6e.24xlarge", "g6e.48xlarge", "c8g.medium", "c8g.large", "c8g.xlarge", "c8g.2xlarge", "c8g.4xlarge", "c8g.8xlarge", "c8g.12xlarge", "c8g.16xlarge", "c8g.24xlarge", "c8g.48xlarge", "c8g.metal-24xl", "c8g.metal-48xl", "m8g.medium", "m8g.large", "m8g.xlarge", "m8g.2xlarge", "m8g.4xlarge", "m8g.8xlarge", "m8g.12xlarge", "m8g.16xlarge", "m8g.24xlarge", "m8g.48xlarge", "m8g.metal-24xl", "m8g.metal-48xl", "x8g.medium", "x8g.large", "x8g.xlarge", "x8g.2xlarge", "x8g.4xlarge", "x8g.8xlarge", "x8g.12xlarge", "x8g.16xlarge", "x8g.24xlarge", "x8g.48xlarge", "x8g.metal-24xl", "x8g.metal-48xl", "i7ie.large", "i7ie.xlarge", "i7ie.2xlarge", "i7ie.3xlarge", "i7ie.6xlarge", "i7ie.12xlarge", "i7ie.18xlarge", "i7ie.24xlarge", "i7ie.48xlarge", "i8g.large", "i8g.xlarge", "i8g.2xlarge", "i8g.4xlarge", "i8g.8xlarge", "i8g.12xlarge", "i8g.16xlarge", "i8g.24xlarge", "i8g.metal-24xl", "u7i-6tb.112xlarge", "u7i-8tb.112xlarge", "u7inh-32tb.480xlarge", "p5e.48xlarge", "p5en.48xlarge", "f2.12xlarge", "f2.48xlarge", "trn2.48xlarge"
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.max_price #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.subnet_id #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.availability_zone #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.weighted_capacity #=> Float
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.priority #=> Float
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.placement.group_name #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.v_cpu_count.min #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.v_cpu_count.max #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.memory_mi_b.min #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.memory_mi_b.max #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.cpu_manufacturers #=> Array
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.cpu_manufacturers[0] #=> String, one of "intel", "amd", "amazon-web-services", "apple"
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.memory_gi_b_per_v_cpu.min #=> Float
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.memory_gi_b_per_v_cpu.max #=> Float
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.excluded_instance_types #=> Array
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.excluded_instance_types[0] #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.instance_generations #=> Array
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.instance_generations[0] #=> String, one of "current", "previous"
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.spot_max_price_percentage_over_lowest_price #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.on_demand_max_price_percentage_over_lowest_price #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.bare_metal #=> String, one of "included", "required", "excluded"
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.burstable_performance #=> String, one of "included", "required", "excluded"
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.require_hibernate_support #=> Boolean
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.network_interface_count.min #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.network_interface_count.max #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.local_storage #=> String, one of "included", "required", "excluded"
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.local_storage_types #=> Array
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.local_storage_types[0] #=> String, one of "hdd", "ssd"
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.total_local_storage_gb.min #=> Float
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.total_local_storage_gb.max #=> Float
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.baseline_ebs_bandwidth_mbps.min #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.baseline_ebs_bandwidth_mbps.max #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_types #=> Array
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_types[0] #=> String, one of "gpu", "fpga", "inference"
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_count.min #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_count.max #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_manufacturers #=> Array
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_manufacturers[0] #=> String, one of "amazon-web-services", "amd", "nvidia", "xilinx", "habana"
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_names #=> Array
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_names[0] #=> String, one of "a100", "inferentia", "k520", "k80", "m60", "radeon-pro-v520", "t4", "vu9p", "v100", "a10g", "h100", "t4g"
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_total_memory_mi_b.min #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.accelerator_total_memory_mi_b.max #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.network_bandwidth_gbps.min #=> Float
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.network_bandwidth_gbps.max #=> Float
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.allowed_instance_types #=> Array
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.allowed_instance_types[0] #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.max_spot_price_as_percentage_of_optimal_on_demand_price #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.baseline_performance_factors.cpu.references #=> Array
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.instance_requirements.baseline_performance_factors.cpu.references[0].instance_family #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.image_id #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.block_device_mappings #=> Array
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].device_name #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].virtual_name #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.encrypted #=> Boolean
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.iops #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.throughput #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.kms_key_id #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.snapshot_id #=> String
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.volume_size #=> Integer
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
resp.fleets[0].instances[0].launch_template_and_overrides.overrides.block_device_mappings[0].no_device #=> String
resp.fleets[0].instances[0].lifecycle #=> String, one of "spot", "on-demand"
resp.fleets[0].instances[0].instance_ids #=> Array
resp.fleets[0].instances[0].instance_ids[0] #=> String
resp.fleets[0].instances[0].instance_type #=> String, one of "a1.medium", "a1.large", "a1.xlarge", "a1.2xlarge", "a1.4xlarge", "a1.metal", "c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.12xlarge", "c5.18xlarge", "c5.24xlarge", "c5.metal", "c5a.large", "c5a.xlarge", "c5a.2xlarge", "c5a.4xlarge", "c5a.8xlarge", "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", "c5ad.large", "c5ad.xlarge", "c5ad.2xlarge", "c5ad.4xlarge", "c5ad.8xlarge", "c5ad.12xlarge", "c5ad.16xlarge", "c5ad.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", "c5d.4xlarge", "c5d.9xlarge", "c5d.12xlarge", "c5d.18xlarge", "c5d.24xlarge", "c5d.metal", "c5n.large", "c5n.xlarge", "c5n.2xlarge", "c5n.4xlarge", "c5n.9xlarge", "c5n.18xlarge", "c5n.metal", "c6g.medium", "c6g.large", "c6g.xlarge", "c6g.2xlarge", "c6g.4xlarge", "c6g.8xlarge", "c6g.12xlarge", "c6g.16xlarge", "c6g.metal", "c6gd.medium", "c6gd.large", "c6gd.xlarge", "c6gd.2xlarge", "c6gd.4xlarge", "c6gd.8xlarge", "c6gd.12xlarge", "c6gd.16xlarge", "c6gd.metal", "c6gn.medium", "c6gn.large", "c6gn.xlarge", "c6gn.2xlarge", "c6gn.4xlarge", "c6gn.8xlarge", "c6gn.12xlarge", "c6gn.16xlarge", "c6i.large", "c6i.xlarge", "c6i.2xlarge", "c6i.4xlarge", "c6i.8xlarge", "c6i.12xlarge", "c6i.16xlarge", "c6i.24xlarge", "c6i.32xlarge", "c6i.metal", "cc1.4xlarge", "cc2.8xlarge", "cg1.4xlarge", "cr1.8xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "d3.xlarge", "d3.2xlarge", "d3.4xlarge", "d3.8xlarge", "d3en.xlarge", "d3en.2xlarge", "d3en.4xlarge", "d3en.6xlarge", "d3en.8xlarge", "d3en.12xlarge", "dl1.24xlarge", "f1.2xlarge", "f1.4xlarge", "f1.16xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "g3s.xlarge", "g4ad.xlarge", "g4ad.2xlarge", "g4ad.4xlarge", "g4ad.8xlarge", "g4ad.16xlarge", "g4dn.xlarge", "g4dn.2xlarge", "g4dn.4xlarge", "g4dn.8xlarge", "g4dn.12xlarge", "g4dn.16xlarge", "g4dn.metal", "g5.xlarge", "g5.2xlarge", "g5.4xlarge", "g5.8xlarge", "g5.12xlarge", "g5.16xlarge", "g5.24xlarge", "g5.48xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", "g5g.8xlarge", "g5g.16xlarge", "g5g.metal", "hi1.4xlarge", "hpc6a.48xlarge", "hs1.8xlarge", "h1.2xlarge", "h1.4xlarge", "h1.8xlarge", "h1.16xlarge", "i2.xlarge", "i2.2xlarge", "i2.4xlarge", "i2.8xlarge", "i3.large", "i3.xlarge", "i3.2xlarge", "i3.4xlarge", "i3.8xlarge", "i3.16xlarge", "i3.metal", "i3en.large", "i3en.xlarge", "i3en.2xlarge", "i3en.3xlarge", "i3en.6xlarge", "i3en.12xlarge", "i3en.24xlarge", "i3en.metal", "im4gn.large", "im4gn.xlarge", "im4gn.2xlarge", "im4gn.4xlarge", "im4gn.8xlarge", "im4gn.16xlarge", "inf1.xlarge", "inf1.2xlarge", "inf1.6xlarge", "inf1.24xlarge", "is4gen.medium", "is4gen.large", "is4gen.xlarge", "is4gen.2xlarge", "is4gen.4xlarge", "is4gen.8xlarge", "m1.small", "m1.medium", "m1.large", "m1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "m4.16xlarge", "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge", "m5.16xlarge", "m5.24xlarge", "m5.metal", "m5a.large", "m5a.xlarge", "m5a.2xlarge", "m5a.4xlarge", "m5a.8xlarge", "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", "m5ad.large", "m5ad.xlarge", "m5ad.2xlarge", "m5ad.4xlarge", "m5ad.8xlarge", "m5ad.12xlarge", "m5ad.16xlarge", "m5ad.24xlarge", "m5d.large", "m5d.xlarge", "m5d.2xlarge", "m5d.4xlarge", "m5d.8xlarge", "m5d.12xlarge", "m5d.16xlarge", "m5d.24xlarge", "m5d.metal", "m5dn.large", "m5dn.xlarge", "m5dn.2xlarge", "m5dn.4xlarge", "m5dn.8xlarge", "m5dn.12xlarge", "m5dn.16xlarge", "m5dn.24xlarge", "m5dn.metal", "m5n.large", "m5n.xlarge", "m5n.2xlarge", "m5n.4xlarge", "m5n.8xlarge", "m5n.12xlarge", "m5n.16xlarge", "m5n.24xlarge", "m5n.metal", "m5zn.large", "m5zn.xlarge", "m5zn.2xlarge", "m5zn.3xlarge", "m5zn.6xlarge", "m5zn.12xlarge", "m5zn.metal", "m6a.large", "m6a.xlarge", "m6a.2xlarge", "m6a.4xlarge", "m6a.8xlarge", "m6a.12xlarge", "m6a.16xlarge", "m6a.24xlarge", "m6a.32xlarge", "m6a.48xlarge", "m6g.metal", "m6g.medium", "m6g.large", "m6g.xlarge", "m6g.2xlarge", "m6g.4xlarge", "m6g.8xlarge", "m6g.12xlarge", "m6g.16xlarge", "m6gd.metal", "m6gd.medium", "m6gd.large", "m6gd.xlarge", "m6gd.2xlarge", "m6gd.4xlarge", "m6gd.8xlarge", "m6gd.12xlarge", "m6gd.16xlarge", "m6i.large", "m6i.xlarge", "m6i.2xlarge", "m6i.4xlarge", "m6i.8xlarge", "m6i.12xlarge", "m6i.16xlarge", "m6i.24xlarge", "m6i.32xlarge", "m6i.metal", "mac1.metal", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "p3dn.24xlarge", "p4d.24xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", "r4.4xlarge", "r4.8xlarge", "r4.16xlarge", "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge", "r5.16xlarge", "r5.24xlarge", "r5.metal", "r5a.large", "r5a.xlarge", "r5a.2xlarge", "r5a.4xlarge", "r5a.8xlarge", "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", "r5ad.large", "r5ad.xlarge", "r5ad.2xlarge", "r5ad.4xlarge", "r5ad.8xlarge", "r5ad.12xlarge", "r5ad.16xlarge", "r5ad.24xlarge", "r5b.large", "r5b.xlarge", "r5b.2xlarge", "r5b.4xlarge", "r5b.8xlarge", "r5b.12xlarge", "r5b.16xlarge", "r5b.24xlarge", "r5b.metal", "r5d.large", "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", "r5d.8xlarge", "r5d.12xlarge", "r5d.16xlarge", "r5d.24xlarge", "r5d.metal", "r5dn.large", "r5dn.xlarge", "r5dn.2xlarge", "r5dn.4xlarge", "r5dn.8xlarge", "r5dn.12xlarge", "r5dn.16xlarge", "r5dn.24xlarge", "r5dn.metal", "r5n.large", "r5n.xlarge", "r5n.2xlarge", "r5n.4xlarge", "r5n.8xlarge", "r5n.12xlarge", "r5n.16xlarge", "r5n.24xlarge", "r5n.metal", "r6g.medium", "r6g.large", "r6g.xlarge", "r6g.2xlarge", "r6g.4xlarge", "r6g.8xlarge", "r6g.12xlarge", "r6g.16xlarge", "r6g.metal", "r6gd.medium", "r6gd.large", "r6gd.xlarge", "r6gd.2xlarge", "r6gd.4xlarge", "r6gd.8xlarge", "r6gd.12xlarge", "r6gd.16xlarge", "r6gd.metal", "r6i.large", "r6i.xlarge", "r6i.2xlarge", "r6i.4xlarge", "r6i.8xlarge", "r6i.12xlarge", "r6i.16xlarge", "r6i.24xlarge", "r6i.32xlarge", "r6i.metal", "t1.micro", "t2.nano", "t2.micro", "t2.small", "t2.medium", "t2.large", "t2.xlarge", "t2.2xlarge", "t3.nano", "t3.micro", "t3.small", "t3.medium", "t3.large", "t3.xlarge", "t3.2xlarge", "t3a.nano", "t3a.micro", "t3a.small", "t3a.medium", "t3a.large", "t3a.xlarge", "t3a.2xlarge", "t4g.nano", "t4g.micro", "t4g.small", "t4g.medium", "t4g.large", "t4g.xlarge", "t4g.2xlarge", "u-6tb1.56xlarge", "u-6tb1.112xlarge", "u-9tb1.112xlarge", "u-12tb1.112xlarge", "u-6tb1.metal", "u-9tb1.metal", "u-12tb1.metal", "u-18tb1.metal", "u-24tb1.metal", "vt1.3xlarge", "vt1.6xlarge", "vt1.24xlarge", "x1.16xlarge", "x1.32xlarge", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.32xlarge", "x2iezn.2xlarge", "x2iezn.4xlarge", "x2iezn.6xlarge", "x2iezn.8xlarge", "x2iezn.12xlarge", "x2iezn.metal", "x2gd.medium", "x2gd.large", "x2gd.xlarge", "x2gd.2xlarge", "x2gd.4xlarge", "x2gd.8xlarge", "x2gd.12xlarge", "x2gd.16xlarge", "x2gd.metal", "z1d.large", "z1d.xlarge", "z1d.2xlarge", "z1d.3xlarge", "z1d.6xlarge", "z1d.12xlarge", "z1d.metal", "x2idn.16xlarge", "x2idn.24xlarge", "x2idn.32xlarge", "x2iedn.xlarge", "x2iedn.2xlarge", "x2iedn.4xlarge", "x2iedn.8xlarge", "x2iedn.16xlarge", "x2iedn.24xlarge", "x2iedn.32xlarge", "c6a.large", "c6a.xlarge", "c6a.2xlarge", "c6a.4xlarge", "c6a.8xlarge", "c6a.12xlarge", "c6a.16xlarge", "c6a.24xlarge", "c6a.32xlarge", "c6a.48xlarge", "c6a.metal", "m6a.metal", "i4i.large", "i4i.xlarge", "i4i.2xlarge", "i4i.4xlarge", "i4i.8xlarge", "i4i.16xlarge", "i4i.32xlarge", "i4i.metal", "x2idn.metal", "x2iedn.metal", "c7g.medium", "c7g.large", "c7g.xlarge", "c7g.2xlarge", "c7g.4xlarge", "c7g.8xlarge", "c7g.12xlarge", "c7g.16xlarge", "mac2.metal", "c6id.large", "c6id.xlarge", "c6id.2xlarge", "c6id.4xlarge", "c6id.8xlarge", "c6id.12xlarge", "c6id.16xlarge", "c6id.24xlarge", "c6id.32xlarge", "c6id.metal", "m6id.large", "m6id.xlarge", "m6id.2xlarge", "m6id.4xlarge", "m6id.8xlarge", "m6id.12xlarge", "m6id.16xlarge", "m6id.24xlarge", "m6id.32xlarge", "m6id.metal", "r6id.large", "r6id.xlarge", "r6id.2xlarge", "r6id.4xlarge", "r6id.8xlarge", "r6id.12xlarge", "r6id.16xlarge", "r6id.24xlarge", "r6id.32xlarge", "r6id.metal", "r6a.large", "r6a.xlarge", "r6a.2xlarge", "r6a.4xlarge", "r6a.8xlarge", "r6a.12xlarge", "r6a.16xlarge", "r6a.24xlarge", "r6a.32xlarge", "r6a.48xlarge", "r6a.metal", "p4de.24xlarge", "u-3tb1.56xlarge", "u-18tb1.112xlarge", "u-24tb1.112xlarge", "trn1.2xlarge", "trn1.32xlarge", "hpc6id.32xlarge", "c6in.large", "c6in.xlarge", "c6in.2xlarge", "c6in.4xlarge", "c6in.8xlarge", "c6in.12xlarge", "c6in.16xlarge", "c6in.24xlarge", "c6in.32xlarge", "m6in.large", "m6in.xlarge", "m6in.2xlarge", "m6in.4xlarge", "m6in.8xlarge", "m6in.12xlarge", "m6in.16xlarge", "m6in.24xlarge", "m6in.32xlarge", "m6idn.large", "m6idn.xlarge", "m6idn.2xlarge", "m6idn.4xlarge", "m6idn.8xlarge", "m6idn.12xlarge", "m6idn.16xlarge", "m6idn.24xlarge", "m6idn.32xlarge", "r6in.large", "r6in.xlarge", "r6in.2xlarge", "r6in.4xlarge", "r6in.8xlarge", "r6in.12xlarge", "r6in.16xlarge", "r6in.24xlarge", "r6in.32xlarge", "r6idn.large", "r6idn.xlarge", "r6idn.2xlarge", "r6idn.4xlarge", "r6idn.8xlarge", "r6idn.12xlarge", "r6idn.16xlarge", "r6idn.24xlarge", "r6idn.32xlarge", "c7g.metal", "m7g.medium", "m7g.large", "m7g.xlarge", "m7g.2xlarge", "m7g.4xlarge", "m7g.8xlarge", "m7g.12xlarge", "m7g.16xlarge", "m7g.metal", "r7g.medium", "r7g.large", "r7g.xlarge", "r7g.2xlarge", "r7g.4xlarge", "r7g.8xlarge", "r7g.12xlarge", "r7g.16xlarge", "r7g.metal", "c6in.metal", "m6in.metal", "m6idn.metal", "r6in.metal", "r6idn.metal", "inf2.xlarge", "inf2.8xlarge", "inf2.24xlarge", "inf2.48xlarge", "trn1n.32xlarge", "i4g.large", "i4g.xlarge", "i4g.2xlarge", "i4g.4xlarge", "i4g.8xlarge", "i4g.16xlarge", "hpc7g.4xlarge", "hpc7g.8xlarge", "hpc7g.16xlarge", "c7gn.medium", "c7gn.large", "c7gn.xlarge", "c7gn.2xlarge", "c7gn.4xlarge", "c7gn.8xlarge", "c7gn.12xlarge", "c7gn.16xlarge", "p5.48xlarge", "m7i.large", "m7i.xlarge", "m7i.2xlarge", "m7i.4xlarge", "m7i.8xlarge", "m7i.12xlarge", "m7i.16xlarge", "m7i.24xlarge", "m7i.48xlarge", "m7i-flex.large", "m7i-flex.xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", "m7a.medium", "m7a.large", "m7a.xlarge", "m7a.2xlarge", "m7a.4xlarge", "m7a.8xlarge", "m7a.12xlarge", "m7a.16xlarge", "m7a.24xlarge", "m7a.32xlarge", "m7a.48xlarge", "m7a.metal-48xl", "hpc7a.12xlarge", "hpc7a.24xlarge", "hpc7a.48xlarge", "hpc7a.96xlarge", "c7gd.medium", "c7gd.large", "c7gd.xlarge", "c7gd.2xlarge", "c7gd.4xlarge", "c7gd.8xlarge", "c7gd.12xlarge", "c7gd.16xlarge", "m7gd.medium", "m7gd.large", "m7gd.xlarge", "m7gd.2xlarge", "m7gd.4xlarge", "m7gd.8xlarge", "m7gd.12xlarge", "m7gd.16xlarge", "r7gd.medium", "r7gd.large", "r7gd.xlarge", "r7gd.2xlarge", "r7gd.4xlarge", "r7gd.8xlarge", "r7gd.12xlarge", "r7gd.16xlarge", "r7a.medium", "r7a.large", "r7a.xlarge", "r7a.2xlarge", "r7a.4xlarge", "r7a.8xlarge", "r7a.12xlarge", "r7a.16xlarge", "r7a.24xlarge", "r7a.32xlarge", "r7a.48xlarge", "c7i.large", "c7i.xlarge", "c7i.2xlarge", "c7i.4xlarge", "c7i.8xlarge", "c7i.12xlarge", "c7i.16xlarge", "c7i.24xlarge", "c7i.48xlarge", "mac2-m2pro.metal", "r7iz.large", "r7iz.xlarge", "r7iz.2xlarge", "r7iz.4xlarge", "r7iz.8xlarge", "r7iz.12xlarge", "r7iz.16xlarge", "r7iz.32xlarge", "c7a.medium", "c7a.large", "c7a.xlarge", "c7a.2xlarge", "c7a.4xlarge", "c7a.8xlarge", "c7a.12xlarge", "c7a.16xlarge", "c7a.24xlarge", "c7a.32xlarge", "c7a.48xlarge", "c7a.metal-48xl", "r7a.metal-48xl", "r7i.large", "r7i.xlarge", "r7i.2xlarge", "r7i.4xlarge", "r7i.8xlarge", "r7i.12xlarge", "r7i.16xlarge", "r7i.24xlarge", "r7i.48xlarge", "dl2q.24xlarge", "mac2-m2.metal", "i4i.12xlarge", "i4i.24xlarge", "c7i.metal-24xl", "c7i.metal-48xl", "m7i.metal-24xl", "m7i.metal-48xl", "r7i.metal-24xl", "r7i.metal-48xl", "r7iz.metal-16xl", "r7iz.metal-32xl", "c7gd.metal", "m7gd.metal", "r7gd.metal", "g6.xlarge", "g6.2xlarge", "g6.4xlarge", "g6.8xlarge", "g6.12xlarge", "g6.16xlarge", "g6.24xlarge", "g6.48xlarge", "gr6.4xlarge", "gr6.8xlarge", "c7i-flex.large", "c7i-flex.xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", "u7i-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", "u7ib-12tb.224xlarge", "c7gn.metal", "r8g.medium", "r8g.large", "r8g.xlarge", "r8g.2xlarge", "r8g.4xlarge", "r8g.8xlarge", "r8g.12xlarge", "r8g.16xlarge", "r8g.24xlarge", "r8g.48xlarge", "r8g.metal-24xl", "r8g.metal-48xl", "mac2-m1ultra.metal", "g6e.xlarge", "g6e.2xlarge", "g6e.4xlarge", "g6e.8xlarge", "g6e.12xlarge", "g6e.16xlarge", "g6e.24xlarge", "g6e.48xlarge", "c8g.medium", "c8g.large", "c8g.xlarge", "c8g.2xlarge", "c8g.4xlarge", "c8g.8xlarge", "c8g.12xlarge", "c8g.16xlarge", "c8g.24xlarge", "c8g.48xlarge", "c8g.metal-24xl", "c8g.metal-48xl", "m8g.medium", "m8g.large", "m8g.xlarge", "m8g.2xlarge", "m8g.4xlarge", "m8g.8xlarge", "m8g.12xlarge", "m8g.16xlarge", "m8g.24xlarge", "m8g.48xlarge", "m8g.metal-24xl", "m8g.metal-48xl", "x8g.medium", "x8g.large", "x8g.xlarge", "x8g.2xlarge", "x8g.4xlarge", "x8g.8xlarge", "x8g.12xlarge", "x8g.16xlarge", "x8g.24xlarge", "x8g.48xlarge", "x8g.metal-24xl", "x8g.metal-48xl", "i7ie.large", "i7ie.xlarge", "i7ie.2xlarge", "i7ie.3xlarge", "i7ie.6xlarge", "i7ie.12xlarge", "i7ie.18xlarge", "i7ie.24xlarge", "i7ie.48xlarge", "i8g.large", "i8g.xlarge", "i8g.2xlarge", "i8g.4xlarge", "i8g.8xlarge", "i8g.12xlarge", "i8g.16xlarge", "i8g.24xlarge", "i8g.metal-24xl", "u7i-6tb.112xlarge", "u7i-8tb.112xlarge", "u7inh-32tb.480xlarge", "p5e.48xlarge", "p5en.48xlarge", "f2.12xlarge", "f2.48xlarge", "trn2.48xlarge"
resp.fleets[0].instances[0].platform #=> String, one of "Windows"
resp.fleets[0].context #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :next_token (String)

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

  • :fleet_ids (Array<String>)

    The IDs of the EC2 Fleets.

    If a fleet is of type instant, you must specify the fleet ID, otherwise it does not appear in the response.

  • :filters (Array<Types::Filter>)

    The filters.

    • activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment | pending-termination | fulfilled).

    • excess-capacity-termination-policy - Indicates whether to terminate running instances if the target capacity is decreased below the current EC2 Fleet size (true | false).

    • fleet-state - The state of the EC2 Fleet (submitted | active | deleted | failed | deleted-running | deleted-terminating | modifying).

    • replace-unhealthy-instances - Indicates whether EC2 Fleet should replace unhealthy instances (true | false).

    • type - The type of request (instant | request | maintain).

Returns:

See Also:



24205
24206
24207
24208
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 24205

def describe_fleets(params = {}, options = {})
  req = build_request(:describe_fleets, params)
  req.send_request(options)
end

#describe_flow_logs(params = {}) ⇒ Types::DescribeFlowLogsResult

Describes one or more flow logs.

To view the published flow log records, you must view the log destination. For example, the CloudWatch Logs log group, the Amazon S3 bucket, or the Kinesis Data Firehose delivery stream.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_flow_logs({
  dry_run: false,
  filter: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  flow_log_ids: ["VpcFlowLogId"],
  max_results: 1,
  next_token: "String",
})

Response structure


resp.flow_logs #=> Array
resp.flow_logs[0].creation_time #=> Time
resp.flow_logs[0].deliver_logs_error_message #=> String
resp.flow_logs[0].deliver_logs_permission_arn #=> String
resp.flow_logs[0]. #=> String
resp.flow_logs[0].deliver_logs_status #=> String
resp.flow_logs[0].flow_log_id #=> String
resp.flow_logs[0].flow_log_status #=> String
resp.flow_logs[0].log_group_name #=> String
resp.flow_logs[0].resource_id #=> String
resp.flow_logs[0].traffic_type #=> String, one of "ACCEPT", "REJECT", "ALL"
resp.flow_logs[0].log_destination_type #=> String, one of "cloud-watch-logs", "s3", "kinesis-data-firehose"
resp.flow_logs[0].log_destination #=> String
resp.flow_logs[0].log_format #=> String
resp.flow_logs[0].tags #=> Array
resp.flow_logs[0].tags[0].key #=> String
resp.flow_logs[0].tags[0].value #=> String
resp.flow_logs[0].max_aggregation_interval #=> Integer
resp.flow_logs[0].destination_options.file_format #=> String, one of "plain-text", "parquet"
resp.flow_logs[0].destination_options.hive_compatible_partitions #=> Boolean
resp.flow_logs[0].destination_options.per_hour_partition #=> Boolean
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :filter (Array<Types::Filter>)

    One or more filters.

    • deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).

    • log-destination-type - The type of destination for the flow log data (cloud-watch-logs | s3 | kinesis-data-firehose).

    • flow-log-id - The ID of the flow log.

    • log-group-name - The name of the log group.

    • resource-id - The ID of the VPC, subnet, or network interface.

    • traffic-type - The type of traffic (ACCEPT | REJECT | ALL).

    • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • :flow_log_ids (Array<String>)

    One or more flow log IDs.

    Constraint: Maximum of 1000 flow log IDs.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :next_token (String)

    The token to request the next page of items. Pagination continues from the end of the items returned by the previous request.

Returns:

See Also:



24319
24320
24321
24322
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 24319

def describe_flow_logs(params = {}, options = {})
  req = build_request(:describe_flow_logs, params)
  req.send_request(options)
end

#describe_fpga_image_attribute(params = {}) ⇒ Types::DescribeFpgaImageAttributeResult

Describes the specified attribute of the specified Amazon FPGA Image (AFI).

Examples:

Request syntax with placeholder values


resp = client.describe_fpga_image_attribute({
  dry_run: false,
  fpga_image_id: "FpgaImageId", # required
  attribute: "description", # required, accepts description, name, loadPermission, productCodes
})

Response structure


resp.fpga_image_attribute.fpga_image_id #=> String
resp.fpga_image_attribute.name #=> String
resp.fpga_image_attribute.description #=> String
resp.fpga_image_attribute.load_permissions #=> Array
resp.fpga_image_attribute.load_permissions[0].user_id #=> String
resp.fpga_image_attribute.load_permissions[0].group #=> String, one of "all"
resp.fpga_image_attribute.product_codes #=> Array
resp.fpga_image_attribute.product_codes[0].product_code_id #=> String
resp.fpga_image_attribute.product_codes[0].product_code_type #=> String, one of "devpay", "marketplace"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :fpga_image_id (required, String)

    The ID of the AFI.

  • :attribute (required, String)

    The AFI attribute.

Returns:

See Also:



24367
24368
24369
24370
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 24367

def describe_fpga_image_attribute(params = {}, options = {})
  req = build_request(:describe_fpga_image_attribute, params)
  req.send_request(options)
end

#describe_fpga_images(params = {}) ⇒ Types::DescribeFpgaImagesResult

Describes the Amazon FPGA Images (AFIs) available to you. These include public AFIs, private AFIs that you own, and AFIs owned by other Amazon Web Services accounts for which you have load permissions.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_fpga_images({
  dry_run: false,
  fpga_image_ids: ["FpgaImageId"],
  owners: ["String"],
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.fpga_images #=> Array
resp.fpga_images[0].fpga_image_id #=> String
resp.fpga_images[0].fpga_image_global_id #=> String
resp.fpga_images[0].name #=> String
resp.fpga_images[0].description #=> String
resp.fpga_images[0].shell_version #=> String
resp.fpga_images[0].pci_id.device_id #=> String
resp.fpga_images[0].pci_id.vendor_id #=> String
resp.fpga_images[0].pci_id.subsystem_id #=> String
resp.fpga_images[0].pci_id.subsystem_vendor_id #=> String
resp.fpga_images[0].state.code #=> String, one of "pending", "failed", "available", "unavailable"
resp.fpga_images[0].state.message #=> String
resp.fpga_images[0].create_time #=> Time
resp.fpga_images[0].update_time #=> Time
resp.fpga_images[0].owner_id #=> String
resp.fpga_images[0].owner_alias #=> String
resp.fpga_images[0].product_codes #=> Array
resp.fpga_images[0].product_codes[0].product_code_id #=> String
resp.fpga_images[0].product_codes[0].product_code_type #=> String, one of "devpay", "marketplace"
resp.fpga_images[0].tags #=> Array
resp.fpga_images[0].tags[0].key #=> String
resp.fpga_images[0].tags[0].value #=> String
resp.fpga_images[0].public #=> Boolean
resp.fpga_images[0].data_retention_support #=> Boolean
resp.fpga_images[0].instance_types #=> Array
resp.fpga_images[0].instance_types[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :fpga_image_ids (Array<String>)

    The AFI IDs.

  • :owners (Array<String>)

    Filters the AFI by owner. Specify an Amazon Web Services account ID, self (owner is the sender of the request), or an Amazon Web Services owner alias (valid values are amazon | aws-marketplace).

  • :filters (Array<Types::Filter>)

    The filters.

    • create-time - The creation time of the AFI.

    • fpga-image-id - The FPGA image identifier (AFI ID).

    • fpga-image-global-id - The global FPGA image identifier (AGFI ID).

    • name - The name of the AFI.

    • owner-id - The Amazon Web Services account ID of the AFI owner.

    • product-code - The product code.

    • shell-version - The version of the Amazon Web Services Shell that was used to create the bitstream.

    • state - The state of the AFI (pending | failed | available | unavailable).

    • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    • update-time - The time of the most recent update.

  • :next_token (String)

    The token to retrieve the next page of results.

  • :max_results (Integer)

    The maximum number of results to return in a single call.

Returns:

See Also:



24487
24488
24489
24490
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 24487

def describe_fpga_images(params = {}, options = {})
  req = build_request(:describe_fpga_images, params)
  req.send_request(options)
end

#describe_host_reservation_offerings(params = {}) ⇒ Types::DescribeHostReservationOfferingsResult

Describes the Dedicated Host reservations that are available to purchase.

The results describe all of the Dedicated Host reservation offerings, including offerings that might not match the instance family and Region of your Dedicated Hosts. When purchasing an offering, ensure that the instance family and Region of the offering matches that of the Dedicated Hosts with which it is to be associated. For more information about supported instance types, see Dedicated Hosts in the Amazon EC2 User Guide.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_host_reservation_offerings({
  filter: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  max_duration: 1,
  max_results: 1,
  min_duration: 1,
  next_token: "String",
  offering_id: "OfferingId",
})

Response structure


resp.next_token #=> String
resp.offering_set #=> Array
resp.offering_set[0].currency_code #=> String, one of "USD"
resp.offering_set[0].duration #=> Integer
resp.offering_set[0].hourly_price #=> String
resp.offering_set[0].instance_family #=> String
resp.offering_set[0].offering_id #=> String
resp.offering_set[0].payment_option #=> String, one of "AllUpfront", "PartialUpfront", "NoUpfront"
resp.offering_set[0].upfront_price #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filter (Array<Types::Filter>)

    The filters.

    • instance-family - The instance family of the offering (for example, m4).

    • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

  • :max_duration (Integer)

    This is the maximum duration of the reservation to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 94608000 for three years.

  • :max_results (Integer)

    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

  • :min_duration (Integer)

    This is the minimum duration of the reservation you'd like to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 31536000 for one year.

  • :next_token (String)

    The token to use to retrieve the next page of results.

  • :offering_id (String)

    The ID of the reservation offering.

Returns:

See Also:



24582
24583
24584
24585
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 24582

def describe_host_reservation_offerings(params = {}, options = {})
  req = build_request(:describe_host_reservation_offerings, params)
  req.send_request(options)
end

#describe_host_reservations(params = {}) ⇒ Types::DescribeHostReservationsResult

Describes reservations that are associated with Dedicated Hosts in your account.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_host_reservations({
  filter: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  host_reservation_id_set: ["HostReservationId"],
  max_results: 1,
  next_token: "String",
})

Response structure


resp.host_reservation_set #=> Array
resp.host_reservation_set[0].count #=> Integer
resp.host_reservation_set[0].currency_code #=> String, one of "USD"
resp.host_reservation_set[0].duration #=> Integer
resp.host_reservation_set[0].end #=> Time
resp.host_reservation_set[0].host_id_set #=> Array
resp.host_reservation_set[0].host_id_set[0] #=> String
resp.host_reservation_set[0].host_reservation_id #=> String
resp.host_reservation_set[0].hourly_price #=> String
resp.host_reservation_set[0].instance_family #=> String
resp.host_reservation_set[0].offering_id #=> String
resp.host_reservation_set[0].payment_option #=> String, one of "AllUpfront", "PartialUpfront", "NoUpfront"
resp.host_reservation_set[0].start #=> Time
resp.host_reservation_set[0].state #=> String, one of "payment-pending", "payment-failed", "active", "retired"
resp.host_reservation_set[0].upfront_price #=> String
resp.host_reservation_set[0].tags #=> Array
resp.host_reservation_set[0].tags[0].key #=> String
resp.host_reservation_set[0].tags[0].value #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filter (Array<Types::Filter>)

    The filters.

    • instance-family - The instance family (for example, m4).

    • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

    • state - The state of the reservation (payment-pending | payment-failed | active | retired).

    • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • :host_reservation_id_set (Array<String>)

    The host reservation IDs.

  • :max_results (Integer)

    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

  • :next_token (String)

    The token to use to retrieve the next page of results.

Returns:

See Also:



24671
24672
24673
24674
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 24671

def describe_host_reservations(params = {}, options = {})
  req = build_request(:describe_host_reservations, params)
  req.send_request(options)
end

#describe_hosts(params = {}) ⇒ Types::DescribeHostsResult

Describes the specified Dedicated Hosts or all your Dedicated Hosts.

The results describe only the Dedicated Hosts in the Region you're currently using. All listed instances consume capacity on your Dedicated Host. Dedicated Hosts that have recently been released are listed with the state released.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_hosts({
  host_ids: ["DedicatedHostId"],
  next_token: "String",
  max_results: 1,
  filter: [
    {
      name: "String",
      values: ["String"],
    },
  ],
})

Response structure


resp.hosts #=> Array
resp.hosts[0].auto_placement #=> String, one of "on", "off"
resp.hosts[0].availability_zone #=> String
resp.hosts[0].available_capacity.available_instance_capacity #=> Array
resp.hosts[0].available_capacity.available_instance_capacity[0].available_capacity #=> Integer
resp.hosts[0].available_capacity.available_instance_capacity[0].instance_type #=> String
resp.hosts[0].available_capacity.available_instance_capacity[0].total_capacity #=> Integer
resp.hosts[0].available_capacity.available_v_cpus #=> Integer
resp.hosts[0].client_token #=> String
resp.hosts[0].host_id #=> String
resp.hosts[0].host_properties.cores #=> Integer
resp.hosts[0].host_properties.instance_type #=> String
resp.hosts[0].host_properties.instance_family #=> String
resp.hosts[0].host_properties.sockets #=> Integer
resp.hosts[0].host_properties.total_v_cpus #=> Integer
resp.hosts[0].host_reservation_id #=> String
resp.hosts[0].instances #=> Array
resp.hosts[0].instances[0].instance_id #=> String
resp.hosts[0].instances[0].instance_type #=> String
resp.hosts[0].instances[0].owner_id #=> String
resp.hosts[0].state #=> String, one of "available", "under-assessment", "permanent-failure", "released", "released-permanent-failure", "pending"
resp.hosts[0].allocation_time #=> Time
resp.hosts[0].release_time #=> Time
resp.hosts[0].tags #=> Array
resp.hosts[0].tags[0].key #=> String
resp.hosts[0].tags[0].value #=> String
resp.hosts[0].host_recovery #=> String, one of "on", "off"
resp.hosts[0].allows_multiple_instance_types #=> String, one of "on", "off"
resp.hosts[0].owner_id #=> String
resp.hosts[0].availability_zone_id #=> String
resp.hosts[0].member_of_service_linked_resource_group #=> Boolean
resp.hosts[0].outpost_arn #=> String
resp.hosts[0].host_maintenance #=> String, one of "on", "off"
resp.hosts[0].asset_id #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :host_ids (Array<String>)

    The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.

  • :next_token (String)

    The token to use to retrieve the next page of results.

  • :max_results (Integer)

    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

    You cannot specify this parameter and the host IDs parameter in the same request.

  • :filter (Array<Types::Filter>)

    The filters.

    • auto-placement - Whether auto-placement is enabled or disabled (on | off).

    • availability-zone - The Availability Zone of the host.

    • client-token - The idempotency token that you provided when you allocated the host.

    • host-reservation-id - The ID of the reservation assigned to this host.

    • instance-type - The instance type size that the Dedicated Host is configured to support.

    • state - The allocation state of the Dedicated Host (available | under-assessment | permanent-failure | released | released-permanent-failure).

    • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

Returns:

See Also:



24788
24789
24790
24791
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 24788

def describe_hosts(params = {}, options = {})
  req = build_request(:describe_hosts, params)
  req.send_request(options)
end

#describe_iam_instance_profile_associations(params = {}) ⇒ Types::DescribeIamInstanceProfileAssociationsResult

Describes your IAM instance profile associations.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Example: To describe an IAM instance profile association


# This example describes the specified IAM instance profile association.

resp = client.describe_iam_instance_profile_associations({
  association_ids: [
    "iip-assoc-0db249b1f25fa24b8", 
  ], 
})

resp.to_h outputs the following:
{
  iam_instance_profile_associations: [
    {
      association_id: "iip-assoc-0db249b1f25fa24b8", 
      iam_instance_profile: {
        arn: "arn:aws:iam::123456789012:instance-profile/admin-role", 
        id: "AIPAJVQN4F5WVLGCJDRGM", 
      }, 
      instance_id: "i-09eb09efa73ec1dee", 
      state: "associated", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_iam_instance_profile_associations({
  association_ids: ["IamInstanceProfileAssociationId"],
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.iam_instance_profile_associations #=> Array
resp.iam_instance_profile_associations[0].association_id #=> String
resp.iam_instance_profile_associations[0].instance_id #=> String
resp.iam_instance_profile_associations[0].iam_instance_profile.arn #=> String
resp.iam_instance_profile_associations[0].iam_instance_profile.id #=> String
resp.iam_instance_profile_associations[0].state #=> String, one of "associating", "associated", "disassociating", "disassociated"
resp.iam_instance_profile_associations[0].timestamp #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :association_ids (Array<String>)

    The IAM instance profile associations.

  • :filters (Array<Types::Filter>)

    The filters.

    • instance-id - The ID of the instance.

    • state - The state of the association (associating | associated | disassociating).

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :next_token (String)

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

Returns:

See Also:



24881
24882
24883
24884
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 24881

def describe_iam_instance_profile_associations(params = {}, options = {})
  req = build_request(:describe_iam_instance_profile_associations, params)
  req.send_request(options)
end

#describe_id_format(params = {}) ⇒ Types::DescribeIdFormatResult

Describes the ID format settings for your resources on a per-Region basis, for example, to view which resource types are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the IAM user who makes the request; they do not apply to the entire Amazon Web Services account. By default, an IAM user defaults to the same settings as the root user, unless they explicitly override the settings by running the ModifyIdFormat command. Resources created with longer IDs are visible to all IAM users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

Examples:

Request syntax with placeholder values


resp = client.describe_id_format({
  resource: "String",
})

Response structure


resp.statuses #=> Array
resp.statuses[0].deadline #=> Time
resp.statuses[0].resource #=> String
resp.statuses[0].use_long_ids #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource (String)

    The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway

Returns:

See Also:



24946
24947
24948
24949
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 24946

def describe_id_format(params = {}, options = {})
  req = build_request(:describe_id_format, params)
  req.send_request(options)
end

#describe_identity_id_format(params = {}) ⇒ Types::DescribeIdentityIdFormatResult

Describes the ID format settings for resources for the specified IAM user, IAM role, or root user. For example, you can view the resource types that are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the principal specified in the request. They do not apply to the principal that makes the request.

Examples:

Request syntax with placeholder values


resp = client.describe_identity_id_format({
  resource: "String",
  principal_arn: "String", # required
})

Response structure


resp.statuses #=> Array
resp.statuses[0].deadline #=> Time
resp.statuses[0].resource #=> String
resp.statuses[0].use_long_ids #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource (String)

    The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway

  • :principal_arn (required, String)

    The ARN of the principal, which can be an IAM role, IAM user, or the root user.

Returns:

See Also:



25016
25017
25018
25019
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 25016

def describe_identity_id_format(params = {}, options = {})
  req = build_request(:describe_identity_id_format, params)
  req.send_request(options)
end

#describe_image_attribute(params = {}) ⇒ Types::ImageAttribute

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

Examples:

Example: To describe the launch permissions for an AMI


# This example describes the launch permissions for the specified AMI.

resp = client.describe_image_attribute({
  attribute: "launchPermission", 
  image_id: "ami-5731123e", 
})

resp.to_h outputs the following:
{
  image_id: "ami-5731123e", 
  launch_permissions: [
    {
      user_id: "123456789012", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_image_attribute({
  attribute: "description", # required, accepts description, kernel, ramdisk, launchPermission, productCodes, blockDeviceMapping, sriovNetSupport, bootMode, tpmSupport, uefiData, lastLaunchedTime, imdsSupport, deregistrationProtection
  image_id: "ImageId", # required
  dry_run: false,
})

Response structure


resp.description #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.kernel_id #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.ramdisk_id #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.sriov_net_support #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.boot_mode #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.tpm_support #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.uefi_data #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.last_launched_time #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.imds_support #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.deregistration_protection #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.image_id #=> String
resp.launch_permissions #=> Array
resp.launch_permissions[0].organization_arn #=> String
resp.launch_permissions[0].organizational_unit_arn #=> String
resp.launch_permissions[0].user_id #=> String
resp.launch_permissions[0].group #=> String, one of "all"
resp.product_codes #=> Array
resp.product_codes[0].product_code_id #=> String
resp.product_codes[0].product_code_type #=> String, one of "devpay", "marketplace"
resp.block_device_mappings #=> Array
resp.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
resp.block_device_mappings[0].ebs.iops #=> Integer
resp.block_device_mappings[0].ebs.snapshot_id #=> String
resp.block_device_mappings[0].ebs.volume_size #=> Integer
resp.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
resp.block_device_mappings[0].ebs.kms_key_id #=> String
resp.block_device_mappings[0].ebs.throughput #=> Integer
resp.block_device_mappings[0].ebs.outpost_arn #=> String
resp.block_device_mappings[0].ebs.encrypted #=> Boolean
resp.block_device_mappings[0].no_device #=> String
resp.block_device_mappings[0].device_name #=> String
resp.block_device_mappings[0].virtual_name #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :attribute (required, String)

    The AMI attribute.

    Note: The blockDeviceMapping attribute is deprecated. Using this attribute returns the Client.AuthFailure error. To get information about the block device mappings for an AMI, use the DescribeImages action.

  • :image_id (required, String)

    The ID of the AMI.

  • :dry_run (Boolean)

    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.

Returns:

See Also:



25131
25132
25133
25134
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 25131

def describe_image_attribute(params = {}, options = {})
  req = build_request(:describe_image_attribute, params)
  req.send_request(options)
end

#describe_images(params = {}) ⇒ Types::DescribeImagesResult

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

When Allowed AMIs is set to enabled, only allowed images are returned in the results, with the imageAllowed field set to true for each image. In audit-mode, the imageAllowed field is set to true for images that meet the account's Allowed AMIs criteria, and false for images that don't meet the criteria. For more information, see EnableAllowedImagesSettings.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

The following waiters are defined for this operation (see #wait_until for detailed usage):

  • image_available
  • image_exists

Examples:

Example: To describe an AMI


# This example describes the specified AMI.

resp = client.describe_images({
  image_ids: [
    "ami-5731123e", 
  ], 
})

resp.to_h outputs the following:
{
  images: [
    {
      architecture: "x86_64", 
      block_device_mappings: [
        {
          device_name: "/dev/sda1", 
          ebs: {
            delete_on_termination: true, 
            snapshot_id: "snap-1234567890abcdef0", 
            volume_size: 8, 
            volume_type: "standard", 
          }, 
        }, 
      ], 
      description: "An AMI for my server", 
      hypervisor: "xen", 
      image_id: "ami-5731123e", 
      image_location: "123456789012/My server", 
      image_type: "machine", 
      kernel_id: "aki-88aa75e1", 
      name: "My server", 
      owner_id: "123456789012", 
      public: false, 
      root_device_name: "/dev/sda1", 
      root_device_type: "ebs", 
      state: "available", 
      virtualization_type: "paravirtual", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_images({
  executable_users: ["String"],
  image_ids: ["ImageId"],
  owners: ["String"],
  include_deprecated: false,
  include_disabled: false,
  max_results: 1,
  next_token: "String",
  dry_run: false,
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
})

Response structure


resp.next_token #=> String
resp.images #=> Array
resp.images[0].platform_details #=> String
resp.images[0].usage_operation #=> String
resp.images[0].block_device_mappings #=> Array
resp.images[0].block_device_mappings[0].ebs.delete_on_termination #=> Boolean
resp.images[0].block_device_mappings[0].ebs.iops #=> Integer
resp.images[0].block_device_mappings[0].ebs.snapshot_id #=> String
resp.images[0].block_device_mappings[0].ebs.volume_size #=> Integer
resp.images[0].block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
resp.images[0].block_device_mappings[0].ebs.kms_key_id #=> String
resp.images[0].block_device_mappings[0].ebs.throughput #=> Integer
resp.images[0].block_device_mappings[0].ebs.outpost_arn #=> String
resp.images[0].block_device_mappings[0].ebs.encrypted #=> Boolean
resp.images[0].block_device_mappings[0].no_device #=> String
resp.images[0].block_device_mappings[0].device_name #=> String
resp.images[0].block_device_mappings[0].virtual_name #=> String
resp.images[0].description #=> String
resp.images[0].ena_support #=> Boolean
resp.images[0].hypervisor #=> String, one of "ovm", "xen"
resp.images[0].image_owner_alias #=> String
resp.images[0].name #=> String
resp.images[0].root_device_name #=> String
resp.images[0].root_device_type #=> String, one of "ebs", "instance-store"
resp.images[0].sriov_net_support #=> String
resp.images[0].state_reason.code #=> String
resp.images[0].state_reason.message #=> String
resp.images[0].tags #=> Array
resp.images[0].tags[0].key #=> String
resp.images[0].tags[0].value #=> String
resp.images[0].virtualization_type #=> String, one of "hvm", "paravirtual"
resp.images[0].boot_mode #=> String, one of "legacy-bios", "uefi", "uefi-preferred"
resp.images[0].tpm_support #=> String, one of "v2.0"
resp.images[0].deprecation_time #=> String
resp.images[0].imds_support #=> String, one of "v2.0"
resp.images[0].source_instance_id #=> String
resp.images[0].deregistration_protection #=> String
resp.images[0].last_launched_time #=> String
resp.images[0].image_allowed #=> Boolean
resp.images[0].source_image_id #=> String
resp.images[0].source_image_region #=> String
resp.images[0].image_id #=> String
resp.images[0].image_location #=> String
resp.images[0].state #=> String, one of "pending", "available", "invalid", "deregistered", "transient", "failed", "error", "disabled"
resp.images[0].owner_id #=> String
resp.images[0].creation_date #=> String
resp.images[0].public #=> Boolean
resp.images[0].product_codes #=> Array
resp.images[0].product_codes[0].product_code_id #=> String
resp.images[0].product_codes[0].product_code_type #=> String, one of "devpay", "marketplace"
resp.images[0].architecture #=> String, one of "i386", "x86_64", "arm64", "x86_64_mac", "arm64_mac"
resp.images[0].image_type #=> String, one of "machine", "kernel", "ramdisk"
resp.images[0].kernel_id #=> String
resp.images[0].ramdisk_id #=> String
resp.images[0].platform #=> String, one of "Windows"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :executable_users (Array<String>)

    Scopes the images by users with explicit launch permissions. Specify an Amazon Web Services account ID, self (the sender of the request), or all (public AMIs).

    • If you specify an Amazon Web Services account ID that is not your own, only AMIs shared with that specific Amazon Web Services account ID are returned. However, AMIs that are shared with the account’s organization or organizational unit (OU) are not returned.

    • If you specify self or your own Amazon Web Services account ID, AMIs shared with your account are returned. In addition, AMIs that are shared with the organization or OU of which you are member are also returned.

    • If you specify all, all public AMIs are returned.

  • :image_ids (Array<String>)

    The image IDs.

    Default: Describes all images available to you.

  • :owners (Array<String>)

    Scopes the results to images with the specified owners. You can specify a combination of Amazon Web Services account IDs, self, amazon, aws-backup-vault, and aws-marketplace. If you omit this parameter, the results include all images for which you have launch permissions, regardless of ownership.

  • :include_deprecated (Boolean)

    Specifies whether to include deprecated AMIs.

    Default: No deprecated AMIs are included in the response.

    If you are the AMI owner, all deprecated AMIs appear in the response regardless of what you specify for this parameter.

  • :include_disabled (Boolean)

    Specifies whether to include disabled AMIs.

    Default: No disabled AMIs are included in the response.

  • :max_results (Integer)

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • :next_token (String)

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

  • :dry_run (Boolean)

    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.

  • :filters (Array<Types::Filter>)

    The filters.

    • architecture - The image architecture (i386 | x86_64 | arm64 | x86_64_mac | arm64_mac).

    • block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination.

    • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

    • block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS volume.

    • block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

    • block-device-mapping.volume-type - The volume type of the Amazon EBS volume (io1 | io2 | gp2 | gp3 | sc1| st1 | standard).

    • block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

    • creation-date - The time when the image was created, 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.

    • description - The description of the image (provided during image creation).

    • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

    • hypervisor - The hypervisor type (ovm | xen).

    • image-allowed - A Boolean that indicates whether the image meets the criteria specified for Allowed AMIs.

    • image-id - The ID of the image.

    • image-type - The image type (machine | kernel | ramdisk).

    • is-public - A Boolean that indicates whether the image is public.

    • kernel-id - The kernel ID.

    • manifest-location - The location of the image manifest.

    • name - The name of the AMI (provided during image creation).

    • owner-alias - The owner alias (amazon | aws-backup-vault | aws-marketplace). The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be set using the IAM console. We recommend that you use the Owner request parameter instead of this filter.

    • owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the Owner request parameter instead of this filter.

    • platform - The platform. The only supported value is windows.

    • product-code - The product code.

    • product-code.type - The type of the product code (marketplace).

    • ramdisk-id - The RAM disk ID.

    • root-device-name - The device name of the root device volume (for example, /dev/sda1).

    • root-device-type - The type of the root device volume (ebs | instance-store).

    • source-image-id - The ID of the source AMI from which the AMI was created.

    • source-image-region - The Region of the source AMI.

    • source-instance-id - The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This filter is applicable only if the AMI was created using CreateImage.

    • state - The state of the image (available | pending | failed).

    • state-reason-code - The reason code for the state change.

    • state-reason-message - The message for the state change.

    • sriov-net-support - A value of simple indicates that enhanced networking with the Intel 82599 VF interface is enabled.

    • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    • virtualization-type - The virtualization type (paravirtual | hvm).

Returns:

See Also:



25480
25481
25482
25483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 25480

def describe_images(params = {}, options = {})
  req = build_request(:describe_images, params)
  req.send_request(options)
end

#describe_import_image_tasks(params = {}) ⇒ Types::DescribeImportImageTasksResult

Displays details about an import virtual machine or import snapshot tasks that are already created.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_import_image_tasks({
  dry_run: false,
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  import_task_ids: ["ImportImageTaskId"],
  max_results: 1,
  next_token: "String",
})

Response structure


resp.import_image_tasks #=> Array
resp.import_image_tasks[0].architecture #=> String
resp.import_image_tasks[0].description #=> String
resp.import_image_tasks[0].encrypted #=> Boolean
resp.import_image_tasks[0].hypervisor #=> String
resp.import_image_tasks[0].image_id #=> String
resp.import_image_tasks[0].import_task_id #=> String
resp.import_image_tasks[0].kms_key_id #=> String
resp.import_image_tasks[0].license_type #=> String
resp.import_image_tasks[0].platform #=> String
resp.import_image_tasks[0].progress #=> String
resp.import_image_tasks[0].snapshot_details #=> Array
resp.import_image_tasks[0].snapshot_details[0].description #=> String
resp.import_image_tasks[0].snapshot_details[0].device_name #=> String
resp.import_image_tasks[0].snapshot_details[0].disk_image_size #=> Float
resp.import_image_tasks[0].snapshot_details[0].format #=> String
resp.import_image_tasks[0].snapshot_details[0].progress #=> String
resp.import_image_tasks[0].snapshot_details[0].snapshot_id #=> String
resp.import_image_tasks[0].snapshot_details[0].status #=> String
resp.import_image_tasks[0].snapshot_details[0].status_message #=> String
resp.import_image_tasks[0].snapshot_details[0].url #=> String
resp.import_image_tasks[0].snapshot_details[0].user_bucket.s3_bucket #=> String
resp.import_image_tasks[0].snapshot_details[0].user_bucket.s3_key #=> String
resp.import_image_tasks[0].status #=> String
resp.import_image_tasks[0].status_message #=> String
resp.import_image_tasks[0].tags #=> Array
resp.import_image_tasks[0].tags[0].key #=> String
resp.import_image_tasks[0].tags[0].value #=> String
resp.import_image_tasks[0].license_specifications #=> Array
resp.import_image_tasks[0].license_specifications[0].license_configuration_arn #=> String
resp.import_image_tasks[0].usage_operation #=> String
resp.import_image_tasks[0].boot_mode #=> String, one of "legacy-bios", "uefi", "uefi-preferred"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :filters (Array<Types::Filter>)

    Filter tasks using the task-state filter and one of the following values: active, completed, deleting, or deleted.

  • :import_task_ids (Array<String>)

    The IDs of the import image tasks.

  • :max_results (Integer)

    The maximum number of results to return in a single call.

  • :next_token (String)

    A token that indicates the next page of results.

Returns:

See Also:



25569
25570
25571
25572
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 25569

def describe_import_image_tasks(params = {}, options = {})
  req = build_request(:describe_import_image_tasks, params)
  req.send_request(options)
end

#describe_import_snapshot_tasks(params = {}) ⇒ Types::DescribeImportSnapshotTasksResult

Describes your import snapshot tasks.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

The following waiters are defined for this operation (see #wait_until for detailed usage):

  • snapshot_imported

Examples:

Request syntax with placeholder values


resp = client.describe_import_snapshot_tasks({
  dry_run: false,
  filters: [
    {
      name: "String",
      values: ["String"],
    },
  ],
  import_task_ids: ["ImportSnapshotTaskId"],
  max_results: 1,
  next_token: "String",
})

Response structure


resp.import_snapshot_tasks #=> Array
resp.import_snapshot_tasks[0].description #=> String
resp.import_snapshot_tasks[0].import_task_id #=> String
resp.import_snapshot_tasks[0].snapshot_task_detail.description #=> String
resp.import_snapshot_tasks[0].snapshot_task_detail.disk_image_size #=> Float
resp.import_snapshot_tasks[0].snapshot_task_detail.encrypted #=> Boolean
resp.import_snapshot_tasks[0].snapshot_task_detail.format #=> String
resp.import_snapshot_tasks[0].snapshot_task_detail.kms_key_id #=> String
resp.import_snapshot_tasks[0].snapshot_task_detail.progress #=> String
resp.import_snapshot_tasks[0].snapshot_task_detail.snapshot_id #=> String
resp.import_snapshot_tasks[0].snapshot_task_detail.status #=> String
resp.import_snapshot_tasks[0].snapshot_task_detail.status_message #=> String
resp.import_snapshot_tasks[0].snapshot_task_detail.url #=> String
resp.import_snapshot_tasks[0].snapshot_task_detail.user_bucket.s3_bucket #=> String
resp.import_snapshot_tasks[0].snapshot_task_detail.user_bucket.s3_key #=> String
resp.import_snapshot_tasks[0].tags #=> Array
resp.import_snapshot_tasks[0].tags[0].key #=> String
resp.import_snapshot_tasks[0].tags[0].value #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :dry_run (Boolean)

    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.

  • :filters (Array<Types::Filter>)

    The filters.

  • :import_task_ids (Array<String>)

    A list of import snapshot task IDs.

  • :max_results (Integer)

    The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

  • :next_token (String)

    A token that indicates the next page of results.

Returns:

See Also:



25649
25650
25651
25652
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/client.rb', line 25649

def describe_import_snapshot_tasks(params = {}, options = {}