oci 2.5.11 → 2.6.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 (188) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -1
  3. data/lib/oci.rb +1 -0
  4. data/lib/oci/auth/federation_client.rb +2 -1
  5. data/lib/oci/auth/signers/instance_principals_security_token_signer.rb +6 -1
  6. data/lib/oci/auth/url_based_certificate_retriever.rb +6 -2
  7. data/lib/oci/auth/util.rb +18 -0
  8. data/lib/oci/core/compute_client.rb +730 -48
  9. data/lib/oci/core/compute_client_composite_operations.rb +119 -0
  10. data/lib/oci/core/compute_management_client.rb +11 -4
  11. data/lib/oci/core/core.rb +13 -0
  12. data/lib/oci/core/models/add_security_rule_details.rb +4 -2
  13. data/lib/oci/core/models/attach_vnic_details.rb +1 -0
  14. data/lib/oci/core/models/capture_console_history_details.rb +1 -0
  15. data/lib/oci/core/models/change_dedicated_vm_host_compartment_details.rb +155 -0
  16. data/lib/oci/core/models/change_dhcp_options_compartment_details.rb +155 -0
  17. data/lib/oci/core/models/change_internet_gateway_compartment_details.rb +155 -0
  18. data/lib/oci/core/models/change_local_peering_gateway_compartment_details.rb +155 -0
  19. data/lib/oci/core/models/change_network_security_group_compartment_details.rb +155 -0
  20. data/lib/oci/core/models/change_public_ip_compartment_details.rb +155 -0
  21. data/lib/oci/core/models/create_dedicated_vm_host_details.rb +262 -0
  22. data/lib/oci/core/models/create_drg_attachment_details.rb +4 -2
  23. data/lib/oci/core/models/create_image_details.rb +1 -1
  24. data/lib/oci/core/models/create_instance_configuration_base.rb +16 -6
  25. data/lib/oci/core/models/create_instance_configuration_details.rb +1 -1
  26. data/lib/oci/core/models/create_instance_configuration_from_instance_details.rb +3 -2
  27. data/lib/oci/core/models/create_instance_pool_details.rb +3 -1
  28. data/lib/oci/core/models/create_local_peering_gateway_details.rb +1 -1
  29. data/lib/oci/core/models/create_service_gateway_details.rb +1 -1
  30. data/lib/oci/core/models/create_volume_group_backup_details.rb +3 -1
  31. data/lib/oci/core/models/create_volume_group_details.rb +1 -1
  32. data/lib/oci/core/models/cross_connect_mapping.rb +4 -0
  33. data/lib/oci/core/models/dedicated_vm_host.rb +359 -0
  34. data/lib/oci/core/models/dedicated_vm_host_instance_shape_summary.rb +170 -0
  35. data/lib/oci/core/models/dedicated_vm_host_instance_summary.rb +215 -0
  36. data/lib/oci/core/models/dedicated_vm_host_shape_summary.rb +171 -0
  37. data/lib/oci/core/models/dedicated_vm_host_summary.rb +325 -0
  38. data/lib/oci/core/models/drg_attachment.rb +6 -3
  39. data/lib/oci/core/models/egress_security_rule.rb +1 -0
  40. data/lib/oci/core/models/image.rb +2 -0
  41. data/lib/oci/core/models/ingress_security_rule.rb +2 -1
  42. data/lib/oci/core/models/instance.rb +16 -1
  43. data/lib/oci/core/models/instance_configuration.rb +10 -7
  44. data/lib/oci/core/models/ipv6.rb +2 -0
  45. data/lib/oci/core/models/launch_instance_details.rb +16 -1
  46. data/lib/oci/core/models/launch_options.rb +3 -2
  47. data/lib/oci/core/models/local_peering_gateway.rb +4 -3
  48. data/lib/oci/core/models/route_rule.rb +2 -1
  49. data/lib/oci/core/models/security_rule.rb +3 -1
  50. data/lib/oci/core/models/service_gateway.rb +4 -3
  51. data/lib/oci/core/models/subnet.rb +2 -1
  52. data/lib/oci/core/models/update_console_history_details.rb +1 -0
  53. data/lib/oci/core/models/update_dedicated_vm_host_details.rb +194 -0
  54. data/lib/oci/core/models/update_drg_attachment_details.rb +6 -3
  55. data/lib/oci/core/models/update_instance_pool_details.rb +3 -1
  56. data/lib/oci/core/models/update_local_peering_gateway_details.rb +4 -3
  57. data/lib/oci/core/models/update_network_security_group_details.rb +2 -0
  58. data/lib/oci/core/models/update_security_rule_details.rb +4 -2
  59. data/lib/oci/core/models/update_service_gateway_details.rb +4 -3
  60. data/lib/oci/core/models/update_vnic_details.rb +2 -0
  61. data/lib/oci/core/models/update_volume_backup_details.rb +1 -1
  62. data/lib/oci/core/models/update_volume_group_backup_details.rb +2 -1
  63. data/lib/oci/core/models/update_volume_group_details.rb +2 -1
  64. data/lib/oci/core/models/vcn.rb +2 -1
  65. data/lib/oci/core/models/volume_backup_schedule.rb +1 -1
  66. data/lib/oci/core/virtual_network_client.rb +396 -59
  67. data/lib/oci/dts/dts.rb +57 -0
  68. data/lib/oci/dts/models/attach_devices_details.rb +153 -0
  69. data/lib/oci/dts/models/change_transfer_job_compartment_details.rb +154 -0
  70. data/lib/oci/dts/models/create_transfer_appliance_details.rb +152 -0
  71. data/lib/oci/dts/models/create_transfer_appliance_entitlement_details.rb +178 -0
  72. data/lib/oci/dts/models/create_transfer_device_details.rb +165 -0
  73. data/lib/oci/dts/models/create_transfer_job_details.rb +238 -0
  74. data/lib/oci/dts/models/create_transfer_package_details.rb +178 -0
  75. data/lib/oci/dts/models/detach_devices_details.rb +153 -0
  76. data/lib/oci/dts/models/multiple_transfer_appliances.rb +153 -0
  77. data/lib/oci/dts/models/multiple_transfer_devices.rb +153 -0
  78. data/lib/oci/dts/models/multiple_transfer_packages.rb +153 -0
  79. data/lib/oci/dts/models/new_transfer_device.rb +246 -0
  80. data/lib/oci/dts/models/shipping_address.rb +263 -0
  81. data/lib/oci/dts/models/shipping_vendors.rb +149 -0
  82. data/lib/oci/dts/models/transfer_appliance.rb +367 -0
  83. data/lib/oci/dts/models/transfer_appliance_certificate.rb +148 -0
  84. data/lib/oci/dts/models/transfer_appliance_encryption_passphrase.rb +152 -0
  85. data/lib/oci/dts/models/transfer_appliance_entitlement.rb +240 -0
  86. data/lib/oci/dts/models/transfer_appliance_public_key.rb +152 -0
  87. data/lib/oci/dts/models/transfer_appliance_summary.rb +223 -0
  88. data/lib/oci/dts/models/transfer_device.rb +268 -0
  89. data/lib/oci/dts/models/transfer_device_summary.rb +254 -0
  90. data/lib/oci/dts/models/transfer_job.rb +356 -0
  91. data/lib/oci/dts/models/transfer_job_summary.rb +296 -0
  92. data/lib/oci/dts/models/transfer_package.rb +281 -0
  93. data/lib/oci/dts/models/transfer_package_summary.rb +201 -0
  94. data/lib/oci/dts/models/update_transfer_appliance_details.rb +180 -0
  95. data/lib/oci/dts/models/update_transfer_device_details.rb +166 -0
  96. data/lib/oci/dts/models/update_transfer_job_details.rb +237 -0
  97. data/lib/oci/dts/models/update_transfer_package_details.rb +204 -0
  98. data/lib/oci/dts/shipping_vendors_client.rb +165 -0
  99. data/lib/oci/dts/shipping_vendors_client_composite_operations.rb +24 -0
  100. data/lib/oci/dts/transfer_appliance_client.rb +569 -0
  101. data/lib/oci/dts/transfer_appliance_client_composite_operations.rb +104 -0
  102. data/lib/oci/dts/transfer_appliance_entitlement_client.rb +223 -0
  103. data/lib/oci/dts/transfer_appliance_entitlement_client_composite_operations.rb +24 -0
  104. data/lib/oci/dts/transfer_device_client.rb +402 -0
  105. data/lib/oci/dts/transfer_device_client_composite_operations.rb +65 -0
  106. data/lib/oci/dts/transfer_job_client.rb +458 -0
  107. data/lib/oci/dts/transfer_job_client_composite_operations.rb +143 -0
  108. data/lib/oci/dts/transfer_package_client.rb +515 -0
  109. data/lib/oci/dts/transfer_package_client_composite_operations.rb +104 -0
  110. data/lib/oci/dts/util.rb +2 -0
  111. data/lib/oci/file_storage/models/create_file_system_details.rb +19 -4
  112. data/lib/oci/file_storage/models/file_system.rb +19 -4
  113. data/lib/oci/file_storage/models/file_system_summary.rb +19 -4
  114. data/lib/oci/file_storage/models/update_file_system_details.rb +22 -4
  115. data/lib/oci/limits/limits.rb +5 -0
  116. data/lib/oci/limits/limits_client.rb +444 -0
  117. data/lib/oci/limits/limits_client_composite_operations.rb +24 -0
  118. data/lib/oci/limits/models/create_quota_details.rb +1 -1
  119. data/lib/oci/limits/models/limit_definition_summary.rb +241 -0
  120. data/lib/oci/limits/models/limit_value_summary.rb +210 -0
  121. data/lib/oci/limits/models/quota.rb +1 -1
  122. data/lib/oci/limits/models/resource_availability.rb +163 -0
  123. data/lib/oci/limits/models/service_summary.rb +159 -0
  124. data/lib/oci/limits/models/update_quota_details.rb +1 -1
  125. data/lib/oci/limits/quotas_client.rb +12 -11
  126. data/lib/oci/monitoring/models/alarm.rb +20 -1
  127. data/lib/oci/monitoring/models/create_alarm_details.rb +20 -1
  128. data/lib/oci/monitoring/models/list_metrics_details.rb +23 -3
  129. data/lib/oci/monitoring/models/metric.rb +20 -1
  130. data/lib/oci/monitoring/models/metric_data.rb +20 -1
  131. data/lib/oci/monitoring/models/metric_data_details.rb +20 -1
  132. data/lib/oci/monitoring/models/summarize_metrics_data_details.rb +20 -1
  133. data/lib/oci/monitoring/models/update_alarm_details.rb +20 -1
  134. data/lib/oci/regions.rb +14 -8
  135. data/lib/oci/streaming/models/archiver.rb +291 -0
  136. data/lib/oci/streaming/models/archiver_error.rb +159 -0
  137. data/lib/oci/streaming/models/archiver_lifecycle_state.rb +14 -0
  138. data/lib/oci/streaming/models/archiver_start_position.rb +10 -0
  139. data/lib/oci/streaming/models/create_archiver_details.rb +223 -0
  140. data/lib/oci/streaming/models/update_archiver_details.rb +222 -0
  141. data/lib/oci/streaming/stream_admin_client.rb +304 -0
  142. data/lib/oci/streaming/stream_admin_client_composite_operations.rb +162 -0
  143. data/lib/oci/streaming/streaming.rb +6 -0
  144. data/lib/oci/version.rb +1 -1
  145. data/lib/oci/waas/models/access_rule.rb +121 -4
  146. data/lib/oci/waas/models/access_rule_criteria.rb +12 -0
  147. data/lib/oci/waas/models/address_list.rb +289 -0
  148. data/lib/oci/waas/models/address_list_summary.rb +279 -0
  149. data/lib/oci/waas/models/caching_rule.rb +243 -0
  150. data/lib/oci/waas/models/caching_rule_criteria.rb +194 -0
  151. data/lib/oci/waas/models/caching_rule_summary.rb +246 -0
  152. data/lib/oci/waas/models/certificate.rb +22 -9
  153. data/lib/oci/waas/models/certificate_extensions.rb +3 -0
  154. data/lib/oci/waas/models/certificate_issuer_name.rb +225 -0
  155. data/lib/oci/waas/models/certificate_public_key_info.rb +4 -1
  156. data/lib/oci/waas/models/certificate_subject_name.rb +8 -1
  157. data/lib/oci/waas/models/certificate_summary.rb +10 -2
  158. data/lib/oci/waas/models/change_address_list_compartment_details.rb +154 -0
  159. data/lib/oci/waas/models/change_custom_protection_rule_compartment_details.rb +154 -0
  160. data/lib/oci/waas/models/create_address_list_details.rb +213 -0
  161. data/lib/oci/waas/models/create_certificate_details.rb +22 -3
  162. data/lib/oci/waas/models/create_custom_protection_rule_details.rb +251 -0
  163. data/lib/oci/waas/models/create_waas_policy_details.rb +26 -4
  164. data/lib/oci/waas/models/custom_protection_rule.rb +326 -0
  165. data/lib/oci/waas/models/custom_protection_rule_setting.rb +180 -0
  166. data/lib/oci/waas/models/custom_protection_rule_summary.rb +279 -0
  167. data/lib/oci/waas/models/origin_group.rb +149 -0
  168. data/lib/oci/waas/models/origin_group_origins.rb +159 -0
  169. data/lib/oci/waas/models/policy_config.rb +201 -4
  170. data/lib/oci/waas/models/protection_rule_exclusion.rb +2 -2
  171. data/lib/oci/waas/models/purge_cache.rb +149 -0
  172. data/lib/oci/waas/models/update_address_list_details.rb +199 -0
  173. data/lib/oci/waas/models/update_certificate_details.rb +10 -2
  174. data/lib/oci/waas/models/update_custom_protection_rule_details.rb +237 -0
  175. data/lib/oci/waas/models/update_waas_policy_details.rb +26 -4
  176. data/lib/oci/waas/models/waas_policy.rb +25 -3
  177. data/lib/oci/waas/models/waas_policy_custom_protection_rule_summary.rb +207 -0
  178. data/lib/oci/waas/models/waas_policy_summary.rb +10 -2
  179. data/lib/oci/waas/models/waf_config.rb +43 -1
  180. data/lib/oci/waas/models/waf_config_details.rb +43 -1
  181. data/lib/oci/waas/models/waf_log.rb +3 -3
  182. data/lib/oci/waas/models/work_request.rb +4 -1
  183. data/lib/oci/waas/models/work_request_operation_types.rb +4 -1
  184. data/lib/oci/waas/models/work_request_summary.rb +4 -1
  185. data/lib/oci/waas/waas.rb +19 -0
  186. data/lib/oci/waas/waas_client.rb +1147 -61
  187. data/lib/oci/waas/waas_client_composite_operations.rb +386 -0
  188. metadata +90 -2
