oci 2.5.3 → 2.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/oci/dns/dns_client.rb +21 -12
  4. data/lib/oci/dns/models/create_steering_policy_attachment_details.rb +4 -7
  5. data/lib/oci/dns/models/create_steering_policy_details.rb +63 -52
  6. data/lib/oci/dns/models/create_zone_details.rb +10 -5
  7. data/lib/oci/dns/models/record.rb +3 -1
  8. data/lib/oci/dns/models/record_operation.rb +4 -0
  9. data/lib/oci/dns/models/steering_policy.rb +64 -54
  10. data/lib/oci/dns/models/steering_policy_answer.rb +55 -8
  11. data/lib/oci/dns/models/steering_policy_attachment.rb +8 -7
  12. data/lib/oci/dns/models/steering_policy_attachment_summary.rb +2 -3
  13. data/lib/oci/dns/models/steering_policy_filter_answer_data.rb +3 -1
  14. data/lib/oci/dns/models/steering_policy_filter_rule.rb +12 -3
  15. data/lib/oci/dns/models/steering_policy_filter_rule_case.rb +8 -0
  16. data/lib/oci/dns/models/steering_policy_health_rule.rb +9 -0
  17. data/lib/oci/dns/models/steering_policy_health_rule_case.rb +7 -0
  18. data/lib/oci/dns/models/steering_policy_limit_rule.rb +11 -1
  19. data/lib/oci/dns/models/steering_policy_limit_rule_case.rb +12 -1
  20. data/lib/oci/dns/models/steering_policy_priority_answer_data.rb +6 -0
  21. data/lib/oci/dns/models/steering_policy_priority_rule.rb +11 -2
  22. data/lib/oci/dns/models/steering_policy_priority_rule_case.rb +8 -0
  23. data/lib/oci/dns/models/steering_policy_rule.rb +28 -24
  24. data/lib/oci/dns/models/steering_policy_summary.rb +62 -53
  25. data/lib/oci/dns/models/steering_policy_weighted_answer_data.rb +5 -0
  26. data/lib/oci/dns/models/steering_policy_weighted_rule.rb +11 -2
  27. data/lib/oci/dns/models/steering_policy_weighted_rule_case.rb +8 -0
  28. data/lib/oci/dns/models/update_steering_policy_attachment_details.rb +5 -1
  29. data/lib/oci/dns/models/update_steering_policy_details.rb +64 -52
  30. data/lib/oci/dns/models/update_zone_details.rb +10 -5
  31. data/lib/oci/dns/models/zone.rb +10 -5
  32. data/lib/oci/dns/models/zone_summary.rb +10 -5
  33. data/lib/oci/object_storage/models/bucket.rb +12 -11
  34. data/lib/oci/object_storage/models/bucket_summary.rb +4 -4
  35. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +3 -3
  36. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +3 -3
  37. data/lib/oci/object_storage/models/copy_object_details.rb +22 -13
  38. data/lib/oci/object_storage/models/create_bucket_details.rb +5 -5
  39. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +2 -2
  40. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +6 -3
  41. data/lib/oci/object_storage/models/list_objects.rb +2 -2
  42. data/lib/oci/object_storage/models/multipart_upload.rb +4 -4
  43. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +5 -4
  44. data/lib/oci/object_storage/models/namespace_metadata.rb +4 -4
  45. data/lib/oci/object_storage/models/object_lifecycle_rule.rb +3 -3
  46. data/lib/oci/object_storage/models/object_name_filter.rb +76 -6
  47. data/lib/oci/object_storage/models/object_summary.rb +2 -2
  48. data/lib/oci/object_storage/models/pattern_details.rb +208 -0
  49. data/lib/oci/object_storage/models/preauthenticated_request.rb +9 -7
  50. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +3 -1
  51. data/lib/oci/object_storage/models/rename_object_details.rb +5 -5
  52. data/lib/oci/object_storage/models/restore_objects_details.rb +2 -2
  53. data/lib/oci/object_storage/models/update_bucket_details.rb +5 -5
  54. data/lib/oci/object_storage/models/update_namespace_metadata_details.rb +4 -4
  55. data/lib/oci/object_storage/models/work_request.rb +11 -10
  56. data/lib/oci/object_storage/models/work_request_error.rb +4 -4
  57. data/lib/oci/object_storage/models/work_request_log_entry.rb +3 -1
  58. data/lib/oci/object_storage/models/work_request_resource.rb +4 -4
  59. data/lib/oci/object_storage/models/work_request_summary.rb +11 -10
  60. data/lib/oci/object_storage/object_storage.rb +1 -0
  61. data/lib/oci/object_storage/object_storage_client.rb +117 -93
  62. data/lib/oci/object_storage/object_storage_client_composite_operations.rb +2 -2
  63. data/lib/oci/version.rb +1 -1
  64. metadata +3 -2
