oraclebmc 1.2.1 → 1.2.2

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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -2
  3. data/lib/oraclebmc/core/blockstorage_client.rb +2 -2
  4. data/lib/oraclebmc/core/compute_client.rb +8 -7
  5. data/lib/oraclebmc/core/core.rb +17 -0
  6. data/lib/oraclebmc/core/models/create_cross_connect_details.rb +203 -0
  7. data/lib/oraclebmc/core/models/create_cross_connect_group_details.rb +132 -0
  8. data/lib/oraclebmc/core/models/create_subnet_details.rb +24 -3
  9. data/lib/oraclebmc/core/models/create_vcn_details.rb +2 -2
  10. data/lib/oraclebmc/core/models/create_virtual_circuit_details.rb +261 -0
  11. data/lib/oraclebmc/core/models/create_vnic_details.rb +202 -0
  12. data/lib/oraclebmc/core/models/cross_connect.rb +234 -0
  13. data/lib/oraclebmc/core/models/cross_connect_group.rb +187 -0
  14. data/lib/oraclebmc/core/models/cross_connect_location.rb +135 -0
  15. data/lib/oraclebmc/core/models/cross_connect_mapping.rb +191 -0
  16. data/lib/oraclebmc/core/models/cross_connect_port_speed_shape.rb +138 -0
  17. data/lib/oraclebmc/core/models/cross_connect_status.rb +201 -0
  18. data/lib/oraclebmc/core/models/dhcp_dns_option.rb +7 -7
  19. data/lib/oraclebmc/core/models/dhcp_option.rb +1 -1
  20. data/lib/oraclebmc/core/models/dhcp_search_domain_option.rb +6 -7
  21. data/lib/oraclebmc/core/models/fast_connect_provider_service.rb +146 -0
  22. data/lib/oraclebmc/core/models/image.rb +1 -1
  23. data/lib/oraclebmc/core/models/instance.rb +6 -7
  24. data/lib/oraclebmc/core/models/launch_instance_details.rb +22 -19
  25. data/lib/oraclebmc/core/models/letter_of_authority.rb +195 -0
  26. data/lib/oraclebmc/core/models/subnet.rb +26 -5
  27. data/lib/oraclebmc/core/models/update_cross_connect_details.rb +137 -0
  28. data/lib/oraclebmc/core/models/update_cross_connect_group_details.rb +121 -0
  29. data/lib/oraclebmc/core/models/update_virtual_circuit_details.rb +240 -0
  30. data/lib/oraclebmc/core/models/vcn.rb +4 -4
  31. data/lib/oraclebmc/core/models/virtual_circuit.rb +395 -0
  32. data/lib/oraclebmc/core/models/virtual_circuit_bandwidth_shape.rb +138 -0
  33. data/lib/oraclebmc/core/models/vnic.rb +4 -4
  34. data/lib/oraclebmc/core/virtual_network_client.rb +962 -85
  35. data/lib/oraclebmc/identity/identity.rb +13 -0
  36. data/lib/oraclebmc/identity/identity_client.rb +533 -8
  37. data/lib/oraclebmc/identity/models/create_identity_provider_details.rb +213 -0
  38. data/lib/oraclebmc/identity/models/create_idp_group_mapping_details.rb +134 -0
  39. data/lib/oraclebmc/identity/models/create_region_subscription_details.rb +128 -0
  40. data/lib/oraclebmc/identity/models/create_saml2_identity_provider_details.rb +155 -0
  41. data/lib/oraclebmc/identity/models/create_user_details.rb +1 -1
  42. data/lib/oraclebmc/identity/models/identity_provider.rb +257 -0
  43. data/lib/oraclebmc/identity/models/idp_group_mapping.rb +221 -0
  44. data/lib/oraclebmc/identity/models/region.rb +142 -0
  45. data/lib/oraclebmc/identity/models/region_subscription.rb +179 -0
  46. data/lib/oraclebmc/identity/models/saml2_identity_provider.rb +181 -0
  47. data/lib/oraclebmc/identity/models/tenancy.rb +159 -0
  48. data/lib/oraclebmc/identity/models/update_identity_provider_details.rb +161 -0
  49. data/lib/oraclebmc/identity/models/update_idp_group_mapping_details.rb +132 -0
  50. data/lib/oraclebmc/identity/models/update_saml2_identity_provider_details.rb +146 -0
  51. data/lib/oraclebmc/regions.rb +1 -1
  52. data/lib/oraclebmc/version.rb +1 -1
  53. metadata +32 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 009662b6268407501bdf0d132f2513c0f7651dd7
