oci 2.4.2 → 2.4.3

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 (101) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/oci/core/models/attach_paravirtualized_volume_details.rb +21 -4
  4. data/lib/oci/core/models/boot_volume_attachment.rb +18 -4
  5. data/lib/oci/core/models/create_drg_attachment_details.rb +3 -0
  6. data/lib/oci/core/models/create_local_peering_gateway_details.rb +3 -0
  7. data/lib/oci/core/models/cross_connect_mapping.rb +8 -8
  8. data/lib/oci/core/models/dhcp_dns_option.rb +1 -1
  9. data/lib/oci/core/models/drg_attachment.rb +4 -1
  10. data/lib/oci/core/models/i_scsi_volume_attachment.rb +5 -1
  11. data/lib/oci/core/models/launch_instance_details.rb +18 -4
  12. data/lib/oci/core/models/launch_options.rb +18 -4
  13. data/lib/oci/core/models/local_peering_gateway.rb +4 -1
  14. data/lib/oci/core/models/paravirtualized_volume_attachment.rb +8 -4
  15. data/lib/oci/core/models/service.rb +1 -1
  16. data/lib/oci/core/models/update_drg_attachment_details.rb +4 -1
  17. data/lib/oci/core/models/update_local_peering_gateway_details.rb +4 -1
  18. data/lib/oci/core/models/volume_attachment.rb +18 -4
  19. data/lib/oci/core/models/volume_backup_schedule.rb +1 -1
  20. data/lib/oci/core/virtual_network_client.rb +1 -1
  21. data/lib/oci/database/database.rb +1 -0
  22. data/lib/oci/database/models/autonomous_data_warehouse.rb +132 -137
  23. data/lib/oci/database/models/autonomous_data_warehouse_backup.rb +77 -83
  24. data/lib/oci/database/models/autonomous_data_warehouse_backup_summary.rb +77 -77
  25. data/lib/oci/database/models/autonomous_data_warehouse_connection_strings.rb +22 -22
  26. data/lib/oci/database/models/autonomous_data_warehouse_summary.rb +133 -133
  27. data/lib/oci/database/models/autonomous_database.rb +132 -137
  28. data/lib/oci/database/models/autonomous_database_backup.rb +77 -83
  29. data/lib/oci/database/models/autonomous_database_backup_summary.rb +77 -77
  30. data/lib/oci/database/models/autonomous_database_connection_strings.rb +22 -22
  31. data/lib/oci/database/models/autonomous_database_summary.rb +133 -133
  32. data/lib/oci/database/models/backup.rb +102 -109
  33. data/lib/oci/database/models/backup_summary.rb +101 -101
  34. data/lib/oci/database/models/complete_external_backup_job_details.rb +39 -39
  35. data/lib/oci/database/models/create_autonomous_data_warehouse_backup_details.rb +18 -18
  36. data/lib/oci/database/models/create_autonomous_data_warehouse_details.rb +52 -52
  37. data/lib/oci/database/models/create_autonomous_database_backup_details.rb +18 -18
  38. data/lib/oci/database/models/create_autonomous_database_details.rb +52 -52
  39. data/lib/oci/database/models/create_data_guard_association_details.rb +22 -22
  40. data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +5 -5
  41. data/lib/oci/database/models/create_data_guard_association_with_new_db_system_details.rb +218 -0
  42. data/lib/oci/database/models/create_database_details.rb +62 -62
  43. data/lib/oci/database/models/create_database_from_backup_details.rb +18 -18
  44. data/lib/oci/database/models/create_db_home_details.rb +21 -21
  45. data/lib/oci/database/models/create_db_home_from_backup_details.rb +14 -14
  46. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +14 -14
  47. data/lib/oci/database/models/create_external_backup_job_details.rb +80 -80
  48. data/lib/oci/database/models/data_guard_association.rb +132 -144
  49. data/lib/oci/database/models/data_guard_association_summary.rb +131 -131
  50. data/lib/oci/database/models/database.rb +100 -108
  51. data/lib/oci/database/models/database_summary.rb +99 -99
  52. data/lib/oci/database/models/db_home.rb +39 -51
  53. data/lib/oci/database/models/db_home_summary.rb +39 -39
  54. data/lib/oci/database/models/db_node.rb +50 -58
  55. data/lib/oci/database/models/db_node_summary.rb +49 -49
  56. data/lib/oci/database/models/db_system.rb +295 -300
  57. data/lib/oci/database/models/db_system_shape_summary.rb +46 -46
  58. data/lib/oci/database/models/db_system_summary.rb +295 -280
  59. data/lib/oci/database/models/db_version_summary.rb +28 -14
  60. data/lib/oci/database/models/external_backup_job.rb +34 -34
  61. data/lib/oci/database/models/generate_autonomous_data_warehouse_wallet_details.rb +1 -1
  62. data/lib/oci/database/models/generate_autonomous_database_wallet_details.rb +1 -1
  63. data/lib/oci/database/models/launch_db_system_base.rb +160 -145
  64. data/lib/oci/database/models/launch_db_system_details.rb +59 -55
  65. data/lib/oci/database/models/launch_db_system_from_backup_details.rb +59 -55
  66. data/lib/oci/database/models/patch.rb +45 -53
  67. data/lib/oci/database/models/patch_details.rb +14 -14
  68. data/lib/oci/database/models/patch_history_entry.rb +48 -51
  69. data/lib/oci/database/models/patch_history_entry_summary.rb +47 -47
  70. data/lib/oci/database/models/patch_summary.rb +44 -44
  71. data/lib/oci/database/models/restore_database_details.rb +15 -15
  72. data/lib/oci/database/models/update_autonomous_data_warehouse_details.rb +36 -36
  73. data/lib/oci/database/models/update_autonomous_database_details.rb +36 -36
  74. data/lib/oci/database/models/update_database_details.rb +22 -22
  75. data/lib/oci/database/models/update_db_system_details.rb +38 -38
  76. data/lib/oci/dns/dns.rb +1 -0
  77. data/lib/oci/dns/dns_client.rb +14 -13
  78. data/lib/oci/dns/models/create_zone_details.rb +39 -2
  79. data/lib/oci/dns/models/external_master.rb +3 -1
  80. data/lib/oci/dns/models/nameserver.rb +149 -0
  81. data/lib/oci/dns/models/record.rb +3 -1
  82. data/lib/oci/dns/models/record_details.rb +3 -1
  83. data/lib/oci/dns/models/record_operation.rb +3 -1
  84. data/lib/oci/dns/models/tsig.rb +3 -2
  85. data/lib/oci/dns/models/update_zone_details.rb +40 -2
  86. data/lib/oci/dns/models/zone.rb +54 -6
  87. data/lib/oci/dns/models/zone_summary.rb +79 -5
  88. data/lib/oci/identity/identity.rb +4 -0
  89. data/lib/oci/identity/identity_client.rb +176 -0
  90. data/lib/oci/identity/identity_client_composite_operations.rb +40 -0
  91. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +20 -4
  92. data/lib/oci/identity/models/identity_provider_group_summary.rb +226 -0
  93. data/lib/oci/identity/models/saml2_identity_provider.rb +20 -4
  94. data/lib/oci/identity/models/scim_client_credentials.rb +168 -0
  95. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +20 -4
  96. data/lib/oci/identity/models/update_user_capabilities_details.rb +214 -0
  97. data/lib/oci/identity/models/user.rb +42 -4
  98. data/lib/oci/identity/models/user_capabilities.rb +209 -0
  99. data/lib/oci/regions.rb +10 -9
  100. data/lib/oci/version.rb +1 -1
  101. metadata +8 -2
