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
  {
@@ -30,7 +36,8 @@ module OCI
30
36
  'freeform_tags': :'freeformTags',
31
37
  'defined_tags': :'definedTags',
32
38
  'metadata_url': :'metadataUrl',
33
- 'metadata': :'metadata'
39
+ 'metadata': :'metadata',
40
+ 'freeform_attributes': :'freeformAttributes'
34
41
  # rubocop:enable Style/SymbolLiteral
35
42
  }
36
43
  end
@@ -47,7 +54,8 @@ module OCI
47
54
  'freeform_tags': :'Hash<String, String>',
48
55
  'defined_tags': :'Hash<String, Hash<String, Object>>',
49
56
  'metadata_url': :'String',
50
- 'metadata': :'String'
57
+ 'metadata': :'String',
58
+ 'freeform_attributes': :'Hash<String, String>'
51
59
  # rubocop:enable Style/SymbolLiteral
52
60
  }
53
61
  end
@@ -66,6 +74,7 @@ module OCI
66
74
  # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {OCI::Identity::Models::CreateIdentityProviderDetails#defined_tags #defined_tags} proprety
67
75
  # @option attributes [String] :metadata_url The value to assign to the {#metadata_url} property
68
76
  # @option attributes [String] :metadata The value to assign to the {#metadata} property
77
+ # @option attributes [Hash<String, String>] :freeform_attributes The value to assign to the {#freeform_attributes} property
69
78
  def initialize(attributes = {})
70
79
  return unless attributes.is_a?(Hash)
71
80
 
@@ -83,6 +92,12 @@ module OCI
83
92
  self.metadata_url = attributes[:'metadata_url'] if attributes[:'metadata_url']
84
93
 
85
94
  self.metadata = attributes[:'metadata'] if attributes[:'metadata']
95
+
96
+ self.freeform_attributes = attributes[:'freeformAttributes'] if attributes[:'freeformAttributes']
97
+
98
+ raise 'You cannot provide both :freeformAttributes and :freeform_attributes' if attributes.key?(:'freeformAttributes') && attributes.key?(:'freeform_attributes')
99
+
100
+ self.freeform_attributes = attributes[:'freeform_attributes'] if attributes[:'freeform_attributes']
86
101
  end
87
102
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
88
103
  # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -104,7 +119,8 @@ module OCI
104
119
  freeform_tags == other.freeform_tags &&
105
120
  defined_tags == other.defined_tags &&
106
121
  metadata_url == other.metadata_url &&
107
- metadata == other.metadata
122
+ metadata == other.metadata &&
123
+ freeform_attributes == other.freeform_attributes
108
124
  end
109
125
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
110
126
 
@@ -120,7 +136,7 @@ module OCI
120
136
  # Calculates hash code according to all attributes.
121
137
  # @return [Fixnum] Hash code
122
138
  def hash
123
- [compartment_id, name, description, product_type, protocol, freeform_tags, defined_tags, metadata_url, metadata].hash
139
+ [compartment_id, name, description, product_type, protocol, freeform_tags, defined_tags, metadata_url, metadata, freeform_attributes].hash
124
140
  end
125
141
  # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
126
142
 
@@ -0,0 +1,226 @@
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
+ # A group created in an identity provider that can be mapped to a group in OCI
8
+ #
9
+ class Identity::Models::IdentityProviderGroupSummary # rubocop:disable Metrics/LineLength
10
+ # The OCID of the `IdentityProviderGroup`.
11
+ # @return [String]
12
+ attr_accessor :id
13
+
14
+ # The OCID of the `IdentityProvider` this group belongs to.
15
+ # @return [String]
16
+ attr_accessor :identity_provider_id
17
+
18
+ # Display name of the group
19
+ # @return [String]
20
+ attr_accessor :display_name
21
+
22
+ # Identifier of the group in the identity provider
23
+ # @return [String]
24
+ attr_accessor :external_identifier
25
+
26
+ # Date and time the `IdentityProviderGroup` was created, in the format defined by RFC3339.
27
+ #
28
+ # Example: `2016-08-25T21:10:29.600Z`
29
+ #
30
+ # @return [DateTime]
31
+ attr_accessor :time_created
32
+
33
+ # Date and time the `IdentityProviderGroup` was last modified, in the format defined by RFC3339.
34
+ #
35
+ # Example: `2016-08-25T21:10:29.600Z`
36
+ #
37
+ # @return [DateTime]
38
+ attr_accessor :time_modified
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ # rubocop:disable Style/SymbolLiteral
44
+ 'id': :'id',
45
+ 'identity_provider_id': :'identityProviderId',
46
+ 'display_name': :'displayName',
47
+ 'external_identifier': :'externalIdentifier',
48
+ 'time_created': :'timeCreated',
49
+ 'time_modified': :'timeModified'
50
+ # rubocop:enable Style/SymbolLiteral
51
+ }
52
+ end
53
+
54
+ # Attribute type mapping.
55
+ def self.swagger_types
56
+ {
57
+ # rubocop:disable Style/SymbolLiteral
58
+ 'id': :'String',
59
+ 'identity_provider_id': :'String',
60
+ 'display_name': :'String',
61
+ 'external_identifier': :'String',
62
+ 'time_created': :'DateTime',
63
+ 'time_modified': :'DateTime'
64
+ # rubocop:enable Style/SymbolLiteral
65
+ }
66
+ end
67
+
68
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
69
+ # rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
70
+
71
+
72
+ # Initializes the object
73
+ # @param [Hash] attributes Model attributes in the form of hash
74
+ # @option attributes [String] :id The value to assign to the {#id} property
75
+ # @option attributes [String] :identity_provider_id The value to assign to the {#identity_provider_id} property
76
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
77
+ # @option attributes [String] :external_identifier The value to assign to the {#external_identifier} property
78
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
79
+ # @option attributes [DateTime] :time_modified The value to assign to the {#time_modified} property
80
+ def initialize(attributes = {})
81
+ return unless attributes.is_a?(Hash)
82
+
83
+ # convert string to symbol for hash key
84
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
85
+
86
+ self.id = attributes[:'id'] if attributes[:'id']
87
+
88
+ self.identity_provider_id = attributes[:'identityProviderId'] if attributes[:'identityProviderId']
89
+
90
+ raise 'You cannot provide both :identityProviderId and :identity_provider_id' if attributes.key?(:'identityProviderId') && attributes.key?(:'identity_provider_id')
91
+
92
+ self.identity_provider_id = attributes[:'identity_provider_id'] if attributes[:'identity_provider_id']
93
+
94
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
95
+
96
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
97
+
98
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
99
+
100
+ self.external_identifier = attributes[:'externalIdentifier'] if attributes[:'externalIdentifier']
101
+
102
+ raise 'You cannot provide both :externalIdentifier and :external_identifier' if attributes.key?(:'externalIdentifier') && attributes.key?(:'external_identifier')
103
+
104
+ self.external_identifier = attributes[:'external_identifier'] if attributes[:'external_identifier']
105
+
106
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
107
+
108
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
109
+
110
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
111
+
112
+ self.time_modified = attributes[:'timeModified'] if attributes[:'timeModified']
113
+
114
+ raise 'You cannot provide both :timeModified and :time_modified' if attributes.key?(:'timeModified') && attributes.key?(:'time_modified')
115
+
116
+ self.time_modified = attributes[:'time_modified'] if attributes[:'time_modified']
117
+ end
118
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
119
+ # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
120
+
121
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
122
+
123
+
124
+ # Checks equality by comparing each attribute.
125
+ # @param [Object] other the other object to be compared
126
+ def ==(other)
127
+ return true if equal?(other)
128
+
129
+ self.class == other.class &&
130
+ id == other.id &&
131
+ identity_provider_id == other.identity_provider_id &&
132
+ display_name == other.display_name &&
133
+ external_identifier == other.external_identifier &&
134
+ time_created == other.time_created &&
135
+ time_modified == other.time_modified
136
+ end
137
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
138
+
139
+ # @see the `==` method
140
+ # @param [Object] other the other object to be compared
141
+ def eql?(other)
142
+ self == other
143
+ end
144
+
145
+ # rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
146
+
147
+
148
+ # Calculates hash code according to all attributes.
149
+ # @return [Fixnum] Hash code
150
+ def hash
151
+ [id, identity_provider_id, display_name, external_identifier, time_created, time_modified].hash
152
+ end
153
+ # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
154
+
155
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
156
+
157
+
158
+ # Builds the object from hash
159
+ # @param [Hash] attributes Model attributes in the form of hash
160
+ # @return [Object] Returns the model itself
161
+ def build_from_hash(attributes)
162
+ return nil unless attributes.is_a?(Hash)
163
+
164
+ self.class.swagger_types.each_pair do |key, type|
165
+ if type =~ /^Array<(.*)>/i
166
+ # check to ensure the input is an array given that the the attribute
167
+ # is documented as an array but the input is not
168
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
169
+ public_method("#{key}=").call(
170
+ attributes[self.class.attribute_map[key]]
171
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
172
+ )
173
+ end
174
+ elsif !attributes[self.class.attribute_map[key]].nil?
175
+ public_method("#{key}=").call(
176
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
177
+ )
178
+ end
179
+ # or else data not found in attributes(hash), not an issue as the data can be optional
180
+ end
181
+
182
+ self
183
+ end
184
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
185
+
186
+ # Returns the string representation of the object
187
+ # @return [String] String presentation of the object
188
+ def to_s
189
+ to_hash.to_s
190
+ end
191
+
192
+ # Returns the object in the form of hash
193
+ # @return [Hash] Returns the object in the form of hash
194
+ def to_hash
195
+ hash = {}
196
+ self.class.attribute_map.each_pair do |attr, param|
197
+ value = public_method(attr).call
198
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
199
+
200
+ hash[param] = _to_hash(value)
201
+ end
202
+ hash
203
+ end
204
+
205
+ private
206
+
207
+ # Outputs non-array value in the form of hash
208
+ # For object, use to_hash. Otherwise, just return the value
209
+ # @param [Object] value Any valid value
210
+ # @return [Hash] Returns the value in the form of hash
211
+ def _to_hash(value)
212
+ if value.is_a?(Array)
213
+ value.compact.map { |v| _to_hash(v) }
214
+ elsif value.is_a?(Hash)
215
+ {}.tap do |hash|
216
+ value.each { |k, v| hash[k] = _to_hash(v) }
217
+ end
218
+ elsif value.respond_to? :to_hash
219
+ value.to_hash
220
+ else
221
+ value
222
+ end
223
+ end
224
+ end
225
+ end
226
+ # rubocop:enable Lint/UnneededCopDisableDirective
@@ -28,6 +28,12 @@ module OCI
28
28
  # @return [String]