@@ -6,34 +6,81 @@ require 'date'
6
6
  module OCI
7
7
  # DNS record data with metadata for processing in a steering policy.
8
8
  #
9
- # *Warning:* Oracle recommends that you avoid using any confidential information when you supply string values using the API.
9
+ #
10
+ # **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
10
11
  #
11
12
  class Dns::Models::SteeringPolicyAnswer # rubocop:disable Metrics/LineLength
12
13
  # **[Required]** A user-friendly name for the answer, unique within the steering policy.
14
+ # An answer's `name` property can be referenced in `answerCondition` properties
15
+ # of rules using `answer.name`.
16
+ #
17
+ # **Example:**
18
+ #
19
+ # \"rules\": [
20
+ # {
21
+ # \"ruleType\": \"FILTER\",
22
+ # \"defaultAnswerData\": [
23
+ # {
24
+ # \"answerCondition\": \"answer.name == 'server 1'\",
25
+ # \"shouldKeep\": true
26
+ # }
27
+ # ]
28
+ # }
29
+ # ]
30
+ #
13
31
  # @return [String]
14
32
  attr_accessor :name
15
33
 
16
34
  # **[Required]** The canonical name for the record's type. Only A, AAAA, and CNAME are supported. For more
17
- # information, see [Resource Record (RR) TYPEs](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4).
35
+ # information, see [Supported DNS Resource Record Types](https://docs.cloud.oracle.com/iaas/Content/DNS/Reference/supporteddnsresource.htm).
18
36
  #
19
37
  # @return [String]
20
38
  attr_accessor :rtype
21
39
 
22
40
  # **[Required]** The record's data, as whitespace-delimited tokens in
23
- # type-specific presentation format.
41
+ # type-specific presentation format. All RDATA is normalized and the
42
+ # returned presentation of your RDATA may differ from its initial input.
43
+ # For more information about RDATA, see [Supported DNS Resource Record Types](https://docs.cloud.oracle.com/iaas/Content/DNS/Reference/supporteddnsresource.htm).
24
44
  #
25
45
  # @return [String]
26
46
  attr_accessor :rdata
27
47
 
28
- # The freeform name of a group of one or more records (e.g., a data center or a geographic
29
- # region) in which this one is included.
48
+ # The freeform name of a group of one or more records in which this record is included,
49
+ # such as \"LAX data center\". An answer's `pool` property can be referenced in `answerCondition`
50
+ # properties of rules using `answer.pool`.
51
+ #
52
+ # **Example:**
53
+ #
54
+ # \"rules\": [
55
+ # {
56
+ # \"ruleType\": \"FILTER\",
57
+ # \"defaultAnswerData\": [
58
+ # {
59
+ # \"answerCondition\": \"answer.pool == 'US East Servers'\",
60
+ # \"shouldKeep\": true
61
+ # }
62
+ # ]
63
+ # }
64
+ # ]
30
65
  #
31
66
  # @return [String]
32
67
  attr_accessor :pool
33
68
 
34
- # Whether or not an answer should be excluded from responses, e.g. because the corresponding
35
- # server is down for maintenance. Note, however, that such filtering is not automatic and
36
- # will only take place if a rule implements it.
69
+ # Set this property to `true` to indicate that the answer is administratively disabled,
70
+ # such as when the corresponding server is down for maintenance. An answer's `isDisabled`
71
+ # property can be referenced in `answerCondition` properties in rules using `answer.isDisabled`.
72
+ #
73
+ # **Example:**
74
+ # \"rules\": [
75
+ # {
76
+ # \"ruleType\": \"FILTER\",
77
+ # \"defaultAnswerData\": [
78
+ # {
79
+ # \"answerCondition\": \"answer.isDisabled != true\",
80
+ # \"shouldKeep\": true
81
+ # }
82
+ # ]
83
+ # },
37
84
  #
38
85
  # @return [BOOLEAN]
39
86
  attr_accessor :is_disabled
@@ -5,10 +5,12 @@ require 'logger'
5
5
 
6
6
  # rubocop:disable Lint/UnneededCopDisableDirective
7
7
  module OCI
