Class SteeringPolicy
A DNS steering policy.
Warning: Oracle recommends that you avoid using any confidential information when you supply string values using the API.
Inherited Members
Namespace: Oci.DnsService.Models
Assembly: OCI.DotNetSDK.Dns.dll
Syntax
public class SteeringPolicy
Properties
Answers
Declaration
[Required(ErrorMessage = "Answers is required.")]
[JsonProperty(PropertyName = "answers")]
public List<SteeringPolicyAnswer> Answers { get; set; }
Property Value
Type | Description |
---|---|
List<SteeringPolicyAnswer> | The set of all answers that can potentially issue from the steering policy. |
Remarks
Required
CompartmentId
Declaration
[Required(ErrorMessage = "CompartmentId is required.")]
[JsonProperty(PropertyName = "compartmentId")]
public string CompartmentId { get; set; }
Property Value
Type | Description |
---|---|
string | The OCID of the compartment containing the steering policy. |
Remarks
Required
DefinedTags
Declaration
[Required(ErrorMessage = "DefinedTags is required.")]
[JsonProperty(PropertyName = "definedTags")]
public Dictionary<string, Dictionary<string, object>> DefinedTags { get; set; }
Property Value
Type | Description |
---|---|
Dictionary<string, Dictionary<string, object>> | Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see Resource Tags.
**Example: ** {"Operations": {"CostCenter": "42"}} |
Remarks
Required
DisplayName
Declaration
[Required(ErrorMessage = "DisplayName is required.")]
[JsonProperty(PropertyName = "displayName")]
public string DisplayName { get; set; }
Property Value
Type | Description |
---|---|
string | A user-friendly name for the steering policy. Does not have to be unique and can be changed. Avoid entering confidential information. |
Remarks
Required
FreeformTags
Declaration
[Required(ErrorMessage = "FreeformTags is required.")]
[JsonProperty(PropertyName = "freeformTags")]
public Dictionary<string, string> FreeformTags { get; set; }
Property Value
Type | Description |
---|---|
Dictionary<string, string> | 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"} |
Remarks
Required
HealthCheckMonitorId
Declaration
[JsonProperty(PropertyName = "healthCheckMonitorId")]
public string HealthCheckMonitorId { get; set; }
Property Value
Type | Description |
---|---|
string | The OCID of the health check monitor providing health data about the answers of the
steering policy. A steering policy answer with 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. |
Id
Declaration
[Required(ErrorMessage = "Id is required.")]
[JsonProperty(PropertyName = "id")]
public string Id { get; set; }
Property Value
Type | Description |
---|---|
string | The OCID of the resource. |
Remarks
Required
LifecycleState
Declaration
[Required(ErrorMessage = "LifecycleState is required.")]
[JsonProperty(PropertyName = "lifecycleState")]
[JsonConverter(typeof(ResponseEnumConverter))]
public SteeringPolicy.LifecycleStateEnum? LifecycleState { get; set; }
Property Value
Type | Description |
---|---|
SteeringPolicy.LifecycleStateEnum? | The current state of the resource. |
Remarks
Required
Rules
Declaration
[Required(ErrorMessage = "Rules is required.")]
[JsonProperty(PropertyName = "rules")]
public List<SteeringPolicyRule> Rules { get; set; }
Property Value
Type | Description |
---|---|
List<SteeringPolicyRule> | 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. |
Remarks
Required
Self
Declaration
[Required(ErrorMessage = "Self is required.")]
[JsonProperty(PropertyName = "self")]
public string Self { get; set; }
Property Value
Type | Description |
---|---|
string | The canonical absolute URL of the resource. |
Remarks
Required
Template
Declaration
[Required(ErrorMessage = "Template is required.")]
[JsonProperty(PropertyName = "template")]
[JsonConverter(typeof(ResponseEnumConverter))]
public SteeringPolicy.TemplateEnum? Template { get; set; }
Property Value
Type | Description |
---|---|
SteeringPolicy.TemplateEnum? | 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 answersusing 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 creatinga steering policy.All templates require the rule order to begin with an unconditional FILTER rule that keepsanswers contingent upon answer.isDisabled != true, except for CUSTOM. A definedHEALTH 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 templatesand code examples, see Traffic Management API Guide.Template Types FAILOVER - Uses health check information on your endpoints to determine which DNS answersto serve. If an endpoint fails a health check, the answer for that endpoint will be removedfrom 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 geographiclocations 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. |
Remarks
Required
TimeCreated
Declaration
[Required(ErrorMessage = "TimeCreated is required.")]
[JsonProperty(PropertyName = "timeCreated")]
public DateTime? TimeCreated { get; set; }
Property Value
Type | Description |
---|---|
DateTime? | The date and time the resource was created, expressed in RFC 3339 timestamp format.
|
Remarks
Required
Ttl
Declaration
[Required(ErrorMessage = "Ttl is required.")]
[JsonProperty(PropertyName = "ttl")]
public int? Ttl { get; set; }
Property Value
Type | Description |
---|---|
int? | 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. |
Remarks
Required