@Generated(value="OracleSDKGenerator", comments="API Version: 20180115") public final class SteeringPolicy extends Object
A DNS steering policy.
*Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
Note: Objects should always be created or deserialized using the SteeringPolicy.Builder
. This model distinguishes fields
that are null
because they are unset from fields that are explicitly set to null
. This is done in
the setter methods of the SteeringPolicy.Builder
, which maintain a set of all explicitly set fields called
__explicitlySet__
. The hashCode()
and equals(Object)
methods are implemented to take
__explicitlySet__
into account. The constructor, on the other hand, does not set __explicitlySet__
(since the constructor cannot distinguish explicit null
from unset null
).
Modifier and Type | Class and Description |
---|---|
static class |
SteeringPolicy.Builder |
static class |
SteeringPolicy.LifecycleState
The current state of the resource.
|
static class |
SteeringPolicy.Template
A set of predefined rules based on the desired purpose of the steering policy.
|
Constructor and Description |
---|
SteeringPolicy(String compartmentId,
String displayName,
Integer ttl,
String healthCheckMonitorId,
SteeringPolicy.Template template,
Map<String,String> freeformTags,
Map<String,Map<String,Object>> definedTags,
List<SteeringPolicyAnswer> answers,
List<SteeringPolicyRule> rules,
String self,
String id,
Date timeCreated,
SteeringPolicy.LifecycleState lifecycleState)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
static SteeringPolicy.Builder |
builder()
Create a new builder.
|
boolean |
equals(Object o) |
Set<String> |
get__explicitlySet__() |
List<SteeringPolicyAnswer> |
getAnswers()
The set of all answers that can potentially issue from the steering policy.
|
String |
getCompartmentId()
The OCID of the compartment containing the steering policy.
|
Map<String,Map<String,Object>> |
getDefinedTags()
Defined tags for this resource.
|
String |
getDisplayName()
A user-friendly name for the steering policy.
|
Map<String,String> |
getFreeformTags()
Free-form tags for this resource.
|
String |
getHealthCheckMonitorId()
The OCID of the health check monitor providing health data about the answers of the
steering policy.
|
String |
getId()
The OCID of the resource.
|
SteeringPolicy.LifecycleState |
getLifecycleState()
The current state of the resource.
|
List<SteeringPolicyRule> |
getRules()
The series of rules that will be processed in sequence to reduce the pool of answers
to a response for any given request.
|
String |
getSelf()
The canonical absolute URL of the resource.
|
SteeringPolicy.Template |
getTemplate()
A set of predefined rules based on the desired purpose of the steering policy.
|
Date |
getTimeCreated()
The date and time the resource was created, expressed in RFC 3339 timestamp format.
|
Integer |
getTtl()
The Time To Live (TTL) for responses from the steering policy, in seconds.
|
int |
hashCode() |
SteeringPolicy.Builder |
toBuilder() |
String |
toString() |
@ConstructorProperties(value={"compartmentId","displayName","ttl","healthCheckMonitorId","template","freeformTags","definedTags","answers","rules","self","id","timeCreated","lifecycleState"}) @Deprecated public SteeringPolicy(String compartmentId, String displayName, Integer ttl, String healthCheckMonitorId, SteeringPolicy.Template template, Map<String,String> freeformTags, Map<String,Map<String,Object>> definedTags, List<SteeringPolicyAnswer> answers, List<SteeringPolicyRule> rules, String self, String id, Date timeCreated, SteeringPolicy.LifecycleState lifecycleState)
public static SteeringPolicy.Builder builder()
Create a new builder.
public SteeringPolicy.Builder toBuilder()
public String getCompartmentId()
The OCID of the compartment containing the steering policy.
public String getDisplayName()
A user-friendly name for the steering policy. Does not have to be unique and can be changed. Avoid entering confidential information.
public Integer getTtl()
The Time To Live (TTL) for responses from the steering policy, in seconds. If not specified during creation, a value of 30 seconds will be used.
public String getHealthCheckMonitorId()
The OCID of the health check monitor providing health data about the answers of the
steering policy. A steering policy answer with rdata
matching a monitored endpoint
will use the health data of that endpoint. A steering policy answer with rdata
not
matching any monitored endpoint will be assumed healthy.
Note: To use the Health Check monitoring feature in a steering policy, a monitor must be created using the Health Checks service first. For more information on how to create a monitor, please see Managing Health Checks.
public SteeringPolicy.Template getTemplate()
A set of predefined rules based on the desired purpose of the steering policy. Each template utilizes Traffic Management’s rules in a different order to produce the desired results when answering DNS queries.
Example: The FAILOVER
template determines answers by filtering the policy’s answers
using the FILTER
rule first, then the following rules in succession: HEALTH
, PRIORITY
,
and LIMIT
. This gives the domain dynamic failover capability.
It is strongly recommended to use a template other than CUSTOM
when creating
a steering policy.
All templates require the rule order to begin with an unconditional FILTER
rule that keeps
answers contingent upon answer.isDisabled != true
, except for CUSTOM
. A defined
HEALTH
rule must follow the FILTER
rule if the policy references a healthCheckMonitorId
.
The last rule of a template must must be a LIMIT
rule. For more information about templates
and code examples, see Traffic Management API Guide.
*Template Types**
`FAILOVER` - Uses health check information on your endpoints to determine which DNS answers to serve. If an endpoint fails a health check, the answer for that endpoint will be removed from the list of available answers until the endpoint is detected as healthy.
LOAD_BALANCE
- Distributes web traffic to specified endpoints based on defined weights.
ROUTE_BY_GEO
- Answers DNS queries based on the query’s geographic location. For a list of geographic
locations to route by, see Traffic Management Geographic Locations.
ROUTE_BY_ASN
- Answers DNS queries based on the query’s originating ASN.
ROUTE_BY_IP
- Answers DNS queries based on the query’s IP address.
CUSTOM
- Allows a customized configuration of rules.public Map<String,String> getFreeformTags()
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags.
Example: {\"Department\": \"Finance\"}
public Map<String,Map<String,Object>> getDefinedTags()
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
Example: {\"Operations\": {\"CostCenter\": \"42\"}}
public List<SteeringPolicyAnswer> getAnswers()
The set of all answers that can potentially issue from the steering policy.
public List<SteeringPolicyRule> getRules()
The series of rules that will be processed in sequence to reduce the pool of answers to a response for any given request.
The first rule receives a shuffled list of all answers, and every other rule receives the list of answers emitted by the one preceding it. The last rule populates the response.
public String getSelf()
The canonical absolute URL of the resource.
public String getId()
The OCID of the resource.
public Date getTimeCreated()
The date and time the resource was created, expressed in RFC 3339 timestamp format.
*Example:** `2016-07-22T17:23:59:60Z`
public SteeringPolicy.LifecycleState getLifecycleState()
The current state of the resource.
Copyright © 2016–2021. All rights reserved.