Class: Aws::VPCLattice::Client

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

Overview

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

client = Aws::VPCLattice::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 used for authentication. This can be any class that includes and implements Aws::CredentialProvider, or 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.

  • :auth_scheme_preference (Array<String>)

    A list of preferred authentication schemes to use when making a request. Supported values are: sigv4, sigv4a, httpBearerAuth, and noAuth. When set using ENV['AWS_AUTH_SCHEME_PREFERENCE'] or in shared config as auth_scheme_preference, the value should be a comma-separated list.

  • :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

    When true, the SDK will not prepend the modeled host prefix to the endpoint.

  • :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 the 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 - A retry mode that includes all the functionality of standard mode along with automatic client side throttling.

  • :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)

    Your Bearer token used for authentication. This can be any class that includes and implements Aws::TokenProvider, or 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::VPCLattice::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to #resolve_endpoint(parameters) where parameters is a Struct similar to Aws::VPCLattice::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-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 471

def initialize(*args)
  super
end

Instance Method Details

#batch_update_rule(params = {}) ⇒ Types::BatchUpdateRuleResponse

Updates the listener rules in a batch. You can use this operation to change the priority of listener rules. This can be useful when bulk updating or swapping rule priority.

Required permissions: vpc-lattice:UpdateRule

For more information, see How Amazon VPC Lattice works with IAM in the Amazon VPC Lattice User Guide.

Examples:

Request syntax with placeholder values


resp = client.batch_update_rule({
  service_identifier: "ServiceIdentifier", # required
  listener_identifier: "ListenerIdentifier", # required
  rules: [ # required
    {
      rule_identifier: "RuleIdentifier", # required
      match: {
        http_match: {
          method: "HttpMethod",
          path_match: {
            match: { # required
              exact: "PathMatchExact",
              prefix: "PathMatchPrefix",
            },
            case_sensitive: false,
          },
          header_matches: [
            {
              name: "HeaderMatchName", # required
              match: { # required
                exact: "HeaderMatchExact",
                prefix: "HeaderMatchPrefix",
                contains: "HeaderMatchContains",
              },
              case_sensitive: false,
            },
          ],
        },
      },
      priority: 1,
      action: {
        forward: {
          target_groups: [ # required
            {
              target_group_identifier: "TargetGroupIdentifier", # required
              weight: 1,
            },
          ],
        },
        fixed_response: {
          status_code: 1, # required
        },
      },
    },
  ],
})

Response structure


resp.successful #=> Array
resp.successful[0].arn #=> String
resp.successful[0].id #=> String
resp.successful[0].name #=> String
resp.successful[0].is_default #=> Boolean
resp.successful[0].match.http_match.method #=> String
resp.successful[0].match.http_match.path_match.match.exact #=> String
resp.successful[0].match.http_match.path_match.match.prefix #=> String
resp.successful[0].match.http_match.path_match.case_sensitive #=> Boolean
resp.successful[0].match.http_match.header_matches #=> Array
resp.successful[0].match.http_match.header_matches[0].name #=> String
resp.successful[0].match.http_match.header_matches[0].match.exact #=> String
resp.successful[0].match.http_match.header_matches[0].match.prefix #=> String
resp.successful[0].match.http_match.header_matches[0].match.contains #=> String
resp.successful[0].match.http_match.header_matches[0].case_sensitive #=> Boolean
resp.successful[0].priority #=> Integer
resp.successful[0].action.forward.target_groups #=> Array
resp.successful[0].action.forward.target_groups[0].target_group_identifier #=> String
resp.successful[0].action.forward.target_groups[0].weight #=> Integer
resp.successful[0].action.fixed_response.status_code #=> Integer
resp.unsuccessful #=> Array
resp.unsuccessful[0].rule_identifier #=> String
resp.unsuccessful[0].failure_code #=> String
resp.unsuccessful[0].failure_message #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

  • :listener_identifier (required, String)

    The ID or ARN of the listener.

  • :rules (required, Array<Types::RuleUpdate>)

    The rules for the specified listener.

Returns:

See Also:



584
585
586
587
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 584

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

#create_access_log_subscription(params = {}) ⇒ Types::CreateAccessLogSubscriptionResponse

