oci 2.5.9 → 2.5.10

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 (129) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/oci/autoscaling/auto_scaling_client.rb +73 -0
  4. data/lib/oci/autoscaling/autoscaling.rb +1 -0
  5. data/lib/oci/autoscaling/models/change_auto_scaling_compartment_details.rb +154 -0
  6. data/lib/oci/autoscaling/models/create_auto_scaling_configuration_details.rb +0 -1
  7. data/lib/oci/container_engine/models/work_request_error.rb +0 -1
  8. data/lib/oci/core/blockstorage_client.rb +342 -0
  9. data/lib/oci/core/compute_client.rb +77 -5
  10. data/lib/oci/core/compute_client_composite_operations.rb +3 -3
  11. data/lib/oci/core/compute_management_client.rb +211 -0
  12. data/lib/oci/core/core.rb +27 -0
  13. data/lib/oci/core/models/add_network_security_group_security_rules_details.rb +153 -0
  14. data/lib/oci/core/models/add_security_rule_details.rb +388 -0
  15. data/lib/oci/core/models/added_network_security_group_security_rules.rb +153 -0
  16. data/lib/oci/core/models/change_boot_volume_backup_compartment_details.rb +153 -0
  17. data/lib/oci/core/models/change_boot_volume_compartment_details.rb +153 -0
  18. data/lib/oci/core/models/change_image_compartment_details.rb +154 -0
  19. data/lib/oci/core/models/change_instance_configuration_compartment_details.rb +155 -0
  20. data/lib/oci/core/models/change_instance_pool_compartment_details.rb +155 -0
  21. data/lib/oci/core/models/change_nat_gateway_compartment_details.rb +153 -0
  22. data/lib/oci/core/models/change_route_table_compartment_details.rb +155 -0
  23. data/lib/oci/core/models/change_security_list_compartment_details.rb +155 -0
  24. data/lib/oci/core/models/change_service_gateway_compartment_details.rb +155 -0
  25. data/lib/oci/core/models/change_subnet_compartment_details.rb +155 -0
  26. data/lib/oci/core/models/change_vcn_compartment_details.rb +155 -0
  27. data/lib/oci/core/models/change_volume_backup_compartment_details.rb +153 -0
  28. data/lib/oci/core/models/change_volume_compartment_details.rb +153 -0
  29. data/lib/oci/core/models/change_volume_group_backup_compartment_details.rb +153 -0
  30. data/lib/oci/core/models/change_volume_group_compartment_details.rb +153 -0
  31. data/lib/oci/core/models/create_network_security_group_details.rb +223 -0
  32. data/lib/oci/core/models/create_vnic_details.rb +18 -1
  33. data/lib/oci/core/models/image.rb +2 -1
  34. data/lib/oci/core/models/instance_configuration.rb +3 -1
  35. data/lib/oci/core/models/instance_configuration_create_vnic_details.rb +18 -1
  36. data/lib/oci/core/models/instance_configuration_instance_source_via_image_details.rb +15 -1
  37. data/lib/oci/core/models/instance_configuration_summary.rb +3 -3
  38. data/lib/oci/core/models/instance_pool.rb +4 -1
  39. data/lib/oci/core/models/instance_pool_summary.rb +3 -3
  40. data/lib/oci/core/models/network_security_group.rb +324 -0
  41. data/lib/oci/core/models/network_security_group_vnic.rb +188 -0
  42. data/lib/oci/core/models/remove_network_security_group_security_rules_details.rb +154 -0
  43. data/lib/oci/core/models/security_list.rb +5 -0
  44. data/lib/oci/core/models/security_rule.rb +455 -0
  45. data/lib/oci/core/models/update_network_security_group_details.rb +189 -0
  46. data/lib/oci/core/models/update_network_security_group_security_rules_details.rb +153 -0
  47. data/lib/oci/core/models/update_security_rule_details.rb +404 -0
  48. data/lib/oci/core/models/update_vnic_details.rb +20 -1
  49. data/lib/oci/core/models/updated_network_security_group_security_rules.rb +153 -0
  50. data/lib/oci/core/models/vnic.rb +18 -1
  51. data/lib/oci/core/virtual_network_client.rb +1228 -132
  52. data/lib/oci/core/virtual_network_client_composite_operations.rb +119 -0
  53. data/lib/oci/database/database.rb +19 -0
  54. data/lib/oci/database/database_client.rb +1066 -46
  55. data/lib/oci/database/database_client_composite_operations.rb +317 -0
  56. data/lib/oci/database/models/autonomous_container_database.rb +416 -0
  57. data/lib/oci/database/models/autonomous_container_database_backup_config.rb +157 -0
  58. data/lib/oci/database/models/autonomous_container_database_summary.rb +420 -0
  59. data/lib/oci/database/models/autonomous_database.rb +58 -1
  60. data/lib/oci/database/models/autonomous_database_backup.rb +16 -1
  61. data/lib/oci/database/models/autonomous_database_backup_summary.rb +16 -1
  62. data/lib/oci/database/models/autonomous_database_connection_strings.rb +11 -1
  63. data/lib/oci/database/models/autonomous_database_connection_urls.rb +170 -0
  64. data/lib/oci/database/models/autonomous_database_summary.rb +58 -1
  65. data/lib/oci/database/models/autonomous_db_preview_version_summary.rb +224 -0
  66. data/lib/oci/database/models/autonomous_exadata_infrastructure.rb +419 -0
  67. data/lib/oci/database/models/autonomous_exadata_infrastructure_maintenance_window.rb +186 -0
  68. data/lib/oci/database/models/autonomous_exadata_infrastructure_shape_summary.rb +224 -0
  69. data/lib/oci/database/models/autonomous_exadata_infrastructure_summary.rb +436 -0
  70. data/lib/oci/database/models/backup.rb +1 -0
  71. data/lib/oci/database/models/backup_summary.rb +1 -0
  72. data/lib/oci/database/models/create_autonomous_container_database_details.rb +284 -0
  73. data/lib/oci/database/models/create_autonomous_database_base.rb +46 -1
  74. data/lib/oci/database/models/create_autonomous_database_clone_details.rb +13 -1
  75. data/lib/oci/database/models/create_autonomous_database_details.rb +13 -1
  76. data/lib/oci/database/models/create_data_guard_association_with_new_db_system_details.rb +34 -1
  77. data/lib/oci/database/models/create_db_home_with_db_system_id_base.rb +1 -1
  78. data/lib/oci/database/models/day_of_week.rb +174 -0
  79. data/lib/oci/database/models/db_system.rb +34 -1
  80. data/lib/oci/database/models/db_system_summary.rb +34 -1
  81. data/lib/oci/database/models/launch_autonomous_exadata_infrastructure_details.rb +304 -0
  82. data/lib/oci/database/models/launch_db_system_base.rb +35 -2
  83. data/lib/oci/database/models/launch_db_system_details.rb +11 -2
  84. data/lib/oci/database/models/launch_db_system_from_backup_details.rb +11 -2
  85. data/lib/oci/database/models/maintenance_run.rb +392 -0
  86. data/lib/oci/database/models/maintenance_run_summary.rb +395 -0
  87. data/lib/oci/database/models/maintenance_window.rb +226 -0
  88. data/lib/oci/database/models/month.rb +179 -0
  89. data/lib/oci/database/models/restore_autonomous_database_details.rb +30 -4
  90. data/lib/oci/database/models/update_autonomous_container_database_details.rb +230 -0
  91. data/lib/oci/database/models/update_autonomous_database_details.rb +18 -1
  92. data/lib/oci/database/models/update_autonomous_exadata_infrastructure_details.rb +203 -0
  93. data/lib/oci/database/models/update_db_system_details.rb +37 -4
  94. data/lib/oci/database/models/update_maintenance_run_details.rb +154 -0
  95. data/lib/oci/email/email.rb +1 -0
  96. data/lib/oci/email/email_client.rb +62 -0
  97. data/lib/oci/email/models/change_sender_compartment_details.rb +157 -0
  98. data/lib/oci/key_management/key_management.rb +1 -0
  99. data/lib/oci/key_management/kms_crypto_client.rb +4 -4
  100. data/lib/oci/key_management/kms_management_client.rb +161 -10
  101. data/lib/oci/key_management/kms_management_client_composite_operations.rb +79 -0
  102. data/lib/oci/key_management/kms_vault_client.rb +16 -11
  103. data/lib/oci/key_management/models/key.rb +17 -1
  104. data/lib/oci/key_management/models/schedule_key_deletion_details.rb +156 -0
  105. data/lib/oci/load_balancer/load_balancer.rb +1 -0
  106. data/lib/oci/load_balancer/load_balancer_client.rb +64 -0
  107. data/lib/oci/load_balancer/load_balancer_client_composite_operations.rb +50 -0
  108. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +16 -1
  109. data/lib/oci/load_balancer/models/load_balancer.rb +16 -1
  110. data/lib/oci/load_balancer/models/remove_http_request_header_rule.rb +1 -1
  111. data/lib/oci/load_balancer/models/remove_http_response_header_rule.rb +1 -1
  112. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +9 -5
  113. data/lib/oci/load_balancer/models/update_backend_set_details.rb +2 -0
  114. data/lib/oci/load_balancer/models/update_network_security_groups_details.rb +154 -0
  115. data/lib/oci/monitoring/models/metric.rb +1 -0
  116. data/lib/oci/object_storage/models/work_request_error.rb +1 -0
  117. data/lib/oci/resource_manager/models/change_stack_compartment_details.rb +155 -0
  118. data/lib/oci/resource_manager/models/work_request.rb +293 -0
  119. data/lib/oci/resource_manager/models/work_request_error.rb +170 -0
  120. data/lib/oci/resource_manager/models/work_request_log_entry.rb +159 -0
  121. data/lib/oci/resource_manager/models/work_request_resource.rb +217 -0
  122. data/lib/oci/resource_manager/models/work_request_summary.rb +254 -0
  123. data/lib/oci/resource_manager/resource_manager.rb +6 -0
  124. data/lib/oci/resource_manager/resource_manager_client.rb +338 -0
  125. data/lib/oci/resource_manager/resource_manager_client_composite_operations.rb +50 -0
  126. data/lib/oci/streaming/stream_admin_client.rb +2 -2
  127. data/lib/oci/streaming/stream_client.rb +1 -1
  128. data/lib/oci/version.rb +1 -1
  129. metadata +58 -2