4
- data.tar.gz: 4f0dc341bb586910c6a0854f6163b41533a31339
3
+ metadata.gz: 4a0960b9d34e1a8ad853cdf82beb2fd48a26f970
4
+ data.tar.gz: 46b801ec78590b2aac47fb8507d9c6ddaae0fb57
5
5
  SHA512:
6
- metadata.gz: 0cb3067bcd79f71b21d78420677a3c00aa68a44991eecb3227b5158561fd538a9da54d7dc2e1397e948b4ae7547d0d33eec0f6273b4f8179f53daf9d65fced31
7
- data.tar.gz: fbd07192987de065b15ac971ad348e44fe43f355dbf908290efbcda0730edd63aee6cff3fb06e0b3f921346ac6cf5a678e84d5fc6d7ab6570826eec7a48d4661
6
+ metadata.gz: 3a044b43dffe75862979d26e2325ea155b932b952c0230b00cffc207f75ea3f88a85cf64350a32db52045bfcaef25bdfaa9c7c231e6f10c0cdfd2bde8209790f
7
+ data.tar.gz: 859b43d68c44f6db7a2818ccec36727134dd7d43855b73258f51b74bd1d57e4b0200426057695df5c8f33ac0cd06a610cca2a0cc85abfd96f02426444c98ad00
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Oracle Bare Metal Cloud Services Ruby SDK
2
- **Version 1.2.1**
2
+ **Version 1.2.2**
3
3
 
4
4
  This topic describes how to install, configure, and use the Oracle Bare Metal Cloud Services Ruby SDK.
5
5
 
