UpdateSteeringPolicy
put
/20180115/steeringPolicies/{steering_policy_id}
Update the configuration of the specified steering policy.
Request
Supported Media Types
- application/json
Path Parameters
-
policyId(required): string
The OCID of the policy.
Query Parameters
-
scope: string
Specifies to operate only on resources that have a matching DNS scope.Allowed Values:
[ "GLOBAL", "PRIVATE" ]
Header Parameters
-
If-Unmodified-Since: string
The If-Unmodified-Since header field makes the request method conditional on the selected representation's last modification date being earlier than or equal to the date provided in the field-value. This field accomplishes the same purpose as If-Match for cases where the user agent does not have an entity-tag for the representation.
-
if-match: string
For optimistic concurrency control. In the PUT or DELETE call for a resource, set the if-match parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.
-
opc-request-id: string
Minimum Length:
1
Maximum Length:98
Unique Oracle-assigned identifier for the request. Provide this request OCID if you need to contact Oracle about this request.
New data for the steering policy.
Root Schema : UpdateSteeringPolicyDetails
Type:
object
The body for updating a steering policy. New rules and answers provided in the request will replace the existing rules and answers in the policy. Avoid entering confidential information when you supply string values using the API.
Show Source
-
answers:
array answers
The set of all answers that can potentially issue from the steering policy.
-
definedTags:
object definedTags
Additional Properties Allowed: additionalPropertiesDefined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations": {"CostCenter": "42"}}
-
displayName:
string
Minimum Length:
1
Maximum Length:255
A user-friendly name for the steering policy. Does not need to be unique and can be changed. Avoid entering confidential information. -
freeformTags:
object freeformTags
Additional Properties Allowed: additionalPropertiesFree-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Example: {"Department": "Finance"}
-
healthCheckMonitorId:
string
Minimum Length:
1
Maximum Length:255
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. -
rules:
array rules
Maximum Number of Items:
10
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. -
template:
string
Allowed Values:
[ "FAILOVER", "LOAD_BALANCE", "ROUTE_BY_GEO", "ROUTE_BY_ASN", "ROUTE_BY_IP", "CUSTOM" ]
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. Note: You are 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. 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. 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. -
ttl:
integer(int32)
Minimum Value:
1
Maximum Value:604800
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.
Nested Schema : answers
Type:
array
The set of all answers that can potentially issue from the steering policy.
Show Source
-
Array of:
object SteeringPolicyAnswer
DNS record data with metadata for processing in a steering policy. Avoid entering confidential information when you supply string values using the API.
Nested Schema : definedTags
Type:
object
Additional Properties Allowed
Show Source
-
object additionalProperties
Additional Properties Allowed: additionalPropertiesKey-value pair representing a defined tag key and value, scoped to a namespace. Example: {"CostCenter": "42"}
Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations": {"CostCenter": "42"}}
Nested Schema : freeformTags
Type:
object
Additional Properties Allowed
Show Source
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Example: {"Department": "Finance"}
Nested Schema : rules
Type:
array
Maximum Number of Items:
10
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.
Show Source
-
Array of:
object SteeringPolicyRule
Discriminator:
ruleType
The configuration of the sorting and filtering behaviors in a steering policy. Rules can filter and sort answers based on weight, priority, endpoint health, and other data. A rule may optionally include a sequence of cases, each with an optional caseCondition expression. Cases allow a sequence of conditions to be defined that will apply different parameters to the rule when the conditions are met. Avoid entering confidential information when you supply string values using the API.
Nested Schema : SteeringPolicyAnswer
Type:
object
DNS record data with metadata for processing in a steering policy. Avoid entering confidential information when you supply string values using the API.
Show Source
-
isDisabled:
boolean
Set this property to true to indicate that the answer is administratively disabled, such as when the corresponding server is down for maintenance. An answer's isDisabled property can be referenced in answerCondition properties in rules using answer.isDisabled. Example: "rules": [ { "ruleType": "FILTER", "defaultAnswerData": [ { "answerCondition": "answer.isDisabled != true", "shouldKeep": true } ] },
-
name(required):
string
Minimum Length:
1
Maximum Length:255
A user-friendly name for the answer, unique within the steering policy. An answer's name property can be referenced in answerCondition properties of rules using answer.name. Example: "rules": [ { "ruleType": "FILTER", "defaultAnswerData": [ { "answerCondition": "answer.name == 'server 1'", "shouldKeep": true } ] } ] -
pool:
string
Minimum Length:
1
Maximum Length:255
The freeform name of a group of one or more records in which this record is included, such as "LAX data center". An answer's pool property can be referenced in answerCondition properties of rules using answer.pool. Example: "rules": [ { "ruleType": "FILTER", "defaultAnswerData": [ { "answerCondition": "answer.pool == 'US East Servers'", "shouldKeep": true } ] } ] -
rdata(required):
string
The record's data, as whitespace-delimited tokens in type-specific presentation format. All RDATA is normalized and the returned presentation of your RDATA may differ from its initial input.
-
rtype(required):
string
The type of DNS record, such as A or CNAME. Only A, AAAA, and CNAME are supported.
Example:
{
"name":"Phoenix LB 1",
"rtype":"A",
"rdata":"192.0.2.1",
"pool":"na-west",
"isDisabled":false
}
Nested Schema : additionalProperties
Type:
object
Additional Properties Allowed
Show Source
-
object additionalProperties
The value of the tag. Only string, integer, and boolean types are supported.
Key-value pair representing a defined tag key and value, scoped to a namespace. Example: {"CostCenter": "42"}
Nested Schema : additionalProperties
Type:
object
The value of the tag. Only string, integer, and boolean types are supported.
Nested Schema : SteeringPolicyRule
Type:
object
Discriminator:
ruleType
The configuration of the sorting and filtering behaviors in a steering policy. Rules can filter and sort answers based on weight, priority, endpoint health, and other data. A rule may optionally include a sequence of cases, each with an optional caseCondition expression. Cases allow a sequence of conditions to be defined that will apply different parameters to the rule when the conditions are met. Avoid entering confidential information when you supply string values using the API.
Show Source
-
description:
string
Maximum Length:
400
A user-defined description of the rule's purpose or behavior. -
ruleType(required):
string
Allowed Values:
[ "FILTER", "HEALTH", "WEIGHTED", "PRIORITY", "LIMIT" ]
The type of a rule determines its sorting/filtering behavior. FILTER - Filters the list of answers based on their defined boolean data. Answers remain only if their shouldKeep value is true. HEALTH - Removes answers from the list if their rdata matches a target in the health check monitor referenced by the steering policy and the target is reported down. WEIGHTED - Uses a number between 0 and 255 to determine how often an answer will be served in relation to other answers. Anwers with a higher weight will be served more frequently. PRIORITY - Uses a defined rank value of answers to determine which answer to serve, moving those with the lowest values to the beginning of the list without changing the relative order of those with the same value. Answers can be given a value between 0 and 255. LIMIT - Filters answers that are too far down the list. The defaultCount parameter specifies how many answers to keep. Example: If defaultCount has a value of 2 and there are five answers left, when the LIMIT rule is processed, only the first two answers will remain in the list.
Response
Supported Media Types
- application/json
200 Response
A response containing a single steering policy object.
Headers
-
ETag: string
The current version of the resource, ending with a representation-specific suffix. This value may be used in If-Match and If-None-Match headers for later requests of the same resource.
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. Provide this request OCID if you need to contact Oracle about this request.
-
opc-work-request-id: string
Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation.
Root Schema : SteeringPolicy
Type:
object
A DNS steering policy. Avoid entering confidential information when you supply string values using the API.
Show Source
-
answers(required):
array answers
The set of all answers that can potentially issue from the steering policy.
-
compartmentId(required):
string
Minimum Length:
1
Maximum Length:255
The OCID of the compartment containing the steering policy. -
definedTags(required):
object definedTags
Additional Properties Allowed: additionalPropertiesDefined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations": {"CostCenter": "42"}}
-
displayName(required):
string
Minimum Length:
1
Maximum Length:255
A user-friendly name for the steering policy. Does not need to be unique and can be changed. Avoid entering confidential information. -
freeformTags(required):
object freeformTags
Additional Properties Allowed: additionalPropertiesFree-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Example: {"Department": "Finance"}
-
healthCheckMonitorId:
string
Minimum Length:
1
Maximum Length:255
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. To use the Health Check monitoring feature in a steering policy, a monitor must be created using the Health Checks service first. -
id(required):
string
Minimum Length:
1
Maximum Length:255
The OCID of the resource. -
lifecycleState(required):
string
Allowed Values:
[ "ACTIVE", "CREATING", "DELETED", "DELETING" ]
The current state of the resource. -
rules(required):
array rules
Maximum Number of Items:
10
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. -
self(required):
string(url)
The canonical absolute URL of the resource.
-
template(required):
string
Allowed Values:
[ "FAILOVER", "LOAD_BALANCE", "ROUTE_BY_GEO", "ROUTE_BY_ASN", "ROUTE_BY_IP", "CUSTOM" ]
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. Note: You are strongly recommended to use a template other than CUSTOM to create 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. 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. 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. -
timeCreated(required):
string(date-time)
The date and time the resource was created, expressed in RFC 3339 timestamp format. Example: 2016-07-22T17:23:59:60Z
-
ttl(required):
integer(int32)
Minimum Value:
1
Maximum Value:604800
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.
Nested Schema : answers
Type:
array
The set of all answers that can potentially issue from the steering policy.
Show Source
-
Array of:
object SteeringPolicyAnswer
DNS record data with metadata for processing in a steering policy. Avoid entering confidential information when you supply string values using the API.
Nested Schema : definedTags
Type:
object
Additional Properties Allowed
Show Source
-
object additionalProperties
Additional Properties Allowed: additionalPropertiesKey-value pair representing a defined tag key and value, scoped to a namespace. Example: {"CostCenter": "42"}
Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations": {"CostCenter": "42"}}
Nested Schema : freeformTags
Type:
object
Additional Properties Allowed
Show Source
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Example: {"Department": "Finance"}
Nested Schema : rules
Type:
array
Maximum Number of Items:
10
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.
Show Source
-
Array of:
object SteeringPolicyRule
Discriminator:
ruleType
The configuration of the sorting and filtering behaviors in a steering policy. Rules can filter and sort answers based on weight, priority, endpoint health, and other data. A rule may optionally include a sequence of cases, each with an optional caseCondition expression. Cases allow a sequence of conditions to be defined that will apply different parameters to the rule when the conditions are met. Avoid entering confidential information when you supply string values using the API.
Nested Schema : SteeringPolicyAnswer
Type:
object
DNS record data with metadata for processing in a steering policy. Avoid entering confidential information when you supply string values using the API.
Show Source
-
isDisabled:
boolean
Set this property to true to indicate that the answer is administratively disabled, such as when the corresponding server is down for maintenance. An answer's isDisabled property can be referenced in answerCondition properties in rules using answer.isDisabled. Example: "rules": [ { "ruleType": "FILTER", "defaultAnswerData": [ { "answerCondition": "answer.isDisabled != true", "shouldKeep": true } ] },
-
name(required):
string
Minimum Length:
1
Maximum Length:255
A user-friendly name for the answer, unique within the steering policy. An answer's name property can be referenced in answerCondition properties of rules using answer.name. Example: "rules": [ { "ruleType": "FILTER", "defaultAnswerData": [ { "answerCondition": "answer.name == 'server 1'", "shouldKeep": true } ] } ] -
pool:
string
Minimum Length:
1
Maximum Length:255
The freeform name of a group of one or more records in which this record is included, such as "LAX data center". An answer's pool property can be referenced in answerCondition properties of rules using answer.pool. Example: "rules": [ { "ruleType": "FILTER", "defaultAnswerData": [ { "answerCondition": "answer.pool == 'US East Servers'", "shouldKeep": true } ] } ] -
rdata(required):
string
The record's data, as whitespace-delimited tokens in type-specific presentation format. All RDATA is normalized and the returned presentation of your RDATA may differ from its initial input.
-
rtype(required):
string
The type of DNS record, such as A or CNAME. Only A, AAAA, and CNAME are supported.
Example:
{
"name":"Phoenix LB 1",
"rtype":"A",
"rdata":"192.0.2.1",
"pool":"na-west",
"isDisabled":false
}
Nested Schema : additionalProperties
Type:
object
Additional Properties Allowed
Show Source
-
object additionalProperties
The value of the tag. Only string, integer, and boolean types are supported.
Key-value pair representing a defined tag key and value, scoped to a namespace. Example: {"CostCenter": "42"}
Nested Schema : additionalProperties
Type:
object
The value of the tag. Only string, integer, and boolean types are supported.
Nested Schema : SteeringPolicyRule
Type:
object
Discriminator:
ruleType
The configuration of the sorting and filtering behaviors in a steering policy. Rules can filter and sort answers based on weight, priority, endpoint health, and other data. A rule may optionally include a sequence of cases, each with an optional caseCondition expression. Cases allow a sequence of conditions to be defined that will apply different parameters to the rule when the conditions are met. Avoid entering confidential information when you supply string values using the API.
Show Source
-
description:
string
Maximum Length:
400
A user-defined description of the rule's purpose or behavior. -
ruleType(required):
string
Allowed Values:
[ "FILTER", "HEALTH", "WEIGHTED", "PRIORITY", "LIMIT" ]
The type of a rule determines its sorting/filtering behavior. FILTER - Filters the list of answers based on their defined boolean data. Answers remain only if their shouldKeep value is true. HEALTH - Removes answers from the list if their rdata matches a target in the health check monitor referenced by the steering policy and the target is reported down. WEIGHTED - Uses a number between 0 and 255 to determine how often an answer will be served in relation to other answers. Anwers with a higher weight will be served more frequently. PRIORITY - Uses a defined rank value of answers to determine which answer to serve, moving those with the lowest values to the beginning of the list without changing the relative order of those with the same value. Answers can be given a value between 0 and 255. LIMIT - Filters answers that are too far down the list. The defaultCount parameter specifies how many answers to keep. Example: If defaultCount has a value of 2 and there are five answers left, when the LIMIT rule is processed, only the first two answers will remain in the list.
400 Response
Bad Request
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. Provide this request OCID if you need to contact Oracle about this request.
Root Schema : Error
Type:
object
The properties that define an error.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing..Example:
UnknownError
-
message(required):
string
A human-readable error string.Example:
error validating payload
401 Response
Unauthorized
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. Provide this request OCID if you need to contact Oracle about this request.
Root Schema : Error
Type:
object
The properties that define an error.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing..Example:
UnknownError
-
message(required):
string
A human-readable error string.Example:
error validating payload
404 Response
Not Found
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. Provide this request OCID if you need to contact Oracle about this request.
Root Schema : Error
Type:
object
The properties that define an error.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing..Example:
UnknownError
-
message(required):
string
A human-readable error string.Example:
error validating payload
409 Response
Conflict
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. Provide this request OCID if you need to contact Oracle about this request.
Root Schema : Error
Type:
object
The properties that define an error.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing..Example:
UnknownError
-
message(required):
string
A human-readable error string.Example:
error validating payload
412 Response
Precondition Failed
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. Provide this request OCID if you need to contact Oracle about this request.
Root Schema : Error
Type:
object
The properties that define an error.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing..Example:
UnknownError
-
message(required):
string
A human-readable error string.Example:
error validating payload
422 Response
Unprocessable Entity
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. Provide this request OCID if you need to contact Oracle about this request.
Root Schema : Error
Type:
object
The properties that define an error.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing..Example:
UnknownError
-
message(required):
string
A human-readable error string.Example:
error validating payload
429 Response
Too Many Requests
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. Provide this request OCID if you need to contact Oracle about this request.
Root Schema : Error
Type:
object
The properties that define an error.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing..Example:
UnknownError
-
message(required):
string
A human-readable error string.Example:
error validating payload
500 Response
Internal Server Error
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. Provide this request OCID if you need to contact Oracle about this request.
Root Schema : Error
Type:
object
The properties that define an error.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing..Example:
UnknownError
-
message(required):
string
A human-readable error string.Example:
error validating payload
Default Response
An error has occurred.
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. Provide this request OCID if you need to contact Oracle about this request.
Root Schema : Error
Type:
object
The properties that define an error.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing..Example:
UnknownError
-
message(required):
string
A human-readable error string.Example:
error validating payload