@@ -0,0 +1,325 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require 'logger'
5
+
6
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
7
+ module OCI
8
+ # A dedicated virtual machine (VM) host that enables you to host multiple instances on a dedicated host instance that is not shared with other tenancies.
9
+ #
10
+ class Core::Models::DedicatedVmHostSummary
11
+ LIFECYCLE_STATE_ENUM = [
12
+ LIFECYCLE_STATE_CREATING = 'CREATING'.freeze,
13
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
14
+ LIFECYCLE_STATE_UPDATING = 'UPDATING'.freeze,
15
+ LIFECYCLE_STATE_DELETING = 'DELETING'.freeze,
16
+ LIFECYCLE_STATE_DELETED = 'DELETED'.freeze,
17
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
18
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
19
+ ].freeze
20
+
21
+ # **[Required]** The availability domain the dedicated VM host is running in.
22
+ #
23
+ # Example: `Uocm:PHX-AD-1`
24
+ #
25
+ # @return [String]
26
+ attr_accessor :availability_domain
27
+
28
+ # **[Required]** The OCID of the compartment that contains the dedicated VM host.
29
+ #
30
+ # @return [String]
31
+ attr_accessor :compartment_id
32
+
33
+ # **[Required]** The shape of the dedicated VM host. The shape determines the number of CPUs and
34
+ # other resources available for VMs.
35
+ #
36
+ # @return [String]
37
+ attr_accessor :dedicated_vm_host_shape
38
+
39
+ # **[Required]** A user-friendly name. Does not have to be unique, and it's changeable.
40
+ # Avoid entering confidential information.
41
+ #
42
+ # Example: `My DVH`
43
+ #
44
+ # @return [String]
45
+ attr_accessor :display_name
46
+
47
+ # The fault domain for the dedicated VM host's assigned instances. For more information, see Fault Domains.
48
+ #
49
+ # If you do not specify the fault domain, the system selects one for you. To change the fault domain for a dedicated VM host,
50
+ # delete it and create a new dedicated VM host in the preferred fault domain.
51
+ #
52
+ # To get a list of fault domains, use the ListFaultDomains operation in the Identity and Access Management Service API.
53
+ #
54
+ # Example: `FAULT-DOMAIN-1`
55
+ #
56
+ # @return [String]
57
+ attr_accessor :fault_domain
58
+
59
+ # **[Required]** The OCID of the dedicated VM host.
60
+ #
61
+ # @return [String]
62
+ attr_accessor :id
63
+
64
+ # **[Required]** The current state of the dedicated VM host.
65
+ #
66
+ # @return [String]
67
+ attr_reader :lifecycle_state
68
+
69
+ # **[Required]** The date and time the dedicated VM host was created, in the format defined by RFC3339.
70
+ #
71
+ # Example: `2016-08-25T21:10:29.600Z`
72
+ #
73
+ # @return [DateTime]
74
+ attr_accessor :time_created
75
+
76
+ # **[Required]** The current available OCPUs of the dedicated VM host.
77
+ #
78
+ # @return [Float]
79
+ attr_accessor :remaining_ocpus
80
+
81
+ # **[Required]** The current total OCPUs of the dedicated VM host.
82
+ #
83
+ # @return [Float]
84
+ attr_accessor :total_ocpus
85
+
86
+ # Attribute mapping from ruby-style variable name to JSON key.
87
+ def self.attribute_map
88
+ {
89
+ # rubocop:disable Style/SymbolLiteral
90
+ 'availability_domain': :'availabilityDomain',
91
+ 'compartment_id': :'compartmentId',
92
+ 'dedicated_vm_host_shape': :'dedicatedVmHostShape',
93
+ 'display_name': :'displayName',
94
+ 'fault_domain': :'faultDomain',
95
+ 'id': :'id',
96
+ 'lifecycle_state': :'lifecycleState',
97
+ 'time_created': :'timeCreated',
98
+ 'remaining_ocpus': :'remainingOcpus',
99
+ 'total_ocpus': :'totalOcpus'
100
+ # rubocop:enable Style/SymbolLiteral
101
+ }
102
+ end
103
+
104
+ # Attribute type mapping.
105
+ def self.swagger_types
106
+ {
107
+ # rubocop:disable Style/SymbolLiteral
108
+ 'availability_domain': :'String',
109
+ 'compartment_id': :'String',
110
+ 'dedicated_vm_host_shape': :'String',
111
+ 'display_name': :'String',
112
+ 'fault_domain': :'String',
113
+ 'id': :'String',
114
+ 'lifecycle_state': :'String',
115
+ 'time_created': :'DateTime',
116
+ 'remaining_ocpus': :'Float',
117
+ 'total_ocpus': :'Float'
118
+ # rubocop:enable Style/SymbolLiteral
119
+ }
120
+ end
121
+
122
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
123
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
124
+
125
+
126
+ # Initializes the object
127
+ # @param [Hash] attributes Model attributes in the form of hash
128
+ # @option attributes [String] :availability_domain The value to assign to the {#availability_domain} property
129
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
130
+ # @option attributes [String] :dedicated_vm_host_shape The value to assign to the {#dedicated_vm_host_shape} property
131
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
132
+ # @option attributes [String] :fault_domain The value to assign to the {#fault_domain} property
133
+ # @option attributes [String] :id The value to assign to the {#id} property
134
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
135
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
136
+ # @option attributes [Float] :remaining_ocpus The value to assign to the {#remaining_ocpus} property
137
+ # @option attributes [Float] :total_ocpus The value to assign to the {#total_ocpus} property
138
+ def initialize(attributes = {})
139
+ return unless attributes.is_a?(Hash)
140
+
141
+ # convert string to symbol for hash key
142
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
143
+
144
+ self.availability_domain = attributes[:'availabilityDomain'] if attributes[:'availabilityDomain']
145
+
146
+ raise 'You cannot provide both :availabilityDomain and :availability_domain' if attributes.key?(:'availabilityDomain') && attributes.key?(:'availability_domain')
147
+
148
+ self.availability_domain = attributes[:'availability_domain'] if attributes[:'availability_domain']
149
+
150
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
151
+
152
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
153
+
154
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
155
+
156
+ self.dedicated_vm_host_shape = attributes[:'dedicatedVmHostShape'] if attributes[:'dedicatedVmHostShape']
157
+
158
+ raise 'You cannot provide both :dedicatedVmHostShape and :dedicated_vm_host_shape' if attributes.key?(:'dedicatedVmHostShape') && attributes.key?(:'dedicated_vm_host_shape')
159
+
160
+ self.dedicated_vm_host_shape = attributes[:'dedicated_vm_host_shape'] if attributes[:'dedicated_vm_host_shape']
161
+
162
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
163
+
164
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
165
+
166
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
167
+
168
+ self.fault_domain = attributes[:'faultDomain'] if attributes[:'faultDomain']
169
+
170
+ raise 'You cannot provide both :faultDomain and :fault_domain' if attributes.key?(:'faultDomain') && attributes.key?(:'fault_domain')
171
+
172
+ self.fault_domain = attributes[:'fault_domain'] if attributes[:'fault_domain']
173
+
174
+ self.id = attributes[:'id'] if attributes[:'id']
175
+
176
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
177
+
178
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
179
+
180
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
181
+
182
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
183
+
184
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
185
+
186
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
187
+
188
+ self.remaining_ocpus = attributes[:'remainingOcpus'] if attributes[:'remainingOcpus']
189
+
190
+ raise 'You cannot provide both :remainingOcpus and :remaining_ocpus' if attributes.key?(:'remainingOcpus') && attributes.key?(:'remaining_ocpus')
191
+
192
+ self.remaining_ocpus = attributes[:'remaining_ocpus'] if attributes[:'remaining_ocpus']
193
+
194
+ self.total_ocpus = attributes[:'totalOcpus'] if attributes[:'totalOcpus']
195
+
196
+ raise 'You cannot provide both :totalOcpus and :total_ocpus' if attributes.key?(:'totalOcpus') && attributes.key?(:'total_ocpus')
197
+
198
+ self.total_ocpus = attributes[:'total_ocpus'] if attributes[:'total_ocpus']
199
+ end
200
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
201
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
202
+
203
+ # Custom attribute writer method checking allowed values (enum).
204
+ # @param [Object] lifecycle_state Object to be assigned
205
+ def lifecycle_state=(lifecycle_state)
206
+ # rubocop:disable Style/ConditionalAssignment
207
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
208
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
209
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
210
+ else
211
+ @lifecycle_state = lifecycle_state
212
+ end
213
+ # rubocop:enable Style/ConditionalAssignment
214
+ end
215
+
216
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
217
+
218
+
219
+ # Checks equality by comparing each attribute.
220
+ # @param [Object] other the other object to be compared
221
+ def ==(other)
222
+ return true if equal?(other)
223
+
224
+ self.class == other.class &&
225
+ availability_domain == other.availability_domain &&
226
+ compartment_id == other.compartment_id &&
227
+ dedicated_vm_host_shape == other.dedicated_vm_host_shape &&
228
+ display_name == other.display_name &&
229
+ fault_domain == other.fault_domain &&
230
+ id == other.id &&
231
+ lifecycle_state == other.lifecycle_state &&
232
+ time_created == other.time_created &&
233
+ remaining_ocpus == other.remaining_ocpus &&
234
+ total_ocpus == other.total_ocpus
235
+ end
236
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
237
+
238
+ # @see the `==` method
239
+ # @param [Object] other the other object to be compared
240
+ def eql?(other)
241
+ self == other
242
+ end
243
+
244
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
245
+
246
+
247
+ # Calculates hash code according to all attributes.
248
+ # @return [Fixnum] Hash code
249
+ def hash
250
+ [availability_domain, compartment_id, dedicated_vm_host_shape, display_name, fault_domain, id, lifecycle_state, time_created, remaining_ocpus, total_ocpus].hash
251
+ end
252
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
253
+
254
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
255
+
256
+
257
+ # Builds the object from hash
258
+ # @param [Hash] attributes Model attributes in the form of hash
259
+ # @return [Object] Returns the model itself
260
+ def build_from_hash(attributes)
261
+ return nil unless attributes.is_a?(Hash)
262
+
263
+ self.class.swagger_types.each_pair do |key, type|
264
+ if type =~ /^Array<(.*)>/i
265
+ # check to ensure the input is an array given that the the attribute
266
+ # is documented as an array but the input is not
267
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
268
+ public_method("#{key}=").call(
269
+ attributes[self.class.attribute_map[key]]
270
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
271
+ )
272
+ end
273
+ elsif !attributes[self.class.attribute_map[key]].nil?
274
+ public_method("#{key}=").call(
275
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
276
+ )
277
+ end
278
+ # or else data not found in attributes(hash), not an issue as the data can be optional
279
+ end
280
+
281
+ self
282
+ end
283
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
284
+
285
+ # Returns the string representation of the object
286
+ # @return [String] String presentation of the object
287
+ def to_s
288
+ to_hash.to_s
289
+ end
290
+
291
+ # Returns the object in the form of hash
292
+ # @return [Hash] Returns the object in the form of hash
293
+ def to_hash
294
+ hash = {}
295
+ self.class.attribute_map.each_pair do |attr, param|
296
+ value = public_method(attr).call
297
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
298
+
299
+ hash[param] = _to_hash(value)
300
+ end
301
+ hash
302
+ end
303
+
304
+ private
305
+
306
+ # Outputs non-array value in the form of hash
307
+ # For object, use to_hash. Otherwise, just return the value
308
+ # @param [Object] value Any valid value
309
+ # @return [Hash] Returns the value in the form of hash
310
+ def _to_hash(value)
311
+ if value.is_a?(Array)
312
+ value.compact.map { |v| _to_hash(v) }
313
+ elsif value.is_a?(Hash)
314
+ {}.tap do |hash|
315
+ value.each { |k, v| hash[k] = _to_hash(v) }
316
+ end
317
+ elsif value.respond_to? :to_hash
318
+ value.to_hash
319
+ else
320
+ value
321
+ end
322
+ end
323
+ end
324
+ end
325
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -42,9 +42,12 @@ module OCI
42
42
  # @return [String]
