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
@@ -20,7 +20,10 @@ module OCI
20
20
  'admin_password': :'adminPassword',
21
21
  'display_name': :'displayName',
22
22
  'license_model': :'licenseModel',
23
+ 'is_preview_version_with_service_terms_accepted': :'isPreviewVersionWithServiceTermsAccepted',
23
24
  'is_auto_scaling_enabled': :'isAutoScalingEnabled',
25
+ 'is_dedicated': :'isDedicated',
26
+ 'autonomous_container_database_id': :'autonomousContainerDatabaseId',
24
27
  'freeform_tags': :'freeformTags',
25
28
  'defined_tags': :'definedTags',
26
29
  'source': :'source'
@@ -40,7 +43,10 @@ module OCI
40
43
  'admin_password': :'String',
41
44
  'display_name': :'String',
42
45
  'license_model': :'String',
46
+ 'is_preview_version_with_service_terms_accepted': :'BOOLEAN',
43
47
  'is_auto_scaling_enabled': :'BOOLEAN',
48
+ 'is_dedicated': :'BOOLEAN',
49
+ 'autonomous_container_database_id': :'String',
44
50
  'freeform_tags': :'Hash<String, String>',
45
51
  'defined_tags': :'Hash<String, Hash<String, Object>>',
46
52
  'source': :'String'
@@ -62,7 +68,10 @@ module OCI
62
68
  # @option attributes [String] :admin_password The value to assign to the {OCI::Database::Models::CreateAutonomousDatabaseBase#admin_password #admin_password} proprety
63
69
  # @option attributes [String] :display_name The value to assign to the {OCI::Database::Models::CreateAutonomousDatabaseBase#display_name #display_name} proprety
64
70
  # @option attributes [String] :license_model The value to assign to the {OCI::Database::Models::CreateAutonomousDatabaseBase#license_model #license_model} proprety
71
+ # @option attributes [BOOLEAN] :is_preview_version_with_service_terms_accepted The value to assign to the {OCI::Database::Models::CreateAutonomousDatabaseBase#is_preview_version_with_service_terms_accepted #is_preview_version_with_service_terms_accepted} proprety
65
72
  # @option attributes [BOOLEAN] :is_auto_scaling_enabled The value to assign to the {OCI::Database::Models::CreateAutonomousDatabaseBase#is_auto_scaling_enabled #is_auto_scaling_enabled} proprety
73
+ # @option attributes [BOOLEAN] :is_dedicated The value to assign to the {OCI::Database::Models::CreateAutonomousDatabaseBase#is_dedicated #is_dedicated} proprety
74
+ # @option attributes [String] :autonomous_container_database_id The value to assign to the {OCI::Database::Models::CreateAutonomousDatabaseBase#autonomous_container_database_id #autonomous_container_database_id} proprety
66
75
  # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {OCI::Database::Models::CreateAutonomousDatabaseBase#freeform_tags #freeform_tags} proprety
67
76
  # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {OCI::Database::Models::CreateAutonomousDatabaseBase#defined_tags #defined_tags} proprety
68
77
  def initialize(attributes = {})
@@ -92,7 +101,10 @@ module OCI
92
101
  admin_password == other.admin_password &&
93
102
  display_name == other.display_name &&
94
103
  license_model == other.license_model &&
104
+ is_preview_version_with_service_terms_accepted == other.is_preview_version_with_service_terms_accepted &&
95
105
  is_auto_scaling_enabled == other.is_auto_scaling_enabled &&
106
+ is_dedicated == other.is_dedicated &&
107
+ autonomous_container_database_id == other.autonomous_container_database_id &&
96
108
  freeform_tags == other.freeform_tags &&
97
109
  defined_tags == other.defined_tags &&
98
110
  source == other.source
@@ -111,7 +123,7 @@ module OCI
111
123
  # Calculates hash code according to all attributes.
112
124
  # @return [Fixnum] Hash code
113
125
  def hash
114
- [compartment_id, db_name, cpu_core_count, db_workload, data_storage_size_in_tbs, admin_password, display_name, license_model, is_auto_scaling_enabled, freeform_tags, defined_tags, source].hash
126
+ [compartment_id, db_name, cpu_core_count, db_workload, data_storage_size_in_tbs, admin_password, display_name, license_model, is_preview_version_with_service_terms_accepted, is_auto_scaling_enabled, is_dedicated, autonomous_container_database_id, freeform_tags, defined_tags, source].hash
115
127
  end
116
128
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
117
129
 
