Service

class aws_cdk.aws_servicediscovery.Service(scope, id, *, namespace, dns_record_type=None, dns_ttl=None, load_balancer=None, routing_policy=None, custom_health_check=None, description=None, health_check=None, name=None)

Bases: aws_cdk.core.Resource

Define a CloudMap Service.

__init__(scope, id, *, namespace, dns_record_type=None, dns_ttl=None, load_balancer=None, routing_policy=None, custom_health_check=None, description=None, health_check=None, name=None)
Parameters
  • scope (Construct) –

  • id (str) –

  • namespace (INamespace) – The namespace that you want to use for DNS configuration.

  • dns_record_type (Optional[DnsRecordType]) – The DNS type of the record that you want AWS Cloud Map to create. Supported record types include A, AAAA, A and AAAA (A_AAAA), CNAME, and SRV. Default: A

  • dns_ttl (Optional[Duration]) – The amount of time, in seconds, that you want DNS resolvers to cache the settings for this record. Default: Duration.minutes(1)

  • load_balancer (Optional[bool]) – Whether or not this service will have an Elastic LoadBalancer registered to it as an AliasTargetInstance. Setting this to true correctly configures the routingPolicy and performs some additional validation. Default: false

  • routing_policy (Optional[RoutingPolicy]) – The routing policy that you want to apply to all DNS records that AWS Cloud Map creates when you register an instance and specify this service. Default: WEIGHTED for CNAME records and when loadBalancer is true, MULTIVALUE otherwise

  • custom_health_check (Optional[HealthCheckCustomConfig]) – Structure containing failure threshold for a custom health checker. Only one of healthCheckConfig or healthCheckCustomConfig can be specified. See: https://docs.aws.amazon.com/cloud-map/latest/api/API_HealthCheckCustomConfig.html Default: none

  • description (Optional[str]) – A description of the service. Default: none

  • health_check (Optional[HealthCheckConfig]) – Settings for an optional health check. If you specify health check settings, AWS Cloud Map associates the health check with the records that you specify in DnsConfig. Only one of healthCheckConfig or healthCheckCustomConfig can be specified. Not valid for PrivateDnsNamespaces. If you use healthCheck, you can only register IP instances to this service. Default: none

  • name (Optional[str]) – A name for the Service. Default: CloudFormation-generated name

Return type

None

Methods

register_cname_instance(id, *, instance_cname, custom_attributes=None, instance_id=None)

Registers a resource that is accessible using a CNAME.

Parameters
  • id (str) –

  • instance_cname (str) – 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.

  • custom_attributes (Optional[Mapping[str, str]]) – Custom attributes of the instance. Default: none

  • instance_id (Optional[str]) – The id of the instance resource. Default: Automatically generated name

Return type

IInstance

register_ip_instance(id, *, ipv4=None, ipv6=None, port=None, custom_attributes=None, instance_id=None)

Registers a resource that is accessible using an IP address.

Parameters
  • id (str) –

  • ipv4 (Optional[str]) – If the service that you specify contains a template for an A record, the IPv4 address that you want AWS Cloud Map to use for the value of the A record. Default: none

  • ipv6 (Optional[str]) – If the service that you specify contains a template for an AAAA record, the IPv6 address that you want AWS Cloud Map to use for the value of the AAAA record. Default: none

  • port (Union[int, float, None]) – The port on the endpoint that you want AWS Cloud Map to perform health checks on. This value is also used for the port value in an SRV record if the service that you specify includes an SRV record. You can also specify a default port that is applied to all instances in the Service configuration. Default: 80

  • custom_attributes (Optional[Mapping[str, str]]) – Custom attributes of the instance. Default: none

  • instance_id (Optional[str]) – The id of the instance resource. Default: Automatically generated name

Return type

IInstance

register_load_balancer(id, load_balancer, custom_attributes=None)

Registers an ELB as a new instance with unique name instanceId in this service.

Parameters
  • id (str) –

  • load_balancer (ILoadBalancerV2) –

  • custom_attributes (Optional[Mapping[str, str]]) –

Return type

IInstance

register_non_ip_instance(id, *, custom_attributes=None, instance_id=None)

Registers a resource that is accessible using values other than an IP address or a domain name (CNAME).

Parameters
  • id (str) –

  • custom_attributes (Optional[Mapping[str, str]]) – Custom attributes of the instance. Default: none

  • instance_id (Optional[str]) – The id of the instance resource. Default: Automatically generated name

Return type

IInstance

to_string()

Returns a string representation of this construct.

Return type

str

Attributes

dns_record_type

The DnsRecordType used by the service.

Return type

DnsRecordType

namespace

The namespace for the Cloudmap Service.

Return type

INamespace

node

The construct tree node associated with this construct.

Return type

ConstructNode

routing_policy

The Routing Policy used by the service.

Return type

RoutingPolicy

service_arn

The Arn of the namespace that you want to use for DNS configuration.

Return type

str

service_id

The ID of the namespace that you want to use for DNS configuration.

Return type

str

service_name

A name for the Cloudmap Service.

Return type

str

stack

The stack in which this resource is defined.

Return type

Stack

Static Methods

classmethod from_service_attributes(scope, id, *, dns_record_type, namespace, routing_policy, service_arn, service_id, service_name)
Parameters
Return type

IService

classmethod is_construct(x)

Return whether the given object is a Construct.

Parameters

x (Any) –

Return type

bool