@@ -18,6 +18,12 @@ module OCI
18
18
  # @return [String]
19
19
  attr_accessor :metadata
20
20
 
21
+ # Extra name value pairs associated with this identity provider.
22
+ # Example: `{\"clientId\": \"app_sf3kdjf3\"}`
23
+ #
24
+ # @return [Hash<String, String>]
25
+ attr_accessor :freeform_attributes
26
+
21
27
  # Attribute mapping from ruby-style variable name to JSON key.
22
28
  def self.attribute_map
23
29
  {
@@ -27,7 +33,8 @@ module OCI
27
33
  'freeform_tags': :'freeformTags',
28
34
  'defined_tags': :'definedTags',
29
35
  'metadata_url': :'metadataUrl',
30
- 'metadata': :'metadata'
36
+ 'metadata': :'metadata',
37
+ 'freeform_attributes': :'freeformAttributes'
31
38
  # rubocop:enable Style/SymbolLiteral
32
39
  }
33
40
  end
@@ -41,7 +48,8 @@ module OCI
41
48
  'freeform_tags': :'Hash<String, String>',
42
49
  'defined_tags': :'Hash<String, Hash<String, Object>>',
43
50
  'metadata_url': :'String',
44
- 'metadata': :'String'
51
+ 'metadata': :'String',
52
+ 'freeform_attributes': :'Hash<String, String>'
45
53
  # rubocop:enable Style/SymbolLiteral