@@ -0,0 +1,230 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
6
+ module OCI
7
+ # Describes the modification parameters for the Autonomous Container Database.
8
+ #
9
+ class Database::Models::UpdateAutonomousContainerDatabaseDetails
10
+ PATCH_MODEL_ENUM = [
11
+ PATCH_MODEL_RELEASE_UPDATES = 'RELEASE_UPDATES'.freeze,
12
+ PATCH_MODEL_RELEASE_UPDATE_REVISIONS = 'RELEASE_UPDATE_REVISIONS'.freeze
13
+ ].freeze
14
+
15
+ # The display name for the Autonomous Container Database.
16
+ # @return [String]
17
+ attr_accessor :display_name
18
+
19
+ # Database Patch model preference.
20
+ # @return [String]
21
+ attr_reader :patch_model
22
+
23
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
24
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
25
+ #
26
+ # Example: `{\"Department\": \"Finance\"}`
27
+ #
28
+ # @return [Hash<String, String>]
29
+ attr_accessor :freeform_tags
30
+
31
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
32
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
33
+ #
34
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
35
+ #
36
+ # @return [Hash<String, Hash<String, Object>>]
37
+ attr_accessor :defined_tags
38
+
39
+ # @return [OCI::Database::Models::AutonomousContainerDatabaseBackupConfig]
40
+ attr_accessor :backup_config
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ def self.attribute_map
44
+ {
45
+ # rubocop:disable Style/SymbolLiteral
46
+ 'display_name': :'displayName',
47
+ 'patch_model': :'patchModel',
48
+ 'freeform_tags': :'freeformTags',
49
+ 'defined_tags': :'definedTags',
50
+ 'backup_config': :'backupConfig'
51
+ # rubocop:enable Style/SymbolLiteral
52
+ }
53
+ end
54
+
55
+ # Attribute type mapping.
56
+ def self.swagger_types
57
+ {
58
+ # rubocop:disable Style/SymbolLiteral
59
+ 'display_name': :'String',
60
+ 'patch_model': :'String',
61
+ 'freeform_tags': :'Hash<String, String>',
62
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
63
+ 'backup_config': :'OCI::Database::Models::AutonomousContainerDatabaseBackupConfig'
64
+ # rubocop:enable Style/SymbolLiteral
65
+ }
66
+ end
67
+
68
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
69
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
70
+
71
+
72
+ # Initializes the object
73
+ # @param [Hash] attributes Model attributes in the form of hash
74
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
75
+ # @option attributes [String] :patch_model The value to assign to the {#patch_model} property
76
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
77
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
78
+ # @option attributes [OCI::Database::Models::AutonomousContainerDatabaseBackupConfig] :backup_config The value to assign to the {#backup_config} property
79
+ def initialize(attributes = {})
80
+ return unless attributes.is_a?(Hash)
81
+
82
+ # convert string to symbol for hash key
83
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
84
+
85
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
86
+
87
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
88
+
89
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
90
+
91
+ self.patch_model = attributes[:'patchModel'] if attributes[:'patchModel']
92
+
93
+ raise 'You cannot provide both :patchModel and :patch_model' if attributes.key?(:'patchModel') && attributes.key?(:'patch_model')
94
+
95
+ self.patch_model = attributes[:'patch_model'] if attributes[:'patch_model']
96
+
97
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
98
+
99
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
100
+
101
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
102
+
103
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
104
+
105
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
106
+
107
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
108
+
109
+ self.backup_config = attributes[:'backupConfig'] if attributes[:'backupConfig']
110
+
111
+ raise 'You cannot provide both :backupConfig and :backup_config' if attributes.key?(:'backupConfig') && attributes.key?(:'backup_config')
112
+
113
+ self.backup_config = attributes[:'backup_config'] if attributes[:'backup_config']
114
+ end
115
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
116
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
117
+
118
+ # Custom attribute writer method checking allowed values (enum).
119
+ # @param [Object] patch_model Object to be assigned
120
+ def patch_model=(patch_model)
121
+ raise "Invalid value for 'patch_model': this must be one of the values in PATCH_MODEL_ENUM." if patch_model && !PATCH_MODEL_ENUM.include?(patch_model)
122
+
123
+ @patch_model = patch_model
124
+ end
125
+
126
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
127
+
128
+
129
+ # Checks equality by comparing each attribute.
130
+ # @param [Object] other the other object to be compared
131
+ def ==(other)
132
+ return true if equal?(other)
133
+
134
+ self.class == other.class &&
135
+ display_name == other.display_name &&
136
+ patch_model == other.patch_model &&
137
+ freeform_tags == other.freeform_tags &&
138
+ defined_tags == other.defined_tags &&
139
+ backup_config == other.backup_config
140
+ end
141
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
142
+
143
+ # @see the `==` method
144
+ # @param [Object] other the other object to be compared
145
+ def eql?(other)
146
+ self == other
147
+ end
148
+
149
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
150
+
151
+
152
+ # Calculates hash code according to all attributes.
153
+ # @return [Fixnum] Hash code
154
+ def hash
155
+ [display_name, patch_model, freeform_tags, defined_tags, backup_config].hash
156
+ end
157
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
158
+
159
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
160
+
161
+
162
+ # Builds the object from hash
163
+ # @param [Hash] attributes Model attributes in the form of hash
164
+ # @return [Object] Returns the model itself
165
+ def build_from_hash(attributes)
166
+ return nil unless attributes.is_a?(Hash)
167
+
168
+ self.class.swagger_types.each_pair do |key, type|
169
+ if type =~ /^Array<(.*)>/i
170
+ # check to ensure the input is an array given that the the attribute
171
+ # is documented as an array but the input is not
172
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
173
+ public_method("#{key}=").call(
174
+ attributes[self.class.attribute_map[key]]
175
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
176
+ )
177
+ end
178
+ elsif !attributes[self.class.attribute_map[key]].nil?
179
+ public_method("#{key}=").call(
180
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
181
+ )
182
+ end
183
+ # or else data not found in attributes(hash), not an issue as the data can be optional
184
+ end
185
+
186
+ self
187
+ end
188
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
189
+
190
+ # Returns the string representation of the object
191
+ # @return [String] String presentation of the object
192
+ def to_s
193
+ to_hash.to_s
194
+ end
195
+
196
+ # Returns the object in the form of hash
197
+ # @return [Hash] Returns the object in the form of hash
198
+ def to_hash
199
+ hash = {}
200
+ self.class.attribute_map.each_pair do |attr, param|
201
+ value = public_method(attr).call
202
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
203
+
204
+ hash[param] = _to_hash(value)
205
+ end
206
+ hash
207
+ end
208
+
209
+ private
210
+
211
+ # Outputs non-array value in the form of hash
212
+ # For object, use to_hash. Otherwise, just return the value
213
+ # @param [Object] value Any valid value
214
+ # @return [Hash] Returns the value in the form of hash
215
+ def _to_hash(value)
216
+ if value.is_a?(Array)
217
+ value.compact.map { |v| _to_hash(v) }
218
+ elsif value.is_a?(Hash)
219
+ {}.tap do |hash|
220
+ value.each { |k, v| hash[k] = _to_hash(v) }
221
+ end
222
+ elsif value.respond_to? :to_hash
223
+ value.to_hash
224
+ else
225
+ value
226
+ end
227
+ end
228
+ end
229
+ end
230
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -31,6 +31,13 @@ module OCI
31
31
  # @return [String]
