Class: Google::Apis::RuntimeconfigV1beta1::Waiter

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/runtimeconfig_v1beta1/classes.rb,
generated/google/apis/runtimeconfig_v1beta1/representations.rb,
generated/google/apis/runtimeconfig_v1beta1/representations.rb

Overview

A Waiter resource waits for some end condition within a RuntimeConfig resource to be met before it returns. For example, assume you have a distributed system where each node writes to a Variable resource indicating the node's readiness as part of the startup process. You then configure a Waiter resource with the success condition set to wait until some number of nodes have checked in. Afterwards, your application runs some arbitrary code after the condition has been met and the waiter returns successfully. Once created, a Waiter resource is immutable. To learn more about using waiters, read the Creating a Waiter documentation.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Waiter

Returns a new instance of Waiter.



753
754
755
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 753

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

Instance Attribute Details

#create_timeString

Output only. The instant at which this Waiter resource was created. Adding the value of timeout to this instant yields the timeout deadline for the waiter. Corresponds to the JSON property createTime

Returns:

  • (String)


705
706
707
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 705

def create_time
  @create_time
end

#doneBoolean Also known as: done?

Output only. If the value is false, it means the waiter is still waiting for one of its conditions to be met. If true, the waiter has finished. If the waiter finished due to a timeout or failure, error will be set. Corresponds to the JSON property done

Returns:

  • (Boolean)


712
713
714
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 712

def done
  @done
end

#errorGoogle::Apis::RuntimeconfigV1beta1::Status

The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Corresponds to the JSON property error



723
724
725
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 723

def error
  @error
end

#failureGoogle::Apis::RuntimeconfigV1beta1::EndCondition

The condition that a Waiter resource is waiting for. Corresponds to the JSON property failure



728
729
730
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 728

def failure
  @failure
end

#nameString

The name of the Waiter resource, in the format: projects/[PROJECT_ID]/configs/[ CONFIG_NAME]/waiters/[WAITER_NAME] The [PROJECT_ID] must be a valid Google Cloud project ID, the [CONFIG_NAME] must be a valid RuntimeConfig resource, the [WAITER_NAME] must match RFC 1035 segment specification, and the length of [WAITER_NAME] must be less than 64 bytes. After you create a Waiter resource, you cannot change the resource name. Corresponds to the JSON property name

Returns:

  • (String)


738
739
740
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 738

def name
  @name
end

#successGoogle::Apis::RuntimeconfigV1beta1::EndCondition

The condition that a Waiter resource is waiting for. Corresponds to the JSON property success



743
744
745
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 743

def success
  @success
end

#timeoutString

[Required] Specifies the timeout of the waiter in seconds, beginning from the instant that waiters().create method is called. If this time elapses before the success or failure conditions are met, the waiter fails and sets the error code to DEADLINE_EXCEEDED. Corresponds to the JSON property timeout

Returns:

  • (String)


751
752
753
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 751

def timeout
  @timeout
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



758
759
760
761
762
763
764
765
766
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 758

def update!(**args)
  @create_time = args[:create_time] if args.key?(:create_time)
  @done = args[:done] if args.key?(:done)
  @error = args[:error] if args.key?(:error)
  @failure = args[:failure] if args.key?(:failure)
  @name = args[:name] if args.key?(:name)
  @success = args[:success] if args.key?(:success)
  @timeout = args[:timeout] if args.key?(:timeout)
end