46
54
  }
47
55
  end
@@ -57,6 +65,7 @@ module OCI
57
65
  # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {OCI::Identity::Models::UpdateIdentityProviderDetails#defined_tags #defined_tags} proprety
58
66
  # @option attributes [String] :metadata_url The value to assign to the {#metadata_url} property
59
67
  # @option attributes [String] :metadata The value to assign to the {#metadata} property
68
+ # @option attributes [Hash<String, String>] :freeform_attributes The value to assign to the {#freeform_attributes} property
60
69
  def initialize(attributes = {})
61
70
  return unless attributes.is_a?(Hash)
62
71
 
@@ -74,6 +83,12 @@ module OCI
74
83
  self.metadata_url = attributes[:'metadata_url'] if attributes[:'metadata_url']
75
84
 
76
85
  self.metadata = attributes[:'metadata'] if attributes[:'metadata']
86
+
87
+ self.freeform_attributes = attributes[:'freeformAttributes'] if attributes[:'freeformAttributes']
88
+
89
+ raise 'You cannot provide both :freeformAttributes and :freeform_attributes' if attributes.key?(:'freeformAttributes') && attributes.key?(:'freeform_attributes')
90
+
91
+ self.freeform_attributes = attributes[:'freeform_attributes'] if attributes[:'freeform_attributes']
77
92
  end
78
93
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
79
94
  # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -92,7 +107,8 @@ module OCI
92
107
  freeform_tags == other.freeform_tags &&
93
108
  defined_tags == other.defined_tags &&
94
109
  metadata_url == other.metadata_url &&
95
- metadata == other.metadata
110
+ metadata == other.metadata &&
111
+ freeform_attributes == other.freeform_attributes
96
112
  end
97
113
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
98
114
 
@@ -108,7 +124,7 @@ module OCI
108
124
  # Calculates hash code according to all attributes.
109
125
  # @return [Fixnum] Hash code
110
126
  def hash
111
- [protocol, description, freeform_tags, defined_tags, metadata_url, metadata].hash
127
+ [protocol, description, freeform_tags, defined_tags, metadata_url, metadata, freeform_attributes].hash
112
128
  end
113
129
  # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
114
130
 
