oci 2.4.6 → 2.4.7

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 (123) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -1
  3. data/lib/oci.rb +2 -0
  4. data/lib/oci/database/database.rb +1 -0
  5. data/lib/oci/database/models/database.rb +18 -4
  6. data/lib/oci/database/models/database_connection_strings.rb +182 -0
  7. data/lib/oci/database/models/database_summary.rb +18 -4
  8. data/lib/oci/dns/dns.rb +23 -0
  9. data/lib/oci/dns/dns_client.rb +802 -75
  10. data/lib/oci/dns/dns_client_composite_operations.rb +238 -0
  11. data/lib/oci/dns/models/create_steering_policy_attachment_details.rb +205 -0
  12. data/lib/oci/dns/models/create_steering_policy_details.rb +333 -0
  13. data/lib/oci/dns/models/steering_policy.rb +418 -0
  14. data/lib/oci/dns/models/steering_policy_answer.rb +205 -0
  15. data/lib/oci/dns/models/steering_policy_attachment.rb +308 -0
  16. data/lib/oci/dns/models/steering_policy_attachment_summary.rb +304 -0
  17. data/lib/oci/dns/models/steering_policy_filter_answer_data.rb +168 -0
  18. data/lib/oci/dns/models/steering_policy_filter_rule.rb +178 -0
  19. data/lib/oci/dns/models/steering_policy_filter_rule_case.rb +165 -0
  20. data/lib/oci/dns/models/steering_policy_health_rule.rb +160 -0
  21. data/lib/oci/dns/models/steering_policy_health_rule_case.rb +152 -0
  22. data/lib/oci/dns/models/steering_policy_limit_rule.rb +179 -0
  23. data/lib/oci/dns/models/steering_policy_limit_rule_case.rb +162 -0
  24. data/lib/oci/dns/models/steering_policy_priority_answer_data.rb +161 -0
  25. data/lib/oci/dns/models/steering_policy_priority_rule.rb +178 -0
  26. data/lib/oci/dns/models/steering_policy_priority_rule_case.rb +165 -0
  27. data/lib/oci/dns/models/steering_policy_rule.rb +237 -0
  28. data/lib/oci/dns/models/steering_policy_summary.rb +391 -0
  29. data/lib/oci/dns/models/steering_policy_weighted_answer_data.rb +161 -0
  30. data/lib/oci/dns/models/steering_policy_weighted_rule.rb +178 -0
  31. data/lib/oci/dns/models/steering_policy_weighted_rule_case.rb +165 -0
  32. data/lib/oci/dns/models/update_steering_policy_attachment_details.rb +156 -0
  33. data/lib/oci/dns/models/update_steering_policy_details.rb +319 -0
  34. data/lib/oci/email/email.rb +1 -0
  35. data/lib/oci/email/email_client.rb +87 -16
  36. data/lib/oci/email/email_client_composite_operations.rb +40 -0
  37. data/lib/oci/email/models/create_sender_details.rb +40 -6
  38. data/lib/oci/email/models/create_suppression_details.rb +2 -2
  39. data/lib/oci/email/models/sender.rb +53 -5
  40. data/lib/oci/email/models/sender_summary.rb +38 -4
  41. data/lib/oci/email/models/suppression.rb +20 -3
  42. data/lib/oci/email/models/update_sender_details.rb +174 -0
  43. data/lib/oci/healthchecks/health_checks_client.rb +1137 -0
  44. data/lib/oci/healthchecks/health_checks_client_composite_operations.rb +24 -0
  45. data/lib/oci/healthchecks/healthchecks.rb +41 -0
  46. data/lib/oci/healthchecks/models/connection.rb +159 -0
  47. data/lib/oci/healthchecks/models/create_http_monitor_details.rb +359 -0
  48. data/lib/oci/healthchecks/models/create_on_demand_http_probe_details.rb +278 -0
  49. data/lib/oci/healthchecks/models/create_on_demand_ping_probe_details.rb +229 -0
  50. data/lib/oci/healthchecks/models/create_ping_monitor_details.rb +310 -0
  51. data/lib/oci/healthchecks/models/dns.rb +165 -0
  52. data/lib/oci/healthchecks/models/geolocation.rb +239 -0
  53. data/lib/oci/healthchecks/models/health_checks_vantage_point_summary.rb +211 -0
  54. data/lib/oci/healthchecks/models/http_monitor.rb +395 -0
  55. data/lib/oci/healthchecks/models/http_monitor_summary.rb +290 -0
  56. data/lib/oci/healthchecks/models/http_probe.rb +314 -0
  57. data/lib/oci/healthchecks/models/http_probe_method.rb +10 -0
  58. data/lib/oci/healthchecks/models/http_probe_protocol.rb +10 -0
  59. data/lib/oci/healthchecks/models/http_probe_result_summary.rb +542 -0
  60. data/lib/oci/healthchecks/models/ping_monitor.rb +340 -0
  61. data/lib/oci/healthchecks/models/ping_monitor_summary.rb +290 -0
  62. data/lib/oci/healthchecks/models/ping_probe.rb +259 -0
  63. data/lib/oci/healthchecks/models/ping_probe_protocol.rb +10 -0
  64. data/lib/oci/healthchecks/models/ping_probe_result_summary.rb +418 -0
  65. data/lib/oci/healthchecks/models/routing.rb +192 -0
  66. data/lib/oci/healthchecks/models/tcp_connection.rb +189 -0
  67. data/lib/oci/healthchecks/models/update_http_monitor_details.rb +339 -0
  68. data/lib/oci/healthchecks/models/update_ping_monitor_details.rb +292 -0
  69. data/lib/oci/healthchecks/util.rb +2 -0
  70. data/lib/oci/regions.rb +3 -1
  71. data/lib/oci/version.rb +1 -1
  72. data/lib/oci/waas/models/access_rule.rb +283 -0
  73. data/lib/oci/waas/models/access_rule_criteria.rb +206 -0
  74. data/lib/oci/waas/models/address_rate_limiting.rb +195 -0
  75. data/lib/oci/waas/models/block_challenge_settings.rb +288 -0
  76. data/lib/oci/waas/models/captcha.rb +231 -0
  77. data/lib/oci/waas/models/certificate.rb +383 -0
  78. data/lib/oci/waas/models/certificate_extensions.rb +170 -0
  79. data/lib/oci/waas/models/certificate_public_key_info.rb +170 -0
  80. data/lib/oci/waas/models/certificate_subject_name.rb +218 -0
  81. data/lib/oci/waas/models/certificate_summary.rb +274 -0
  82. data/lib/oci/waas/models/create_certificate_details.rb +241 -0
  83. data/lib/oci/waas/models/create_waas_policy_details.rb +257 -0
  84. data/lib/oci/waas/models/device_fingerprint_challenge.rb +268 -0
  85. data/lib/oci/waas/models/edge_subnet.rb +173 -0
  86. data/lib/oci/waas/models/good_bot.rb +183 -0
  87. data/lib/oci/waas/models/header.rb +159 -0
  88. data/lib/oci/waas/models/human_interaction_challenge.rb +282 -0
  89. data/lib/oci/waas/models/js_challenge.rb +240 -0
  90. data/lib/oci/waas/models/lifecycle_states.rb +14 -0
  91. data/lib/oci/waas/models/origin.rb +191 -0
  92. data/lib/oci/waas/models/policy_config.rb +181 -0
  93. data/lib/oci/waas/models/protection_rule.rb +237 -0
  94. data/lib/oci/waas/models/protection_rule_action.rb +185 -0
  95. data/lib/oci/waas/models/protection_rule_exclusion.rb +182 -0
  96. data/lib/oci/waas/models/protection_settings.rb +404 -0
  97. data/lib/oci/waas/models/recommendation.rb +210 -0
  98. data/lib/oci/waas/models/threat_feed.rb +202 -0
  99. data/lib/oci/waas/models/threat_feed_action.rb +175 -0
  100. data/lib/oci/waas/models/update_certificate_details.rb +183 -0
  101. data/lib/oci/waas/models/update_waas_policy_details.rb +233 -0
  102. data/lib/oci/waas/models/waas_policy.rb +331 -0
  103. data/lib/oci/waas/models/waas_policy_summary.rb +271 -0
  104. data/lib/oci/waas/models/waf_blocked_request.rb +219 -0
  105. data/lib/oci/waas/models/waf_config.rb +295 -0
  106. data/lib/oci/waas/models/waf_config_details.rb +253 -0
  107. data/lib/oci/waas/models/waf_log.rb +510 -0
  108. data/lib/oci/waas/models/waf_meter_datum.rb +279 -0
  109. data/lib/oci/waas/models/waf_request.rb +177 -0
  110. data/lib/oci/waas/models/waf_traffic_datum.rb +223 -0
  111. data/lib/oci/waas/models/whitelist.rb +159 -0
  112. data/lib/oci/waas/models/work_request.rb +322 -0
  113. data/lib/oci/waas/models/work_request_error.rb +170 -0
  114. data/lib/oci/waas/models/work_request_log_entry.rb +159 -0
  115. data/lib/oci/waas/models/work_request_operation_types.rb +12 -0
  116. data/lib/oci/waas/models/work_request_resource.rb +217 -0
  117. data/lib/oci/waas/models/work_request_status_values.rb +14 -0
  118. data/lib/oci/waas/models/work_request_summary.rb +302 -0
  119. data/lib/oci/waas/util.rb +2 -0
  120. data/lib/oci/waas/waas.rb +66 -0
  121. data/lib/oci/waas/waas_client.rb +3044 -0
  122. data/lib/oci/waas/waas_client_composite_operations.rb +990 -0
  123. metadata +105 -2
