All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.servicediscovery.model.DnsConfig Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Route 53 Auto Naming module holds the client classes that are used for communicating with Amazon Route 53 Auto Naming Service

There is a newer version: 1.12.772
Show newest version
/*
 * 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 the Amazon Route 53 DNS records that you want Cloud Map to create when * you register an instance. *

* *

* The record types of a service can only be changed by deleting the service and recreating it with a new * Dnsconfig. *

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

* Use NamespaceId in Service * instead. *

*

* The ID of the namespace to use for DNS configuration. *

*/ @Deprecated private String namespaceId; /** *

* 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 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 in the Route 53 Developer Guide. *

*
*
*/ private String routingPolicy; /** *

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

*/ private java.util.List dnsRecords; /** *

* Use NamespaceId in Service * instead. *

*

* The ID of the namespace to use for DNS configuration. *

* * @param namespaceId * Use NamespaceId in Service instead.

*

* The ID of the namespace to use for DNS configuration. */ @Deprecated public void setNamespaceId(String namespaceId) { this.namespaceId = namespaceId; } /** *

* Use NamespaceId in Service * instead. *

*

* The ID of the namespace to use for DNS configuration. *

* * @return Use NamespaceId in Service instead.

*

* The ID of the namespace to use for DNS configuration. */ @Deprecated public String getNamespaceId() { return this.namespaceId; } /** *

* Use NamespaceId in Service * instead. *

*

* The ID of the namespace to use for DNS configuration. *

* * @param namespaceId * Use NamespaceId in Service instead.

*

* The ID of the namespace to use for DNS configuration. * @return Returns a reference to this object so that method calls can be chained together. */ @Deprecated public DnsConfig withNamespaceId(String namespaceId) { setNamespaceId(namespaceId); return this; } /** *

* 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 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 in the Route 53 Developer Guide. *

*
*
* * @param routingPolicy * 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 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 in the Route 53 Developer Guide. *

*
* @see RoutingPolicy */ public void setRoutingPolicy(String routingPolicy) { this.routingPolicy = routingPolicy; } /** *

* 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 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 in the Route 53 Developer Guide. *

*
*
* * @return 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 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 in the Route 53 Developer Guide. *

*
* @see RoutingPolicy */ public String getRoutingPolicy() { return this.routingPolicy; } /** *

* 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 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 in the Route 53 Developer Guide. *

*
*
* * @param routingPolicy * 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 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 in the Route 53 Developer Guide. *

*
* @return Returns a reference to this object so that method calls can be chained together. * @see RoutingPolicy */ public DnsConfig withRoutingPolicy(String routingPolicy) { setRoutingPolicy(routingPolicy); return this; } /** *

* 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 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 in the Route 53 Developer Guide. *

*
*
* * @param routingPolicy * 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 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 in the Route 53 Developer Guide. *

*
* @return Returns a reference to this object so that method calls can be chained together. * @see RoutingPolicy */ public DnsConfig withRoutingPolicy(RoutingPolicy routingPolicy) { this.routingPolicy = routingPolicy.toString(); return this; } /** *

* 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 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. */ public java.util.List getDnsRecords() { return dnsRecords; } /** *

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

* * @param dnsRecords * 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. */ public void setDnsRecords(java.util.Collection dnsRecords) { if (dnsRecords == null) { this.dnsRecords = null; return; } this.dnsRecords = new java.util.ArrayList(dnsRecords); } /** *

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

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setDnsRecords(java.util.Collection)} or {@link #withDnsRecords(java.util.Collection)} if you want to * override the existing values. *

* * @param dnsRecords * 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 Returns a reference to this object so that method calls can be chained together. */ public DnsConfig withDnsRecords(DnsRecord... dnsRecords) { if (this.dnsRecords == null) { setDnsRecords(new java.util.ArrayList(dnsRecords.length)); } for (DnsRecord ele : dnsRecords) { this.dnsRecords.add(ele); } return this; } /** *

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

* * @param dnsRecords * 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 Returns a reference to this object so that method calls can be chained together. */ public DnsConfig withDnsRecords(java.util.Collection dnsRecords) { setDnsRecords(dnsRecords); 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 (getNamespaceId() != null) sb.append("NamespaceId: ").append(getNamespaceId()).append(","); if (getRoutingPolicy() != null) sb.append("RoutingPolicy: ").append(getRoutingPolicy()).append(","); if (getDnsRecords() != null) sb.append("DnsRecords: ").append(getDnsRecords()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DnsConfig == false) return false; DnsConfig other = (DnsConfig) obj; if (other.getNamespaceId() == null ^ this.getNamespaceId() == null) return false; if (other.getNamespaceId() != null && other.getNamespaceId().equals(this.getNamespaceId()) == false) return false; if (other.getRoutingPolicy() == null ^ this.getRoutingPolicy() == null) return false; if (other.getRoutingPolicy() != null && other.getRoutingPolicy().equals(this.getRoutingPolicy()) == false) return false; if (other.getDnsRecords() == null ^ this.getDnsRecords() == null) return false; if (other.getDnsRecords() != null && other.getDnsRecords().equals(this.getDnsRecords()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getNamespaceId() == null) ? 0 : getNamespaceId().hashCode()); hashCode = prime * hashCode + ((getRoutingPolicy() == null) ? 0 : getRoutingPolicy().hashCode()); hashCode = prime * hashCode + ((getDnsRecords() == null) ? 0 : getDnsRecords().hashCode()); return hashCode; } @Override public DnsConfig clone() { try { return (DnsConfig) 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.DnsConfigMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy