topological_inventory-api-client 1.0.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.
Files changed (262) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE.txt +201 -0
  4. data/README.md +89 -0
  5. data/Rakefile +10 -0
  6. data/client-meta.json +8 -0
  7. data/docs/AppliedInventoriesParametersServicePlan.md +17 -0
  8. data/docs/AvailabilitiesCollection.md +21 -0
  9. data/docs/Availability.md +35 -0
  10. data/docs/Cluster.md +39 -0
  11. data/docs/ClustersCollection.md +21 -0
  12. data/docs/CollectionLinks.md +23 -0
  13. data/docs/CollectionMetadata.md +21 -0
  14. data/docs/Container.md +39 -0
  15. data/docs/ContainerGroup.md +43 -0
  16. data/docs/ContainerGroupsCollection.md +21 -0
  17. data/docs/ContainerImage.md +39 -0
  18. data/docs/ContainerImagesCollection.md +21 -0
  19. data/docs/ContainerNode.md +59 -0
  20. data/docs/ContainerNodesCollection.md +21 -0
  21. data/docs/ContainerProject.md +41 -0
  22. data/docs/ContainerProjectsCollection.md +21 -0
  23. data/docs/ContainerResourceQuota.md +43 -0
  24. data/docs/ContainerResourceQuotaCollection.md +21 -0
  25. data/docs/ContainerTemplate.md +39 -0
  26. data/docs/ContainerTemplatesCollection.md +21 -0
  27. data/docs/ContainersCollection.md +21 -0
  28. data/docs/Datastore.md +47 -0
  29. data/docs/DatastoresCollection.md +21 -0
  30. data/docs/DefaultApi.md +10871 -0
  31. data/docs/ErrorNotFound.md +17 -0
  32. data/docs/ErrorNotFoundErrors.md +19 -0
  33. data/docs/Flavor.md +41 -0
  34. data/docs/FlavorsCollection.md +21 -0
  35. data/docs/GraphQLRequest.md +21 -0
  36. data/docs/GraphQLResponse.md +19 -0
  37. data/docs/Host.md +51 -0
  38. data/docs/HostsCollection.md +21 -0
  39. data/docs/InlineResponse200.md +17 -0
  40. data/docs/Ipaddress.md +49 -0
  41. data/docs/IpaddressesCollection.md +21 -0
  42. data/docs/Network.md +47 -0
  43. data/docs/NetworkAdapter.md +47 -0
  44. data/docs/NetworkAdaptersCollection.md +21 -0
  45. data/docs/NetworksCollection.md +21 -0
  46. data/docs/OrchestrationStack.md +43 -0
  47. data/docs/OrchestrationStacksCollection.md +21 -0
  48. data/docs/OrderParametersServiceOffering.md +21 -0
  49. data/docs/OrderParametersServicePlan.md +19 -0
  50. data/docs/SecurityGroup.md +47 -0
  51. data/docs/SecurityGroupsCollection.md +21 -0
  52. data/docs/ServiceInstance.md +51 -0
  53. data/docs/ServiceInstanceNode.md +43 -0
  54. data/docs/ServiceInstanceNodesCollection.md +21 -0
  55. data/docs/ServiceInstancesCollection.md +21 -0
  56. data/docs/ServiceInventoriesCollection.md +21 -0
  57. data/docs/ServiceInventory.md +39 -0
  58. data/docs/ServiceOffering.md +57 -0
  59. data/docs/ServiceOfferingIcon.md +29 -0
  60. data/docs/ServiceOfferingIconsCollection.md +21 -0
  61. data/docs/ServiceOfferingNode.md +43 -0
  62. data/docs/ServiceOfferingNodesCollection.md +21 -0
  63. data/docs/ServiceOfferingsCollection.md +21 -0
  64. data/docs/ServicePlan.md +51 -0
  65. data/docs/ServicePlansCollection.md +21 -0
  66. data/docs/Source.md +25 -0
  67. data/docs/SourceRegion.md +33 -0
  68. data/docs/SourceRegionsCollection.md +21 -0
  69. data/docs/SourcesCollection.md +21 -0
  70. data/docs/Subnet.md +49 -0
  71. data/docs/SubnetsCollection.md +21 -0
  72. data/docs/Subscription.md +31 -0
  73. data/docs/SubscriptionsCollection.md +21 -0
  74. data/docs/Tag.md +29 -0
  75. data/docs/Tagging.md +21 -0
  76. data/docs/TagsCollection.md +21 -0
  77. data/docs/Task.md +31 -0
  78. data/docs/TasksCollection.md +21 -0
  79. data/docs/Tenant.md +23 -0
  80. data/docs/Vm.md +61 -0
  81. data/docs/VmsCollection.md +21 -0
  82. data/docs/Volume.md +49 -0
  83. data/docs/VolumeAttachment.md +27 -0
  84. data/docs/VolumeAttachmentsCollection.md +21 -0
  85. data/docs/VolumeType.md +35 -0
  86. data/docs/VolumeTypesCollection.md +21 -0
  87. data/docs/VolumesCollection.md +21 -0
  88. data/git_push.sh +58 -0
  89. data/lib/topological_inventory-api-client/api/default_api.rb +14822 -0
  90. data/lib/topological_inventory-api-client/api_client.rb +386 -0
  91. data/lib/topological_inventory-api-client/api_error.rb +57 -0
  92. data/lib/topological_inventory-api-client/configuration.rb +268 -0
  93. data/lib/topological_inventory-api-client/models/applied_inventories_parameters_service_plan.rb +207 -0
  94. data/lib/topological_inventory-api-client/models/availabilities_collection.rb +226 -0
  95. data/lib/topological_inventory-api-client/models/availability.rb +323 -0
  96. data/lib/topological_inventory-api-client/models/cluster.rb +341 -0
  97. data/lib/topological_inventory-api-client/models/clusters_collection.rb +226 -0
  98. data/lib/topological_inventory-api-client/models/collection_links.rb +233 -0
  99. data/lib/topological_inventory-api-client/models/collection_metadata.rb +224 -0
  100. data/lib/topological_inventory-api-client/models/container.rb +359 -0
  101. data/lib/topological_inventory-api-client/models/container_group.rb +395 -0
  102. data/lib/topological_inventory-api-client/models/container_groups_collection.rb +226 -0
  103. data/lib/topological_inventory-api-client/models/container_image.rb +341 -0
  104. data/lib/topological_inventory-api-client/models/container_images_collection.rb +226 -0
  105. data/lib/topological_inventory-api-client/models/container_node.rb +449 -0
  106. data/lib/topological_inventory-api-client/models/container_nodes_collection.rb +226 -0
  107. data/lib/topological_inventory-api-client/models/container_project.rb +350 -0
  108. data/lib/topological_inventory-api-client/models/container_projects_collection.rb +226 -0
  109. data/lib/topological_inventory-api-client/models/container_resource_quota.rb +377 -0
  110. data/lib/topological_inventory-api-client/models/container_resource_quota_collection.rb +226 -0
  111. data/lib/topological_inventory-api-client/models/container_template.rb +359 -0
  112. data/lib/topological_inventory-api-client/models/container_templates_collection.rb +226 -0
  113. data/lib/topological_inventory-api-client/models/containers_collection.rb +226 -0
  114. data/lib/topological_inventory-api-client/models/datastore.rb +377 -0
  115. data/lib/topological_inventory-api-client/models/datastores_collection.rb +226 -0
  116. data/lib/topological_inventory-api-client/models/error_not_found.rb +208 -0
  117. data/lib/topological_inventory-api-client/models/error_not_found_errors.rb +215 -0
  118. data/lib/topological_inventory-api-client/models/flavor.rb +354 -0
  119. data/lib/topological_inventory-api-client/models/flavors_collection.rb +226 -0
  120. data/lib/topological_inventory-api-client/models/graph_ql_request.rb +237 -0
  121. data/lib/topological_inventory-api-client/models/graph_ql_response.rb +219 -0
  122. data/lib/topological_inventory-api-client/models/host.rb +413 -0
  123. data/lib/topological_inventory-api-client/models/hosts_collection.rb +226 -0
  124. data/lib/topological_inventory-api-client/models/inline_response200.rb +206 -0
  125. data/lib/topological_inventory-api-client/models/ipaddress.rb +476 -0
  126. data/lib/topological_inventory-api-client/models/ipaddresses_collection.rb +226 -0
  127. data/lib/topological_inventory-api-client/models/network.rb +431 -0
  128. data/lib/topological_inventory-api-client/models/network_adapter.rb +449 -0
  129. data/lib/topological_inventory-api-client/models/network_adapters_collection.rb +226 -0
  130. data/lib/topological_inventory-api-client/models/networks_collection.rb +226 -0
  131. data/lib/topological_inventory-api-client/models/orchestration_stack.rb +414 -0
  132. data/lib/topological_inventory-api-client/models/orchestration_stacks_collection.rb +226 -0
  133. data/lib/topological_inventory-api-client/models/order_parameters_service_offering.rb +244 -0
  134. data/lib/topological_inventory-api-client/models/order_parameters_service_plan.rb +217 -0
  135. data/lib/topological_inventory-api-client/models/security_group.rb +449 -0
  136. data/lib/topological_inventory-api-client/models/security_groups_collection.rb +226 -0
  137. data/lib/topological_inventory-api-client/models/service_instance.rb +504 -0
  138. data/lib/topological_inventory-api-client/models/service_instance_node.rb +413 -0
  139. data/lib/topological_inventory-api-client/models/service_instance_nodes_collection.rb +226 -0
  140. data/lib/topological_inventory-api-client/models/service_instances_collection.rb +226 -0
  141. data/lib/topological_inventory-api-client/models/service_inventories_collection.rb +226 -0
  142. data/lib/topological_inventory-api-client/models/service_inventory.rb +341 -0
  143. data/lib/topological_inventory-api-client/models/service_offering.rb +496 -0
  144. data/lib/topological_inventory-api-client/models/service_offering_icon.rb +297 -0
  145. data/lib/topological_inventory-api-client/models/service_offering_icons_collection.rb +226 -0
  146. data/lib/topological_inventory-api-client/models/service_offering_node.rb +413 -0
  147. data/lib/topological_inventory-api-client/models/service_offering_nodes_collection.rb +226 -0
  148. data/lib/topological_inventory-api-client/models/service_offerings_collection.rb +226 -0
  149. data/lib/topological_inventory-api-client/models/service_plan.rb +450 -0
  150. data/lib/topological_inventory-api-client/models/service_plans_collection.rb +226 -0
  151. data/lib/topological_inventory-api-client/models/source.rb +260 -0
  152. data/lib/topological_inventory-api-client/models/source_region.rb +314 -0
  153. data/lib/topological_inventory-api-client/models/source_regions_collection.rb +226 -0
  154. data/lib/topological_inventory-api-client/models/sources_collection.rb +226 -0
  155. data/lib/topological_inventory-api-client/models/subnet.rb +458 -0
  156. data/lib/topological_inventory-api-client/models/subnets_collection.rb +226 -0
  157. data/lib/topological_inventory-api-client/models/subscription.rb +305 -0
  158. data/lib/topological_inventory-api-client/models/subscriptions_collection.rb +226 -0
  159. data/lib/topological_inventory-api-client/models/tag.rb +278 -0
  160. data/lib/topological_inventory-api-client/models/tagging.rb +242 -0
  161. data/lib/topological_inventory-api-client/models/tags_collection.rb +226 -0
  162. data/lib/topological_inventory-api-client/models/task.rb +287 -0
  163. data/lib/topological_inventory-api-client/models/tasks_collection.rb +226 -0
  164. data/lib/topological_inventory-api-client/models/tenant.rb +251 -0
  165. data/lib/topological_inventory-api-client/models/vm.rb +518 -0
  166. data/lib/topological_inventory-api-client/models/vms_collection.rb +226 -0
  167. data/lib/topological_inventory-api-client/models/volume.rb +459 -0
  168. data/lib/topological_inventory-api-client/models/volume_attachment.rb +305 -0
  169. data/lib/topological_inventory-api-client/models/volume_attachments_collection.rb +226 -0
  170. data/lib/topological_inventory-api-client/models/volume_type.rb +323 -0
  171. data/lib/topological_inventory-api-client/models/volume_types_collection.rb +226 -0
  172. data/lib/topological_inventory-api-client/models/volumes_collection.rb +226 -0
  173. data/lib/topological_inventory-api-client/version.rb +15 -0
  174. data/lib/topological_inventory-api-client.rb +120 -0
  175. data/pkg/topological_inventory-api-client-1.0.0.gem +0 -0
  176. data/spec/api/default_api_spec.rb +2676 -0
  177. data/spec/api_client_spec.rb +226 -0
  178. data/spec/configuration_spec.rb +42 -0
  179. data/spec/models/applied_inventories_parameters_service_plan_spec.rb +41 -0
  180. data/spec/models/availabilities_collection_spec.rb +53 -0
  181. data/spec/models/availability_spec.rb +95 -0
  182. data/spec/models/cluster_spec.rb +107 -0
  183. data/spec/models/clusters_collection_spec.rb +53 -0
  184. data/spec/models/collection_links_spec.rb +59 -0
  185. data/spec/models/collection_metadata_spec.rb +53 -0
  186. data/spec/models/container_group_spec.rb +119 -0
  187. data/spec/models/container_groups_collection_spec.rb +53 -0
  188. data/spec/models/container_image_spec.rb +107 -0
  189. data/spec/models/container_images_collection_spec.rb +53 -0
  190. data/spec/models/container_node_spec.rb +167 -0
  191. data/spec/models/container_nodes_collection_spec.rb +53 -0
  192. data/spec/models/container_project_spec.rb +113 -0
  193. data/spec/models/container_projects_collection_spec.rb +53 -0
  194. data/spec/models/container_resource_quota_collection_spec.rb +53 -0
  195. data/spec/models/container_resource_quota_spec.rb +119 -0
  196. data/spec/models/container_spec.rb +107 -0
  197. data/spec/models/container_template_spec.rb +107 -0
  198. data/spec/models/container_templates_collection_spec.rb +53 -0
  199. data/spec/models/containers_collection_spec.rb +53 -0
  200. data/spec/models/datastore_spec.rb +131 -0
  201. data/spec/models/datastores_collection_spec.rb +53 -0
  202. data/spec/models/error_not_found_errors_spec.rb +47 -0
  203. data/spec/models/error_not_found_spec.rb +41 -0
  204. data/spec/models/flavor_spec.rb +113 -0
  205. data/spec/models/flavors_collection_spec.rb +53 -0
  206. data/spec/models/graph_ql_request_spec.rb +53 -0
  207. data/spec/models/graph_ql_response_spec.rb +47 -0
  208. data/spec/models/host_spec.rb +143 -0
  209. data/spec/models/hosts_collection_spec.rb +53 -0
  210. data/spec/models/inline_response200_spec.rb +41 -0
  211. data/spec/models/ipaddress_spec.rb +137 -0
  212. data/spec/models/ipaddresses_collection_spec.rb +53 -0
  213. data/spec/models/network_adapter_spec.rb +131 -0
  214. data/spec/models/network_adapters_collection_spec.rb +53 -0
  215. data/spec/models/network_spec.rb +131 -0
  216. data/spec/models/networks_collection_spec.rb +53 -0
  217. data/spec/models/orchestration_stack_spec.rb +119 -0
  218. data/spec/models/orchestration_stacks_collection_spec.rb +53 -0
  219. data/spec/models/order_parameters_service_offering_spec.rb +53 -0
  220. data/spec/models/order_parameters_service_plan_spec.rb +47 -0
  221. data/spec/models/security_group_spec.rb +131 -0
  222. data/spec/models/security_groups_collection_spec.rb +53 -0
  223. data/spec/models/service_instance_node_spec.rb +119 -0
  224. data/spec/models/service_instance_nodes_collection_spec.rb +53 -0
  225. data/spec/models/service_instance_spec.rb +143 -0
  226. data/spec/models/service_instances_collection_spec.rb +53 -0
  227. data/spec/models/service_inventories_collection_spec.rb +53 -0
  228. data/spec/models/service_inventory_spec.rb +107 -0
  229. data/spec/models/service_offering_icon_spec.rb +77 -0
  230. data/spec/models/service_offering_icons_collection_spec.rb +53 -0
  231. data/spec/models/service_offering_node_spec.rb +119 -0
  232. data/spec/models/service_offering_nodes_collection_spec.rb +53 -0
  233. data/spec/models/service_offering_spec.rb +161 -0
  234. data/spec/models/service_offerings_collection_spec.rb +53 -0
  235. data/spec/models/service_plan_spec.rb +143 -0
  236. data/spec/models/service_plans_collection_spec.rb +53 -0
  237. data/spec/models/source_region_spec.rb +89 -0
  238. data/spec/models/source_regions_collection_spec.rb +53 -0
  239. data/spec/models/source_spec.rb +65 -0
  240. data/spec/models/sources_collection_spec.rb +53 -0
  241. data/spec/models/subnet_spec.rb +137 -0
  242. data/spec/models/subnets_collection_spec.rb +53 -0
  243. data/spec/models/subscription_spec.rb +83 -0
  244. data/spec/models/subscriptions_collection_spec.rb +53 -0
  245. data/spec/models/tag_spec.rb +77 -0
  246. data/spec/models/tagging_spec.rb +53 -0
  247. data/spec/models/tags_collection_spec.rb +53 -0
  248. data/spec/models/task_spec.rb +83 -0
  249. data/spec/models/tasks_collection_spec.rb +53 -0
  250. data/spec/models/tenant_spec.rb +59 -0
  251. data/spec/models/vm_spec.rb +173 -0
  252. data/spec/models/vms_collection_spec.rb +53 -0
  253. data/spec/models/volume_attachment_spec.rb +71 -0
  254. data/spec/models/volume_attachments_collection_spec.rb +53 -0
  255. data/spec/models/volume_spec.rb +137 -0
  256. data/spec/models/volume_type_spec.rb +95 -0
  257. data/spec/models/volume_types_collection_spec.rb +53 -0
  258. data/spec/models/volumes_collection_spec.rb +53 -0
  259. data/spec/spec_helper.rb +111 -0
  260. data/topological_inventory-api-client-2.0.0.gem +0 -0
  261. data/topological_inventory-api-client.gemspec +39 -0
  262. metadata +447 -0