@@ -0,0 +1,214 @@
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ # rubocop:disable Lint/UnneededCopDisableDirective
6
+ module OCI
7
+ # UpdateUserCapabilitiesDetails model.
8
+ class Identity::Models::UpdateUserCapabilitiesDetails # rubocop:disable Metrics/LineLength
9
+ # Indicates if the user can log in to the console.
10
+ #
11
+ # @return [BOOLEAN]
12
+ attr_accessor :can_use_console_password
13
+
14
+ # Indicates if the user can use API keys.
15
+ #
16
+ # @return [BOOLEAN]
17
+ attr_accessor :can_use_api_keys
18
+
19
+ # Indicates if the user can use SWIFT passwords / auth tokens.
20
+ #
21
+ # @return [BOOLEAN]
22
+ attr_accessor :can_use_auth_tokens
23
+
24
+ # Indicates if the user can use SMTP passwords.
25
+ #
26
+ # @return [BOOLEAN]
27
+ attr_accessor :can_use_smtp_credentials
28
+
29
+ # Indicates if the user can use SigV4 symmetric keys.
30
+ #
31
+ # @return [BOOLEAN]
32
+ attr_accessor :can_use_customer_secret_keys
33
+
34
+ # Attribute mapping from ruby-style variable name to JSON key.
35
+ def self.attribute_map
36
+ {
37
+ # rubocop:disable Style/SymbolLiteral
38
+ 'can_use_console_password': :'canUseConsolePassword',
39
+ 'can_use_api_keys': :'canUseApiKeys',
40
+ 'can_use_auth_tokens': :'canUseAuthTokens',
41
+ 'can_use_smtp_credentials': :'canUseSmtpCredentials',
42
+ 'can_use_customer_secret_keys': :'canUseCustomerSecretKeys'
43
+ # rubocop:enable Style/SymbolLiteral
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ def self.swagger_types
49
+ {
50
+ # rubocop:disable Style/SymbolLiteral
51
+ 'can_use_console_password': :'BOOLEAN',
52
+ 'can_use_api_keys': :'BOOLEAN',
53
+ 'can_use_auth_tokens': :'BOOLEAN',
54
+ 'can_use_smtp_credentials': :'BOOLEAN',
55
+ 'can_use_customer_secret_keys': :'BOOLEAN'
56
+ # rubocop:enable Style/SymbolLiteral
57
+ }
58
+ end
59
+
60
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
61
+ # rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
62
+
63
+
64
+ # Initializes the object
65
+ # @param [Hash] attributes Model attributes in the form of hash
66
+ # @option attributes [BOOLEAN] :can_use_console_password The value to assign to the {#can_use_console_password} property
67
+ # @option attributes [BOOLEAN] :can_use_api_keys The value to assign to the {#can_use_api_keys} property
68
+ # @option attributes [BOOLEAN] :can_use_auth_tokens The value to assign to the {#can_use_auth_tokens} property
69
+ # @option attributes [BOOLEAN] :can_use_smtp_credentials The value to assign to the {#can_use_smtp_credentials} property
70
+ # @option attributes [BOOLEAN] :can_use_customer_secret_keys The value to assign to the {#can_use_customer_secret_keys} property
71
+ def initialize(attributes = {})
72
+ return unless attributes.is_a?(Hash)
73
+
74
+ # convert string to symbol for hash key
75
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
76
+
77
+ self.can_use_console_password = attributes[:'canUseConsolePassword'] unless attributes[:'canUseConsolePassword'].nil?
78
+
79
+ raise 'You cannot provide both :canUseConsolePassword and :can_use_console_password' if attributes.key?(:'canUseConsolePassword') && attributes.key?(:'can_use_console_password')
80
+
81
+ self.can_use_console_password = attributes[:'can_use_console_password'] unless attributes[:'can_use_console_password'].nil?
82
+
83
+ self.can_use_api_keys = attributes[:'canUseApiKeys'] unless attributes[:'canUseApiKeys'].nil?
84
+
85
+ raise 'You cannot provide both :canUseApiKeys and :can_use_api_keys' if attributes.key?(:'canUseApiKeys') && attributes.key?(:'can_use_api_keys')
86
+
87
+ self.can_use_api_keys = attributes[:'can_use_api_keys'] unless attributes[:'can_use_api_keys'].nil?
88
+
89
+ self.can_use_auth_tokens = attributes[:'canUseAuthTokens'] unless attributes[:'canUseAuthTokens'].nil?
90
+
91
+ raise 'You cannot provide both :canUseAuthTokens and :can_use_auth_tokens' if attributes.key?(:'canUseAuthTokens') && attributes.key?(:'can_use_auth_tokens')
92
+
93
+ self.can_use_auth_tokens = attributes[:'can_use_auth_tokens'] unless attributes[:'can_use_auth_tokens'].nil?
94
+
95
+ self.can_use_smtp_credentials = attributes[:'canUseSmtpCredentials'] unless attributes[:'canUseSmtpCredentials'].nil?
96
+
97
+ raise 'You cannot provide both :canUseSmtpCredentials and :can_use_smtp_credentials' if attributes.key?(:'canUseSmtpCredentials') && attributes.key?(:'can_use_smtp_credentials')
98
+
99
+ self.can_use_smtp_credentials = attributes[:'can_use_smtp_credentials'] unless attributes[:'can_use_smtp_credentials'].nil?
100
+
101
+ self.can_use_customer_secret_keys = attributes[:'canUseCustomerSecretKeys'] unless attributes[:'canUseCustomerSecretKeys'].nil?
102
+
103
+ raise 'You cannot provide both :canUseCustomerSecretKeys and :can_use_customer_secret_keys' if attributes.key?(:'canUseCustomerSecretKeys') && attributes.key?(:'can_use_customer_secret_keys')
104
+
105
+ self.can_use_customer_secret_keys = attributes[:'can_use_customer_secret_keys'] unless attributes[:'can_use_customer_secret_keys'].nil?
106
+ end
107
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
108
+ # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
109
+
110
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
111
+
112
+
113
+ # Checks equality by comparing each attribute.
114
+ # @param [Object] other the other object to be compared
115
+ def ==(other)
116
+ return true if equal?(other)
117
+
118
+ self.class == other.class &&
119
+ can_use_console_password == other.can_use_console_password &&
120
+ can_use_api_keys == other.can_use_api_keys &&
121
+ can_use_auth_tokens == other.can_use_auth_tokens &&
122
+ can_use_smtp_credentials == other.can_use_smtp_credentials &&
123
+ can_use_customer_secret_keys == other.can_use_customer_secret_keys
124
+ end
125
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
126
+
127
+ # @see the `==` method
128
+ # @param [Object] other the other object to be compared
129
+ def eql?(other)
130
+ self == other
131
+ end
132
+
133
+ # rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
134
+
135
+
136
+ # Calculates hash code according to all attributes.
137
+ # @return [Fixnum] Hash code
138
+ def hash
139
+ [can_use_console_password, can_use_api_keys, can_use_auth_tokens, can_use_smtp_credentials, can_use_customer_secret_keys].hash
140
+ end
141
+ # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
142
+
143
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
144
+
145
+
146
+ # Builds the object from hash
147
+ # @param [Hash] attributes Model attributes in the form of hash
148
+ # @return [Object] Returns the model itself
149
+ def build_from_hash(attributes)
150
+ return nil unless attributes.is_a?(Hash)
151
+
152
+ self.class.swagger_types.each_pair do |key, type|
153
+ if type =~ /^Array<(.*)>/i
154
+ # check to ensure the input is an array given that the the attribute
155
+ # is documented as an array but the input is not
156
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
157
+ public_method("#{key}=").call(
158
+ attributes[self.class.attribute_map[key]]
159
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
160
+ )
161
+ end
162
+ elsif !attributes[self.class.attribute_map[key]].nil?
163
+ public_method("#{key}=").call(
164
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
165
+ )
166
+ end
167
+ # or else data not found in attributes(hash), not an issue as the data can be optional
168
+ end
169
+
170
+ self
171
+ end
172
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
173
+
174
+ # Returns the string representation of the object
175
+ # @return [String] String presentation of the object
176
+ def to_s
177
+ to_hash.to_s
178
+ end
179
+
180
+ # Returns the object in the form of hash
181
+ # @return [Hash] Returns the object in the form of hash
182
+ def to_hash
183
+ hash = {}
184
+ self.class.attribute_map.each_pair do |attr, param|
185
+ value = public_method(attr).call
186
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
187
+
188
+ hash[param] = _to_hash(value)
189
+ end
190
+ hash
191
+ end
192
+
193
+ private
194
+
195
+ # Outputs non-array value in the form of hash
196
+ # For object, use to_hash. Otherwise, just return the value
197
+ # @param [Object] value Any valid value
198
+ # @return [Hash] Returns the value in the form of hash
199
+ def _to_hash(value)
200
+ if value.is_a?(Array)
201
+ value.compact.map { |v| _to_hash(v) }
202
+ elsif value.is_a?(Hash)
203
+ {}.tap do |hash|
204
+ value.each { |k, v| hash[k] = _to_hash(v) }
205
+ end
206
+ elsif value.respond_to? :to_hash
207
+ value.to_hash
208
+ else
209
+ value
210
+ end
211
+ end
212
+ end
213
+ end
214
+ # rubocop:enable Lint/UnneededCopDisableDirective
@@ -51,6 +51,14 @@ module OCI
51
51
  # @return [String]
52
52
  attr_accessor :description
53
53
 
54
+ # The OCID of the `IdentityProvider` this user belongs to.
55
+ # @return [String]
56
+ attr_accessor :identity_provider_id
57
+
58
+ # Identifier of the user in the identity provider
59
+ # @return [String]
60
+ attr_accessor :external_identifier
61
+
54
62
  # **[Required]** Date and time the user was created, in the format defined by RFC3339.
55
63
  #
56
64
  # Example: `2016-08-25T21:10:29.600Z`
@@ -88,6 +96,10 @@ module OCI
88
96
  # @return [Hash<String, Hash<String, Object>>]
89
97
  attr_accessor :defined_tags
90
98
 
99
+ # Properties indicating how the user is allowed to authenticate.
100
+ # @return [OCI::Identity::Models::UserCapabilities]
101
+ attr_accessor :capabilities
102
+
91
103
  # Attribute mapping from ruby-style variable name to JSON key.
92
104
  def self.attribute_map
93
105
  {
@@ -96,11 +108,14 @@ module OCI
96
108
  'compartment_id': :'compartmentId',
97
109
  'name': :'name',
98
110
  'description': :'description',
111
+ 'identity_provider_id': :'identityProviderId',
112
+ 'external_identifier': :'externalIdentifier',
99
113
  'time_created': :'timeCreated',
100
114
  'lifecycle_state': :'lifecycleState',
101
115
  'inactive_status': :'inactiveStatus',
102
116
  'freeform_tags': :'freeformTags',
103
- 'defined_tags': :'definedTags'
117
+ 'defined_tags': :'definedTags',
118
+ 'capabilities': :'capabilities'
104
119
  # rubocop:enable Style/SymbolLiteral
105
120
  }
106
121
  end
@@ -113,11 +128,14 @@ module OCI
113
128
  'compartment_id': :'String',
114
129
  'name': :'String',
115
130
  'description': :'String',
131
+ 'identity_provider_id': :'String',
132
+ 'external_identifier': :'String',
116
133
  'time_created': :'DateTime',
117
134
  'lifecycle_state': :'String',
118
135
  'inactive_status': :'Integer',
119
136
  'freeform_tags': :'Hash<String, String>',
120
- 'defined_tags': :'Hash<String, Hash<String, Object>>'
137
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
138
+ 'capabilities': :'OCI::Identity::Models::UserCapabilities'
121
139
  # rubocop:enable Style/SymbolLiteral
122
140
  }
