oci 2.0.8 → 2.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/lib/oci.rb +1 -0
  4. data/lib/oci/api_client.rb +22 -4
  5. data/lib/oci/audit/audit_client.rb +7 -7
  6. data/lib/oci/core/blockstorage_client.rb +30 -30
  7. data/lib/oci/core/compute_client.rb +55 -54
  8. data/lib/oci/core/core.rb +2 -0
  9. data/lib/oci/core/models/attach_paravirtualized_volume_details.rb +133 -0
  10. data/lib/oci/core/models/attach_volume_details.rb +2 -1
  11. data/lib/oci/core/models/create_image_details.rb +1 -1
  12. data/lib/oci/core/models/create_public_ip_details.rb +1 -1
  13. data/lib/oci/core/models/create_virtual_circuit_details.rb +1 -1
  14. data/lib/oci/core/models/create_volume_backup_details.rb +1 -1
  15. data/lib/oci/core/models/image.rb +22 -1
  16. data/lib/oci/core/models/image_source_details.rb +1 -1
  17. data/lib/oci/core/models/instance_source_via_image_details.rb +20 -1
  18. data/lib/oci/core/models/paravirtualized_volume_attachment.rb +154 -0
  19. data/lib/oci/core/models/update_virtual_circuit_details.rb +1 -1
  20. data/lib/oci/core/models/volume_attachment.rb +1 -0
  21. data/lib/oci/core/virtual_network_client.rb +154 -154
  22. data/lib/oci/database/database_client.rb +59 -59
  23. data/lib/oci/database/models/create_data_guard_association_details.rb +2 -2
  24. data/lib/oci/database/models/create_database_details.rb +1 -1
  25. data/lib/oci/database/models/create_db_home_with_db_system_id_base.rb +1 -1
  26. data/lib/oci/database/models/launch_db_system_details.rb +3 -3
  27. data/lib/oci/database/models/patch_details.rb +1 -1
  28. data/lib/oci/dns/dns_client.rb +44 -44
  29. data/lib/oci/dns/models/create_zone_details.rb +1 -1
  30. data/lib/oci/dns/models/record_operation.rb +1 -1
  31. data/lib/oci/email/email.rb +22 -0
  32. data/lib/oci/email/email_client.rb +417 -0
  33. data/lib/oci/email/models/create_sender_details.rb +147 -0
  34. data/lib/oci/email/models/create_suppression_details.rb +149 -0
  35. data/lib/oci/email/models/sender.rb +219 -0
  36. data/lib/oci/email/models/sender_summary.rb +195 -0
  37. data/lib/oci/email/models/suppression.rb +191 -0
  38. data/lib/oci/email/models/suppression_summary.rb +192 -0
  39. data/lib/oci/email/util.rb +2 -0
  40. data/lib/oci/file_storage/file_storage_client.rb +42 -42
  41. data/lib/oci/identity/identity.rb +4 -0
  42. data/lib/oci/identity/identity_client.rb +250 -94
  43. data/lib/oci/identity/models/compartment.rb +1 -1
  44. data/lib/oci/identity/models/create_compartment_details.rb +1 -1
  45. data/lib/oci/identity/models/create_identity_provider_details.rb +2 -2
  46. data/lib/oci/identity/models/create_smtp_credential_details.rb +122 -0
  47. data/lib/oci/identity/models/smtp_credential.rb +285 -0
  48. data/lib/oci/identity/models/smtp_credential_summary.rb +267 -0
  49. data/lib/oci/identity/models/update_compartment_details.rb +1 -0
  50. data/lib/oci/identity/models/update_identity_provider_details.rb +1 -1
  51. data/lib/oci/identity/models/update_smtp_credential_details.rb +121 -0
  52. data/lib/oci/load_balancer/load_balancer_client.rb +74 -74
  53. data/lib/oci/object_storage/models/create_bucket_details.rb +2 -2
  54. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +1 -1
  55. data/lib/oci/object_storage/models/update_bucket_details.rb +1 -1
  56. data/lib/oci/object_storage/object_storage_client.rb +73 -73
  57. data/lib/oci/regions.rb +2 -1
  58. data/lib/oci/response.rb +1 -0
  59. data/lib/oci/version.rb +1 -1
  60. metadata +17 -20