43
43
  attr_reader :lifecycle_state
44
44
 
45
- # The OCID of the route table the DRG attachment is using. For information about why you
46
- # would associate a route table with a DRG attachment, see
47
- # [Advanced Scenario: Transit Routing](https://docs.cloud.oracle.com/Content/Network/Tasks/transitrouting.htm).
45
+ # The OCID of the route table the DRG attachment is using.
46
+ #
47
+ # For information about why you would associate a route table with a DRG attachment, see:
48
+ #
49
+ # * [Transit Routing: Access to Multiple VCNs in Same Region](https://docs.cloud.oracle.com/Content/Network/Tasks/transitrouting.htm)
50
+ # * [Transit Routing: Private Access to Oracle Services](https://docs.cloud.oracle.com/Content/Network/Tasks/transitroutingoracleservices.htm)
48
51
  #
49
52
  # @return [String]
50
53
  attr_accessor :route_table_id
@@ -19,6 +19,7 @@ module OCI
19
19
  # Allowed values:
20
20
  #
21
21
  # * IP address range in CIDR notation. For example: `192.168.1.0/24` or `2001:0db8:0123:45::/56`
22
+ # Note that IPv6 addressing is currently supported only in the Government Cloud.
22
23
  #
23
24
  # * The `cidrBlock` value for a {Service}, if you're