@@ -77,7 +77,7 @@ You can also [download the SDK](https://docs.us-phoenix-1.oraclecloud.com/tools/
77
77
  Install the gem with the following command:
78
78
 
79
79
 
80
- `gem install oraclebmc-1.2.1.gem`
80
+ `gem install oraclebmc-1.2.2.gem`
81
81
 
82
82
 
83
83
  The SDK depends on `libcurl`, which may need to be installed or upgraded on some operating systems to be compatible with Oracle Bare Metal Cloud Services.
@@ -100,6 +100,9 @@ To use any of the APIs, you must supply a {OracleBMC::Config Config} object. You
100
100
  * Required credentials and settings: See [SDK and Tool Configuration](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/sdkconfig.htm) in the User Guide.
101
101
  * Optional SDK-specific settings: See the {OracleBMC::Config Config} object for the full list of config options.
102
102
 
103
+ ## Forward Compatibility
104
+
105
+ Some response fields are enum-typed. In the future, individual services may return values not covered by existing enums for that field. To address this possibility, every enum-type response field has an additional value named "UNKNOWN_ENUM_VALUE". If a service returns a value that is not recognized by your version of the SDK, then the response field will be set to this value. Please ensure that your code handles the "UNKNOWN_ENUM_VALUE" case if you have conditional logic based on an enum-typed field.
103
106
 
104
107
  ## Writing Your First Ruby Program with the SDK
105
108
 
@@ -256,3 +259,4 @@ Ways to get in touch:
256
259
  * [My Oracle Support](https://support.oracle.com)
257
260
 
258
261
 
262
+
@@ -60,9 +60,9 @@ module OracleBMC
60
60
  # For general information about block volumes, see
61
61
  # [Overview of Block Volume Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/overview.htm).
62
62
  #
63
- # A volume and instance can be in separate compartments but must be in the same Availability Domain.
63
+ # A volume and instance can be in separate compartments but must be in the same Availability Domain.
64
64
  # For information about access control and compartments, see
65
- # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about
65
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm). For information about
66
66
  # Availability Domains, see [Regions and Availability Domains](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm).
67
67
  # To get a list of Availability Domains, use the `ListAvailabilityDomains` operation
68
68
  # in the Identity and Access Management Service API.
@@ -96,7 +96,7 @@ module OracleBMC
96
96
  end
97
97
 
98
98
  # Captures the most recent serial console data (up to a megabyte) for the
99
- # specified instance.
99
+ # specified instance.
100
100
  #
101
101
  # The `CaptureConsoleHistory` operation works with the other console history operations
102
102
  # as described below.
@@ -516,7 +516,7 @@ module OracleBMC
516
516
  #
517
517
  # Note that the **stop** state has no effect on the resources you consume.
518
518
  # Billing continues for instances that you stop, and related resources continue
519
- # to apply against any relevant quotas. You must terminate an instance
519
+ # to apply against any relevant quotas. You must terminate an instance
520
520
  # ({#terminate_instance terminate_instance})
521
521
  # to remove its resources from billing and quotas.
522
522
  #
@@ -569,7 +569,7 @@ module OracleBMC
569
569
  end
570
570
 
571
571
  # Creates a new instance in the specified compartment and the specified Availability Domain.
572
- # For general information about instances, see
572
+ # For general information about instances, see
573
573
  # [Overview of the Compute Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Compute/Concepts/computeoverview.htm).
574
574
  #
575
575
  # For information about access control and compartments, see
@@ -587,8 +587,9 @@ module OracleBMC
587
587
  # on that resource type, or by viewing the resource in the Console.
588
588
  #
589
589
  # When you launch an instance, it is automatically attached to a Virtual
590
- # Network Interface Card (VNIC) and given both a public and private IP address.
591
- # To get both addresses, use the {#list_vnic_attachments list_vnic_attachments}
590
+ # Network Interface Card (VNIC). The VNIC has a private IP address from
591
+ # the subnet's CIDR, and optionally a public IP address.
592
+ # To get the addresses, use the {#list_vnic_attachments list_vnic_attachments}
592
593
  # operation to get the VNIC ID for the instance, and then call
593
594
  # {#get_vnic get_vnic} with the VNIC ID.
594
595
  #
@@ -677,7 +678,7 @@ module OracleBMC
677
678
  :return_type => 'Array<OracleBMC::Core::Models::ConsoleHistory>')
678
679
  end
679
680
 
680
- # Lists the available images in the specified compartment. For more
681
+ # Lists the available images in the specified compartment. For more
681
682
  # information about images, see
682
683
  # [Managing Custom Images](https://docs.us-phoenix-1.oraclecloud.com/Content/Compute/Tasks/managingcustomimages.htm).
683
684
  #
@@ -788,7 +789,7 @@ module OracleBMC
788
789
  :return_type => 'Array<OracleBMC::Core::Models::Instance>')
789
790
  end
790
791
 
791
- # Lists the shapes that can be used to launch an instance within the specified compartment. You can
792
+ # Lists the shapes that can be used to launch an instance within the specified compartment. You can
792
793
  # filter the list by compatibility with a specific image.
793
794
  #
794
795
  # @param [String] compartment_id The OCID of the compartment.
@@ -14,6 +14,8 @@ require 'oraclebmc/core/models/capture_console_history_details'
14
14
  require 'oraclebmc/core/models/console_history'
15
15
  require 'oraclebmc/core/models/cpe'
16
16
  require 'oraclebmc/core/models/create_cpe_details'
17
+ require 'oraclebmc/core/models/create_cross_connect_details'
18
+ require 'oraclebmc/core/models/create_cross_connect_group_details'
17
19
  require 'oraclebmc/core/models/create_dhcp_details'
18
20
  require 'oraclebmc/core/models/create_drg_attachment_details'
19
21
  require 'oraclebmc/core/models/create_drg_details'
@@ -24,8 +26,16 @@ require 'oraclebmc/core/models/create_route_table_details'
24
26
  require 'oraclebmc/core/models/create_security_list_details'
