Class: Aws::Route53GlobalResolver::Client

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

Overview

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

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

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

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

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

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

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

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

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

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials used for authentication. This can be any class that includes and implements Aws::CredentialProvider, or instance of any one of the following classes:

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

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

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

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

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

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

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

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

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

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

    • Aws.config[:credentials]

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

    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'], ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID'].

    • ~/.aws/credentials

    • ~/.aws/config

    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentials or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.

  • :region (required, String)

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

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

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

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

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

  • :auth_scheme_preference (Array<String>)

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

  • :client_side_monitoring (Boolean) — default: false

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

  • :client_side_monitoring_client_id (String) — default: ""

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

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

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

  • :client_side_monitoring_port (Integer) — default: 31000

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

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

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

  • :convert_params (Boolean) — default: true

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

  • :correct_clock_skew (Boolean) — default: true

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

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

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

  • :disable_host_prefix_injection (Boolean) — default: false

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

  • :disable_request_compression (Boolean) — default: false

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

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

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

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

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

  • :endpoint_cache_max_threads (Integer) — default: 10

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

  • :endpoint_cache_poll_interval (Integer) — default: 60

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

  • :endpoint_discovery (Boolean) — default: false

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

  • :ignore_configured_endpoint_urls (Boolean)

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

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

    The log formatter.

  • :log_level (Symbol) — default: :info

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

  • :logger (Logger)

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

  • :max_attempts (Integer) — default: 3

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

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

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

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

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

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

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

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

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

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

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

  • :retry_base_delay (Float) — default: 0.3

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

  • :retry_jitter (Symbol) — default: :none

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

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

  • :retry_limit (Integer) — default: 3

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

  • :retry_max_delay (Integer) — default: 0

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

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

    Specifies which retry algorithm to use. Values are:

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

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

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

  • :sdk_ua_app_id (String)

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

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

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

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

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

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

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

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

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

    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::Route53GlobalResolver::EndpointProvider)

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

  • :http_continue_timeout (Float) — default: 1

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

  • :http_idle_timeout (Float) — default: 5

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

  • :http_open_timeout (Float) — default: 15

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

  • :http_proxy (URI::HTTP, String)

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

  • :http_read_timeout (Float) — default: 60

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

  • :http_wire_trace (Boolean) — default: false

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

  • :on_chunk_received (Proc)

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

  • :on_chunk_sent (Proc)

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

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised.

  • :ssl_ca_bundle (String)

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

  • :ssl_ca_directory (String)

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

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

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

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

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



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

def initialize(*args)
  super
end

Instance Method Details

#associate_hosted_zone(params = {}) ⇒ Types::AssociateHostedZoneOutput

Associates a Route 53 private hosted zone with a Route 53 Global Resolver resource. This allows the resolver to resolve DNS queries for the private hosted zone from anywhere globally.

Examples:

Request syntax with placeholder values


resp = client.associate_hosted_zone({
  hosted_zone_id: "HostedZoneId", # required
  resource_arn: "ResourceArn", # required
  name: "ResourceName", # required
})

Response structure


resp.id #=> String
resp.resource_arn #=> String
resp.hosted_zone_id #=> String
resp.hosted_zone_name #=> String
resp.name #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :hosted_zone_id (required, String)

    The ID of the Route 53 private hosted zone to associate with the Route 53 Global Resolver resource.

  • :resource_arn (required, String)

    An Amazon Resource Name (ARN) of the Route 53 Global Resolver the private hosted zone will be associated to.

  • :name (required, String)

    Name for the private hosted zone association.

Returns:

See Also:



528
529
530
531
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 528

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

#batch_create_firewall_rule(params = {}) ⇒ Types::BatchCreateFirewallRuleOutput

Creates multiple DNS firewall rules in a single operation. This is more efficient than creating rules individually when you need to set up multiple rules at once.

Examples:

Request syntax with placeholder values


resp = client.batch_create_firewall_rule({
  firewall_rules: [ # required
    {
      action: "ALLOW", # required, accepts ALLOW, ALERT, BLOCK
      block_override_dns_type: "CNAME", # accepts CNAME
      block_override_domain: "Domain",
      block_override_ttl: 1,
      block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
      client_token: "ClientToken", # required
      confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
      description: "ResourceDescription",
      dns_advanced_protection: "DGA", # accepts DGA, DNS_TUNNELING
      firewall_domain_list_id: "ResourceId",
      name: "ResourceName", # required
      priority: 1,
      dns_view_id: "ResourceId", # required
      q_type: "DnsQueryType",
    },
  ],
})

Response structure


resp.failures #=> Array
resp.failures[0].firewall_rule.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
resp.failures[0].firewall_rule.block_override_dns_type #=> String, one of "CNAME"
resp.failures[0].firewall_rule.block_override_domain #=> String
resp.failures[0].firewall_rule.block_override_ttl #=> Integer
resp.failures[0].firewall_rule.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
resp.failures[0].firewall_rule.client_token #=> String
resp.failures[0].firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
resp.failures[0].firewall_rule.created_at #=> Time
resp.failures[0].firewall_rule.description #=> String
resp.failures[0].firewall_rule.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
resp.failures[0].firewall_rule.firewall_domain_list_id #=> String
resp.failures[0].firewall_rule.id #=> String
resp.failures[0].firewall_rule.managed_domain_list_name #=> String
resp.failures[0].firewall_rule.name #=> String
resp.failures[0].firewall_rule.priority #=> Integer
resp.failures[0].firewall_rule.dns_view_id #=> String
resp.failures[0].firewall_rule.query_type #=> String
resp.failures[0].firewall_rule.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.failures[0].firewall_rule.updated_at #=> Time
resp.failures[0].code #=> Integer
resp.failures[0].message #=> String
resp.successes #=> Array
resp.successes[0].firewall_rule.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
resp.successes[0].firewall_rule.block_override_dns_type #=> String, one of "CNAME"
resp.successes[0].firewall_rule.block_override_domain #=> String
resp.successes[0].firewall_rule.block_override_ttl #=> Integer
resp.successes[0].firewall_rule.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
resp.successes[0].firewall_rule.client_token #=> String
resp.successes[0].firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
resp.successes[0].firewall_rule.created_at #=> Time
resp.successes[0].firewall_rule.description #=> String
resp.successes[0].firewall_rule.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
resp.successes[0].firewall_rule.firewall_domain_list_id #=> String
resp.successes[0].firewall_rule.id #=> String
resp.successes[0].firewall_rule.managed_domain_list_name #=> String
resp.successes[0].firewall_rule.name #=> String
resp.successes[0].firewall_rule.priority #=> Integer
resp.successes[0].firewall_rule.dns_view_id #=> String
resp.successes[0].firewall_rule.query_type #=> String
resp.successes[0].firewall_rule.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.successes[0].firewall_rule.updated_at #=> Time
resp.successes[0].code #=> Integer
resp.successes[0].message #=> String

Parameters:

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

    ({})

Options Hash (params):

Returns:

See Also:



620
621
622
623
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 620

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

#batch_delete_firewall_rule(params = {}) ⇒ Types::BatchDeleteFirewallRuleOutput

Deletes multiple DNS firewall rules in a single operation. This is more efficient than deleting rules individually.

Examples:

Request syntax with placeholder values


resp = client.batch_delete_firewall_rule({
  firewall_rules: [ # required
    {
      firewall_rule_id: "ResourceId", # required
    },
  ],
})

Response structure


resp.failures #=> Array
resp.failures[0].firewall_rule.client_token #=> String
resp.failures[0].firewall_rule.id #=> String
resp.failures[0].firewall_rule.name #=> String
resp.failures[0].firewall_rule.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.failures[0].code #=> Integer
resp.failures[0].message #=> String
resp.successes #=> Array
resp.successes[0].firewall_rule.client_token #=> String
resp.successes[0].firewall_rule.id #=> String
resp.successes[0].firewall_rule.name #=> String
resp.successes[0].firewall_rule.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.successes[0].code #=> Integer
resp.successes[0].message #=> String

Parameters:

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

    ({})

Options Hash (params):

Returns:

See Also:



667
668
669
670
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 667

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

#batch_update_firewall_rule(params = {}) ⇒ Types::BatchUpdateFirewallRuleOutput

Updates multiple DNS firewall rules in a single operation. This is more efficient than updating rules individually.

Examples:

Request syntax with placeholder values


resp = client.batch_update_firewall_rule({
  firewall_rules: [ # required
    {
      action: "ALLOW", # accepts ALLOW, ALERT, BLOCK
      block_override_dns_type: "CNAME", # accepts CNAME
      block_override_domain: "Domain",
      block_override_ttl: 1,
      block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
      confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
      description: "ResourceDescription",
      dns_advanced_protection: "DGA", # accepts DGA, DNS_TUNNELING
      firewall_rule_id: "ResourceId", # required
      name: "ResourceName",
      priority: 1,
    },
  ],
})

Response structure


resp.failures #=> Array
resp.failures[0].firewall_rule.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
resp.failures[0].firewall_rule.block_override_dns_type #=> String, one of "CNAME"
resp.failures[0].firewall_rule.block_override_domain #=> String
resp.failures[0].firewall_rule.block_override_ttl #=> Integer
resp.failures[0].firewall_rule.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
resp.failures[0].firewall_rule.client_token #=> String
resp.failures[0].firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
resp.failures[0].firewall_rule.created_at #=> Time
resp.failures[0].firewall_rule.description #=> String
resp.failures[0].firewall_rule.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
resp.failures[0].firewall_rule.firewall_domain_list_id #=> String
resp.failures[0].firewall_rule.id #=> String
resp.failures[0].firewall_rule.name #=> String
resp.failures[0].firewall_rule.priority #=> Integer
resp.failures[0].firewall_rule.dns_view_id #=> String
resp.failures[0].firewall_rule.query_type #=> String
resp.failures[0].firewall_rule.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.failures[0].firewall_rule.updated_at #=> Time
resp.failures[0].code #=> Integer
resp.failures[0].message #=> String
resp.successes #=> Array
resp.successes[0].firewall_rule.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
resp.successes[0].firewall_rule.block_override_dns_type #=> String, one of "CNAME"
resp.successes[0].firewall_rule.block_override_domain #=> String
resp.successes[0].firewall_rule.block_override_ttl #=> Integer
resp.successes[0].firewall_rule.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
resp.successes[0].firewall_rule.client_token #=> String
resp.successes[0].firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
resp.successes[0].firewall_rule.created_at #=> Time
resp.successes[0].firewall_rule.description #=> String
resp.successes[0].firewall_rule.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
resp.successes[0].firewall_rule.firewall_domain_list_id #=> String
resp.successes[0].firewall_rule.id #=> String
resp.successes[0].firewall_rule.name #=> String
resp.successes[0].firewall_rule.priority #=> Integer
resp.successes[0].firewall_rule.dns_view_id #=> String
resp.successes[0].firewall_rule.query_type #=> String
resp.successes[0].firewall_rule.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.successes[0].firewall_rule.updated_at #=> Time
resp.successes[0].code #=> Integer
resp.successes[0].message #=> String

Parameters:

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

    ({})

Options Hash (params):

Returns:

See Also:



752
753
754
755
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 752

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

#create_access_source(params = {}) ⇒ Types::CreateAccessSourceOutput

Creates an access source for a DNS view. Access sources define IP addresses or CIDR ranges that are allowed to send DNS queries to the Route 53 Global Resolver, along with the permitted DNS protocols.

Examples:

Example: CreateAccessSource example


resp = client.create_access_source({
  name: "My Access Source", 
  cidr: "85.90.183.3/30", 
  client_token: "9fas9-9usdfa-xbi8-kco", 
  dns_view_id: "dnsv-123456789", 
  ip_address_type: "IPV4", 
  protocol: "DO53", 
  tags: {
    "Key1" => "Value1", 
  }, 
})

resp.to_h outputs the following:
{
  name: "My Access Source", 
  arn: "arn:aws:route53globalresolver::123456789012:access-source/as-823as9d9831", 
  cidr: "85.90.183.3/30", 
  created_at: Time.parse("2025-10-16T14:07:45.934184715Z"), 
  dns_view_id: "dnsv-123456789", 
  id: "as-123456789", 
  ip_address_type: "IPV4", 
  protocol: "DO53", 
  status: "CREATING", 
  updated_at: Time.parse("2025-10-16T14:07:45.934184715Z"), 
}

Request syntax with placeholder values


resp = client.create_access_source({
  cidr: "Cidr", # required
  client_token: "ClientToken",
  ip_address_type: "IPV4", # accepts IPV4, IPV6
  name: "ResourceNameShort",
  dns_view_id: "ResourceId", # required
  protocol: "DO53", # required, accepts DO53, DOH, DOT
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.arn #=> String
resp.cidr #=> String
resp.created_at #=> Time
resp.id #=> String
resp.ip_address_type #=> String, one of "IPV4", "IPV6"
resp.name #=> String
resp.dns_view_id #=> String
resp.protocol #=> String, one of "DO53", "DOH", "DOT"
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :cidr (required, String)

    The IP address or CIDR range that is allowed to send DNS queries to the Route 53 Global Resolver.

  • :client_token (String)

    A unique string that identifies the request and ensures idempotency.

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

  • :ip_address_type (String)

    The IP address type for this access source. Valid values are IPv4 and IPv6 (if the Route 53 Global Resolver supports dual-stack).

  • :name (String)

    A descriptive name for the access source.

  • :dns_view_id (required, String)

    The ID of the DNS view to associate with this access source.

  • :protocol (required, String)

    The DNS protocol that is permitted for this access source. Valid values are Do53 (DNS over port 53), DoT (DNS over TLS), and DoH (DNS over HTTPS).

  • :tags (Hash<String,String>)

    Tags to associate with the access source.

Returns:

See Also:



862
863
864
865
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 862

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

#create_access_token(params = {}) ⇒ Types::CreateAccessTokenOutput

Creates an access token for a DNS view. Access tokens provide token-based authentication for DNS-over-HTTPS (DoH) and DNS-over-TLS (DoT) connections to the Route 53 Global Resolver.

Examples:

Request syntax with placeholder values


resp = client.create_access_token({
  client_token: "ClientToken",
  dns_view_id: "ResourceId", # required
  expires_at: Time.now,
  name: "ResourceNameShort",
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.client_token #=> String
resp.created_at #=> Time
resp.dns_view_id #=> String
resp.expires_at #=> Time
resp.name #=> String
resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"
resp.value #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    A unique, case-sensitive identifier to ensure idempotency. This means that making the same request multiple times with the same clientToken has the same result every time.

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

  • :dns_view_id (required, String)

    The ID of the DNS view to associate with this token.

  • :expires_at (Time, DateTime, Date, Integer, String)

    The date and time when the token expires. Tokens can have a minimum expiration of 30 days and maximum of 365 days from creation.

  • :name (String)

    A descriptive name for the access token.

  • :tags (Hash<String,String>)

    An array of user-defined keys and optional values. These tags can be used for categorization and organization.

Returns:

See Also:



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

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

#create_dns_view(params = {}) ⇒ Types::CreateDNSViewOutput

Creates a DNS view within a Route 53 Global Resolver. A DNS view models end users, user groups, networks, and devices, and serves as a parent resource that holds configurations controlling access, authorization, DNS firewall rules, and forwarding rules.

Examples:

Request syntax with placeholder values


resp = client.create_dns_view({
  global_resolver_id: "ResourceId", # required
  client_token: "ClientToken",
  name: "ResourceName", # required
  dnssec_validation: "ENABLED", # accepts ENABLED, DISABLED
  edns_client_subnet: "ENABLED", # accepts ENABLED, DISABLED
  firewall_rules_fail_open: "ENABLED", # accepts ENABLED, DISABLED
  description: "ResourceDescription",
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.client_token #=> String
resp.dnssec_validation #=> String, one of "ENABLED", "DISABLED"
resp.edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
resp.firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
resp.name #=> String
resp.description #=> String
resp.global_resolver_id #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :global_resolver_id (required, String)

    The ID of the Route 53 Global Resolver to associate with this DNS view.

  • :client_token (String)

    A unique string that identifies the request and ensures idempotency.

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

  • :name (required, String)

    A descriptive name for the DNS view.

  • :dnssec_validation (String)

    Whether to enable DNSSEC validation for DNS queries in this DNS view. When enabled, the resolver verifies the authenticity and integrity of DNS responses from public name servers for DNSSEC-signed domains.

  • :edns_client_subnet (String)

    Whether to enable EDNS Client Subnet injection for DNS queries in this DNS view. When enabled, client subnet information is forwarded to provide more accurate geographic-based DNS responses.

  • :firewall_rules_fail_open (String)

    Determines the behavior when Route 53 Global Resolver cannot apply DNS firewall rules due to service impairment. When enabled, DNS queries are allowed through; when disabled, queries are blocked.

  • :description (String)

    An optional description for the DNS view.

  • :tags (Hash<String,String>)

    Tags to associate with the DNS view.

Returns:

See Also:



1026
1027
1028
1029
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1026

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

#create_firewall_domain_list(params = {}) ⇒ Types::CreateFirewallDomainListOutput

Creates a firewall domain list. Domain lists are reusable sets of domain specifications that you use in DNS firewall rules to allow, block, or alert on DNS queries to specific domains.

Examples:

Request syntax with placeholder values


resp = client.create_firewall_domain_list({
  client_token: "ClientToken",
  global_resolver_id: "ResourceId", # required
  description: "ResourceDescription",
  name: "ResourceName", # required
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.arn #=> String
resp.global_resolver_id #=> String
resp.created_at #=> Time
resp.description #=> String
resp.domain_count #=> Integer
resp.id #=> String
resp.name #=> String
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    A unique, case-sensitive identifier to ensure idempotency. This means that making the same request multiple times with the same clientToken has the same result every time.

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

  • :global_resolver_id (required, String)

    The ID of the Route 53 Global Resolver that the domain list will be associated with.

  • :description (String)

    An optional description for the firewall domain list.

  • :name (required, String)

    A descriptive name for the firewall domain list.

  • :tags (Hash<String,String>)

    An array of user-defined keys and optional values. These tags can be used for categorization and organization.

Returns:

See Also:



1097
1098
1099
1100
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1097

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

#create_firewall_rule(params = {}) ⇒ Types::CreateFirewallRuleOutput

Creates a DNS firewall rule. Firewall rules define actions (ALLOW, BLOCK, or ALERT) to take on DNS queries that match specified domain lists, managed domain lists, or advanced threat protections.

Examples:

Request syntax with placeholder values


resp = client.create_firewall_rule({
  action: "ALLOW", # required, accepts ALLOW, ALERT, BLOCK
  block_override_dns_type: "CNAME", # accepts CNAME
  block_override_domain: "Domain",
  block_override_ttl: 1,
  block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
  client_token: "ClientToken",
  confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
  description: "ResourceDescription",
  dns_advanced_protection: "DGA", # accepts DGA, DNS_TUNNELING
  firewall_domain_list_id: "ResourceId",
  name: "ResourceName", # required
  priority: 1,
  dns_view_id: "ResourceId", # required
  q_type: "DnsQueryType",
})

Response structure


resp.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
resp.block_override_dns_type #=> String, one of "CNAME"
resp.block_override_domain #=> String
resp.block_override_ttl #=> Integer
resp.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
resp.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
resp.created_at #=> Time
resp.description #=> String
resp.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
resp.firewall_domain_list_id #=> String
resp.id #=> String
resp.name #=> String
resp.priority #=> Integer
resp.dns_view_id #=> String
resp.query_type #=> String
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :action (required, String)

    The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list:

    • ALLOW - Permit the request to go through.

    • ALERT - Permit the request and send metrics and logs to CloudWatch.

    • BLOCK - Disallow the request. This option requires additional details in the rule's BlockResponse.

  • :block_override_dns_type (String)

    The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

    This setting is required if the BlockResponse setting is OVERRIDE.

  • :block_override_domain (String)

    The custom DNS record to send back in response to the query. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

    This setting is required if the BlockResponse setting is OVERRIDE.

  • :block_override_ttl (Integer)

    The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

    This setting is required if the BlockResponse setting is OVERRIDE.

  • :block_response (String)

    The response to return when the action is BLOCK. Valid values are NXDOMAIN (domain does not exist), NODATA (domain exists but no records), or OVERRIDE (return custom response).

  • :client_token (String)

    A unique, case-sensitive identifier to ensure idempotency. This means that making the same request multiple times with the same clientToken has the same result every time.

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

  • :confidence_threshold (String)

    The confidence threshold for advanced threat detection. Valid values are HIGH, MEDIUM, or LOW, indicating the accuracy level required for threat detection.

  • :description (String)

    An optional description for the firewall rule.

  • :dns_advanced_protection (String)

    Whether to enable advanced DNS threat protection for this rule. Advanced protection can detect and block DNS tunneling and Domain Generation Algorithm (DGA) threats.

  • :firewall_domain_list_id (String)

    The ID of the firewall domain list to use in this rule.

  • :name (required, String)

    A descriptive name for the firewall rule.

  • :priority (Integer)

    The priority of this rule. Rules are evaluated in priority order, with lower numbers having higher priority. When a DNS query matches multiple rules, the rule with the highest priority (lowest number) is applied.

  • :dns_view_id (required, String)

    The ID of the DNS view to associate with this firewall rule.

  • :q_type (String)

    The DNS query type to match for this rule. Examples include A (IPv4 address), AAAA (IPv6 address), MX (mail exchange), or TXT (text record).

Returns:

See Also:



1247
1248
1249
1250
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1247

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

#create_global_resolver(params = {}) ⇒ Types::CreateGlobalResolverOutput

Creates a new Route 53 Global Resolver instance. A Route 53 Global Resolver is a global, internet-accessible DNS resolver that provides secure DNS resolution for both public and private domains through global anycast IP addresses.

Examples:

Request syntax with placeholder values


resp = client.create_global_resolver({
  client_token: "ClientToken",
  description: "ResourceDescription",
  name: "ResourceName", # required
  observability_region: "Region",
  regions: ["Region"], # required
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.client_token #=> String
resp.created_at #=> Time
resp.description #=> String
resp.dns_name #=> String
resp.ipv4_addresses #=> Array
resp.ipv4_addresses[0] #=> String
resp.name #=> String
resp.observability_region #=> String
resp.regions #=> Array
resp.regions[0] #=> String
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :client_token (String)

    A unique string that identifies the request and ensures idempotency. If you make multiple requests with the same client token, only one Route 53 Global Resolver is created.

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

  • :description (String)

    An optional description for the Route 53 Global Resolver instance. Maximum length of 1024 characters.

  • :name (required, String)

    A descriptive name for the Route 53 Global Resolver instance. Maximum length of 64 characters.

  • :observability_region (String)

    The AWS region where query resolution logs and metrics will be aggregated and delivered. If not specified, logging is not enabled.

  • :regions (required, Array<String>)

    List of AWS regions where the Route 53 Global Resolver will operate. The resolver will be distributed across these regions to provide global availability and low-latency DNS resolution.

  • :tags (Hash<String,String>)

    Tags to associate with the Route 53 Global Resolver. Tags are key-value pairs that help you organize and identify your resources.

Returns:

See Also:



1335
1336
1337
1338
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1335

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

#delete_access_source(params = {}) ⇒ Types::DeleteAccessSourceOutput

Deletes an access source. This operation cannot be undone.

Examples:

Request syntax with placeholder values


resp = client.delete_access_source({
  access_source_id: "ResourceId", # required
})

Response structure


resp.arn #=> String
resp.cidr #=> String
resp.created_at #=> Time
resp.id #=> String
resp.ip_address_type #=> String, one of "IPV4", "IPV6"
resp.name #=> String
resp.dns_view_id #=> String
resp.protocol #=> String, one of "DO53", "DOH", "DOT"
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :access_source_id (required, String)

    The unique identifier of the access source to delete.

Returns:

See Also:



1381
1382
1383
1384
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1381

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

#delete_access_token(params = {}) ⇒ Types::DeleteAccessTokenOutput

Deletes an access token. This operation cannot be undone.

Examples:

Request syntax with placeholder values


resp = client.delete_access_token({
  access_token_id: "ResourceId", # required
})

Response structure


resp.id #=> String
resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"
resp.deleted_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :access_token_id (required, String)

    The unique identifier of the access token to delete.

Returns:

See Also:



1413
1414
1415
1416
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1413

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

#delete_dns_view(params = {}) ⇒ Types::DeleteDNSViewOutput

Deletes a DNS view. This operation cannot be undone.

Examples:

Request syntax with placeholder values


resp = client.delete_dns_view({
  dns_view_id: "ResourceId", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.client_token #=> String
resp.dnssec_validation #=> String, one of "ENABLED", "DISABLED"
resp.edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
resp.firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
resp.name #=> String
resp.description #=> String
resp.global_resolver_id #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :dns_view_id (required, String)

    The unique identifier of the DNS view to delete.

Returns:

See Also:



1463
1464
1465
1466
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1463

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

#delete_firewall_domain_list(params = {}) ⇒ Types::DeleteFirewallDomainListOutput

Deletes a firewall domain list. This operation cannot be undone.

Examples:

Request syntax with placeholder values


resp = client.delete_firewall_domain_list({
  firewall_domain_list_id: "ResourceId", # required
})

Response structure


resp.arn #=> String
resp.id #=> String
resp.name #=> String
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :firewall_domain_list_id (required, String)

    The unique identifier of the firewall domain list to delete.

Returns:

See Also:



1497
1498
1499
1500
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1497

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

#delete_firewall_rule(params = {}) ⇒ Types::DeleteFirewallRuleOutput

Deletes a DNS firewall rule. This operation cannot be undone.

Examples:

Request syntax with placeholder values


resp = client.delete_firewall_rule({
  firewall_rule_id: "ResourceId", # required
})

Response structure


resp.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
resp.block_override_dns_type #=> String, one of "CNAME"
resp.block_override_domain #=> String
resp.block_override_ttl #=> Integer
resp.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
resp.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
resp.created_at #=> Time
resp.description #=> String
resp.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
resp.firewall_domain_list_id #=> String
resp.id #=> String
resp.name #=> String
resp.priority #=> Integer
resp.dns_view_id #=> String
resp.query_type #=> String
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :firewall_rule_id (required, String)

    The unique identifier of the firewall rule to delete.

Returns:

See Also:



1557
1558
1559
1560
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1557

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

#delete_global_resolver(params = {}) ⇒ Types::DeleteGlobalResolverOutput

Deletes a Route 53 Global Resolver instance. This operation cannot be undone. All associated DNS views, access sources, tokens, and firewall rules are also deleted.

Examples:

Request syntax with placeholder values


resp = client.delete_global_resolver({
  global_resolver_id: "ResourceId", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.client_token #=> String
resp.dns_name #=> String
resp.observability_region #=> String
resp.name #=> String
resp.description #=> String
resp.regions #=> Array
resp.regions[0] #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.ipv4_addresses #=> Array
resp.ipv4_addresses[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :global_resolver_id (required, String)

    The unique identifier of the Route 53 Global Resolver to delete.

Returns:

See Also:



1611
1612
1613
1614
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1611

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

#disable_dns_view(params = {}) ⇒ Types::DisableDNSViewOutput

Disables a DNS view, preventing it from serving DNS queries.

Examples:

Request syntax with placeholder values


resp = client.disable_dns_view({
  dns_view_id: "ResourceId", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.client_token #=> String
resp.dnssec_validation #=> String, one of "ENABLED", "DISABLED"
resp.edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
resp.firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
resp.name #=> String
resp.description #=> String
resp.global_resolver_id #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :dns_view_id (required, String)

    The unique identifier of the DNS view to disable.

Returns:

See Also:



1661
1662
1663
1664
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1661

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

#disassociate_hosted_zone(params = {}) ⇒ Types::DisassociateHostedZoneOutput

Disassociates a Route 53 private hosted zone from a Route 53 Global Resolver resource.

Examples:

Request syntax with placeholder values


resp = client.disassociate_hosted_zone({
  hosted_zone_id: "HostedZoneId", # required
  resource_arn: "ResourceArn", # required
})

Response structure


resp.id #=> String
resp.resource_arn #=> String
resp.hosted_zone_id #=> String
resp.hosted_zone_name #=> String
resp.name #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :hosted_zone_id (required, String)

    The ID of the Route 53 private hosted zone to disassociate.

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the Route 53 Global Resolver resource to disassociate the hosted zone from.

Returns:

See Also:



1709
1710
1711
1712
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1709

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

#enable_dns_view(params = {}) ⇒ Types::EnableDNSViewOutput

Enables a disabled DNS view, allowing it to serve DNS queries again.

Examples:

Request syntax with placeholder values


resp = client.enable_dns_view({
  dns_view_id: "ResourceId", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.client_token #=> String
resp.dnssec_validation #=> String, one of "ENABLED", "DISABLED"
resp.edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
resp.firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
resp.name #=> String
resp.description #=> String
resp.global_resolver_id #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :dns_view_id (required, String)

    The unique identifier of the DNS view to enable.

Returns:

See Also:



1759
1760
1761
1762
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1759

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

#get_access_source(params = {}) ⇒ Types::GetAccessSourceOutput

Retrieves information about an access source.

Examples:

Request syntax with placeholder values


resp = client.get_access_source({
  access_source_id: "ResourceId", # required
})

Response structure


resp.arn #=> String
resp.cidr #=> String
resp.created_at #=> Time
resp.id #=> String
resp.ip_address_type #=> String, one of "IPV4", "IPV6"
resp.name #=> String
resp.dns_view_id #=> String
resp.protocol #=> String, one of "DO53", "DOH", "DOT"
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :access_source_id (required, String)

    The unique identifier of the access source to retrieve.

Returns:

See Also:



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

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

#get_access_token(params = {}) ⇒ Types::GetAccessTokenOutput

Retrieves information about an access token.

Examples:

Request syntax with placeholder values


resp = client.get_access_token({
  access_token_id: "ResourceId", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.client_token #=> String
resp.created_at #=> Time
resp.dns_view_id #=> String
resp.expires_at #=> Time
resp.global_resolver_id #=> String
resp.name #=> String
resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"
resp.updated_at #=> Time
resp.value #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :access_token_id (required, String)

    ID of the token.

Returns:

See Also:



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

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

#get_dns_view(params = {}) ⇒ Types::GetDNSViewOutput

Retrieves information about a DNS view.

Examples:

Request syntax with placeholder values


resp = client.get_dns_view({
  dns_view_id: "ResourceId", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.client_token #=> String
resp.dnssec_validation #=> String, one of "ENABLED", "DISABLED"
resp.edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
resp.firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
resp.name #=> String
resp.description #=> String
resp.global_resolver_id #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :dns_view_id (required, String)

    The ID of the DNS view to retrieve information about.

Returns:

See Also:



1903
1904
1905
1906
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1903

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

#get_firewall_domain_list(params = {}) ⇒ Types::GetFirewallDomainListOutput

Retrieves information about a firewall domain list.

Examples:

Request syntax with placeholder values


resp = client.get_firewall_domain_list({
  firewall_domain_list_id: "ResourceId", # required
})

Response structure


resp.arn #=> String
resp.global_resolver_id #=> String
resp.client_token #=> String
resp.created_at #=> Time
resp.description #=> String
resp.domain_count #=> Integer
resp.id #=> String
resp.name #=> String
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.status_message #=> String
resp.updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :firewall_domain_list_id (required, String)

    ID of the domain list.

Returns:

See Also:



1951
1952
1953
1954
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 1951

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

#get_firewall_rule(params = {}) ⇒ Types::GetFirewallRuleOutput

Retrieves information about a DNS firewall rule.

Examples:

Request syntax with placeholder values


resp = client.get_firewall_rule({
  firewall_rule_id: "ResourceId", # required
})

Response structure


resp.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
resp.block_override_dns_type #=> String, one of "CNAME"
resp.block_override_domain #=> String
resp.block_override_ttl #=> Integer
resp.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
resp.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
resp.created_at #=> Time
resp.description #=> String
resp.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
resp.firewall_domain_list_id #=> String
resp.id #=> String
resp.name #=> String
resp.priority #=> Integer
resp.dns_view_id #=> String
resp.query_type #=> String
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :firewall_rule_id (required, String)

    ID of the DNS Firewall rule.

Returns:

See Also:



2011
2012
2013
2014
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2011

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

#get_global_resolver(params = {}) ⇒ Types::GetGlobalResolverOutput

Retrieves information about a Route 53 Global Resolver instance.

Examples:

Request syntax with placeholder values


resp = client.get_global_resolver({
  global_resolver_id: "ResourceId", # required
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.client_token #=> String
resp.dns_name #=> String
resp.observability_region #=> String
resp.name #=> String
resp.description #=> String
resp.regions #=> Array
resp.regions[0] #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.ipv4_addresses #=> Array
resp.ipv4_addresses[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :global_resolver_id (required, String)

    The ID of the Route 53 Global Resolver to retrieve information about.

Returns:

See Also:



2063
2064
2065
2066
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2063

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

#get_hosted_zone_association(params = {}) ⇒ Types::GetHostedZoneAssociationOutput

Retrieves information about a hosted zone association.

Examples:

Request syntax with placeholder values


resp = client.get_hosted_zone_association({
  hosted_zone_association_id: "ResourceId", # required
})

Response structure


resp.id #=> String
resp.resource_arn #=> String
resp.hosted_zone_id #=> String
resp.hosted_zone_name #=> String
resp.name #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :hosted_zone_association_id (required, String)

    ID of the private hosted zone association.

Returns:

See Also:



2105
2106
2107
2108
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2105

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

#get_managed_firewall_domain_list(params = {}) ⇒ Types::GetManagedFirewallDomainListOutput

Retrieves information about an AWS-managed firewall domain list. Managed domain lists contain domains associated with malicious activity, content categories, or specific threats.

Examples:

Request syntax with placeholder values


resp = client.get_managed_firewall_domain_list({
  managed_firewall_domain_list_id: "ResourceId", # required
})

Response structure


resp.description #=> String
resp.id #=> String
resp.name #=> String
resp.managed_list_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :managed_firewall_domain_list_id (required, String)

    ID of the Managed Domain List.

Returns:

See Also:



2141
2142
2143
2144
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2141

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

#import_firewall_domains(params = {}) ⇒ Types::ImportFirewallDomainsOutput

Imports a list of domains from an Amazon S3 file into a firewall domain list. The file should contain one domain per line.

Examples:

Request syntax with placeholder values


resp = client.import_firewall_domains({
  domain_file_url: "String", # required
  firewall_domain_list_id: "ResourceId", # required
  operation: "String", # required
})

Response structure


resp.id #=> String
resp.name #=> String
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :domain_file_url (required, String)

    The fully qualified URL of the file in Amazon S3 that contains the list of domains to import. The file should contain one domain per line.

  • :firewall_domain_list_id (required, String)

    ID of the DNS Firewall domain list that you want to import the domain list to.

  • :operation (required, String)

    This value is REPLACE, and it updates the domain list to match the list of domains in the imported file.

Returns:

See Also:



2186
2187
2188
2189
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2186

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

#list_access_sources(params = {}) ⇒ Types::ListAccessSourcesOutput

Lists all access sources with pagination support.

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_sources({
  max_results: 1,
  next_token: "String",
  filters: {
    "String" => ["String"],
  },
})

Response structure


resp.next_token #=> String
resp.access_sources #=> Array
resp.access_sources[0].arn #=> String
resp.access_sources[0].cidr #=> String
resp.access_sources[0].created_at #=> Time
resp.access_sources[0].id #=> String
resp.access_sources[0].ip_address_type #=> String, one of "IPV4", "IPV6"
resp.access_sources[0].name #=> String
resp.access_sources[0].dns_view_id #=> String
resp.access_sources[0].protocol #=> String, one of "DO53", "DOH", "DOT"
resp.access_sources[0].status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.access_sources[0].updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to retrieve in a single call.

  • :next_token (String)

    A pagination token used for large sets of results that can't be returned in a single response.

  • :filters (Hash<String,Array>)

    Values to filter the results.

Returns:

See Also:



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

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

#list_access_tokens(params = {}) ⇒ Types::ListAccessTokensOutput

Lists all access tokens for a DNS view with pagination support.

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_tokens({
  max_results: 1,
  next_token: "String",
  dns_view_id: "ResourceId", # required
  filters: {
    "String" => ["String"],
  },
})

Response structure


resp.next_token #=> String
resp.access_tokens #=> Array
resp.access_tokens[0].id #=> String
resp.access_tokens[0].arn #=> String
resp.access_tokens[0].created_at #=> Time
resp.access_tokens[0].dns_view_id #=> String
resp.access_tokens[0].expires_at #=> Time
resp.access_tokens[0].global_resolver_id #=> String
resp.access_tokens[0].name #=> String
resp.access_tokens[0].status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"
resp.access_tokens[0].updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to retrieve in a single call.

  • :next_token (String)

    A pagination token used for large sets of results that can't be returned in a single response.

  • :dns_view_id (required, String)

    The ID of the DNS view to list the tokens for.

  • :filters (Hash<String,Array>)

    Filtering parameters.

Returns:

See Also:



2295
2296
2297
2298
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2295

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

#list_dns_views(params = {}) ⇒ Types::ListDNSViewsOutput

Lists all DNS views for a Route 53 Global Resolver with pagination support.

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_dns_views({
  max_results: 1,
  next_token: "String",
  global_resolver_id: "ResourceId", # required
})

Response structure


resp.next_token #=> String
resp.dns_views #=> Array
resp.dns_views[0].id #=> String
resp.dns_views[0].arn #=> String
resp.dns_views[0].client_token #=> String
resp.dns_views[0].dnssec_validation #=> String, one of "ENABLED", "DISABLED"
resp.dns_views[0].edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
resp.dns_views[0].firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
resp.dns_views[0].name #=> String
resp.dns_views[0].description #=> String
resp.dns_views[0].global_resolver_id #=> String
resp.dns_views[0].created_at #=> Time
resp.dns_views[0].updated_at #=> Time
resp.dns_views[0].status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to retrieve in a single call.

  • :next_token (String)

    A pagination token used for large sets of results that can't be returned in a single response.

  • :global_resolver_id (required, String)

    The Global Resolver ID.

Returns:

See Also:



2349
2350
2351
2352
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2349

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

#list_firewall_domain_lists(params = {}) ⇒ Types::ListFirewallDomainListsOutput

Lists all firewall domain lists for a Route 53 Global Resolver with pagination support.

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_firewall_domain_lists({
  max_results: 1,
  next_token: "String",
  global_resolver_id: "ResourceId",
})

Response structure


resp.next_token #=> String
resp.firewall_domain_lists #=> Array
resp.firewall_domain_lists[0].arn #=> String
resp.firewall_domain_lists[0].global_resolver_id #=> String
resp.firewall_domain_lists[0].created_at #=> Time
resp.firewall_domain_lists[0].description #=> String
resp.firewall_domain_lists[0].id #=> String
resp.firewall_domain_lists[0].name #=> String
resp.firewall_domain_lists[0].status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.firewall_domain_lists[0].updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to retrieve in a single call.

  • :next_token (String)

    A pagination token used for large sets of results that can't be returned in a single response.

  • :global_resolver_id (String)

    The ID of the Global Resolver that contains the DNS view the domain lists are associated to.

Returns:

See Also:



2400
2401
2402
2403
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2400

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

#list_firewall_domains(params = {}) ⇒ Types::ListFirewallDomainsOutput

Lists all the domains in DNS Firewall domain list you have created.

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

Examples:

Request syntax with placeholder values


resp = client.list_firewall_domains({
  max_results: 1,
  next_token: "String",
  firewall_domain_list_id: "ResourceId", # required
})

Response structure


resp.next_token #=> String
resp.domains #=> Array
resp.domains[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to retrieve in a single call.

  • :next_token (String)

    A pagination token used for large sets of results that can't be returned in a single response.

  • :firewall_domain_list_id (required, String)

    ID of the DNS Firewall domain list.

Returns:

See Also:



2442
2443
2444
2445
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2442

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

#list_firewall_rules(params = {}) ⇒ Types::ListFirewallRulesOutput

Lists all DNS firewall rules for a DNS view with pagination support.

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_firewall_rules({
  max_results: 1,
  next_token: "String",
  dns_view_id: "ResourceId", # required
  filters: {
    "String" => ["String"],
  },
})

Response structure


resp.next_token #=> String
resp.firewall_rules #=> Array
resp.firewall_rules[0].action #=> String, one of "ALLOW", "ALERT", "BLOCK"
resp.firewall_rules[0].block_override_dns_type #=> String, one of "CNAME"
resp.firewall_rules[0].block_override_domain #=> String
resp.firewall_rules[0].block_override_ttl #=> Integer
resp.firewall_rules[0].block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
resp.firewall_rules[0].confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
resp.firewall_rules[0].created_at #=> Time
resp.firewall_rules[0].description #=> String
resp.firewall_rules[0].dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
resp.firewall_rules[0].firewall_domain_list_id #=> String
resp.firewall_rules[0].id #=> String
resp.firewall_rules[0].name #=> String
resp.firewall_rules[0].priority #=> Integer
resp.firewall_rules[0].dns_view_id #=> String
resp.firewall_rules[0].query_type #=> String
resp.firewall_rules[0].status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.firewall_rules[0].updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to retrieve in a single call.

  • :next_token (String)

    A pagination token used for large sets of results that can't be returned in a single response.

  • :dns_view_id (required, String)

    ID of the DNS view.

  • :filters (Hash<String,Array>)

    Values to filter the results.

Returns:

See Also:



2506
2507
2508
2509
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2506

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

#list_global_resolvers(params = {}) ⇒ Types::ListGlobalResolversOutput

Lists all Route 53 Global Resolver instances in your account with pagination support.

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_global_resolvers({
  max_results: 1,
  next_token: "String",
})

Response structure


resp.next_token #=> String
resp.global_resolvers #=> Array
resp.global_resolvers[0].id #=> String
resp.global_resolvers[0].arn #=> String
resp.global_resolvers[0].client_token #=> String
resp.global_resolvers[0].dns_name #=> String
resp.global_resolvers[0].observability_region #=> String
resp.global_resolvers[0].name #=> String
resp.global_resolvers[0].description #=> String
resp.global_resolvers[0].regions #=> Array
resp.global_resolvers[0].regions[0] #=> String
resp.global_resolvers[0].created_at #=> Time
resp.global_resolvers[0].updated_at #=> Time
resp.global_resolvers[0].status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.global_resolvers[0].ipv4_addresses #=> Array
resp.global_resolvers[0].ipv4_addresses[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of Route 53 Global Resolver instances to return in the response. Valid range is 1-100.

  • :next_token (String)

    The token for the next page of results. This value is returned in the response if there are more results to retrieve.

Returns:

See Also:



2559
2560
2561
2562
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2559

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

#list_hosted_zone_associations(params = {}) ⇒ Types::ListHostedZoneAssociationsOutput

Lists all hosted zone associations for a Route 53 Global Resolver resource with pagination support.

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_hosted_zone_associations({
  max_results: 1,
  next_token: "String",
  resource_arn: "ResourceArn", # required
})

Response structure


resp.next_token #=> String
resp.hosted_zone_associations #=> Array
resp.hosted_zone_associations[0].id #=> String
resp.hosted_zone_associations[0].resource_arn #=> String
resp.hosted_zone_associations[0].hosted_zone_id #=> String
resp.hosted_zone_associations[0].hosted_zone_name #=> String
resp.hosted_zone_associations[0].name #=> String
resp.hosted_zone_associations[0].created_at #=> Time
resp.hosted_zone_associations[0].updated_at #=> Time
resp.hosted_zone_associations[0].status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to retrieve in a single call.

  • :next_token (String)

    A pagination token used for large sets of results that can't be returned in a single response.

  • :resource_arn (required, String)

    Amazon Resource Name (ARN) of the DNS view.

Returns:

See Also:



2609
2610
2611
2612
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2609

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

#list_managed_firewall_domain_lists(params = {}) ⇒ Types::ListManagedFirewallDomainListsOutput

Returns a paginated list of the AWS Managed DNS Lists and the categories for DNS Firewall. The categories are either THREAT or CONTENT.

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_managed_firewall_domain_lists({
  max_results: 1,
  next_token: "String",
  managed_firewall_domain_list_type: "String", # required
})

Response structure


resp.next_token #=> String
resp.managed_firewall_domain_lists #=> Array
resp.managed_firewall_domain_lists[0].description #=> String
resp.managed_firewall_domain_lists[0].id #=> String
resp.managed_firewall_domain_lists[0].name #=> String
resp.managed_firewall_domain_lists[0].managed_list_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to retrieve in a single call.

  • :next_token (String)

    A pagination token used for large sets of results that can't be returned in a single response.

  • :managed_firewall_domain_list_type (required, String)

    The category of the Manage DNS list either THREAT or CONTENT.

Returns:

See Also:



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

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

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

Lists the tags associated with a Route 53 Global Resolver resource.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    Amazon Resource Name (ARN) for the resource.

Returns:

See Also:



2685
2686
2687
2688
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2685

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

#tag_resource(params = {}) ⇒ Struct

Adds or updates tags for a Route 53 Global Resolver resource. Tags are key-value pairs that help you organize and identify your resources.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    Amazon Resource Name (ARN) of the resource to be tagged.

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

    An array of user-defined keys and optional values. These tags can be used for categorization and organization.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2715
2716
2717
2718
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2715

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

#untag_resource(params = {}) ⇒ Struct

Removes tags from a Route 53 Global Resolver resource.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    Amazon Resource Name (ARN) of the resource.

  • :tag_keys (required, Array<String>)

    The tag keys associated with the resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2741
2742
2743
2744
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2741

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

#update_access_source(params = {}) ⇒ Types::UpdateAccessSourceOutput

Updates the configuration of an access source.

Examples:

Request syntax with placeholder values


resp = client.update_access_source({
  access_source_id: "ResourceId", # required
  cidr: "Cidr",
  ip_address_type: "IPV4", # accepts IPV4, IPV6
  name: "ResourceNameShort",
  protocol: "DO53", # accepts DO53, DOH, DOT
})

Response structure


resp.arn #=> String
resp.cidr #=> String
resp.created_at #=> Time
resp.id #=> String
resp.ip_address_type #=> String, one of "IPV4", "IPV6"
resp.name #=> String
resp.dns_view_id #=> String
resp.protocol #=> String, one of "DO53", "DOH", "DOT"
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :access_source_id (required, String)

    The unique identifier of the access source to update.

  • :cidr (String)

    The CIDR block for the access source.

  • :ip_address_type (String)

    The IP address type for the access source.

  • :name (String)

    The name of the access source.

  • :protocol (String)

    The protocol for the access source.

Returns:

See Also:



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

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

#update_access_token(params = {}) ⇒ Types::UpdateAccessTokenOutput

Updates the configuration of an access token.

Examples:

Request syntax with placeholder values


resp = client.update_access_token({
  access_token_id: "ResourceId", # required
  name: "ResourceNameShort", # required
})

Response structure


resp.id #=> String
resp.name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :access_token_id (required, String)

    The ID of the token.

  • :name (required, String)

    The new name of the token.

Returns:

See Also:



2837
2838
2839
2840
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2837

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

#update_dns_view(params = {}) ⇒ Types::UpdateDNSViewOutput

Updates the configuration of a DNS view.

Examples:

Request syntax with placeholder values


resp = client.update_dns_view({
  dns_view_id: "ResourceId", # required
  name: "ResourceName",
  description: "ResourceDescription",
  dnssec_validation: "ENABLED", # accepts ENABLED, DISABLED
  edns_client_subnet: "ENABLED", # accepts ENABLED, DISABLED
  firewall_rules_fail_open: "ENABLED", # accepts ENABLED, DISABLED
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.client_token #=> String
resp.dnssec_validation #=> String, one of "ENABLED", "DISABLED"
resp.edns_client_subnet #=> String, one of "ENABLED", "DISABLED"
resp.firewall_rules_fail_open #=> String, one of "ENABLED", "DISABLED"
resp.name #=> String
resp.description #=> String
resp.global_resolver_id #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "ENABLING", "DISABLING", "DISABLED", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :dns_view_id (required, String)

    The unique identifier of the DNS view to update.

  • :name (String)

    The name of the DNS view.

  • :description (String)

    A description of the DNS view.

  • :dnssec_validation (String)

    Whether to enable DNSSEC validation for the DNS view.

  • :edns_client_subnet (String)

    Whether to enable EDNS Client Subnet injection for the DNS view.

  • :firewall_rules_fail_open (String)

    Whether firewall rules should fail open when they cannot be evaluated.

Returns:

See Also:



2907
2908
2909
2910
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2907

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

#update_firewall_domains(params = {}) ⇒ Types::UpdateFirewallDomainsOutput

Updates a DNS Firewall domain list from an array of specified domains.

Examples:

Request syntax with placeholder values


resp = client.update_firewall_domains({
  domains: ["Domain"], # required
  firewall_domain_list_id: "ResourceId", # required
  operation: "String", # required
})

Response structure


resp.id #=> String
resp.name #=> String
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :domains (required, Array<String>)

    A list of the domains. You can add up to 1000 domains per request.

  • :firewall_domain_list_id (required, String)

    The ID of the DNS Firewall domain list to which you want to add the domains.

  • :operation (required, String)

    The operation for updating the domain list. The allowed values are ADD, REMOVE, and REPLACE.

Returns:

See Also:



2949
2950
2951
2952
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 2949

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

#update_firewall_rule(params = {}) ⇒ Types::UpdateFirewallRuleOutput

Updates the configuration of a DNS firewall rule.

Examples:

Request syntax with placeholder values


resp = client.update_firewall_rule({
  action: "ALLOW", # accepts ALLOW, ALERT, BLOCK
  block_override_dns_type: "CNAME", # accepts CNAME
  block_override_domain: "Domain",
  block_override_ttl: 1,
  block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
  client_token: "ClientToken", # required
  confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
  description: "ResourceDescription",
  dns_advanced_protection: "DGA", # accepts DGA, DNS_TUNNELING
  firewall_rule_id: "ResourceId", # required
  name: "ResourceName",
  priority: 1,
})

Response structure


resp.action #=> String, one of "ALLOW", "ALERT", "BLOCK"
resp.block_override_dns_type #=> String, one of "CNAME"
resp.block_override_domain #=> String
resp.block_override_ttl #=> Integer
resp.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
resp.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
resp.created_at #=> Time
resp.description #=> String
resp.dns_advanced_protection #=> String, one of "DGA", "DNS_TUNNELING"
resp.firewall_domain_list_id #=> String
resp.id #=> String
resp.name #=> String
resp.priority #=> Integer
resp.dns_view_id #=> String
resp.query_type #=> String
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :action (String)

    The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advanced rule.

  • :block_override_dns_type (String)

    The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

  • :block_override_domain (String)

    The custom DNS record to send back in response to the query. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

  • :block_override_ttl (Integer)

    The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

  • :block_response (String)

    The way that you want DNS Firewall to block the request. Used for the rule action setting BLOCK.

  • :client_token (required, String)

    A unique, case-sensitive identifier to ensure idempotency. This means that making the same request multiple times with the same clientToken has the same result every time.

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

  • :confidence_threshold (String)

    The confidence threshold for DNS Firewall Advanced. You must provide this value when you create a DNS Firewall Advanced rule.

  • :description (String)

    The description for the Firewall rule.

  • :dns_advanced_protection (String)

    The type of the DNS Firewall Advanced rule. Valid values are DGA and DNS_TUNNELING.

  • :firewall_rule_id (required, String)

    The ID of the DNS Firewall rule.

  • :name (String)

    The name of the DNS Firewall rule.

  • :priority (Integer)

    The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.

Returns:

See Also:



3070
3071
3072
3073
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 3070

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

#update_global_resolver(params = {}) ⇒ Types::UpdateGlobalResolverOutput

Updates the configuration of a Route 53 Global Resolver instance. You can modify the name, description, and observability region.

Examples:

Request syntax with placeholder values


resp = client.update_global_resolver({
  global_resolver_id: "ResourceId", # required
  name: "ResourceName",
  observability_region: "Region",
  description: "ResourceDescription",
})

Response structure


resp.id #=> String
resp.arn #=> String
resp.client_token #=> String
resp.dns_name #=> String
resp.observability_region #=> String
resp.name #=> String
resp.description #=> String
resp.regions #=> Array
resp.regions[0] #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "DELETING"
resp.ipv4_addresses #=> Array
resp.ipv4_addresses[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :global_resolver_id (required, String)

    The ID of the Global Resolver.

  • :name (String)

    The name of the Global Resolver.

  • :observability_region (String)

    The AWS Regions in which the users' Global Resolver query resolution logs will be propagated.

  • :description (String)

    The description of the Global Resolver.

Returns:

See Also:



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

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

#update_hosted_zone_association(params = {}) ⇒ Types::UpdateHostedZoneAssociationOutput

Updates the configuration of a hosted zone association.

Examples:

Request syntax with placeholder values


resp = client.update_hosted_zone_association({
  hosted_zone_association_id: "ResourceId", # required
  name: "ResourceName",
})

Response structure


resp.id #=> String
resp.resource_arn #=> String
resp.hosted_zone_id #=> String
resp.hosted_zone_name #=> String
resp.name #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.status #=> String, one of "CREATING", "OPERATIONAL", "DELETING"

Parameters:

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

    ({})

Options Hash (params):

  • :hosted_zone_association_id (required, String)

    The ID of the private hosted zone association.

  • :name (String)

    The name you want to update the hosted zone association to.

Returns:

See Also:



3182
3183
3184
3185
# File 'gems/aws-sdk-route53globalresolver/lib/aws-sdk-route53globalresolver/client.rb', line 3182

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