24
25
  # setting up a security list rule for traffic destined for a particular `Service` through
@@ -45,6 +45,7 @@ module OCI
45
45
 
46
46
  # **[Required]** Whether instances launched with this image can be used to create new images.
47
47
  # For example, you cannot create an image of an Oracle Database instance.
48
+ #
48
49
  # Example: `true`
49
50
  #
50
51
  # @return [BOOLEAN]
@@ -60,6 +61,7 @@ module OCI
60
61
 
61
62
  # A user-friendly name for the image. It does not have to be unique, and it's changeable.
62
63
  # Avoid entering confidential information.
64
+ #
63
65
  # You cannot use an Oracle-provided image name as a custom image name.
64
66
  #
65
67
  # Example: `My custom Oracle Linux image`
@@ -50,7 +50,8 @@ module OCI
50
50
  #
51
51
  # Allowed values:
52
52
  #
53
- # * IP address range in CIDR notation. For example: `192.168.1.0/24` or `2001:0db8:0123:45::/56`
53
+ # * IP address range in CIDR notation. For example: `192.168.1.0/24` or `2001:0db8:0123:45::/56`.
54
+ # Note that IPv6 addressing is currently supported only in the Government Cloud.
54
55
  #
55
56
  # * The `cidrBlock` value for a {Service}, if you're
