com.amazonaws.services.servicediscovery.model.Instance Maven / Gradle / Ivy
Show all versions of aws-java-sdk-servicediscovery Show documentation
/*
* Copyright 2019-2024 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:
*
*
* -
*
* 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.
*
*
* -
*
* 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.
*
*
*
*/
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
:
*
*
* -
*
* The attributes that apply to the records that are defined in the service.
*
*
* -
*
* For each attribute, the applicable value.
*
*
*
*
*
* 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:
*
*
* -
*
* 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.
*
*
*
*/
private java.util.Map attributes;
/**
*
* 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.
*
*
* -
*
* 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.
*
*
*
*
* @param 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.
*
*
* -
*
* 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.
*
*
*/
public void setId(String id) {
this.id = 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.
*
*
* -
*
* 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.
*
*
*
*
* @return 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.
*
*
* -
*
* 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.
*
*
*/
public String getId() {
return this.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.
*
*
* -
*
* 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.
*
*
*
*
* @param 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.
*
*
* -
*
* 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.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Instance withId(String id) {
setId(id);
return this;
}
/**
*
* 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).
*
*
* @param creatorRequestId
* 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).
*/
public void setCreatorRequestId(String creatorRequestId) {
this.creatorRequestId = creatorRequestId;
}
/**
*
* 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 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).
*/
public String getCreatorRequestId() {
return this.creatorRequestId;
}
/**
*
* 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).
*
*
* @param creatorRequestId
* 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 Returns a reference to this object so that method calls can be chained together.
*/
public Instance withCreatorRequestId(String creatorRequestId) {
setCreatorRequestId(creatorRequestId);
return this;
}
/**
*
* 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.
*
*
*
*
*
* 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:
*
*
* -
*
* 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.
*
*
*
*
* @return 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.
*
*
*
*
*
* 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:
*
*
* -
*
* 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.
*
*
*/
public java.util.Map getAttributes() {
return 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.
*
*
*
*
*
* 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:
*
*
* -
*
* 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.
*
*
*
*
* @param 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.
*
*
*
*
*
* 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:
*
*
* -
*
* 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.
*
*
*/
public void setAttributes(java.util.Map attributes) {
this.attributes = 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.
*
*
*
*
*
* 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:
*
*
* -
*
* 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.
*
*
*
*
* @param 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.
*
*
*
*
*
* 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:
*
*
* -
*
* 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.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Instance withAttributes(java.util.Map attributes) {
setAttributes(attributes);
return this;
}
/**
* Add a single Attributes entry
*
* @see Instance#withAttributes
* @returns a reference to this object so that method calls can be chained together.
*/
public Instance addAttributesEntry(String key, String value) {
if (null == this.attributes) {
this.attributes = new java.util.HashMap();
}
if (this.attributes.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.attributes.put(key, value);
return this;
}
/**
* Removes all the entries added into Attributes.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Instance clearAttributesEntries() {
this.attributes = null;
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getId() != null)
sb.append("Id: ").append(getId()).append(",");
if (getCreatorRequestId() != null)
sb.append("CreatorRequestId: ").append(getCreatorRequestId()).append(",");
if (getAttributes() != null)
sb.append("Attributes: ").append(getAttributes());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof Instance == false)
return false;
Instance other = (Instance) obj;
if (other.getId() == null ^ this.getId() == null)
return false;
if (other.getId() != null && other.getId().equals(this.getId()) == false)
return false;
if (other.getCreatorRequestId() == null ^ this.getCreatorRequestId() == null)
return false;
if (other.getCreatorRequestId() != null && other.getCreatorRequestId().equals(this.getCreatorRequestId()) == false)
return false;
if (other.getAttributes() == null ^ this.getAttributes() == null)
return false;
if (other.getAttributes() != null && other.getAttributes().equals(this.getAttributes()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getId() == null) ? 0 : getId().hashCode());
hashCode = prime * hashCode + ((getCreatorRequestId() == null) ? 0 : getCreatorRequestId().hashCode());
hashCode = prime * hashCode + ((getAttributes() == null) ? 0 : getAttributes().hashCode());
return hashCode;
}
@Override
public Instance clone() {
try {
return (Instance) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.servicediscovery.model.transform.InstanceMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}