@@ -6,14 +6,14 @@ require 'date'
6
6
  module OCI
7
7
  # The details needed for creating a single suppression.
8
8
  class Email::Models::CreateSuppressionDetails # rubocop:disable Metrics/LineLength
9
- # The OCID of the compartment to contain the suppression. Since
9
+ # **[Required]** The OCID of the compartment to contain the suppression. Since
10
10
  # suppressions are at the customer level, this must be the tenancy
11
11
  # OCID.
12
12
  #
13
13
  # @return [String]
14
14
  attr_accessor :compartment_id
15
15
 
16
- # The recipient email address of the suppression.
16
+ # **[Required]** The recipient email address of the suppression.
17
17
  # @return [String]
18
18
  attr_accessor :email_address
19
19
 
@@ -15,6 +15,10 @@ module OCI
15
15
  LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
16
16
  ].freeze
17
17
 
18
+ # The OCID for the compartment.
19
+ # @return [String]
20
+ attr_accessor :compartment_id
21
+
18
22
  # Email address of the sender.
19
23
  # @return [String]
20
24
  attr_accessor :email_address
@@ -24,7 +28,7 @@ module OCI
24
28
  attr_accessor :id
25
29
 
26
30
  # Value of the SPF field. For more information about SPF, please see
27
- # [SPF Authentication](https://docs.cloud.oracle.com/Content/Email/Concepts/emaildeliveryoverview.htm#spf).
31
+ # [SPF Authentication](https://docs.cloud.oracle.com/Content/Email/Concepts/overview.htm#components).
28
32
  #