25
27
  require 'oraclebmc/core/models/create_subnet_details'
26
28
  require 'oraclebmc/core/models/create_vcn_details'
29
+ require 'oraclebmc/core/models/create_virtual_circuit_details'
30
+ require 'oraclebmc/core/models/create_vnic_details'
27
31
  require 'oraclebmc/core/models/create_volume_backup_details'
28
32
  require 'oraclebmc/core/models/create_volume_details'
33
+ require 'oraclebmc/core/models/cross_connect'
34
+ require 'oraclebmc/core/models/cross_connect_group'
35
+ require 'oraclebmc/core/models/cross_connect_location'
36
+ require 'oraclebmc/core/models/cross_connect_mapping'
37
+ require 'oraclebmc/core/models/cross_connect_port_speed_shape'
38
+ require 'oraclebmc/core/models/cross_connect_status'
29
39
  require 'oraclebmc/core/models/dhcp_dns_option'
30
40
  require 'oraclebmc/core/models/dhcp_option'
31
41
  require 'oraclebmc/core/models/dhcp_options'
@@ -33,6 +43,7 @@ require 'oraclebmc/core/models/dhcp_search_domain_option'
33
43
  require 'oraclebmc/core/models/drg'
34
44
  require 'oraclebmc/core/models/drg_attachment'
35
45
  require 'oraclebmc/core/models/egress_security_rule'
46
+ require 'oraclebmc/core/models/fast_connect_provider_service'
36
47
  require 'oraclebmc/core/models/ip_sec_connection'
37
48
  require 'oraclebmc/core/models/ip_sec_connection_device_config'
38
49
  require 'oraclebmc/core/models/ip_sec_connection_device_status'
@@ -44,6 +55,7 @@ require 'oraclebmc/core/models/instance'
44
55
  require 'oraclebmc/core/models/instance_credentials'
45
56
  require 'oraclebmc/core/models/internet_gateway'
46
57
  require 'oraclebmc/core/models/launch_instance_details'
58
+ require 'oraclebmc/core/models/letter_of_authority'
47
59
  require 'oraclebmc/core/models/port_range'
48
60
  require 'oraclebmc/core/models/route_rule'
49
61
  require 'oraclebmc/core/models/route_table'
@@ -55,6 +67,8 @@ require 'oraclebmc/core/models/tunnel_config'
55
67
  require 'oraclebmc/core/models/tunnel_status'
56
68
  require 'oraclebmc/core/models/udp_options'
57
69
  require 'oraclebmc/core/models/update_cpe_details'
70
+ require 'oraclebmc/core/models/update_cross_connect_details'
71
+ require 'oraclebmc/core/models/update_cross_connect_group_details'
58
72
  require 'oraclebmc/core/models/update_dhcp_details'
59
73
  require 'oraclebmc/core/models/update_drg_attachment_details'
60
74
  require 'oraclebmc/core/models/update_drg_details'
@@ -66,9 +80,12 @@ require 'oraclebmc/core/models/update_route_table_details'
66
80
  require 'oraclebmc/core/models/update_security_list_details'
67
81
  require 'oraclebmc/core/models/update_subnet_details'
68
82
  require 'oraclebmc/core/models/update_vcn_details'
83
+ require 'oraclebmc/core/models/update_virtual_circuit_details'
69
84
  require 'oraclebmc/core/models/update_volume_backup_details'
70
85
  require 'oraclebmc/core/models/update_volume_details'
71
86
  require 'oraclebmc/core/models/vcn'
87
+ require 'oraclebmc/core/models/virtual_circuit'
88
+ require 'oraclebmc/core/models/virtual_circuit_bandwidth_shape'
72
89
  require 'oraclebmc/core/models/vnic'
73
90
  require 'oraclebmc/core/models/vnic_attachment'
74
91
  require 'oraclebmc/core/models/volume'
