oci 2.1.2 → 2.2.0
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.
- checksums.yaml +4 -4
- data/README.md +26 -13
- data/lib/oci/core/blockstorage_client.rb +690 -61
- data/lib/oci/core/blockstorage_client_composite_operations.rb +238 -0
- data/lib/oci/core/compute_client.rb +1 -5
- data/lib/oci/core/core.rb +10 -0
- data/lib/oci/core/models/boot_volume.rb +18 -4
- data/lib/oci/core/models/cpe.rb +38 -1
- data/lib/oci/core/models/create_cpe_details.rb +38 -1
- data/lib/oci/core/models/create_drg_details.rb +41 -4
- data/lib/oci/core/models/create_internet_gateway_details.rb +38 -1
- data/lib/oci/core/models/create_ip_sec_connection_details.rb +38 -1
- data/lib/oci/core/models/create_local_peering_gateway_details.rb +38 -1
- data/lib/oci/core/models/create_public_ip_details.rb +38 -1
- data/lib/oci/core/models/create_vnic_details.rb +38 -1
- data/lib/oci/core/models/create_volume_group_backup_details.rb +239 -0
- data/lib/oci/core/models/create_volume_group_details.rb +231 -0
- data/lib/oci/core/models/drg.rb +38 -1
- data/lib/oci/core/models/internet_gateway.rb +38 -1
- data/lib/oci/core/models/ip_sec_connection.rb +38 -1
- data/lib/oci/core/models/launch_options.rb +4 -0
- data/lib/oci/core/models/local_peering_gateway.rb +38 -1
- data/lib/oci/core/models/public_ip.rb +38 -1
- data/lib/oci/core/models/update_cpe_details.rb +41 -4
- data/lib/oci/core/models/update_drg_details.rb +41 -4
- data/lib/oci/core/models/update_internet_gateway_details.rb +38 -1
- data/lib/oci/core/models/update_ip_sec_connection_details.rb +41 -4
- data/lib/oci/core/models/update_local_peering_gateway_details.rb +41 -4
- data/lib/oci/core/models/update_public_ip_details.rb +38 -1
- data/lib/oci/core/models/update_vnic_details.rb +38 -1
- data/lib/oci/core/models/update_volume_group_backup_details.rb +187 -0
- data/lib/oci/core/models/update_volume_group_details.rb +201 -0
- data/lib/oci/core/models/vnic.rb +38 -1
- data/lib/oci/core/models/volume.rb +18 -4
- data/lib/oci/core/models/volume_group.rb +322 -0
- data/lib/oci/core/models/volume_group_backup.rb +380 -0
- data/lib/oci/core/models/volume_group_source_details.rb +164 -0
- data/lib/oci/core/models/volume_group_source_from_volume_group_backup_details.rb +158 -0
- data/lib/oci/core/models/volume_group_source_from_volume_group_details.rb +158 -0
- data/lib/oci/core/models/volume_group_source_from_volumes_details.rb +158 -0
- data/lib/oci/core/virtual_network_client.rb +6 -6
- data/lib/oci/database/database.rb +3 -0
- data/lib/oci/database/database_client.rb +1 -1
- data/lib/oci/database/database_client_composite_operations.rb +1 -1
- data/lib/oci/database/models/backup.rb +31 -1
- data/lib/oci/database/models/backup_summary.rb +31 -1
- data/lib/oci/database/models/create_db_home_from_backup_details.rb +160 -0
- data/lib/oci/database/models/launch_db_system_base.rb +438 -0
- data/lib/oci/database/models/launch_db_system_details.rb +41 -227
- data/lib/oci/database/models/launch_db_system_from_backup_details.rb +314 -0
- data/lib/oci/file_storage/file_storage_client.rb +9 -8
- data/lib/oci/file_storage/models/export.rb +6 -5
- data/lib/oci/file_storage/models/file_system_summary.rb +1 -2
- data/lib/oci/version.rb +1 -1
- metadata +15 -2
data/lib/oci/core/models/vnic.rb
CHANGED
@@ -41,12 +41,29 @@ module OCI
|
|
41
41
|
# @return [String]
|
42
42
|
attr_accessor :compartment_id
|
43
43
|
|
44
|
+
# Defined tags for this resource. Each key is predefined and scoped to a namespace.
|
45
|
+
# For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
|
46
|
+
#
|
47
|
+
# Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
|
48
|
+
#
|
49
|
+
# @return [Hash<String, Hash<String, Object>>]
|
50
|
+
attr_accessor :defined_tags
|
51
|
+
|
44
52
|
# A user-friendly name. Does not have to be unique.
|
45
53
|
# Avoid entering confidential information.
|
46
54
|
#
|
47
55
|
# @return [String]
|
48
56
|
attr_accessor :display_name
|
49
57
|
|
58
|
+
# Free-form tags for this resource. Each tag is a simple key-value pair with no
|
59
|
+
# predefined name, type, or namespace. For more information, see
|
60
|
+
# [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
|
61
|
+
#
|
62
|
+
# Example: `{\"Department\": \"Finance\"}`
|
63
|
+
#
|
64
|
+
# @return [Hash<String, String>]
|
65
|
+
attr_accessor :freeform_tags
|
66
|
+
|
50
67
|
# The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname
|
51
68
|
# portion of the primary private IP's fully qualified domain name (FQDN)
|
52
69
|
# (for example, `bminstance-1` in FQDN `bminstance-1.subnet123.vcn1.oraclevcn.com`).
|
@@ -123,7 +140,9 @@ module OCI
|
|
123
140
|
# rubocop:disable Style/SymbolLiteral
|
124
141
|
'availability_domain': :'availabilityDomain',
|
125
142
|
'compartment_id': :'compartmentId',
|
143
|
+
'defined_tags': :'definedTags',
|
126
144
|
'display_name': :'displayName',
|
145
|
+
'freeform_tags': :'freeformTags',
|
127
146
|
'hostname_label': :'hostnameLabel',
|
128
147
|
'id': :'id',
|
129
148
|
'is_primary': :'isPrimary',
|
@@ -144,7 +163,9 @@ module OCI
|
|
144
163
|
# rubocop:disable Style/SymbolLiteral
|
145
164
|
'availability_domain': :'String',
|
146
165
|
'compartment_id': :'String',
|
166
|
+
'defined_tags': :'Hash<String, Hash<String, Object>>',
|
147
167
|
'display_name': :'String',
|
168
|
+
'freeform_tags': :'Hash<String, String>',
|
148
169
|
'hostname_label': :'String',
|
149
170
|
'id': :'String',
|
150
171
|
'is_primary': :'BOOLEAN',
|
@@ -167,7 +188,9 @@ module OCI
|
|
167
188
|
# @param [Hash] attributes Model attributes in the form of hash
|
168
189
|
# @option attributes [String] :availability_domain The value to assign to the {#availability_domain} property
|
169
190
|
# @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
|
191
|
+
# @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
|
170
192
|
# @option attributes [String] :display_name The value to assign to the {#display_name} property
|
193
|
+
# @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
|
171
194
|
# @option attributes [String] :hostname_label The value to assign to the {#hostname_label} property
|
172
195
|
# @option attributes [String] :id The value to assign to the {#id} property
|
173
196
|
# @option attributes [BOOLEAN] :is_primary The value to assign to the {#is_primary} property
|
@@ -196,12 +219,24 @@ module OCI
|
|
196
219
|
|
197
220
|
self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
|
198
221
|
|
222
|
+
self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
|
223
|
+
|
224
|
+
raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
|
225
|
+
|
226
|
+
self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
|
227
|
+
|
199
228
|
self.display_name = attributes[:'displayName'] if attributes[:'displayName']
|
200
229
|
|
201
230
|
raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
|
202
231
|
|
203
232
|
self.display_name = attributes[:'display_name'] if attributes[:'display_name']
|
204
233
|
|
234
|
+
self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
|
235
|
+
|
236
|
+
raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
|
237
|
+
|
238
|
+
self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
|
239
|
+
|
205
240
|
self.hostname_label = attributes[:'hostnameLabel'] if attributes[:'hostnameLabel']
|
206
241
|
|
207
242
|
raise 'You cannot provide both :hostnameLabel and :hostname_label' if attributes.key?(:'hostnameLabel') && attributes.key?(:'hostname_label')
|
@@ -286,7 +321,9 @@ module OCI
|
|
286
321
|
self.class == other.class &&
|
287
322
|
availability_domain == other.availability_domain &&
|
288
323
|
compartment_id == other.compartment_id &&
|
324
|
+
defined_tags == other.defined_tags &&
|
289
325
|
display_name == other.display_name &&
|
326
|
+
freeform_tags == other.freeform_tags &&
|
290
327
|
hostname_label == other.hostname_label &&
|
291
328
|
id == other.id &&
|
292
329
|
is_primary == other.is_primary &&
|
@@ -312,7 +349,7 @@ module OCI
|
|
312
349
|
# Calculates hash code according to all attributes.
|
313
350
|
# @return [Fixnum] Hash code
|
314
351
|
def hash
|
315
|
-
[availability_domain, compartment_id, display_name, hostname_label, id, is_primary, lifecycle_state, mac_address, private_ip, public_ip, skip_source_dest_check, subnet_id, time_created].hash
|
352
|
+
[availability_domain, compartment_id, defined_tags, display_name, freeform_tags, hostname_label, id, is_primary, lifecycle_state, mac_address, private_ip, public_ip, skip_source_dest_check, subnet_id, time_created].hash
|
316
353
|
end
|
317
354
|
# rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
|
318
355
|
|
@@ -88,6 +88,10 @@ module OCI
|
|
88
88
|
# @return [DateTime]
|
89
89
|
attr_accessor :time_created
|
90
90
|
|
91
|
+
# The OCID of the source volume group.
|
92
|
+
# @return [String]
|
93
|
+
attr_accessor :volume_group_id
|
94
|
+
|
91
95
|
# Attribute mapping from ruby-style variable name to JSON key.
|
92
96
|
def self.attribute_map
|
93
97
|
{
|
@@ -103,7 +107,8 @@ module OCI
|
|
103
107
|
'size_in_gbs': :'sizeInGBs',
|
104
108
|
'size_in_mbs': :'sizeInMBs',
|
105
109
|
'source_details': :'sourceDetails',
|
106
|
-
'time_created': :'timeCreated'
|
110
|
+
'time_created': :'timeCreated',
|
111
|
+
'volume_group_id': :'volumeGroupId'
|
107
112
|
# rubocop:enable Style/SymbolLiteral
|
108
113
|
}
|
109
114
|
end
|
@@ -123,7 +128,8 @@ module OCI
|
|
123
128
|
'size_in_gbs': :'Integer',
|
124
129
|
'size_in_mbs': :'Integer',
|
125
130
|
'source_details': :'OCI::Core::Models::VolumeSourceDetails',
|
126
|
-
'time_created': :'DateTime'
|
131
|
+
'time_created': :'DateTime',
|
132
|
+
'volume_group_id': :'String'
|
127
133
|
# rubocop:enable Style/SymbolLiteral
|
128
134
|
}
|
129
135
|
end
|
@@ -146,6 +152,7 @@ module OCI
|
|
146
152
|
# @option attributes [Integer] :size_in_mbs The value to assign to the {#size_in_mbs} property
|
147
153
|
# @option attributes [OCI::Core::Models::VolumeSourceDetails] :source_details The value to assign to the {#source_details} property
|
148
154
|
# @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
|
155
|
+
# @option attributes [String] :volume_group_id The value to assign to the {#volume_group_id} property
|
149
156
|
def initialize(attributes = {})
|
150
157
|
return unless attributes.is_a?(Hash)
|
151
158
|
|
@@ -219,6 +226,12 @@ module OCI
|
|
219
226
|
raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
|
220
227
|
|
221
228
|
self.time_created = attributes[:'time_created'] if attributes[:'time_created']
|
229
|
+
|
230
|
+
self.volume_group_id = attributes[:'volumeGroupId'] if attributes[:'volumeGroupId']
|
231
|
+
|
232
|
+
raise 'You cannot provide both :volumeGroupId and :volume_group_id' if attributes.key?(:'volumeGroupId') && attributes.key?(:'volume_group_id')
|
233
|
+
|
234
|
+
self.volume_group_id = attributes[:'volume_group_id'] if attributes[:'volume_group_id']
|
222
235
|
end
|
223
236
|
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
|
224
237
|
# rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
|
@@ -257,7 +270,8 @@ module OCI
|
|
257
270
|
size_in_gbs == other.size_in_gbs &&
|
258
271
|
size_in_mbs == other.size_in_mbs &&
|
259
272
|
source_details == other.source_details &&
|
260
|
-
time_created == other.time_created
|
273
|
+
time_created == other.time_created &&
|
274
|
+
volume_group_id == other.volume_group_id
|
261
275
|
end
|
262
276
|
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
|
263
277
|
|
@@ -273,7 +287,7 @@ module OCI
|
|
273
287
|
# Calculates hash code according to all attributes.
|
274
288
|
# @return [Fixnum] Hash code
|
275
289
|
def hash
|
276
|
-
[availability_domain, compartment_id, defined_tags, display_name, freeform_tags, id, is_hydrated, lifecycle_state, size_in_gbs, size_in_mbs, source_details, time_created].hash
|
290
|
+
[availability_domain, compartment_id, defined_tags, display_name, freeform_tags, id, is_hydrated, lifecycle_state, size_in_gbs, size_in_mbs, source_details, time_created, volume_group_id].hash
|
277
291
|
end
|
278
292
|
# rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
|
279
293
|
|
@@ -0,0 +1,322 @@
|
|
1
|
+
# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
|
2
|
+
|
3
|
+
require 'date'
|
4
|
+
require 'logger'
|
5
|
+
|
6
|
+
# rubocop:disable Lint/UnneededCopDisableDirective
|
7
|
+
module OCI
|
8
|
+
# Specifies a volume group. A volume group is a collection of block volumes.
|
9
|
+
class Core::Models::VolumeGroup # rubocop:disable Metrics/LineLength
|
10
|
+
LIFECYCLE_STATE_ENUM = [
|
11
|
+
LIFECYCLE_STATE_PROVISIONING = 'PROVISIONING'.freeze,
|
12
|
+
LIFECYCLE_STATE_AVAILABLE = 'AVAILABLE'.freeze,
|
13
|
+
LIFECYCLE_STATE_TERMINATING = 'TERMINATING'.freeze,
|
14
|
+
LIFECYCLE_STATE_TERMINATED = 'TERMINATED'.freeze,
|
15
|
+
LIFECYCLE_STATE_FAULTY = 'FAULTY'.freeze,
|
16
|
+
LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
|
17
|
+
].freeze
|
18
|
+
|
19
|
+
# **[Required]** The Availability Domain of the volume group.
|
20
|
+
# @return [String]
|
21
|
+
attr_accessor :availability_domain
|
22
|
+
|
23
|
+
# **[Required]** The OCID of the compartment that contains the volume group.
|
24
|
+
# @return [String]
|
25
|
+
attr_accessor :compartment_id
|
26
|
+
|
27
|
+
# Defined tags for this resource. Each key is predefined and scoped to a namespace.
|
28
|
+
# For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
|
29
|
+
#
|
30
|
+
# Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
|
31
|
+
#
|
32
|
+
# @return [Hash<String, Hash<String, Object>>]
|
33
|
+
attr_accessor :defined_tags
|
34
|
+
|
35
|
+
# **[Required]** A user-friendly name for the volume group. Does not have to be unique, and it's changeable.
|
36
|
+
# @return [String]
|
37
|
+
attr_accessor :display_name
|
38
|
+
|
39
|
+
# Free-form tags for this resource. Each tag is a simple key-value pair with no
|
40
|
+
# predefined name, type, or namespace. For more information, see
|
41
|
+
# [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
|
42
|
+
#
|
43
|
+
# Example: `{\"Department\": \"Finance\"}`
|
44
|
+
#
|
45
|
+
# @return [Hash<String, String>]
|
46
|
+
attr_accessor :freeform_tags
|
47
|
+
|
48
|
+
# **[Required]** The Oracle Cloud ID (OCID) that uniquely identifies the volume group.
|
49
|
+
# @return [String]
|
50
|
+
attr_accessor :id
|
51
|
+
|
52
|
+
# The current state of a volume group.
|
53
|
+
# @return [String]
|
54
|
+
attr_reader :lifecycle_state
|
55
|
+
|
56
|
+
# **[Required]** The aggregate size of the volume group in MBs.
|
57
|
+
# @return [Integer]
|
58
|
+
attr_accessor :size_in_mbs
|
59
|
+
|
60
|
+
# The volume group source. The volume source is either another a list of
|
61
|
+
# volume ids in the same Availability Domain, another volume group or a volume group backup.
|
62
|
+
#
|
63
|
+
# @return [OCI::Core::Models::VolumeGroupSourceDetails]
|
64
|
+
attr_accessor :source_details
|
65
|
+
|
66
|
+
# **[Required]** The date and time the volume group was created. Format defined by RFC3339.
|
67
|
+
# @return [DateTime]
|
68
|
+
attr_accessor :time_created
|
69
|
+
|
70
|
+
# **[Required]** OCIDs for the volumes in this volume group.
|
71
|
+
# @return [Array<String>]
|
72
|
+
attr_accessor :volume_ids
|
73
|
+
|
74
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
75
|
+
def self.attribute_map
|
76
|
+
{
|
77
|
+
# rubocop:disable Style/SymbolLiteral
|
78
|
+
'availability_domain': :'availabilityDomain',
|
79
|
+
'compartment_id': :'compartmentId',
|
80
|
+
'defined_tags': :'definedTags',
|
81
|
+
'display_name': :'displayName',
|
82
|
+
'freeform_tags': :'freeformTags',
|
83
|
+
'id': :'id',
|
84
|
+
'lifecycle_state': :'lifecycleState',
|
85
|
+
'size_in_mbs': :'sizeInMBs',
|
86
|
+
'source_details': :'sourceDetails',
|
87
|
+
'time_created': :'timeCreated',
|
88
|
+
'volume_ids': :'volumeIds'
|
89
|
+
# rubocop:enable Style/SymbolLiteral
|
90
|
+
}
|
91
|
+
end
|
92
|
+
|
93
|
+
# Attribute type mapping.
|
94
|
+
def self.swagger_types
|
95
|
+
{
|
96
|
+
# rubocop:disable Style/SymbolLiteral
|
97
|
+
'availability_domain': :'String',
|
98
|
+
'compartment_id': :'String',
|
99
|
+
'defined_tags': :'Hash<String, Hash<String, Object>>',
|
100
|
+
'display_name': :'String',
|
101
|
+
'freeform_tags': :'Hash<String, String>',
|
102
|
+
'id': :'String',
|
103
|
+
'lifecycle_state': :'String',
|
104
|
+
'size_in_mbs': :'Integer',
|
105
|
+
'source_details': :'OCI::Core::Models::VolumeGroupSourceDetails',
|
106
|
+
'time_created': :'DateTime',
|
107
|
+
'volume_ids': :'Array<String>'
|
108
|
+
# rubocop:enable Style/SymbolLiteral
|
109
|
+
}
|
110
|
+
end
|
111
|
+
|
112
|
+
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
|
113
|
+
# rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
|
114
|
+
|
115
|
+
|
116
|
+
# Initializes the object
|
117
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
118
|
+
# @option attributes [String] :availability_domain The value to assign to the {#availability_domain} property
|
119
|
+
# @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
|
120
|
+
# @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
|
121
|
+
# @option attributes [String] :display_name The value to assign to the {#display_name} property
|
122
|
+
# @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
|
123
|
+
# @option attributes [String] :id The value to assign to the {#id} property
|
124
|
+
# @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
|
125
|
+
# @option attributes [Integer] :size_in_mbs The value to assign to the {#size_in_mbs} property
|
126
|
+
# @option attributes [OCI::Core::Models::VolumeGroupSourceDetails] :source_details The value to assign to the {#source_details} property
|
127
|
+
# @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
|
128
|
+
# @option attributes [Array<String>] :volume_ids The value to assign to the {#volume_ids} property
|
129
|
+
def initialize(attributes = {})
|
130
|
+
return unless attributes.is_a?(Hash)
|
131
|
+
|
132
|
+
# convert string to symbol for hash key
|
133
|
+
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
134
|
+
|
135
|
+
self.availability_domain = attributes[:'availabilityDomain'] if attributes[:'availabilityDomain']
|
136
|
+
|
137
|
+
raise 'You cannot provide both :availabilityDomain and :availability_domain' if attributes.key?(:'availabilityDomain') && attributes.key?(:'availability_domain')
|
138
|
+
|
139
|
+
self.availability_domain = attributes[:'availability_domain'] if attributes[:'availability_domain']
|
140
|
+
|
141
|
+
self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
|
142
|
+
|
143
|
+
raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
|
144
|
+
|
145
|
+
self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
|
146
|
+
|
147
|
+
self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
|
148
|
+
|
149
|
+
raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
|
150
|
+
|
151
|
+
self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
|
152
|
+
|
153
|
+
self.display_name = attributes[:'displayName'] if attributes[:'displayName']
|
154
|
+
|
155
|
+
raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
|
156
|
+
|
157
|
+
self.display_name = attributes[:'display_name'] if attributes[:'display_name']
|
158
|
+
|
159
|
+
self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
|
160
|
+
|
161
|
+
raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
|
162
|
+
|
163
|
+
self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
|
164
|
+
|
165
|
+
self.id = attributes[:'id'] if attributes[:'id']
|
166
|
+
|
167
|
+
self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
|
168
|
+
|
169
|
+
raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
|
170
|
+
|
171
|
+
self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
|
172
|
+
|
173
|
+
self.size_in_mbs = attributes[:'sizeInMBs'] if attributes[:'sizeInMBs']
|
174
|
+
|
175
|
+
raise 'You cannot provide both :sizeInMBs and :size_in_mbs' if attributes.key?(:'sizeInMBs') && attributes.key?(:'size_in_mbs')
|
176
|
+
|
177
|
+
self.size_in_mbs = attributes[:'size_in_mbs'] if attributes[:'size_in_mbs']
|
178
|
+
|
179
|
+
self.source_details = attributes[:'sourceDetails'] if attributes[:'sourceDetails']
|
180
|
+
|
181
|
+
raise 'You cannot provide both :sourceDetails and :source_details' if attributes.key?(:'sourceDetails') && attributes.key?(:'source_details')
|
182
|
+
|
183
|
+
self.source_details = attributes[:'source_details'] if attributes[:'source_details']
|
184
|
+
|
185
|
+
self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
|
186
|
+
|
187
|
+
raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
|
188
|
+
|
189
|
+
self.time_created = attributes[:'time_created'] if attributes[:'time_created']
|
190
|
+
|
191
|
+
self.volume_ids = attributes[:'volumeIds'] if attributes[:'volumeIds']
|
192
|
+
|
193
|
+
raise 'You cannot provide both :volumeIds and :volume_ids' if attributes.key?(:'volumeIds') && attributes.key?(:'volume_ids')
|
194
|
+
|
195
|
+
self.volume_ids = attributes[:'volume_ids'] if attributes[:'volume_ids']
|
196
|
+
end
|
197
|
+
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
|
198
|
+
# rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
|
199
|
+
|
200
|
+
# Custom attribute writer method checking allowed values (enum).
|
201
|
+
# @param [Object] lifecycle_state Object to be assigned
|
202
|
+
def lifecycle_state=(lifecycle_state)
|
203
|
+
# rubocop:disable Style/ConditionalAssignment
|
204
|
+
if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
|
205
|
+
# rubocop: disable Metrics/LineLength
|
206
|
+
OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
|
207
|
+
# rubocop: enable Metrics/LineLength
|
208
|
+
@lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
|
209
|
+
else
|
210
|
+
@lifecycle_state = lifecycle_state
|
211
|
+
end
|
212
|
+
# rubocop:enable Style/ConditionalAssignment
|
213
|
+
end
|
214
|
+
|
215
|
+
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
|
216
|
+
|
217
|
+
|
218
|
+
# Checks equality by comparing each attribute.
|
219
|
+
# @param [Object] other the other object to be compared
|
220
|
+
def ==(other)
|
221
|
+
return true if equal?(other)
|
222
|
+
self.class == other.class &&
|
223
|
+
availability_domain == other.availability_domain &&
|
224
|
+
compartment_id == other.compartment_id &&
|
225
|
+
defined_tags == other.defined_tags &&
|
226
|
+
display_name == other.display_name &&
|
227
|
+
freeform_tags == other.freeform_tags &&
|
228
|
+
id == other.id &&
|
229
|
+
lifecycle_state == other.lifecycle_state &&
|
230
|
+
size_in_mbs == other.size_in_mbs &&
|
231
|
+
source_details == other.source_details &&
|
232
|
+
time_created == other.time_created &&
|
233
|
+
volume_ids == other.volume_ids
|
234
|
+
end
|
235
|
+
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
|
236
|
+
|
237
|
+
# @see the `==` method
|
238
|
+
# @param [Object] other the other object to be compared
|
239
|
+
def eql?(other)
|
240
|
+
self == other
|
241
|
+
end
|
242
|
+
|
243
|
+
# rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
|
244
|
+
|
245
|
+
|
246
|
+
# Calculates hash code according to all attributes.
|
247
|
+
# @return [Fixnum] Hash code
|
248
|
+
def hash
|
249
|
+
[availability_domain, compartment_id, defined_tags, display_name, freeform_tags, id, lifecycle_state, size_in_mbs, source_details, time_created, volume_ids].hash
|
250
|
+
end
|
251
|
+
# rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
|
252
|
+
|
253
|
+
# rubocop:disable Metrics/AbcSize, Layout/EmptyLines
|
254
|
+
|
255
|
+
|
256
|
+
# Builds the object from hash
|
257
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
258
|
+
# @return [Object] Returns the model itself
|
259
|
+
def build_from_hash(attributes)
|
260
|
+
return nil unless attributes.is_a?(Hash)
|
261
|
+
self.class.swagger_types.each_pair do |key, type|
|
262
|
+
if type =~ /^Array<(.*)>/i
|
263
|
+
# check to ensure the input is an array given that the the attribute
|
264
|
+
# is documented as an array but the input is not
|
265
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
266
|
+
public_method("#{key}=").call(
|
267
|
+
attributes[self.class.attribute_map[key]]
|
268
|
+
.map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
|
269
|
+
)
|
270
|
+
end
|
271
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
272
|
+
public_method("#{key}=").call(
|
273
|
+
OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
|
274
|
+
)
|
275
|
+
end
|
276
|
+
# or else data not found in attributes(hash), not an issue as the data can be optional
|
277
|
+
end
|
278
|
+
|
279
|
+
self
|
280
|
+
end
|
281
|
+
# rubocop:enable Metrics/AbcSize, Layout/EmptyLines
|
282
|
+
|
283
|
+
# Returns the string representation of the object
|
284
|
+
# @return [String] String presentation of the object
|
285
|
+
def to_s
|
286
|
+
to_hash.to_s
|
287
|
+
end
|
288
|
+
|
289
|
+
# Returns the object in the form of hash
|
290
|
+
# @return [Hash] Returns the object in the form of hash
|
291
|
+
def to_hash
|
292
|
+
hash = {}
|
293
|
+
self.class.attribute_map.each_pair do |attr, param|
|
294
|
+
value = public_method(attr).call
|
295
|
+
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
296
|
+
hash[param] = _to_hash(value)
|
297
|
+
end
|
298
|
+
hash
|
299
|
+
end
|
300
|
+
|
301
|
+
private
|
302
|
+
|
303
|
+
# Outputs non-array value in the form of hash
|
304
|
+
# For object, use to_hash. Otherwise, just return the value
|
305
|
+
# @param [Object] value Any valid value
|
306
|
+
# @return [Hash] Returns the value in the form of hash
|
307
|
+
def _to_hash(value)
|
308
|
+
if value.is_a?(Array)
|
309
|
+
value.compact.map { |v| _to_hash(v) }
|
310
|
+
elsif value.is_a?(Hash)
|
311
|
+
{}.tap do |hash|
|
312
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
313
|
+
end
|
314
|
+
elsif value.respond_to? :to_hash
|
315
|
+
value.to_hash
|
316
|
+
else
|
317
|
+
value
|
318
|
+
end
|
319
|
+
end
|
320
|
+
end
|
321
|
+
end
|
322
|
+
# rubocop:enable Lint/UnneededCopDisableDirective
|