29
29
  attr_accessor :redirect_url
30
30
 
31
+ # Extra name value pairs associated with this identity provider.
32
+ # Example: `{\"clientId\": \"app_sf3kdjf3\"}`
33
+ #
34
+ # @return [Hash<String, String>]
35
+ attr_accessor :freeform_attributes
36
+
31
37
  # Attribute mapping from ruby-style variable name to JSON key.
32
38
  def self.attribute_map
33
39
  {
@@ -45,7 +51,8 @@ module OCI
45
51
  'defined_tags': :'definedTags',
46
52
  'metadata_url': :'metadataUrl',
47
53
  'signing_certificate': :'signingCertificate',
48
- 'redirect_url': :'redirectUrl'
54
+ 'redirect_url': :'redirectUrl',
55
+ 'freeform_attributes': :'freeformAttributes'
49
56
  # rubocop:enable Style/SymbolLiteral
50
57
  }
51
58
  end
@@ -67,7 +74,8 @@ module OCI
67
74
  'defined_tags': :'Hash<String, Hash<String, Object>>',
68
75
  'metadata_url': :'String',
69
76
  'signing_certificate': :'String',
70
- 'redirect_url': :'String'
77
+ 'redirect_url': :'String',
78
+ 'freeform_attributes': :'Hash<String, String>'
71
79
  # rubocop:enable Style/SymbolLiteral