@@ -29,6 +29,19 @@ module OCI
29
29
  # @return [String]
30
30
  attr_accessor :subnet_id
31
31
 
32
+ # The list of Network Security Group [OCIDs](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) associated with this DB system.
33
+ # A maximum of 5 allowed.
34
+ #
35
+ # @return [Array<String>]
36
+ attr_accessor :nsg_ids
37
+
38
+ # The list of Network Security Group [OCIDs](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) associated with the backup network of this DB system.
39
+ # Applicable only to Exadata DB systems.
40
+ # A maximum of 5 allowed.
41
+ #
42
+ # @return [Array<String>]
43
+ attr_accessor :backup_network_nsg_ids
44
+
32
45
  # The hostname for the DB node.
33
46
  # @return [String]
34
47
  attr_accessor :hostname
@@ -44,6 +57,8 @@ module OCI
44
57
  'display_name': :'displayName',
45
58
  'availability_domain': :'availabilityDomain',
46
59
  'subnet_id': :'subnetId',
60
+ 'nsg_ids': :'nsgIds',
61
+ 'backup_network_nsg_ids': :'backupNetworkNsgIds',
47
62
  'hostname': :'hostname'
48
63
  # rubocop:enable Style/SymbolLiteral
49
64
  }
@@ -60,6 +75,8 @@ module OCI
60
75
  'display_name': :'String',
61
76
  'availability_domain': :'String',
62
77
  'subnet_id': :'String',
78
+ 'nsg_ids': :'Array<String>',
79
+ 'backup_network_nsg_ids': :'Array<String>',
63
80
  'hostname': :'String'
64
81
  # rubocop:enable Style/SymbolLiteral
65
82
  }
@@ -77,6 +94,8 @@ module OCI
77
94
  # @option attributes [String] :display_name The value to assign to the {#display_name} property
78
95
  # @option attributes [String] :availability_domain The value to assign to the {#availability_domain} property
79
96
  # @option attributes [String] :subnet_id The value to assign to the {#subnet_id} property
97
+ # @option attributes [Array<String>] :nsg_ids The value to assign to the {#nsg_ids} property
98
+ # @option attributes [Array<String>] :backup_network_nsg_ids The value to assign to the {#backup_network_nsg_ids} property
80
99
  # @option attributes [String] :hostname The value to assign to the {#hostname} property
81
100
  def initialize(attributes = {})
82
101
  return unless attributes.is_a?(Hash)
@@ -106,6 +125,18 @@ module OCI
106
125
 
107
126
  self.subnet_id = attributes[:'subnet_id'] if attributes[:'subnet_id']
108
127
 
128
+ self.nsg_ids = attributes[:'nsgIds'] if attributes[:'nsgIds']
129
+
130
+ raise 'You cannot provide both :nsgIds and :nsg_ids' if attributes.key?(:'nsgIds') && attributes.key?(:'nsg_ids')
131
+
132
+ self.nsg_ids = attributes[:'nsg_ids'] if attributes[:'nsg_ids']
133
+
134
+ self.backup_network_nsg_ids = attributes[:'backupNetworkNsgIds'] if attributes[:'backupNetworkNsgIds']
135
+
136
+ raise 'You cannot provide both :backupNetworkNsgIds and :backup_network_nsg_ids' if attributes.key?(:'backupNetworkNsgIds') && attributes.key?(:'backup_network_nsg_ids')
137
+
138
+ self.backup_network_nsg_ids = attributes[:'backup_network_nsg_ids'] if attributes[:'backup_network_nsg_ids']
139
+
109
140
  self.hostname = attributes[:'hostname'] if attributes[:'hostname']
110
141
  end
111
142
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
@@ -127,6 +158,8 @@ module OCI
127
158
  display_name == other.display_name &&
128
159
  availability_domain == other.availability_domain &&
129
160
  subnet_id == other.subnet_id &&
161
+ nsg_ids == other.nsg_ids &&
162
+ backup_network_nsg_ids == other.backup_network_nsg_ids &&
130
163
  hostname == other.hostname
131
164
  end
132
165
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
@@ -143,7 +176,7 @@ module OCI
143
176
  # Calculates hash code according to all attributes.
144
177
  # @return [Fixnum] Hash code
145
178
  def hash
146
- [database_admin_password, protection_mode, transport_type, creation_type, display_name, availability_domain, subnet_id, hostname].hash
179
+ [database_admin_password, protection_mode, transport_type, creation_type, display_name, availability_domain, subnet_id, nsg_ids, backup_network_nsg_ids, hostname].hash
147
180
  end
