ibm_cloud_resource_controller 1.0.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +13 -0
  3. data/.gitignore +13 -0
  4. data/.openapi-generator-ignore +23 -0
  5. data/.openapi-generator/VERSION +1 -0
  6. data/.rspec +3 -0
  7. data/.travis.yml +49 -0
  8. data/CHANGELOG.md +2 -0
  9. data/CODE_OF_CONDUCT.md +76 -0
  10. data/CONTRIBUTING.md +13 -0
  11. data/Gemfile +4 -6
  12. data/LICENSE +201 -0
  13. data/README.md +56 -120
  14. data/Rakefile +3 -7
  15. data/bin/console +14 -0
  16. data/bin/setup +8 -0
  17. data/ibm_cloud_resource_controller.gemspec +34 -37
  18. data/lib/ibm_cloud_resource_controller.rb +9 -64
  19. data/lib/ibm_cloud_resource_controller/authenticators.rb +15 -0
  20. data/lib/ibm_cloud_resource_controller/common.rb +22 -0
  21. data/lib/ibm_cloud_resource_controller/resource_controller_v2.rb +982 -0
  22. data/lib/ibm_cloud_resource_controller/resource_manager_v2.rb +303 -0
  23. data/lib/ibm_cloud_resource_controller/version.rb +1 -13
  24. metadata +59 -145
  25. data/docs/Credentials.md +0 -25
  26. data/docs/ErrorReport.md +0 -23
  27. data/docs/PlanHistoryItem.md +0 -19
  28. data/docs/Reclamation.md +0 -45
  29. data/docs/ReclamationActionsPost.md +0 -19
  30. data/docs/ReclamationsList.md +0 -17
  31. data/docs/ResourceAlias.md +0 -57
  32. data/docs/ResourceAliasPatch.md +0 -17
  33. data/docs/ResourceAliasPost.md +0 -21
  34. data/docs/ResourceAliasesApi.md +0 -302
  35. data/docs/ResourceAliasesList.md +0 -21
  36. data/docs/ResourceBinding.md +0 -57
  37. data/docs/ResourceBindingPatch.md +0 -17
  38. data/docs/ResourceBindingPost.md +0 -25
  39. data/docs/ResourceBindingPostParameters.md +0 -17
  40. data/docs/ResourceBindingsApi.md +0 -300
  41. data/docs/ResourceBindingsList.md +0 -21
  42. data/docs/ResourceInstance.md +0 -81
  43. data/docs/ResourceInstancePatch.md +0 -23
  44. data/docs/ResourceInstancePost.md +0 -29
  45. data/docs/ResourceInstancesApi.md +0 -418
  46. data/docs/ResourceInstancesList.md +0 -21
  47. data/docs/ResourceKey.md +0 -53
  48. data/docs/ResourceKeyPatch.md +0 -17
  49. data/docs/ResourceKeyPost.md +0 -23
  50. data/docs/ResourceKeysApi.md +0 -298
  51. data/docs/ResourceKeysList.md +0 -21
  52. data/docs/ResourceReclamationsApi.md +0 -128
  53. data/git_push.sh +0 -58
  54. data/lib/ibm_cloud_resource_controller/api/resource_aliases_api.rb +0 -363
  55. data/lib/ibm_cloud_resource_controller/api/resource_bindings_api.rb +0 -360
  56. data/lib/ibm_cloud_resource_controller/api/resource_instances_api.rb +0 -493
  57. data/lib/ibm_cloud_resource_controller/api/resource_keys_api.rb +0 -357
  58. data/lib/ibm_cloud_resource_controller/api/resource_reclamations_api.rb +0 -156
  59. data/lib/ibm_cloud_resource_controller/api_client.rb +0 -388
  60. data/lib/ibm_cloud_resource_controller/api_error.rb +0 -57
  61. data/lib/ibm_cloud_resource_controller/configuration.rb +0 -248
  62. data/lib/ibm_cloud_resource_controller/models/credentials.rb +0 -250
  63. data/lib/ibm_cloud_resource_controller/models/error_report.rb +0 -240
  64. data/lib/ibm_cloud_resource_controller/models/plan_history_item.rb +0 -230
  65. data/lib/ibm_cloud_resource_controller/models/reclamation.rb +0 -352
  66. data/lib/ibm_cloud_resource_controller/models/reclamation_actions_post.rb +0 -220
  67. data/lib/ibm_cloud_resource_controller/models/reclamations_list.rb +0 -212
  68. data/lib/ibm_cloud_resource_controller/models/resource_alias.rb +0 -410
  69. data/lib/ibm_cloud_resource_controller/models/resource_alias_patch.rb +0 -236
  70. data/lib/ibm_cloud_resource_controller/models/resource_alias_post.rb +0 -266
  71. data/lib/ibm_cloud_resource_controller/models/resource_aliases_list.rb +0 -247
  72. data/lib/ibm_cloud_resource_controller/models/resource_binding.rb +0 -410
  73. data/lib/ibm_cloud_resource_controller/models/resource_binding_patch.rb +0 -236
  74. data/lib/ibm_cloud_resource_controller/models/resource_binding_post.rb +0 -278
  75. data/lib/ibm_cloud_resource_controller/models/resource_binding_post_parameters.rb +0 -210
  76. data/lib/ibm_cloud_resource_controller/models/resource_bindings_list.rb +0 -247
  77. data/lib/ibm_cloud_resource_controller/models/resource_instance.rb +0 -536
  78. data/lib/ibm_cloud_resource_controller/models/resource_instance_patch.rb +0 -259
  79. data/lib/ibm_cloud_resource_controller/models/resource_instance_post.rb +0 -317
  80. data/lib/ibm_cloud_resource_controller/models/resource_instances_list.rb +0 -247
  81. data/lib/ibm_cloud_resource_controller/models/resource_key.rb +0 -390
  82. data/lib/ibm_cloud_resource_controller/models/resource_key_patch.rb +0 -236
  83. data/lib/ibm_cloud_resource_controller/models/resource_key_post.rb +0 -251
  84. data/lib/ibm_cloud_resource_controller/models/resource_keys_list.rb +0 -247
  85. data/spec/api/resource_aliases_api_spec.rb +0 -104
  86. data/spec/api/resource_bindings_api_spec.rb +0 -103
  87. data/spec/api/resource_instances_api_spec.rb +0 -130
  88. data/spec/api/resource_keys_api_spec.rb +0 -102
  89. data/spec/api/resource_reclamations_api_spec.rb +0 -62
  90. data/spec/api_client_spec.rb +0 -226
  91. data/spec/configuration_spec.rb +0 -42
  92. data/spec/models/credentials_spec.rb +0 -65
  93. data/spec/models/error_report_spec.rb +0 -59
  94. data/spec/models/plan_history_item_spec.rb +0 -47
  95. data/spec/models/reclamation_actions_post_spec.rb +0 -47
  96. data/spec/models/reclamation_spec.rb +0 -125
  97. data/spec/models/reclamations_list_spec.rb +0 -41
  98. data/spec/models/resource_alias_patch_spec.rb +0 -41
  99. data/spec/models/resource_alias_post_spec.rb +0 -53
  100. data/spec/models/resource_alias_spec.rb +0 -143
  101. data/spec/models/resource_aliases_list_spec.rb +0 -53
  102. data/spec/models/resource_binding_patch_spec.rb +0 -41
  103. data/spec/models/resource_binding_post_parameters_spec.rb +0 -41
  104. data/spec/models/resource_binding_post_spec.rb +0 -65
  105. data/spec/models/resource_binding_spec.rb +0 -137
  106. data/spec/models/resource_bindings_list_spec.rb +0 -53
  107. data/spec/models/resource_instance_patch_spec.rb +0 -59
  108. data/spec/models/resource_instance_post_spec.rb +0 -77
  109. data/spec/models/resource_instance_spec.rb +0 -191
  110. data/spec/models/resource_instances_list_spec.rb +0 -53
  111. data/spec/models/resource_key_patch_spec.rb +0 -41
  112. data/spec/models/resource_key_post_spec.rb +0 -59
  113. data/spec/models/resource_key_spec.rb +0 -125
  114. data/spec/models/resource_keys_list_spec.rb +0 -53
  115. data/spec/spec_helper.rb +0 -111
