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
2258 2259 2260 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2258 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
2184 2185 2186 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2184 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
2190 2191 2192 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2190 def description @description end |
#end_timestamp ⇒ String
[Output Only] Commitment end time in RFC3339 text format.
Corresponds to the JSON property endTimestamp
2195 2196 2197 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2195 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
2201 2202 2203 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2201 def id @id end |
#kind ⇒ String
[Output Only] Type of the resource. Always compute#commitment for commitments.
Corresponds to the JSON property kind
2206 2207 2208 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2206 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
2216 2217 2218 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2216 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
2223 2224 2225 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2223 def plan @plan end |
#region ⇒ String
[Output Only] URL of the region where this commitment may be used.
Corresponds to the JSON property region
2228 2229 2230 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2228 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
2234 2235 2236 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2234 def resources @resources end |
#self_link ⇒ String
[Output Only] Server-defined URL for the resource.
Corresponds to the JSON property selfLink
2239 2240 2241 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2239 def self_link @self_link end |
#start_timestamp ⇒ String
[Output Only] Commitment start time in RFC3339 text format.
Corresponds to the JSON property startTimestamp
2244 2245 2246 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2244 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
2251 2252 2253 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2251 def status @status end |
#status_message ⇒ String
[Output Only] An optional, human-readable explanation of the status.
Corresponds to the JSON property statusMessage
2256 2257 2258 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2256 def @status_message end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2263 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 |