123
141
  end
@@ -132,11 +150,14 @@ module OCI
132
150
  # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
133
151
  # @option attributes [String] :name The value to assign to the {#name} property
134
152
  # @option attributes [String] :description The value to assign to the {#description} property
153
+ # @option attributes [String] :identity_provider_id The value to assign to the {#identity_provider_id} property
154
+ # @option attributes [String] :external_identifier The value to assign to the {#external_identifier} property
135
155
  # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
136
156
  # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
137
157
  # @option attributes [Integer] :inactive_status The value to assign to the {#inactive_status} property
138
158
  # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
139
159
  # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
160
+ # @option attributes [OCI::Identity::Models::UserCapabilities] :capabilities The value to assign to the {#capabilities} property
140
161
  def initialize(attributes = {})
141
162
  return unless attributes.is_a?(Hash)
142
163
 
@@ -155,6 +176,18 @@ module OCI
155
176
 
156
177
  self.description = attributes[:'description'] if attributes[:'description']
157
178
 
179
+ self.identity_provider_id = attributes[:'identityProviderId'] if attributes[:'identityProviderId']
180
+
181
+ raise 'You cannot provide both :identityProviderId and :identity_provider_id' if attributes.key?(:'identityProviderId') && attributes.key?(:'identity_provider_id')
182
+
183
+ self.identity_provider_id = attributes[:'identity_provider_id'] if attributes[:'identity_provider_id']
184
+
185
+ self.external_identifier = attributes[:'externalIdentifier'] if attributes[:'externalIdentifier']
186
+
187
+ raise 'You cannot provide both :externalIdentifier and :external_identifier' if attributes.key?(:'externalIdentifier') && attributes.key?(:'external_identifier')
188
+
189
+ self.external_identifier = attributes[:'external_identifier'] if attributes[:'external_identifier']
190
+
158
191
  self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