8
- # An attachment between a steering policy and a domain.
9
- # An attachment occludes all records at its domain that are of a covered rtype, constructing
10
- # DNS responses from its steering policy rather than from those domain records.
11
- # A domain can have at most one attachment covering any given rtype.
8
+ # An attachment between a steering policy and a domain. An attachment constructs
9
+ # DNS responses using its steering policy instead of the records at its defined domain.
10
+ # Only records of the policy's covered rtype are blocked at the domain.
11
+ # A domain can have a maximum of one attachment covering any given rtype.
12
+ #
13
+ # **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
12
14
  #
13
15
  class Dns::Models::SteeringPolicyAttachment # rubocop:disable Metrics/LineLength
14
16
  LIFECYCLE_STATE_ENUM = [
@@ -31,7 +33,7 @@ module OCI
31
33
  attr_accessor :domain_name
32
34
 
33
35
  # A user-friendly name for the steering policy attachment.
34
- # Does not have to be unique, and it's changeable.
36
+ # Does not have to be unique and can be changed.
35
37
  # Avoid entering confidential information.
36
38
  #
37
39
  # @return [String]
@@ -56,8 +58,7 @@ module OCI
56
58
  # @return [String]
57
59
  attr_accessor :id
58
60
 
59
- # The date and time the resource was created in \"YYYY-MM-ddThh:mmZ\" format
60
- # with a Z offset, as defined by RFC 3339.
61
+ # The date and time the resource was created, expressed in RFC 3339 timestamp format.
61
62
  #
62
63
  # **Example:** `2016-07-22T17:23:59:60Z`
63
64
  #
@@ -27,7 +27,7 @@ module OCI
27
27
  attr_accessor :domain_name
28
28
 
29
29
  # A user-friendly name for the steering policy attachment.
30
- # Does not have to be unique, and it's changeable.
30
+ # Does not have to be unique and can be changed.
31
31
  # Avoid entering confidential information.
32
32
  #
33
33
  # @return [String]
@@ -52,8 +52,7 @@ module OCI
52
52
  # @return [String]
53
53
  attr_accessor :id
54
54
 
55
- # The date and time the resource was created in \"YYYY-MM-ddThh:mmZ\" format
56
- # with a Z offset, as defined by RFC 3339.
55
+ # The date and time the resource was created, expressed in RFC 3339 timestamp format.
57
56
  #
58
57
  # **Example:** `2016-07-22T17:23:59:60Z`
59
58
  #
@@ -6,10 +6,12 @@ require 'date'
6
6
  module OCI
7
7
  # SteeringPolicyFilterAnswerData model.
8
8
  class Dns::Models::SteeringPolicyFilterAnswerData # rubocop:disable Metrics/LineLength
9
+ # An expression that is used to select a set of answers that match a condition. For example, answers with matching pool properties.
10
+ #
9
11
  # @return [String]
10
12
  attr_accessor :answer_condition
11
13
 
12
- # Keep the answer if the value is `true`.
14
+ # Keeps the answer only if the value is `true`.
13
15
  # @return [BOOLEAN]
14
16
  attr_accessor :should_keep
15
17
 
@@ -7,13 +7,22 @@ require_relative 'steering_policy_rule'
7
7
  module OCI
8
8
  # SteeringPolicyFilterRule model.
9
9
  class Dns::Models::SteeringPolicyFilterRule < Dns::Models::SteeringPolicyRule # rubocop:disable Metrics/LineLength
10
+ # An array of `caseConditions`. A rule may optionally include a sequence of cases defining alternate
11
+ # configurations for how it should behave during processing for any given DNS query. When a rule has
12
+ # no sequence of `cases`, it is always evaluated with the same configuration during processing. When
13
+ # a rule has an empty sequence of `cases`, it is always ignored during processing. When a rule has a
14
+ # non-empty sequence of `cases`, its behavior during processing is configured by the first matching
15
+ # `case` in the sequence. When a rule has no matching cases the rule is ignored. A rule case with no
16
+ # `caseCondition` always matches. A rule case with a `caseCondition` matches only when that expression
17
+ # evaluates to true for the given query.
18
+ #
10
19
  # @return [Array<OCI::Dns::Models::SteeringPolicyFilterRuleCase>]
11
20
  attr_accessor :cases
12
21
 
13
22
  # Defines a default set of answer conditions and values that are applied to an answer when
14
- # `cases` is not defined for the rule or a matching case does not have any matching
15
- # `answerCondition`s in its `answerData`. `defaultAnswerData` is **not** applied if `cases` is
16
- # defined and there are no matching cases.
23
+ # `cases` is not defined for the rule, or a matching case does not have any matching
24
+ # `answerCondition`s in its `answerData`. `defaultAnswerData` is not applied if `cases` is
25
+ # defined and there are no matching cases. In this scenario, the next rule will be processed.
17
26
  #
18
27
  # @return [Array<OCI::Dns::Models::SteeringPolicyFilterAnswerData>]
19
28
  attr_accessor :default_answer_data
@@ -6,9 +6,17 @@ require 'date'
6
6
  module OCI
7
7
  # SteeringPolicyFilterRuleCase model.
8
8
  class Dns::Models::SteeringPolicyFilterRuleCase # rubocop:disable Metrics/LineLength
9
+ # An expression that uses conditions at the time of a DNS query to indicate
10
+ # whether a case matches. Conditions may include the geographical location, IP
11
+ # subnet, or ASN the DNS query originated. **Example:** If you have an
12
+ # office that uses the subnet `192.0.2.0/24` you could use a `caseCondition`
13
+ # expression `query.client.subnet in ('192.0.2.0/24')` to define a case that
14
+ # matches queries from that office.
15
+ #
9
16
  # @return [String]
10
17
  attr_accessor :case_condition
11
18
 
19
+ # An array of `SteeringPolicyFilterAnswerData` objects.
12
20
  # @return [Array<OCI::Dns::Models::SteeringPolicyFilterAnswerData>]
13
21
  attr_accessor :answer_data
14
22
 
@@ -7,6 +7,15 @@ require_relative 'steering_policy_rule'
7
7
  module OCI
8
8
  # SteeringPolicyHealthRule model.
9
9
  class Dns::Models::SteeringPolicyHealthRule < Dns::Models::SteeringPolicyRule # rubocop:disable Metrics/LineLength
10
+ # An array of `caseConditions`. A rule may optionally include a sequence of cases defining alternate
11
+ # configurations for how it should behave during processing for any given DNS query. When a rule has
12
+ # no sequence of `cases`, it is always evaluated with the same configuration during processing. When
13
+ # a rule has an empty sequence of `cases`, it is always ignored during processing. When a rule has a
14
+ # non-empty sequence of `cases`, its behavior during processing is configured by the first matching
15
+ # `case` in the sequence. When a rule has no matching cases the rule is ignored. A rule case with no
16
+ # `caseCondition` always matches. A rule case with a `caseCondition` matches only when that expression
17
+ # evaluates to true for the given query.
18
+ #
10
19
  # @return [Array<OCI::Dns::Models::SteeringPolicyHealthRuleCase>]
11
20
  attr_accessor :cases
12
21
 
@@ -6,6 +6,13 @@ require 'date'
6
6
  module OCI
7
7
  # SteeringPolicyHealthRuleCase model.
8
8
  class Dns::Models::SteeringPolicyHealthRuleCase # rubocop:disable Metrics/LineLength
9
+ # An expression that uses conditions at the time of a DNS query to indicate
10
+ # whether a case matches. Conditions may include the geographical location, IP
11
+ # subnet, or ASN the DNS query originated. **Example:** If you have an
12
+ # office that uses the subnet `192.0.2.0/24` you could use a `caseCondition`
13
+ # expression `query.client.subnet in ('192.0.2.0/24')` to define a case that
14
+ # matches queries from that office.
15
+ #
9
16
  # @return [String]
10
17
  attr_accessor :case_condition
11
18
 
@@ -7,12 +7,22 @@ require_relative 'steering_policy_rule'
7
7
  module OCI
8
8
  # SteeringPolicyLimitRule model.
9
9
  class Dns::Models::SteeringPolicyLimitRule < Dns::Models::SteeringPolicyRule # rubocop:disable Metrics/LineLength
10
+ # An array of `caseConditions`. A rule may optionally include a sequence of cases defining alternate
11
+ # configurations for how it should behave during processing for any given DNS query. When a rule has
12
+ # no sequence of `cases`, it is always evaluated with the same configuration during processing. When
13
+ # a rule has an empty sequence of `cases`, it is always ignored during processing. When a rule has a
14
+ # non-empty sequence of `cases`, its behavior during processing is configured by the first matching
15
+ # `case` in the sequence. When a rule has no matching cases the rule is ignored. A rule case with no
16
+ # `caseCondition` always matches. A rule case with a `caseCondition` matches only when that expression
17
+ # evaluates to true for the given query.
18
+ #
10
19
  # @return [Array<OCI::Dns::Models::SteeringPolicyLimitRuleCase>]
11
20
  attr_accessor :cases
12
21
 
13
22
  # Defines a default count if `cases` is not defined for the rule or a matching case does
14
23
  # not define `count`. `defaultCount` is **not** applied if `cases` is defined and there
15
- # are no matching cases.
24
+ # are no matching cases. In this scenario, the next rule will be processed. If no rules
25
+ # remain to be processed, the answer will be chosen from the remaining list of answers.
16
26
  #
17
27
  # @return [Integer]
18
28
  attr_accessor :default_count
@@ -6,10 +6,21 @@ require 'date'
6
6
  module OCI
7
7
  # SteeringPolicyLimitRuleCase model.
8
8
  class Dns::Models::SteeringPolicyLimitRuleCase # rubocop:disable Metrics/LineLength
9
+ # An expression that uses conditions at the time of a DNS query to indicate
10
+ # whether a case matches. Conditions may include the geographical location, IP
11
+ # subnet, or ASN the DNS query originated. **Example:** If you have an
12
+ # office that uses the subnet `192.0.2.0/24` you could use a `caseCondition`
13
+ # expression `query.client.subnet in ('192.0.2.0/24')` to define a case that
14
+ # matches queries from that office.
15
+ #
9
16
  # @return [String]
10
17
  attr_accessor :case_condition
11
18
 
12
- # This attribute is required.
19
+ # **[Required]** The number of answers allowed to remain after the limit rule has been processed, keeping only the
20
+ # first of the remaining answers in the list. Example: If the `count` property is set to `2` and
21
+ # four answers remain before the limit rule is processed, only the first two answers in the list will
22
+ # remain after the limit rule has been processed.
23
+ #
13
24
  # @return [Integer]
14
25
  attr_accessor :count
15
26
 
@@ -6,9 +6,15 @@ require 'date'
6
6
  module OCI
7
7
  # SteeringPolicyPriorityAnswerData model.
8
8
  class Dns::Models::SteeringPolicyPriorityAnswerData # rubocop:disable Metrics/LineLength
9
+ # An expression that is used to select a set of answers that match a condition. For example, answers with matching pool properties.
10
+ #
9
11
  # @return [String]
10
12
  attr_accessor :answer_condition
11
13
 
14
+ # **[Required]** The rank assigned to the set of answers that match the expression in `answerCondition`.
15
+ # Answers with the lowest values move to the beginning of the list without changing the
16
+ # relative order of those with the same value. Answers can be given a value between `0` and `255`.
17
+ #
12
18
  # @return [Integer]
13
19
  attr_accessor :value
14
20
 
@@ -7,13 +7,22 @@ require_relative 'steering_policy_rule'
7
7
  module OCI
8
8
  # SteeringPolicyPriorityRule model.
9
9
  class Dns::Models::SteeringPolicyPriorityRule < Dns::Models::SteeringPolicyRule # rubocop:disable Metrics/LineLength
10
+ # An array of `caseConditions`. A rule may optionally include a sequence of cases defining alternate
11
+ # configurations for how it should behave during processing for any given DNS query. When a rule has
12
+ # no sequence of `cases`, it is always evaluated with the same configuration during processing. When
13
+ # a rule has an empty sequence of `cases`, it is always ignored during processing. When a rule has a
14
+ # non-empty sequence of `cases`, its behavior during processing is configured by the first matching
15
+ # `case` in the sequence. When a rule has no matching cases the rule is ignored. A rule case with no
16
+ # `caseCondition` always matches. A rule case with a `caseCondition` matches only when that expression
17
+ # evaluates to true for the given query.
18
+ #
10
19
  # @return [Array<OCI::Dns::Models::SteeringPolicyPriorityRuleCase>]
11
20
  attr_accessor :cases
12
21
 
13
22
  # Defines a default set of answer conditions and values that are applied to an answer when
14
23
  # `cases` is not defined for the rule or a matching case does not have any matching
15
- # `answerCondition`s in its `answerData`. `defaultAnswerData` is **not** applied if `cases` is
16
- # defined and there are no matching cases.
24
+ # `answerCondition`s in its `answerData`. `defaultAnswerData` is not applied if `cases` is
25
+ # defined and there are no matching cases. In this scenario, the next rule will be processed.
17
26
  #
18
27
  # @return [Array<OCI::Dns::Models::SteeringPolicyPriorityAnswerData>]
19
28
  attr_accessor :default_answer_data
@@ -6,9 +6,17 @@ require 'date'
6
6
  module OCI
7
7
  # SteeringPolicyPriorityRuleCase model.
8
8
  class Dns::Models::SteeringPolicyPriorityRuleCase # rubocop:disable Metrics/LineLength
9
+ # An expression that uses conditions at the time of a DNS query to indicate
10
+ # whether a case matches. Conditions may include the geographical location, IP
11
+ # subnet, or ASN the DNS query originated. **Example:** If you have an
12
+ # office that uses the subnet `192.0.2.0/24` you could use a `caseCondition`
13
+ # expression `query.client.subnet in ('192.0.2.0/24')` to define a case that
14
+ # matches queries from that office.
15
+ #
9
16
  # @return [String]
10
17
  attr_accessor :case_condition
11
18
 
19
+ # An array of `SteeringPolicyPriorityAnswerData` objects.
12
20
  # @return [Array<OCI::Dns::Models::SteeringPolicyPriorityAnswerData>]
13
21
  attr_accessor :answer_data
14
22
 
@@ -5,23 +5,17 @@ require 'logger'
5
5
 
6
6
  # rubocop:disable Lint/UnneededCopDisableDirective
7
7
  module OCI
8
- # Configuration for sorting and/or filtering the list of remaining candidate answers, subject to
9
- # rule type and the values of type-specific parameters and/or data associated with answers.
8
+ # The configuration of the sorting and filtering behaviors in a steering policy. Rules can
9
+ # filter and sort answers based on weight, priority, endpoint health, and other data.
10
+ #
10
11
  #
11
12
  # A rule may optionally include a sequence of cases, each with an optional `caseCondition`
12
- # expression. If it does, the first case with a matching `caseCondition` or with no
13
- # `caseCondition` at all is used to set rule parameter values and/or answer-associated data,
14
- # and the rule will be ignored during processing of any request that does not match any case.
15
- # Rules without a sequence of cases are processed unconditionally, and rules with an _empty_
16
- # sequence of cases are **ignored** unconditionally.
13
+ # expression. Cases allow a sequence of conditions to be defined that will apply different
14
+ # parameters to the rule when the conditions are met. For more information about cases,
15
+ # see [Traffic Management API Guide](https://docs.cloud.oracle.com/iaas/Content/TrafficManagement/Concepts/trafficmanagementapi.htm).
17
16
  #
18
- # Data is associated with answers one-by-one in a similar fashion\u2014for each answer, the first
19
- # answerData item with a matching `answerCondition` or with no `answerCondition` at all is used
20
- # to associate data with the answer, and the absence of any such item associates with the answer
21
- # a default value. Rule-level default answer data is always processed, but case-level answer
22
- # data will override it on a per-answer basis.
23
17
  #
24
- # To prevent empty responses, any attempt to filter away all answers is suppressed at runtime.
18
+ # **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
25
19
  #
26
20
  # This class has direct subclasses. If you are using this class as input to a service operations then you should favor using a subclass over the base class
27
21
  class Dns::Models::SteeringPolicyRule # rubocop:disable Metrics/LineLength
@@ -34,22 +28,32 @@ module OCI
34
28
  RULE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
35
29
  ].freeze