Enables access logs to be sent to Amazon CloudWatch, Amazon S3, and Amazon Kinesis Data Firehose. The service network owner can use the access logs to audit the services in the network. The service network owner can only see access logs from clients and services that are associated with their service network. Access log entries represent traffic originated from VPCs associated with that network. For more information, see Access logs in the Amazon VPC Lattice User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_access_log_subscription({
  client_token: "ClientToken",
  resource_identifier: "ResourceIdentifier", # required
  destination_arn: "AccessLogDestinationArn", # required
  service_network_log_type: "SERVICE", # accepts SERVICE, RESOURCE
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.resource_id #=> String
resp.resource_arn #=> String
resp.service_network_log_type #=> String, one of "SERVICE", "RESOURCE"
resp.destination_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

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

  • :resource_identifier (required, String)

    The ID or ARN of the service network or service.

  • :destination_arn (required, String)

    The Amazon Resource Name (ARN) of the destination. The supported destination types are CloudWatch Log groups, Kinesis Data Firehose delivery streams, and Amazon S3 buckets.

  • :service_network_log_type (String)

    The type of log that monitors your Amazon VPC Lattice service networks.

  • :tags (Hash<String,String>)

    The tags for the access log subscription.

Returns:

See Also:



661
662
663
664
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 661

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

#create_listener(params = {}) ⇒ Types::CreateListenerResponse

Creates a listener for a service. Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. For more information, see Listeners in the Amazon VPC Lattice User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_listener({
  service_identifier: "ServiceIdentifier", # required
  name: "ListenerName", # required
  protocol: "HTTP", # required, accepts HTTP, HTTPS, TLS_PASSTHROUGH
  port: 1,
  default_action: { # required
    forward: {
      target_groups: [ # required
        {
          target_group_identifier: "TargetGroupIdentifier", # required
          weight: 1,
        },
      ],
    },
    fixed_response: {
      status_code: 1, # required
    },
  },
  client_token: "ClientToken",
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.arn #=> String
resp.id #=> String
resp.name #=> String
resp.protocol #=> String, one of "HTTP", "HTTPS", "TLS_PASSTHROUGH"
resp.port #=> Integer
resp.service_arn #=> String
resp.service_id #=> String
resp.default_action.forward.target_groups #=> Array
resp.default_action.forward.target_groups[0].target_group_identifier #=> String
resp.default_action.forward.target_groups[0].weight #=> Integer
resp.default_action.fixed_response.status_code #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

  • :name (required, String)

    The name of the listener. A listener name must be unique within a service. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

  • :protocol (required, String)

    The listener protocol.

  • :port (Integer)

    The listener port. You can specify a value from 1 to 65535. For HTTP, the default is 80. For HTTPS, the default is 443.

  • :default_action (required, Types::RuleAction)

    The action for the default rule. Each listener has a default rule. The default rule is used if no other rules match.

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

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

  • :tags (Hash<String,String>)

    The tags for the listener.

Returns:

See Also:



764
765
766
767
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 764

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

#create_resource_configuration(params = {}) ⇒ Types::CreateResourceConfigurationResponse

Creates a resource configuration. A resource configuration defines a specific resource. You can associate a resource configuration with a service network or a VPC endpoint.

Examples:

Request syntax with placeholder values


resp = client.create_resource_configuration({
  name: "ResourceConfigurationName", # required
  type: "GROUP", # required, accepts GROUP, CHILD, SINGLE, ARN
  port_ranges: ["PortRange"],
  protocol: "TCP", # accepts TCP
  resource_gateway_identifier: "ResourceGatewayIdentifier",
  resource_configuration_group_identifier: "ResourceConfigurationIdentifier",
  resource_configuration_definition: {
    dns_resource: {
      domain_name: "DomainName",
      ip_address_type: "IPV4", # accepts IPV4, IPV6, DUALSTACK
    },
    ip_resource: {
      ip_address: "IpAddress",
    },
    arn_resource: {
      arn: "WildcardArn",
    },
  },
  allow_association_to_shareable_service_network: false,
  custom_domain_name: "DomainName",
  group_domain: "DomainName",
  domain_verification_identifier: "DomainVerificationIdentifier",
  client_token: "ClientToken",
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.id #=> String
resp.name #=> String
resp.arn #=> String
resp.resource_gateway_id #=> String
resp.resource_configuration_group_id #=> String
resp.type #=> String, one of "GROUP", "CHILD", "SINGLE", "ARN"
resp.port_ranges #=> Array
resp.port_ranges[0] #=> String
resp.protocol #=> String, one of "TCP"
resp.status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "UPDATE_FAILED", "DELETE_FAILED"
resp.resource_configuration_definition.dns_resource.domain_name #=> String
resp.resource_configuration_definition.dns_resource.ip_address_type #=> String, one of "IPV4", "IPV6", "DUALSTACK"
resp.resource_configuration_definition.ip_resource.ip_address #=> String
resp.resource_configuration_definition.arn_resource.arn #=> String
resp.allow_association_to_shareable_service_network #=> Boolean
resp.created_at #=> Time
resp.failure_reason #=> String
resp.custom_domain_name #=> String
resp.domain_verification_id #=> String
resp.group_domain #=> String
resp.domain_verification_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the resource configuration. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

  • :type (required, String)

    The type of resource configuration. A resource configuration can be one of the following types:

    • SINGLE - A single resource.

    • GROUP - A group of resources. You must create a group resource configuration before you create a child resource configuration.

    • CHILD - A single resource that is part of a group resource configuration.

    • ARN - An Amazon Web Services resource.

  • :port_ranges (Array<String>) — default: SINGLE, GROUP, CHILD

    The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535). You can separate port ranges using commas (for example: 1,2,22-30).

  • :protocol (String) — default: SINGLE, GROUP

    The protocol accepted by the resource configuration.

  • :resource_gateway_identifier (String) — default: SINGLE, GROUP, ARN

    The ID or ARN of the resource gateway used to connect to the resource configuration. For a child resource configuration, this value is inherited from the parent resource configuration.

  • :resource_configuration_group_identifier (String) — default: CHILD

    The ID or ARN of the parent resource configuration of type GROUP. This is used to associate a child resource configuration with a group resource configuration.

  • :resource_configuration_definition (Types::ResourceConfigurationDefinition)

    Identifies the resource configuration in one of the following ways:

    • Amazon Resource Name (ARN) - Supported resource-types that are provisioned by Amazon Web Services services, such as RDS databases, can be identified by their ARN.

    • Domain name - Any domain name that is publicly resolvable.

    • IP address - For IPv4 and IPv6, only IP addresses in the VPC are supported.

  • :allow_association_to_shareable_service_network (Boolean) — default: SINGLE, GROUP, ARN

    Specifies whether the resource configuration can be associated with a sharable service network. The default is false.

  • :custom_domain_name (String)

    A custom domain name for your resource configuration. Additionally, provide a DomainVerificationID to prove your ownership of a domain.

  • :group_domain (String) — default: GROUP

    The group domain for a group resource configuration. Any domains that you create for the child resource are subdomains of the group domain. Child resources inherit the verification status of the domain.

  • :domain_verification_identifier (String)

    The domain verification ID of your verified custom domain name. If you don't provide an ID, you must configure the DNS settings yourself.

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

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

  • :tags (Hash<String,String>)

    The tags for the resource configuration.

Returns:

See Also:



934
935
936
937
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 934

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

#create_resource_gateway(params = {}) ⇒ Types::CreateResourceGatewayResponse

A resource gateway is a point of ingress into the VPC where a resource resides. It spans multiple Availability Zones. For your resource to be accessible from all Availability Zones, you should create your resource gateways to span as many Availability Zones as possible. A VPC can have multiple resource gateways.

Examples:

Request syntax with placeholder values


resp = client.create_resource_gateway({
  client_token: "ClientToken",
  name: "ResourceGatewayName", # required
  vpc_identifier: "VpcId",
  subnet_ids: ["SubnetId"],
  security_group_ids: ["SecurityGroupId"],
  ip_address_type: "IPV4", # accepts IPV4, IPV6, DUALSTACK
  ipv4_addresses_per_eni: 1,
  resource_config_dns_resolution: "IN_VPC", # accepts IN_VPC, PUBLIC
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.name #=> String
resp.id #=> String
resp.arn #=> String
resp.status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "UPDATE_FAILED", "DELETE_FAILED"
resp.vpc_identifier #=> String
resp.subnet_ids #=> Array
resp.subnet_ids[0] #=> String
resp.security_group_ids #=> Array
resp.security_group_ids[0] #=> String
resp.ip_address_type #=> String, one of "IPV4", "IPV6", "DUALSTACK"
resp.ipv4_addresses_per_eni #=> Integer
resp.resource_config_dns_resolution #=> String, one of "IN_VPC", "PUBLIC"

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

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

  • :name (required, String)

    The name of the resource gateway.

  • :vpc_identifier (String)

    The ID of the VPC for the resource gateway.

  • :subnet_ids (Array<String>)

    The IDs of the VPC subnets in which to create the resource gateway.

  • :security_group_ids (Array<String>)

    The IDs of the security groups to apply to the resource gateway. The security groups must be in the same VPC.

  • :ip_address_type (String)

    A resource gateway can have IPv4, IPv6 or dualstack addresses. The IP address type of a resource gateway must be compatible with the subnets of the resource gateway and the IP address type of the resource, as described here:

    • IPv4Assign IPv4 addresses to your resource gateway network interfaces. This option is supported only if all selected subnets have IPv4 address ranges, and the resource also has an IPv4 address.

    • IPv6Assign IPv6 addresses to your resource gateway network interfaces. This option is supported only if all selected subnets are IPv6 only subnets, and the resource also has an IPv6 address.

    • DualstackAssign both IPv4 and IPv6 addresses to your resource gateway network interfaces. This option is supported only if all selected subnets have both IPv4 and IPv6 address ranges, and the resource either has an IPv4 or IPv6 address.

    The IP address type of the resource gateway is independent of the IP address type of the client or the VPC endpoint through which the resource is accessed.

  • :ipv4_addresses_per_eni (Integer)

    The number of IPv4 addresses in each ENI for the resource gateway.

  • :resource_config_dns_resolution (String)

    Indicates how DNS is resolved for resource configurations associated to this resource gateway. ResourceConfigDnsResolution is set at creation time and cannot be changed.

    • IN_VPC - DNS resolution occurs privately within the resource gateway's VPC. DNS queries for resources behind this resource gateway resolve using the DNS resolvers defined in the VPC's DHCP option sets. Use this when your resource domain names are hosted in private Route 53 hosted zones or on-premises DNS servers reachable from the VPC.

    • PUBLIC - DNS resolution occurs against public DNS resolvers. DNS queries for resources behind this resource gateway resolve using standard public DNS. Use this when your resource domain names are publicly resolvable.

  • :tags (Hash<String,String>)

    The tags for the resource gateway.

Returns:

See Also:



1062
1063
1064
1065
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1062

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

#create_rule(params = {}) ⇒ Types::CreateRuleResponse

Creates a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. For more information, see Listener rules in the Amazon VPC Lattice User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_rule({
  service_identifier: "ServiceIdentifier", # required
  listener_identifier: "ListenerIdentifier", # required
  name: "RuleName", # required
  match: { # required
    http_match: {
      method: "HttpMethod",
      path_match: {
        match: { # required
          exact: "PathMatchExact",
          prefix: "PathMatchPrefix",
        },
        case_sensitive: false,
      },
      header_matches: [
        {
          name: "HeaderMatchName", # required
          match: { # required
            exact: "HeaderMatchExact",
            prefix: "HeaderMatchPrefix",
            contains: "HeaderMatchContains",
          },
          case_sensitive: false,
        },
      ],
    },
  },
  priority: 1, # required
  action: { # required
    forward: {
      target_groups: [ # required
        {
          target_group_identifier: "TargetGroupIdentifier", # required
          weight: 1,
        },
      ],
    },
    fixed_response: {
      status_code: 1, # required
    },
  },
  client_token: "ClientToken",
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.arn #=> String
resp.id #=> String
resp.name #=> String
resp.match.http_match.method #=> String
resp.match.http_match.path_match.match.exact #=> String
resp.match.http_match.path_match.match.prefix #=> String
resp.match.http_match.path_match.case_sensitive #=> Boolean
resp.match.http_match.header_matches #=> Array
resp.match.http_match.header_matches[0].name #=> String
resp.match.http_match.header_matches[0].match.exact #=> String
resp.match.http_match.header_matches[0].match.prefix #=> String
resp.match.http_match.header_matches[0].match.contains #=> String
resp.match.http_match.header_matches[0].case_sensitive #=> Boolean
resp.priority #=> Integer
resp.action.forward.target_groups #=> Array
resp.action.forward.target_groups[0].target_group_identifier #=> String
resp.action.forward.target_groups[0].weight #=> Integer
resp.action.fixed_response.status_code #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

  • :listener_identifier (required, String)

    The ID or ARN of the listener.

  • :name (required, String)

    The name of the rule. The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

  • :match (required, Types::RuleMatch)

    The rule match.

  • :priority (required, Integer)

    The priority assigned to the rule. Each rule for a specific listener must have a unique priority. The lower the priority number the higher the priority.

  • :action (required, Types::RuleAction)

    The action for the default rule.

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

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

  • :tags (Hash<String,String>)

    The tags for the rule.

Returns:

See Also:



1196
1197
1198
1199
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1196

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

#create_service(params = {}) ⇒ Types::CreateServiceResponse

Creates a service. A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC).

For more information, see Services in the Amazon VPC Lattice User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_service({
  client_token: "ClientToken",
  name: "ServiceName", # required
  tags: {
    "TagKey" => "TagValue",
  },
  custom_domain_name: "ServiceCustomDomainName",
  certificate_arn: "CertificateArn",
  auth_type: "NONE", # accepts NONE, AWS_IAM
  idle_timeout_seconds: 1,
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.name #=> String
resp.custom_domain_name #=> String
resp.certificate_arn #=> String
resp.status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
resp.auth_type #=> String, one of "NONE", "AWS_IAM"
resp.idle_timeout_seconds #=> Integer
resp.dns_entry.domain_name #=> String
resp.dns_entry.hosted_zone_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

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

  • :name (required, String)

    The name of the service. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

  • :tags (Hash<String,String>)

    The tags for the service.

  • :custom_domain_name (String)

    The custom domain name of the service.

  • :certificate_arn (String)

    The Amazon Resource Name (ARN) of the certificate.

  • :auth_type (String)

    The type of IAM policy.

    • NONE: The resource does not use an IAM policy. This is the default.

    • AWS_IAM: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.

  • :idle_timeout_seconds (Integer)

    The amount of time, in seconds, that a connection can remain idle (no data sent) before VPC Lattice closes it. The valid range is 60 to 600 seconds. If you don't specify a value, the default is 60 seconds. This setting does not change the maximum connection duration of 10 minutes; connections are still closed when they reach that limit.

Returns:

See Also:



1296
1297
1298
1299
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1296

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

#create_service_network(params = {}) ⇒ Types::CreateServiceNetworkResponse

Creates a service network. A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network.

For more information, see Service networks in the Amazon VPC Lattice User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_service_network({
  client_token: "ClientToken",
  name: "ServiceNetworkName", # required
  auth_type: "NONE", # accepts NONE, AWS_IAM
  tags: {
    "TagKey" => "TagValue",
  },
  sharing_config: {
    enabled: false,
  },
})

Response structure


resp.id #=> String
resp.name #=> String
resp.arn #=> String
resp.sharing_config.enabled #=> Boolean
resp.auth_type #=> String, one of "NONE", "AWS_IAM"

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

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

  • :name (required, String)

    The name of the service network. The name must be unique to the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

  • :auth_type (String)

    The type of IAM policy.

    • NONE: The resource does not use an IAM policy. This is the default.

    • AWS_IAM: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.

  • :tags (Hash<String,String>)

    The tags for the service network.

  • :sharing_config (Types::SharingConfig)

    Specify if the service network should be enabled for sharing.

Returns:

See Also:



1377
1378
1379
1380
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1377

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

#create_service_network_resource_association(params = {}) ⇒ Types::CreateServiceNetworkResourceAssociationResponse

Associates the specified service network with the specified resource configuration. This allows the resource configuration to receive connections through the service network, including through a service network VPC endpoint.

Examples:

Request syntax with placeholder values


resp = client.create_service_network_resource_association({
  client_token: "ClientToken",
  resource_configuration_identifier: "ResourceConfigurationIdentifier", # required
  service_network_identifier: "ServiceNetworkIdentifierWithoutRegex", # required
  private_dns_enabled: false,
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "PARTIAL", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
resp.created_by #=> String
resp.private_dns_enabled #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

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

  • :resource_configuration_identifier (required, String)

    The ID of the resource configuration to associate with the service network.

  • :service_network_identifier (required, String)

    The ID of the service network to associate with the resource configuration.

  • :private_dns_enabled (Boolean)

    Indicates if private DNS is enabled for the service network resource association.

  • :tags (Hash<String,String>)

    A key-value pair to associate with a resource.

Returns:

See Also:



1444
1445
1446
1447
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1444

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

#create_service_network_service_association(params = {}) ⇒ Types::CreateServiceNetworkServiceAssociationResponse

Associates the specified service with the specified service network. For more information, see Manage service associations in the Amazon VPC Lattice User Guide.

You can't use this operation if the service and service network are already associated or if there is a disassociation or deletion in progress. If the association fails, you can retry the operation by deleting the association and recreating it.

You cannot associate a service and service network that are shared with a caller. The caller must own either the service or the service network.

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

Examples:

Request syntax with placeholder values


resp = client.create_service_network_service_association({
  client_token: "ClientToken",
  service_identifier: "ServiceIdentifier", # required
  service_network_identifier: "ServiceNetworkIdentifier", # required
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.id #=> String
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
resp.arn #=> String
resp.created_by #=> String
resp.custom_domain_name #=> String
resp.dns_entry.domain_name #=> String
resp.dns_entry.hosted_zone_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

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

  • :service_identifier (required, String)

    The ID or ARN of the service.

  • :service_network_identifier (required, String)

    The ID or ARN of the service network. You must use an ARN if the resources are in different accounts.

  • :tags (Hash<String,String>)

    The tags for the association.

Returns:

See Also:



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

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

#create_service_network_vpc_association(params = {}) ⇒ Types::CreateServiceNetworkVpcAssociationResponse

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

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

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

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

Examples:

Request syntax with placeholder values


resp = client.create_service_network_vpc_association({
  client_token: "ClientToken",
  service_network_identifier: "ServiceNetworkIdentifier", # required
  vpc_identifier: "VpcId", # required
  private_dns_enabled: false,
  security_group_ids: ["SecurityGroupId"],
  tags: {
    "TagKey" => "TagValue",
  },
  dns_options: {
    private_dns_preference: "VERIFIED_DOMAINS_ONLY", # accepts VERIFIED_DOMAINS_ONLY, ALL_DOMAINS, VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS, SPECIFIED_DOMAINS_ONLY
    private_dns_specified_domains: ["PrivateDnsSpecifiedDomain"],
  },
})

Response structure


resp.id #=> String
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED"
resp.arn #=> String
resp.created_by #=> String
resp.security_group_ids #=> Array
resp.security_group_ids[0] #=> String
resp.private_dns_enabled #=> Boolean
resp.dns_options.private_dns_preference #=> String, one of "VERIFIED_DOMAINS_ONLY", "ALL_DOMAINS", "VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS", "SPECIFIED_DOMAINS_ONLY"
resp.dns_options.private_dns_specified_domains #=> Array
resp.dns_options.private_dns_specified_domains[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

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

  • :service_network_identifier (required, String)

    The ID or ARN of the service network. You must use an ARN if the resources are in different accounts.

  • :vpc_identifier (required, String)

    The ID of the VPC.

  • :private_dns_enabled (Boolean)

    Indicates if private DNS is enabled for the VPC association.

  • :security_group_ids (Array<String>)

    The IDs of the security groups. Security groups aren't added by default. You can add a security group to apply network level controls to control which resources in a VPC are allowed to access the service network and its services. For more information, see Control traffic to resources using security groups in the Amazon VPC User Guide.

  • :tags (Hash<String,String>)

    The tags for the association.

  • :dns_options (Types::DnsOptions)

    DNS options for the service network VPC association.

Returns:

See Also:



1632
1633
1634
1635
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1632

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

#create_target_group(params = {}) ⇒ Types::CreateTargetGroupResponse

Creates a target group. A target group is a collection of targets, or compute resources, that run your application or service. A target group can only be used by a single service.

For more information, see Target groups in the Amazon VPC Lattice User Guide.

Examples:

Request syntax with placeholder values


resp = client.create_target_group({
  name: "TargetGroupName", # required
  type: "IP", # required, accepts IP, LAMBDA, INSTANCE, ALB
  config: {
    port: 1,
    protocol: "HTTP", # accepts HTTP, HTTPS, TCP
    protocol_version: "HTTP1", # accepts HTTP1, HTTP2, GRPC
    ip_address_type: "IPV4", # accepts IPV4, IPV6
    vpc_identifier: "VpcId",
    health_check: {
      enabled: false,
      protocol: "HTTP", # accepts HTTP, HTTPS, TCP
      protocol_version: "HTTP1", # accepts HTTP1, HTTP2
      port: 1,
      path: "HealthCheckPath",
      health_check_interval_seconds: 1,
      health_check_timeout_seconds: 1,
      healthy_threshold_count: 1,
      unhealthy_threshold_count: 1,
      matcher: {
        http_code: "HttpCodeMatcher",
      },
    },
    lambda_event_structure_version: "V1", # accepts V1, V2
  },
  client_token: "ClientToken",
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.name #=> String
resp.type #=> String, one of "IP", "LAMBDA", "INSTANCE", "ALB"
resp.config.port #=> Integer
resp.config.protocol #=> String, one of "HTTP", "HTTPS", "TCP"
resp.config.protocol_version #=> String, one of "HTTP1", "HTTP2", "GRPC"
resp.config.ip_address_type #=> String, one of "IPV4", "IPV6"
resp.config.vpc_identifier #=> String
resp.config.health_check.enabled #=> Boolean
resp.config.health_check.protocol #=> String, one of "HTTP", "HTTPS", "TCP"
resp.config.health_check.protocol_version #=> String, one of "HTTP1", "HTTP2"
resp.config.health_check.port #=> Integer
resp.config.health_check.path #=> String
resp.config.health_check.health_check_interval_seconds #=> Integer
resp.config.health_check.health_check_timeout_seconds #=> Integer
resp.config.health_check.healthy_threshold_count #=> Integer
resp.config.health_check.unhealthy_threshold_count #=> Integer
resp.config.health_check.matcher.http_code #=> String
resp.config.lambda_event_structure_version #=> String, one of "V1", "V2"
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the target group. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

  • :type (required, String)

    The type of target group.

  • :config (Types::TargetGroupConfig)

    The target group configuration.

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

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

  • :tags (Hash<String,String>)

    The tags for the target group.

Returns:

See Also:



1743
1744
1745
1746
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1743

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

#delete_access_log_subscription(params = {}) ⇒ Struct

Deletes the specified access log subscription.

Examples:

Request syntax with placeholder values


resp = client.delete_access_log_subscription({
  access_log_subscription_identifier: "AccessLogSubscriptionIdentifier", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :access_log_subscription_identifier (required, String)

    The ID or ARN of the access log subscription.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1765
1766
1767
1768
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1765

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

#delete_auth_policy(params = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


resp = client.delete_auth_policy({
  resource_identifier: "ResourceIdentifier", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_identifier (required, String)

    The ID or ARN of the resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1791
1792
1793
1794
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1791

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

#delete_domain_verification(params = {}) ⇒ Struct

Deletes the specified domain verification.

Examples:

Request syntax with placeholder values


resp = client.delete_domain_verification({
  domain_verification_identifier: "DomainVerificationIdentifier", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :domain_verification_identifier (required, String)

    The ID of the domain verification to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1813
1814
1815
1816
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1813

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

#delete_listener(params = {}) ⇒ Struct

Deletes the specified listener.

Examples:

Request syntax with placeholder values


resp = client.delete_listener({
  service_identifier: "ServiceIdentifier", # required
  listener_identifier: "ListenerIdentifier", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

  • :listener_identifier (required, String)

    The ID or ARN of the listener.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1839
1840
1841
1842
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1839

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

#delete_resource_configuration(params = {}) ⇒ Struct

Deletes the specified resource configuration.

Examples:

Request syntax with placeholder values


resp = client.delete_resource_configuration({
  resource_configuration_identifier: "ResourceConfigurationIdentifier", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_configuration_identifier (required, String)

    The ID or ARN of the resource configuration.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1861
1862
1863
1864
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1861

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

#delete_resource_endpoint_association(params = {}) ⇒ Types::DeleteResourceEndpointAssociationResponse

Disassociates the resource configuration from the resource VPC endpoint.

Examples:

Request syntax with placeholder values


resp = client.delete_resource_endpoint_association({
  resource_endpoint_association_identifier: "ResourceEndpointAssociationIdentifier", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.resource_configuration_id #=> String
resp.resource_configuration_arn #=> String
resp.vpc_endpoint_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_endpoint_association_identifier (required, String)

    The ID or ARN of the association.

Returns:

See Also:



1898
1899
1900
1901
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1898

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

#delete_resource_gateway(params = {}) ⇒ Types::DeleteResourceGatewayResponse

Deletes the specified resource gateway.

Examples:

Request syntax with placeholder values


resp = client.delete_resource_gateway({
  resource_gateway_identifier: "ResourceGatewayIdentifier", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.name #=> String
resp.status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "UPDATE_FAILED", "DELETE_FAILED"

Parameters:

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

    ({})

Options Hash (params):

  • :resource_gateway_identifier (required, String)

    The ID or ARN of the resource gateway.

Returns:

See Also:



1932
1933
1934
1935
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1932

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

#delete_resource_policy(params = {}) ⇒ Struct

Deletes the specified resource policy.

Examples:

Request syntax with placeholder values


resp = client.delete_resource_policy({
  resource_arn: "ResourceArn", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1954
1955
1956
1957
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1954

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

#delete_rule(params = {}) ⇒ Struct

Deletes a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. You can delete additional listener rules, but you cannot delete the default rule.

For more information, see Listener rules in the Amazon VPC Lattice User Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_rule({
  service_identifier: "ServiceIdentifier", # required
  listener_identifier: "ListenerIdentifier", # required
  rule_identifier: "RuleIdentifier", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

  • :listener_identifier (required, String)

    The ID or ARN of the listener.

  • :rule_identifier (required, String)

    The ID or ARN of the rule.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1995
1996
1997
1998
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 1995

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

#delete_service(params = {}) ⇒ Types::DeleteServiceResponse

Deletes a service. A service can't be deleted if it's associated with a service network. If you delete a service, all resources related to the service, such as the resource policy, auth policy, listeners, listener rules, and access log subscriptions, are also deleted. For more information, see Delete a service in the Amazon VPC Lattice User Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_service({
  service_identifier: "ServiceIdentifier", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.name #=> String
resp.status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

Returns:

See Also:



2038
2039
2040
2041
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2038

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

#delete_service_network(params = {}) ⇒ Struct

Deletes a service network. You can only delete the service network if there is no service or VPC associated with it. If you delete a service network, all resources related to the service network, such as the resource policy, auth policy, and access log subscriptions, are also deleted. For more information, see Delete a service network in the Amazon VPC Lattice User Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_service_network({
  service_network_identifier: "ServiceNetworkIdentifier", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_identifier (required, String)

    The ID or ARN of the service network.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2069
2070
2071
2072
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2069

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

#delete_service_network_resource_association(params = {}) ⇒ Types::DeleteServiceNetworkResourceAssociationResponse

Deletes the association between a service network and a resource configuration.

Examples:

Request syntax with placeholder values


resp = client.delete_service_network_resource_association({
  service_network_resource_association_identifier: "ServiceNetworkResourceAssociationIdentifier", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "PARTIAL", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_resource_association_identifier (required, String)

    The ID of the association.

Returns:

See Also:



2102
2103
2104
2105
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2102

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

#delete_service_network_service_association(params = {}) ⇒ Types::DeleteServiceNetworkServiceAssociationResponse

Deletes the association between a service and a service network. This operation fails if an association is still in progress.

Examples:

Request syntax with placeholder values


resp = client.delete_service_network_service_association({
  service_network_service_association_identifier: "ServiceNetworkServiceAssociationIdentifier", # required
})

Response structure


resp.id #=> String
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
resp.arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_service_association_identifier (required, String)

    The ID or ARN of the association.

Returns:

See Also:



2135
2136
2137
2138
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2135

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

#delete_service_network_vpc_association(params = {}) ⇒ Types::DeleteServiceNetworkVpcAssociationResponse

Disassociates the VPC from the service network. You can't disassociate the VPC if there is a create or update association in progress.

Examples:

Request syntax with placeholder values


resp = client.delete_service_network_vpc_association({
  service_network_vpc_association_identifier: "ServiceNetworkVpcAssociationIdentifier", # required
})

Response structure


resp.id #=> String
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED"
resp.arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_vpc_association_identifier (required, String)

    The ID or ARN of the association.

Returns:

See Also:



2169
2170
2171
2172
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2169

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

#delete_target_group(params = {}) ⇒ Types::DeleteTargetGroupResponse

Deletes a target group. You can't delete a target group if it is used in a listener rule or if the target group creation is in progress.

Examples:

Request syntax with placeholder values


resp = client.delete_target_group({
  target_group_identifier: "TargetGroupIdentifier", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"

Parameters:

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

    ({})

Options Hash (params):

  • :target_group_identifier (required, String)

    The ID or ARN of the target group.

Returns:

See Also:



2202
2203
2204
2205
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2202

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

#deregister_targets(params = {}) ⇒ Types::DeregisterTargetsResponse

Deregisters the specified targets from the specified target group.

Examples:

Request syntax with placeholder values


resp = client.deregister_targets({
  target_group_identifier: "TargetGroupIdentifier", # required
  targets: [ # required
    {
      id: "TargetIdString", # required
      port: 1,
    },
  ],
})

Response structure


resp.successful #=> Array
resp.successful[0].id #=> String
resp.successful[0].port #=> Integer
resp.unsuccessful #=> Array
resp.unsuccessful[0].id #=> String
resp.unsuccessful[0].port #=> Integer
resp.unsuccessful[0].failure_code #=> String
resp.unsuccessful[0].failure_message #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :target_group_identifier (required, String)

    The ID or ARN of the target group.

  • :targets (required, Array<Types::Target>)

    The targets to deregister.

Returns:

See Also:



2247
2248
2249
2250
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2247

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

#get_access_log_subscription(params = {}) ⇒ Types::GetAccessLogSubscriptionResponse

Retrieves information about the specified access log subscription.

Examples:

Request syntax with placeholder values


resp = client.get_access_log_subscription({
  access_log_subscription_identifier: "AccessLogSubscriptionIdentifier", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.resource_id #=> String
resp.resource_arn #=> String
resp.destination_arn #=> String
resp.service_network_log_type #=> String, one of "SERVICE", "RESOURCE"
resp.created_at #=> Time
resp.last_updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :access_log_subscription_identifier (required, String)

    The ID or ARN of the access log subscription.

Returns:

See Also:



2289
2290
2291
2292
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2289

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

#get_auth_policy(params = {}) ⇒ Types::GetAuthPolicyResponse

Retrieves information about the auth policy for the specified service or service network.

Examples:

Request syntax with placeholder values


resp = client.get_auth_policy({
  resource_identifier: "ResourceIdentifier", # required
})

Response structure


resp.policy #=> String
resp.state #=> String, one of "Active", "Inactive"
resp.created_at #=> Time
resp.last_updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :resource_identifier (required, String)

    The ID or ARN of the service network or service.

Returns:

See Also:



2324
2325
2326
2327
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2324

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

#get_domain_verification(params = {}) ⇒ Types::GetDomainVerificationResponse

Retrieves information about a domain verification.ß

Examples:

Request syntax with placeholder values


resp = client.get_domain_verification({
  domain_verification_identifier: "DomainVerificationIdentifier", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.domain_name #=> String
resp.status #=> String, one of "VERIFIED", "PENDING", "VERIFICATION_TIMED_OUT"
resp.txt_method_config.value #=> String
resp.txt_method_config.name #=> String
resp.created_at #=> Time
resp.last_verified_time #=> Time
resp.tags #=> Hash
resp.tags["TagKey"] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :domain_verification_identifier (required, String)

    The ID or ARN of the domain verification to retrieve.

Returns:

See Also:



2368
2369
2370
2371
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2368

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

#get_listener(params = {}) ⇒ Types::GetListenerResponse

Retrieves information about the specified listener for the specified service.

Examples:

Request syntax with placeholder values


resp = client.get_listener({
  service_identifier: "ServiceIdentifier", # required
  listener_identifier: "ListenerIdentifier", # required
})

Response structure


resp.arn #=> String
resp.id #=> String
resp.name #=> String
resp.protocol #=> String, one of "HTTP", "HTTPS", "TLS_PASSTHROUGH"
resp.port #=> Integer
resp.service_arn #=> String
resp.service_id #=> String
resp.default_action.forward.target_groups #=> Array
resp.default_action.forward.target_groups[0].target_group_identifier #=> String
resp.default_action.forward.target_groups[0].weight #=> Integer
resp.default_action.fixed_response.status_code #=> Integer
resp.created_at #=> Time
resp.last_updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

  • :listener_identifier (required, String)

    The ID or ARN of the listener.

Returns:

See Also:



2422
2423
2424
2425
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2422

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

#get_resource_configuration(params = {}) ⇒ Types::GetResourceConfigurationResponse

Retrieves information about the specified resource configuration.

Examples:

Request syntax with placeholder values


resp = client.get_resource_configuration({
  resource_configuration_identifier: "ResourceConfigurationIdentifier", # required
})

Response structure


resp.id #=> String
resp.name #=> String
resp.arn #=> String
resp.resource_gateway_id #=> String
resp.resource_configuration_group_id #=> String
resp.type #=> String, one of "GROUP", "CHILD", "SINGLE", "ARN"
resp.allow_association_to_shareable_service_network #=> Boolean
resp.port_ranges #=> Array
resp.port_ranges[0] #=> String
resp.protocol #=> String, one of "TCP"
resp.custom_domain_name #=> String
resp.status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "UPDATE_FAILED", "DELETE_FAILED"
resp.resource_configuration_definition.dns_resource.domain_name #=> String
resp.resource_configuration_definition.dns_resource.ip_address_type #=> String, one of "IPV4", "IPV6", "DUALSTACK"
resp.resource_configuration_definition.ip_resource.ip_address #=> String
resp.resource_configuration_definition.arn_resource.arn #=> String
resp.created_at #=> Time
resp.amazon_managed #=> Boolean
resp.failure_reason #=> String
resp.last_updated_at #=> Time
resp.domain_verification_id #=> String
resp.domain_verification_arn #=> String
resp.domain_verification_status #=> String, one of "VERIFIED", "PENDING", "VERIFICATION_TIMED_OUT"
resp.group_domain #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_configuration_identifier (required, String)

    The ID of the resource configuration.

Returns:

See Also:



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

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

#get_resource_gateway(params = {}) ⇒ Types::GetResourceGatewayResponse

Retrieves information about the specified resource gateway.

Examples:

Request syntax with placeholder values


resp = client.get_resource_gateway({
  resource_gateway_identifier: "ResourceGatewayIdentifier", # required
})

Response structure


resp.name #=> String
resp.id #=> String
resp.arn #=> String
resp.status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "UPDATE_FAILED", "DELETE_FAILED"
resp.vpc_id #=> String
resp.subnet_ids #=> Array
resp.subnet_ids[0] #=> String
resp.service_managed #=> Boolean
resp.managed_by #=> String
resp.security_group_ids #=> Array
resp.security_group_ids[0] #=> String
resp.ip_address_type #=> String, one of "IPV4", "IPV6", "DUALSTACK"
resp.ipv4_addresses_per_eni #=> Integer
resp.resource_config_dns_resolution #=> String, one of "IN_VPC", "PUBLIC"
resp.created_at #=> Time
resp.last_updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :resource_gateway_identifier (required, String)

    The ID of the resource gateway.

Returns:

See Also:



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

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

#get_resource_policy(params = {}) ⇒ Types::GetResourcePolicyResponse

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

Examples:

Request syntax with placeholder values


resp = client.get_resource_policy({
  resource_arn: "ResourceArn", # required
})

Response structure


resp.policy #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

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

Returns:

See Also:



2578
2579
2580
2581
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2578

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

#get_rule(params = {}) ⇒ Types::GetRuleResponse

Retrieves information about the specified listener rules. You can also retrieve information about the default listener rule. For more information, see Listener rules in the Amazon VPC Lattice User Guide.

Examples:

Request syntax with placeholder values


resp = client.get_rule({
  service_identifier: "ServiceIdentifier", # required
  listener_identifier: "ListenerIdentifier", # required
  rule_identifier: "RuleIdentifier", # required
})

Response structure


resp.arn #=> String
resp.id #=> String
resp.name #=> String
resp.is_default #=> Boolean
resp.match.http_match.method #=> String
resp.match.http_match.path_match.match.exact #=> String
resp.match.http_match.path_match.match.prefix #=> String
resp.match.http_match.path_match.case_sensitive #=> Boolean
resp.match.http_match.header_matches #=> Array
resp.match.http_match.header_matches[0].name #=> String
resp.match.http_match.header_matches[0].match.exact #=> String
resp.match.http_match.header_matches[0].match.prefix #=> String
resp.match.http_match.header_matches[0].match.contains #=> String
resp.match.http_match.header_matches[0].case_sensitive #=> Boolean
resp.priority #=> Integer
resp.action.forward.target_groups #=> Array
resp.action.forward.target_groups[0].target_group_identifier #=> String
resp.action.forward.target_groups[0].weight #=> Integer
resp.action.fixed_response.status_code #=> Integer
resp.created_at #=> Time
resp.last_updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

  • :listener_identifier (required, String)

    The ID or ARN of the listener.

  • :rule_identifier (required, String)

    The ID or ARN of the listener rule.

Returns:

See Also:



2649
2650
2651
2652
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2649

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

#get_service(params = {}) ⇒ Types::GetServiceResponse

Retrieves information about the specified service.

Examples:

Request syntax with placeholder values


resp = client.get_service({
  service_identifier: "ServiceIdentifier", # required
})

Response structure


resp.id #=> String
resp.name #=> String
resp.arn #=> String
resp.created_at #=> Time
resp.last_updated_at #=> Time
resp.dns_entry.domain_name #=> String
resp.dns_entry.hosted_zone_id #=> String
resp.custom_domain_name #=> String
resp.certificate_arn #=> String
resp.status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
resp.auth_type #=> String, one of "NONE", "AWS_IAM"
resp.idle_timeout_seconds #=> Integer
resp.failure_code #=> String
resp.failure_message #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

Returns:

See Also:



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

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

#get_service_network(params = {}) ⇒ Types::GetServiceNetworkResponse

Retrieves information about the specified service network.

Examples:

Request syntax with placeholder values


resp = client.get_service_network({
  service_network_identifier: "ServiceNetworkIdentifier", # required
})

Response structure


resp.id #=> String
resp.name #=> String
resp.created_at #=> Time
resp.last_updated_at #=> Time
resp.arn #=> String
resp.auth_type #=> String, one of "NONE", "AWS_IAM"
resp.sharing_config.enabled #=> Boolean
resp.number_of_associated_vp_cs #=> Integer
resp.number_of_associated_services #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_identifier (required, String)

    The ID or ARN of the service network.

Returns:

See Also:



2746
2747
2748
2749
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2746

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

#get_service_network_resource_association(params = {}) ⇒ Types::GetServiceNetworkResourceAssociationResponse

Retrieves information about the specified association between a service network and a resource configuration.

Examples:

Request syntax with placeholder values


resp = client.get_service_network_resource_association({
  service_network_resource_association_identifier: "ServiceNetworkResourceAssociationIdentifier", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "PARTIAL", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
resp.created_by #=> String
resp.created_at #=> Time
resp.resource_configuration_id #=> String
resp.resource_configuration_arn #=> String
resp.resource_configuration_name #=> String
resp.service_network_id #=> String
resp.service_network_arn #=> String
resp.service_network_name #=> String
resp.failure_reason #=> String
resp.failure_code #=> String
resp.last_updated_at #=> Time
resp.private_dns_entry.domain_name #=> String
resp.private_dns_entry.hosted_zone_id #=> String
resp.private_dns_enabled #=> Boolean
resp.dns_entry.domain_name #=> String
resp.dns_entry.hosted_zone_id #=> String
resp.is_managed_association #=> Boolean
resp.domain_verification_status #=> String, one of "VERIFIED", "PENDING", "VERIFICATION_TIMED_OUT"

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_resource_association_identifier (required, String)

    The ID of the association.

Returns:

See Also:



2813
2814
2815
2816
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2813

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

#get_service_network_service_association(params = {}) ⇒ Types::GetServiceNetworkServiceAssociationResponse

Retrieves information about the specified association between a service network and a service.

Examples:

Request syntax with placeholder values


resp = client.get_service_network_service_association({
  service_network_service_association_identifier: "ServiceNetworkServiceAssociationIdentifier", # required
})

Response structure


resp.id #=> String
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
resp.arn #=> String
resp.created_by #=> String
resp.created_at #=> Time
resp.service_id #=> String
resp.service_name #=> String
resp.service_arn #=> String
resp.service_network_id #=> String
resp.service_network_name #=> String
resp.service_network_arn #=> String
resp.dns_entry.domain_name #=> String
resp.dns_entry.hosted_zone_id #=> String
resp.custom_domain_name #=> String
resp.failure_message #=> String
resp.failure_code #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_service_association_identifier (required, String)

    The ID or ARN of the association.

Returns:

See Also:



2871
2872
2873
2874
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2871

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

#get_service_network_vpc_association(params = {}) ⇒ Types::GetServiceNetworkVpcAssociationResponse

Retrieves information about the specified association between a service network and a VPC.

Examples:

Request syntax with placeholder values


resp = client.get_service_network_vpc_association({
  service_network_vpc_association_identifier: "ServiceNetworkVpcAssociationIdentifier", # required
})

Response structure


resp.id #=> String
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED"
resp.arn #=> String
resp.created_by #=> String
resp.created_at #=> Time
resp.service_network_id #=> String
resp.service_network_name #=> String
resp.service_network_arn #=> String
resp.vpc_id #=> String
resp.security_group_ids #=> Array
resp.security_group_ids[0] #=> String
resp.private_dns_enabled #=> Boolean
resp.failure_message #=> String
resp.failure_code #=> String
resp.last_updated_at #=> Time
resp.dns_options.private_dns_preference #=> String, one of "VERIFIED_DOMAINS_ONLY", "ALL_DOMAINS", "VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS", "SPECIFIED_DOMAINS_ONLY"
resp.dns_options.private_dns_specified_domains #=> Array
resp.dns_options.private_dns_specified_domains[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_vpc_association_identifier (required, String)

    The ID or ARN of the association.

Returns:

See Also:



2931
2932
2933
2934
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2931

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

#get_target_group(params = {}) ⇒ Types::GetTargetGroupResponse

Retrieves information about the specified target group.

Examples:

Request syntax with placeholder values


resp = client.get_target_group({
  target_group_identifier: "TargetGroupIdentifier", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.name #=> String
resp.type #=> String, one of "IP", "LAMBDA", "INSTANCE", "ALB"
resp.config.port #=> Integer
resp.config.protocol #=> String, one of "HTTP", "HTTPS", "TCP"
resp.config.protocol_version #=> String, one of "HTTP1", "HTTP2", "GRPC"
resp.config.ip_address_type #=> String, one of "IPV4", "IPV6"
resp.config.vpc_identifier #=> String
resp.config.health_check.enabled #=> Boolean
resp.config.health_check.protocol #=> String, one of "HTTP", "HTTPS", "TCP"
resp.config.health_check.protocol_version #=> String, one of "HTTP1", "HTTP2"
resp.config.health_check.port #=> Integer
resp.config.health_check.path #=> String
resp.config.health_check.health_check_interval_seconds #=> Integer
resp.config.health_check.health_check_timeout_seconds #=> Integer
resp.config.health_check.healthy_threshold_count #=> Integer
resp.config.health_check.unhealthy_threshold_count #=> Integer
resp.config.health_check.matcher.http_code #=> String
resp.config.lambda_event_structure_version #=> String, one of "V1", "V2"
resp.created_at #=> Time
resp.last_updated_at #=> Time
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
resp.service_arns #=> Array
resp.service_arns[0] #=> String
resp.failure_message #=> String
resp.failure_code #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :target_group_identifier (required, String)

    The ID or ARN of the target group.

Returns:

See Also:



2995
2996
2997
2998
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 2995

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

#list_access_log_subscriptions(params = {}) ⇒ Types::ListAccessLogSubscriptionsResponse

Lists the access log subscriptions for the specified service network or service.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_access_log_subscriptions({
  resource_identifier: "ResourceIdentifier", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.items #=> Array
resp.items[0].id #=> String
resp.items[0].arn #=> String
resp.items[0].resource_id #=> String
resp.items[0].resource_arn #=> String
resp.items[0].destination_arn #=> String
resp.items[0].service_network_log_type #=> String, one of "SERVICE", "RESOURCE"
resp.items[0].created_at #=> Time
resp.items[0].last_updated_at #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_identifier (required, String)

    The ID or ARN of the service network or service.

  • :max_results (Integer)

    The maximum number of results to return.

  • :next_token (String)

    A pagination token for the next page of results.

Returns:

See Also:



3044
3045
3046
3047
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3044

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

#list_domain_verifications(params = {}) ⇒ Types::ListDomainVerificationsResponse

Lists the domain verifications.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_domain_verifications({
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.items #=> Array
resp.items[0].id #=> String
resp.items[0].arn #=> String
resp.items[0].domain_name #=> String
resp.items[0].status #=> String, one of "VERIFIED", "PENDING", "VERIFICATION_TIMED_OUT"
resp.items[0].txt_method_config.value #=> String
resp.items[0].txt_method_config.name #=> String
resp.items[0].created_at #=> Time
resp.items[0].last_verified_time #=> Time
resp.items[0].tags #=> Hash
resp.items[0].tags["TagKey"] #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to return.

  • :next_token (String)

    A pagination token for the next page of results.

Returns:

See Also:



3090
3091
3092
3093
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3090

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

#list_listeners(params = {}) ⇒ Types::ListListenersResponse

Lists the listeners for the specified service.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_listeners({
  service_identifier: "ServiceIdentifier", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.items #=> Array
resp.items[0].arn #=> String
resp.items[0].id #=> String
resp.items[0].name #=> String
resp.items[0].protocol #=> String, one of "HTTP", "HTTPS", "TLS_PASSTHROUGH"
resp.items[0].port #=> Integer
resp.items[0].created_at #=> Time
resp.items[0].last_updated_at #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

  • :max_results (Integer)

    The maximum number of results to return.

  • :next_token (String)

    A pagination token for the next page of results.

Returns:

See Also:



3137
3138
3139
3140
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3137

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

#list_resource_configurations(params = {}) ⇒ Types::ListResourceConfigurationsResponse

Lists the resource configurations owned by or shared with this 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.list_resource_configurations({
  resource_gateway_identifier: "ResourceGatewayIdentifier",
  resource_configuration_group_identifier: "ResourceConfigurationIdentifier",
  domain_verification_identifier: "DomainVerificationIdentifier",
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.items #=> Array
resp.items[0].id #=> String
resp.items[0].name #=> String
resp.items[0].arn #=> String
resp.items[0].resource_gateway_id #=> String
resp.items[0].resource_configuration_group_id #=> String
resp.items[0].type #=> String, one of "GROUP", "CHILD", "SINGLE", "ARN"
resp.items[0].status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "UPDATE_FAILED", "DELETE_FAILED"
resp.items[0].amazon_managed #=> Boolean
resp.items[0].created_at #=> Time
resp.items[0].last_updated_at #=> Time
resp.items[0].custom_domain_name #=> String
resp.items[0].domain_verification_id #=> String
resp.items[0].group_domain #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_gateway_identifier (String)

    The ID of the resource gateway for the resource configuration.

  • :resource_configuration_group_identifier (String)

    The ID of the resource configuration of type Group.

  • :domain_verification_identifier (String)

    The domain verification ID.

  • :max_results (Integer)

    The maximum page size.

  • :next_token (String)

    A pagination token for the next page of results.

Returns:

See Also:



3199
3200
3201
3202
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3199

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

#list_resource_endpoint_associations(params = {}) ⇒ Types::ListResourceEndpointAssociationsResponse

Lists the associations for the specified VPC 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.list_resource_endpoint_associations({
  resource_configuration_identifier: "ResourceConfigurationIdentifier", # required
  resource_endpoint_association_identifier: "ResourceEndpointAssociationIdentifier",
  vpc_endpoint_id: "VpcEndpointId",
  vpc_endpoint_owner: "VpcEndpointOwner",
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.items #=> Array
resp.items[0].id #=> String
resp.items[0].arn #=> String
resp.items[0].resource_configuration_id #=> String
resp.items[0].resource_configuration_arn #=> String
resp.items[0].resource_configuration_name #=> String
resp.items[0].vpc_endpoint_id #=> String
resp.items[0].vpc_endpoint_owner #=> String
resp.items[0].created_by #=> String
resp.items[0].created_at #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_configuration_identifier (required, String)

    The ID for the resource configuration associated with the VPC endpoint.

  • :resource_endpoint_association_identifier (String)

    The ID of the association.

  • :vpc_endpoint_id (String)

    The ID of the VPC endpoint in the association.

  • :vpc_endpoint_owner (String)

    The owner of the VPC endpoint in the association.

  • :max_results (Integer)

    The maximum page size.

  • :next_token (String)

    A pagination token for the next page of results.

Returns:

See Also:



3261
3262
3263
3264
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3261

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

#list_resource_gateways(params = {}) ⇒ Types::ListResourceGatewaysResponse

Lists the resource gateways that you own or that were shared with you.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_resource_gateways({
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.items #=> Array
resp.items[0].name #=> String
resp.items[0].id #=> String
resp.items[0].arn #=> String
resp.items[0].status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "UPDATE_FAILED", "DELETE_FAILED"
resp.items[0].vpc_identifier #=> String
resp.items[0].subnet_ids #=> Array
resp.items[0].subnet_ids[0] #=> String
resp.items[0].security_group_ids #=> Array
resp.items[0].security_group_ids[0] #=> String
resp.items[0].ip_address_type #=> String, one of "IPV4", "IPV6", "DUALSTACK"
resp.items[0].ipv4_addresses_per_eni #=> Integer
resp.items[0].resource_config_dns_resolution #=> String, one of "IN_VPC", "PUBLIC"
resp.items[0].created_at #=> Time
resp.items[0].last_updated_at #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum page size.

  • :next_token (String)

    If there are additional results, a pagination token for the next page of results.

Returns:

See Also:



3312
3313
3314
3315
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3312

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

#list_rules(params = {}) ⇒ Types::ListRulesResponse

Lists the rules for the specified listener.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_rules({
  service_identifier: "ServiceIdentifier", # required
  listener_identifier: "ListenerIdentifier", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.items #=> Array
resp.items[0].arn #=> String
resp.items[0].id #=> String
resp.items[0].name #=> String
resp.items[0].is_default #=> Boolean
resp.items[0].priority #=> Integer
resp.items[0].created_at #=> Time
resp.items[0].last_updated_at #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

  • :listener_identifier (required, String)

    The ID or ARN of the listener.

  • :max_results (Integer)

    The maximum number of results to return.

  • :next_token (String)

    A pagination token for the next page of results.

Returns:

See Also:



3363
3364
3365
3366
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3363

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

#list_service_network_resource_associations(params = {}) ⇒ Types::ListServiceNetworkResourceAssociationsResponse

Lists the associations between a service network and a resource configuration.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_service_network_resource_associations({
  service_network_identifier: "ServiceNetworkIdentifier",
  resource_configuration_identifier: "ResourceConfigurationIdentifier",
  max_results: 1,
  next_token: "NextToken",
  include_children: false,
})

Response structure


resp.items #=> Array
resp.items[0].id #=> String
resp.items[0].arn #=> String
resp.items[0].status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "PARTIAL", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
resp.items[0].created_by #=> String
resp.items[0].created_at #=> Time
resp.items[0].resource_configuration_id #=> String
resp.items[0].resource_configuration_arn #=> String
resp.items[0].resource_configuration_name #=> String
resp.items[0].service_network_id #=> String
resp.items[0].service_network_arn #=> String
resp.items[0].service_network_name #=> String
resp.items[0].dns_entry.domain_name #=> String
resp.items[0].dns_entry.hosted_zone_id #=> String
resp.items[0].private_dns_entry.domain_name #=> String
resp.items[0].private_dns_entry.hosted_zone_id #=> String
resp.items[0].is_managed_association #=> Boolean
resp.items[0].failure_code #=> String
resp.items[0].private_dns_enabled #=> Boolean
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_identifier (String)

    The ID of the service network.

  • :resource_configuration_identifier (String)

    The ID of the resource configuration.

  • :max_results (Integer)

    The maximum page size.

  • :next_token (String)

    If there are additional results, a pagination token for the next page of results.

  • :include_children (Boolean)

    Include service network resource associations of the child resource configuration with the grouped resource configuration.

    The type is boolean and the default value is false.

Returns:

See Also:



3434
3435
3436
3437
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3434

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

#list_service_network_service_associations(params = {}) ⇒ Types::ListServiceNetworkServiceAssociationsResponse

Lists the associations between a service network and a service. You can filter the list either by service or service network. You must provide either the service network identifier or the service identifier.

Every association in Amazon VPC Lattice has a unique Amazon Resource Name (ARN), such as when a service network is associated with a VPC or when a service is associated with a service network. If the association is for a resource is shared with another account, the association includes the local account ID as the prefix in the ARN.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_service_network_service_associations({
  service_network_identifier: "ServiceNetworkIdentifier",
  service_identifier: "ServiceIdentifier",
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.items #=> Array
resp.items[0].id #=> String
resp.items[0].status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
resp.items[0].arn #=> String
resp.items[0].created_by #=> String
resp.items[0].created_at #=> Time
resp.items[0].service_id #=> String
resp.items[0].service_name #=> String
resp.items[0].service_arn #=> String
resp.items[0].service_network_id #=> String
resp.items[0].service_network_name #=> String
resp.items[0].service_network_arn #=> String
resp.items[0].dns_entry.domain_name #=> String
resp.items[0].dns_entry.hosted_zone_id #=> String
resp.items[0].custom_domain_name #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_identifier (String)

    The ID or ARN of the service network.

  • :service_identifier (String)

    The ID or ARN of the service.

  • :max_results (Integer)

    The maximum number of results to return.

  • :next_token (String)

    A pagination token for the next page of results.

Returns:

See Also:



3501
3502
3503
3504
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3501

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

#list_service_network_vpc_associations(params = {}) ⇒ Types::ListServiceNetworkVpcAssociationsResponse

Lists the associations between a service network and a VPC. You can filter the list either by VPC or service network. You must provide either the ID of the service network identifier or the ID of the VPC.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_service_network_vpc_associations({
  service_network_identifier: "ServiceNetworkIdentifier",
  vpc_identifier: "VpcId",
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.items #=> Array
resp.items[0].id #=> String
resp.items[0].arn #=> String
resp.items[0].status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED"
resp.items[0].created_by #=> String
resp.items[0].created_at #=> Time
resp.items[0].service_network_id #=> String
resp.items[0].service_network_name #=> String
resp.items[0].service_network_arn #=> String
resp.items[0].private_dns_enabled #=> Boolean
resp.items[0].dns_options.private_dns_preference #=> String, one of "VERIFIED_DOMAINS_ONLY", "ALL_DOMAINS", "VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS", "SPECIFIED_DOMAINS_ONLY"
resp.items[0].dns_options.private_dns_specified_domains #=> Array
resp.items[0].dns_options.private_dns_specified_domains[0] #=> String
resp.items[0].vpc_id #=> String
resp.items[0].last_updated_at #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_identifier (String)

    The ID or ARN of the service network.

  • :vpc_identifier (String)

    The ID or ARN of the VPC.

  • :max_results (Integer)

    The maximum number of results to return.

  • :next_token (String)

    A pagination token for the next page of results.

Returns:

See Also:



3561
3562
3563
3564
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3561

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

#list_service_network_vpc_endpoint_associations(params = {}) ⇒ Types::ListServiceNetworkVpcEndpointAssociationsResponse

Lists the associations between a service network and a VPC 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.list_service_network_vpc_endpoint_associations({
  service_network_identifier: "ServiceNetworkIdentifier", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.items #=> Array
resp.items[0].vpc_endpoint_id #=> String
resp.items[0].vpc_id #=> String
resp.items[0].vpc_endpoint_owner_id #=> String
resp.items[0].id #=> String
resp.items[0].state #=> String
resp.items[0].service_network_arn #=> String
resp.items[0].created_at #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_identifier (required, String)

    The ID of the service network associated with the VPC endpoint.

  • :max_results (Integer)

    The maximum page size.

  • :next_token (String)

    If there are additional results, a pagination token for the next page of results.

Returns:

See Also:



3609
3610
3611
3612
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3609

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

#list_service_networks(params = {}) ⇒ Types::ListServiceNetworksResponse

Lists the service networks owned by or shared with this account. The account ID in the ARN shows which account owns the service network.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_service_networks({
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.items #=> Array
resp.items[0].id #=> String
resp.items[0].name #=> String
resp.items[0].arn #=> String
resp.items[0].created_at #=> Time
resp.items[0].last_updated_at #=> Time
resp.items[0].number_of_associated_vp_cs #=> Integer
resp.items[0].number_of_associated_services #=> Integer
resp.items[0].number_of_associated_resource_configurations #=> Integer
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to return.

  • :next_token (String)

    A pagination token for the next page of results.

Returns:

See Also:



3654
3655
3656
3657
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3654

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

#list_services(params = {}) ⇒ Types::ListServicesResponse

Lists the services owned by the caller account or shared with the caller 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.list_services({
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.items #=> Array
resp.items[0].id #=> String
resp.items[0].name #=> String
resp.items[0].arn #=> String
resp.items[0].created_at #=> Time
resp.items[0].last_updated_at #=> Time
resp.items[0].dns_entry.domain_name #=> String
resp.items[0].dns_entry.hosted_zone_id #=> String
resp.items[0].custom_domain_name #=> String
resp.items[0].status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to return.

  • :next_token (String)

    A pagination token for the next page of results.

Returns:

See Also:



3700
3701
3702
3703
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3700

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

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse

Lists the tags for the specified resource.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "Arn", # required
})

Response structure


resp.tags #=> Hash
resp.tags["TagKey"] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource.

Returns:

See Also:



3729
3730
3731
3732
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3729

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

#list_target_groups(params = {}) ⇒ Types::ListTargetGroupsResponse

Lists your target groups. You can narrow your search by using the filters below in your request.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_target_groups({
  max_results: 1,
  next_token: "NextToken",
  vpc_identifier: "VpcId",
  target_group_type: "IP", # accepts IP, LAMBDA, INSTANCE, ALB
})

Response structure


resp.items #=> Array
resp.items[0].id #=> String
resp.items[0].arn #=> String
resp.items[0].name #=> String
resp.items[0].type #=> String, one of "IP", "LAMBDA", "INSTANCE", "ALB"
resp.items[0].created_at #=> Time
resp.items[0].port #=> Integer
resp.items[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP"
resp.items[0].ip_address_type #=> String, one of "IPV4", "IPV6"
resp.items[0].vpc_identifier #=> String
resp.items[0].last_updated_at #=> Time
resp.items[0].status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
resp.items[0].service_arns #=> Array
resp.items[0].service_arns[0] #=> String
resp.items[0].lambda_event_structure_version #=> String, one of "V1", "V2"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to return.

  • :next_token (String)

    A pagination token for the next page of results.

  • :vpc_identifier (String)

    The ID or ARN of the VPC.

  • :target_group_type (String)

    The target group type.

Returns:

See Also:



3788
3789
3790
3791
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3788

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

#list_targets(params = {}) ⇒ Types::ListTargetsResponse

Lists the targets for the target group. By default, all targets are included. You can use this API to check the health status of targets. You can also filter the results by target.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_targets({
  target_group_identifier: "TargetGroupIdentifier", # required
  max_results: 1,
  next_token: "NextToken",
  targets: [
    {
      id: "TargetIdString", # required
      port: 1,
    },
  ],
})

Response structure


resp.items #=> Array
resp.items[0].id #=> String
resp.items[0].port #=> Integer
resp.items[0].status #=> String, one of "DRAINING", "UNAVAILABLE", "HEALTHY", "UNHEALTHY", "INITIAL", "UNUSED"
resp.items[0].reason_code #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :target_group_identifier (required, String)

    The ID or ARN of the target group.

  • :max_results (Integer)

    The maximum number of results to return.

  • :next_token (String)

    A pagination token for the next page of results.

  • :targets (Array<Types::Target>)

    The targets.

Returns:

See Also:



3843
3844
3845
3846
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3843

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

#put_auth_policy(params = {}) ⇒ Types::PutAuthPolicyResponse

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

For more information, see Auth policies in the Amazon VPC Lattice User Guide.

Examples:

Request syntax with placeholder values


resp = client.put_auth_policy({
  resource_identifier: "ResourceIdentifier", # required
  policy: "AuthPolicyString", # required
})

Response structure


resp.policy #=> String
resp.state #=> String, one of "Active", "Inactive"

Parameters:

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

    ({})

Options Hash (params):

  • :resource_identifier (required, String)

    The ID or ARN of the service network or service for which the policy is created.

  • :policy (required, String)

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

Returns:

See Also:



3887
3888
3889
3890
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3887

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

#put_resource_policy(params = {}) ⇒ Struct

Attaches a resource-based permission policy to a service or service network. The policy must contain the same actions and condition statements as the Amazon Web Services Resource Access Manager permission for sharing services and service networks.

Examples:

Request syntax with placeholder values


resp = client.put_resource_policy({
  resource_arn: "ResourceArn", # required
  policy: "PolicyString", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The ID or ARN of the service network or service for which the policy is created.

  • :policy (required, String)

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

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3918
3919
3920
3921
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3918

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

#register_targets(params = {}) ⇒ Types::RegisterTargetsResponse

Registers the targets with the target group. If it's a Lambda target, you can only have one target in a target group.

Examples:

Request syntax with placeholder values


resp = client.register_targets({
  target_group_identifier: "TargetGroupIdentifier", # required
  targets: [ # required
    {
      id: "TargetIdString", # required
      port: 1,
    },
  ],
})

Response structure


resp.successful #=> Array
resp.successful[0].id #=> String
resp.successful[0].port #=> Integer
resp.unsuccessful #=> Array
resp.unsuccessful[0].id #=> String
resp.unsuccessful[0].port #=> Integer
resp.unsuccessful[0].failure_code #=> String
resp.unsuccessful[0].failure_message #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :target_group_identifier (required, String)

    The ID or ARN of the target group.

  • :targets (required, Array<Types::Target>)

    The targets.

Returns:

See Also:



3964
3965
3966
3967
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 3964

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

#start_domain_verification(params = {}) ⇒ Types::StartDomainVerificationResponse

Starts the domain verification process for a custom domain name.

Examples:

Request syntax with placeholder values


resp = client.start_domain_verification({
  client_token: "ClientToken",
  domain_name: "DomainName", # required
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.domain_name #=> String
resp.status #=> String, one of "VERIFIED", "PENDING", "VERIFICATION_TIMED_OUT"
resp.txt_method_config.value #=> String
resp.txt_method_config.name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

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

  • :domain_name (required, String)

    The domain name to verify ownership for.

  • :tags (Hash<String,String>)

    The tags for the domain verification.

Returns:

See Also:



4018
4019
4020
4021
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 4018

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

#tag_resource(params = {}) ⇒ Struct

Adds the specified tags to the specified resource.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "Arn", # required
  tags: { # required
    "TagKey" => "TagValue",
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource.

  • :tags (required, Hash<String,String>)

    The tags for the resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4046
4047
4048
4049
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 4046

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

#untag_resource(params = {}) ⇒ Struct

Removes the specified tags from the specified resource.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "Arn", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource.

  • :tag_keys (required, Array<String>)

    The tag keys of the tags to remove.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4072
4073
4074
4075
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 4072

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

#update_access_log_subscription(params = {}) ⇒ Types::UpdateAccessLogSubscriptionResponse

Updates the specified access log subscription.

Examples:

Request syntax with placeholder values


resp = client.update_access_log_subscription({
  access_log_subscription_identifier: "AccessLogSubscriptionIdentifier", # required
  destination_arn: "AccessLogDestinationArn", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.resource_id #=> String
resp.resource_arn #=> String
resp.destination_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :access_log_subscription_identifier (required, String)

    The ID or ARN of the access log subscription.

  • :destination_arn (required, String)

    The Amazon Resource Name (ARN) of the access log destination.

Returns:

See Also:



4112
4113
4114
4115
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 4112

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

#update_listener(params = {}) ⇒ Types::UpdateListenerResponse

Updates the specified listener for the specified service.

Examples:

Request syntax with placeholder values


resp = client.update_listener({
  service_identifier: "ServiceIdentifier", # required
  listener_identifier: "ListenerIdentifier", # required
  default_action: { # required
    forward: {
      target_groups: [ # required
        {
          target_group_identifier: "TargetGroupIdentifier", # required
          weight: 1,
        },
      ],
    },
    fixed_response: {
      status_code: 1, # required
    },
  },
})

Response structure


resp.arn #=> String
resp.id #=> String
resp.name #=> String
resp.protocol #=> String, one of "HTTP", "HTTPS", "TLS_PASSTHROUGH"
resp.port #=> Integer
resp.service_arn #=> String
resp.service_id #=> String
resp.default_action.forward.target_groups #=> Array
resp.default_action.forward.target_groups[0].target_group_identifier #=> String
resp.default_action.forward.target_groups[0].weight #=> Integer
resp.default_action.fixed_response.status_code #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

  • :listener_identifier (required, String)

    The ID or ARN of the listener.

  • :default_action (required, Types::RuleAction)

    The action for the default rule.

Returns:

See Also:



4177
4178
4179
4180
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 4177

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

#update_resource_configuration(params = {}) ⇒ Types::UpdateResourceConfigurationResponse

Updates the specified resource configuration.

Examples:

Request syntax with placeholder values


resp = client.update_resource_configuration({
  resource_configuration_identifier: "ResourceConfigurationIdentifier", # required
  resource_configuration_definition: {
    dns_resource: {
      domain_name: "DomainName",
      ip_address_type: "IPV4", # accepts IPV4, IPV6, DUALSTACK
    },
    ip_resource: {
      ip_address: "IpAddress",
    },
    arn_resource: {
      arn: "WildcardArn",
    },
  },
  allow_association_to_shareable_service_network: false,
  port_ranges: ["PortRange"],
})

Response structure


resp.id #=> String
resp.name #=> String
resp.arn #=> String
resp.resource_gateway_id #=> String
resp.resource_configuration_group_id #=> String
resp.type #=> String, one of "GROUP", "CHILD", "SINGLE", "ARN"
resp.port_ranges #=> Array
resp.port_ranges[0] #=> String
resp.allow_association_to_shareable_service_network #=> Boolean
resp.protocol #=> String, one of "TCP"
resp.status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "UPDATE_FAILED", "DELETE_FAILED"
resp.resource_configuration_definition.dns_resource.domain_name #=> String
resp.resource_configuration_definition.dns_resource.ip_address_type #=> String, one of "IPV4", "IPV6", "DUALSTACK"
resp.resource_configuration_definition.ip_resource.ip_address #=> String
resp.resource_configuration_definition.arn_resource.arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_configuration_identifier (required, String)

    The ID of the resource configuration.

  • :resource_configuration_definition (Types::ResourceConfigurationDefinition)

    Identifies the resource configuration in one of the following ways:

    • Amazon Resource Name (ARN) - Supported resource-types that are provisioned by Amazon Web Services services, such as RDS databases, can be identified by their ARN.

    • Domain name - Any domain name that is publicly resolvable.

    • IP address - For IPv4 and IPv6, only IP addresses in the VPC are supported.

  • :allow_association_to_shareable_service_network (Boolean)

    Indicates whether to add the resource configuration to service networks that are shared with other accounts.

  • :port_ranges (Array<String>)

    The TCP port ranges that a consumer can use to access a resource configuration. You can separate port ranges with a comma. Example: 1-65535 or 1,2,22-30

Returns:

See Also:



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

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

#update_resource_gateway(params = {}) ⇒ Types::UpdateResourceGatewayResponse

Updates the specified resource gateway.

Examples:

Request syntax with placeholder values


resp = client.update_resource_gateway({
  resource_gateway_identifier: "ResourceGatewayIdentifier", # required
  security_group_ids: ["SecurityGroupId"],
})

Response structure


resp.name #=> String
resp.id #=> String
resp.arn #=> String
resp.status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "UPDATE_FAILED", "DELETE_FAILED"
resp.vpc_id #=> String
resp.subnet_ids #=> Array
resp.subnet_ids[0] #=> String
resp.security_group_ids #=> Array
resp.security_group_ids[0] #=> String
resp.ip_address_type #=> String, one of "IPV4", "IPV6"

Parameters:

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

    ({})

Options Hash (params):

  • :resource_gateway_identifier (required, String)

    The ID or ARN of the resource gateway.

  • :security_group_ids (Array<String>)

    The IDs of the security groups associated with the resource gateway.

Returns:

See Also:



4312
4313
4314
4315
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 4312

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

#update_rule(params = {}) ⇒ Types::UpdateRuleResponse

Updates a specified rule for the listener. You can't modify a default listener rule. To modify a default listener rule, use UpdateListener.

Examples:

Request syntax with placeholder values


resp = client.update_rule({
  service_identifier: "ServiceIdentifier", # required
  listener_identifier: "ListenerIdentifier", # required
  rule_identifier: "RuleIdentifier", # required
  match: {
    http_match: {
      method: "HttpMethod",
      path_match: {
        match: { # required
          exact: "PathMatchExact",
          prefix: "PathMatchPrefix",
        },
        case_sensitive: false,
      },
      header_matches: [
        {
          name: "HeaderMatchName", # required
          match: { # required
            exact: "HeaderMatchExact",
            prefix: "HeaderMatchPrefix",
            contains: "HeaderMatchContains",
          },
          case_sensitive: false,
        },
      ],
    },
  },
  priority: 1,
  action: {
    forward: {
      target_groups: [ # required
        {
          target_group_identifier: "TargetGroupIdentifier", # required
          weight: 1,
        },
      ],
    },
    fixed_response: {
      status_code: 1, # required
    },
  },
})

Response structure


resp.arn #=> String
resp.id #=> String
resp.name #=> String
resp.is_default #=> Boolean
resp.match.http_match.method #=> String
resp.match.http_match.path_match.match.exact #=> String
resp.match.http_match.path_match.match.prefix #=> String
resp.match.http_match.path_match.case_sensitive #=> Boolean
resp.match.http_match.header_matches #=> Array
resp.match.http_match.header_matches[0].name #=> String
resp.match.http_match.header_matches[0].match.exact #=> String
resp.match.http_match.header_matches[0].match.prefix #=> String
resp.match.http_match.header_matches[0].match.contains #=> String
resp.match.http_match.header_matches[0].case_sensitive #=> Boolean
resp.priority #=> Integer
resp.action.forward.target_groups #=> Array
resp.action.forward.target_groups[0].target_group_identifier #=> String
resp.action.forward.target_groups[0].weight #=> Integer
resp.action.fixed_response.status_code #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

  • :listener_identifier (required, String)

    The ID or ARN of the listener.

  • :rule_identifier (required, String)

    The ID or ARN of the rule.

  • :match (Types::RuleMatch)

    The rule match.

  • :priority (Integer)

    The rule priority. A listener can't have multiple rules with the same priority.

  • :action (Types::RuleAction)

    Information about the action for the specified listener rule.

Returns:

See Also:



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

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

#update_service(params = {}) ⇒ Types::UpdateServiceResponse

Updates the specified service.

Examples:

Request syntax with placeholder values


resp = client.update_service({
  service_identifier: "ServiceIdentifier", # required
  certificate_arn: "CertificateArn",
  auth_type: "NONE", # accepts NONE, AWS_IAM
  idle_timeout_seconds: 1,
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.name #=> String
resp.custom_domain_name #=> String
resp.certificate_arn #=> String
resp.auth_type #=> String, one of "NONE", "AWS_IAM"
resp.idle_timeout_seconds #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :service_identifier (required, String)

    The ID or ARN of the service.

  • :certificate_arn (String)

    The Amazon Resource Name (ARN) of the certificate.

  • :auth_type (String)

    The type of IAM policy.

    • NONE: The resource does not use an IAM policy. This is the default.

    • AWS_IAM: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.

  • :idle_timeout_seconds (Integer)

    The amount of time, in seconds, that a connection can remain idle (no data sent) before VPC Lattice closes it. The valid range is 60 to 600 seconds. If you don't specify a value, the default is 60 seconds. This setting does not change the maximum connection duration of 10 minutes; connections are still closed when they reach that limit.

Returns:

See Also:



4483
4484
4485
4486
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 4483

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

#update_service_network(params = {}) ⇒ Types::UpdateServiceNetworkResponse

Updates the specified service network.

Examples:

Request syntax with placeholder values


resp = client.update_service_network({
  service_network_identifier: "ServiceNetworkIdentifier", # required
  auth_type: "NONE", # required, accepts NONE, AWS_IAM
})

Response structure


resp.id #=> String
resp.name #=> String
resp.arn #=> String
resp.auth_type #=> String, one of "NONE", "AWS_IAM"

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_identifier (required, String)

    The ID or ARN of the service network.

  • :auth_type (required, String)

    The type of IAM policy.

    • NONE: The resource does not use an IAM policy. This is the default.

    • AWS_IAM: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.

Returns:

See Also:



4527
4528
4529
4530
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 4527

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

#update_service_network_vpc_association(params = {}) ⇒ Types::UpdateServiceNetworkVpcAssociationResponse

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

Examples:

Request syntax with placeholder values


resp = client.update_service_network_vpc_association({
  service_network_vpc_association_identifier: "ServiceNetworkVpcAssociationIdentifier", # required
  security_group_ids: ["SecurityGroupId"], # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED"
resp.created_by #=> String
resp.security_group_ids #=> Array
resp.security_group_ids[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :service_network_vpc_association_identifier (required, String)

    The ID or ARN of the association.

  • :security_group_ids (required, Array<String>)

    The IDs of the security groups.

Returns:

See Also:



4573
4574
4575
4576
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 4573

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

#update_target_group(params = {}) ⇒ Types::UpdateTargetGroupResponse

Updates the specified target group.

Examples:

Request syntax with placeholder values


resp = client.update_target_group({
  target_group_identifier: "TargetGroupIdentifier", # required
  health_check: { # required
    enabled: false,
    protocol: "HTTP", # accepts HTTP, HTTPS, TCP
    protocol_version: "HTTP1", # accepts HTTP1, HTTP2
    port: 1,
    path: "HealthCheckPath",
    health_check_interval_seconds: 1,
    health_check_timeout_seconds: 1,
    healthy_threshold_count: 1,
    unhealthy_threshold_count: 1,
    matcher: {
      http_code: "HttpCodeMatcher",
    },
  },
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.name #=> String
resp.type #=> String, one of "IP", "LAMBDA", "INSTANCE", "ALB"
resp.config.port #=> Integer
resp.config.protocol #=> String, one of "HTTP", "HTTPS", "TCP"
resp.config.protocol_version #=> String, one of "HTTP1", "HTTP2", "GRPC"
resp.config.ip_address_type #=> String, one of "IPV4", "IPV6"
resp.config.vpc_identifier #=> String
resp.config.health_check.enabled #=> Boolean
resp.config.health_check.protocol #=> String, one of "HTTP", "HTTPS", "TCP"
resp.config.health_check.protocol_version #=> String, one of "HTTP1", "HTTP2"
resp.config.health_check.port #=> Integer
resp.config.health_check.path #=> String
resp.config.health_check.health_check_interval_seconds #=> Integer
resp.config.health_check.health_check_timeout_seconds #=> Integer
resp.config.health_check.healthy_threshold_count #=> Integer
resp.config.health_check.unhealthy_threshold_count #=> Integer
resp.config.health_check.matcher.http_code #=> String
resp.config.lambda_event_structure_version #=> String, one of "V1", "V2"
resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"

Parameters:

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

    ({})

Options Hash (params):

  • :target_group_identifier (required, String)

    The ID or ARN of the target group.

  • :health_check (required, Types::HealthCheckConfig)

    The health check configuration.

Returns:

See Also:



4643
4644
4645
4646
# File 'gems/aws-sdk-vpclattice/lib/aws-sdk-vpclattice/client.rb', line 4643

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