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 indidicating 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

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Waiter

Returns a new instance of Waiter



767
768
769
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 767

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)


684
685
686
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 684

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)


692
693
694
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 692

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. The error model is designed to be:

  • Simple to use and understand for most users
  • Flexible enough to meet unexpected needs # Overview The Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions. # Language mapping The Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include:
  • Partial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.
  • Workflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.
  • Batch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.
  • Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.
  • Logging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons. Corresponds to the JSON property error


736
737
738
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 736

def error
  @error
end

#failureGoogle::Apis::RuntimeconfigV1beta1::EndCondition

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



741
742
743
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 741

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)


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

def name
  @name
end

#successGoogle::Apis::RuntimeconfigV1beta1::EndCondition

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



757
758
759
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 757

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)


765
766
767
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 765

def timeout
  @timeout
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



772
773
774
775
776
777
778
779
780
# File 'generated/google/apis/runtimeconfig_v1beta1/classes.rb', line 772

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