Class: Google::Apis::ComputeBeta::Commitment
- Inherits:
-
Object
- Object
- Google::Apis::ComputeBeta::Commitment
- Defined in:
- generated/google/apis/compute_beta/classes.rb,
generated/google/apis/compute_beta/representations.rb,
generated/google/apis/compute_beta/representations.rb
Overview
A usage-commitment with a start / end time. Users create commitments for particular resources (e.g. memory). Actual usage is first deducted from available commitments made prior, perhaps at a reduced price (as laid out in the commitment).
Instance Attribute Summary collapse
-
#creation_timestamp ⇒ String
[Output Only] Creation timestamp in RFC3339 text format.
-
#description ⇒ String
An optional description of this resource.
-
#end_timestamp ⇒ String
[Output Only] Commitment end time in RFC3339 text format.
-
#id ⇒ Fixnum
[Output Only] The unique identifier for the resource.
-
#kind ⇒ String
[Output Only] Type of the resource.
-
#name ⇒ String
Name of the resource.
-
#plan ⇒ String
The plan for this commitment, which determines duration and discount rate.
-
#region ⇒ String
[Output Only] URL of the region where this commitment may be used.
-
#resources ⇒ Array<Google::Apis::ComputeBeta::ResourceCommitment>
List of commitment amounts for particular resources.
-
#self_link ⇒ String
[Output Only] Server-defined URL for the resource.
-
#start_timestamp ⇒ String
[Output Only] Commitment start time in RFC3339 text format.
-
#status ⇒ String
[Output Only] Status of the commitment with regards to eventual expiration ( each commitment has an end-date defined).
-
#status_message ⇒ String
[Output Only] An optional, human-readable explanation of the status.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Commitment
constructor
A new instance of Commitment.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Google::Apis::Core::JsonObjectSupport
Methods included from Google::Apis::Core::Hashable
Constructor Details
#initialize(**args) ⇒ Commitment
Returns a new instance of Commitment
2255 2256 2257 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2255 def initialize(**args) update!(**args) end |
Instance Attribute Details
#creation_timestamp ⇒ String
[Output Only] Creation timestamp in RFC3339 text format.
Corresponds to the JSON property creationTimestamp
2181 2182 2183 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2181 def @creation_timestamp end |
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
2187 2188 2189 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2187 def description @description end |
#end_timestamp ⇒ String
[Output Only] Commitment end time in RFC3339 text format.
Corresponds to the JSON property endTimestamp
2192 2193 2194 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2192 def @end_timestamp end |
#id ⇒ Fixnum
[Output Only] The unique identifier for the resource. This identifier is
defined by the server.
Corresponds to the JSON property id
2198 2199 2200 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2198 def id @id end |
#kind ⇒ String
[Output Only] Type of the resource. Always compute#commitment for commitments.
Corresponds to the JSON property kind
2203 2204 2205 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2203 def kind @kind end |
#name ⇒ String
Name of the resource. Provided by the client when the resource is created. The
name must be 1-63 characters long, and comply with RFC1035. Specifically, the
name must be 1-63 characters long and match the regular expression a-z? which means the first character must be a lowercase letter,
and all following characters must be a dash, lowercase letter, or digit,
except the last character, which cannot be a dash.
Corresponds to the JSON property name
2213 2214 2215 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2213 def name @name end |
#plan ⇒ String
The plan for this commitment, which determines duration and discount rate. The
currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3
years).
Corresponds to the JSON property plan
2220 2221 2222 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2220 def plan @plan end |
#region ⇒ String
[Output Only] URL of the region where this commitment may be used.
Corresponds to the JSON property region
2225 2226 2227 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2225 def region @region end |
#resources ⇒ Array<Google::Apis::ComputeBeta::ResourceCommitment>
List of commitment amounts for particular resources. Note that VCPU and MEMORY
resource commitments must occur together.
Corresponds to the JSON property resources
2231 2232 2233 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2231 def resources @resources end |
#self_link ⇒ String
[Output Only] Server-defined URL for the resource.
Corresponds to the JSON property selfLink
2236 2237 2238 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2236 def self_link @self_link end |
#start_timestamp ⇒ String
[Output Only] Commitment start time in RFC3339 text format.
Corresponds to the JSON property startTimestamp
2241 2242 2243 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2241 def @start_timestamp end |
#status ⇒ String
[Output Only] Status of the commitment with regards to eventual expiration (
each commitment has an end-date defined). One of the following values:
NOT_YET_ACTIVE, ACTIVE, EXPIRED.
Corresponds to the JSON property status
2248 2249 2250 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2248 def status @status end |
#status_message ⇒ String
[Output Only] An optional, human-readable explanation of the status.
Corresponds to the JSON property statusMessage
2253 2254 2255 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2253 def @status_message end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2260 def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @plan = args[:plan] if args.key?(:plan) @region = args[:region] if args.key?(:region) @resources = args[:resources] if args.key?(:resources) @self_link = args[:self_link] if args.key?(:self_link) @start_timestamp = args[:start_timestamp] if args.key?(:start_timestamp) @status = args[:status] if args.key?(:status) @status_message = args[:status_message] if args.key?(:status_message) end |