29
33
  # @return [BOOLEAN]
30
34
  attr_accessor :is_spf
@@ -39,15 +43,32 @@ module OCI
39
43
  # @return [DateTime]
40
44
  attr_accessor :time_created
41
45
 
46
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
47
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
48
+ # Example: `{\"Department\": \"Finance\"}`
49
+ #
50
+ # @return [Hash<String, String>]
51
+ attr_accessor :freeform_tags
52
+
53
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
54
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
55
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
56
+ #
57
+ # @return [Hash<String, Hash<String, Object>>]
58
+ attr_accessor :defined_tags
59
+
42
60
  # Attribute mapping from ruby-style variable name to JSON key.
43
61
  def self.attribute_map
44
62
  {
45
63
  # rubocop:disable Style/SymbolLiteral
64
+ 'compartment_id': :'compartmentId',
46
65
  'email_address': :'emailAddress',
47
66
  'id': :'id',
48
67
  'is_spf': :'isSpf',
49
68
  'lifecycle_state': :'lifecycleState',
50
- 'time_created': :'timeCreated'
69
+ 'time_created': :'timeCreated',
70
+ 'freeform_tags': :'freeformTags',
71
+ 'defined_tags': :'definedTags'
51
72
  # rubocop:enable Style/SymbolLiteral
52
73
  }