@@ -80,7 +80,7 @@ module OCI
80
80
  # @param [Object] zone_type Object to be assigned
81
81
  def zone_type=(zone_type)
82
82
  if zone_type && !ZONE_TYPE_ENUM.include?(zone_type)
83
- fail "Invalid value for 'zone_type': this must be one of the values in ZONE_TYPE_ENUM."
83
+ raise "Invalid value for 'zone_type': this must be one of the values in ZONE_TYPE_ENUM."
84
84
  else
85
85
  @zone_type = zone_type
86
86
  end
@@ -147,7 +147,7 @@ module OCI
147
147
  # @param [Object] operation Object to be assigned
148
148
  def operation=(operation)
149
149
  if operation && !OPERATION_ENUM.include?(operation)
150
- fail "Invalid value for 'operation': this must be one of the values in OPERATION_ENUM."
150
+ raise "Invalid value for 'operation': this must be one of the values in OPERATION_ENUM."
151
151
  else
152
152
  @operation = operation
153
153
  end
@@ -0,0 +1,22 @@
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OCI
4
+ module Email
5
+ module Models
6
+ end
7
+ end
8
+ end
9
+
10
+ # Require models
11
+ require 'oci/email/models/create_sender_details'
12
+ require 'oci/email/models/create_suppression_details'
13
+ require 'oci/email/models/sender'
14
+ require 'oci/email/models/sender_summary'
15
+ require 'oci/email/models/suppression'
16
+ require 'oci/email/models/suppression_summary'
17
+
18
+ # Require generated clients
19
+ require 'oci/email/email_client'
20
+
21
+ # Require service utilities
22
+ require 'oci/email/util'
@@ -0,0 +1,417 @@
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require "uri"
4
+ require "logger"
5
+
6
+ module OCI
7
+
8
+ class Email::EmailClient
9
+
10
+ # Client used to make HTTP requests.
11
+ # @return [OCI::ApiClient]
12
+ attr_reader :api_client
13
+
14
+ # Fully qualified endpoint URL
15
+ # @return [String]
16
+ attr_reader :endpoint
17
+
18
+ # The region, which will usually correspond to a value in {OCI::Regions::REGION_ENUM}.
19
+ # @return [String]
20
+ attr_accessor :region
21
+
22
+ # Creates a new EmailClient.
23
+ # If a config is not specified, then the global OCI.config will be used.
24
+ #
25
+ # A region must be specified in either the config or the region parameter. If specified
26
+ # in both, then the region parameter will be used.
27
+ #
28
+ # @param [Config] config A Config object.
29
+ # @param [String] region A region used to determine the service endpoint. This will usually
30
+ # correspond to a value in {OCI::Regions::REGION_ENUM}, but may be an arbitrary string.
31
+ # @param [OCI::BaseSigner] signer A signer implementation which can be used by this client. If this is not provided then
32
+ # a signer will be constructed via the provided config. One use case of this parameter is instance principals authentication,
33
+ # so that the instance principals signer can be provided to the client
34
+ def initialize(config:nil, region:nil, signer:nil)
35
+ # If the signer is an InstancePrincipalsSecurityTokenSigner and no config was supplied (which is valid for instance principals)
36
+ # then create a dummy config to pass to the ApiClient constructor. If customers wish to create a client which uses instance principals
37
+ # and has config (either populated programmatically or loaded from a file), they must construct that config themselves and then
38
+ # pass it to this constructor.
39
+ #
40
+ # If there is no signer (or the signer is not an instance principals signer) and no config was supplied, this is not valid
41
+ # so try and load the config from the default file.
42
+ config ||= OCI.config unless signer.is_a?(OCI::Auth::Signers::InstancePrincipalsSecurityTokenSigner)
43
+ config ||= OCI::Config.new if signer.is_a?(OCI::Auth::Signers::InstancePrincipalsSecurityTokenSigner)
44
+ config.validate unless signer.is_a?(OCI::Auth::Signers::InstancePrincipalsSecurityTokenSigner)
45
+
46
+ if signer.nil?
47
+ signer = Signer.new(config.user, config.fingerprint, config.tenancy, config.key_file, pass_phrase: config.pass_phrase, private_key_content: config.key_content, signing_strategy: Signer::STANDARD)
48
+ end
49
+
50
+ @api_client = ApiClient.new(config, signer)
51
+
52
+ region ||= config.region
53
+ region ||= signer.region if signer.respond_to?(:region)
54
+ self.region = region
55
+ end
56
+
57
+ # Set the region that will be used to determine the service endpoint.
58
+ # This will usually correspond to a value in {OCI::Regions::REGION_ENUM},
59
+ # but may be an arbitrary string.
60
+ def region=(r)
61
+ @region = r
62
+
63
+ raise 'A region must be specified.' unless @region
64
+
65
+ @endpoint = OCI::Regions.get_service_endpoint(@region, :EmailClient) + '/20170907'
66
+ logger.info "EmailClient endpoint set to '#{endpoint}'." if logger
67
+ end
68
+
69
+ # @return [Logger] The logger for this client. May be nil.
70
+ def logger
71
+ @api_client.config.logger
72
+ end
73
+
74
+
75
+ # Creates a sender for a tenancy in a given compartment.
76
+ # @param [CreateSenderDetails] create_sender_details Create a sender.
77
+ # @param [Hash] opts the optional parameters
78
+ # @return [Response] A Response object with data of type OCI::Email::Models::Sender
79
+ def create_sender(create_sender_details, opts = {})
80
+ logger.debug "Calling operation EmailClient#create_sender." if logger
81
+
82
+ raise "Missing the required parameter 'create_sender_details' when calling create_sender." if create_sender_details.nil?
83
+
84
+ path = "/senders"
85
+
86
+ # Query Params
87
+ query_params = {}
88
+
89
+ # Header Params
90
+ header_params = {}
91
+ header_params['accept'] = 'application/json'
92
+ header_params['content-type'] = 'application/json'
93
+
94
+ post_body = @api_client.object_to_http_body(create_sender_details)
95
+
96
+ return @api_client.call_api(
97
+ :POST,
98
+ path,
99
+ endpoint,
100
+ :header_params => header_params,
101
+ :query_params => query_params,
102
+ :body => post_body,
103
+ :return_type => 'OCI::Email::Models::Sender')
104
+ end
105
+
106
+ # Adds recipient email addresses to the suppression list for a tenancy.
107
+ #
108
+ # @param [CreateSuppressionDetails] create_suppression_details Adds a single email address to the suppression list for a compartment's tenancy.
109
+ #
110
+ # @param [Hash] opts the optional parameters
111
+ # @return [Response] A Response object with data of type OCI::Email::Models::Suppression
112
+ def create_suppression(create_suppression_details, opts = {})
113
+ logger.debug "Calling operation EmailClient#create_suppression." if logger
114
+
115
+ raise "Missing the required parameter 'create_suppression_details' when calling create_suppression." if create_suppression_details.nil?
116
+
117
+ path = "/suppressions"
118
+
119
+ # Query Params
120
+ query_params = {}
121
+
122
+ # Header Params
123
+ header_params = {}
124
+ header_params['accept'] = 'application/json'
125
+ header_params['content-type'] = 'application/json'
126
+
127
+ post_body = @api_client.object_to_http_body(create_suppression_details)
128
+
129
+ return @api_client.call_api(
130
+ :POST,
131
+ path,
132
+ endpoint,
133
+ :header_params => header_params,
134
+ :query_params => query_params,
135
+ :body => post_body,
136
+ :return_type => 'OCI::Email::Models::Suppression')
137
+ end
138
+
139
+ # Deletes an approved sender for a tenancy in a given compartment for a
140
+ # provided `senderId`.
141
+ #
142
+ # @param [String] sender_id The unique OCID of the sender.
143
+ # @param [Hash] opts the optional parameters
144
+ # @return [Response] A Response object with data of type nil
145
+ def delete_sender(sender_id, opts = {})
146
+ logger.debug "Calling operation EmailClient#delete_sender." if logger
147
+
148
+ raise "Missing the required parameter 'sender_id' when calling delete_sender." if sender_id.nil?
149
+
150
+ path = "/senders/{senderId}".sub('{senderId}', sender_id.to_s)
151
+
152
+ # Query Params
153
+ query_params = {}
154
+
155
+ # Header Params
156
+ header_params = {}
157
+ header_params['accept'] = 'application/json'
158
+ header_params['content-type'] = 'application/json'
159
+
160
+ post_body = nil
161
+
162
+ return @api_client.call_api(
163
+ :DELETE,
164
+ path,
165
+ endpoint,
166
+ :header_params => header_params,
167
+ :query_params => query_params,
168
+ :body => post_body)
169
+ end
170
+
171
+ # Removes a suppressed recipient email address from the suppression list
172
+ # for a tenancy in a given compartment for a provided `suppressionId`.
173
+ #
174
+ # @param [String] suppression_id The unique OCID of the suppression.
175
+ # @param [Hash] opts the optional parameters
176
+ # @return [Response] A Response object with data of type nil
177
+ def delete_suppression(suppression_id, opts = {})
178
+ logger.debug "Calling operation EmailClient#delete_suppression." if logger
179
+
180
+ raise "Missing the required parameter 'suppression_id' when calling delete_suppression." if suppression_id.nil?
181
+
182
+ path = "/suppressions/{suppressionId}".sub('{suppressionId}', suppression_id.to_s)
183
+
184
+ # Query Params
185
+ query_params = {}
186
+
187
+ # Header Params
188
+ header_params = {}
189
+ header_params['accept'] = 'application/json'
190
+ header_params['content-type'] = 'application/json'
191
+
192
+ post_body = nil
193
+
194
+ return @api_client.call_api(
195
+ :DELETE,
196
+ path,
197
+ endpoint,
198
+ :header_params => header_params,
199
+ :query_params => query_params,
200
+ :body => post_body)
201
+ end
202
+
203
+ # Gets an approved sender for a given `senderId`.
204
+ # @param [String] sender_id The unique OCID of the sender.
205
+ # @param [Hash] opts the optional parameters
206
+ # @return [Response] A Response object with data of type OCI::Email::Models::Sender
207
+ def get_sender(sender_id, opts = {})
208
+ logger.debug "Calling operation EmailClient#get_sender." if logger
209
+
210
+ raise "Missing the required parameter 'sender_id' when calling get_sender." if sender_id.nil?
211
+
212
+ path = "/senders/{senderId}".sub('{senderId}', sender_id.to_s)
213
+
214
+ # Query Params
215
+ query_params = {}
216
+
217
+ # Header Params
218
+ header_params = {}
219
+ header_params['accept'] = 'application/json'
220
+ header_params['content-type'] = 'application/json'
221
+
222
+ post_body = nil
223
+
224
+ return @api_client.call_api(
225
+ :GET,
226
+ path,
227
+ endpoint,
228
+ :header_params => header_params,
229
+ :query_params => query_params,
230
+ :body => post_body,
231
+ :return_type => 'OCI::Email::Models::Sender')
232
+ end
233
+
234
+ # Gets the details of a suppressed recipient email address for a given
235
+ # `suppressionId`. Each suppression is given a unique OCID.
236
+ #
237
+ # @param [String] suppression_id The unique OCID of the suppression.
238
+ # @param [Hash] opts the optional parameters
239
+ # @return [Response] A Response object with data of type OCI::Email::Models::Suppression
240
+ def get_suppression(suppression_id, opts = {})
241
+ logger.debug "Calling operation EmailClient#get_suppression." if logger
242
+
243
+ raise "Missing the required parameter 'suppression_id' when calling get_suppression." if suppression_id.nil?
244
+
245
+ path = "/suppressions/{suppressionId}".sub('{suppressionId}', suppression_id.to_s)
246
+
247
+ # Query Params
248
+ query_params = {}
249
+
250
+ # Header Params
251
+ header_params = {}
252
+ header_params['accept'] = 'application/json'
253
+ header_params['content-type'] = 'application/json'
254
+
255
+ post_body = nil
256
+
257
+ return @api_client.call_api(
258
+ :GET,
259
+ path,
260
+ endpoint,
261
+ :header_params => header_params,
262
+ :query_params => query_params,
263
+ :body => post_body,
264
+ :return_type => 'OCI::Email::Models::Suppression')
265
+ end
266
+
267
+ # Gets a collection of approved sender email addresses and sender IDs.
268
+ #
269
+ # @param [String] compartment_id The OCID for the compartment.
270
+ # @param [Hash] opts the optional parameters
271
+ # @option opts [String] :lifecycle_state The current state of a sender.
272
+ # @option opts [String] :email_address The email address of the approved sender.
273
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous
274
+ # GET request.
275
+ #
276
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated GET request.
277
+ #
278
+ # @option opts [String] :sort_by The field to sort by. The `TIMECREATED` value returns the list in in
279
+ # descending order by default. The `EMAILADDRESS` value returns the list in
280
+ # ascending order by default. Use the `SortOrderQueryParam` to change the
281
+ # direction of the returned list of items.
282
+ #
283
+ # Allowed values are: TIMECREATED, EMAILADDRESS
284
+ # @option opts [String] :sort_order The sort order to use, either ascending or descending order.
285
+ #
286
+ # Allowed values are: ASC, DESC
287
+ # @return [Response] A Response object with data of type Array<OCI::Email::Models::SenderSummary>
288
+ def list_senders(compartment_id, opts = {})
289
+ logger.debug "Calling operation EmailClient#list_senders." if logger
290
+
291
+ raise "Missing the required parameter 'compartment_id' when calling list_senders." if compartment_id.nil?
292
+
293
+ if opts[:'lifecycle_state'] && !OCI::Email::Models::Sender::LIFECYCLE_STATE_ENUM.include?(opts[:'lifecycle_state'])
294
+ raise 'Invalid value for "lifecycle_state", must be one of the values in OCI::Email::Models::Sender::LIFECYCLE_STATE_ENUM.'
295
+ end
296
+
297
+ if opts[:'sort_by'] && !['TIMECREATED', 'EMAILADDRESS'].include?(opts[:'sort_by'])
298
+ raise 'Invalid value for "sort_by", must be one of TIMECREATED, EMAILADDRESS.'
299
+ end
300
+
301
+ if opts[:'sort_order'] && !['ASC', 'DESC'].include?(opts[:'sort_order'])
302
+ raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
303
+ end
304
+
305
+ path = "/senders"
306
+
307
+ # Query Params
308
+ query_params = {}
309
+ query_params[:'compartmentId'] = compartment_id
310
+ query_params[:'lifecycleState'] = opts[:'lifecycle_state'] if opts[:'lifecycle_state']
311
+ query_params[:'emailAddress'] = opts[:'email_address'] if opts[:'email_address']
312
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
313
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
314
+ query_params[:'sortBy'] = opts[:'sort_by'] if opts[:'sort_by']
315
+ query_params[:'sortOrder'] = opts[:'sort_order'] if opts[:'sort_order']
316
+
317
+ # Header Params
318
+ header_params = {}
319
+ header_params['accept'] = 'application/json'
320
+ header_params['content-type'] = 'application/json'
321
+
322
+ post_body = nil
323
+
324
+ return @api_client.call_api(
325
+ :GET,
326
+ path,
327
+ endpoint,
328
+ :header_params => header_params,
329
+ :query_params => query_params,
330
+ :body => post_body,
331
+ :return_type => 'Array<OCI::Email::Models::SenderSummary>')
332
+ end
333
+
334
+ # Gets a list of suppressed recipient email addresses for a user. The
335
+ # `compartmentId` for suppressions must be a tenancy OCID. The returned list
336
+ # is sorted by creation time in descending order.
337
+ #
338
+ # @param [String] compartment_id The OCID for the compartment.
339
+ # @param [Hash] opts the optional parameters
340
+ # @option opts [String] :email_address The email address of the suppression.
341
+ # @option opts [DateTime] :time_created_greater_than_or_equal_to Search for suppressions that were created within a specific date range,
342
+ # using this parameter to specify the earliest creation date for the
343
+ # returned list (inclusive). Specifying this parameter without the
344
+ # corresponding `timeCreatedLessThan` parameter will retrieve suppressions created from the
345
+ # given `timeCreatedGreaterThanOrEqualTo` to the current time, in \"YYYY-MM-ddThh:mmZ\" format with a
346
+ # Z offset, as defined by RFC 3339.
347
+ #
348
+ # **Example:** 2016-12-19T16:39:57.600Z
349
+ #
350
+ # @option opts [DateTime] :time_created_less_than Search for suppressions that were created within a specific date range,
351
+ # using this parameter to specify the latest creation date for the returned
352
+ # list (exclusive). Specifying this parameter without the corresponding
353
+ # `timeCreatedGreaterThanOrEqualTo` parameter will retrieve all suppressions created before the
354
+ # specified end date, in \"YYYY-MM-ddThh:mmZ\" format with a Z offset, as
355
+ # defined by RFC 3339.
356
+ #
357
+ # **Example:** 2016-12-19T16:39:57.600Z
358
+ #
359
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous
360
+ # GET request.
361
+ #
362
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated GET request.
363
+ #
364
+ # @option opts [String] :sort_by The field to sort by. The `TIMECREATED` value returns the list in in
365
+ # descending order by default. The `EMAILADDRESS` value returns the list in
366
+ # ascending order by default. Use the `SortOrderQueryParam` to change the
367
+ # direction of the returned list of items.
368
+ #
369
+ # Allowed values are: TIMECREATED, EMAILADDRESS
370
+ # @option opts [String] :sort_order The sort order to use, either ascending or descending order.
371
+ #
372
+ # Allowed values are: ASC, DESC
373
+ # @return [Response] A Response object with data of type Array<OCI::Email::Models::SuppressionSummary>
374
+ def list_suppressions(compartment_id, opts = {})
375
+ logger.debug "Calling operation EmailClient#list_suppressions." if logger
376
+
377
+ raise "Missing the required parameter 'compartment_id' when calling list_suppressions." if compartment_id.nil?
378
+
379
+ if opts[:'sort_by'] && !['TIMECREATED', 'EMAILADDRESS'].include?(opts[:'sort_by'])
380
+ raise 'Invalid value for "sort_by", must be one of TIMECREATED, EMAILADDRESS.'
381
+ end
382
+
383
+ if opts[:'sort_order'] && !['ASC', 'DESC'].include?(opts[:'sort_order'])
384
+ raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
385
+ end
386
+
387
+ path = "/suppressions"
388
+
389
+ # Query Params
390
+ query_params = {}
391
+ query_params[:'compartmentId'] = compartment_id
392
+ query_params[:'emailAddress'] = opts[:'email_address'] if opts[:'email_address']
393
+ query_params[:'timeCreatedGreaterThanOrEqualTo'] = opts[:'time_created_greater_than_or_equal_to'] if opts[:'time_created_greater_than_or_equal_to']
394
+ query_params[:'timeCreatedLessThan'] = opts[:'time_created_less_than'] if opts[:'time_created_less_than']
395
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
396
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
397
+ query_params[:'sortBy'] = opts[:'sort_by'] if opts[:'sort_by']
398
+ query_params[:'sortOrder'] = opts[:'sort_order'] if opts[:'sort_order']
399
+
400
+ # Header Params
401
+ header_params = {}
402
+ header_params['accept'] = 'application/json'
403
+ header_params['content-type'] = 'application/json'
404
+
405
+ post_body = nil
406
+
407
+ return @api_client.call_api(
408
+ :GET,
409
+ path,
410
+ endpoint,
411
+ :header_params => header_params,
412
+ :query_params => query_params,
413
+ :body => post_body,
414
+ :return_type => 'Array<OCI::Email::Models::SuppressionSummary>')
415
+ end
416
+ end
417
+ end