148
181
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
149
182
 
@@ -15,7 +15,7 @@ module OCI
15
15
  SOURCE_DB_BACKUP = 'DB_BACKUP'.freeze
16
16
  ].freeze
17
17
 
18
- # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the DB system.
18
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the DB system.
19
19
  # @return [String]
20
20
  attr_accessor :db_system_id
21
21
 
@@ -0,0 +1,174 @@
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
+ # Day of the week.
9
+ class Database::Models::DayOfWeek
10
+ NAME_ENUM = [
11
+ NAME_MONDAY = 'MONDAY'.freeze,
12
+ NAME_TUESDAY = 'TUESDAY'.freeze,
13
+ NAME_WEDNESDAY = 'WEDNESDAY'.freeze,
14
+ NAME_THURSDAY = 'THURSDAY'.freeze,
15
+ NAME_FRIDAY = 'FRIDAY'.freeze,
16
+ NAME_SATURDAY = 'SATURDAY'.freeze,
17
+ NAME_SUNDAY = 'SUNDAY'.freeze,
18
+ NAME_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
19
+ ].freeze
20
+
21
+ # **[Required]** Name of the day of the week.
22
+ # @return [String]
23
+ attr_reader :name
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ # rubocop:disable Style/SymbolLiteral
29
+ 'name': :'name'
30
+ # rubocop:enable Style/SymbolLiteral
31
+ }
32
+ end
33
+
34
+ # Attribute type mapping.
35
+ def self.swagger_types
36
+ {
37
+ # rubocop:disable Style/SymbolLiteral
38
+ 'name': :'String'
39
+ # rubocop:enable Style/SymbolLiteral
40
+ }
41
+ end
42
+
43
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
44
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
45
+
46
+
47
+ # Initializes the object
48
+ # @param [Hash] attributes Model attributes in the form of hash
49
+ # @option attributes [String] :name The value to assign to the {#name} property
50
+ def initialize(attributes = {})
51
+ return unless attributes.is_a?(Hash)
52
+
53
+ # convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
55
+
56
+ self.name = attributes[:'name'] if attributes[:'name']
57
+ end
58
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
59
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
60
+
61
+ # Custom attribute writer method checking allowed values (enum).
62
+ # @param [Object] name Object to be assigned
63
+ def name=(name)
64
+ # rubocop:disable Style/ConditionalAssignment
65
+ if name && !NAME_ENUM.include?(name)
66
+ OCI.logger.debug("Unknown value for 'name' [" + name + "]. Mapping to 'NAME_UNKNOWN_ENUM_VALUE'") if OCI.logger
67
+ @name = NAME_UNKNOWN_ENUM_VALUE
68
+ else
69
+ @name = name
70
+ end
71
+ # rubocop:enable Style/ConditionalAssignment
72
+ end
73
+
74
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
75
+
76
+
77
+ # Checks equality by comparing each attribute.
78
+ # @param [Object] other the other object to be compared
79
+ def ==(other)
80
+ return true if equal?(other)
81
+
82
+ self.class == other.class &&
83
+ name == other.name
84
+ end
85
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
86
+
87
+ # @see the `==` method
88
+ # @param [Object] other the other object to be compared
89
+ def eql?(other)
90
+ self == other
91
+ end
92
+
93
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
94
+
95
+
96
+ # Calculates hash code according to all attributes.
97
+ # @return [Fixnum] Hash code
98
+ def hash
99
+ [name].hash
100
+ end
101
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
102
+
103
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
104
+
105
+
106
+ # Builds the object from hash
107
+ # @param [Hash] attributes Model attributes in the form of hash
108
+ # @return [Object] Returns the model itself
109
+ def build_from_hash(attributes)
110
+ return nil unless attributes.is_a?(Hash)
111
+
112
+ self.class.swagger_types.each_pair do |key, type|
113
+ if type =~ /^Array<(.*)>/i
114
+ # check to ensure the input is an array given that the the attribute
115
+ # is documented as an array but the input is not
116
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
117
+ public_method("#{key}=").call(
118
+ attributes[self.class.attribute_map[key]]
119
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
120
+ )
121
+ end
122
+ elsif !attributes[self.class.attribute_map[key]].nil?
123
+ public_method("#{key}=").call(
124
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
125
+ )
126
+ end
127
+ # or else data not found in attributes(hash), not an issue as the data can be optional
128
+ end
129
+
130
+ self
131
+ end
132
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
133
+
134
+ # Returns the string representation of the object
135
+ # @return [String] String presentation of the object
136
+ def to_s
137
+ to_hash.to_s
138
+ end
139
+
140
+ # Returns the object in the form of hash
141
+ # @return [Hash] Returns the object in the form of hash
142
+ def to_hash
143
+ hash = {}
144
+ self.class.attribute_map.each_pair do |attr, param|
145
+ value = public_method(attr).call
146
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
147
+
148
+ hash[param] = _to_hash(value)
149
+ end
150
+ hash
151
+ end
152
+
153
+ private
154
+
155
+ # Outputs non-array value in the form of hash
156
+ # For object, use to_hash. Otherwise, just return the value
157
+ # @param [Object] value Any valid value
158
+ # @return [Hash] Returns the value in the form of hash
159
+ def _to_hash(value)
160
+ if value.is_a?(Array)
161
+ value.compact.map { |v| _to_hash(v) }
162
+ elsif value.is_a?(Hash)
163
+ {}.tap do |hash|
164
+ value.each { |k, v| hash[k] = _to_hash(v) }
165
+ end
166
+ elsif value.respond_to? :to_hash
167
+ value.to_hash
168
+ else
169
+ value
170
+ end
171
+ end
172
+ end
173
+ end
174
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -80,6 +80,19 @@ module OCI
80
80
  # @return [String]