56
57
  # setting up a security list rule for traffic coming from a particular `Service` through
@@ -50,6 +50,11 @@ module OCI
50
50
  # @return [String]
51
51
  attr_accessor :compartment_id
52
52
 
53
+ # The OCID of dedicated VM host.
54
+ #
55
+ # @return [String]
56
+ attr_accessor :dedicated_vm_host_id
57
+
53
58
  # Defined tags for this resource. Each key is predefined and scoped to a
54
59
  # namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
55
60
  #
@@ -197,6 +202,7 @@ module OCI
197
202
  # rubocop:disable Style/SymbolLiteral
198
203
  'availability_domain': :'availabilityDomain',
199
204
  'compartment_id': :'compartmentId',
205
+ 'dedicated_vm_host_id': :'dedicatedVmHostId',
200
206
  'defined_tags': :'definedTags',
201
207
  'display_name': :'displayName',
202
208
  'extended_metadata': :'extendedMetadata',
@@ -225,6 +231,7 @@ module OCI
225
231
  # rubocop:disable Style/SymbolLiteral
226
232
  'availability_domain': :'String',
227
233
  'compartment_id': :'String',
234
+ 'dedicated_vm_host_id': :'String',
228
235
  'defined_tags': :'Hash<String, Hash<String, Object>>',