53
74
  end
@@ -56,11 +77,14 @@ module OCI
56
77
  def self.swagger_types
57
78
  {
58
79
  # rubocop:disable Style/SymbolLiteral
80
+ 'compartment_id': :'String',
59
81
  'email_address': :'String',
60
82
  'id': :'String',
61
83
  'is_spf': :'BOOLEAN',
62
84
  'lifecycle_state': :'String',
63
- 'time_created': :'DateTime'
85
+ 'time_created': :'DateTime',
86
+ 'freeform_tags': :'Hash<String, String>',
87
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
64
88
  # rubocop:enable Style/SymbolLiteral
65
89
  }
66
90
  end
@@ -71,17 +95,26 @@ module OCI
71
95
 
72
96
  # Initializes the object
73
97
  # @param [Hash] attributes Model attributes in the form of hash
98
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
74
99
  # @option attributes [String] :email_address The value to assign to the {#email_address} property
75
100
  # @option attributes [String] :id The value to assign to the {#id} property
76
101
  # @option attributes [BOOLEAN] :is_spf The value to assign to the {#is_spf} property
77
102
  # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
78
103
  # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
104
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
105
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
79
106
  def initialize(attributes = {})
80
107
  return unless attributes.is_a?(Hash)
81
108
 
82
109
  # convert string to symbol for hash key
83
110
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
84
111
 
112
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
113
+
114
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
115
+
116
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
117
+
85
118
  self.email_address = attributes[:'emailAddress'] if attributes[:'emailAddress']
86
119
 
87
120
  raise 'You cannot provide both :emailAddress and :email_address' if attributes.key?(:'emailAddress') && attributes.key?(:'email_address')
@@ -109,6 +142,18 @@ module OCI
109
142
  raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
110
143
 
111
144
  self.time_created = attributes[:'time_created'] if attributes[:'time_created']
145
+
146
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
147
+
148
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
149
+
150
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
151
+
152
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
153
+
154
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
155
+
156
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
112
157
  end
113
158
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
114
159
  # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -137,11 +182,14 @@ module OCI
137
182
  return true if equal?(other)
138
183
 
139
184
  self.class == other.class &&
185
+ compartment_id == other.compartment_id &&
140
186
  email_address == other.email_address &&
141
187
  id == other.id &&
142
188
  is_spf == other.is_spf &&
143
189
  lifecycle_state == other.lifecycle_state &&
144
- time_created == other.time_created
190
+ time_created == other.time_created &&
191
+ freeform_tags == other.freeform_tags &&
192
+ defined_tags == other.defined_tags
145
193
  end
146
194
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
147
195
 
@@ -157,7 +205,7 @@ module OCI
157
205
  # Calculates hash code according to all attributes.
158
206
  # @return [Fixnum] Hash code
159
207
  def hash