72
80
  }
73
81
  end
@@ -91,6 +99,7 @@ module OCI
91
99
  # @option attributes [String] :metadata_url The value to assign to the {#metadata_url} property
92
100
  # @option attributes [String] :signing_certificate The value to assign to the {#signing_certificate} property
93
101
  # @option attributes [String] :redirect_url The value to assign to the {#redirect_url} property
102
+ # @option attributes [Hash<String, String>] :freeform_attributes The value to assign to the {#freeform_attributes} property
94
103
  def initialize(attributes = {})
95
104
  return unless attributes.is_a?(Hash)
96
105
 
@@ -118,6 +127,12 @@ module OCI
118
127
  raise 'You cannot provide both :redirectUrl and :redirect_url' if attributes.key?(:'redirectUrl') && attributes.key?(:'redirect_url')
119
128
 
120
129
  self.redirect_url = attributes[:'redirect_url'] if attributes[:'redirect_url']
130
+
131
+ self.freeform_attributes = attributes[:'freeformAttributes'] if attributes[:'freeformAttributes']
132
+
133
+ raise 'You cannot provide both :freeformAttributes and :freeform_attributes' if attributes.key?(:'freeformAttributes') && attributes.key?(:'freeform_attributes')
134
+
135
+ self.freeform_attributes = attributes[:'freeform_attributes'] if attributes[:'freeform_attributes']
121
136
  end
122
137
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
123
138
  # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -144,7 +159,8 @@ module OCI
144
159
  defined_tags == other.defined_tags &&
145
160
  metadata_url == other.metadata_url &&
146
161
  signing_certificate == other.signing_certificate &&
147
- redirect_url == other.redirect_url
162
+ redirect_url == other.redirect_url &&
163
+ freeform_attributes == other.freeform_attributes
148
164
  end
149
165
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
150
166
 
@@ -160,7 +176,7 @@ module OCI
160
176
  # Calculates hash code according to all attributes.
161
177
  # @return [Fixnum] Hash code
162
178
  def hash
163
- [id, compartment_id, name, description, product_type, time_created, lifecycle_state, inactive_status, protocol, freeform_tags, defined_tags, metadata_url, signing_certificate, redirect_url].hash
179
+ [id, compartment_id, name, description, product_type, time_created, lifecycle_state, inactive_status, protocol, freeform_tags, defined_tags, metadata_url, signing_certificate, redirect_url, freeform_attributes].hash
164
180
  end
165
181
  # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
166
182
 
