Class: Google::Apis::SaasservicemgmtV1beta1::Rollout

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

Overview

Represents a single rollout execution and its results

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Rollout

Returns a new instance of Rollout.



1994
1995
1996
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1994

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

Instance Attribute Details

#annotationsHash<String,String>

Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations Corresponds to the JSON property annotations

Returns:

  • (Hash<String,String>)


1840
1841
1842
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1840

def annotations
  @annotations
end

#controlGoogle::Apis::SaasservicemgmtV1beta1::RolloutControl

RolloutControl provides a way to request a change to the execution of a Rollout by pausing or canceling it. Corresponds to the JSON property control



1846
1847
1848
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1846

def control
  @control
end

#create_timeString

Output only. The timestamp when the resource was created. Corresponds to the JSON property createTime

Returns:

  • (String)


1851
1852
1853
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1851

def create_time
  @create_time
end

#delete_timeString

Output only. The timestamp when the resource was marked for deletion (deletion is an asynchronous operation). Corresponds to the JSON property deleteTime

Returns:

  • (String)


1857
1858
1859
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1857

def delete_time
  @delete_time
end

#effective_unit_filterString

Optional. Output only. Output only snapshot of the effective unit filter at Rollout start time. Contains a CEL(https://github.com/google/cel-spec) expression consisting of a conjunction of Rollout.unit_filter and RolloutKind. unit_filter. This field captures the filter applied by the Rollout to determine the Unit population. If the associated RolloutKind's unit_filter is modified after the rollout is started, it will not be updated here. Corresponds to the JSON property effectiveUnitFilter

Returns:

  • (String)


1867
1868
1869
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1867

def effective_unit_filter
  @effective_unit_filter
end

#end_timeString

Optional. Output only. The time when the rollout finished execution ( regardless of success, failure, or cancellation). Will be empty if the rollout hasn't finished yet. Once set, the rollout is in terminal state and all the results are final. Corresponds to the JSON property endTime

Returns:

  • (String)


1875
1876
1877
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1875

def end_time
  @end_time
end

#etagString

Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written. Corresponds to the JSON property etag

Returns:

  • (String)


1882
1883
1884
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1882

def etag
  @etag
end

#flag_releaseString

Optional. Immutable. Name of the FlagRelease to be rolled out to the target Units. Release and FlagRelease are mutually exclusive. Note: release comment needs to be adjusted to mention that "Release and FlagRelease are mutually exclusive" when visibility restriction will be lifted. Corresponds to the JSON property flagRelease

Returns:

  • (String)


1890
1891
1892
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1890

def flag_release
  @flag_release
end

#labelsHash<String,String>

Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


1896
1897
1898
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1896

def labels
  @labels
end

#nameString

Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/project/locations/location/rollout/ rollout_id" Corresponds to the JSON property name

Returns:

  • (String)


1903
1904
1905
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1903

def name
  @name
end

#parent_rolloutString

Optional. Output only. The direct parent rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/project/locations/location/rollouts/rollout_id" Corresponds to the JSON property parentRollout

Returns:

  • (String)


1910
1911
1912
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1910

def parent_rollout
  @parent_rollout
end

#releaseString

Optional. Immutable. Name of the Release that gets rolled out to target Units. Required if no other type of release is specified. Corresponds to the JSON property release

Returns:

  • (String)


1916
1917
1918
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1916

def release
  @release
end

#rollout_kindString

Required. Immutable. Name of the RolloutKind this rollout is stemming from and adhering to. Corresponds to the JSON property rolloutKind

Returns:

  • (String)


1922
1923
1924
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1922

def rollout_kind
  @rollout_kind
end

#rollout_orchestration_strategyString

Optional. The strategy used for executing this Rollout. This strategy will override whatever strategy is specified in the RolloutKind. If not specified on creation, the strategy from RolloutKind will be used. There are two supported values strategies which are used to control - "Google.Cloud.Simple. AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime" A rollout with one of these simple strategies will rollout across all locations defined in the targeted UnitKind's Saas Locations. Corresponds to the JSON property rolloutOrchestrationStrategy

Returns:

  • (String)


1933
1934
1935
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1933

def rollout_orchestration_strategy
  @rollout_orchestration_strategy
end

#root_rolloutString

Optional. Output only. The root rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/project/locations/location/rollouts/rollout_id" Corresponds to the JSON property rootRollout

Returns:

  • (String)


1940
1941
1942
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1940

def root_rollout
  @root_rollout
end

#start_timeString

Optional. Output only. The time when the rollout started executing. Will be empty if the rollout hasn't started yet. Corresponds to the JSON property startTime

Returns:

  • (String)


1946
1947
1948
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1946

def start_time
  @start_time
end

#stateString

Output only. Current state of the rollout. Corresponds to the JSON property state

Returns:

  • (String)


1951
1952
1953
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1951

def state
  @state
end

#state_messageString

Output only. Human readable message indicating details about the last state transition. Corresponds to the JSON property stateMessage

Returns:

  • (String)


1957
1958
1959
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1957

def state_message
  @state_message
end

#state_transition_timeString

Optional. Output only. The time when the rollout transitioned into its current state. Corresponds to the JSON property stateTransitionTime

Returns:

  • (String)


1963
1964
1965
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1963

def state_transition_time
  @state_transition_time
end

#statsGoogle::Apis::SaasservicemgmtV1beta1::RolloutStats

RolloutStats contains information about the progress of a rollout. Corresponds to the JSON property stats



1968
1969
1970
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1968

def stats
  @stats
end

#uidString

Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. Corresponds to the JSON property uid

Returns:

  • (String)


1977
1978
1979
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1977

def uid
  @uid
end

#unit_filterString

Optional. CEL(https://github.com/google/cel-spec) formatted filter string against Unit. The filter will be applied to determine the eligible unit population. This filter can only reduce, but not expand the scope of the rollout. If not provided, the unit_filter from the RolloutKind will be used. Corresponds to the JSON property unitFilter

Returns:

  • (String)


1985
1986
1987
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1985

def unit_filter
  @unit_filter
end

#update_timeString

Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. Corresponds to the JSON property updateTime

Returns:

  • (String)


1992
1993
1994
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1992

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1999

def update!(**args)
  @annotations = args[:annotations] if args.key?(:annotations)
  @control = args[:control] if args.key?(:control)
  @create_time = args[:create_time] if args.key?(:create_time)
  @delete_time = args[:delete_time] if args.key?(:delete_time)
  @effective_unit_filter = args[:effective_unit_filter] if args.key?(:effective_unit_filter)
  @end_time = args[:end_time] if args.key?(:end_time)
  @etag = args[:etag] if args.key?(:etag)
  @flag_release = args[:flag_release] if args.key?(:flag_release)
  @labels = args[:labels] if args.key?(:labels)
  @name = args[:name] if args.key?(:name)
  @parent_rollout = args[:parent_rollout] if args.key?(:parent_rollout)
  @release = args[:release] if args.key?(:release)
  @rollout_kind = args[:rollout_kind] if args.key?(:rollout_kind)
  @rollout_orchestration_strategy = args[:rollout_orchestration_strategy] if args.key?(:rollout_orchestration_strategy)
  @root_rollout = args[:root_rollout] if args.key?(:root_rollout)
  @start_time = args[:start_time] if args.key?(:start_time)
  @state = args[:state] if args.key?(:state)
  @state_message = args[:state_message] if args.key?(:state_message)
  @state_transition_time = args[:state_transition_time] if args.key?(:state_transition_time)
  @stats = args[:stats] if args.key?(:stats)
  @uid = args[:uid] if args.key?(:uid)
  @unit_filter = args[:unit_filter] if args.key?(:unit_filter)
  @update_time = args[:update_time] if args.key?(:update_time)
end