Class: Google::Apis::ComputeAlpha::LicenseCode

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb

Overview

Represents a License Code resource. A License Code is a unique identifier used to represent a license resource. Caution This resource is intended for use only by third-party partners who are creating Cloud Marketplace images.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ LicenseCode

Returns a new instance of LicenseCode.



28284
28285
28286
# File 'lib/google/apis/compute_alpha/classes.rb', line 28284

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#allowed_replacement_licensesArray<String>

Specifies licenseCodes of licenses that can replace this license. Note: such replacements are allowed even if removable_from_disk is false. Corresponds to the JSON property allowedReplacementLicenses

Returns:

  • (Array<String>)


28173
28174
28175
# File 'lib/google/apis/compute_alpha/classes.rb', line 28173

def allowed_replacement_licenses
  @allowed_replacement_licenses
end

#appendable_to_diskBoolean Also known as: appendable_to_disk?

If true, this license can be appended to an existing disk's set of licenses. Corresponds to the JSON property appendableToDisk

Returns:

  • (Boolean)


28178
28179
28180
# File 'lib/google/apis/compute_alpha/classes.rb', line 28178

def appendable_to_disk
  @appendable_to_disk
end

#creation_timestampString

[Output Only] Creation timestamp in RFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


28184
28185
28186
# File 'lib/google/apis/compute_alpha/classes.rb', line 28184

def creation_timestamp
  @creation_timestamp
end

#descriptionString

[Output Only] Description of this License Code. Corresponds to the JSON property description

Returns:

  • (String)


28189
28190
28191
# File 'lib/google/apis/compute_alpha/classes.rb', line 28189

def description
  @description
end

#idFixnum

[Output Only] The unique identifier for the resource. This identifier is defined by the server. Corresponds to the JSON property id

Returns:

  • (Fixnum)


28195
28196
28197
# File 'lib/google/apis/compute_alpha/classes.rb', line 28195

def id
  @id
end

#incompatible_licensesArray<String>

Specifies licenseCodes of licenses that are incompatible with this license. If a license is incompatible with this license, it cannot be attached to the same disk or image. Corresponds to the JSON property incompatibleLicenses

Returns:

  • (Array<String>)


28202
28203
28204
# File 'lib/google/apis/compute_alpha/classes.rb', line 28202

def incompatible_licenses
  @incompatible_licenses
end

#kindString

[Output Only] Type of resource. Always compute#licenseCode for licenses. Corresponds to the JSON property kind

Returns:

  • (String)


28207
28208
28209
# File 'lib/google/apis/compute_alpha/classes.rb', line 28207

def kind
  @kind
end

#license_aliasArray<Google::Apis::ComputeAlpha::LicenseCodeLicenseAlias>

[Output Only] URL and description aliases of Licenses with the same License Code. Corresponds to the JSON property licenseAlias



28213
28214
28215
# File 'lib/google/apis/compute_alpha/classes.rb', line 28213

def license_alias
  @license_alias
end

#minimum_retentionGoogle::Apis::ComputeAlpha::Duration

A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10, 000 years. Corresponds to the JSON property minimumRetention



28221
28222
28223
# File 'lib/google/apis/compute_alpha/classes.rb', line 28221

def minimum_retention
  @minimum_retention
end

#multi_tenant_onlyBoolean Also known as: multi_tenant_only?

If true, this license can only be used on VMs on multi tenant nodes. Corresponds to the JSON property multiTenantOnly

Returns:

  • (Boolean)


28226
28227
28228
# File 'lib/google/apis/compute_alpha/classes.rb', line 28226

def multi_tenant_only
  @multi_tenant_only
end

#nameString

[Output Only] Name of the resource. The name is 1-20 characters long and must be a valid 64 bit integer. Corresponds to the JSON property name

Returns:

  • (String)


28233
28234
28235
# File 'lib/google/apis/compute_alpha/classes.rb', line 28233

def name
  @name
end

#os_licenseBoolean Also known as: os_license?

If true, indicates this is an OS license. Only one OS license can be attached to a disk or image at a time. Corresponds to the JSON property osLicense

Returns:

  • (Boolean)