36
30
 
37
- # Your description of the rule's purpose and/or behavior.
31
+ # A user-defined description of the rule's purpose or behavior.
38
32
  # @return [String]
39
33
  attr_accessor :description
40
34
 
41
35
  # **[Required]** The type of a rule determines its sorting/filtering behavior.
42
- # - FILTER rules filter the list of answers (e.g., to remove those with hosts that are down
43
- # for maintenance). Answers remain if and only if their associated data is `true`.
44
- # - HEALTH rules remove answers from the list if their `rdata` matches a target in the
36
+ # * `FILTER` - Filters the list of answers based on their defined boolean data. Answers remain
37
+ # only if their `shouldKeep` value is `true`.
38
+ #
39
+ #
40
+ # * `HEALTH` - Removes answers from the list if their `rdata` matches a target in the
45
41
  # health check monitor referenced by the steering policy and the target is reported down.
46
- # - WEIGHTED rules probabilistically move answers with greater associated integer data to
47
- # the beginning of the list.
48
- # - PRIORITY rules sort answers by associated integer data, moving those with the lowest
49
- # values to the beginning of the list without changing the relative order of those with
50
- # the same value.
51
- # - LIMIT rules filter away answers that are too far down the list. Parameter \"count\"
52
- # specifies how many answers to keep.
42
+ #
43
+ #
44
+ # * `WEIGHTED` - Uses a number between 0 and 255 to determine how often an answer will be served
45
+ # in relation to other answers. Anwers with a higher weight will be served more frequently.
46
+ #
47
+ #
48
+ # * `PRIORITY` - Uses a defined rank value of answers to determine which answer to serve,
49
+ # moving those with the lowest values to the beginning of the list without changing the
50
+ # relative order of those with the same value. Answers can be given a value between `0` and `255`.
51
+ #
52
+ #
53
+ # * `LIMIT` - Filters answers that are too far down the list. Parameter `defaultCount`
54
+ # specifies how many answers to keep. **Example:** If `defaultCount` has a value of `2` and
55
+ # there are five answers left, when the `LIMIT` rule is processed, only the first two answers
56
+ # will remain in the list.
53
57
  #