81
81
  attr_accessor :backup_subnet_id
82
82
 
83
+ # The list of Network Security Group [OCIDs](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) associated with this DB system.
84
+ # A maximum of 5 allowed.
85
+ #
86
+ # @return [Array<String>]
87
+ attr_accessor :nsg_ids
88
+
89
+ # The list of Network Security Group [OCIDs](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) associated with the backup network of this DB system.
90
+ # Applicable only to Exadata DB systems.
91
+ # A maximum of 5 allowed.
92
+ #
93
+ # @return [Array<String>]
94
+ attr_accessor :backup_network_nsg_ids
95
+
83
96
  # **[Required]** The shape of the DB system. The shape determines resources to allocate to the DB system.
84
97
  # - For virtual machine shapes, the number of CPU cores and memory
85
98
  # - For bare metal and Exadata shapes, the number of CPU cores, storage, and memory
@@ -230,6 +243,8 @@ module OCI
230
243
  'fault_domains': :'faultDomains',
231
244
  'subnet_id': :'subnetId',
232
245
  'backup_subnet_id': :'backupSubnetId',
246
+ 'nsg_ids': :'nsgIds',
247
+ 'backup_network_nsg_ids': :'backupNetworkNsgIds',
233
248
  'shape': :'shape',
234
249
  'ssh_public_keys': :'sshPublicKeys',
235
250
  'time_zone': :'timeZone',
@@ -272,6 +287,8 @@ module OCI
272
287
  'fault_domains': :'Array<String>',
273
288
  'subnet_id': :'String',
274
289
  'backup_subnet_id': :'String',
290
+ 'nsg_ids': :'Array<String>',
291
+ 'backup_network_nsg_ids': :'Array<String>',
275
292
  'shape': :'String',
276
293
  'ssh_public_keys': :'Array<String>',
277
294
  'time_zone': :'String',
@@ -316,6 +333,8 @@ module OCI
316
333
  # @option attributes [Array<String>] :fault_domains The value to assign to the {#fault_domains} property
317
334
  # @option attributes [String] :subnet_id The value to assign to the {#subnet_id} property
318
335
  # @option attributes [String] :backup_subnet_id The value to assign to the {#backup_subnet_id} property
336
+ # @option attributes [Array<String>] :nsg_ids The value to assign to the {#nsg_ids} property
337
+ # @option attributes [Array<String>] :backup_network_nsg_ids The value to assign to the {#backup_network_nsg_ids} property
319
338
  # @option attributes [String] :shape The value to assign to the {#shape} property
320
339
  # @option attributes [Array<String>] :ssh_public_keys The value to assign to the {#ssh_public_keys} property
321
340
  # @option attributes [String] :time_zone The value to assign to the {#time_zone} property
@@ -392,6 +411,18 @@ module OCI
392
411
 
393
412
  self.backup_subnet_id = attributes[:'backup_subnet_id'] if attributes[:'backup_subnet_id']
394
413
 