159
192
 
160
193
  raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
@@ -184,6 +217,8 @@ module OCI
184
217
  raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
185
218
 
186
219
  self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
220
+
221
+ self.capabilities = attributes[:'capabilities'] if attributes[:'capabilities']
187
222
  end
188
223
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
189
224
  # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -216,11 +251,14 @@ module OCI
216
251
  compartment_id == other.compartment_id &&
217
252
  name == other.name &&
218
253
  description == other.description &&
254
+ identity_provider_id == other.identity_provider_id &&
255
+ external_identifier == other.external_identifier &&
219
256
  time_created == other.time_created &&
220
257
  lifecycle_state == other.lifecycle_state &&
221
258
  inactive_status == other.inactive_status &&
222
259
  freeform_tags == other.freeform_tags &&
223
- defined_tags == other.defined_tags
260
+ defined_tags == other.defined_tags &&
261
+ capabilities == other.capabilities
224
262
  end
225
263
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
226
264
 
@@ -236,7 +274,7 @@ module OCI
236
274
  # Calculates hash code according to all attributes.
237
275
  # @return [Fixnum] Hash code
238
276
  def hash
239
- [id, compartment_id, name, description, time_created, lifecycle_state, inactive_status, freeform_tags, defined_tags].hash
277
+ [id, compartment_id, name, description, identity_provider_id, external_identifier, time_created, lifecycle_state, inactive_status, freeform_tags, defined_tags, capabilities].hash
240
278
  end
241
279
  # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
242
280
 