@@ -0,0 +1,203 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OracleBMC
6
+ class Core::Models::CreateCrossConnectDetails
7
+ # The OCID of the compartment to contain the cross-connect.
8
+ # @return [String]
9
+ attr_accessor :compartment_id
10
+
11
+ # The OCID of the cross-connect group to put this cross-connect in.
12
+ # @return [String]
13
+ attr_accessor :cross_connect_group_id
14
+
15
+ # A user-friendly name. Does not have to be unique, and it's changeable.
16
+ # @return [String]
17
+ attr_accessor :display_name
18
+
19
+ # If you already have an existing cross-connect or cross-connect group at this FastConnect
20
+ # location, and you want this new cross-connect to be on a different router (for the
21
+ # purposes of redundancy), provide the OCID of that existing cross-connect or
22
+ # cross-connect group.
23
+ #
24
+ # @return [String]
25
+ attr_accessor :far_cross_connect_or_cross_connect_group_id
26
+
27
+ # The name of the FastConnect location where this cross-connect will be installed.
28
+ # To get a list of the available locations, see
29
+ # {#list_cross_connect_locations list_cross_connect_locations}.
30
+ #
31
+ # Example: `CyrusOne, Chandler, AZ`
32
+ #
33
+ # @return [String]
34
+ attr_accessor :location_name
35
+
36
+ # If you already have an existing cross-connect or cross-connect group at this FastConnect
37
+ # location, and you want this new cross-connect to be on the same router, provide the
38
+ # OCID of that existing cross-connect or cross-connect group.
39
+ #
40
+ # @return [String]
41
+ attr_accessor :near_cross_connect_or_cross_connect_group_id
42
+
43
+ # The port speed for this cross-connect. To get a list of the available port speeds, see
44
+ # {#list_crossconnect_port_speed_shapes list_crossconnect_port_speed_shapes}.
45
+ #
46
+ # Example: `10 Gbps`
47
+ #
48
+ # @return [String]
49
+ attr_accessor :port_speed_shape_name
50
+
51
+
52
+ # Initializes the object
53
+ # @param [Hash] attributes Model attributes in the form of hash
54
+ def initialize(attributes = {})
55
+ return unless attributes.is_a?(Hash)
56
+
57
+ # convert string to symbol for hash key
58
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
59
+
60
+
61
+ if attributes[:'compartmentId']
62
+ self.compartment_id = attributes[:'compartmentId']
63
+ end
64
+
65
+ if attributes[:'crossConnectGroupId']
66
+ self.cross_connect_group_id = attributes[:'crossConnectGroupId']
67
+ end
68
+
69
+ if attributes[:'displayName']
70
+ self.display_name = attributes[:'displayName']
71
+ end
72
+
73
+ if attributes[:'farCrossConnectOrCrossConnectGroupId']
74
+ self.far_cross_connect_or_cross_connect_group_id = attributes[:'farCrossConnectOrCrossConnectGroupId']
75
+ end
76
+
77
+ if attributes[:'locationName']
78
+ self.location_name = attributes[:'locationName']
79
+ end
80
+
81
+ if attributes[:'nearCrossConnectOrCrossConnectGroupId']
82
+ self.near_cross_connect_or_cross_connect_group_id = attributes[:'nearCrossConnectOrCrossConnectGroupId']
83
+ end
84
+
85
+ if attributes[:'portSpeedShapeName']
86
+ self.port_speed_shape_name = attributes[:'portSpeedShapeName']
87
+ end
88
+
89
+ end
90
+
91
+ # Checks equality by comparing each attribute.
92
+ # @param [Object] other_object to be compared
93
+ def ==(other_object)
94
+ return true if self.equal?(other_object)
95
+ self.class == other_object.class &&
96
+ compartment_id == other_object.compartment_id &&
97
+ cross_connect_group_id == other_object.cross_connect_group_id &&
98
+ display_name == other_object.display_name &&
99
+ far_cross_connect_or_cross_connect_group_id == other_object.far_cross_connect_or_cross_connect_group_id &&
100
+ location_name == other_object.location_name &&
101
+ near_cross_connect_or_cross_connect_group_id == other_object.near_cross_connect_or_cross_connect_group_id &&
102
+ port_speed_shape_name == other_object.port_speed_shape_name
103
+ end
104
+
105
+ # @see the `==` method
106
+ # @param [Object] other_object to be compared
107
+ def eql?(other_object)
108
+ self == other_object
109
+ end
110
+
111
+ # Calculates hash code according to all attributes.
112
+ # @return [Fixnum] Hash code
113
+ def hash
114
+ [compartment_id, cross_connect_group_id, display_name, far_cross_connect_or_cross_connect_group_id, location_name, near_cross_connect_or_cross_connect_group_id, port_speed_shape_name].hash
115
+ end
116
+
117
+ # Builds the object from hash
118
+ # @param [Hash] attributes Model attributes in the form of hash
119
+ # @return [Object] Returns the model itself
120
+ def build_from_hash(attributes)
121
+ return nil unless attributes.is_a?(Hash)
122
+ self.class.swagger_types.each_pair do |key, type|
123
+ if type =~ /^Array<(.*)>/i
124
+ # check to ensure the input is an array given that the the attribute
125
+ # is documented as an array but the input is not
126
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
127
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OracleBMC::Internal::Util.convert_to_type($1, v) } )
128
+ end
129
+ elsif !attributes[self.class.attribute_map[key]].nil?
130
+ self.send("#{key}=", OracleBMC::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
131
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
132
+ end
133
+
134
+ self
135
+ end
136
+
137
+ # Returns the string representation of the object
138
+ # @return [String] String presentation of the object
139
+ def to_s
140
+ to_hash.to_s
141
+ end
142
+
143
+ # Returns the object in the form of hash
144
+ # @return [Hash] Returns the object in the form of hash
145
+ def to_hash
146
+ hash = {}
147
+ self.class.attribute_map.each_pair do |attr, param|
148
+ value = self.send(attr)
149
+ next if value.nil?
150
+ hash[param] = _to_hash(value)
151
+ end
152
+ hash
153
+ end
154
+
155
+ private
156
+
157
+ # Outputs non-array value in the form of hash
158
+ # For object, use to_hash. Otherwise, just return the value
159
+ # @param [Object] value Any valid value
160
+ # @return [Hash] Returns the value in the form of hash
161
+ def _to_hash(value)
162
+ if value.is_a?(Array)
163
+ value.compact.map{ |v| _to_hash(v) }
164
+ elsif value.is_a?(Hash)
165
+ {}.tap do |hash|
166
+ value.each { |k, v| hash[k] = _to_hash(v) }
167
+ end
168
+ elsif value.respond_to? :to_hash
169
+ value.to_hash
170
+ else
171
+ value
172
+ end
173
+ end
174
+
175
+
176
+
177
+ # Attribute mapping from ruby-style variable name to JSON key.
178
+ def self.attribute_map
179
+ {
180
+ :'compartment_id' => :'compartmentId',
181
+ :'cross_connect_group_id' => :'crossConnectGroupId',
182
+ :'display_name' => :'displayName',
183
+ :'far_cross_connect_or_cross_connect_group_id' => :'farCrossConnectOrCrossConnectGroupId',
184
+ :'location_name' => :'locationName',
185
+ :'near_cross_connect_or_cross_connect_group_id' => :'nearCrossConnectOrCrossConnectGroupId',
186
+ :'port_speed_shape_name' => :'portSpeedShapeName'
187
+ }
188
+ end
189
+
190
+ # Attribute type mapping.
191
+ def self.swagger_types
192
+ {
193
+ :'compartment_id' => :'String',
194
+ :'cross_connect_group_id' => :'String',
195
+ :'display_name' => :'String',
196
+ :'far_cross_connect_or_cross_connect_group_id' => :'String',
197
+ :'location_name' => :'String',
198
+ :'near_cross_connect_or_cross_connect_group_id' => :'String',
199
+ :'port_speed_shape_name' => :'String'
200
+ }
201
+ end
202
+ end
203
+ end
@@ -0,0 +1,132 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OracleBMC
6
+ class Core::Models::CreateCrossConnectGroupDetails
7
+ # The OCID of the compartment to contain the cross-connect group.
8
+ # @return [String]
9
+ attr_accessor :compartment_id
10
+
11
+ # A user-friendly name. Does not have to be unique, and it's changeable.
12
+ # @return [String]
13
+ attr_accessor :display_name
14
+
15
+
16
+ # Initializes the object
17
+ # @param [Hash] attributes Model attributes in the form of hash
18
+ def initialize(attributes = {})
19
+ return unless attributes.is_a?(Hash)
20
+
21
+ # convert string to symbol for hash key
22
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
23
+
24
+
25
+ if attributes[:'compartmentId']
26
+ self.compartment_id = attributes[:'compartmentId']
27
+ end
28
+
29
+ if attributes[:'displayName']
30
+ self.display_name = attributes[:'displayName']
31
+ end
32
+
33
+ end
34
+
35
+ # Checks equality by comparing each attribute.
36
+ # @param [Object] other_object to be compared
37
+ def ==(other_object)
38
+ return true if self.equal?(other_object)
39
+ self.class == other_object.class &&
40
+ compartment_id == other_object.compartment_id &&
41
+ display_name == other_object.display_name
42
+ end
43
+
44
+ # @see the `==` method
45
+ # @param [Object] other_object to be compared
46
+ def eql?(other_object)
47
+ self == other_object
48
+ end
49
+
50
+ # Calculates hash code according to all attributes.
51
+ # @return [Fixnum] Hash code
52
+ def hash
53
+ [compartment_id, display_name].hash
54
+ end
55
+
56
+ # Builds the object from hash
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ # @return [Object] Returns the model itself
59
+ def build_from_hash(attributes)
60
+ return nil unless attributes.is_a?(Hash)
61
+ self.class.swagger_types.each_pair do |key, type|
62
+ if type =~ /^Array<(.*)>/i
63
+ # check to ensure the input is an array given that the the attribute
64
+ # is documented as an array but the input is not
65
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
66
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OracleBMC::Internal::Util.convert_to_type($1, v) } )
67
+ end
68
+ elsif !attributes[self.class.attribute_map[key]].nil?
69
+ self.send("#{key}=", OracleBMC::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
70
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
71
+ end
72
+
73
+ self
74
+ end
75
+
76
+ # Returns the string representation of the object
77
+ # @return [String] String presentation of the object
78
+ def to_s
79
+ to_hash.to_s
80
+ end
81
+
82
+ # Returns the object in the form of hash
83
+ # @return [Hash] Returns the object in the form of hash
84
+ def to_hash
85
+ hash = {}
86
+ self.class.attribute_map.each_pair do |attr, param|
87
+ value = self.send(attr)
88
+ next if value.nil?
89
+ hash[param] = _to_hash(value)
90
+ end
91
+ hash
92
+ end
93
+
94
+ private
95
+
96
+ # Outputs non-array value in the form of hash
97
+ # For object, use to_hash. Otherwise, just return the value
98
+ # @param [Object] value Any valid value
99
+ # @return [Hash] Returns the value in the form of hash
100
+ def _to_hash(value)
101
+ if value.is_a?(Array)
102
+ value.compact.map{ |v| _to_hash(v) }
103
+ elsif value.is_a?(Hash)
104
+ {}.tap do |hash|
105
+ value.each { |k, v| hash[k] = _to_hash(v) }
106
+ end
107
+ elsif value.respond_to? :to_hash
108
+ value.to_hash
109
+ else
110
+ value
111
+ end
112
+ end
113
+
114
+
115
+
116
+ # Attribute mapping from ruby-style variable name to JSON key.
117
+ def self.attribute_map
118
+ {
119
+ :'compartment_id' => :'compartmentId',
120
+ :'display_name' => :'displayName'
121
+ }
122
+ end
123
+
124
+ # Attribute type mapping.
125
+ def self.swagger_types
126
+ {
127
+ :'compartment_id' => :'String',
128
+ :'display_name' => :'String'
129
+ }
130
+ end
131
+ end
132
+ end