@@ -1,247 +0,0 @@
1
- =begin
2
- #IBM Cloud Resource Controller API
3
-
4
- #Manage lifecycle of your Cloud resources using Resource Controller APIs. Resources are provisioned globally in an account scope. Supports asynchronous provisioning of resources. Enables consumption of a global resource through a Cloud Foundry space in any region.
5
-
6
- The version of the OpenAPI document: 2.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0-beta2
10
-
11
- =end
12
-
13
- require 'date'
14
-
15
- module IbmCloudResourceController
16
- # A list of resource instances.
17
- class ResourceInstancesList
18
- # The URL for requesting the next page of results.
19
- attr_accessor :next_url
20
-
21
- # A list of resource instances.
22
- attr_accessor :resources
23
-
24
- # The number of resource instances in `resources`.
25
- attr_accessor :rows_count
26
-
27
- # Attribute mapping from ruby-style variable name to JSON key.
28
- def self.attribute_map
29
- {
30
- :'next_url' => :'next_url',
31
- :'resources' => :'resources',
32
- :'rows_count' => :'rows_count'
33
- }
34
- end
35
-
36
- # Attribute type mapping.
37
- def self.openapi_types
38
- {
39
- :'next_url' => :'String',
40
- :'resources' => :'Array<ResourceInstance>',
41
- :'rows_count' => :'Integer'
42
- }
43
- end
44
-
45
- # List of attributes with nullable: true
46
- def self.openapi_nullable
47
- Set.new([
48
- ])
49
- end
50
-
51
- # Initializes the object
52
- # @param [Hash] attributes Model attributes in the form of hash
53
- def initialize(attributes = {})
54
- if (!attributes.is_a?(Hash))
55
- fail ArgumentError, "The input argument (attributes) must be a hash in `IbmCloudResourceController::ResourceInstancesList` initialize method"
56
- end
57
-
58
- # check to see if the attribute exists and convert string to symbol for hash key
59
- attributes = attributes.each_with_object({}) { |(k, v), h|
60
- if (!self.class.attribute_map.key?(k.to_sym))
61
- fail ArgumentError, "`#{k}` is not a valid attribute in `IbmCloudResourceController::ResourceInstancesList`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
- end
63
- h[k.to_sym] = v
64
- }
65
-
66
- if attributes.key?(:'next_url')
67
- self.next_url = attributes[:'next_url']
68
- end
69
-
70
- if attributes.key?(:'resources')
71
- if (value = attributes[:'resources']).is_a?(Array)
72
- self.resources = value
73
- end
74
- end
75
-
76
- if attributes.key?(:'rows_count')
77
- self.rows_count = attributes[:'rows_count']
78
- end
79
- end
80
-
81
- # Show invalid properties with the reasons. Usually used together with valid?
82
- # @return Array for valid properties with the reasons
83
- def list_invalid_properties
84
- invalid_properties = Array.new
85
- if @next_url.nil?
86
- invalid_properties.push('invalid value for "next_url", next_url cannot be nil.')
87
- end
88
-
89
- if @resources.nil?
90
- invalid_properties.push('invalid value for "resources", resources cannot be nil.')
91
- end
92
-
93
- if @rows_count.nil?
94
- invalid_properties.push('invalid value for "rows_count", rows_count cannot be nil.')
95
- end
96
-
97
- invalid_properties
98
- end
99
-
100
- # Check to see if the all the properties in the model are valid
101
- # @return true if the model is valid
102
- def valid?
103
- return false if @next_url.nil?
104
- return false if @resources.nil?
105
- return false if @rows_count.nil?
106
- true
107
- end
108
-
109
- # Checks equality by comparing each attribute.
110
- # @param [Object] Object to be compared
111
- def ==(o)
112
- return true if self.equal?(o)
113
- self.class == o.class &&
114
- next_url == o.next_url &&
115
- resources == o.resources &&
116
- rows_count == o.rows_count
117
- end
118
-
119
- # @see the `==` method
120
- # @param [Object] Object to be compared
121
- def eql?(o)
122
- self == o
123
- end
124
-
125
- # Calculates hash code according to all attributes.
126
- # @return [Integer] Hash code
127
- def hash
128
- [next_url, resources, rows_count].hash
129
- end
130
-
131
- # Builds the object from hash
132
- # @param [Hash] attributes Model attributes in the form of hash
133
- # @return [Object] Returns the model itself
134
- def self.build_from_hash(attributes)
135
- new.build_from_hash(attributes)
136
- end
137
-
138
- # Builds the object from hash
139
- # @param [Hash] attributes Model attributes in the form of hash
140
- # @return [Object] Returns the model itself
141
- def build_from_hash(attributes)
142
- return nil unless attributes.is_a?(Hash)
143
- self.class.openapi_types.each_pair do |key, type|
144
- if type =~ /\AArray<(.*)>/i
145
- # check to ensure the input is an array given that the attribute
146
- # is documented as an array but the input is not
147
- if attributes[self.class.attribute_map[key]].is_a?(Array)
148
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
149
- end
150
- elsif !attributes[self.class.attribute_map[key]].nil?
151
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
152
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
153
- self.send("#{key}=", nil)
154
- end
155
- end
156
-
157
- self
158
- end
159
-
160
- # Deserializes the data based on type
161
- # @param string type Data type
162
- # @param string value Value to be deserialized
163
- # @return [Object] Deserialized data
164
- def _deserialize(type, value)
165
- case type.to_sym
166
- when :DateTime
167
- DateTime.parse(value)
168
- when :Date
169
- Date.parse(value)
170
- when :String
171
- value.to_s
172
- when :Integer
173
- value.to_i
174
- when :Float
175
- value.to_f
176
- when :Boolean
177
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
178
- true
179
- else
180
- false
181
- end
182
- when :Object
183
- # generic object (usually a Hash), return directly
184
- value
185
- when /\AArray<(?<inner_type>.+)>\z/
186
- inner_type = Regexp.last_match[:inner_type]
187
- value.map { |v| _deserialize(inner_type, v) }
188
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
189
- k_type = Regexp.last_match[:k_type]
190
- v_type = Regexp.last_match[:v_type]
191
- {}.tap do |hash|
192
- value.each do |k, v|
193
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
194
- end
195
- end
196
- else # model
197
- IbmCloudResourceController.const_get(type).build_from_hash(value)
198
- end
199
- end
200
-
201
- # Returns the string representation of the object
202
- # @return [String] String presentation of the object
203
- def to_s
204
- to_hash.to_s
205
- end
206
-
207
- # to_body is an alias to to_hash (backward compatibility)
208
- # @return [Hash] Returns the object in the form of hash
209
- def to_body
210
- to_hash
211
- end
212
-
213
- # Returns the object in the form of hash
214
- # @return [Hash] Returns the object in the form of hash
215
- def to_hash
216
- hash = {}
217
- self.class.attribute_map.each_pair do |attr, param|
218
- value = self.send(attr)
219
- if value.nil?
220
- is_nullable = self.class.openapi_nullable.include?(attr)
221
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
222
- end
223
-
224
- hash[param] = _to_hash(value)
225
- end
226
- hash
227
- end
228
-
229
- # Outputs non-array value in the form of hash
230
- # For object, use to_hash. Otherwise, just return the value
231
- # @param [Object] value Any valid value
232
- # @return [Hash] Returns the value in the form of hash
233
- def _to_hash(value)
234
- if value.is_a?(Array)
235
- value.compact.map { |v| _to_hash(v) }
236
- elsif value.is_a?(Hash)
237
- {}.tap do |hash|
238
- value.each { |k, v| hash[k] = _to_hash(v) }
239
- end
240
- elsif value.respond_to? :to_hash
241
- value.to_hash
242
- else
243
- value
244
- end
245
- end
246
- end
247
- end
@@ -1,390 +0,0 @@
1
- =begin
2
- #IBM Cloud Resource Controller API
3
-
4
- #Manage lifecycle of your Cloud resources using Resource Controller APIs. Resources are provisioned globally in an account scope. Supports asynchronous provisioning of resources. Enables consumption of a global resource through a Cloud Foundry space in any region.
5
-
6
- The version of the OpenAPI document: 2.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0-beta2
10
-
11
- =end
12
-
13
- require 'date'
14
-
15
- module IbmCloudResourceController
16
- # A resource key.
17
- class ResourceKey
18
- # The ID associated with the key.
19
- attr_accessor :id
20
-
21
- # When you create a new key, a globally unique identifier (GUID) is assigned. This GUID is a unique internal identifier managed by the resource controller that corresponds to the key.
22
- attr_accessor :guid
23
-
24
- # The full Cloud Resource Name (CRN) associated with the key. For more information about this format, see [Cloud Resource Names](https://cloud.ibm.com/docs/overview?topic=overview-crn).
25
- attr_accessor :crn
26
-
27
- # When you created a new key, a relative URL path is created identifying the location of the key.
28
- attr_accessor :url
29
-
30
- # The human-readable name of the key.
31
- attr_accessor :name
32
-
33
- # An alpha-numeric value identifying the account ID.
34
- attr_accessor :account_id
35
-
36
- # The short ID of the resource group.
37
- attr_accessor :resource_group_id
38
-
39
- # The CRN of resource instance or alias associated to the key.
40
- attr_accessor :source_crn
41
-
42
- # The role CRN.
43
- attr_accessor :role
44
-
45
- # The state of the key.
46
- attr_accessor :state
47
-
48
- # The credentials for the key. Additional key-value pairs are passed through from the resource brokers. Refer to service’s documentation for additional details.
49
- attr_accessor :credentials
50
-
51
- # Specifies whether the key’s credentials support IAM.
52
- attr_accessor :iam_compatible
53
-
54
- # The relative path to the resource.
55
- attr_accessor :resource_instance_url
56
-
57
- # The date when the key was created.
58
- attr_accessor :created_at
59
-
60
- # The date when the key was last updated.
61
- attr_accessor :updated_at
62
-
63
- # The date when the key was deleted.
64
- attr_accessor :deleted_at
65
-
66
- # The subject who created the key.
67
- attr_accessor :created_by
68
-
69
- # The subject who updated the key.
70
- attr_accessor :updated_by
71
-
72
- # The subject who deleted the key.
73
- attr_accessor :deleted_by
74
-
75
- # Attribute mapping from ruby-style variable name to JSON key.
76
- def self.attribute_map
77
- {
78
- :'id' => :'id',
79
- :'guid' => :'guid',
80
- :'crn' => :'crn',
81
- :'url' => :'url',
82
- :'name' => :'name',
83
- :'account_id' => :'account_id',
84
- :'resource_group_id' => :'resource_group_id',
85
- :'source_crn' => :'source_crn',
86
- :'role' => :'role',
87
- :'state' => :'state',
88
- :'credentials' => :'credentials',
89
- :'iam_compatible' => :'iam_compatible',
90
- :'resource_instance_url' => :'resource_instance_url',
91
- :'created_at' => :'created_at',
92
- :'updated_at' => :'updated_at',
93
- :'deleted_at' => :'deleted_at',
94
- :'created_by' => :'created_by',
95
- :'updated_by' => :'updated_by',
96
- :'deleted_by' => :'deleted_by'
97
- }
98
- end
99
-
100
- # Attribute type mapping.
101
- def self.openapi_types
102
- {
103
- :'id' => :'String',
104
- :'guid' => :'String',
105
- :'crn' => :'String',
106
- :'url' => :'String',
107
- :'name' => :'String',
108
- :'account_id' => :'String',
109
- :'resource_group_id' => :'String',
110
- :'source_crn' => :'String',
111
- :'role' => :'String',
112
- :'state' => :'String',
113
- :'credentials' => :'Credentials',
114
- :'iam_compatible' => :'Boolean',
115
- :'resource_instance_url' => :'String',
116
- :'created_at' => :'DateTime',
117
- :'updated_at' => :'DateTime',
118
- :'deleted_at' => :'DateTime',
119
- :'created_by' => :'String',
120
- :'updated_by' => :'String',
121
- :'deleted_by' => :'String'
122
- }
123
- end
124
-
125
- # List of attributes with nullable: true
126
- def self.openapi_nullable
127
- Set.new([
128
- ])
129
- end
130
-
131
- # Initializes the object
132
- # @param [Hash] attributes Model attributes in the form of hash
133
- def initialize(attributes = {})
134
- if (!attributes.is_a?(Hash))
135
- fail ArgumentError, "The input argument (attributes) must be a hash in `IbmCloudResourceController::ResourceKey` initialize method"
136
- end
137
-
138
- # check to see if the attribute exists and convert string to symbol for hash key
139
- attributes = attributes.each_with_object({}) { |(k, v), h|
140
- if (!self.class.attribute_map.key?(k.to_sym))
141
- fail ArgumentError, "`#{k}` is not a valid attribute in `IbmCloudResourceController::ResourceKey`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
142
- end
143
- h[k.to_sym] = v
144
- }
145
-
146
- if attributes.key?(:'id')
147
- self.id = attributes[:'id']
148
- end
149
-
150
- if attributes.key?(:'guid')
151
- self.guid = attributes[:'guid']
152
- end
153
-
154
- if attributes.key?(:'crn')
155
- self.crn = attributes[:'crn']
156
- end
157
-
158
- if attributes.key?(:'url')
159
- self.url = attributes[:'url']
160
- end
161
-
162
- if attributes.key?(:'name')
163
- self.name = attributes[:'name']
164
- end
165
-
166
- if attributes.key?(:'account_id')
167
- self.account_id = attributes[:'account_id']
168
- end
169
-
170
- if attributes.key?(:'resource_group_id')
171
- self.resource_group_id = attributes[:'resource_group_id']
172
- end
173
-
174
- if attributes.key?(:'source_crn')
175
- self.source_crn = attributes[:'source_crn']
176
- end
177
-
178
- if attributes.key?(:'role')
179
- self.role = attributes[:'role']
180
- end
181
-
182
- if attributes.key?(:'state')
183
- self.state = attributes[:'state']
184
- end
185
-
186
- if attributes.key?(:'credentials')
187
- self.credentials = attributes[:'credentials']
188
- end
189
-
190
- if attributes.key?(:'iam_compatible')
191
- self.iam_compatible = attributes[:'iam_compatible']
192
- end
193
-
194
- if attributes.key?(:'resource_instance_url')
195
- self.resource_instance_url = attributes[:'resource_instance_url']
196
- end
197
-
198
- if attributes.key?(:'created_at')
199
- self.created_at = attributes[:'created_at']
200
- end
201
-
202
- if attributes.key?(:'updated_at')
203
- self.updated_at = attributes[:'updated_at']
204
- end
205
-
206
- if attributes.key?(:'deleted_at')
207
- self.deleted_at = attributes[:'deleted_at']
208
- end
209
-
210
- if attributes.key?(:'created_by')
211
- self.created_by = attributes[:'created_by']
212
- end
213
-
214
- if attributes.key?(:'updated_by')
215
- self.updated_by = attributes[:'updated_by']
216
- end
217
-
218
- if attributes.key?(:'deleted_by')
219
- self.deleted_by = attributes[:'deleted_by']
220
- end
221
- end
222
-
223
- # Show invalid properties with the reasons. Usually used together with valid?
224
- # @return Array for valid properties with the reasons
225
- def list_invalid_properties
226
- invalid_properties = Array.new
227
- invalid_properties
228
- end
229
-
230
- # Check to see if the all the properties in the model are valid
231
- # @return true if the model is valid
232
- def valid?
233
- true
234
- end
235
-
236
- # Checks equality by comparing each attribute.
237
- # @param [Object] Object to be compared
238
- def ==(o)
239
- return true if self.equal?(o)
240
- self.class == o.class &&
241
- id == o.id &&
242
- guid == o.guid &&
243
- crn == o.crn &&
244
- url == o.url &&
245
- name == o.name &&
246
- account_id == o.account_id &&
247
- resource_group_id == o.resource_group_id &&
248
- source_crn == o.source_crn &&
249
- role == o.role &&
250
- state == o.state &&
251
- credentials == o.credentials &&
252
- iam_compatible == o.iam_compatible &&
253
- resource_instance_url == o.resource_instance_url &&
254
- created_at == o.created_at &&
255
- updated_at == o.updated_at &&
256
- deleted_at == o.deleted_at &&
257
- created_by == o.created_by &&
258
- updated_by == o.updated_by &&
259
- deleted_by == o.deleted_by
260
- end
261
-
262
- # @see the `==` method
263
- # @param [Object] Object to be compared
264
- def eql?(o)
265
- self == o
266
- end
267
-
268
- # Calculates hash code according to all attributes.
269
- # @return [Integer] Hash code
270
- def hash
271
- [id, guid, crn, url, name, account_id, resource_group_id, source_crn, role, state, credentials, iam_compatible, resource_instance_url, created_at, updated_at, deleted_at, created_by, updated_by, deleted_by].hash
272
- end
273
-
274
- # Builds the object from hash
275
- # @param [Hash] attributes Model attributes in the form of hash
276
- # @return [Object] Returns the model itself
277
- def self.build_from_hash(attributes)
278
- new.build_from_hash(attributes)
279
- end
280
-
281
- # Builds the object from hash
282
- # @param [Hash] attributes Model attributes in the form of hash
283
- # @return [Object] Returns the model itself
284
- def build_from_hash(attributes)
285
- return nil unless attributes.is_a?(Hash)
286
- self.class.openapi_types.each_pair do |key, type|
287
- if type =~ /\AArray<(.*)>/i
288
- # check to ensure the input is an array given that the attribute
289
- # is documented as an array but the input is not
290
- if attributes[self.class.attribute_map[key]].is_a?(Array)
291
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
292
- end
293
- elsif !attributes[self.class.attribute_map[key]].nil?
294
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
295
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
296
- self.send("#{key}=", nil)
297
- end
298
- end
299
-
300
- self
301
- end
302
-
303
- # Deserializes the data based on type
304
- # @param string type Data type
305
- # @param string value Value to be deserialized
306
- # @return [Object] Deserialized data
307
- def _deserialize(type, value)
308
- case type.to_sym
309
- when :DateTime
310
- DateTime.parse(value)
311
- when :Date
312
- Date.parse(value)
313
- when :String
314
- value.to_s
315
- when :Integer
316
- value.to_i
317
- when :Float
318
- value.to_f
319
- when :Boolean
320
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
321
- true
322
- else
323
- false
324
- end
325
- when :Object
326
- # generic object (usually a Hash), return directly
327
- value
328
- when /\AArray<(?<inner_type>.+)>\z/
329
- inner_type = Regexp.last_match[:inner_type]
330
- value.map { |v| _deserialize(inner_type, v) }
331
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
332
- k_type = Regexp.last_match[:k_type]
333
- v_type = Regexp.last_match[:v_type]
334
- {}.tap do |hash|
335
- value.each do |k, v|
336
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
337
- end
338
- end
339
- else # model
340
- IbmCloudResourceController.const_get(type).build_from_hash(value)
341
- end
342
- end
343
-
344
- # Returns the string representation of the object
345
- # @return [String] String presentation of the object
346
- def to_s
347
- to_hash.to_s
348
- end
349
-
350
- # to_body is an alias to to_hash (backward compatibility)
351
- # @return [Hash] Returns the object in the form of hash
352
- def to_body
353
- to_hash
354
- end
355
-
356
- # Returns the object in the form of hash
357
- # @return [Hash] Returns the object in the form of hash
358
- def to_hash
359
- hash = {}
360
- self.class.attribute_map.each_pair do |attr, param|
361
- value = self.send(attr)
362
- if value.nil?
363
- is_nullable = self.class.openapi_nullable.include?(attr)
364
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
365
- end
366
-
367
- hash[param] = _to_hash(value)
368
- end
369
- hash
370
- end
371
-
372
- # Outputs non-array value in the form of hash
373
- # For object, use to_hash. Otherwise, just return the value
374
- # @param [Object] value Any valid value
375
- # @return [Hash] Returns the value in the form of hash
376
- def _to_hash(value)
377
- if value.is_a?(Array)
378
- value.compact.map { |v| _to_hash(v) }
379
- elsif value.is_a?(Hash)
380
- {}.tap do |hash|
381
- value.each { |k, v| hash[k] = _to_hash(v) }
382
- end
383
- elsif value.respond_to? :to_hash
384
- value.to_hash
385
- else
386
- value
387
- end
388
- end
389
- end
390
- end