54
58
  # @return [String]
55
59
  attr_reader :rule_type
@@ -7,7 +7,7 @@ require 'logger'
7
7
  module OCI
8
8
  # A DNS steering policy.
9
9
  #
10
- # *Warning:* Oracle recommends that you avoid using any confidential information when you supply string values using the API.
10
+ # **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
11
11
  #
12
12
  class Dns::Models::SteeringPolicySummary # rubocop:disable Metrics/LineLength
13
13
  TEMPLATE_ENUM = [
@@ -32,80 +32,90 @@ module OCI
32
32
  # @return [String]
33
33
  attr_accessor :compartment_id
34
34
 
35
- # A user-friendly name for the steering policy.
36
- # Does not have to be unique, and it's changeable.
35
+ # A user-friendly name for the steering policy. Does not have to be unique and can be changed.
37
36
  # Avoid entering confidential information.
38
37
  #
39
38
  # @return [String]
40
39
  attr_accessor :display_name
41
40
 
42
- # The Time To Live for responses from the steering policy, in seconds.
41
+ # The Time To Live (TTL) for responses from the steering policy, in seconds.
43
42
  # If not specified during creation, a value of 30 seconds will be used.
44
43
  #
45
44
  # @return [Integer]
46
45
  attr_accessor :ttl
47
46
 
48
47
  # The OCID of the health check monitor providing health data about the answers of the
49
- # steering policy.
50
- # A steering policy answer with `rdata` matching a monitored endpoint will use the health
51
- # data of that endpoint.
52
- # A steering policy answer with `rdata` not matching any monitored endpoint will be assumed
53
- # healthy.
48
+ # steering policy. A steering policy answer with `rdata` matching a monitored endpoint
49
+ # will use the health data of that endpoint. A steering policy answer with `rdata` not
50
+ # matching any monitored endpoint will be assumed healthy.
51
+ #
52
+ #
53
+ # **Note:** To use the Health Check monitoring feature in a steering policy, a monitor
54
+ # must be created using the Health Checks service first. For more information on how to
55
+ # create a monitor, please see [Managing Health Checks](https://docs.cloud.oracle.com/iaas/Content/HealthChecks/Tasks/managinghealthchecks.htm).
54
56
  #
55
57
  # @return [String]
56
58
  attr_accessor :health_check_monitor_id
57
59
 
58
- # The common pattern (or lack thereof) to which the steering policy adheres. This
59
- # value restricts the possible configurations of rules, but thereby supports
60
- # specifically tailored interfaces. Values other than \"CUSTOM\" require the rules to
61
- # begin with an unconditional FILTER that keeps answers contingent upon
62
- # `answer.isDisabled != true`, followed
63
- # _if and only if the policy references a health check monitor_ by an unconditional
64
- # HEALTH rule, and require the last rule to be an unconditional LIMIT.
65
- # What must precede the LIMIT rule is determined by the template value:
66
- # - FAILOVER requires exactly an unconditional PRIORITY rule that ranks answers by pool.
67
- # Each answer pool must have a unique priority value assigned to it. Answer data must
68
- # be defined in the `defaultAnswerData` property for the rule and the `cases` property
69
- # must not be defined.
70
- # - LOAD_BALANCE requires exactly an unconditional WEIGHTED rule that shuffles answers
71
- # by name. Answer data must be defined in the `defaultAnswerData` property for the
72
- # rule and the `cases` property must not be defined.
73
- # - ROUTE_BY_GEO requires exactly one PRIORITY rule that ranks answers by pool using the
74
- # geographical location of the client as a condition. Within that rule you may only
75
- # use `query.client.geoKey` in the `caseCondition` expressions for defining the cases.
76
- # For each case in the PRIORITY rule each answer pool must have a unique priority
77
- # value assigned to it. Answer data can only be defined within cases and
78
- # `defaultAnswerData` cannot be used in the PRIORITY rule.
79
- # - ROUTE_BY_ASN requires exactly one PRIORITY rule that ranks answers by pool using the
80
- # ASN of the client as a condition. Within that rule you may only use
81
- # `query.client.asn` in the `caseCondition` expressions for defining the cases.
82
- # For each case in the PRIORITY rule each answer pool must have a unique priority
83
- # value assigned to it. Answer data can only be defined within cases and
84
- # `defaultAnswerData` cannot be used in the PRIORITY rule.
85
- # - ROUTE_BY_IP requires exactly one PRIORITY rule that ranks answers by pool using the
86
- # IP subnet of the client as a condition. Within that rule you may only use
87
- # `query.client.address` in the `caseCondition` expressions for defining the cases.
88
- # For each case in the PRIORITY rule each answer pool must have a unique priority
89
- # value assigned to it. Answer data can only be defined within cases and
90
- # `defaultAnswerData` cannot be used in the PRIORITY rule.
91
- # - CUSTOM allows an arbitrary configuration of rules.
92
- #
93
- # For an existing steering policy, the template value may be changed to any of the
94
- # supported options but the resulting policy must conform to the requirements for the
95
- # new template type or else a Bad Request error will be returned.
60
+ # A set of predefined rules based on the desired purpose of the steering policy. Each
61
+ # template utilizes Traffic Management's rules in a different order to produce the desired
62
+ # results when answering DNS queries.
63
+ #
64
+ #
65
+ # **Example:** The `FAILOVER` template determines answers by filtering the policy's answers
66
+ # using the `FILTER` rule first, then the following rules in succession: `HEALTH`, `PRIORITY`,
67
+ # and `LIMIT`. This gives the domain dynamic failover capability.
68
+ #
69
+ #
70
+ # It is **strongly recommended** to use a template other than `CUSTOM` when creating
71
+ # a steering policy.
72
+ #
73
+ #
74
+ # All templates require the rule order to begin with an unconditional `FILTER` rule that keeps
75
+ # answers contingent upon `answer.isDisabled != true`, except for `CUSTOM`. A defined
76
+ # `HEALTH` rule must follow the `FILTER` rule if the policy references a `healthCheckMonitorId`.
77
+ # The last rule of a template must must be a `LIMIT` rule. For more information about templates
78
+ # and code examples, see [Traffic Management API Guide](https://docs.cloud.oracle.com/iaas/Content/TrafficManagement/Concepts/trafficmanagementapi.htm).
79
+ #
80
+ # **Template Types**
81
+ #
82
+ # * `FAILOVER` - Uses health check information on your endpoints to determine which DNS answers
83
+ # to serve. If an endpoint fails a health check, the answer for that endpoint will be removed
84
+ # from the list of available answers until the endpoint is detected as healthy.
85
+ #
86
+ #
87
+ # * `LOAD_BALANCE` - Distributes web traffic to specified endpoints based on defined weights.
88
+ #
89
+ #
90
+ # * `ROUTE_BY_GEO` - Answers DNS queries based on the query's geographic location. For a list of geographic
91
+ # locations to route by, see [Traffic Management Geographic Locations](https://docs.cloud.oracle.com/iaas/Content/TrafficManagement/Reference/trafficmanagementgeo.htm).
92
+ #
93
+ #
94
+ # * `ROUTE_BY_ASN` - Answers DNS queries based on the query's originating ASN.
95
+ #
96
+ #
97
+ # * `ROUTE_BY_IP` - Answers DNS queries based on the query's IP address.
98
+ #
99
+ #
100
+ # * `CUSTOM` - Allows a customized configuration of rules.
96
101
  #
97
102
  # @return [String]
98
103
  attr_reader :template
99
104
 
100
- # Simple key-value pair that is applied without any predefined name, type, or scope.
105
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
101
106
  # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
102
- # Example: `{\"bar-key\": \"value\"}`
107
+ #
108
+ #
109
+ # **Example:** `{\"Department\": \"Finance\"}`
103
110
  #
104
111
  # @return [Hash<String, String>]
105
112
  attr_accessor :freeform_tags
106
113
 
107
- # Usage of predefined tag keys. These predefined keys are scoped to a namespace.
108
- # Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`
114
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
115
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
116
+ #
117
+ #
118
+ # **Example:** `{\"Operations\": {\"CostCenter\": \"42\"}}`
109
119
  #
110
120
  # @return [Hash<String, Hash<String, Object>>]
111
121
  attr_accessor :defined_tags
@@ -118,8 +128,7 @@ module OCI
118
128
  # @return [String]
119
129
  attr_accessor :id
120
130
 
121
- # The date and time the resource was created in \"YYYY-MM-ddThh:mmZ\" format
122
- # with a Z offset, as defined by RFC 3339.
131
+ # The date and time the resource was created, expressed in RFC 3339 timestamp format.
123
132
  #
124
133
  # **Example:** `2016-07-22T17:23:59:60Z`
125
134
  #