229
236
  'display_name': :'String',
230
237
  'extended_metadata': :'Hash<String, Object>',
@@ -255,6 +262,7 @@ module OCI
255
262
  # @param [Hash] attributes Model attributes in the form of hash
256
263
  # @option attributes [String] :availability_domain The value to assign to the {#availability_domain} property
257
264
  # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
265
+ # @option attributes [String] :dedicated_vm_host_id The value to assign to the {#dedicated_vm_host_id} property
258
266
  # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
259
267
  # @option attributes [String] :display_name The value to assign to the {#display_name} property
260
268
  # @option attributes [Hash<String, Object>] :extended_metadata The value to assign to the {#extended_metadata} property
@@ -291,6 +299,12 @@ module OCI
291
299
 
292
300
  self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
293
301
 
302
+ self.dedicated_vm_host_id = attributes[:'dedicatedVmHostId'] if attributes[:'dedicatedVmHostId']
303
+
304
+ raise 'You cannot provide both :dedicatedVmHostId and :dedicated_vm_host_id' if attributes.key?(:'dedicatedVmHostId') && attributes.key?(:'dedicated_vm_host_id')
305
+
306
+ self.dedicated_vm_host_id = attributes[:'dedicated_vm_host_id'] if attributes[:'dedicated_vm_host_id']
307
+
294
308
  self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