@@ -0,0 +1,226 @@
1
+ =begin
2
+ #Topological Inventory
3
+
4
+ #Topological Inventory
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: support@redhat.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.2.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module TopologicalInventoryApiClient
16
+ class NetworksCollection
17
+ attr_accessor :meta
18
+
19
+ attr_accessor :links
20
+
21
+ attr_accessor :data
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'meta' => :'meta',
27
+ :'links' => :'links',
28
+ :'data' => :'data'
29
+ }
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.openapi_types
34
+ {
35
+ :'meta' => :'CollectionMetadata',
36
+ :'links' => :'CollectionLinks',
37
+ :'data' => :'Array<Network>'
38
+ }
39
+ end
40
+
41
+ # List of attributes with nullable: true
42
+ def self.openapi_nullable
43
+ Set.new([
44
+ ])
45
+ end
46
+
47
+ # Initializes the object
48
+ # @param [Hash] attributes Model attributes in the form of hash
49
+ def initialize(attributes = {})
50
+ if (!attributes.is_a?(Hash))
51
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TopologicalInventoryApiClient::NetworksCollection` initialize method"
52
+ end
53
+
54
+ # check to see if the attribute exists and convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h|
56
+ if (!self.class.attribute_map.key?(k.to_sym))
57
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TopologicalInventoryApiClient::NetworksCollection`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
58
+ end
59
+ h[k.to_sym] = v
60
+ }
61
+
62
+ if attributes.key?(:'meta')
63
+ self.meta = attributes[:'meta']
64
+ end
65
+
66
+ if attributes.key?(:'links')
67
+ self.links = attributes[:'links']
68
+ end
69
+
70
+ if attributes.key?(:'data')
71
+ if (value = attributes[:'data']).is_a?(Array)
72
+ self.data = value
73
+ end
74
+ end
75
+ end
76
+
77
+ # Show invalid properties with the reasons. Usually used together with valid?
78
+ # @return Array for valid properties with the reasons
79
+ def list_invalid_properties
80
+ invalid_properties = Array.new
81
+ invalid_properties
82
+ end
83
+
84
+ # Check to see if the all the properties in the model are valid
85
+ # @return true if the model is valid
86
+ def valid?
87
+ true
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param [Object] Object to be compared
92
+ def ==(o)
93
+ return true if self.equal?(o)
94
+ self.class == o.class &&
95
+ meta == o.meta &&
96
+ links == o.links &&
97
+ data == o.data
98
+ end
99
+
100
+ # @see the `==` method
101
+ # @param [Object] Object to be compared
102
+ def eql?(o)
103
+ self == o
104
+ end
105
+
106
+ # Calculates hash code according to all attributes.
107
+ # @return [Integer] Hash code
108
+ def hash
109
+ [meta, links, data].hash
110
+ end
111
+
112
+ # Builds the object from hash
113
+ # @param [Hash] attributes Model attributes in the form of hash
114
+ # @return [Object] Returns the model itself
115
+ def self.build_from_hash(attributes)
116
+ new.build_from_hash(attributes)
117
+ end
118
+
119
+ # Builds the object from hash
120
+ # @param [Hash] attributes Model attributes in the form of hash
121
+ # @return [Object] Returns the model itself
122
+ def build_from_hash(attributes)
123
+ return nil unless attributes.is_a?(Hash)
124
+ self.class.openapi_types.each_pair do |key, type|
125
+ if type =~ /\AArray<(.*)>/i
126
+ # check to ensure the input is an array given that the attribute
127
+ # is documented as an array but the input is not
128
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
129
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
130
+ end
131
+ elsif !attributes[self.class.attribute_map[key]].nil?
132
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
133
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
134
+ end
135
+
136
+ self
137
+ end
138
+
139
+ # Deserializes the data based on type
140
+ # @param string type Data type
141
+ # @param string value Value to be deserialized
142
+ # @return [Object] Deserialized data
143
+ def _deserialize(type, value)
144
+ case type.to_sym
145
+ when :DateTime
146
+ DateTime.parse(value)
147
+ when :Date
148
+ Date.parse(value)
149
+ when :String
150
+ value.to_s
151
+ when :Integer
152
+ value.to_i
153
+ when :Float
154
+ value.to_f
155
+ when :Boolean
156
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
157
+ true
158
+ else
159
+ false
160
+ end
161
+ when :Object
162
+ # generic object (usually a Hash), return directly
163
+ value
164
+ when /\AArray<(?<inner_type>.+)>\z/
165
+ inner_type = Regexp.last_match[:inner_type]
166
+ value.map { |v| _deserialize(inner_type, v) }
167
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
168
+ k_type = Regexp.last_match[:k_type]
169
+ v_type = Regexp.last_match[:v_type]
170
+ {}.tap do |hash|
171
+ value.each do |k, v|
172
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
173
+ end
174
+ end
175
+ else # model
176
+ TopologicalInventoryApiClient.const_get(type).build_from_hash(value)
177
+ end
178
+ end
179
+
180
+ # Returns the string representation of the object
181
+ # @return [String] String presentation of the object
182
+ def to_s
183
+ to_hash.to_s
184
+ end
185
+
186
+ # to_body is an alias to to_hash (backward compatibility)
187
+ # @return [Hash] Returns the object in the form of hash
188
+ def to_body
189
+ to_hash
190
+ end
191
+
192
+ # Returns the object in the form of hash
193
+ # @return [Hash] Returns the object in the form of hash
194
+ def to_hash
195
+ hash = {}
196
+ self.class.attribute_map.each_pair do |attr, param|
197
+ value = self.send(attr)
198
+ if value.nil?
199
+ is_nullable = self.class.openapi_nullable.include?(attr)
200
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
201
+ end
202
+
203
+ hash[param] = _to_hash(value)
204
+ end
205
+ hash
206
+ end
207
+
208
+ # Outputs non-array value in the form of hash
209
+ # For object, use to_hash. Otherwise, just return the value
210
+ # @param [Object] value Any valid value
211
+ # @return [Hash] Returns the value in the form of hash
212
+ def _to_hash(value)
213
+ if value.is_a?(Array)
214
+ value.compact.map { |v| _to_hash(v) }
215
+ elsif value.is_a?(Hash)
216
+ {}.tap do |hash|
217
+ value.each { |k, v| hash[k] = _to_hash(v) }
218
+ end
219
+ elsif value.respond_to? :to_hash
220
+ value.to_hash
221
+ else
222
+ value
223
+ end
224
+ end
225
+ end
226
+ end
@@ -0,0 +1,414 @@
1
+ =begin
2
+ #Topological Inventory
3
+
4
+ #Topological Inventory
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: support@redhat.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.2.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module TopologicalInventoryApiClient
16
+ class OrchestrationStack
17
+ attr_accessor :archived_at
18
+
19
+ attr_accessor :created_at
20
+
21
+ # Description of the OrchestrationStack
22
+ attr_accessor :description
23
+
24
+ # ID of the resource
25
+ attr_accessor :id
26
+
27
+ attr_accessor :last_seen_at
28
+
29
+ attr_accessor :name
30
+
31
+ # ID of the resource
32
+ attr_accessor :parent_orchestration_stack_id
33
+
34
+ attr_accessor :source_created_at
35
+
36
+ attr_accessor :source_deleted_at
37
+
38
+ # ID of the resource
39
+ attr_accessor :source_id
40
+
41
+ attr_accessor :source_ref
42
+
43
+ # ID of the resource
44
+ attr_accessor :source_region_id
45
+
46
+ # ID of the resource
47
+ attr_accessor :subscription_id
48
+
49
+ attr_accessor :updated_at
50
+
51
+ # Attribute mapping from ruby-style variable name to JSON key.
52
+ def self.attribute_map
53
+ {
54
+ :'archived_at' => :'archived_at',
55
+ :'created_at' => :'created_at',
56
+ :'description' => :'description',
57
+ :'id' => :'id',
58
+ :'last_seen_at' => :'last_seen_at',
59
+ :'name' => :'name',
60
+ :'parent_orchestration_stack_id' => :'parent_orchestration_stack_id',
61
+ :'source_created_at' => :'source_created_at',
62
+ :'source_deleted_at' => :'source_deleted_at',
63
+ :'source_id' => :'source_id',
64
+ :'source_ref' => :'source_ref',
65
+ :'source_region_id' => :'source_region_id',
66
+ :'subscription_id' => :'subscription_id',
67
+ :'updated_at' => :'updated_at'
68
+ }
69
+ end
70
+
71
+ # Attribute type mapping.
72
+ def self.openapi_types
73
+ {
74
+ :'archived_at' => :'DateTime',
75
+ :'created_at' => :'DateTime',
76
+ :'description' => :'String',
77
+ :'id' => :'String',
78
+ :'last_seen_at' => :'DateTime',
79
+ :'name' => :'String',
80
+ :'parent_orchestration_stack_id' => :'String',
81
+ :'source_created_at' => :'DateTime',
82
+ :'source_deleted_at' => :'DateTime',
83
+ :'source_id' => :'String',
84
+ :'source_ref' => :'String',
85
+ :'source_region_id' => :'String',
86
+ :'subscription_id' => :'String',
87
+ :'updated_at' => :'DateTime'
88
+ }
89
+ end
90
+
91
+ # List of attributes with nullable: true
92
+ def self.openapi_nullable
93
+ Set.new([
94
+ ])
95
+ end
96
+
97
+ # Initializes the object
98
+ # @param [Hash] attributes Model attributes in the form of hash
99
+ def initialize(attributes = {})
100
+ if (!attributes.is_a?(Hash))
101
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TopologicalInventoryApiClient::OrchestrationStack` initialize method"
102
+ end
103
+
104
+ # check to see if the attribute exists and convert string to symbol for hash key
105
+ attributes = attributes.each_with_object({}) { |(k, v), h|
106
+ if (!self.class.attribute_map.key?(k.to_sym))
107
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TopologicalInventoryApiClient::OrchestrationStack`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
108
+ end
109
+ h[k.to_sym] = v
110
+ }
111
+
112
+ if attributes.key?(:'archived_at')
113
+ self.archived_at = attributes[:'archived_at']
114
+ end
115
+
116
+ if attributes.key?(:'created_at')
117
+ self.created_at = attributes[:'created_at']
118
+ end
119
+
120
+ if attributes.key?(:'description')
121
+ self.description = attributes[:'description']
122
+ end
123
+
124
+ if attributes.key?(:'id')
125
+ self.id = attributes[:'id']
126
+ end
127
+
128
+ if attributes.key?(:'last_seen_at')
129
+ self.last_seen_at = attributes[:'last_seen_at']
130
+ end
131
+
132
+ if attributes.key?(:'name')
133
+ self.name = attributes[:'name']
134
+ end
135
+
136
+ if attributes.key?(:'parent_orchestration_stack_id')
137
+ self.parent_orchestration_stack_id = attributes[:'parent_orchestration_stack_id']
138
+ end
139
+
140
+ if attributes.key?(:'source_created_at')
141
+ self.source_created_at = attributes[:'source_created_at']
142
+ end
143
+
144
+ if attributes.key?(:'source_deleted_at')
145
+ self.source_deleted_at = attributes[:'source_deleted_at']
146
+ end
147
+
148
+ if attributes.key?(:'source_id')
149
+ self.source_id = attributes[:'source_id']
150
+ end
151
+
152
+ if attributes.key?(:'source_ref')
153
+ self.source_ref = attributes[:'source_ref']
154
+ end
155
+
156
+ if attributes.key?(:'source_region_id')
157
+ self.source_region_id = attributes[:'source_region_id']
158
+ end
159
+
160
+ if attributes.key?(:'subscription_id')
161
+ self.subscription_id = attributes[:'subscription_id']
162
+ end
163
+
164
+ if attributes.key?(:'updated_at')
165
+ self.updated_at = attributes[:'updated_at']
166
+ end
167
+ end
168
+
169
+ # Show invalid properties with the reasons. Usually used together with valid?
170
+ # @return Array for valid properties with the reasons
171
+ def list_invalid_properties
172
+ invalid_properties = Array.new
173
+ pattern = Regexp.new(/^\d+$/)
174
+ if !@id.nil? && @id !~ pattern
175
+ invalid_properties.push("invalid value for \"id\", must conform to the pattern #{pattern}.")
176
+ end
177
+
178
+ pattern = Regexp.new(/^\d+$/)
179
+ if !@parent_orchestration_stack_id.nil? && @parent_orchestration_stack_id !~ pattern
180
+ invalid_properties.push("invalid value for \"parent_orchestration_stack_id\", must conform to the pattern #{pattern}.")
181
+ end
182
+
183
+ pattern = Regexp.new(/^\d+$/)
184
+ if !@source_id.nil? && @source_id !~ pattern
185
+ invalid_properties.push("invalid value for \"source_id\", must conform to the pattern #{pattern}.")
186
+ end
187
+
188
+ pattern = Regexp.new(/^\d+$/)
189
+ if !@source_region_id.nil? && @source_region_id !~ pattern
190
+ invalid_properties.push("invalid value for \"source_region_id\", must conform to the pattern #{pattern}.")
191
+ end
192
+
193
+ pattern = Regexp.new(/^\d+$/)
194
+ if !@subscription_id.nil? && @subscription_id !~ pattern
195
+ invalid_properties.push("invalid value for \"subscription_id\", must conform to the pattern #{pattern}.")
196
+ end
197
+
198
+ invalid_properties
199
+ end
200
+
201
+ # Check to see if the all the properties in the model are valid
202
+ # @return true if the model is valid
203
+ def valid?
204
+ return false if !@id.nil? && @id !~ Regexp.new(/^\d+$/)
205
+ return false if !@parent_orchestration_stack_id.nil? && @parent_orchestration_stack_id !~ Regexp.new(/^\d+$/)
206
+ return false if !@source_id.nil? && @source_id !~ Regexp.new(/^\d+$/)
207
+ return false if !@source_region_id.nil? && @source_region_id !~ Regexp.new(/^\d+$/)
208
+ return false if !@subscription_id.nil? && @subscription_id !~ Regexp.new(/^\d+$/)
209
+ true
210
+ end
211
+
212
+ # Custom attribute writer method with validation
213
+ # @param [Object] id Value to be assigned
214
+ def id=(id)
215
+ pattern = Regexp.new(/^\d+$/)
216
+ if !id.nil? && id !~ pattern
217
+ fail ArgumentError, "invalid value for \"id\", must conform to the pattern #{pattern}."
218
+ end
219
+
220
+ @id = id
221
+ end
222
+
223
+ # Custom attribute writer method with validation
224
+ # @param [Object] parent_orchestration_stack_id Value to be assigned
225
+ def parent_orchestration_stack_id=(parent_orchestration_stack_id)
226
+ pattern = Regexp.new(/^\d+$/)
227
+ if !parent_orchestration_stack_id.nil? && parent_orchestration_stack_id !~ pattern
228
+ fail ArgumentError, "invalid value for \"parent_orchestration_stack_id\", must conform to the pattern #{pattern}."
229
+ end
230
+
231
+ @parent_orchestration_stack_id = parent_orchestration_stack_id
232
+ end
233
+
234
+ # Custom attribute writer method with validation
235
+ # @param [Object] source_id Value to be assigned
236
+ def source_id=(source_id)
237
+ pattern = Regexp.new(/^\d+$/)
238
+ if !source_id.nil? && source_id !~ pattern
239
+ fail ArgumentError, "invalid value for \"source_id\", must conform to the pattern #{pattern}."
240
+ end
241
+
242
+ @source_id = source_id
243
+ end
244
+
245
+ # Custom attribute writer method with validation
246
+ # @param [Object] source_region_id Value to be assigned
247
+ def source_region_id=(source_region_id)
248
+ pattern = Regexp.new(/^\d+$/)
249
+ if !source_region_id.nil? && source_region_id !~ pattern
250
+ fail ArgumentError, "invalid value for \"source_region_id\", must conform to the pattern #{pattern}."
251
+ end
252
+
253
+ @source_region_id = source_region_id
254
+ end
255
+
256
+ # Custom attribute writer method with validation
257
+ # @param [Object] subscription_id Value to be assigned
258
+ def subscription_id=(subscription_id)
259
+ pattern = Regexp.new(/^\d+$/)
260
+ if !subscription_id.nil? && subscription_id !~ pattern
261
+ fail ArgumentError, "invalid value for \"subscription_id\", must conform to the pattern #{pattern}."
262
+ end
263
+
264
+ @subscription_id = subscription_id
265
+ end
266
+
267
+ # Checks equality by comparing each attribute.
268
+ # @param [Object] Object to be compared
269
+ def ==(o)
270
+ return true if self.equal?(o)
271
+ self.class == o.class &&
272
+ archived_at == o.archived_at &&
273
+ created_at == o.created_at &&
274
+ description == o.description &&
275
+ id == o.id &&
276
+ last_seen_at == o.last_seen_at &&
277
+ name == o.name &&
278
+ parent_orchestration_stack_id == o.parent_orchestration_stack_id &&
279
+ source_created_at == o.source_created_at &&
280
+ source_deleted_at == o.source_deleted_at &&
281
+ source_id == o.source_id &&
282
+ source_ref == o.source_ref &&
283
+ source_region_id == o.source_region_id &&
284
+ subscription_id == o.subscription_id &&
285
+ updated_at == o.updated_at
286
+ end
287
+
288
+ # @see the `==` method
289
+ # @param [Object] Object to be compared
290
+ def eql?(o)
291
+ self == o
292
+ end
293
+
294
+ # Calculates hash code according to all attributes.
295
+ # @return [Integer] Hash code
296
+ def hash
297
+ [archived_at, created_at, description, id, last_seen_at, name, parent_orchestration_stack_id, source_created_at, source_deleted_at, source_id, source_ref, source_region_id, subscription_id, updated_at].hash
298
+ end
299
+
300
+ # Builds the object from hash
301
+ # @param [Hash] attributes Model attributes in the form of hash
302
+ # @return [Object] Returns the model itself
303
+ def self.build_from_hash(attributes)
304
+ new.build_from_hash(attributes)
305
+ end
306
+
307
+ # Builds the object from hash
308
+ # @param [Hash] attributes Model attributes in the form of hash
309
+ # @return [Object] Returns the model itself
310
+ def build_from_hash(attributes)
311
+ return nil unless attributes.is_a?(Hash)
312
+ self.class.openapi_types.each_pair do |key, type|
313
+ if type =~ /\AArray<(.*)>/i
314
+ # check to ensure the input is an array given that the attribute
315
+ # is documented as an array but the input is not
316
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
317
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
318
+ end
319
+ elsif !attributes[self.class.attribute_map[key]].nil?
320
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
321
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
322
+ end
323
+
324
+ self
325
+ end
326
+
327
+ # Deserializes the data based on type
328
+ # @param string type Data type
329
+ # @param string value Value to be deserialized
330
+ # @return [Object] Deserialized data
331
+ def _deserialize(type, value)
332
+ case type.to_sym
333
+ when :DateTime
334
+ DateTime.parse(value)
335
+ when :Date
336
+ Date.parse(value)
337
+ when :String
338
+ value.to_s
339
+ when :Integer
340
+ value.to_i
341
+ when :Float
342
+ value.to_f
343
+ when :Boolean
344
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
345
+ true
346
+ else
347
+ false
348
+ end
349
+ when :Object
350
+ # generic object (usually a Hash), return directly
351
+ value
352
+ when /\AArray<(?<inner_type>.+)>\z/
353
+ inner_type = Regexp.last_match[:inner_type]
354
+ value.map { |v| _deserialize(inner_type, v) }
355
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
356
+ k_type = Regexp.last_match[:k_type]
357
+ v_type = Regexp.last_match[:v_type]
358
+ {}.tap do |hash|
359
+ value.each do |k, v|
360
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
361
+ end
362
+ end
363
+ else # model
364
+ TopologicalInventoryApiClient.const_get(type).build_from_hash(value)
365
+ end
366
+ end
367
+
368
+ # Returns the string representation of the object
369
+ # @return [String] String presentation of the object
370
+ def to_s
371
+ to_hash.to_s
372
+ end
373
+
374
+ # to_body is an alias to to_hash (backward compatibility)
375
+ # @return [Hash] Returns the object in the form of hash
376
+ def to_body
377
+ to_hash
378
+ end
379
+
380
+ # Returns the object in the form of hash
381
+ # @return [Hash] Returns the object in the form of hash
382
+ def to_hash
383
+ hash = {}
384
+ self.class.attribute_map.each_pair do |attr, param|
385
+ value = self.send(attr)
386
+ if value.nil?
387
+ is_nullable = self.class.openapi_nullable.include?(attr)
388
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
389
+ end
390
+
391
+ hash[param] = _to_hash(value)
392
+ end
393
+ hash
394
+ end
395
+
396
+ # Outputs non-array value in the form of hash
397
+ # For object, use to_hash. Otherwise, just return the value
398
+ # @param [Object] value Any valid value
399
+ # @return [Hash] Returns the value in the form of hash
400
+ def _to_hash(value)
401
+ if value.is_a?(Array)
402
+ value.compact.map { |v| _to_hash(v) }
403
+ elsif value.is_a?(Hash)
404
+ {}.tap do |hash|
405
+ value.each { |k, v| hash[k] = _to_hash(v) }
406
+ end
407
+ elsif value.respond_to? :to_hash
408
+ value.to_hash
409
+ else
410
+ value
411
+ end
412
+ end
413
+ end
414
+ end