414
+ self.nsg_ids = attributes[:'nsgIds'] if attributes[:'nsgIds']
415
+
416
+ raise 'You cannot provide both :nsgIds and :nsg_ids' if attributes.key?(:'nsgIds') && attributes.key?(:'nsg_ids')
417
+
418
+ self.nsg_ids = attributes[:'nsg_ids'] if attributes[:'nsg_ids']
419
+
420
+ self.backup_network_nsg_ids = attributes[:'backupNetworkNsgIds'] if attributes[:'backupNetworkNsgIds']
421
+
422
+ raise 'You cannot provide both :backupNetworkNsgIds and :backup_network_nsg_ids' if attributes.key?(:'backupNetworkNsgIds') && attributes.key?(:'backup_network_nsg_ids')
423
+
424
+ self.backup_network_nsg_ids = attributes[:'backup_network_nsg_ids'] if attributes[:'backup_network_nsg_ids']
425
+
395
426
  self.shape = attributes[:'shape'] if attributes[:'shape']
396
427
 
397
428
  self.ssh_public_keys = attributes[:'sshPublicKeys'] if attributes[:'sshPublicKeys']
@@ -604,6 +635,8 @@ module OCI
604
635
  fault_domains == other.fault_domains &&
605
636
  subnet_id == other.subnet_id &&
606
637
  backup_subnet_id == other.backup_subnet_id &&
638
+ nsg_ids == other.nsg_ids &&
639
+ backup_network_nsg_ids == other.backup_network_nsg_ids &&
607
640
  shape == other.shape &&
608
641
  ssh_public_keys == other.ssh_public_keys &&
609
642
  time_zone == other.time_zone &&
@@ -645,7 +678,7 @@ module OCI
645
678
  # Calculates hash code according to all attributes.
646
679
  # @return [Fixnum] Hash code
647
680
  def hash
648
- [iorm_config_cache, id, compartment_id, display_name, availability_domain, fault_domains, subnet_id, backup_subnet_id, shape, ssh_public_keys, time_zone, hostname, domain, version, cpu_core_count, cluster_name, data_storage_percentage, database_edition, last_patch_history_entry_id, listener_port, lifecycle_state, time_created, lifecycle_details, disk_redundancy, sparse_diskgroup, scan_ip_ids, vip_ids, scan_dns_record_id, data_storage_size_in_gbs, reco_storage_size_in_gb, node_count, license_model, freeform_tags, defined_tags].hash
681
+ [iorm_config_cache, id, compartment_id, display_name, availability_domain, fault_domains, subnet_id, backup_subnet_id, nsg_ids, backup_network_nsg_ids, shape, ssh_public_keys, time_zone, hostname, domain, version, cpu_core_count, cluster_name, data_storage_percentage, database_edition, last_patch_history_entry_id, listener_port, lifecycle_state, time_created, lifecycle_details, disk_redundancy, sparse_diskgroup, scan_ip_ids, vip_ids, scan_dns_record_id, data_storage_size_in_gbs, reco_storage_size_in_gb, node_count, license_model, freeform_tags, defined_tags].hash
649
682
  end
650
683
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
651
684
 
@@ -94,6 +94,19 @@ module OCI
94
94
  # @return [String]
95
95
  attr_accessor :backup_subnet_id
96
96
 
97
+ # The list of Network Security Group [OCIDs](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) associated with this DB system.
98
+ # A maximum of 5 allowed.
99
+ #
100
+ # @return [Array<String>]
101
+ attr_accessor :nsg_ids
102
+
103
+ # The list of Network Security Group [OCIDs](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) associated with the backup network of this DB system.
104
+ # Applicable only to Exadata DB systems.
105
+ # A maximum of 5 allowed.
106
+ #
107
+ # @return [Array<String>]
108
+ attr_accessor :backup_network_nsg_ids
109
+
97
110
  # **[Required]** The shape of the DB system. The shape determines resources to allocate to the DB system.
98
111
  # - For virtual machine shapes, the number of CPU cores and memory
99
112
  # - For bare metal and Exadata shapes, the number of CPU cores, storage, and memory
@@ -243,6 +256,8 @@ module OCI
243
256
  'fault_domains': :'faultDomains',
244
257
  'subnet_id': :'subnetId',
245
258
  'backup_subnet_id': :'backupSubnetId',
259
+ 'nsg_ids': :'nsgIds',
260
+ 'backup_network_nsg_ids': :'backupNetworkNsgIds',
246
261
  'shape': :'shape',
247
262
  'ssh_public_keys': :'sshPublicKeys',
248
263
  'time_zone': :'timeZone',
@@ -284,6 +299,8 @@ module OCI
284
299
  'fault_domains': :'Array<String>',