32
32
  attr_accessor :admin_password
33
33
 
34
+ # New name for this Autonomous Database. It must begin with an alphabetic character and can contain a
35
+ # maximum of eight alphanumeric characters. Special characters are not permitted. This is valid only
36
+ # for dedicated databases.
37
+ #
38
+ # @return [String]
39
+ attr_accessor :db_name
40
+
34
41
  # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
35
42
  # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
36
43
  #
@@ -69,6 +76,7 @@ module OCI
69
76
  'data_storage_size_in_tbs': :'dataStorageSizeInTBs',
70
77
  'display_name': :'displayName',
71
78
  'admin_password': :'adminPassword',
79
+ 'db_name': :'dbName',
72
80
  'freeform_tags': :'freeformTags',
73
81
  'defined_tags': :'definedTags',
74
82
  'license_model': :'licenseModel',
@@ -86,6 +94,7 @@ module OCI
86
94
  'data_storage_size_in_tbs': :'Integer',
87
95
  'display_name': :'String',
88
96
  'admin_password': :'String',
97
+ 'db_name': :'String',
89
98
  'freeform_tags': :'Hash<String, String>',
90
99
  'defined_tags': :'Hash<String, Hash<String, Object>>',
91
100
  'license_model': :'String',
@@ -105,6 +114,7 @@ module OCI
105
114
  # @option attributes [Integer] :data_storage_size_in_tbs The value to assign to the {#data_storage_size_in_tbs} property