@@ -0,0 +1,209 @@
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ # rubocop:disable Lint/UnneededCopDisableDirective
6
+ module OCI
7
+ # Properties indicating how the user is allowed to authenticate.
8
+ class Identity::Models::UserCapabilities # rubocop:disable Metrics/LineLength
9
+ # Indicates if the user can log in to the console.
10
+ # @return [BOOLEAN]
11
+ attr_accessor :can_use_console_password
12
+
13
+ # Indicates if the user can use API keys.
14
+ # @return [BOOLEAN]
15
+ attr_accessor :can_use_api_keys
16
+
17
+ # Indicates if the user can use SWIFT passwords / auth tokens.
18
+ # @return [BOOLEAN]
19
+ attr_accessor :can_use_auth_tokens
20
+
21
+ # Indicates if the user can use SMTP passwords.
22
+ # @return [BOOLEAN]
23
+ attr_accessor :can_use_smtp_credentials
24
+
25
+ # Indicates if the user can use SigV4 symmetric keys.
26
+ # @return [BOOLEAN]
27
+ attr_accessor :can_use_customer_secret_keys
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ def self.attribute_map
31
+ {
32
+ # rubocop:disable Style/SymbolLiteral
33
+ 'can_use_console_password': :'canUseConsolePassword',
34
+ 'can_use_api_keys': :'canUseApiKeys',
35
+ 'can_use_auth_tokens': :'canUseAuthTokens',
36
+ 'can_use_smtp_credentials': :'canUseSmtpCredentials',
37
+ 'can_use_customer_secret_keys': :'canUseCustomerSecretKeys'
38
+ # rubocop:enable Style/SymbolLiteral
39
+ }
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.swagger_types
44
+ {
45
+ # rubocop:disable Style/SymbolLiteral
46
+ 'can_use_console_password': :'BOOLEAN',
47
+ 'can_use_api_keys': :'BOOLEAN',
48
+ 'can_use_auth_tokens': :'BOOLEAN',
49
+ 'can_use_smtp_credentials': :'BOOLEAN',
50
+ 'can_use_customer_secret_keys': :'BOOLEAN'
51
+ # rubocop:enable Style/SymbolLiteral
52
+ }
53
+ end
54
+
55
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
56
+ # rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
57
+
58
+
59
+ # Initializes the object
60
+ # @param [Hash] attributes Model attributes in the form of hash
61
+ # @option attributes [BOOLEAN] :can_use_console_password The value to assign to the {#can_use_console_password} property
62
+ # @option attributes [BOOLEAN] :can_use_api_keys The value to assign to the {#can_use_api_keys} property
63
+ # @option attributes [BOOLEAN] :can_use_auth_tokens The value to assign to the {#can_use_auth_tokens} property
64
+ # @option attributes [BOOLEAN] :can_use_smtp_credentials The value to assign to the {#can_use_smtp_credentials} property
65
+ # @option attributes [BOOLEAN] :can_use_customer_secret_keys The value to assign to the {#can_use_customer_secret_keys} property
66
+ def initialize(attributes = {})
67
+ return unless attributes.is_a?(Hash)
68
+
69
+ # convert string to symbol for hash key
70
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
71
+
72
+ self.can_use_console_password = attributes[:'canUseConsolePassword'] unless attributes[:'canUseConsolePassword'].nil?
73
+
74
+ raise 'You cannot provide both :canUseConsolePassword and :can_use_console_password' if attributes.key?(:'canUseConsolePassword') && attributes.key?(:'can_use_console_password')
75
+
76
+ self.can_use_console_password = attributes[:'can_use_console_password'] unless attributes[:'can_use_console_password'].nil?
77
+
78
+ self.can_use_api_keys = attributes[:'canUseApiKeys'] unless attributes[:'canUseApiKeys'].nil?
79
+
80
+ raise 'You cannot provide both :canUseApiKeys and :can_use_api_keys' if attributes.key?(:'canUseApiKeys') && attributes.key?(:'can_use_api_keys')
81
+
82
+ self.can_use_api_keys = attributes[:'can_use_api_keys'] unless attributes[:'can_use_api_keys'].nil?
83
+
84
+ self.can_use_auth_tokens = attributes[:'canUseAuthTokens'] unless attributes[:'canUseAuthTokens'].nil?
85
+
86
+ raise 'You cannot provide both :canUseAuthTokens and :can_use_auth_tokens' if attributes.key?(:'canUseAuthTokens') && attributes.key?(:'can_use_auth_tokens')
87
+
88
+ self.can_use_auth_tokens = attributes[:'can_use_auth_tokens'] unless attributes[:'can_use_auth_tokens'].nil?
89
+
90
+ self.can_use_smtp_credentials = attributes[:'canUseSmtpCredentials'] unless attributes[:'canUseSmtpCredentials'].nil?
91
+
92
+ raise 'You cannot provide both :canUseSmtpCredentials and :can_use_smtp_credentials' if attributes.key?(:'canUseSmtpCredentials') && attributes.key?(:'can_use_smtp_credentials')
93
+
94
+ self.can_use_smtp_credentials = attributes[:'can_use_smtp_credentials'] unless attributes[:'can_use_smtp_credentials'].nil?
95
+
96
+ self.can_use_customer_secret_keys = attributes[:'canUseCustomerSecretKeys'] unless attributes[:'canUseCustomerSecretKeys'].nil?
97
+
98
+ raise 'You cannot provide both :canUseCustomerSecretKeys and :can_use_customer_secret_keys' if attributes.key?(:'canUseCustomerSecretKeys') && attributes.key?(:'can_use_customer_secret_keys')
99
+
100
+ self.can_use_customer_secret_keys = attributes[:'can_use_customer_secret_keys'] unless attributes[:'can_use_customer_secret_keys'].nil?
101
+ end
102
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
103
+ # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
104
+
105
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
106
+
107
+
108
+ # Checks equality by comparing each attribute.
109
+ # @param [Object] other the other object to be compared
110
+ def ==(other)
111
+ return true if equal?(other)
112
+
113
+ self.class == other.class &&
114
+ can_use_console_password == other.can_use_console_password &&
115
+ can_use_api_keys == other.can_use_api_keys &&
116
+ can_use_auth_tokens == other.can_use_auth_tokens &&
117
+ can_use_smtp_credentials == other.can_use_smtp_credentials &&
118
+ can_use_customer_secret_keys == other.can_use_customer_secret_keys
119
+ end
120
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
121
+
122
+ # @see the `==` method
123
+ # @param [Object] other the other object to be compared
124
+ def eql?(other)
125
+ self == other
126
+ end
127
+
128
+ # rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
129
+
130
+
131
+ # Calculates hash code according to all attributes.
132
+ # @return [Fixnum] Hash code
133
+ def hash
134
+ [can_use_console_password, can_use_api_keys, can_use_auth_tokens, can_use_smtp_credentials, can_use_customer_secret_keys].hash
135
+ end
136
+ # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
137
+
138
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
139
+
140
+
141
+ # Builds the object from hash
142
+ # @param [Hash] attributes Model attributes in the form of hash
143
+ # @return [Object] Returns the model itself
144
+ def build_from_hash(attributes)
145
+ return nil unless attributes.is_a?(Hash)
146
+
147
+ self.class.swagger_types.each_pair do |key, type|
148
+ if type =~ /^Array<(.*)>/i
149
+ # check to ensure the input is an array given that the the attribute
150
+ # is documented as an array but the input is not
151
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
152
+ public_method("#{key}=").call(
153
+ attributes[self.class.attribute_map[key]]
154
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
155
+ )
156
+ end
157
+ elsif !attributes[self.class.attribute_map[key]].nil?
158
+ public_method("#{key}=").call(
159
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
160
+ )
161
+ end
162
+ # or else data not found in attributes(hash), not an issue as the data can be optional
163
+ end
164
+
165
+ self
166
+ end
167
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
168
+
169
+ # Returns the string representation of the object
170
+ # @return [String] String presentation of the object
171
+ def to_s
172
+ to_hash.to_s
173
+ end
174
+
175
+ # Returns the object in the form of hash
176
+ # @return [Hash] Returns the object in the form of hash
177
+ def to_hash
178
+ hash = {}
179
+ self.class.attribute_map.each_pair do |attr, param|
180
+ value = public_method(attr).call
181
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
182
+
183
+ hash[param] = _to_hash(value)
184
+ end
185
+ hash
186
+ end
187
+
188
+ private
189
+
190
+ # Outputs non-array value in the form of hash
191
+ # For object, use to_hash. Otherwise, just return the value
192
+ # @param [Object] value Any valid value
193
+ # @return [Hash] Returns the value in the form of hash
194
+ def _to_hash(value)
195
+ if value.is_a?(Array)
196
+ value.compact.map { |v| _to_hash(v) }
197
+ elsif value.is_a?(Hash)
198
+ {}.tap do |hash|
199
+ value.each { |k, v| hash[k] = _to_hash(v) }
200
+ end
201
+ elsif value.respond_to? :to_hash
202
+ value.to_hash
203
+ else
204
+ value
205
+ end
206
+ end
207
+ end
208
+ end
209
+ # rubocop:enable Lint/UnneededCopDisableDirective