28239
28240
28241
# File 'lib/google/apis/compute_alpha/classes.rb', line 28239

def os_license
  @os_license
end

#removable_from_diskBoolean Also known as: removable_from_disk?

If true, this license can be removed from a disk's set of licenses, with no replacement license needed. Corresponds to the JSON property removableFromDisk

Returns:

  • (Boolean)


28246
28247
28248
# File 'lib/google/apis/compute_alpha/classes.rb', line 28246

def removable_from_disk
  @removable_from_disk
end

#required_coattached_licensesArray<String>

Specifies the set of permissible coattached licenseCodes of licenses that satisfy the coattachment requirement of this license. At least one license from the set must be attached to the same disk or image as this license. Corresponds to the JSON property requiredCoattachedLicenses

Returns:

  • (Array<String>)


28254
28255
28256
# File 'lib/google/apis/compute_alpha/classes.rb', line 28254

def required_coattached_licenses
  @required_coattached_licenses
end

[Output Only] Server-defined URL for the resource. Corresponds to the JSON property selfLink

Returns:

  • (String)


28259
28260
28261
# File 'lib/google/apis/compute_alpha/classes.rb', line 28259

def self_link
  @self_link
end

#sole_tenant_onlyBoolean Also known as: sole_tenant_only?

If true, this license can only be used on VMs on sole tenant nodes. Corresponds to the JSON property soleTenantOnly

Returns:

  • (Boolean)


28264
28265
28266
# File 'lib/google/apis/compute_alpha/classes.rb', line 28264

def sole_tenant_only
  @sole_tenant_only
end

#stateString

[Output Only] Current state of this License Code. Corresponds to the JSON property state

Returns:

  • (String)


28270
28271
28272
# File 'lib/google/apis/compute_alpha/classes.rb', line 28270

def state
  @state
end

#transferableBoolean Also known as: transferable?

[Output Only] If true, the license will remain attached when creating images or snapshots from disks. Otherwise, the license is not transferred. Corresponds to the JSON property transferable

Returns:

  • (Boolean)


28276
28277
28278
# File 'lib/google/apis/compute_alpha/classes.rb', line 28276

def transferable
  @transferable
end

#update_timestampString

[Output Only] Last update timestamp in RFC3339 text format. Corresponds to the JSON property updateTimestamp

Returns:

  • (String)


28282
28283
28284
# File 'lib/google/apis/compute_alpha/classes.rb', line 28282

def update_timestamp
  @update_timestamp
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



28289
28290
28291
28292
28293
28294
28295
28296
28297
28298
28299
28300
28301
28302
28303
28304
28305
28306
28307
28308
28309
# File 'lib/google/apis/compute_alpha/classes.rb', line 28289

def update!(**args)
  @allowed_replacement_licenses = args[:allowed_replacement_licenses] if args.key?(:allowed_replacement_licenses)
  @appendable_to_disk = args[:appendable_to_disk] if args.key?(:appendable_to_disk)
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
  @description = args[:description] if args.key?(:description)
  @id = args[:id] if args.key?(:id)
  @incompatible_licenses = args[:incompatible_licenses] if args.key?(:incompatible_licenses)
  @kind = args[:kind] if args.key?(:kind)
  @license_alias = args[:license_alias] if args.key?(:license_alias)
  @minimum_retention = args[:minimum_retention] if args.key?(:minimum_retention)
  @multi_tenant_only = args[:multi_tenant_only] if args.key?(:multi_tenant_only)
  @name = args[:name] if args.key?(:name)
  @os_license = args[:os_license] if args.key?(:os_license)
  @removable_from_disk = args[:removable_from_disk] if args.key?(:removable_from_disk)
  @required_coattached_licenses = args[:required_coattached_licenses] if args.key?(:required_coattached_licenses)
  @self_link = args[:self_link] if args.key?(:self_link)
  @sole_tenant_only = args[:sole_tenant_only] if args.key?(:sole_tenant_only)
  @state = args[:state] if args.key?(:state)
  @transferable = args[:transferable] if args.key?(:transferable)
  @update_timestamp = args[:update_timestamp] if args.key?(:update_timestamp)
end