Service
- class aws_cdk.aws_servicediscovery.Service(scope, id, *, namespace, discovery_type=None, 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: - Resource- Define a CloudMap Service. - ExampleMetadata:
- lit=aws-servicediscovery/test/integ.service-with-public-dns-namespace.lit.ts infused 
 - Example: - import aws_cdk as cdk import aws_cdk as servicediscovery app = cdk.App() stack = cdk.Stack(app, "aws-servicediscovery-integ") namespace = servicediscovery.PublicDnsNamespace(stack, "Namespace", name="foobar.com" ) service = namespace.create_service("Service", name="foo", dns_record_type=servicediscovery.DnsRecordType.A, dns_ttl=cdk.Duration.seconds(30), health_check=cdk.aws_servicediscovery.HealthCheckConfig( type=servicediscovery.HealthCheckType.HTTPS, resource_path="/healthcheck", failure_threshold=2 ) ) service.register_ip_instance("IpInstance", ipv4="54.239.25.192", port=443 ) app.synth() - Parameters:
- scope ( - Construct)
- id ( - str)
- namespace ( - INamespace) – The namespace that you want to use for DNS configuration.
- discovery_type ( - Optional[- DiscoveryType]) – Controls how instances within this service can be discovered. Default: DNS_AND_API
- 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- truecorrectly configures the- routingPolicyand 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 ( - Union[- HealthCheckCustomConfig,- Dict[- str,- Any],- None]) – 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 ( - Union[- HealthCheckConfig,- Dict[- str,- Any],- None]) – 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
 
 - Methods - apply_removal_policy(policy)
- Apply the given removal policy to this resource. - The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced. - The resource can be deleted ( - RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (- RemovalPolicy.RETAIN).- Parameters:
- policy ( - RemovalPolicy)
- Return type:
- None
 
 - 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:
 
 - 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:
 
 - 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:
 
 - 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:
 
 - to_string()
- Returns a string representation of this construct. - Return type:
- str
 
 - Attributes - PROPERTY_INJECTION_ID = 'aws-cdk-lib.aws-servicediscovery.Service'
 - discovery_type
- The discovery type used by this service. 
 - dns_record_type
- The DnsRecordType used by the service. 
 - env
- The environment this resource belongs to. - For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into. 
 - namespace
- The namespace for the Cloudmap Service. 
 - node
- The tree node. 
 - routing_policy
- The Routing Policy used by the service. 
 - service_arn
- The Arn of the namespace that you want to use for DNS configuration. 
 - service_id
- The ID of the namespace that you want to use for DNS configuration. 
 - service_name
- A name for the Cloudmap Service. 
 - stack
- The stack in which this resource is defined. 
 - Static Methods - classmethod from_service_attributes(scope, id, *, dns_record_type, namespace, routing_policy, service_arn, service_id, service_name, discovery_type=None)
- Parameters:
- scope ( - Construct)
- id ( - str)
- dns_record_type ( - DnsRecordType)
- namespace ( - INamespace)
- routing_policy ( - RoutingPolicy)
- service_arn ( - str)
- service_id ( - str)
- service_name ( - str)
- discovery_type ( - Optional[- DiscoveryType])
 
- Return type:
 
 - classmethod is_construct(x)
- Checks if - xis a construct.- Use this method instead of - instanceofto properly detect- Constructinstances, even when the construct library is symlinked.- Explanation: in JavaScript, multiple copies of the - constructslibrary on disk are seen as independent, completely different libraries. As a consequence, the class- Constructin each copy of the- constructslibrary is seen as a different class, and an instance of one class will not test as- instanceofthe other class.- npm installwill not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the- constructslibrary can be accidentally installed, and- instanceofwill behave unpredictably. It is safest to avoid using- instanceof, and using this type-testing method instead.- Parameters:
- x ( - Any) – Any object.
- Return type:
- bool
- Returns:
- true if - xis an object created from a class which extends- Construct.
 
 - classmethod is_owned_resource(construct)
- Returns true if the construct was created by CDK, and false otherwise. - Parameters:
- construct ( - IConstruct)
- Return type:
- bool
 
 - classmethod is_resource(construct)
- Check whether the given construct is a Resource. - Parameters:
- construct ( - IConstruct)
- Return type:
- bool