295
309
 
296
310
  raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
@@ -423,6 +437,7 @@ module OCI
423
437
  self.class == other.class &&
424
438
  availability_domain == other.availability_domain &&
425
439
  compartment_id == other.compartment_id &&
440
+ dedicated_vm_host_id == other.dedicated_vm_host_id &&
426
441
  defined_tags == other.defined_tags &&
427
442
  display_name == other.display_name &&
428
443
  extended_metadata == other.extended_metadata &&
@@ -456,7 +471,7 @@ module OCI
456
471
  # Calculates hash code according to all attributes.
457
472
  # @return [Fixnum] Hash code
458
473
  def hash
459
- [availability_domain, compartment_id, defined_tags, display_name, extended_metadata, fault_domain, freeform_tags, id, image_id, ipxe_script, launch_mode, launch_options, lifecycle_state, metadata, region, shape, source_details, time_created, agent_config, time_maintenance_reboot_due].hash
474
+ [availability_domain, compartment_id, dedicated_vm_host_id, defined_tags, display_name, extended_metadata, fault_domain, freeform_tags, id, image_id, ipxe_script, launch_mode, launch_options, lifecycle_state, metadata, region, shape, source_details, time_created, agent_config, time_maintenance_reboot_due].hash
460
475
  end
461
476
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
462
477
 
