Class: Aws::VPCLattice::Client

Inherits:
Seahorse::Client::Base
  • Object
show all
Includes:
ClientStubs
Defined in:
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](/sdk-for-ruby/v3/developer-guide/setup-config.html).

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

Class Attribute Summary collapse

API Operations collapse

Class Method Summary collapse

Instance Method Summary collapse

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`

    • The ‘:access_key_id`, `:secret_access_key`, `:session_token`, and `:account_id` options.

    • ENV`, `ENV`, `ENV`, and `ENV`.

    • ‘~/.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` 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:

  • :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` 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 www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

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

  • :retry_max_delay (Integer) — default: 0

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

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

    Specifies which retry algorithm to use. Values are:

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

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

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

  • :sdk_ua_app_id (String)

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

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

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

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



473
474
475
# File 'lib/aws-sdk-vpclattice/client.rb', line 473

def initialize(*args)
  super
end

Class Attribute Details

.identifierObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



4659
4660
4661
# File 'lib/aws-sdk-vpclattice/client.rb', line 4659

def identifier
  @identifier
end

Class Method Details

.errors_moduleObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



4662
4663
4664
# File 'lib/aws-sdk-vpclattice/client.rb', line 4662

def errors_module
  Errors
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*.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/security_iam_service-with-iam.html

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:



586
587
588
589
# File 'lib/aws-sdk-vpclattice/client.rb', line 586

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

#build_request(operation_name, params = {}) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

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


4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
# File 'lib/aws-sdk-vpclattice/client.rb', line 4632

def build_request(operation_name, params = {})
  handlers = @handlers.for(operation_name)
  tracer = config.telemetry_provider.tracer_provider.tracer(
    Aws::Telemetry.module_to_tracer_name('Aws::VPCLattice')
  )
  context = Seahorse::Client::RequestContext.new(
    operation_name: operation_name,
    operation: config.api.operation(operation_name),
    client: self,
    params: params,
    config: config,
    tracer: tracer
  )
  context[:gem_name] = 'aws-sdk-vpclattice'
  context[:gem_version] = '1.46.0'
  Seahorse::Client::Request.new(handlers, context)
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*.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/monitoring-access-logs.html

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:



663
664
665
666
# File 'lib/aws-sdk-vpclattice/client.rb', line 663

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*.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/listeners.html

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:



766
767
768
769
# File 'lib/aws-sdk-vpclattice/client.rb', line 766

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:



936
937
938
939
# File 'lib/aws-sdk-vpclattice/client.rb', line 936

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:

    • **IPv4**Assign 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.

    • **IPv6**Assign 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.

    • **Dualstack**Assign 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:



1064
1065
1066
1067
# File 'lib/aws-sdk-vpclattice/client.rb', line 1064

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*.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/listeners.html#listener-rules

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:



1198
1199
1200
1201
# File 'lib/aws-sdk-vpclattice/client.rb', line 1198

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*.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/services.html

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
})

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.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.

Returns:

See Also:



1288
1289
1290
1291
# File 'lib/aws-sdk-vpclattice/client.rb', line 1288

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*.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/service-networks.html

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:



1369
1370
1371
1372
# File 'lib/aws-sdk-vpclattice/client.rb', line 1369

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:



1436
1437
1438
1439
# File 'lib/aws-sdk-vpclattice/client.rb', line 1436

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.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/service-network-associations.html#service-network-service-associations

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:



1515
1516
1517
1518
# File 'lib/aws-sdk-vpclattice/client.rb', line 1515

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.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/service-network-associations.html#service-network-vpc-associations

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*.

    [1]: docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html

  • :tags (Hash<String,String>)

    The tags for the association.

  • :dns_options (Types::DnsOptions)

    DNS options for the service network VPC association.

Returns:

See Also:



1624
1625
1626
1627
# File 'lib/aws-sdk-vpclattice/client.rb', line 1624

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*.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/target-groups.html

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:



1735
1736
1737
1738
# File 'lib/aws-sdk-vpclattice/client.rb', line 1735

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:



1757
1758
1759
1760
# File 'lib/aws-sdk-vpclattice/client.rb', line 1757

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:



1783
1784
1785
1786
# File 'lib/aws-sdk-vpclattice/client.rb', line 1783

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:



1805
1806
1807
1808
# File 'lib/aws-sdk-vpclattice/client.rb', line 1805

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:



1831
1832
1833
1834
# File 'lib/aws-sdk-vpclattice/client.rb', line 1831

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:



1853
1854
1855
1856
# File 'lib/aws-sdk-vpclattice/client.rb', line 1853

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:



1890
1891
1892
1893
# File 'lib/aws-sdk-vpclattice/client.rb', line 1890

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:



1924
1925
1926
1927
# File 'lib/aws-sdk-vpclattice/client.rb', line 1924

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:



1946
1947
1948
1949
# File 'lib/aws-sdk-vpclattice/client.rb', line 1946

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*.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/listeners.html#listener-rules

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:



1987
1988
1989
1990
# File 'lib/aws-sdk-vpclattice/client.rb', line 1987

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*.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/services.html#delete-service

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:



2030
2031
2032
2033
# File 'lib/aws-sdk-vpclattice/client.rb', line 2030

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*.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/service-networks.html#delete-service-network

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:



2061
2062
2063
2064
# File 'lib/aws-sdk-vpclattice/client.rb', line 2061

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:



2094
2095
2096
2097
# File 'lib/aws-sdk-vpclattice/client.rb', line 2094

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:



2127
2128
2129
2130
# File 'lib/aws-sdk-vpclattice/client.rb', line 2127

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:



2161
2162
2163
2164
# File 'lib/aws-sdk-vpclattice/client.rb', line 2161

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:



2194
2195
2196
2197
# File 'lib/aws-sdk-vpclattice/client.rb', line 2194

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:



2239
2240
2241
2242
# File 'lib/aws-sdk-vpclattice/client.rb', line 2239

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:



2281
2282
2283
2284
# File 'lib/aws-sdk-vpclattice/client.rb', line 2281

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:



2316
2317
2318
2319
# File 'lib/aws-sdk-vpclattice/client.rb', line 2316

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:



2360
2361
2362
2363
# File 'lib/aws-sdk-vpclattice/client.rb', line 2360

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:



2414
2415
2416
2417
# File 'lib/aws-sdk-vpclattice/client.rb', line 2414

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:



2484
2485
2486
2487
# File 'lib/aws-sdk-vpclattice/client.rb', line 2484

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:



2540
2541
2542
2543
# File 'lib/aws-sdk-vpclattice/client.rb', line 2540

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:



2570
2571
2572
2573
# File 'lib/aws-sdk-vpclattice/client.rb', line 2570

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*.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/listeners.html#listener-rules

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:



2641
2642
2643
2644
# File 'lib/aws-sdk-vpclattice/client.rb', line 2641

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



2692
2693
2694
2695
# File 'lib/aws-sdk-vpclattice/client.rb', line 2692

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:



2736
2737
2738
2739
# File 'lib/aws-sdk-vpclattice/client.rb', line 2736

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:



2803
2804
2805
2806
# File 'lib/aws-sdk-vpclattice/client.rb', line 2803

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:



2861
2862
2863
2864
# File 'lib/aws-sdk-vpclattice/client.rb', line 2861

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:



2921
2922
2923
2924
# File 'lib/aws-sdk-vpclattice/client.rb', line 2921

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:



2985
2986
2987
2988
# File 'lib/aws-sdk-vpclattice/client.rb', line 2985

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:



3034
3035
3036
3037
# File 'lib/aws-sdk-vpclattice/client.rb', line 3034

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:



3080
3081
3082
3083
# File 'lib/aws-sdk-vpclattice/client.rb', line 3080

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:



3127
3128
3129
3130
# File 'lib/aws-sdk-vpclattice/client.rb', line 3127

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:



3189
3190
3191
3192
# File 'lib/aws-sdk-vpclattice/client.rb', line 3189

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:



3251
3252
3253
3254
# File 'lib/aws-sdk-vpclattice/client.rb', line 3251

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:



3302
3303
3304
3305
# File 'lib/aws-sdk-vpclattice/client.rb', line 3302

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:



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

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:



3424
3425
3426
3427
# File 'lib/aws-sdk-vpclattice/client.rb', line 3424

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:



3491
3492
3493
3494
# File 'lib/aws-sdk-vpclattice/client.rb', line 3491

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:



3551
3552
3553
3554
# File 'lib/aws-sdk-vpclattice/client.rb', line 3551

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:



3599
3600
3601
3602
# File 'lib/aws-sdk-vpclattice/client.rb', line 3599

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:



3644
3645
3646
3647
# File 'lib/aws-sdk-vpclattice/client.rb', line 3644

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:



3690
3691
3692
3693
# File 'lib/aws-sdk-vpclattice/client.rb', line 3690

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:



3719
3720
3721
3722
# File 'lib/aws-sdk-vpclattice/client.rb', line 3719

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:



3778
3779
3780
3781
# File 'lib/aws-sdk-vpclattice/client.rb', line 3778

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:



3833
3834
3835
3836
# File 'lib/aws-sdk-vpclattice/client.rb', line 3833

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*.

[1]: docs.aws.amazon.com/vpc-lattice/latest/ug/auth-policies.html

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:



3877
3878
3879
3880
# File 'lib/aws-sdk-vpclattice/client.rb', line 3877

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:



3908
3909
3910
3911
# File 'lib/aws-sdk-vpclattice/client.rb', line 3908

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:



3954
3955
3956
3957
# File 'lib/aws-sdk-vpclattice/client.rb', line 3954

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:



4008
4009
4010
4011
# File 'lib/aws-sdk-vpclattice/client.rb', line 4008

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:



4036
4037
4038
4039
# File 'lib/aws-sdk-vpclattice/client.rb', line 4036

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:



4062
4063
4064
4065
# File 'lib/aws-sdk-vpclattice/client.rb', line 4062

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:



4102
4103
4104
4105
# File 'lib/aws-sdk-vpclattice/client.rb', line 4102

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:



4167
4168
4169
4170
# File 'lib/aws-sdk-vpclattice/client.rb', line 4167

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:



4254
4255
4256
4257
# File 'lib/aws-sdk-vpclattice/client.rb', line 4254

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:



4302
4303
4304
4305
# File 'lib/aws-sdk-vpclattice/client.rb', line 4302

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:



4411
4412
4413
4414
# File 'lib/aws-sdk-vpclattice/client.rb', line 4411

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
})

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"

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.

Returns:

See Also:



4463
4464
4465
4466
# File 'lib/aws-sdk-vpclattice/client.rb', line 4463

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:



4507
4508
4509
4510
# File 'lib/aws-sdk-vpclattice/client.rb', line 4507

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:



4553
4554
4555
4556
# File 'lib/aws-sdk-vpclattice/client.rb', line 4553

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:



4623
4624
4625
4626
# File 'lib/aws-sdk-vpclattice/client.rb', line 4623

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

#waiter_namesObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.


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

def waiter_names
  []
end