106
115
  # @option attributes [String] :display_name The value to assign to the {#display_name} property
107
116
  # @option attributes [String] :admin_password The value to assign to the {#admin_password} property
117
+ # @option attributes [String] :db_name The value to assign to the {#db_name} property
108
118
  # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
109
119
  # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
110
120
  # @option attributes [String] :license_model The value to assign to the {#license_model} property
@@ -140,6 +150,12 @@ module OCI
140
150
 
141
151
  self.admin_password = attributes[:'admin_password'] if attributes[:'admin_password']
142
152
 
153
+ self.db_name = attributes[:'dbName'] if attributes[:'dbName']
154
+
155
+ raise 'You cannot provide both :dbName and :db_name' if attributes.key?(:'dbName') && attributes.key?(:'db_name')
156
+
157
+ self.db_name = attributes[:'db_name'] if attributes[:'db_name']
158
+
143
159
  self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
144
160
 
145
161
  raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
@@ -194,6 +210,7 @@ module OCI
194
210
  data_storage_size_in_tbs == other.data_storage_size_in_tbs &&
195
211
  display_name == other.display_name &&
196
212
  admin_password == other.admin_password &&
213
+ db_name == other.db_name &&
197
214
  freeform_tags == other.freeform_tags &&
198
215
  defined_tags == other.defined_tags &&