@@ -4,12 +4,13 @@ require 'date'
4
4
 
5
5
  # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
6
6
  module OCI
7
- # An instance configuration is a template that defines the settings to use when creating Compute instances
8
- # as part of an instance pool. For more information about instance pools and instance configurations, see
7
+ # An instance configuration is a template that defines the settings to use when creating Compute instances.
8
+ # For more information about instance configurations, see
9
9
  # [Managing Compute Instances](https://docs.cloud.oracle.com/Content/Compute/Concepts/instancemanagement.htm).
10
10
  #
11
11
  class Core::Models::InstanceConfiguration
12
- # **[Required]** The OCID of the compartment containing the instance configuration.
12
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment
13
+ # containing the instance configuration.
13
14
  #
14
15
  # @return [String]
15
16
  attr_accessor :compartment_id
@@ -22,7 +23,7 @@ module OCI
22
23
  # @return [Hash<String, Hash<String, Object>>]
23
24
  attr_accessor :defined_tags
24
25
 
25
- # A user-friendly name for the instance configuration
26
+ # A user-friendly name for the instance configuration.
26
27
  #
27
28
  # @return [String]
28
29
  attr_accessor :display_name
@@ -35,20 +36,22 @@ module OCI
35
36
  # @return [Hash<String, String>]
36
37
  attr_accessor :freeform_tags
37
38
 
38
- # **[Required]** The OCID of the instance configuration
39
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the instance configuration.
39
40
  # @return [String]
40
41
  attr_accessor :id
41
42
 
42
43
  # @return [OCI::Core::Models::InstanceConfigurationInstanceDetails]
43
44
  attr_accessor :instance_details
44
45
 
45
- # The required details when using the {#launch_instance_configuration launch_instance_configuration} operation.
46
- # These attributes are optional when using the {#create_instance_configuration create_instance_configuration} operation.
46
+ # Parameters that were not specified when the instance configuration was created, but that
47
+ # are required to launch an instance from the instance configuration. See the
48
+ # {#launch_instance_configuration launch_instance_configuration} operation.
47
49
  #
48
50
  # @return [Array<String>]
49
51
  attr_accessor :deferred_fields
50
52
 
51
53
  # **[Required]** The date and time the instance configuration was created, in the format defined by RFC3339.
54
+ #
52
55
  # Example: `2016-08-25T21:10:29.600Z`
53
56
  #
54
57
  # @return [DateTime]