oci 2.4.2 → 2.4.3

Sign up to get free protection for your applications and to get access to all the features.
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