Class: OCI::Self::Models::Subscription
- Inherits:
-
Object
- Object
- OCI::Self::Models::Subscription
- Defined in:
- lib/oci/self/models/subscription.rb
Overview
The model for a listing subscription.
Constant Summary collapse
- SOURCE_TYPE_ENUM =
[ SOURCE_TYPE_OCI_NATIVE = 'OCI_NATIVE'.freeze, SOURCE_TYPE_THIRD_PARTY = 'THIRD_PARTY'.freeze, SOURCE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze ].freeze
- LIFECYCLE_STATE_ENUM =
[ LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze, LIFECYCLE_STATE_INACTIVE = 'INACTIVE'.freeze, LIFECYCLE_STATE_DELETED = 'DELETED'.freeze, LIFECYCLE_STATE_FAILED = 'FAILED'.freeze, LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze ].freeze
- LIFECYCLE_DETAILS_ENUM =
[ LIFECYCLE_DETAILS_CREATED = 'CREATED'.freeze, LIFECYCLE_DETAILS_PENDING_ACTIVATION = 'PENDING_ACTIVATION'.freeze, LIFECYCLE_DETAILS_PROVISIONING_STARTED = 'PROVISIONING_STARTED'.freeze, LIFECYCLE_DETAILS_PROVISIONING_COMPLETED = 'PROVISIONING_COMPLETED'.freeze, LIFECYCLE_DETAILS_PROVISIONING_FAILED = 'PROVISIONING_FAILED'.freeze, LIFECYCLE_DETAILS_ACTIVE = 'ACTIVE'.freeze, LIFECYCLE_DETAILS_EXPIRED = 'EXPIRED'.freeze, LIFECYCLE_DETAILS_TERMINATED = 'TERMINATED'.freeze, LIFECYCLE_DETAILS_FAILED = 'FAILED'.freeze, LIFECYCLE_DETAILS_DELETING = 'DELETING'.freeze, LIFECYCLE_DETAILS_UPDATING = 'UPDATING'.freeze, LIFECYCLE_DETAILS_DELETED = 'DELETED'.freeze, LIFECYCLE_DETAILS_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze ].freeze
Instance Attribute Summary collapse
-
#additional_details ⇒ Array<OCI::Self::Models::ExtendedMetadata>
Additional details that are specific for this subscription such as activation details.
-
#compartment_id ⇒ String
[Required] The unique identifier for the compartment where the subscription was purchased.
-
#defined_tags ⇒ Hash<String, Hash<String, Object>>
[Required] Defined tags for this resource.
-
#display_name ⇒ String
[Required] The subscription name.
-
#freeform_tags ⇒ Hash<String, String>
[Required] Free-form tags for this resource.
-
#id ⇒ String
[Required] The unique identifier for the subscription within a specific compartment.
-
#lifecycle_details ⇒ String
A message that describes the current state of the Subscription in more detail.
-
#lifecycle_state ⇒ String
[Required] The current lifecycle state of the Subscription.
-
#product_id ⇒ String
The unique OCID of the product, effectively functioning as the listing ID.
-
#realm ⇒ String
The realm from where customer is buying the subscription.
-
#region ⇒ String
The region from where customer is buying the subscription.
-
#seller_id ⇒ String
The OCID that identifies the seller within the platform.
-
#source_type ⇒ String
The type of seller in SELF Service.
- #subscription_details ⇒ OCI::Self::Models::SubscriptionDetails
-
#system_tags ⇒ Hash<String, Hash<String, Object>>
System tags for this resource.
-
#tenant_id ⇒ String
[Required] The unique identifier for the tenant where the subscription was purchased.
-
#time_created ⇒ DateTime
[Required] The date and time the Subscription was created, in the format defined by RFC 3339.
-
#time_ended ⇒ DateTime
The date and time the Subscription was ended, in the format defined by RFC 3339.
-
#time_started ⇒ DateTime
The date and time the Subscription was started, in the format defined by RFC 3339.
-
#time_updated ⇒ DateTime
The date and time the Subscription was updated, in the format defined by RFC 3339.
Class Method Summary collapse
-
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
-
.swagger_types ⇒ Object
Attribute type mapping.
Instance Method Summary collapse
-
#==(other) ⇒ Object
Checks equality by comparing each attribute.
-
#build_from_hash(attributes) ⇒ Object
Builds the object from hash.
- #eql?(other) ⇒ Boolean
-
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
-
#initialize(attributes = {}) ⇒ Subscription
constructor
Initializes the object.
-
#to_hash ⇒ Hash
Returns the object in the form of hash.
-
#to_s ⇒ String
Returns the string representation of the object.
Constructor Details
#initialize(attributes = {}) ⇒ Subscription
Initializes the object
228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 |
# File 'lib/oci/self/models/subscription.rb', line 228 def initialize(attributes = {}) return unless attributes.is_a?(Hash) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } self.id = attributes[:'id'] if attributes[:'id'] self.display_name = attributes[:'displayName'] if attributes[:'displayName'] raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name') self.display_name = attributes[:'display_name'] if attributes[:'display_name'] self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId'] raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id') self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id'] self.tenant_id = attributes[:'tenantId'] if attributes[:'tenantId'] raise 'You cannot provide both :tenantId and :tenant_id' if attributes.key?(:'tenantId') && attributes.key?(:'tenant_id') self.tenant_id = attributes[:'tenant_id'] if attributes[:'tenant_id'] self.subscription_details = attributes[:'subscriptionDetails'] if attributes[:'subscriptionDetails'] raise 'You cannot provide both :subscriptionDetails and :subscription_details' if attributes.key?(:'subscriptionDetails') && attributes.key?(:'subscription_details') self.subscription_details = attributes[:'subscription_details'] if attributes[:'subscription_details'] self.seller_id = attributes[:'sellerId'] if attributes[:'sellerId'] raise 'You cannot provide both :sellerId and :seller_id' if attributes.key?(:'sellerId') && attributes.key?(:'seller_id') self.seller_id = attributes[:'seller_id'] if attributes[:'seller_id'] self.source_type = attributes[:'sourceType'] if attributes[:'sourceType'] raise 'You cannot provide both :sourceType and :source_type' if attributes.key?(:'sourceType') && attributes.key?(:'source_type') self.source_type = attributes[:'source_type'] if attributes[:'source_type'] self.product_id = attributes[:'productId'] if attributes[:'productId'] raise 'You cannot provide both :productId and :product_id' if attributes.key?(:'productId') && attributes.key?(:'product_id') self.product_id = attributes[:'product_id'] if attributes[:'product_id'] self.additional_details = attributes[:'additionalDetails'] if attributes[:'additionalDetails'] raise 'You cannot provide both :additionalDetails and :additional_details' if attributes.key?(:'additionalDetails') && attributes.key?(:'additional_details') self.additional_details = attributes[:'additional_details'] if attributes[:'additional_details'] self.realm = attributes[:'realm'] if attributes[:'realm'] self.region = attributes[:'region'] if attributes[:'region'] self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated'] raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created') self.time_created = attributes[:'time_created'] if attributes[:'time_created'] self.time_updated = attributes[:'timeUpdated'] if attributes[:'timeUpdated'] raise 'You cannot provide both :timeUpdated and :time_updated' if attributes.key?(:'timeUpdated') && attributes.key?(:'time_updated') self.time_updated = attributes[:'time_updated'] if attributes[:'time_updated'] self.time_started = attributes[:'timeStarted'] if attributes[:'timeStarted'] raise 'You cannot provide both :timeStarted and :time_started' if attributes.key?(:'timeStarted') && attributes.key?(:'time_started') self.time_started = attributes[:'time_started'] if attributes[:'time_started'] self.time_ended = attributes[:'timeEnded'] if attributes[:'timeEnded'] raise 'You cannot provide both :timeEnded and :time_ended' if attributes.key?(:'timeEnded') && attributes.key?(:'time_ended') self.time_ended = attributes[:'time_ended'] if attributes[:'time_ended'] self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState'] raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state') self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state'] self.lifecycle_details = attributes[:'lifecycleDetails'] if attributes[:'lifecycleDetails'] raise 'You cannot provide both :lifecycleDetails and :lifecycle_details' if attributes.key?(:'lifecycleDetails') && attributes.key?(:'lifecycle_details') self.lifecycle_details = attributes[:'lifecycle_details'] if attributes[:'lifecycle_details'] self. = attributes[:'freeformTags'] if attributes[:'freeformTags'] raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags') self. = attributes[:'freeform_tags'] if attributes[:'freeform_tags'] self. = attributes[:'definedTags'] if attributes[:'definedTags'] raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags') self. = attributes[:'defined_tags'] if attributes[:'defined_tags'] self. = attributes[:'systemTags'] if attributes[:'systemTags'] raise 'You cannot provide both :systemTags and :system_tags' if attributes.key?(:'systemTags') && attributes.key?(:'system_tags') self. = attributes[:'system_tags'] if attributes[:'system_tags'] end |
Instance Attribute Details
#additional_details ⇒ Array<OCI::Self::Models::ExtendedMetadata>
Additional details that are specific for this subscription such as activation details.
75 76 77 |
# File 'lib/oci/self/models/subscription.rb', line 75 def additional_details @additional_details end |
#compartment_id ⇒ String
[Required] The unique identifier for the compartment where the subscription was purchased.
52 53 54 |
# File 'lib/oci/self/models/subscription.rb', line 52 def compartment_id @compartment_id end |
#defined_tags ⇒ Hash<String, Hash<String, Object>>
[Required] Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
Example: {\"Operations\": {\"CostCenter\": \"42\"}}
137 138 139 |
# File 'lib/oci/self/models/subscription.rb', line 137 def @defined_tags end |
#display_name ⇒ String
[Required] The subscription name. Must be unique within the compartment. This value can be updated.
48 49 50 |
# File 'lib/oci/self/models/subscription.rb', line 48 def display_name @display_name end |
#freeform_tags ⇒ Hash<String, String>
[Required] Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags.
Example: {\"Department\": \"Finance\"}
129 130 131 |
# File 'lib/oci/self/models/subscription.rb', line 129 def @freeform_tags end |
#id ⇒ String
[Required] The unique identifier for the subscription within a specific compartment.
44 45 46 |
# File 'lib/oci/self/models/subscription.rb', line 44 def id @id end |
#lifecycle_details ⇒ String
A message that describes the current state of the Subscription in more detail. For example, can be used to provide actionable information for a resource in the Failed state.
121 122 123 |
# File 'lib/oci/self/models/subscription.rb', line 121 def lifecycle_details @lifecycle_details end |
#lifecycle_state ⇒ String
[Required] The current lifecycle state of the Subscription.
115 116 117 |
# File 'lib/oci/self/models/subscription.rb', line 115 def lifecycle_state @lifecycle_state end |
#product_id ⇒ String
The unique OCID of the product, effectively functioning as the listing ID.
71 72 73 |
# File 'lib/oci/self/models/subscription.rb', line 71 def product_id @product_id end |
#realm ⇒ String
The realm from where customer is buying the subscription.
79 80 81 |
# File 'lib/oci/self/models/subscription.rb', line 79 def realm @realm end |
#region ⇒ String
The region from where customer is buying the subscription.
83 84 85 |
# File 'lib/oci/self/models/subscription.rb', line 83 def region @region end |
#seller_id ⇒ String
The OCID that identifies the seller within the platform.
63 64 65 |
# File 'lib/oci/self/models/subscription.rb', line 63 def seller_id @seller_id end |
#source_type ⇒ String
The type of seller in SELF Service.
67 68 69 |
# File 'lib/oci/self/models/subscription.rb', line 67 def source_type @source_type end |
#subscription_details ⇒ OCI::Self::Models::SubscriptionDetails
59 60 61 |
# File 'lib/oci/self/models/subscription.rb', line 59 def subscription_details @subscription_details end |
#system_tags ⇒ Hash<String, Hash<String, Object>>
System tags for this resource. Each key is predefined and scoped to a namespace.
Example: {\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}
144 145 146 |
# File 'lib/oci/self/models/subscription.rb', line 144 def @system_tags end |
#tenant_id ⇒ String
[Required] The unique identifier for the tenant where the subscription was purchased.
56 57 58 |
# File 'lib/oci/self/models/subscription.rb', line 56 def tenant_id @tenant_id end |
#time_created ⇒ DateTime
[Required] The date and time the Subscription was created, in the format defined by RFC 3339.
Example: 2016-08-25T21:10:29.600Z
90 91 92 |
# File 'lib/oci/self/models/subscription.rb', line 90 def time_created @time_created end |
#time_ended ⇒ DateTime
The date and time the Subscription was ended, in the format defined by RFC 3339.
Example: 2016-08-25T21:10:29.600Z
111 112 113 |
# File 'lib/oci/self/models/subscription.rb', line 111 def time_ended @time_ended end |
#time_started ⇒ DateTime
The date and time the Subscription was started, in the format defined by RFC 3339.
Example: 2016-08-25T21:10:29.600Z
104 105 106 |
# File 'lib/oci/self/models/subscription.rb', line 104 def time_started @time_started end |
#time_updated ⇒ DateTime
The date and time the Subscription was updated, in the format defined by RFC 3339.
Example: 2016-08-25T21:10:29.600Z
97 98 99 |
# File 'lib/oci/self/models/subscription.rb', line 97 def time_updated @time_updated end |
Class Method Details
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
# File 'lib/oci/self/models/subscription.rb', line 147 def self.attribute_map { # rubocop:disable Style/SymbolLiteral 'id': :'id', 'display_name': :'displayName', 'compartment_id': :'compartmentId', 'tenant_id': :'tenantId', 'subscription_details': :'subscriptionDetails', 'seller_id': :'sellerId', 'source_type': :'sourceType', 'product_id': :'productId', 'additional_details': :'additionalDetails', 'realm': :'realm', 'region': :'region', 'time_created': :'timeCreated', 'time_updated': :'timeUpdated', 'time_started': :'timeStarted', 'time_ended': :'timeEnded', 'lifecycle_state': :'lifecycleState', 'lifecycle_details': :'lifecycleDetails', 'freeform_tags': :'freeformTags', 'defined_tags': :'definedTags', 'system_tags': :'systemTags' # rubocop:enable Style/SymbolLiteral } end |
.swagger_types ⇒ Object
Attribute type mapping.
175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 |
# File 'lib/oci/self/models/subscription.rb', line 175 def self.swagger_types { # rubocop:disable Style/SymbolLiteral 'id': :'String', 'display_name': :'String', 'compartment_id': :'String', 'tenant_id': :'String', 'subscription_details': :'OCI::Self::Models::SubscriptionDetails', 'seller_id': :'String', 'source_type': :'String', 'product_id': :'String', 'additional_details': :'Array<OCI::Self::Models::ExtendedMetadata>', 'realm': :'String', 'region': :'String', 'time_created': :'DateTime', 'time_updated': :'DateTime', 'time_started': :'DateTime', 'time_ended': :'DateTime', 'lifecycle_state': :'String', 'lifecycle_details': :'String', 'freeform_tags': :'Hash<String, String>', 'defined_tags': :'Hash<String, Hash<String, Object>>', 'system_tags': :'Hash<String, Hash<String, Object>>' # rubocop:enable Style/SymbolLiteral } end |
Instance Method Details
#==(other) ⇒ Object
Checks equality by comparing each attribute.
389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 |
# File 'lib/oci/self/models/subscription.rb', line 389 def ==(other) return true if equal?(other) self.class == other.class && id == other.id && display_name == other.display_name && compartment_id == other.compartment_id && tenant_id == other.tenant_id && subscription_details == other.subscription_details && seller_id == other.seller_id && source_type == other.source_type && product_id == other.product_id && additional_details == other.additional_details && realm == other.realm && region == other.region && time_created == other.time_created && time_updated == other.time_updated && time_started == other.time_started && time_ended == other.time_ended && lifecycle_state == other.lifecycle_state && lifecycle_details == other.lifecycle_details && == other. && == other. && == other. end |
#build_from_hash(attributes) ⇒ Object
Builds the object from hash
438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 |
# File 'lib/oci/self/models/subscription.rb', line 438 def build_from_hash(attributes) return nil unless attributes.is_a?(Hash) self.class.swagger_types.each_pair do |key, type| if type =~ /^Array<(.*)>/i # check to ensure the input is an array given that the the attribute # is documented as an array but the input is not if attributes[self.class.attribute_map[key]].is_a?(Array) public_method("#{key}=").call( attributes[self.class.attribute_map[key]] .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) } ) end elsif !attributes[self.class.attribute_map[key]].nil? public_method("#{key}=").call( OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]) ) end # or else data not found in attributes(hash), not an issue as the data can be optional end self end |
#eql?(other) ⇒ Boolean
418 419 420 |
# File 'lib/oci/self/models/subscription.rb', line 418 def eql?(other) self == other end |
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
427 428 429 |
# File 'lib/oci/self/models/subscription.rb', line 427 def hash [id, display_name, compartment_id, tenant_id, subscription_details, seller_id, source_type, product_id, additional_details, realm, region, time_created, time_updated, time_started, time_ended, lifecycle_state, lifecycle_details, , , ].hash end |
#to_hash ⇒ Hash
Returns the object in the form of hash
471 472 473 474 475 476 477 478 479 480 |
# File 'lib/oci/self/models/subscription.rb', line 471 def to_hash hash = {} self.class.attribute_map.each_pair do |attr, param| value = public_method(attr).call next if value.nil? && !instance_variable_defined?("@#{attr}") hash[param] = _to_hash(value) end hash end |
#to_s ⇒ String
Returns the string representation of the object
465 466 467 |
# File 'lib/oci/self/models/subscription.rb', line 465 def to_s to_hash.to_s end |