/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.servicediscovery.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* A complex type that contains information about an instance that Cloud Map creates when you submit a * RegisterInstance request. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Instance implements Serializable, Cloneable, StructuredPojo { /** *

* An identifier that you want to associate with the instance. Note the following: *

* */ private String 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). *

*/ private String creatorRequestId; /** *

* A string map that contains the following information for the service that you specify in ServiceId: *

* * *

* Do not include sensitive information in the attributes if the namespace is discoverable by public DNS queries. *

*
*

* 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 in the Route 53 API Reference. *

*

* Note the following: *

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

*
*
*/ private java.util.Map attributes; /** *

* An identifier that you want to associate with the instance. Note the following: *

* * * @param id * An identifier that you want to associate with the instance. Note the following:

*