285
300
  'subnet_id': :'String',
286
301
  'backup_subnet_id': :'String',
302
+ 'nsg_ids': :'Array<String>',
303
+ 'backup_network_nsg_ids': :'Array<String>',
287
304
  'shape': :'String',
288
305
  'ssh_public_keys': :'Array<String>',
289
306
  'time_zone': :'String',
@@ -327,6 +344,8 @@ module OCI
327
344
  # @option attributes [Array<String>] :fault_domains The value to assign to the {#fault_domains} property
328
345
  # @option attributes [String] :subnet_id The value to assign to the {#subnet_id} property
329
346
  # @option attributes [String] :backup_subnet_id The value to assign to the {#backup_subnet_id} property
347
+ # @option attributes [Array<String>] :nsg_ids The value to assign to the {#nsg_ids} property
348
+ # @option attributes [Array<String>] :backup_network_nsg_ids The value to assign to the {#backup_network_nsg_ids} property
330
349
  # @option attributes [String] :shape The value to assign to the {#shape} property
331
350
  # @option attributes [Array<String>] :ssh_public_keys The value to assign to the {#ssh_public_keys} property
332
351
  # @option attributes [String] :time_zone The value to assign to the {#time_zone} property
@@ -397,6 +416,18 @@ module OCI
397
416
 
398
417
  self.backup_subnet_id = attributes[:'backup_subnet_id'] if attributes[:'backup_subnet_id']
399
418
 
419
+ self.nsg_ids = attributes[:'nsgIds'] if attributes[:'nsgIds']
420
+
421
+ raise 'You cannot provide both :nsgIds and :nsg_ids' if attributes.key?(:'nsgIds') && attributes.key?(:'nsg_ids')
422
+
423
+ self.nsg_ids = attributes[:'nsg_ids'] if attributes[:'nsg_ids']
424
+
425
+ self.backup_network_nsg_ids = attributes[:'backupNetworkNsgIds'] if attributes[:'backupNetworkNsgIds']
426
+
427
+ raise 'You cannot provide both :backupNetworkNsgIds and :backup_network_nsg_ids' if attributes.key?(:'backupNetworkNsgIds') && attributes.key?(:'backup_network_nsg_ids')
428
+
429
+ self.backup_network_nsg_ids = attributes[:'backup_network_nsg_ids'] if attributes[:'backup_network_nsg_ids']
430
+
400
431
  self.shape = attributes[:'shape'] if attributes[:'shape']
401
432
 
402
433
  self.ssh_public_keys = attributes[:'sshPublicKeys'] if attributes[:'sshPublicKeys']
@@ -608,6 +639,8 @@ module OCI
608
639
  fault_domains == other.fault_domains &&
609
640
  subnet_id == other.subnet_id &&
610
641
  backup_subnet_id == other.backup_subnet_id &&
642
+ nsg_ids == other.nsg_ids &&
643
+ backup_network_nsg_ids == other.backup_network_nsg_ids &&
611
644
  shape == other.shape &&
612
645
  ssh_public_keys == other.ssh_public_keys &&
613
646
  time_zone == other.time_zone &&
@@ -649,7 +682,7 @@ module OCI
649
682
  # Calculates hash code according to all attributes.
650
683
  # @return [Fixnum] Hash code
651
684
  def hash
652
- [id, compartment_id, display_name, availability_domain, fault_domains, subnet_id, backup_subnet_id, shape, ssh_public_keys, time_zone, hostname, domain, version, cpu_core_count, cluster_name, data_storage_percentage, database_edition, last_patch_history_entry_id, listener_port, lifecycle_state, time_created, lifecycle_details, disk_redundancy, sparse_diskgroup, scan_ip_ids, vip_ids, scan_dns_record_id, data_storage_size_in_gbs, reco_storage_size_in_gb, node_count, license_model, freeform_tags, defined_tags].hash
685
+ [id, compartment_id, display_name, availability_domain, fault_domains, subnet_id, backup_subnet_id, nsg_ids, backup_network_nsg_ids, shape, ssh_public_keys, time_zone, hostname, domain, version, cpu_core_count, cluster_name, data_storage_percentage, database_edition, last_patch_history_entry_id, listener_port, lifecycle_state, time_created, lifecycle_details, disk_redundancy, sparse_diskgroup, scan_ip_ids, vip_ids, scan_dns_record_id, data_storage_size_in_gbs, reco_storage_size_in_gb, node_count, license_model, freeform_tags, defined_tags].hash
653
686
  end
654
687
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
655
688