160
- [email_address, id, is_spf, lifecycle_state, time_created].hash
208
+ [compartment_id, email_address, id, is_spf, lifecycle_state, time_created, freeform_tags, defined_tags].hash
161
209
  end
162
210
  # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
163
211
 
@@ -33,6 +33,20 @@ module OCI
33
33
  # @return [DateTime]
34
34
  attr_accessor :time_created
35
35
 
36
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
37
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
38
+ # Example: `{\"Department\": \"Finance\"}`
39
+ #
40
+ # @return [Hash<String, String>]
41
+ attr_accessor :freeform_tags
42
+
43
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
44
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
45
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
46
+ #
47
+ # @return [Hash<String, Hash<String, Object>>]
48
+ attr_accessor :defined_tags
49
+
36
50
  # Attribute mapping from ruby-style variable name to JSON key.
37
51
  def self.attribute_map
38
52
  {
@@ -40,7 +54,9 @@ module OCI
40
54
  'email_address': :'emailAddress',
41
55
  'id': :'id',
42
56
  'lifecycle_state': :'lifecycleState',
43
- 'time_created': :'timeCreated'
57
+ 'time_created': :'timeCreated',
58
+ 'freeform_tags': :'freeformTags',
59
+ 'defined_tags': :'definedTags'
44
60
  # rubocop:enable Style/SymbolLiteral
45
61
  }
46
62
  end
@@ -52,7 +68,9 @@ module OCI
52
68
  'email_address': :'String',
53
69
  'id': :'String',
54
70
  'lifecycle_state': :'String',
55
- 'time_created': :'DateTime'
71
+ 'time_created': :'DateTime',
72
+ 'freeform_tags': :'Hash<String, String>',
73
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
56
74
  # rubocop:enable Style/SymbolLiteral
57
75
  }
58
76
  end
@@ -67,6 +85,8 @@ module OCI
67
85
  # @option attributes [String] :id The value to assign to the {#id} property
68
86
  # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
69
87
  # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
88
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
89
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
70
90
  def initialize(attributes = {})
71
91
  return unless attributes.is_a?(Hash)
72
92
 
@@ -92,6 +112,18 @@ module OCI
92
112
  raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
93
113
 
94
114
  self.time_created = attributes[:'time_created'] if attributes[:'time_created']
115
+
116
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
117
+
118
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
119
+
120
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
121
+
122
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
123
+
124
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
125
+
126
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
95
127
  end
96
128
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
97
129
  # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -123,7 +155,9 @@ module OCI
123
155
  email_address == other.email_address &&
124
156
  id == other.id &&
125
157
  lifecycle_state == other.lifecycle_state &&
126
- time_created == other.time_created
158
+ time_created == other.time_created &&
159
+ freeform_tags == other.freeform_tags &&
160
+ defined_tags == other.defined_tags
127
161
  end
128
162
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
129
163
 
@@ -139,7 +173,7 @@ module OCI
139
173
  # Calculates hash code according to all attributes.
140
174
  # @return [Fixnum] Hash code
141
175
  def hash
142
- [email_address, id, lifecycle_state, time_created].hash
176
+ [email_address, id, lifecycle_state, time_created, freeform_tags, defined_tags].hash
143
177
  end
144
178
  # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
145
179
 
@@ -17,6 +17,13 @@ module OCI
17
17
  REASON_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
18
18
  ].freeze
19
19
 
20
+ # The OCID of the compartment to contain the suppression. Since
21
+ # suppressions are at the customer level, this must be the tenancy
22
+ # OCID.
23
+ #
24
+ # @return [String]
25
+ attr_accessor :compartment_id
26
+
20
27
  # Email address of the suppression.
21
28
  # @return [String]
22
29
  attr_accessor :email_address
@@ -25,11 +32,11 @@ module OCI
25
32
  # @return [String]
26
33
  attr_accessor :id
27
34
 