199
216
  license_model == other.license_model &&
@@ -214,7 +231,7 @@ module OCI
214
231
  # Calculates hash code according to all attributes.
215
232
  # @return [Fixnum] Hash code
216
233
  def hash
217
- [cpu_core_count, data_storage_size_in_tbs, display_name, admin_password, freeform_tags, defined_tags, license_model, whitelisted_ips, is_auto_scaling_enabled].hash
234
+ [cpu_core_count, data_storage_size_in_tbs, display_name, admin_password, db_name, freeform_tags, defined_tags, license_model, whitelisted_ips, is_auto_scaling_enabled].hash
218
235
  end
219
236
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
220
237
 
@@ -0,0 +1,203 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
6
+ module OCI
7
+ # Describes the modification parameters for the Autonomous Exadata Infrastructure.
8
+ #
9
+ class Database::Models::UpdateAutonomousExadataInfrastructureDetails
10
+ # The display name is a user-friendly name for the Autonomous Exadata Infrastructure. The display name does not have to be unique.
11
+ # @return [String]
12
+ attr_accessor :display_name
13
+
14
+ # @return [OCI::Database::Models::MaintenanceWindow]
15
+ attr_accessor :maintenance_window_details
16
+
17
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
18
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
19
+ #
20
+ # Example: `{\"Department\": \"Finance\"}`
21
+ #
22
+ # @return [Hash<String, String>]
23
+ attr_accessor :freeform_tags
24
+
25
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
26
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
27
+ #
28
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
29
+ #
30
+ # @return [Hash<String, Hash<String, Object>>]
31
+ attr_accessor :defined_tags
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ def self.attribute_map
35
+ {
36
+ # rubocop:disable Style/SymbolLiteral
37
+ 'display_name': :'displayName',
38
+ 'maintenance_window_details': :'maintenanceWindowDetails',
39
+ 'freeform_tags': :'freeformTags',
40
+ 'defined_tags': :'definedTags'
41
+ # rubocop:enable Style/SymbolLiteral
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ def self.swagger_types
47
+ {
48
+ # rubocop:disable Style/SymbolLiteral
49
+ 'display_name': :'String',
50
+ 'maintenance_window_details': :'OCI::Database::Models::MaintenanceWindow',
51
+ 'freeform_tags': :'Hash<String, String>',
52
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
53
+ # rubocop:enable Style/SymbolLiteral
54
+ }
55
+ end
56
+
57
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
58
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
59
+
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
64
+ # @option attributes [OCI::Database::Models::MaintenanceWindow] :maintenance_window_details The value to assign to the {#maintenance_window_details} property
65
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
66
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
67
+ def initialize(attributes = {})
68
+ return unless attributes.is_a?(Hash)
69
+
70
+ # convert string to symbol for hash key
71
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
72
+
73
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
74
+
75
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
76
+
77
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
78
+
79
+ self.maintenance_window_details = attributes[:'maintenanceWindowDetails'] if attributes[:'maintenanceWindowDetails']
80
+
81
+ raise 'You cannot provide both :maintenanceWindowDetails and :maintenance_window_details' if attributes.key?(:'maintenanceWindowDetails') && attributes.key?(:'maintenance_window_details')
82
+
83
+ self.maintenance_window_details = attributes[:'maintenance_window_details'] if attributes[:'maintenance_window_details']
84
+
85
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
86
+
87
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
88
+
89
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
90
+
91
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
92
+
93
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
94
+
95
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
96
+ end
97
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
98
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
99
+
100
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
101
+
102
+
103
+ # Checks equality by comparing each attribute.
104
+ # @param [Object] other the other object to be compared
105
+ def ==(other)
106
+ return true if equal?(other)
107
+
108
+ self.class == other.class &&
109
+ display_name == other.display_name &&
110
+ maintenance_window_details == other.maintenance_window_details &&
111
+ freeform_tags == other.freeform_tags &&
112
+ defined_tags == other.defined_tags
113
+ end
114
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
115
+
116
+ # @see the `==` method
117
+ # @param [Object] other the other object to be compared
118
+ def eql?(other)
119
+ self == other
120
+ end
121
+
122
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
123
+
124
+
125
+ # Calculates hash code according to all attributes.
126
+ # @return [Fixnum] Hash code
127
+ def hash
128
+ [display_name, maintenance_window_details, freeform_tags, defined_tags].hash
129
+ end
130
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
131
+
132
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
133
+
134
+
135
+ # Builds the object from hash
136
+ # @param [Hash] attributes Model attributes in the form of hash
137
+ # @return [Object] Returns the model itself
138
+ def build_from_hash(attributes)
139
+ return nil unless attributes.is_a?(Hash)
140
+
141
+ self.class.swagger_types.each_pair do |key, type|
142
+ if type =~ /^Array<(.*)>/i
143
+ # check to ensure the input is an array given that the the attribute
144
+ # is documented as an array but the input is not
145
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
146
+ public_method("#{key}=").call(
147
+ attributes[self.class.attribute_map[key]]
148
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
149
+ )
150
+ end
151
+ elsif !attributes[self.class.attribute_map[key]].nil?
152
+ public_method("#{key}=").call(
153
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
154
+ )
155
+ end
156
+ # or else data not found in attributes(hash), not an issue as the data can be optional
157
+ end
158
+
159
+ self
160
+ end
161
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
162
+
163
+ # Returns the string representation of the object
164
+ # @return [String] String presentation of the object
165
+ def to_s
166
+ to_hash.to_s
167
+ end
168
+
169
+ # Returns the object in the form of hash
170
+ # @return [Hash] Returns the object in the form of hash
171
+ def to_hash
172
+ hash = {}
173
+ self.class.attribute_map.each_pair do |attr, param|
174
+ value = public_method(attr).call
175
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
176
+
177
+ hash[param] = _to_hash(value)
178
+ end
179
+ hash
180
+ end
181
+
182
+ private
183
+
184
+ # Outputs non-array value in the form of hash
185
+ # For object, use to_hash. Otherwise, just return the value
186
+ # @param [Object] value Any valid value
187
+ # @return [Hash] Returns the value in the form of hash
188
+ def _to_hash(value)
189
+ if value.is_a?(Array)
190
+ value.compact.map { |v| _to_hash(v) }
191
+ elsif value.is_a?(Hash)
192
+ {}.tap do |hash|
193
+ value.each { |k, v| hash[k] = _to_hash(v) }
194
+ end
195
+ elsif value.respond_to? :to_hash
196
+ value.to_hash
197
+ else
198
+ value
199
+ end
200
+ end
201
+ end
202
+ end
203
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength