# frozen_string_literal: true
# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE
module Aws::ServiceDiscovery
module Types
# @note When making an API call, you may pass CreateHttpNamespaceRequest
# data as a hash:
#
# {
# name: "NamespaceNameHttp", # required
# creator_request_id: "ResourceId",
# description: "ResourceDescription",
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# }
#
# @!attribute [rw] name
# The name that you want to assign to this namespace.
# @return [String]
#
# @!attribute [rw] creator_request_id
# A unique string that identifies the request and that allows failed
# `CreateHttpNamespace` requests to be retried without the risk of
# running the operation twice. `CreatorRequestId` can be any unique
# string (for example, a date/time stamp).
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] description
# A description for the namespace.
# @return [String]
#
# @!attribute [rw] tags
# The tags to add to the namespace. Each tag consists of a key and an
# optional value that you define. Tags keys can be up to 128
# characters in length, and tag values can be up to 256 characters in
# length.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateHttpNamespaceRequest AWS API Documentation
#
class CreateHttpNamespaceRequest < Struct.new(
:name,
:creator_request_id,
:description,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] operation_id
# A value that you can use to determine whether the request completed
# successfully. To get the status of the operation, see
# [GetOperation][1].
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateHttpNamespaceResponse AWS API Documentation
#
class CreateHttpNamespaceResponse < Struct.new(
:operation_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreatePrivateDnsNamespaceRequest
# data as a hash:
#
# {
# name: "NamespaceNamePrivate", # required
# creator_request_id: "ResourceId",
# description: "ResourceDescription",
# vpc: "ResourceId", # required
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# properties: {
# dns_properties: { # required
# soa: { # required
# ttl: 1, # required
# },
# },
# },
# }
#
# @!attribute [rw] name
# The name that you want to assign to this namespace. When you create
# a private DNS namespace, Cloud Map automatically creates an Amazon
# Route 53 private hosted zone that has the same name as the
# namespace.
# @return [String]
#
# @!attribute [rw] creator_request_id
# A unique string that identifies the request and that allows failed
# `CreatePrivateDnsNamespace` requests to be retried without the risk
# of running the operation twice. `CreatorRequestId` can be any unique
# string (for example, a date/timestamp).
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] description
# A description for the namespace.
# @return [String]
#
# @!attribute [rw] vpc
# The ID of the Amazon VPC that you want to associate the namespace
# with.
# @return [String]
#
# @!attribute [rw] tags
# The tags to add to the namespace. Each tag consists of a key and an
# optional value that you define. Tags keys can be up to 128
# characters in length, and tag values can be up to 256 characters in
# length.
# @return [Array]
#
# @!attribute [rw] properties
# Properties for the private DNS namespace.
# @return [Types::PrivateDnsNamespaceProperties]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePrivateDnsNamespaceRequest AWS API Documentation
#
class CreatePrivateDnsNamespaceRequest < Struct.new(
:name,
:creator_request_id,
:description,
:vpc,
:tags,
:properties)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] operation_id
# A value that you can use to determine whether the request completed
# successfully. To get the status of the operation, see
# [GetOperation][1].
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePrivateDnsNamespaceResponse AWS API Documentation
#
class CreatePrivateDnsNamespaceResponse < Struct.new(
:operation_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreatePublicDnsNamespaceRequest
# data as a hash:
#
# {
# name: "NamespaceNamePublic", # required
# creator_request_id: "ResourceId",
# description: "ResourceDescription",
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# properties: {
# dns_properties: { # required
# soa: { # required
# ttl: 1, # required
# },
# },
# },
# }
#
# @!attribute [rw] name
# The name that you want to assign to this namespace.
# @return [String]
#
# @!attribute [rw] creator_request_id
# A unique string that identifies the request and that allows failed
# `CreatePublicDnsNamespace` requests to be retried without the risk
# of running the operation twice. `CreatorRequestId` can be any unique
# string (for example, a date/timestamp).
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] description
# A description for the namespace.
# @return [String]
#
# @!attribute [rw] tags
# The tags to add to the namespace. Each tag consists of a key and an
# optional value that you define. Tags keys can be up to 128
# characters in length, and tag values can be up to 256 characters in
# length.
# @return [Array]
#
# @!attribute [rw] properties
# Properties for the public DNS namespace.
# @return [Types::PublicDnsNamespaceProperties]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePublicDnsNamespaceRequest AWS API Documentation
#
class CreatePublicDnsNamespaceRequest < Struct.new(
:name,
:creator_request_id,
:description,
:tags,
:properties)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] operation_id
# A value that you can use to determine whether the request completed
# successfully. To get the status of the operation, see
# [GetOperation][1].
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePublicDnsNamespaceResponse AWS API Documentation
#
class CreatePublicDnsNamespaceResponse < Struct.new(
:operation_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateServiceRequest
# data as a hash:
#
# {
# name: "ServiceName", # required
# namespace_id: "ResourceId",
# creator_request_id: "ResourceId",
# description: "ResourceDescription",
# dns_config: {
# namespace_id: "ResourceId",
# routing_policy: "MULTIVALUE", # accepts MULTIVALUE, WEIGHTED
# dns_records: [ # required
# {
# type: "SRV", # required, accepts SRV, A, AAAA, CNAME
# ttl: 1, # required
# },
# ],
# },
# health_check_config: {
# type: "HTTP", # required, accepts HTTP, HTTPS, TCP
# resource_path: "ResourcePath",
# failure_threshold: 1,
# },
# health_check_custom_config: {
# failure_threshold: 1,
# },
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# type: "HTTP", # accepts HTTP
# }
#
# @!attribute [rw] name
# The name that you want to assign to the service.
#
# If you want Cloud Map to create an `SRV` record when you register an
# instance and you're using a system that requires a specific `SRV`
# format, such as [HAProxy][1], specify the following for `Name`\:
#
# * Start the name with an underscore (\_), such as `_exampleservice`.
#
# * End the name with *.\_protocol*, such as `._tcp`.
#
# When you register an instance, Cloud Map creates an `SRV` record and
# assigns a name to the record by concatenating the service name and
# the namespace name (for example,
#
# `_exampleservice._tcp.example.com`).
#
# For services that are accessible by DNS queries, you can't create
# multiple services with names that differ only by case (such as
# EXAMPLE and example). Otherwise, these services have the same DNS
# name and can't be distinguished. However, if you use a namespace
# that's only accessible by API calls, then you can create services
# that with names that differ only by case.
#
#
#
#
#
# [1]: http://www.haproxy.org/
# @return [String]
#
# @!attribute [rw] namespace_id
# The ID of the namespace that you want to use to create the service.
# The namespace ID must be specified, but it can be specified either
# here or in the `DnsConfig` object.
# @return [String]
#
# @!attribute [rw] creator_request_id
# A unique string that identifies the request and that allows failed
# `CreateService` requests to be retried without the risk of running
# the operation twice. `CreatorRequestId` can be any unique string
# (for example, a date/timestamp).
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] description
# A description for the service.
# @return [String]
#
# @!attribute [rw] dns_config
# A complex type that contains information about the Amazon Route 53
# records that you want Cloud Map to create when you register an
# instance.
# @return [Types::DnsConfig]
#
# @!attribute [rw] health_check_config
# *Public DNS and HTTP namespaces only.* A complex type that contains
# settings for an optional Route 53 health check. If you specify
# settings for a health check, Cloud Map associates the health check
# with all the Route 53 DNS records that you specify in `DnsConfig`.
#
# If you specify a health check configuration, you can specify either
# `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
#
# For information about the charges for health checks, see [Cloud Map
# Pricing][1].
#
#
#
# [1]: http://aws.amazon.com/cloud-map/pricing/
# @return [Types::HealthCheckConfig]
#
# @!attribute [rw] health_check_custom_config
# A complex type that contains information about an optional custom
# health check.
#
# If you specify a health check configuration, you can specify either
# `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
#
# You can't add, update, or delete a `HealthCheckCustomConfig`
# configuration from an existing service.
# @return [Types::HealthCheckCustomConfig]
#
# @!attribute [rw] tags
# The tags to add to the service. Each tag consists of a key and an
# optional value that you define. Tags keys can be up to 128
# characters in length, and tag values can be up to 256 characters in
# length.
# @return [Array]
#
# @!attribute [rw] type
# If present, specifies that the service instances are only
# discoverable using the `DiscoverInstances` API operation. No DNS
# records is registered for the service instances. The only valid
# value is `HTTP`.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateServiceRequest AWS API Documentation
#
class CreateServiceRequest < Struct.new(
:name,
:namespace_id,
:creator_request_id,
:description,
:dns_config,
:health_check_config,
:health_check_custom_config,
:tags,
:type)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] service
# A complex type that contains information about the new service.
# @return [Types::Service]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateServiceResponse AWS API Documentation
#
class CreateServiceResponse < Struct.new(
:service)
SENSITIVE = []
include Aws::Structure
end
# The health check for the instance that's specified by `ServiceId` and
# `InstanceId` isn't a custom health check.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CustomHealthNotFound AWS API Documentation
#
class CustomHealthNotFound < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteNamespaceRequest
# data as a hash:
#
# {
# id: "ResourceId", # required
# }
#
# @!attribute [rw] id
# The ID of the namespace that you want to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteNamespaceRequest AWS API Documentation
#
class DeleteNamespaceRequest < Struct.new(
:id)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] operation_id
# A value that you can use to determine whether the request completed
# successfully. To get the status of the operation, see
# [GetOperation][1].
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteNamespaceResponse AWS API Documentation
#
class DeleteNamespaceResponse < Struct.new(
:operation_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteServiceRequest
# data as a hash:
#
# {
# id: "ResourceId", # required
# }
#
# @!attribute [rw] id
# The ID of the service that you want to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteServiceRequest AWS API Documentation
#
class DeleteServiceRequest < Struct.new(
:id)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteServiceResponse AWS API Documentation
#
class DeleteServiceResponse < Aws::EmptyStructure; end
# @note When making an API call, you may pass DeregisterInstanceRequest
# data as a hash:
#
# {
# service_id: "ResourceId", # required
# instance_id: "ResourceId", # required
# }
#
# @!attribute [rw] service_id
# The ID of the service that the instance is associated with.
# @return [String]
#
# @!attribute [rw] instance_id
# The value that you specified for `Id` in the [RegisterInstance][1]
# request.
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeregisterInstanceRequest AWS API Documentation
#
class DeregisterInstanceRequest < Struct.new(
:service_id,
:instance_id)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] operation_id
# A value that you can use to determine whether the request completed
# successfully. To get the status of the operation, see
# [GetOperation][1].
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeregisterInstanceResponse AWS API Documentation
#
class DeregisterInstanceResponse < Struct.new(
:operation_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DiscoverInstancesRequest
# data as a hash:
#
# {
# namespace_name: "NamespaceName", # required
# service_name: "ServiceName", # required
# max_results: 1,
# query_parameters: {
# "AttrKey" => "AttrValue",
# },
# optional_parameters: {
# "AttrKey" => "AttrValue",
# },
# health_status: "HEALTHY", # accepts HEALTHY, UNHEALTHY, ALL, HEALTHY_OR_ELSE_ALL
# }
#
# @!attribute [rw] namespace_name
# The `HttpName` name of the namespace. It's found in the
# `HttpProperties` member of the `Properties` member of the namespace.
# @return [String]
#
# @!attribute [rw] service_name
# The name of the service that you specified when you registered the
# instance.
# @return [String]
#
# @!attribute [rw] max_results
# The maximum number of instances that you want Cloud Map to return in
# the response to a `DiscoverInstances` request. If you don't specify
# a value for `MaxResults`, Cloud Map returns up to 100 instances.
# @return [Integer]
#
# @!attribute [rw] query_parameters
# Filters to scope the results based on custom attributes for the
# instance (for example, `\{version=v1, az=1a\}`). Only instances that
# match all the specified key-value pairs are returned.
# @return [Hash]
#
# @!attribute [rw] optional_parameters
# Opportunistic filters to scope the results based on custom
# attributes. If there are instances that match both the filters
# specified in both the `QueryParameters` parameter and this
# parameter, all of these instances are returned. Otherwise, the
# filters are ignored, and only instances that match the filters that
# are specified in the `QueryParameters` parameter are returned.
# @return [Hash]
#
# @!attribute [rw] health_status
# The health status of the instances that you want to discover. This
# parameter is ignored for services that don't have a health check
# configured, and all instances are returned.
#
# HEALTHY
#
# : Returns healthy instances.
#
# UNHEALTHY
#
# : Returns unhealthy instances.
#
# ALL
#
# : Returns all instances.
#
# HEALTHY\_OR\_ELSE\_ALL
#
# : Returns healthy instances, unless none are reporting a healthy
# state. In that case, return all instances. This is also called
# failing open.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DiscoverInstancesRequest AWS API Documentation
#
class DiscoverInstancesRequest < Struct.new(
:namespace_name,
:service_name,
:max_results,
:query_parameters,
:optional_parameters,
:health_status)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] instances
# A complex type that contains one `HttpInstanceSummary` for each
# registered instance.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DiscoverInstancesResponse AWS API Documentation
#
class DiscoverInstancesResponse < Struct.new(
:instances)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains information about the Amazon Route 53 DNS
# records that you want Cloud Map to create when you register an
# instance.
#
# @note When making an API call, you may pass DnsConfig
# data as a hash:
#
# {
# namespace_id: "ResourceId",
# routing_policy: "MULTIVALUE", # accepts MULTIVALUE, WEIGHTED
# dns_records: [ # required
# {
# type: "SRV", # required, accepts SRV, A, AAAA, CNAME
# ttl: 1, # required
# },
# ],
# }
#
# @!attribute [rw] namespace_id
# The ID of the namespace to use for DNS configuration.
# @return [String]
#
# @!attribute [rw] routing_policy
# The routing policy that you want to apply to all Route 53 DNS
# records that Cloud Map creates when you register an instance and
# specify this service.
#
# If you want to use this service to register instances that create
# alias records, specify `WEIGHTED` for the routing policy.
#
#
#
# You can specify the following values:
#
# MULTIVALUE
#
# : If you define a health check for the service and the health check
# is healthy, Route 53 returns the applicable value for up to eight
# instances.
#
# For example, suppose that the service includes configurations for
# one `A` record and a health check. You use the service to register
# 10 instances. Route 53 responds to DNS queries with IP addresses
# for up to eight healthy instances. If fewer than eight instances
# are healthy, Route 53 responds to every DNS query with the IP
# addresses for all of the healthy instances.
#
# If you don't define a health check for the service, Route 53
# assumes that all instances are healthy and returns the values for
# up to eight instances.
#
# For more information about the multivalue routing policy, see
# [Multivalue Answer Routing][1] in the *Route 53 Developer Guide*.
#
# WEIGHTED
#
# : Route 53 returns the applicable value from one randomly selected
# instance from among the instances that you registered using the
# same service. Currently, all records have the same weight, so you
# can't route more or less traffic to any instances.
#
# For example, suppose that the service includes configurations for
# one `A` record and a health check. You use the service to register
# 10 instances. Route 53 responds to DNS queries with the IP address
# for one randomly selected instance from among the healthy
# instances. If no instances are healthy, Route 53 responds to DNS
# queries as if all of the instances were healthy.
#
# If you don't define a health check for the service, Route 53
# assumes that all instances are healthy and returns the applicable
# value for one randomly selected instance.
#
# For more information about the weighted routing policy, see
# [Weighted Routing][2] in the *Route 53 Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-multivalue
# [2]: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted
# @return [String]
#
# @!attribute [rw] dns_records
# An array that contains one `DnsRecord` object for each Route 53 DNS
# record that you want Cloud Map to create when you register an
# instance.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsConfig AWS API Documentation
#
class DnsConfig < Struct.new(
:namespace_id,
:routing_policy,
:dns_records)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains information about changes to the Route 53
# DNS records that Cloud Map creates when you register an instance.
#
# @note When making an API call, you may pass DnsConfigChange
# data as a hash:
#
# {
# dns_records: [ # required
# {
# type: "SRV", # required, accepts SRV, A, AAAA, CNAME
# ttl: 1, # required
# },
# ],
# }
#
# @!attribute [rw] dns_records
# An array that contains one `DnsRecord` object for each Route 53
# record that you want Cloud Map to create when you register an
# instance.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsConfigChange AWS API Documentation
#
class DnsConfigChange < Struct.new(
:dns_records)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains the ID for the Route 53 hosted zone that
# Cloud Map creates when you create a namespace.
#
# @!attribute [rw] hosted_zone_id
# The ID for the Route 53 hosted zone that Cloud Map creates when you
# create a namespace.
# @return [String]
#
# @!attribute [rw] soa
# Start of Authority (SOA) record for the hosted zone.
# @return [Types::SOA]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsProperties AWS API Documentation
#
class DnsProperties < Struct.new(
:hosted_zone_id,
:soa)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains information about the Route 53 DNS
# records that you want Cloud Map to create when you register an
# instance.
#
# @note When making an API call, you may pass DnsRecord
# data as a hash:
#
# {
# type: "SRV", # required, accepts SRV, A, AAAA, CNAME
# ttl: 1, # required
# }
#
# @!attribute [rw] type
# The type of the resource, which indicates the type of value that
# Route 53 returns in response to DNS queries. You can specify values
# for `Type` in the following combinations:
#
# * A
#
# * AAAA
#
# * A
and AAAA
#
# * SRV
#
# * CNAME
#
# If you want Cloud Map to create a Route 53 alias record when you
# register an instance, specify `A` or `AAAA` for `Type`.
#
# You specify other settings, such as the IP address for `A` and
# `AAAA` records, when you register an instance. For more information,
# see [RegisterInstance][1].
#
# The following values are supported:
#
# A
#
# : Route 53 returns the IP address of the resource in IPv4 format,
# such as 192.0.2.44.
#
# AAAA
#
# : Route 53 returns the IP address of the resource in IPv6 format,
# such as 2001:0db8:85a3:0000:0000:abcd:0001:2345.
#
# CNAME
#
# : Route 53 returns the domain name of the resource, such as
# www.example.com. Note the following:
#
# * You specify the domain name that you want to route traffic to
# when you register an instance. For more information, see
# [Attributes][2] in the topic [RegisterInstance][1].
#
# * You must specify `WEIGHTED` for the value of `RoutingPolicy`.
#
# * You can't specify both `CNAME` for `Type` and settings for
# `HealthCheckConfig`. If you do, the request will fail with an
# `InvalidInput` error.
#
# SRV
#
# : Route 53 returns the value for an `SRV` record. The value for an
# `SRV` record uses the following values:
#
# `priority weight port service-hostname`
#
# Note the following about the values:
#
# * The values of `priority` and `weight` are both set to `1` and
# can't be changed.
#
# * The value of `port` comes from the value that you specify for
# the `AWS_INSTANCE_PORT` attribute when you submit a
# [RegisterInstance][1] request.
#
# * The value of `service-hostname` is a concatenation of the
# following values:
#
# * The value that you specify for `InstanceId` when you register
# an instance.
#
# * The name of the service.
#
# * The name of the namespace.
#
# For example, if the value of `InstanceId` is `test`, the name of
# the service is `backend`, and the name of the namespace is
# `example.com`, the value of `service-hostname` is the following:
#
# `test.backend.example.com`
#
# If you specify settings for an `SRV` record, note the following:
#
# * If you specify values for `AWS_INSTANCE_IPV4`,
# `AWS_INSTANCE_IPV6`, or both in the `RegisterInstance` request,
# Cloud Map automatically creates `A` and/or `AAAA` records that
# have the same name as the value of `service-hostname` in the
# `SRV` record. You can ignore these records.
#
# * If you're using a system that requires a specific `SRV` format,
# such as HAProxy, see the [Name][3] element in the documentation
# about `CreateService` for information about how to specify the
# correct name format.
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html
# [2]: https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html#cloudmap-RegisterInstance-request-Attributes
# [3]: https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html#cloudmap-CreateService-request-Name
# @return [String]
#
# @!attribute [rw] ttl
# The amount of time, in seconds, that you want DNS resolvers to cache
# the settings for this record.
#
# Alias records don't include a TTL because Route 53 uses the TTL for
# the Amazon Web Services resource that an alias record routes traffic
# to. If you include the `AWS_ALIAS_DNS_NAME` attribute when you
# submit a [RegisterInstance][1] request, the `TTL` value is ignored.
# Always specify a TTL for the service; you can use a service to
# register instances that create either alias or non-alias records.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsRecord AWS API Documentation
#
class DnsRecord < Struct.new(
:type,
:ttl)
SENSITIVE = []
include Aws::Structure
end
# The operation is already in progress.
#
# @!attribute [rw] message
# @return [String]
#
# @!attribute [rw] duplicate_operation_id
# The ID of the operation that's already in progress.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DuplicateRequest AWS API Documentation
#
class DuplicateRequest < Struct.new(
:message,
:duplicate_operation_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetInstanceRequest
# data as a hash:
#
# {
# service_id: "ResourceId", # required
# instance_id: "ResourceId", # required
# }
#
# @!attribute [rw] service_id
# The ID of the service that the instance is associated with.
# @return [String]
#
# @!attribute [rw] instance_id
# The ID of the instance that you want to get information about.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetInstanceRequest AWS API Documentation
#
class GetInstanceRequest < Struct.new(
:service_id,
:instance_id)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] instance
# A complex type that contains information about a specified instance.
# @return [Types::Instance]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetInstanceResponse AWS API Documentation
#
class GetInstanceResponse < Struct.new(
:instance)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetInstancesHealthStatusRequest
# data as a hash:
#
# {
# service_id: "ResourceId", # required
# instances: ["ResourceId"],
# max_results: 1,
# next_token: "NextToken",
# }
#
# @!attribute [rw] service_id
# The ID of the service that the instance is associated with.
# @return [String]
#
# @!attribute [rw] instances
# An array that contains the IDs of all the instances that you want to
# get the health status for.
#
# If you omit `Instances`, Cloud Map returns the health status for all
# the instances that are associated with the specified service.
#
# To get the IDs for the instances that you've registered by using a
# specified service, submit a [ListInstances][1] request.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_ListInstances.html
# @return [Array]
#
# @!attribute [rw] max_results
# The maximum number of instances that you want Cloud Map to return in
# the response to a `GetInstancesHealthStatus` request. If you don't
# specify a value for `MaxResults`, Cloud Map returns up to 100
# instances.
# @return [Integer]
#
# @!attribute [rw] next_token
# For the first `GetInstancesHealthStatus` request, omit this value.
#
# If more than `MaxResults` instances match the specified criteria,
# you can submit another `GetInstancesHealthStatus` request to get the
# next group of results. Specify the value of `NextToken` from the
# previous response in the next request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetInstancesHealthStatusRequest AWS API Documentation
#
class GetInstancesHealthStatusRequest < Struct.new(
:service_id,
:instances,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] status
# A complex type that contains the IDs and the health status of the
# instances that you specified in the `GetInstancesHealthStatus`
# request.
# @return [Hash]
#
# @!attribute [rw] next_token
# If more than `MaxResults` instances match the specified criteria,
# you can submit another `GetInstancesHealthStatus` request to get the
# next group of results. Specify the value of `NextToken` from the
# previous response in the next request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetInstancesHealthStatusResponse AWS API Documentation
#
class GetInstancesHealthStatusResponse < Struct.new(
:status,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetNamespaceRequest
# data as a hash:
#
# {
# id: "ResourceId", # required
# }
#
# @!attribute [rw] id
# The ID of the namespace that you want to get information about.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetNamespaceRequest AWS API Documentation
#
class GetNamespaceRequest < Struct.new(
:id)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] namespace
# A complex type that contains information about the specified
# namespace.
# @return [Types::Namespace]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetNamespaceResponse AWS API Documentation
#
class GetNamespaceResponse < Struct.new(
:namespace)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetOperationRequest
# data as a hash:
#
# {
# operation_id: "ResourceId", # required
# }
#
# @!attribute [rw] operation_id
# The ID of the operation that you want to get more information about.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetOperationRequest AWS API Documentation
#
class GetOperationRequest < Struct.new(
:operation_id)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] operation
# A complex type that contains information about the operation.
# @return [Types::Operation]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetOperationResponse AWS API Documentation
#
class GetOperationResponse < Struct.new(
:operation)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetServiceRequest
# data as a hash:
#
# {
# id: "ResourceId", # required
# }
#
# @!attribute [rw] id
# The ID of the service that you want to get settings for.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetServiceRequest AWS API Documentation
#
class GetServiceRequest < Struct.new(
:id)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] service
# A complex type that contains information about the service.
# @return [Types::Service]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetServiceResponse AWS API Documentation
#
class GetServiceResponse < Struct.new(
:service)
SENSITIVE = []
include Aws::Structure
end
# *Public DNS and HTTP namespaces only.* A complex type that contains
# settings for an optional health check. If you specify settings for a
# health check, Cloud Map associates the health check with the records
# that you specify in `DnsConfig`.
#
# If you specify a health check configuration, you can specify either
# `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
#
# Health checks are basic Route 53 health checks that monitor an Amazon
# Web Services endpoint. For information about pricing for health
# checks, see [Amazon Route 53 Pricing][1].
#
# Note the following about configuring health checks.
#
# A and AAAA records
#
# : If `DnsConfig` includes configurations for both `A` and `AAAA`
# records, Cloud Map creates a health check that uses the IPv4 address
# to check the health of the resource. If the endpoint tthat's
# specified by the IPv4 address is unhealthy, Route 53 considers both
# the `A` and `AAAA` records to be unhealthy.
#
# CNAME records
#
# : You can't specify settings for `HealthCheckConfig` when the
# `DNSConfig` includes `CNAME` for the value of `Type`. If you do, the
# `CreateService` request will fail with an `InvalidInput` error.
#
# Request interval
#
# : A Route 53 health checker in each health-checking Amazon Web
# Services Region sends a health check request to an endpoint every 30
# seconds. On average, your endpoint receives a health check request
# about every two seconds. However, health checkers don't coordinate
# with one another. Therefore, you might sometimes see several
# requests in one second that's followed by a few seconds with no
# health checks at all.
#
# Health checking regions
#
# : Health checkers perform checks from all Route 53 health-checking
# Regions. For a list of the current Regions, see [Regions][2].
#
# Alias records
#
# : When you register an instance, if you include the
# `AWS_ALIAS_DNS_NAME` attribute, Cloud Map creates a Route 53 alias
# record. Note the following:
#
# * Route 53 automatically sets `EvaluateTargetHealth` to true for
# alias records. When `EvaluateTargetHealth` is true, the alias
# record inherits the health of the referenced Amazon Web Services
# resource. such as an ELB load balancer. For more information, see
# [EvaluateTargetHealth][3].
#
# * If you include `HealthCheckConfig` and then use the service to
# register an instance that creates an alias record, Route 53
# doesn't create the health check.
#
# Charges for health checks
#
# : Health checks are basic Route 53 health checks that monitor an
# Amazon Web Services endpoint. For information about pricing for
# health checks, see [Amazon Route 53 Pricing][1].
#
#
#
# [1]: http://aws.amazon.com/route53/pricing/
# [2]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions
# [3]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth
#
# @note When making an API call, you may pass HealthCheckConfig
# data as a hash:
#
# {
# type: "HTTP", # required, accepts HTTP, HTTPS, TCP
# resource_path: "ResourcePath",
# failure_threshold: 1,
# }
#
# @!attribute [rw] type
# The type of health check that you want to create, which indicates
# how Route 53 determines whether an endpoint is healthy.
#
# You can't change the value of `Type` after you create a health
# check.
#
# You can create the following types of health checks:
#
# * **HTTP**\: Route 53 tries to establish a TCP connection. If
# successful, Route 53 submits an HTTP request and waits for an HTTP
# status code of 200 or greater and less than 400.
#
# * **HTTPS**\: Route 53 tries to establish a TCP connection. If
# successful, Route 53 submits an HTTPS request and waits for an
# HTTP status code of 200 or greater and less than 400.
#
# If you specify HTTPS for the value of `Type`, the endpoint must
# support TLS v1.0 or later.
#
# * **TCP**\: Route 53 tries to establish a TCP connection.
#
# If you specify `TCP` for `Type`, don't specify a value for
# `ResourcePath`.
#
# For more information, see [How Route 53 Determines Whether an
# Endpoint Is Healthy][1] in the *Route 53 Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html
# @return [String]
#
# @!attribute [rw] resource_path
# The path that you want Route 53 to request when performing health
# checks. The path can be any value that your endpoint returns an HTTP
# status code of a 2xx or 3xx format for when the endpoint is healthy.
# An example file is `/docs/route53-health-check.html`. Route 53
# automatically adds the DNS name for the service. If you don't
# specify a value for `ResourcePath`, the default value is `/`.
#
# If you specify `TCP` for `Type`, you must *not* specify a value for
# `ResourcePath`.
# @return [String]
#
# @!attribute [rw] failure_threshold
# The number of consecutive health checks that an endpoint must pass
# or fail for Route 53 to change the current status of the endpoint
# from unhealthy to healthy or the other way around. For more
# information, see [How Route 53 Determines Whether an Endpoint Is
# Healthy][1] in the *Route 53 Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/HealthCheckConfig AWS API Documentation
#
class HealthCheckConfig < Struct.new(
:type,
:resource_path,
:failure_threshold)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains information about an optional custom
# health check. A custom health check, which requires that you use a
# third-party health checker to evaluate the health of your resources,
# is useful in the following circumstances:
#
# * You can't use a health check that's defined by `HealthCheckConfig`
# because the resource isn't available over the internet. For
# example, you can use a custom health check when the instance is in
# an Amazon VPC. (To check the health of resources in a VPC, the
# health checker must also be in the VPC.)
#
# * You want to use a third-party health checker regardless of where
# your resources are located.
#
# If you specify a health check configuration, you can specify either
# `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
#
# To change the status of a custom health check, submit an
# `UpdateInstanceCustomHealthStatus` request. Cloud Map doesn't monitor
# the status of the resource, it just keeps a record of the status
# specified in the most recent `UpdateInstanceCustomHealthStatus`
# request.
#
# Here's how custom health checks work:
#
# 1. You create a service.
#
# 2. You register an instance.
#
# 3. You configure a third-party health checker to monitor the resource
# that's associated with the new instance.
#
# Cloud Map doesn't check the health of the resource directly.
#
#
#
# 4. The third-party health-checker determines that the resource is
# unhealthy and notifies your application.
#
# 5. Your application submits an `UpdateInstanceCustomHealthStatus`
# request.
#
# 6. Cloud Map waits for 30 seconds.
#
# 7. If another `UpdateInstanceCustomHealthStatus` request doesn't
# arrive during that time to change the status back to healthy,
# Cloud Map stops routing traffic to the resource.
#
# @note When making an API call, you may pass HealthCheckCustomConfig
# data as a hash:
#
# {
# failure_threshold: 1,
# }
#
# @!attribute [rw] failure_threshold
# This parameter is no longer supported and is always set to 1. Cloud
# Map waits for approximately 30 seconds after receiving an
# `UpdateInstanceCustomHealthStatus` request before changing the
# status of the service instance.
#
# The number of 30-second intervals that you want Cloud Map to wait
# after receiving an `UpdateInstanceCustomHealthStatus` request before
# it changes the health status of a service instance.
#
# Sending a second or subsequent `UpdateInstanceCustomHealthStatus`
# request with the same value before 30 seconds has passed doesn't
# accelerate the change. Cloud Map still waits `30` seconds after the
# first request to make the change.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/HealthCheckCustomConfig AWS API Documentation
#
class HealthCheckCustomConfig < Struct.new(
:failure_threshold)
SENSITIVE = []
include Aws::Structure
end
# In a response to a [DiscoverInstances][1] request,
# `HttpInstanceSummary` contains information about one instance that
# matches the values that you specified in the request.
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html
#
# @!attribute [rw] instance_id
# The ID of an instance that matches the values that you specified in
# the request.
# @return [String]
#
# @!attribute [rw] namespace_name
# `
The HttpName name of the namespace. It's found in the
# HttpProperties member of the Properties member of the namespace.
# `
# @return [String]
#
# @!attribute [rw] service_name
# The name of the service that you specified when you registered the
# instance.
# @return [String]
#
# @!attribute [rw] health_status
# If you configured health checking in the service, the current health
# status of the service instance.
# @return [String]
#
# @!attribute [rw] attributes
# If you included any attributes when you registered the instance, the
# values of those attributes.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/HttpInstanceSummary AWS API Documentation
#
class HttpInstanceSummary < Struct.new(
:instance_id,
:namespace_name,
:service_name,
:health_status,
:attributes)
SENSITIVE = []
include Aws::Structure
end
# Updated properties for the HTTP namespace.
#
# @note When making an API call, you may pass HttpNamespaceChange
# data as a hash:
#
# {
# description: "ResourceDescription", # required
# }
#
# @!attribute [rw] description
# An updated description for the HTTP namespace.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/HttpNamespaceChange AWS API Documentation
#
class HttpNamespaceChange < Struct.new(
:description)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains the name of an HTTP namespace.
#
# @!attribute [rw] http_name
# The name of an HTTP namespace.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/HttpProperties AWS API Documentation
#
class HttpProperties < Struct.new(
:http_name)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains information about an instance that Cloud
# Map creates when you submit a `RegisterInstance` request.
#
# @!attribute [rw] id
# An identifier that you want to associate with the instance. Note the
# following:
#
# * If the service that's specified by `ServiceId` includes settings
# for an `SRV` record, the value of `InstanceId` is automatically
# included as part of the value for the `SRV` record. For more
# information, see [DnsRecord > Type][1].
#
# * You can use this value to update an existing instance.
#
# * To register a new instance, you must specify a value that's
# unique among instances that you register by using the same
# service.
#
# * If you specify an existing `InstanceId` and `ServiceId`, Cloud Map
# updates the existing DNS records. If there's also an existing
# health check, Cloud Map deletes the old health check and creates a
# new one.
#
# The health check isn't deleted immediately, so it will still
# appear for a while if you submit a `ListHealthChecks` request, for
# example.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_DnsRecord.html#cloudmap-Type-DnsRecord-Type
# @return [String]
#
# @!attribute [rw] creator_request_id
# A unique string that identifies the request and that allows failed
# `RegisterInstance` requests to be retried without the risk of
# executing the operation twice. You must use a unique
# `CreatorRequestId` string every time you submit a `RegisterInstance`
# request if you're registering additional instances for the same
# namespace and service. `CreatorRequestId` can be any unique string
# (for example, a date/time stamp).
# @return [String]
#
# @!attribute [rw] attributes
# A string map that contains the following information for the service
# that you specify in `ServiceId`\:
#
# * The attributes that apply to the records that are defined in the
# service.
#
# * For each attribute, the applicable value.
#
# Supported attribute keys include the following:
#
# AWS\_ALIAS\_DNS\_NAME
#
# : If you want Cloud Map to create a Route 53 alias record that
# routes traffic to an Elastic Load Balancing load balancer, specify
# the DNS name that's associated with the load balancer. For
# information about how to get the DNS name, see
# [AliasTarget->DNSName][1] in the *Route 53 API Reference*.
#
# Note the following:
#
# * The configuration for the service that's specified by
# `ServiceId` must include settings for an `A` record, an `AAAA`
# record, or both.
#
# * In the service that's specified by `ServiceId`, the value of
# `RoutingPolicy` must be `WEIGHTED`.
#
# * If the service that's specified by `ServiceId` includes
# `HealthCheckConfig` settings, Cloud Map creates the health
# check, but it won't associate the health check with the alias
# record.
#
# * Auto naming currently doesn't support creating alias records
# that route traffic to Amazon Web Services resources other than
# ELB load balancers.
#
# * If you specify a value for `AWS_ALIAS_DNS_NAME`, don't specify
# values for any of the `AWS_INSTANCE` attributes.
#
# AWS\_EC2\_INSTANCE\_ID
#
# : *HTTP namespaces only.* The Amazon EC2 instance ID for the
# instance. The `AWS_INSTANCE_IPV4` attribute contains the primary
# private IPv4 address.
#
# AWS\_INIT\_HEALTH\_STATUS
#
# : If the service configuration includes `HealthCheckCustomConfig`,
# you can optionally use `AWS_INIT_HEALTH_STATUS` to specify the
# initial status of the custom health check, `HEALTHY` or
# `UNHEALTHY`. If you don't specify a value for
# `AWS_INIT_HEALTH_STATUS`, the initial status is `HEALTHY`.
#
# AWS\_INSTANCE\_CNAME
#
# : If the service configuration includes a `CNAME` record, the domain
# name that you want Route 53 to return in response to DNS queries
# (for example, `example.com`).
#
# This value is required if the service specified by `ServiceId`
# includes settings for an `CNAME` record.
#
# AWS\_INSTANCE\_IPV4
#
# : If the service configuration includes an `A` record, the IPv4
# address that you want Route 53 to return in response to DNS
# queries (for example, `192.0.2.44`).
#
# This value is required if the service specified by `ServiceId`
# includes settings for an `A` record. If the service includes
# settings for an `SRV` record, you must specify a value for
# `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both.
#
# AWS\_INSTANCE\_IPV6
#
# : If the service configuration includes an `AAAA` record, the IPv6
# address that you want Route 53 to return in response to DNS
# queries (for example, `2001:0db8:85a3:0000:0000:abcd:0001:2345`).
#
# This value is required if the service specified by `ServiceId`
# includes settings for an `AAAA` record. If the service includes
# settings for an `SRV` record, you must specify a value for
# `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both.
#
# AWS\_INSTANCE\_PORT
#
# : If the service includes an `SRV` record, the value that you want
# Route 53 to return for the port.
#
# If the service includes `HealthCheckConfig`, the port on the
# endpoint that you want Route 53 to send requests to.
#
# This value is required if you specified settings for an `SRV`
# record or a Route 53 health check when you created the service.
#
#
#
# [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-DNSName
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Instance AWS API Documentation
#
class Instance < Struct.new(
:id,
:creator_request_id,
:attributes)
SENSITIVE = []
include Aws::Structure
end
# No instance exists with the specified ID, or the instance was recently
# registered, and information about the instance hasn't propagated yet.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/InstanceNotFound AWS API Documentation
#
class InstanceNotFound < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains information about the instances that you
# registered by using a specified service.
#
# @!attribute [rw] id
# The ID for an instance that you created by using a specified
# service.
# @return [String]
#
# @!attribute [rw] attributes
# A string map that contains the following information:
#
# * The attributes that are associated with the instance.
#
# * For each attribute, the applicable value.
#
# Supported attribute keys include the following:
#
# AWS\_ALIAS\_DNS\_NAME
#
# : For an alias record that routes traffic to an Elastic Load
# Balancing load balancer, the DNS name that's associated with the
# load balancer.
#
# AWS\_EC2\_INSTANCE\_ID (HTTP namespaces only)
#
# : The Amazon EC2 instance ID for the instance. When the
# `AWS_EC2_INSTANCE_ID` attribute is specified, then the
# `AWS_INSTANCE_IPV4` attribute contains the primary private IPv4
# address.
#
# AWS\_INIT\_HEALTH\_STATUS
#
# : If the service configuration includes `HealthCheckCustomConfig`,
# you can optionally use `AWS_INIT_HEALTH_STATUS` to specify the
# initial status of the custom health check, `HEALTHY` or
# `UNHEALTHY`. If you don't specify a value for
# `AWS_INIT_HEALTH_STATUS`, the initial status is `HEALTHY`.
#
# AWS\_INSTANCE\_CNAME
#
# : For a `CNAME` record, the domain name that Route 53 returns in
# response to DNS queries (for example, `example.com`).
#
# AWS\_INSTANCE\_IPV4
#
# : For an `A` record, the IPv4 address that Route 53 returns in
# response to DNS queries (for example, `192.0.2.44`).
#
# AWS\_INSTANCE\_IPV6
#
# : For an `AAAA` record, the IPv6 address that Route 53 returns in
# response to DNS queries (for example,
# `2001:0db8:85a3:0000:0000:abcd:0001:2345`).
#
# AWS\_INSTANCE\_PORT
#
# : For an `SRV` record, the value that Route 53 returns for the port.
# In addition, if the service includes `HealthCheckConfig`, the port
# on the endpoint that Route 53 sends requests to.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/InstanceSummary AWS API Documentation
#
class InstanceSummary < Struct.new(
:id,
:attributes)
SENSITIVE = []
include Aws::Structure
end
# One or more specified values aren't valid. For example, a required
# value might be missing, a numeric value might be outside the allowed
# range, or a string value might exceed length constraints.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/InvalidInput AWS API Documentation
#
class InvalidInput < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListInstancesRequest
# data as a hash:
#
# {
# service_id: "ResourceId", # required
# next_token: "NextToken",
# max_results: 1,
# }
#
# @!attribute [rw] service_id
# The ID of the service that you want to list instances for.
# @return [String]
#
# @!attribute [rw] next_token
# For the first `ListInstances` request, omit this value.
#
# If more than `MaxResults` instances match the specified criteria,
# you can submit another `ListInstances` request to get the next group
# of results. Specify the value of `NextToken` from the previous
# response in the next request.
# @return [String]
#
# @!attribute [rw] max_results
# The maximum number of instances that you want Cloud Map to return in
# the response to a `ListInstances` request. If you don't specify a
# value for `MaxResults`, Cloud Map returns up to 100 instances.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListInstancesRequest AWS API Documentation
#
class ListInstancesRequest < Struct.new(
:service_id,
:next_token,
:max_results)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] instances
# Summary information about the instances that are associated with the
# specified service.
# @return [Array]
#
# @!attribute [rw] next_token
# If more than `MaxResults` instances match the specified criteria,
# you can submit another `ListInstances` request to get the next group
# of results. Specify the value of `NextToken` from the previous
# response in the next request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListInstancesResponse AWS API Documentation
#
class ListInstancesResponse < Struct.new(
:instances,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListNamespacesRequest
# data as a hash:
#
# {
# next_token: "NextToken",
# max_results: 1,
# filters: [
# {
# name: "TYPE", # required, accepts TYPE
# values: ["FilterValue"], # required
# condition: "EQ", # accepts EQ, IN, BETWEEN
# },
# ],
# }
#
# @!attribute [rw] next_token
# For the first `ListNamespaces` request, omit this value.
#
# If the response contains `NextToken`, submit another
# `ListNamespaces` request to get the next group of results. Specify
# the value of `NextToken` from the previous response in the next
# request.
#
# Cloud Map gets `MaxResults` namespaces and then filters them based
# on the specified criteria. It's possible that no namespaces in the
# first `MaxResults` namespaces matched the specified criteria but
# that subsequent groups of `MaxResults` namespaces do contain
# namespaces that match the criteria.
#
#
# @return [String]
#
# @!attribute [rw] max_results
# The maximum number of namespaces that you want Cloud Map to return
# in the response to a `ListNamespaces` request. If you don't specify
# a value for `MaxResults`, Cloud Map returns up to 100 namespaces.
# @return [Integer]
#
# @!attribute [rw] filters
# A complex type that contains specifications for the namespaces that
# you want to list.
#
# If you specify more than one filter, a namespace must match all
# filters to be returned by `ListNamespaces`.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListNamespacesRequest AWS API Documentation
#
class ListNamespacesRequest < Struct.new(
:next_token,
:max_results,
:filters)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] namespaces
# An array that contains one `NamespaceSummary` object for each
# namespace that matches the specified filter criteria.
# @return [Array]
#
# @!attribute [rw] next_token
# If the response contains `NextToken`, submit another
# `ListNamespaces` request to get the next group of results. Specify
# the value of `NextToken` from the previous response in the next
# request.
#
# Cloud Map gets `MaxResults` namespaces and then filters them based
# on the specified criteria. It's possible that no namespaces in the
# first `MaxResults` namespaces matched the specified criteria but
# that subsequent groups of `MaxResults` namespaces do contain
# namespaces that match the criteria.
#
#
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListNamespacesResponse AWS API Documentation
#
class ListNamespacesResponse < Struct.new(
:namespaces,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListOperationsRequest
# data as a hash:
#
# {
# next_token: "NextToken",
# max_results: 1,
# filters: [
# {
# name: "NAMESPACE_ID", # required, accepts NAMESPACE_ID, SERVICE_ID, STATUS, TYPE, UPDATE_DATE
# values: ["FilterValue"], # required
# condition: "EQ", # accepts EQ, IN, BETWEEN
# },
# ],
# }
#
# @!attribute [rw] next_token
# For the first `ListOperations` request, omit this value.
#
# If the response contains `NextToken`, submit another
# `ListOperations` request to get the next group of results. Specify
# the value of `NextToken` from the previous response in the next
# request.
#
# Cloud Map gets `MaxResults` operations and then filters them based
# on the specified criteria. It's possible that no operations in the
# first `MaxResults` operations matched the specified criteria but
# that subsequent groups of `MaxResults` operations do contain
# operations that match the criteria.
#
#
# @return [String]
#
# @!attribute [rw] max_results
# The maximum number of items that you want Cloud Map to return in the
# response to a `ListOperations` request. If you don't specify a
# value for `MaxResults`, Cloud Map returns up to 100 operations.
# @return [Integer]
#
# @!attribute [rw] filters
# A complex type that contains specifications for the operations that
# you want to list, for example, operations that you started between a
# specified start date and end date.
#
# If you specify more than one filter, an operation must match all
# filters to be returned by `ListOperations`.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListOperationsRequest AWS API Documentation
#
class ListOperationsRequest < Struct.new(
:next_token,
:max_results,
:filters)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] operations
# Summary information about the operations that match the specified
# criteria.
# @return [Array]
#
# @!attribute [rw] next_token
# If the response contains `NextToken`, submit another
# `ListOperations` request to get the next group of results. Specify
# the value of `NextToken` from the previous response in the next
# request.
#
# Cloud Map gets `MaxResults` operations and then filters them based
# on the specified criteria. It's possible that no operations in the
# first `MaxResults` operations matched the specified criteria but
# that subsequent groups of `MaxResults` operations do contain
# operations that match the criteria.
#
#
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListOperationsResponse AWS API Documentation
#
class ListOperationsResponse < Struct.new(
:operations,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListServicesRequest
# data as a hash:
#
# {
# next_token: "NextToken",
# max_results: 1,
# filters: [
# {
# name: "NAMESPACE_ID", # required, accepts NAMESPACE_ID
# values: ["FilterValue"], # required
# condition: "EQ", # accepts EQ, IN, BETWEEN
# },
# ],
# }
#
# @!attribute [rw] next_token
# For the first `ListServices` request, omit this value.
#
# If the response contains `NextToken`, submit another `ListServices`
# request to get the next group of results. Specify the value of
# `NextToken` from the previous response in the next request.
#
# Cloud Map gets `MaxResults` services and then filters them based on
# the specified criteria. It's possible that no services in the first
# `MaxResults` services matched the specified criteria but that
# subsequent groups of `MaxResults` services do contain services that
# match the criteria.
#
#
# @return [String]
#
# @!attribute [rw] max_results
# The maximum number of services that you want Cloud Map to return in
# the response to a `ListServices` request. If you don't specify a
# value for `MaxResults`, Cloud Map returns up to 100 services.
# @return [Integer]
#
# @!attribute [rw] filters
# A complex type that contains specifications for the namespaces that
# you want to list services for.
#
# If you specify more than one filter, an operation must match all
# filters to be returned by `ListServices`.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListServicesRequest AWS API Documentation
#
class ListServicesRequest < Struct.new(
:next_token,
:max_results,
:filters)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] services
# An array that contains one `ServiceSummary` object for each service
# that matches the specified filter criteria.
# @return [Array]
#
# @!attribute [rw] next_token
# If the response contains `NextToken`, submit another `ListServices`
# request to get the next group of results. Specify the value of
# `NextToken` from the previous response in the next request.
#
# Cloud Map gets `MaxResults` services and then filters them based on
# the specified criteria. It's possible that no services in the first
# `MaxResults` services matched the specified criteria but that
# subsequent groups of `MaxResults` services do contain services that
# match the criteria.
#
#
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListServicesResponse AWS API Documentation
#
class ListServicesResponse < Struct.new(
:services,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListTagsForResourceRequest
# data as a hash:
#
# {
# resource_arn: "AmazonResourceName", # required
# }
#
# @!attribute [rw] resource_arn
# The Amazon Resource Name (ARN) of the resource that you want to
# retrieve tags for.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListTagsForResourceRequest AWS API Documentation
#
class ListTagsForResourceRequest < Struct.new(
:resource_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] tags
# The tags that are assigned to the resource.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListTagsForResourceResponse AWS API Documentation
#
class ListTagsForResourceResponse < Struct.new(
:tags)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains information about a specified namespace.
#
# @!attribute [rw] id
# The ID of a namespace.
# @return [String]
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) that Cloud Map assigns to the
# namespace when you create it.
# @return [String]
#
# @!attribute [rw] name
# The name of the namespace, such as `example.com`.
# @return [String]
#
# @!attribute [rw] type
# The type of the namespace. The methods for discovering instances
# depends on the value that you specify:
#
# HTTP
#
# : Instances can be discovered only programmatically, using the Cloud
# Map `DiscoverInstances` API.
#
# DNS\_PUBLIC
#
# : Instances can be discovered using public DNS queries and using the
# `DiscoverInstances` API.
#
# DNS\_PRIVATE
#
# : Instances can be discovered using DNS queries in VPCs and using
# the `DiscoverInstances` API.
# @return [String]
#
# @!attribute [rw] description
# The description that you specify for the namespace when you create
# it.
# @return [String]
#
# @!attribute [rw] service_count
# The number of services that are associated with the namespace.
# @return [Integer]
#
# @!attribute [rw] properties
# A complex type that contains information that's specific to the
# type of the namespace.
# @return [Types::NamespaceProperties]
#
# @!attribute [rw] create_date
# The date that the namespace was created, in Unix date/time format
# and Coordinated Universal Time (UTC). The value of `CreateDate` is
# accurate to milliseconds. For example, the value `1516925490.087`
# represents Friday, January 26, 2018 12:11:30.087 AM.
# @return [Time]
#
# @!attribute [rw] creator_request_id
# A unique string that identifies the request and that allows failed
# requests to be retried without the risk of running an operation
# twice.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Namespace AWS API Documentation
#
class Namespace < Struct.new(
:id,
:arn,
:name,
:type,
:description,
:service_count,
:properties,
:create_date,
:creator_request_id)
SENSITIVE = []
include Aws::Structure
end
# The namespace that you're trying to create already exists.
#
# @!attribute [rw] message
# @return [String]
#
# @!attribute [rw] creator_request_id
# The `CreatorRequestId` that was used to create the namespace.
# @return [String]
#
# @!attribute [rw] namespace_id
# The ID of the existing namespace.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/NamespaceAlreadyExists AWS API Documentation
#
class NamespaceAlreadyExists < Struct.new(
:message,
:creator_request_id,
:namespace_id)
SENSITIVE = []
include Aws::Structure
end
# A complex type that identifies the namespaces that you want to list.
# You can choose to list public or private namespaces.
#
# @note When making an API call, you may pass NamespaceFilter
# data as a hash:
#
# {
# name: "TYPE", # required, accepts TYPE
# values: ["FilterValue"], # required
# condition: "EQ", # accepts EQ, IN, BETWEEN
# }
#
# @!attribute [rw] name
# Specify `TYPE`.
# @return [String]
#
# @!attribute [rw] values
# If you specify `EQ` for `Condition`, specify either `DNS_PUBLIC` or
# `DNS_PRIVATE`.
#
# If you specify `IN` for `Condition`, you can specify `DNS_PUBLIC`,
# `DNS_PRIVATE`, or both.
# @return [Array]
#
# @!attribute [rw] condition
# The operator that you want to use to determine whether
# `ListNamespaces` returns a namespace. Valid values for `condition`
# include:
#
# EQ
#
# : When you specify `EQ` for the condition, you can choose to list
# only public namespaces or private namespaces, but not both. `EQ`
# is the default condition and can be omitted.
#
# IN
#
# : When you specify `IN` for the condition, you can choose to list
# public namespaces, private namespaces, or both.
#
# BETWEEN
#
# : Not applicable
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/NamespaceFilter AWS API Documentation
#
class NamespaceFilter < Struct.new(
:name,
:values,
:condition)
SENSITIVE = []
include Aws::Structure
end
# No namespace exists with the specified ID.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/NamespaceNotFound AWS API Documentation
#
class NamespaceNotFound < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains information that's specific to the
# namespace type.
#
# @!attribute [rw] dns_properties
# A complex type that contains the ID for the Route 53 hosted zone
# that Cloud Map creates when you create a namespace.
# @return [Types::DnsProperties]
#
# @!attribute [rw] http_properties
# A complex type that contains the name of an HTTP namespace.
# @return [Types::HttpProperties]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/NamespaceProperties AWS API Documentation
#
class NamespaceProperties < Struct.new(
:dns_properties,
:http_properties)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains information about a namespace.
#
# @!attribute [rw] id
# The ID of the namespace.
# @return [String]
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) that Cloud Map assigns to the
# namespace when you create it.
# @return [String]
#
# @!attribute [rw] name
# The name of the namespace. When you create a namespace, Cloud Map
# automatically creates a Route 53 hosted zone that has the same name
# as the namespace.
# @return [String]
#
# @!attribute [rw] type
# The type of the namespace, either public or private.
# @return [String]
#
# @!attribute [rw] description
# A description for the namespace.
# @return [String]
#
# @!attribute [rw] service_count
# The number of services that were created using the namespace.
# @return [Integer]
#
# @!attribute [rw] properties
# The properties of the namespace.
# @return [Types::NamespaceProperties]
#
# @!attribute [rw] create_date
# The date and time that the namespace was created.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/NamespaceSummary AWS API Documentation
#
class NamespaceSummary < Struct.new(
:id,
:arn,
:name,
:type,
:description,
:service_count,
:properties,
:create_date)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains information about a specified operation.
#
# @!attribute [rw] id
# The ID of the operation that you want to get information about.
# @return [String]
#
# @!attribute [rw] type
# The name of the operation that's associated with the specified ID.
# @return [String]
#
# @!attribute [rw] status
# The status of the operation. Values include the following:
#
# SUBMITTED
#
# : This is the initial state that occurs immediately after you submit
# a request.
#
# PENDING
#
# : Cloud Map is performing the operation.
#
# SUCCESS
#
# : The operation succeeded.
#
# FAIL
#
# : The operation failed. For the failure reason, see `ErrorMessage`.
# @return [String]
#
# @!attribute [rw] error_message
# If the value of `Status` is `FAIL`, the reason that the operation
# failed.
# @return [String]
#
# @!attribute [rw] error_code
# The code associated with `ErrorMessage`. Values for `ErrorCode`
# include the following:
#
# * `ACCESS_DENIED`
#
# * `CANNOT_CREATE_HOSTED_ZONE`
#
# * `EXPIRED_TOKEN`
#
# * `HOSTED_ZONE_NOT_FOUND`
#
# * `INTERNAL_FAILURE`
#
# * `INVALID_CHANGE_BATCH`
#
# * `THROTTLED_REQUEST`
# @return [String]
#
# @!attribute [rw] create_date
# The date and time that the request was submitted, in Unix date/time
# format and Coordinated Universal Time (UTC). The value of
# `CreateDate` is accurate to milliseconds. For example, the value
# `1516925490.087` represents Friday, January 26, 2018 12:11:30.087
# AM.
# @return [Time]
#
# @!attribute [rw] update_date
# The date and time that the value of `Status` changed to the current
# value, in Unix date/time format and Coordinated Universal Time
# (UTC). The value of `UpdateDate` is accurate to milliseconds. For
# example, the value `1516925490.087` represents Friday, January 26,
# 2018 12:11:30.087 AM.
# @return [Time]
#
# @!attribute [rw] targets
# The name of the target entity that's associated with the operation:
#
# NAMESPACE
#
# : The namespace ID is returned in the `ResourceId` property.
#
# SERVICE
#
# : The service ID is returned in the `ResourceId` property.
#
# INSTANCE
#
# : The instance ID is returned in the `ResourceId` property.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Operation AWS API Documentation
#
class Operation < Struct.new(
:id,
:type,
:status,
:error_message,
:error_code,
:create_date,
:update_date,
:targets)
SENSITIVE = []
include Aws::Structure
end
# A complex type that lets you select the operations that you want to
# list.
#
# @note When making an API call, you may pass OperationFilter
# data as a hash:
#
# {
# name: "NAMESPACE_ID", # required, accepts NAMESPACE_ID, SERVICE_ID, STATUS, TYPE, UPDATE_DATE
# values: ["FilterValue"], # required
# condition: "EQ", # accepts EQ, IN, BETWEEN
# }
#
# @!attribute [rw] name
# Specify the operations that you want to get:
#
# * **NAMESPACE\_ID**\: Gets operations related to specified
# namespaces.
#
# * **SERVICE\_ID**\: Gets operations related to specified services.
#
# * **STATUS**\: Gets operations based on the status of the
# operations: `SUBMITTED`, `PENDING`, `SUCCEED`, or `FAIL`.
#
# * **TYPE**\: Gets specified types of operation.
#
# * **UPDATE\_DATE**\: Gets operations that changed status during a
# specified date/time range.
# @return [String]
#
# @!attribute [rw] values
# Specify values that are applicable to the value that you specify for
# `Name`\:
#
# * **NAMESPACE\_ID**\: Specify one namespace ID.
#
# * **SERVICE\_ID**\: Specify one service ID.
#
# * **STATUS**\: Specify one or more statuses: `SUBMITTED`, `PENDING`,
# `SUCCEED`, or `FAIL`.
#
# * **TYPE**\: Specify one or more of the following types:
# `CREATE_NAMESPACE`, `DELETE_NAMESPACE`, `UPDATE_SERVICE`,
# `REGISTER_INSTANCE`, or `DEREGISTER_INSTANCE`.
#
# * **UPDATE\_DATE**\: Specify a start date and an end date in Unix
# date/time format and Coordinated Universal Time (UTC). The start
# date must be the first value.
# @return [Array]
#
# @!attribute [rw] condition
# The operator that you want to use to determine whether an operation
# matches the specified value. Valid values for condition include:
#
# * `EQ`\: When you specify `EQ` for the condition, you can specify
# only one value. `EQ` is supported for `NAMESPACE_ID`,
# `SERVICE_ID`, `STATUS`, and `TYPE`. `EQ` is the default condition
# and can be omitted.
#
# * `IN`\: When you specify `IN` for the condition, you can specify a
# list of one or more values. `IN` is supported for `STATUS` and
# `TYPE`. An operation must match one of the specified values to be
# returned in the response.
#
# * `BETWEEN`\: Specify a start date and an end date in Unix date/time
# format and Coordinated Universal Time (UTC). The start date must
# be the first value. `BETWEEN` is supported for `UPDATE_DATE`.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/OperationFilter AWS API Documentation
#
class OperationFilter < Struct.new(
:name,
:values,
:condition)
SENSITIVE = []
include Aws::Structure
end
# No operation exists with the specified ID.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/OperationNotFound AWS API Documentation
#
class OperationNotFound < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains information about an operation that
# matches the criteria that you specified in a [ListOperations][1]
# request.
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_ListOperations.html
#
# @!attribute [rw] id
# The ID for an operation.
# @return [String]
#
# @!attribute [rw] status
# The status of the operation. Values include the following:
#
# * **SUBMITTED**\: This is the initial state immediately after you
# submit a request.
#
# * **PENDING**\: Cloud Map is performing the operation.
#
# * **SUCCESS**\: The operation succeeded.
#
# * **FAIL**\: The operation failed. For the failure reason, see
# `ErrorMessage`.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/OperationSummary AWS API Documentation
#
class OperationSummary < Struct.new(
:id,
:status)
SENSITIVE = []
include Aws::Structure
end
# Updated properties for the private DNS namespace.
#
# @note When making an API call, you may pass PrivateDnsNamespaceChange
# data as a hash:
#
# {
# description: "ResourceDescription",
# properties: {
# dns_properties: { # required
# soa: { # required
# ttl: 1, # required
# },
# },
# },
# }
#
# @!attribute [rw] description
# An updated description for the private DNS namespace.
# @return [String]
#
# @!attribute [rw] properties
# Properties to be updated in the private DNS namespace.
# @return [Types::PrivateDnsNamespacePropertiesChange]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PrivateDnsNamespaceChange AWS API Documentation
#
class PrivateDnsNamespaceChange < Struct.new(
:description,
:properties)
SENSITIVE = []
include Aws::Structure
end
# DNS properties for the private DNS namespace.
#
# @note When making an API call, you may pass PrivateDnsNamespaceProperties
# data as a hash:
#
# {
# dns_properties: { # required
# soa: { # required
# ttl: 1, # required
# },
# },
# }
#
# @!attribute [rw] dns_properties
# DNS properties for the private DNS namespace.
# @return [Types::PrivateDnsPropertiesMutable]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PrivateDnsNamespaceProperties AWS API Documentation
#
class PrivateDnsNamespaceProperties < Struct.new(
:dns_properties)
SENSITIVE = []
include Aws::Structure
end
# Updated properties for the private DNS namespace.
#
# @note When making an API call, you may pass PrivateDnsNamespacePropertiesChange
# data as a hash:
#
# {
# dns_properties: { # required
# soa: { # required
# ttl: 1, # required
# },
# },
# }
#
# @!attribute [rw] dns_properties
# Updated DNS properties for the private DNS namespace.
# @return [Types::PrivateDnsPropertiesMutableChange]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PrivateDnsNamespacePropertiesChange AWS API Documentation
#
class PrivateDnsNamespacePropertiesChange < Struct.new(
:dns_properties)
SENSITIVE = []
include Aws::Structure
end
# DNS properties for the private DNS namespace.
#
# @note When making an API call, you may pass PrivateDnsPropertiesMutable
# data as a hash:
#
# {
# soa: { # required
# ttl: 1, # required
# },
# }
#
# @!attribute [rw] soa
# Fields for the Start of Authority (SOA) record for the hosted zone
# for the private DNS namespace.
# @return [Types::SOA]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PrivateDnsPropertiesMutable AWS API Documentation
#
class PrivateDnsPropertiesMutable < Struct.new(
:soa)
SENSITIVE = []
include Aws::Structure
end
# Updated DNS properties for the private DNS namespace.
#
# @note When making an API call, you may pass PrivateDnsPropertiesMutableChange
# data as a hash:
#
# {
# soa: { # required
# ttl: 1, # required
# },
# }
#
# @!attribute [rw] soa
# Updated fields for the Start of Authority (SOA) record for the
# hosted zone for the private DNS namespace.
# @return [Types::SOAChange]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PrivateDnsPropertiesMutableChange AWS API Documentation
#
class PrivateDnsPropertiesMutableChange < Struct.new(
:soa)
SENSITIVE = []
include Aws::Structure
end
# Updated properties for the public DNS namespace.
#
# @note When making an API call, you may pass PublicDnsNamespaceChange
# data as a hash:
#
# {
# description: "ResourceDescription",
# properties: {
# dns_properties: { # required
# soa: { # required
# ttl: 1, # required
# },
# },
# },
# }
#
# @!attribute [rw] description
# An updated description for the public DNS namespace.
# @return [String]
#
# @!attribute [rw] properties
# Properties to be updated in the public DNS namespace.
# @return [Types::PublicDnsNamespacePropertiesChange]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PublicDnsNamespaceChange AWS API Documentation
#
class PublicDnsNamespaceChange < Struct.new(
:description,
:properties)
SENSITIVE = []
include Aws::Structure
end
# DNS properties for the public DNS namespace.
#
# @note When making an API call, you may pass PublicDnsNamespaceProperties
# data as a hash:
#
# {
# dns_properties: { # required
# soa: { # required
# ttl: 1, # required
# },
# },
# }
#
# @!attribute [rw] dns_properties
# DNS properties for the public DNS namespace.
# @return [Types::PublicDnsPropertiesMutable]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PublicDnsNamespaceProperties AWS API Documentation
#
class PublicDnsNamespaceProperties < Struct.new(
:dns_properties)
SENSITIVE = []
include Aws::Structure
end
# Updated properties for the public DNS namespace.
#
# @note When making an API call, you may pass PublicDnsNamespacePropertiesChange
# data as a hash:
#
# {
# dns_properties: { # required
# soa: { # required
# ttl: 1, # required
# },
# },
# }
#
# @!attribute [rw] dns_properties
# Updated DNS properties for the hosted zone for the public DNS
# namespace.
# @return [Types::PublicDnsPropertiesMutableChange]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PublicDnsNamespacePropertiesChange AWS API Documentation
#
class PublicDnsNamespacePropertiesChange < Struct.new(
:dns_properties)
SENSITIVE = []
include Aws::Structure
end
# DNS properties for the public DNS namespace.
#
# @note When making an API call, you may pass PublicDnsPropertiesMutable
# data as a hash:
#
# {
# soa: { # required
# ttl: 1, # required
# },
# }
#
# @!attribute [rw] soa
# Start of Authority (SOA) record for the hosted zone for the public
# DNS namespace.
# @return [Types::SOA]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PublicDnsPropertiesMutable AWS API Documentation
#
class PublicDnsPropertiesMutable < Struct.new(
:soa)
SENSITIVE = []
include Aws::Structure
end
# Updated DNS properties for the public DNS namespace.
#
# @note When making an API call, you may pass PublicDnsPropertiesMutableChange
# data as a hash:
#
# {
# soa: { # required
# ttl: 1, # required
# },
# }
#
# @!attribute [rw] soa
# Updated fields for the Start of Authority (SOA) record for the
# hosted zone for the public DNS namespace.
# @return [Types::SOAChange]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PublicDnsPropertiesMutableChange AWS API Documentation
#
class PublicDnsPropertiesMutableChange < Struct.new(
:soa)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass RegisterInstanceRequest
# data as a hash:
#
# {
# service_id: "ResourceId", # required
# instance_id: "InstanceId", # required
# creator_request_id: "ResourceId",
# attributes: { # required
# "AttrKey" => "AttrValue",
# },
# }
#
# @!attribute [rw] service_id
# The ID of the service that you want to use for settings for the
# instance.
# @return [String]
#
# @!attribute [rw] instance_id
# An identifier that you want to associate with the instance. Note the
# following:
#
# * If the service that's specified by `ServiceId` includes settings
# for an `SRV` record, the value of `InstanceId` is automatically
# included as part of the value for the `SRV` record. For more
# information, see [DnsRecord > Type][1].
#
# * You can use this value to update an existing instance.
#
# * To register a new instance, you must specify a value that's
# unique among instances that you register by using the same
# service.
#
# * If you specify an existing `InstanceId` and `ServiceId`, Cloud Map
# updates the existing DNS records, if any. If there's also an
# existing health check, Cloud Map deletes the old health check and
# creates a new one.
#
# The health check isn't deleted immediately, so it will still
# appear for a while if you submit a `ListHealthChecks` request, for
# example.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_DnsRecord.html#cloudmap-Type-DnsRecord-Type
# @return [String]
#
# @!attribute [rw] creator_request_id
# A unique string that identifies the request and that allows failed
# `RegisterInstance` requests to be retried without the risk of
# executing the operation twice. You must use a unique
# `CreatorRequestId` string every time you submit a `RegisterInstance`
# request if you're registering additional instances for the same
# namespace and service. `CreatorRequestId` can be any unique string
# (for example, a date/time stamp).
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] attributes
# A string map that contains the following information for the service
# that you specify in `ServiceId`\:
#
# * The attributes that apply to the records that are defined in the
# service.
#
# * For each attribute, the applicable value.
#
# Supported attribute keys include the following:
#
# AWS\_ALIAS\_DNS\_NAME
#
# : If you want Cloud Map to create an Amazon Route 53 alias record
# that routes traffic to an Elastic Load Balancing load balancer,
# specify the DNS name that's associated with the load balancer.
# For information about how to get the DNS name, see "DNSName" in
# the topic [AliasTarget][1] in the *Route 53 API Reference*.
#
# Note the following:
#
# * The configuration for the service that's specified by
# `ServiceId` must include settings for an `A` record, an `AAAA`
# record, or both.
#
# * In the service that's specified by `ServiceId`, the value of
# `RoutingPolicy` must be `WEIGHTED`.
#
# * If the service that's specified by `ServiceId` includes
# `HealthCheckConfig` settings, Cloud Map will create the Route 53
# health check, but it doesn't associate the health check with
# the alias record.
#
# * Auto naming currently doesn't support creating alias records
# that route traffic to Amazon Web Services resources other than
# Elastic Load Balancing load balancers.
#
# * If you specify a value for `AWS_ALIAS_DNS_NAME`, don't specify
# values for any of the `AWS_INSTANCE` attributes.
#
# AWS\_EC2\_INSTANCE\_ID
#
# : *HTTP namespaces only.* The Amazon EC2 instance ID for the
# instance. If the `AWS_EC2_INSTANCE_ID` attribute is specified,
# then the only other attribute that can be specified is
# `AWS_INIT_HEALTH_STATUS`. When the `AWS_EC2_INSTANCE_ID` attribute
# is specified, then the `AWS_INSTANCE_IPV4` attribute will be
# filled out with the primary private IPv4 address.
#
# AWS\_INIT\_HEALTH\_STATUS
#
# : If the service configuration includes `HealthCheckCustomConfig`,
# you can optionally use `AWS_INIT_HEALTH_STATUS` to specify the
# initial status of the custom health check, `HEALTHY` or
# `UNHEALTHY`. If you don't specify a value for
# `AWS_INIT_HEALTH_STATUS`, the initial status is `HEALTHY`.
#
# AWS\_INSTANCE\_CNAME
#
# : If the service configuration includes a `CNAME` record, the domain
# name that you want Route 53 to return in response to DNS queries
# (for example, `example.com`).
#
# This value is required if the service specified by `ServiceId`
# includes settings for an `CNAME` record.
#
# AWS\_INSTANCE\_IPV4
#
# : If the service configuration includes an `A` record, the IPv4
# address that you want Route 53 to return in response to DNS
# queries (for example, `192.0.2.44`).
#
# This value is required if the service specified by `ServiceId`
# includes settings for an `A` record. If the service includes
# settings for an `SRV` record, you must specify a value for
# `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both.
#
# AWS\_INSTANCE\_IPV6
#
# : If the service configuration includes an `AAAA` record, the IPv6
# address that you want Route 53 to return in response to DNS
# queries (for example, `2001:0db8:85a3:0000:0000:abcd:0001:2345`).
#
# This value is required if the service specified by `ServiceId`
# includes settings for an `AAAA` record. If the service includes
# settings for an `SRV` record, you must specify a value for
# `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both.
#
# AWS\_INSTANCE\_PORT
#
# : If the service includes an `SRV` record, the value that you want
# Route 53 to return for the port.
#
# If the service includes `HealthCheckConfig`, the port on the
# endpoint that you want Route 53 to send requests to.
#
# This value is required if you specified settings for an `SRV`
# record or a Route 53 health check when you created the service.
#
# Custom attributes
#
# : You can add up to 30 custom attributes. For each key-value pair,
# the maximum length of the attribute name is 255 characters, and
# the maximum length of the attribute value is 1,024 characters. The
# total size of all provided attributes (sum of all keys and values)
# must not exceed 5,000 characters.
#
#
#
# [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/RegisterInstanceRequest AWS API Documentation
#
class RegisterInstanceRequest < Struct.new(
:service_id,
:instance_id,
:creator_request_id,
:attributes)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] operation_id
# A value that you can use to determine whether the request completed
# successfully. To get the status of the operation, see
# [GetOperation][1].
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/RegisterInstanceResponse AWS API Documentation
#
class RegisterInstanceResponse < Struct.new(
:operation_id)
SENSITIVE = []
include Aws::Structure
end
# The operation can't be completed because you've reached the quota
# for the number of requests. For more information, see [Cloud Map API
# request throttling quota][1] in the *Cloud Map Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/dg/throttling.html
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/RequestLimitExceeded AWS API Documentation
#
class RequestLimitExceeded < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# The specified resource can't be deleted because it contains other
# resources. For example, you can't delete a service that contains any
# instances.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ResourceInUse AWS API Documentation
#
class ResourceInUse < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# The resource can't be created because you've reached the quota on
# the number of resources.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ResourceLimitExceeded AWS API Documentation
#
class ResourceLimitExceeded < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# The operation can't be completed because the resource was not found.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ResourceNotFoundException AWS API Documentation
#
class ResourceNotFoundException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# Start of Authority (SOA) properties for a public or private DNS
# namespace.
#
# @note When making an API call, you may pass SOA
# data as a hash:
#
# {
# ttl: 1, # required
# }
#
# @!attribute [rw] ttl
# The time to live (TTL) for purposes of negative caching.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/SOA AWS API Documentation
#
class SOA < Struct.new(
:ttl)
SENSITIVE = []
include Aws::Structure
end
# Updated Start of Authority (SOA) properties for a public or private
# DNS namespace.
#
# @note When making an API call, you may pass SOAChange
# data as a hash:
#
# {
# ttl: 1, # required
# }
#
# @!attribute [rw] ttl
# The updated time to live (TTL) for purposes of negative caching.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/SOAChange AWS API Documentation
#
class SOAChange < Struct.new(
:ttl)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains information about the specified service.
#
# @!attribute [rw] id
# The ID that Cloud Map assigned to the service when you created it.
# @return [String]
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) that Cloud Map assigns to the service
# when you create it.
# @return [String]
#
# @!attribute [rw] name
# The name of the service.
# @return [String]
#
# @!attribute [rw] namespace_id
# The ID of the namespace that was used to create the service.
# @return [String]
#
# @!attribute [rw] description
# The description of the service.
# @return [String]
#
# @!attribute [rw] instance_count
# The number of instances that are currently associated with the
# service. Instances that were previously associated with the service
# but that are deleted aren't included in the count. The count might
# not reflect pending registrations and deregistrations.
# @return [Integer]
#
# @!attribute [rw] dns_config
# A complex type that contains information about the Route 53 DNS
# records that you want Cloud Map to create when you register an
# instance.
# @return [Types::DnsConfig]
#
# @!attribute [rw] type
# Describes the systems that can be used to discover the service
# instances.
#
# DNS\_HTTP
#
# : The service instances can be discovered using either DNS queries
# or the `DiscoverInstances` API operation.
#
# HTTP
#
# : The service instances can only be discovered using the
# `DiscoverInstances` API operation.
#
# DNS
#
# : Reserved.
# @return [String]
#
# @!attribute [rw] health_check_config
# *Public DNS and HTTP namespaces only.* A complex type that contains
# settings for an optional health check. If you specify settings for a
# health check, Cloud Map associates the health check with the records
# that you specify in `DnsConfig`.
#
# For information about the charges for health checks, see [Amazon
# Route 53 Pricing][1].
#
#
#
# [1]: http://aws.amazon.com/route53/pricing/
# @return [Types::HealthCheckConfig]
#
# @!attribute [rw] health_check_custom_config
# A complex type that contains information about an optional custom
# health check.
#
# If you specify a health check configuration, you can specify either
# `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
# @return [Types::HealthCheckCustomConfig]
#
# @!attribute [rw] create_date
# The date and time that the service was created, in Unix format and
# Coordinated Universal Time (UTC). The value of `CreateDate` is
# accurate to milliseconds. For example, the value `1516925490.087`
# represents Friday, January 26, 2018 12:11:30.087 AM.
# @return [Time]
#
# @!attribute [rw] creator_request_id
# A unique string that identifies the request and that allows failed
# requests to be retried without the risk of running the operation
# twice. `CreatorRequestId` can be any unique string (for example, a
# date/timestamp).
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Service AWS API Documentation
#
class Service < Struct.new(
:id,
:arn,
:name,
:namespace_id,
:description,
:instance_count,
:dns_config,
:type,
:health_check_config,
:health_check_custom_config,
:create_date,
:creator_request_id)
SENSITIVE = []
include Aws::Structure
end
# The service can't be created because a service with the same name
# already exists.
#
# @!attribute [rw] message
# @return [String]
#
# @!attribute [rw] creator_request_id
# The `CreatorRequestId` that was used to create the service.
# @return [String]
#
# @!attribute [rw] service_id
# The ID of the existing service.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceAlreadyExists AWS API Documentation
#
class ServiceAlreadyExists < Struct.new(
:message,
:creator_request_id,
:service_id)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains changes to an existing service.
#
# @note When making an API call, you may pass ServiceChange
# data as a hash:
#
# {
# description: "ResourceDescription",
# dns_config: {
# dns_records: [ # required
# {
# type: "SRV", # required, accepts SRV, A, AAAA, CNAME
# ttl: 1, # required
# },
# ],
# },
# health_check_config: {
# type: "HTTP", # required, accepts HTTP, HTTPS, TCP
# resource_path: "ResourcePath",
# failure_threshold: 1,
# },
# }
#
# @!attribute [rw] description
# A description for the service.
# @return [String]
#
# @!attribute [rw] dns_config
# Information about the Route 53 DNS records that you want Cloud Map
# to create when you register an instance.
# @return [Types::DnsConfigChange]
#
# @!attribute [rw] health_check_config
# *Public DNS and HTTP namespaces only.* Settings for an optional
# health check. If you specify settings for a health check, Cloud Map
# associates the health check with the records that you specify in
# `DnsConfig`.
# @return [Types::HealthCheckConfig]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceChange AWS API Documentation
#
class ServiceChange < Struct.new(
:description,
:dns_config,
:health_check_config)
SENSITIVE = []
include Aws::Structure
end
# A complex type that lets you specify the namespaces that you want to
# list services for.
#
# @note When making an API call, you may pass ServiceFilter
# data as a hash:
#
# {
# name: "NAMESPACE_ID", # required, accepts NAMESPACE_ID
# values: ["FilterValue"], # required
# condition: "EQ", # accepts EQ, IN, BETWEEN
# }
#
# @!attribute [rw] name
# Specify `NAMESPACE_ID`.
# @return [String]
#
# @!attribute [rw] values
# The values that are applicable to the value that you specify for
# `Condition` to filter the list of services.
# @return [Array]
#
# @!attribute [rw] condition
# The operator that you want to use to determine whether a service is
# returned by `ListServices`. Valid values for `Condition` include the
# following:
#
# * `EQ`\: When you specify `EQ`, specify one namespace ID for
# `Values`. `EQ` is the default condition and can be omitted.
#
# * `IN`\: When you specify `IN`, specify a list of the IDs for the
# namespaces that you want `ListServices` to return a list of
# services for.
#
# * `BETWEEN`\: Not applicable.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceFilter AWS API Documentation
#
class ServiceFilter < Struct.new(
:name,
:values,
:condition)
SENSITIVE = []
include Aws::Structure
end
# No service exists with the specified ID.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceNotFound AWS API Documentation
#
class ServiceNotFound < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# A complex type that contains information about a specified service.
#
# @!attribute [rw] id
# The ID that Cloud Map assigned to the service when you created it.
# @return [String]
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) that Cloud Map assigns to the service
# when you create it.
# @return [String]
#
# @!attribute [rw] name
# The name of the service.
# @return [String]
#
# @!attribute [rw] type
# Describes the systems that can be used to discover the service
# instances.
#
# DNS\_HTTP
#
# : The service instances can be discovered using either DNS queries
# or the `DiscoverInstances` API operation.
#
# HTTP
#
# : The service instances can only be discovered using the
# `DiscoverInstances` API operation.
#
# DNS
#
# : Reserved.
# @return [String]
#
# @!attribute [rw] description
# The description that you specify when you create the service.
# @return [String]
#
# @!attribute [rw] instance_count
# The number of instances that are currently associated with the
# service. Instances that were previously associated with the service
# but that are deleted aren't included in the count. The count might
# not reflect pending registrations and deregistrations.
# @return [Integer]
#
# @!attribute [rw] dns_config
# Information about the Route 53 DNS records that you want Cloud Map
# to create when you register an instance.
# @return [Types::DnsConfig]
#
# @!attribute [rw] health_check_config
# *Public DNS and HTTP namespaces only.* Settings for an optional
# health check. If you specify settings for a health check, Cloud Map
# associates the health check with the records that you specify in
# `DnsConfig`.
# @return [Types::HealthCheckConfig]
#
# @!attribute [rw] health_check_custom_config
# Information about an optional custom health check. A custom health
# check, which requires that you use a third-party health checker to
# evaluate the health of your resources, is useful in the following
# circumstances:
#
# * You can't use a health check that's defined by
# `HealthCheckConfig` because the resource isn't available over the
# internet. For example, you can use a custom health check when the
# instance is in an Amazon VPC. (To check the health of resources in
# a VPC, the health checker must also be in the VPC.)
#
# * You want to use a third-party health checker regardless of where
# your resources are located.
#
# If you specify a health check configuration, you can specify either
# `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
# @return [Types::HealthCheckCustomConfig]
#
# @!attribute [rw] create_date
# The date and time that the service was created.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceSummary AWS API Documentation
#
class ServiceSummary < Struct.new(
:id,
:arn,
:name,
:type,
:description,
:instance_count,
:dns_config,
:health_check_config,
:health_check_custom_config,
:create_date)
SENSITIVE = []
include Aws::Structure
end
# A custom key-value pair that's associated with a resource.
#
# @note When making an API call, you may pass Tag
# data as a hash:
#
# {
# key: "TagKey", # required
# value: "TagValue", # required
# }
#
# @!attribute [rw] key
# The key identifier, or name, of the tag.
# @return [String]
#
# @!attribute [rw] value
# The string value that's associated with the key of the tag. You can
# set the value of a tag to an empty string, but you can't set the
# value of a tag to null.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Tag AWS API Documentation
#
class Tag < Struct.new(
:key,
:value)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass TagResourceRequest
# data as a hash:
#
# {
# resource_arn: "AmazonResourceName", # required
# tags: [ # required
# {
# key: "TagKey", # required
# value: "TagValue", # required
# },
# ],
# }
#
# @!attribute [rw] resource_arn
# The Amazon Resource Name (ARN) of the resource that you want to
# retrieve tags for.
# @return [String]
#
# @!attribute [rw] tags
# The tags to add to the specified resource. Specifying the tag key is
# required. You can set the value of a tag to an empty string, but you
# can't set the value of a tag to null.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/TagResourceRequest AWS API Documentation
#
class TagResourceRequest < Struct.new(
:resource_arn,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/TagResourceResponse AWS API Documentation
#
class TagResourceResponse < Aws::EmptyStructure; end
# The list of tags on the resource is over the quota. The maximum number
# of tags that can be applied to a resource is 50.
#
# @!attribute [rw] message
# @return [String]
#
# @!attribute [rw] resource_name
# The name of the resource.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/TooManyTagsException AWS API Documentation
#
class TooManyTagsException < Struct.new(
:message,
:resource_name)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UntagResourceRequest
# data as a hash:
#
# {
# resource_arn: "AmazonResourceName", # required
# tag_keys: ["TagKey"], # required
# }
#
# @!attribute [rw] resource_arn
# The Amazon Resource Name (ARN) of the resource that you want to
# retrieve tags for.
# @return [String]
#
# @!attribute [rw] tag_keys
# The tag keys to remove from the specified resource.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UntagResourceRequest AWS API Documentation
#
class UntagResourceRequest < Struct.new(
:resource_arn,
:tag_keys)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UntagResourceResponse AWS API Documentation
#
class UntagResourceResponse < Aws::EmptyStructure; end
# @note When making an API call, you may pass UpdateHttpNamespaceRequest
# data as a hash:
#
# {
# id: "ResourceId", # required
# updater_request_id: "ResourceId",
# namespace: { # required
# description: "ResourceDescription", # required
# },
# }
#
# @!attribute [rw] id
# The ID of the namespace that you want to update.
# @return [String]
#
# @!attribute [rw] updater_request_id
# A unique string that identifies the request and that allows failed
# `UpdateHttpNamespace` requests to be retried without the risk of
# running the operation twice. `UpdaterRequestId` can be any unique
# string (for example, a date/timestamp).
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] namespace
# Updated properties for the the HTTP namespace.
# @return [Types::HttpNamespaceChange]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateHttpNamespaceRequest AWS API Documentation
#
class UpdateHttpNamespaceRequest < Struct.new(
:id,
:updater_request_id,
:namespace)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] operation_id
# A value that you can use to determine whether the request completed
# successfully. To get the status of the operation, see
# [GetOperation][1].
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateHttpNamespaceResponse AWS API Documentation
#
class UpdateHttpNamespaceResponse < Struct.new(
:operation_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UpdateInstanceCustomHealthStatusRequest
# data as a hash:
#
# {
# service_id: "ResourceId", # required
# instance_id: "ResourceId", # required
# status: "HEALTHY", # required, accepts HEALTHY, UNHEALTHY
# }
#
# @!attribute [rw] service_id
# The ID of the service that includes the configuration for the custom
# health check that you want to change the status for.
# @return [String]
#
# @!attribute [rw] instance_id
# The ID of the instance that you want to change the health status
# for.
# @return [String]
#
# @!attribute [rw] status
# The new status of the instance, `HEALTHY` or `UNHEALTHY`.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateInstanceCustomHealthStatusRequest AWS API Documentation
#
class UpdateInstanceCustomHealthStatusRequest < Struct.new(
:service_id,
:instance_id,
:status)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UpdatePrivateDnsNamespaceRequest
# data as a hash:
#
# {
# id: "ResourceId", # required
# updater_request_id: "ResourceId",
# namespace: { # required
# description: "ResourceDescription",
# properties: {
# dns_properties: { # required
# soa: { # required
# ttl: 1, # required
# },
# },
# },
# },
# }
#
# @!attribute [rw] id
# The ID of the namespace that you want to update.
# @return [String]
#
# @!attribute [rw] updater_request_id
# A unique string that identifies the request and that allows failed
# `UpdatePrivateDnsNamespace` requests to be retried without the risk
# of running the operation twice. `UpdaterRequestId` can be any unique
# string (for example, a date/timestamp).
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] namespace
# Updated properties for the private DNS namespace.
# @return [Types::PrivateDnsNamespaceChange]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdatePrivateDnsNamespaceRequest AWS API Documentation
#
class UpdatePrivateDnsNamespaceRequest < Struct.new(
:id,
:updater_request_id,
:namespace)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] operation_id
# A value that you can use to determine whether the request completed
# successfully. To get the status of the operation, see
# [GetOperation][1].
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdatePrivateDnsNamespaceResponse AWS API Documentation
#
class UpdatePrivateDnsNamespaceResponse < Struct.new(
:operation_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UpdatePublicDnsNamespaceRequest
# data as a hash:
#
# {
# id: "ResourceId", # required
# updater_request_id: "ResourceId",
# namespace: { # required
# description: "ResourceDescription",
# properties: {
# dns_properties: { # required
# soa: { # required
# ttl: 1, # required
# },
# },
# },
# },
# }
#
# @!attribute [rw] id
# The ID of the namespace being updated.
# @return [String]
#
# @!attribute [rw] updater_request_id
# A unique string that identifies the request and that allows failed
# `UpdatePublicDnsNamespace` requests to be retried without the risk
# of running the operation twice. `UpdaterRequestId` can be any unique
# string (for example, a date/timestamp).
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] namespace
# Updated properties for the public DNS namespace.
# @return [Types::PublicDnsNamespaceChange]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdatePublicDnsNamespaceRequest AWS API Documentation
#
class UpdatePublicDnsNamespaceRequest < Struct.new(
:id,
:updater_request_id,
:namespace)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] operation_id
# A value that you can use to determine whether the request completed
# successfully. To get the status of the operation, see
# [GetOperation][1].
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdatePublicDnsNamespaceResponse AWS API Documentation
#
class UpdatePublicDnsNamespaceResponse < Struct.new(
:operation_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UpdateServiceRequest
# data as a hash:
#
# {
# id: "ResourceId", # required
# service: { # required
# description: "ResourceDescription",
# dns_config: {
# dns_records: [ # required
# {
# type: "SRV", # required, accepts SRV, A, AAAA, CNAME
# ttl: 1, # required
# },
# ],
# },
# health_check_config: {
# type: "HTTP", # required, accepts HTTP, HTTPS, TCP
# resource_path: "ResourcePath",
# failure_threshold: 1,
# },
# },
# }
#
# @!attribute [rw] id
# The ID of the service that you want to update.
# @return [String]
#
# @!attribute [rw] service
# A complex type that contains the new settings for the service.
# @return [Types::ServiceChange]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateServiceRequest AWS API Documentation
#
class UpdateServiceRequest < Struct.new(
:id,
:service)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] operation_id
# A value that you can use to determine whether the request completed
# successfully. To get the status of the operation, see
# [GetOperation][1].
#
#
#
# [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateServiceResponse AWS API Documentation
#
class UpdateServiceResponse < Struct.new(
:operation_id)
SENSITIVE = []
include Aws::Structure
end
end
end