28
- # The reason that the email address was suppressed. For more information on the types of bounces, see [Suppresion List](https://docs.cloud.oracle.com/Content/Email/Concepts/emaildeliveryoverview.htm#suppressionlist).
35
+ # The reason that the email address was suppressed. For more information on the types of bounces, see [Suppression List](https://docs.cloud.oracle.com/Content/Email/Concepts/overview.htm#components).
29
36
  # @return [String]
30
37
  attr_reader :reason
31
38
 
32
- # The date and time the approved sender was added in \"YYYY-MM-ddThh:mmZ\"
39
+ # The date and time the suppression was added in \"YYYY-MM-ddThh:mmZ\"
33
40
  # format with a Z offset, as defined by RFC 3339.
34
41
  #
35
42
  # @return [DateTime]
@@ -39,6 +46,7 @@ module OCI
39
46
  def self.attribute_map
40
47
  {
41
48
  # rubocop:disable Style/SymbolLiteral
49
+ 'compartment_id': :'compartmentId',
42
50
  'email_address': :'emailAddress',
43
51
  'id': :'id',
44
52
  'reason': :'reason',
@@ -51,6 +59,7 @@ module OCI
51
59
  def self.swagger_types
52
60
  {
53
61
  # rubocop:disable Style/SymbolLiteral
62
+ 'compartment_id': :'String',
54
63
  'email_address': :'String',
55
64
  'id': :'String',
56
65
  'reason': :'String',
@@ -65,6 +74,7 @@ module OCI
65
74
 
66
75
  # Initializes the object
67
76
  # @param [Hash] attributes Model attributes in the form of hash
77
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
68
78
  # @option attributes [String] :email_address The value to assign to the {#email_address} property
69
79
  # @option attributes [String] :id The value to assign to the {#id} property
70
80
  # @option attributes [String] :reason The value to assign to the {#reason} property
@@ -75,6 +85,12 @@ module OCI
75
85
  # convert string to symbol for hash key
76
86
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
77
87
 
88
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
89
+
90
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
91
+
92
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
93
+
78
94
  self.email_address = attributes[:'emailAddress'] if attributes[:'emailAddress']
79
95
 
80
96
  raise 'You cannot provide both :emailAddress and :email_address' if attributes.key?(:'emailAddress') && attributes.key?(:'email_address')
@@ -118,6 +134,7 @@ module OCI
118
134
  return true if equal?(other)
119
135
 
120
136
  self.class == other.class &&
137
+ compartment_id == other.compartment_id &&
121
138
  email_address == other.email_address &&
122
139
  id == other.id &&
123
140
  reason == other.reason &&
@@ -137,7 +154,7 @@ module OCI
137
154
  # Calculates hash code according to all attributes.
138
155
  # @return [Fixnum] Hash code
139
156
  def hash
140
- [email_address, id, reason, time_created].hash
157
+ [compartment_id, email_address, id, reason, time_created].hash
141
158
  end
142
159
  # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
143
160
 
@@ -0,0 +1,174 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ # rubocop:disable Lint/UnneededCopDisableDirective
6
+ module OCI
7
+ # The details allowed for updating a sender.
8
+ #
9
+ class Email::Models::UpdateSenderDetails # rubocop:disable Metrics/LineLength
10
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
11
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
12
+ # Example: `{\"Department\": \"Finance\"}`
13
+ #
14
+ # @return [Hash<String, String>]
15
+ attr_accessor :freeform_tags
16
+
17
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
18
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
19
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
20
+ #
21
+ # @return [Hash<String, Hash<String, Object>>]
22
+ attr_accessor :defined_tags
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ # rubocop:disable Style/SymbolLiteral
28
+ 'freeform_tags': :'freeformTags',
29
+ 'defined_tags': :'definedTags'
30
+ # rubocop:enable Style/SymbolLiteral
31
+ }
32
+ end
33
+
34
+ # Attribute type mapping.
35
+ def self.swagger_types
36
+ {
37
+ # rubocop:disable Style/SymbolLiteral
38
+ 'freeform_tags': :'Hash<String, String>',
39
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
40
+ # rubocop:enable Style/SymbolLiteral
41
+ }
42
+ end
43
+
44
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
45
+ # rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
46
+
47
+
48
+ # Initializes the object
49
+ # @param [Hash] attributes Model attributes in the form of hash
50
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
51
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
52
+ def initialize(attributes = {})
53
+ return unless attributes.is_a?(Hash)
54
+
55
+ # convert string to symbol for hash key
56
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
57
+
58
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
59
+
60
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
61
+
62
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
63
+
64
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
65
+
66
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
67
+
68
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
69
+ end
70
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
71
+ # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
72
+
73
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
74
+
75
+
76
+ # Checks equality by comparing each attribute.
77
+ # @param [Object] other the other object to be compared
78
+ def ==(other)
79
+ return true if equal?(other)
80
+
81
+ self.class == other.class &&
82
+ freeform_tags == other.freeform_tags &&
83
+ defined_tags == other.defined_tags
84
+ end
85
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
86
+
87
+ # @see the `==` method
88
+ # @param [Object] other the other object to be compared
89
+ def eql?(other)
90
+ self == other
91
+ end
92
+
93
+ # rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
94
+
95
+
96
+ # Calculates hash code according to all attributes.
97
+ # @return [Fixnum] Hash code
98
+ def hash
99
+ [freeform_tags, defined_tags].hash
100
+ end
101
+ # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
102
+
103
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
104
+
105
+
106
+ # Builds the object from hash
107
+ # @param [Hash] attributes Model attributes in the form of hash
108
+ # @return [Object] Returns the model itself
109
+ def build_from_hash(attributes)
110
+ return nil unless attributes.is_a?(Hash)
111
+
112
+ self.class.swagger_types.each_pair do |key, type|
113
+ if type =~ /^Array<(.*)>/i
114
+ # check to ensure the input is an array given that the the attribute
115
+ # is documented as an array but the input is not
116
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
117
+ public_method("#{key}=").call(
118
+ attributes[self.class.attribute_map[key]]
119
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
120
+ )
121
+ end
122
+ elsif !attributes[self.class.attribute_map[key]].nil?
123
+ public_method("#{key}=").call(
124
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
125
+ )
126
+ end
127
+ # or else data not found in attributes(hash), not an issue as the data can be optional
128
+ end
129
+
130
+ self
131
+ end
132
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
133
+
134
+ # Returns the string representation of the object
135
+ # @return [String] String presentation of the object
136
+ def to_s
137
+ to_hash.to_s
138
+ end
139
+
140
+ # Returns the object in the form of hash
141
+ # @return [Hash] Returns the object in the form of hash
142
+ def to_hash
143
+ hash = {}
144
+ self.class.attribute_map.each_pair do |attr, param|
145
+ value = public_method(attr).call
146
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
147
+
148
+ hash[param] = _to_hash(value)
149
+ end
150
+ hash
151
+ end
152
+
153
+ private
154
+
155
+ # Outputs non-array value in the form of hash
156
+ # For object, use to_hash. Otherwise, just return the value
157
+ # @param [Object] value Any valid value
158
+ # @return [Hash] Returns the value in the form of hash
159
+ def _to_hash(value)
160
+ if value.is_a?(Array)
161
+ value.compact.map { |v| _to_hash(v) }
162
+ elsif value.is_a?(Hash)
163
+ {}.tap do |hash|
164
+ value.each { |k, v| hash[k] = _to_hash(v) }
165
+ end
166
+ elsif value.respond_to? :to_hash
167
+ value.to_hash
168
+ else
169
+ value
170
+ end
171
+ end
172
+ end
173
+ end
174
+ # rubocop:enable Lint/UnneededCopDisableDirective