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,496 @@
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 ServiceOffering
17
+ attr_accessor :archived_at
18
+
19
+ attr_accessor :created_at
20
+
21
+ attr_accessor :description
22
+
23
+ attr_accessor :display_name
24
+
25
+ attr_accessor :distributor
26
+
27
+ attr_accessor :documentation_url
28
+
29
+ # Extra information about this object in JSON format
30
+ attr_accessor :extra
31
+
32
+ # ID of the resource
33
+ attr_accessor :id
34
+
35
+ attr_accessor :last_seen_at
36
+
37
+ attr_accessor :long_description
38
+
39
+ attr_accessor :name
40
+
41
+ # ID of the resource
42
+ attr_accessor :service_inventory_id
43
+
44
+ # ID of the resource
45
+ attr_accessor :service_offering_icon_id
46
+
47
+ attr_accessor :source_created_at
48
+
49
+ attr_accessor :source_deleted_at
50
+
51
+ # ID of the resource
52
+ attr_accessor :source_id
53
+
54
+ # The native reference used by the Source to refer to this object
55
+ attr_accessor :source_ref
56
+
57
+ # ID of the resource
58
+ attr_accessor :source_region_id
59
+
60
+ # ID of the resource
61
+ attr_accessor :subscription_id
62
+
63
+ attr_accessor :support_url
64
+
65
+ attr_accessor :updated_at
66
+
67
+ # Attribute mapping from ruby-style variable name to JSON key.
68
+ def self.attribute_map
69
+ {
70
+ :'archived_at' => :'archived_at',
71
+ :'created_at' => :'created_at',
72
+ :'description' => :'description',
73
+ :'display_name' => :'display_name',
74
+ :'distributor' => :'distributor',
75
+ :'documentation_url' => :'documentation_url',
76
+ :'extra' => :'extra',
77
+ :'id' => :'id',
78
+ :'last_seen_at' => :'last_seen_at',
79
+ :'long_description' => :'long_description',
80
+ :'name' => :'name',
81
+ :'service_inventory_id' => :'service_inventory_id',
82
+ :'service_offering_icon_id' => :'service_offering_icon_id',
83
+ :'source_created_at' => :'source_created_at',
84
+ :'source_deleted_at' => :'source_deleted_at',
85
+ :'source_id' => :'source_id',
86
+ :'source_ref' => :'source_ref',
87
+ :'source_region_id' => :'source_region_id',
88
+ :'subscription_id' => :'subscription_id',
89
+ :'support_url' => :'support_url',
90
+ :'updated_at' => :'updated_at'
91
+ }
92
+ end
93
+
94
+ # Attribute type mapping.
95
+ def self.openapi_types
96
+ {
97
+ :'archived_at' => :'DateTime',
98
+ :'created_at' => :'DateTime',
99
+ :'description' => :'String',
100
+ :'display_name' => :'String',
101
+ :'distributor' => :'String',
102
+ :'documentation_url' => :'String',
103
+ :'extra' => :'Object',
104
+ :'id' => :'String',
105
+ :'last_seen_at' => :'DateTime',
106
+ :'long_description' => :'String',
107
+ :'name' => :'String',
108
+ :'service_inventory_id' => :'String',
109
+ :'service_offering_icon_id' => :'String',
110
+ :'source_created_at' => :'DateTime',
111
+ :'source_deleted_at' => :'DateTime',
112
+ :'source_id' => :'String',
113
+ :'source_ref' => :'String',
114
+ :'source_region_id' => :'String',
115
+ :'subscription_id' => :'String',
116
+ :'support_url' => :'String',
117
+ :'updated_at' => :'DateTime'
118
+ }
119
+ end
120
+
121
+ # List of attributes with nullable: true
122
+ def self.openapi_nullable
123
+ Set.new([
124
+ ])
125
+ end
126
+
127
+ # Initializes the object
128
+ # @param [Hash] attributes Model attributes in the form of hash
129
+ def initialize(attributes = {})
130
+ if (!attributes.is_a?(Hash))
131
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TopologicalInventoryApiClient::ServiceOffering` initialize method"
132
+ end
133
+
134
+ # check to see if the attribute exists and convert string to symbol for hash key
135
+ attributes = attributes.each_with_object({}) { |(k, v), h|
136
+ if (!self.class.attribute_map.key?(k.to_sym))
137
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TopologicalInventoryApiClient::ServiceOffering`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
138
+ end
139
+ h[k.to_sym] = v
140
+ }
141
+
142
+ if attributes.key?(:'archived_at')
143
+ self.archived_at = attributes[:'archived_at']
144
+ end
145
+
146
+ if attributes.key?(:'created_at')
147
+ self.created_at = attributes[:'created_at']
148
+ end
149
+
150
+ if attributes.key?(:'description')
151
+ self.description = attributes[:'description']
152
+ end
153
+
154
+ if attributes.key?(:'display_name')
155
+ self.display_name = attributes[:'display_name']
156
+ end
157
+
158
+ if attributes.key?(:'distributor')
159
+ self.distributor = attributes[:'distributor']
160
+ end
161
+
162
+ if attributes.key?(:'documentation_url')
163
+ self.documentation_url = attributes[:'documentation_url']
164
+ end
165
+
166
+ if attributes.key?(:'extra')
167
+ self.extra = attributes[:'extra']
168
+ end
169
+
170
+ if attributes.key?(:'id')
171
+ self.id = attributes[:'id']
172
+ end
173
+
174
+ if attributes.key?(:'last_seen_at')
175
+ self.last_seen_at = attributes[:'last_seen_at']
176
+ end
177
+
178
+ if attributes.key?(:'long_description')
179
+ self.long_description = attributes[:'long_description']
180
+ end
181
+
182
+ if attributes.key?(:'name')
183
+ self.name = attributes[:'name']
184
+ end
185
+
186
+ if attributes.key?(:'service_inventory_id')
187
+ self.service_inventory_id = attributes[:'service_inventory_id']
188
+ end
189
+
190
+ if attributes.key?(:'service_offering_icon_id')
191
+ self.service_offering_icon_id = attributes[:'service_offering_icon_id']
192
+ end
193
+
194
+ if attributes.key?(:'source_created_at')
195
+ self.source_created_at = attributes[:'source_created_at']
196
+ end
197
+
198
+ if attributes.key?(:'source_deleted_at')
199
+ self.source_deleted_at = attributes[:'source_deleted_at']
200
+ end
201
+
202
+ if attributes.key?(:'source_id')
203
+ self.source_id = attributes[:'source_id']
204
+ end
205
+
206
+ if attributes.key?(:'source_ref')
207
+ self.source_ref = attributes[:'source_ref']
208
+ end
209
+
210
+ if attributes.key?(:'source_region_id')
211
+ self.source_region_id = attributes[:'source_region_id']
212
+ end
213
+
214
+ if attributes.key?(:'subscription_id')
215
+ self.subscription_id = attributes[:'subscription_id']
216
+ end
217
+
218
+ if attributes.key?(:'support_url')
219
+ self.support_url = attributes[:'support_url']
220
+ end
221
+
222
+ if attributes.key?(:'updated_at')
223
+ self.updated_at = attributes[:'updated_at']
224
+ end
225
+ end
226
+
227
+ # Show invalid properties with the reasons. Usually used together with valid?
228
+ # @return Array for valid properties with the reasons
229
+ def list_invalid_properties
230
+ invalid_properties = Array.new
231
+ pattern = Regexp.new(/^\d+$/)
232
+ if !@id.nil? && @id !~ pattern
233
+ invalid_properties.push("invalid value for \"id\", must conform to the pattern #{pattern}.")
234
+ end
235
+
236
+ pattern = Regexp.new(/^\d+$/)
237
+ if !@service_inventory_id.nil? && @service_inventory_id !~ pattern
238
+ invalid_properties.push("invalid value for \"service_inventory_id\", must conform to the pattern #{pattern}.")
239
+ end
240
+
241
+ pattern = Regexp.new(/^\d+$/)
242
+ if !@service_offering_icon_id.nil? && @service_offering_icon_id !~ pattern
243
+ invalid_properties.push("invalid value for \"service_offering_icon_id\", must conform to the pattern #{pattern}.")
244
+ end
245
+
246
+ pattern = Regexp.new(/^\d+$/)
247
+ if !@source_id.nil? && @source_id !~ pattern
248
+ invalid_properties.push("invalid value for \"source_id\", must conform to the pattern #{pattern}.")
249
+ end
250
+
251
+ pattern = Regexp.new(/^\d+$/)
252
+ if !@source_region_id.nil? && @source_region_id !~ pattern
253
+ invalid_properties.push("invalid value for \"source_region_id\", must conform to the pattern #{pattern}.")
254
+ end
255
+
256
+ pattern = Regexp.new(/^\d+$/)
257
+ if !@subscription_id.nil? && @subscription_id !~ pattern
258
+ invalid_properties.push("invalid value for \"subscription_id\", must conform to the pattern #{pattern}.")
259
+ end
260
+
261
+ invalid_properties
262
+ end
263
+
264
+ # Check to see if the all the properties in the model are valid
265
+ # @return true if the model is valid
266
+ def valid?
267
+ return false if !@id.nil? && @id !~ Regexp.new(/^\d+$/)
268
+ return false if !@service_inventory_id.nil? && @service_inventory_id !~ Regexp.new(/^\d+$/)
269
+ return false if !@service_offering_icon_id.nil? && @service_offering_icon_id !~ Regexp.new(/^\d+$/)
270
+ return false if !@source_id.nil? && @source_id !~ Regexp.new(/^\d+$/)
271
+ return false if !@source_region_id.nil? && @source_region_id !~ Regexp.new(/^\d+$/)
272
+ return false if !@subscription_id.nil? && @subscription_id !~ Regexp.new(/^\d+$/)
273
+ true
274
+ end
275
+
276
+ # Custom attribute writer method with validation
277
+ # @param [Object] id Value to be assigned
278
+ def id=(id)
279
+ pattern = Regexp.new(/^\d+$/)
280
+ if !id.nil? && id !~ pattern
281
+ fail ArgumentError, "invalid value for \"id\", must conform to the pattern #{pattern}."
282
+ end
283
+
284
+ @id = id
285
+ end
286
+
287
+ # Custom attribute writer method with validation
288
+ # @param [Object] service_inventory_id Value to be assigned
289
+ def service_inventory_id=(service_inventory_id)
290
+ pattern = Regexp.new(/^\d+$/)
291
+ if !service_inventory_id.nil? && service_inventory_id !~ pattern
292
+ fail ArgumentError, "invalid value for \"service_inventory_id\", must conform to the pattern #{pattern}."
293
+ end
294
+
295
+ @service_inventory_id = service_inventory_id
296
+ end
297
+
298
+ # Custom attribute writer method with validation
299
+ # @param [Object] service_offering_icon_id Value to be assigned
300
+ def service_offering_icon_id=(service_offering_icon_id)
301
+ pattern = Regexp.new(/^\d+$/)
302
+ if !service_offering_icon_id.nil? && service_offering_icon_id !~ pattern
303
+ fail ArgumentError, "invalid value for \"service_offering_icon_id\", must conform to the pattern #{pattern}."
304
+ end
305
+
306
+ @service_offering_icon_id = service_offering_icon_id
307
+ end
308
+
309
+ # Custom attribute writer method with validation
310
+ # @param [Object] source_id Value to be assigned
311
+ def source_id=(source_id)
312
+ pattern = Regexp.new(/^\d+$/)
313
+ if !source_id.nil? && source_id !~ pattern
314
+ fail ArgumentError, "invalid value for \"source_id\", must conform to the pattern #{pattern}."
315
+ end
316
+
317
+ @source_id = source_id
318
+ end
319
+
320
+ # Custom attribute writer method with validation
321
+ # @param [Object] source_region_id Value to be assigned
322
+ def source_region_id=(source_region_id)
323
+ pattern = Regexp.new(/^\d+$/)
324
+ if !source_region_id.nil? && source_region_id !~ pattern
325
+ fail ArgumentError, "invalid value for \"source_region_id\", must conform to the pattern #{pattern}."
326
+ end
327
+
328
+ @source_region_id = source_region_id
329
+ end
330
+
331
+ # Custom attribute writer method with validation
332
+ # @param [Object] subscription_id Value to be assigned
333
+ def subscription_id=(subscription_id)
334
+ pattern = Regexp.new(/^\d+$/)
335
+ if !subscription_id.nil? && subscription_id !~ pattern
336
+ fail ArgumentError, "invalid value for \"subscription_id\", must conform to the pattern #{pattern}."
337
+ end
338
+
339
+ @subscription_id = subscription_id
340
+ end
341
+
342
+ # Checks equality by comparing each attribute.
343
+ # @param [Object] Object to be compared
344
+ def ==(o)
345
+ return true if self.equal?(o)
346
+ self.class == o.class &&
347
+ archived_at == o.archived_at &&
348
+ created_at == o.created_at &&
349
+ description == o.description &&
350
+ display_name == o.display_name &&
351
+ distributor == o.distributor &&
352
+ documentation_url == o.documentation_url &&
353
+ extra == o.extra &&
354
+ id == o.id &&
355
+ last_seen_at == o.last_seen_at &&
356
+ long_description == o.long_description &&
357
+ name == o.name &&
358
+ service_inventory_id == o.service_inventory_id &&
359
+ service_offering_icon_id == o.service_offering_icon_id &&
360
+ source_created_at == o.source_created_at &&
361
+ source_deleted_at == o.source_deleted_at &&
362
+ source_id == o.source_id &&
363
+ source_ref == o.source_ref &&
364
+ source_region_id == o.source_region_id &&
365
+ subscription_id == o.subscription_id &&
366
+ support_url == o.support_url &&
367
+ updated_at == o.updated_at
368
+ end
369
+
370
+ # @see the `==` method
371
+ # @param [Object] Object to be compared
372
+ def eql?(o)
373
+ self == o
374
+ end
375
+
376
+ # Calculates hash code according to all attributes.
377
+ # @return [Integer] Hash code
378
+ def hash
379
+ [archived_at, created_at, description, display_name, distributor, documentation_url, extra, id, last_seen_at, long_description, name, service_inventory_id, service_offering_icon_id, source_created_at, source_deleted_at, source_id, source_ref, source_region_id, subscription_id, support_url, updated_at].hash
380
+ end
381
+
382
+ # Builds the object from hash
383
+ # @param [Hash] attributes Model attributes in the form of hash
384
+ # @return [Object] Returns the model itself
385
+ def self.build_from_hash(attributes)
386
+ new.build_from_hash(attributes)
387
+ end
388
+
389
+ # Builds the object from hash
390
+ # @param [Hash] attributes Model attributes in the form of hash
391
+ # @return [Object] Returns the model itself
392
+ def build_from_hash(attributes)
393
+ return nil unless attributes.is_a?(Hash)
394
+ self.class.openapi_types.each_pair do |key, type|
395
+ if type =~ /\AArray<(.*)>/i
396
+ # check to ensure the input is an array given that the attribute
397
+ # is documented as an array but the input is not
398
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
399
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
400
+ end
401
+ elsif !attributes[self.class.attribute_map[key]].nil?
402
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
403
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
404
+ end
405
+
406
+ self
407
+ end
408
+
409
+ # Deserializes the data based on type
410
+ # @param string type Data type
411
+ # @param string value Value to be deserialized
412
+ # @return [Object] Deserialized data
413
+ def _deserialize(type, value)
414
+ case type.to_sym
415
+ when :DateTime
416
+ DateTime.parse(value)
417
+ when :Date
418
+ Date.parse(value)
419
+ when :String
420
+ value.to_s
421
+ when :Integer
422
+ value.to_i
423
+ when :Float
424
+ value.to_f
425
+ when :Boolean
426
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
427
+ true
428
+ else
429
+ false
430
+ end
431
+ when :Object
432
+ # generic object (usually a Hash), return directly
433
+ value
434
+ when /\AArray<(?<inner_type>.+)>\z/
435
+ inner_type = Regexp.last_match[:inner_type]
436
+ value.map { |v| _deserialize(inner_type, v) }
437
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
438
+ k_type = Regexp.last_match[:k_type]
439
+ v_type = Regexp.last_match[:v_type]
440
+ {}.tap do |hash|
441
+ value.each do |k, v|
442
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
443
+ end
444
+ end
445
+ else # model
446
+ TopologicalInventoryApiClient.const_get(type).build_from_hash(value)
447
+ end
448
+ end
449
+
450
+ # Returns the string representation of the object
451
+ # @return [String] String presentation of the object
452
+ def to_s
453
+ to_hash.to_s
454
+ end
455
+
456
+ # to_body is an alias to to_hash (backward compatibility)
457
+ # @return [Hash] Returns the object in the form of hash
458
+ def to_body
459
+ to_hash
460
+ end
461
+
462
+ # Returns the object in the form of hash
463
+ # @return [Hash] Returns the object in the form of hash
464
+ def to_hash
465
+ hash = {}
466
+ self.class.attribute_map.each_pair do |attr, param|
467
+ value = self.send(attr)
468
+ if value.nil?
469
+ is_nullable = self.class.openapi_nullable.include?(attr)
470
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
471
+ end
472
+
473
+ hash[param] = _to_hash(value)
474
+ end
475
+ hash
476
+ end
477
+
478
+ # Outputs non-array value in the form of hash
479
+ # For object, use to_hash. Otherwise, just return the value
480
+ # @param [Object] value Any valid value
481
+ # @return [Hash] Returns the value in the form of hash
482
+ def _to_hash(value)
483
+ if value.is_a?(Array)
484
+ value.compact.map { |v| _to_hash(v) }
485
+ elsif value.is_a?(Hash)
486
+ {}.tap do |hash|
487
+ value.each { |k, v| hash[k] = _to_hash(v) }
488
+ end
489
+ elsif value.respond_to? :to_hash
490
+ value.to_hash
491
+ else
492
+ value
493
+ end
494
+ end
495
+ end
496
+ end