@@ -0,0 +1,168 @@
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
+ # The OAuth2 client credentials.
8
+ #
9
+ class Identity::Models::ScimClientCredentials # rubocop:disable Metrics/LineLength
10
+ # The client identifier.
11
+ # @return [String]
12
+ attr_accessor :client_id
13
+
14
+ # The client secret.
15
+ # @return [String]
16
+ attr_accessor :client_secret
17
+
18
+ # Attribute mapping from ruby-style variable name to JSON key.
19
+ def self.attribute_map
20
+ {
21
+ # rubocop:disable Style/SymbolLiteral
22
+ 'client_id': :'clientId',
23
+ 'client_secret': :'clientSecret'
24
+ # rubocop:enable Style/SymbolLiteral
25
+ }
26
+ end
27
+
28
+ # Attribute type mapping.
29
+ def self.swagger_types
30
+ {
31
+ # rubocop:disable Style/SymbolLiteral
32
+ 'client_id': :'String',
33
+ 'client_secret': :'String'
34
+ # rubocop:enable Style/SymbolLiteral
35
+ }
36
+ end
37
+
38
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
39
+ # rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
40
+
41
+
42
+ # Initializes the object
43
+ # @param [Hash] attributes Model attributes in the form of hash
44
+ # @option attributes [String] :client_id The value to assign to the {#client_id} property
45
+ # @option attributes [String] :client_secret The value to assign to the {#client_secret} property
46
+ def initialize(attributes = {})
47
+ return unless attributes.is_a?(Hash)
48
+
49
+ # convert string to symbol for hash key
50
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
51
+
52
+ self.client_id = attributes[:'clientId'] if attributes[:'clientId']
53
+
54
+ raise 'You cannot provide both :clientId and :client_id' if attributes.key?(:'clientId') && attributes.key?(:'client_id')
55
+
56
+ self.client_id = attributes[:'client_id'] if attributes[:'client_id']
57
+
58
+ self.client_secret = attributes[:'clientSecret'] if attributes[:'clientSecret']
59
+
60
+ raise 'You cannot provide both :clientSecret and :client_secret' if attributes.key?(:'clientSecret') && attributes.key?(:'client_secret')
61
+
62
+ self.client_secret = attributes[:'client_secret'] if attributes[:'client_secret']
63
+ end
64
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
65
+ # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
66
+
67
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
68
+
69
+
70
+ # Checks equality by comparing each attribute.
71
+ # @param [Object] other the other object to be compared
72
+ def ==(other)
73
+ return true if equal?(other)
74
+
75
+ self.class == other.class &&
76
+ client_id == other.client_id &&
77
+ client_secret == other.client_secret
78
+ end
79
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
80
+
81
+ # @see the `==` method
82
+ # @param [Object] other the other object to be compared
83
+ def eql?(other)
84
+ self == other
85
+ end
86
+
87
+ # rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
88
+
89
+
90
+ # Calculates hash code according to all attributes.
91
+ # @return [Fixnum] Hash code
92
+ def hash
93
+ [client_id, client_secret].hash
94
+ end
95
+ # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
96
+
97
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
98
+
99
+
100
+ # Builds the object from hash
101
+ # @param [Hash] attributes Model attributes in the form of hash
102
+ # @return [Object] Returns the model itself
103
+ def build_from_hash(attributes)
104
+ return nil unless attributes.is_a?(Hash)
105
+
106
+ self.class.swagger_types.each_pair do |key, type|
107
+ if type =~ /^Array<(.*)>/i
108
+ # check to ensure the input is an array given that the the attribute
109
+ # is documented as an array but the input is not
110
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
111
+ public_method("#{key}=").call(
112
+ attributes[self.class.attribute_map[key]]
113
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
114
+ )
115
+ end
116
+ elsif !attributes[self.class.attribute_map[key]].nil?
117
+ public_method("#{key}=").call(
118
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
119
+ )
120
+ end
121
+ # or else data not found in attributes(hash), not an issue as the data can be optional
122
+ end
123
+
124
+ self
125
+ end
126
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
127
+
128
+ # Returns the string representation of the object
129
+ # @return [String] String presentation of the object
130
+ def to_s
131
+ to_hash.to_s
132
+ end
133
+
134
+ # Returns the object in the form of hash
135
+ # @return [Hash] Returns the object in the form of hash
136
+ def to_hash
137
+ hash = {}
138
+ self.class.attribute_map.each_pair do |attr, param|
139
+ value = public_method(attr).call
140
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
141
+
142
+ hash[param] = _to_hash(value)
143
+ end
144
+ hash
145
+ end
146
+
147
+ private
148
+
149
+ # Outputs non-array value in the form of hash
150
+ # For object, use to_hash. Otherwise, just return the value
151
+ # @param [Object] value Any valid value
152
+ # @return [Hash] Returns the value in the form of hash
153
+ def _to_hash(value)
154
+ if value.is_a?(Array)
155
+ value.compact.map { |v| _to_hash(v) }
156
+ elsif value.is_a?(Hash)
157
+ {}.tap do |hash|
158
+ value.each { |k, v| hash[k] = _to_hash(v) }
159
+ end
160
+ elsif value.respond_to? :to_hash
161
+ value.to_hash
162
+ else
163
+ value
164
+ end
165
+ end
166
+ end
167
+ end
168
+ # rubocop:enable Lint/UnneededCopDisableDirective