google-api-ruby-client/generated/google/apis/replicapoolupdater_v1beta1/classes.rb

690 lines
27 KiB
Ruby

# Copyright 2015 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
require 'date'
require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'
module Google
module Apis
module ReplicapoolupdaterV1beta1
# Update of a single instance.
class InstanceUpdate
include Google::Apis::Core::Hashable
# Errors that occurred during the instance update.
# Corresponds to the JSON property `error`
# @return [Google::Apis::ReplicapoolupdaterV1beta1::InstanceUpdate::Error]
attr_accessor :error
# Fully-qualified URL of the instance being updated.
# Corresponds to the JSON property `instance`
# @return [String]
attr_accessor :instance
# Status of the instance update. Possible values are:
# - "PENDING": The instance update is pending execution.
# - "ROLLING_FORWARD": The instance update is going forward.
# - "ROLLING_BACK": The instance update is being rolled back.
# - "PAUSED": The instance update is temporarily paused (inactive).
# - "ROLLED_OUT": The instance update is finished, the instance is running the
# new template.
# - "ROLLED_BACK": The instance update is finished, the instance has been
# reverted to the previous template.
# - "CANCELLED": The instance update is paused and no longer can be resumed,
# undefined in which template the instance is running.
# Corresponds to the JSON property `status`
# @return [String]
attr_accessor :status
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@error = args[:error] unless args[:error].nil?
@instance = args[:instance] unless args[:instance].nil?
@status = args[:status] unless args[:status].nil?
end
# Errors that occurred during the instance update.
class Error
include Google::Apis::Core::Hashable
# [Output Only] The array of errors encountered while processing this operation.
# Corresponds to the JSON property `errors`
# @return [Array<Google::Apis::ReplicapoolupdaterV1beta1::InstanceUpdate::Error::Error>]
attr_accessor :errors
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@errors = args[:errors] unless args[:errors].nil?
end
#
class Error
include Google::Apis::Core::Hashable
# [Output Only] The error type identifier for this error.
# Corresponds to the JSON property `code`
# @return [String]
attr_accessor :code
# [Output Only] Indicates the field in the request that caused the error. This
# property is optional.
# Corresponds to the JSON property `location`
# @return [String]
attr_accessor :location
# [Output Only] An optional, human-readable error message.
# Corresponds to the JSON property `message`
# @return [String]
attr_accessor :message
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@code = args[:code] unless args[:code].nil?
@location = args[:location] unless args[:location].nil?
@message = args[:message] unless args[:message].nil?
end
end
end
end
# Response returned by ListInstanceUpdates method.
class InstanceUpdateList
include Google::Apis::Core::Hashable
# Collection of requested instance updates.
# Corresponds to the JSON property `items`
# @return [Array<Google::Apis::ReplicapoolupdaterV1beta1::InstanceUpdate>]
attr_accessor :items
# [Output Only] Type of the resource.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# A token used to continue a truncated list request.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# [Output Only] The fully qualified URL for the resource.
# Corresponds to the JSON property `selfLink`
# @return [String]
attr_accessor :self_link
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@items = args[:items] unless args[:items].nil?
@kind = args[:kind] unless args[:kind].nil?
@next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
@self_link = args[:self_link] unless args[:self_link].nil?
end
end
# An operation resource, used to manage asynchronous API requests.
class Operation
include Google::Apis::Core::Hashable
#
# Corresponds to the JSON property `clientOperationId`
# @return [String]
attr_accessor :client_operation_id
# [Output Only] Creation timestamp in RFC3339 text format.
# Corresponds to the JSON property `creationTimestamp`
# @return [String]
attr_accessor :creation_timestamp
#
# Corresponds to the JSON property `endTime`
# @return [String]
attr_accessor :end_time
# [Output Only] If errors occurred during processing of this operation, this
# field will be populated.
# Corresponds to the JSON property `error`
# @return [Google::Apis::ReplicapoolupdaterV1beta1::Operation::Error]
attr_accessor :error
#
# Corresponds to the JSON property `httpErrorMessage`
# @return [String]
attr_accessor :http_error_message
#
# Corresponds to the JSON property `httpErrorStatusCode`
# @return [Fixnum]
attr_accessor :http_error_status_code
# [Output Only] Unique identifier for the resource; defined by the server.
# Corresponds to the JSON property `id`
# @return [String]
attr_accessor :id
# [Output Only] The time that this operation was requested. This is in RFC 3339
# format.
# Corresponds to the JSON property `insertTime`
# @return [String]
attr_accessor :insert_time
# [Output Only] Type of the resource. Always kind#operation for Operation
# resources.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# [Output Only] Name of the resource.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
#
# Corresponds to the JSON property `operationType`
# @return [String]
attr_accessor :operation_type
#
# Corresponds to the JSON property `progress`
# @return [Fixnum]
attr_accessor :progress
# [Output Only] URL of the region where the operation resides.
# Corresponds to the JSON property `region`
# @return [String]
attr_accessor :region
# [Output Only] Server defined URL for the resource.
# Corresponds to the JSON property `selfLink`
# @return [String]
attr_accessor :self_link
# [Output Only] The time that this operation was started by the server. This is
# in RFC 3339 format.
# Corresponds to the JSON property `startTime`
# @return [String]
attr_accessor :start_time
# [Output Only] Status of the operation. Can be one of the following: "PENDING",
# "RUNNING", or "DONE".
# Corresponds to the JSON property `status`
# @return [String]
attr_accessor :status
# [Output Only] An optional textual description of the current status of the
# operation.
# Corresponds to the JSON property `statusMessage`
# @return [String]
attr_accessor :status_message
# [Output Only] Unique target id which identifies a particular incarnation of
# the target.
# Corresponds to the JSON property `targetId`
# @return [String]
attr_accessor :target_id
# [Output Only] URL of the resource the operation is mutating.
# Corresponds to the JSON property `targetLink`
# @return [String]
attr_accessor :target_link
#
# Corresponds to the JSON property `user`
# @return [String]
attr_accessor :user
#
# Corresponds to the JSON property `warnings`
# @return [Array<Google::Apis::ReplicapoolupdaterV1beta1::Operation::Warning>]
attr_accessor :warnings
# [Output Only] URL of the zone where the operation resides.
# Corresponds to the JSON property `zone`
# @return [String]
attr_accessor :zone
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@client_operation_id = args[:client_operation_id] unless args[:client_operation_id].nil?
@creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil?
@end_time = args[:end_time] unless args[:end_time].nil?
@error = args[:error] unless args[:error].nil?
@http_error_message = args[:http_error_message] unless args[:http_error_message].nil?
@http_error_status_code = args[:http_error_status_code] unless args[:http_error_status_code].nil?
@id = args[:id] unless args[:id].nil?
@insert_time = args[:insert_time] unless args[:insert_time].nil?
@kind = args[:kind] unless args[:kind].nil?
@name = args[:name] unless args[:name].nil?
@operation_type = args[:operation_type] unless args[:operation_type].nil?
@progress = args[:progress] unless args[:progress].nil?
@region = args[:region] unless args[:region].nil?
@self_link = args[:self_link] unless args[:self_link].nil?
@start_time = args[:start_time] unless args[:start_time].nil?
@status = args[:status] unless args[:status].nil?
@status_message = args[:status_message] unless args[:status_message].nil?
@target_id = args[:target_id] unless args[:target_id].nil?
@target_link = args[:target_link] unless args[:target_link].nil?
@user = args[:user] unless args[:user].nil?
@warnings = args[:warnings] unless args[:warnings].nil?
@zone = args[:zone] unless args[:zone].nil?
end
# [Output Only] If errors occurred during processing of this operation, this
# field will be populated.
class Error
include Google::Apis::Core::Hashable
# [Output Only] The array of errors encountered while processing this operation.
# Corresponds to the JSON property `errors`
# @return [Array<Google::Apis::ReplicapoolupdaterV1beta1::Operation::Error::Error>]
attr_accessor :errors
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@errors = args[:errors] unless args[:errors].nil?
end
#
class Error
include Google::Apis::Core::Hashable
# [Output Only] The error type identifier for this error.
# Corresponds to the JSON property `code`
# @return [String]
attr_accessor :code
# [Output Only] Indicates the field in the request that caused the error. This
# property is optional.
# Corresponds to the JSON property `location`
# @return [String]
attr_accessor :location
# [Output Only] An optional, human-readable error message.
# Corresponds to the JSON property `message`
# @return [String]
attr_accessor :message
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@code = args[:code] unless args[:code].nil?
@location = args[:location] unless args[:location].nil?
@message = args[:message] unless args[:message].nil?
end
end
end
#
class Warning
include Google::Apis::Core::Hashable
# [Output only] The warning type identifier for this warning.
# Corresponds to the JSON property `code`
# @return [String]
attr_accessor :code
# [Output only] Metadata for this warning in key:value format.
# Corresponds to the JSON property `data`
# @return [Array<Google::Apis::ReplicapoolupdaterV1beta1::Operation::Warning::Datum>]
attr_accessor :data
# [Output only] Optional human-readable details for this warning.
# Corresponds to the JSON property `message`
# @return [String]
attr_accessor :message
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@code = args[:code] unless args[:code].nil?
@data = args[:data] unless args[:data].nil?
@message = args[:message] unless args[:message].nil?
end
#
class Datum
include Google::Apis::Core::Hashable
# [Output Only] Metadata key for this warning.
# Corresponds to the JSON property `key`
# @return [String]
attr_accessor :key
# [Output Only] Metadata value for this warning.
# Corresponds to the JSON property `value`
# @return [String]
attr_accessor :value
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@key = args[:key] unless args[:key].nil?
@value = args[:value] unless args[:value].nil?
end
end
end
end
# The following represents a resource describing a single update (rollout) of a
# group of instances to the given template.
class RollingUpdate
include Google::Apis::Core::Hashable
# Specifies the action to take for each instance within the instance group. This
# can be RECREATE which will recreate each instance and is only available for
# managed instance groups. It can also be REBOOT which performs a soft reboot
# for each instance and is only available for regular (non-managed) instance
# groups.
# Corresponds to the JSON property `actionType`
# @return [String]
attr_accessor :action_type
# [Output Only] Creation timestamp in RFC3339 text format.
# Corresponds to the JSON property `creationTimestamp`
# @return [String]
attr_accessor :creation_timestamp
# An optional textual description of the resource; provided by the client when
# the resource is created.
# Corresponds to the JSON property `description`
# @return [String]
attr_accessor :description
# [Output Only] Errors that occurred during the rolling update.
# Corresponds to the JSON property `error`
# @return [Google::Apis::ReplicapoolupdaterV1beta1::RollingUpdate::Error]
attr_accessor :error
# [Output Only] Unique identifier for the resource; defined by the server.
# Corresponds to the JSON property `id`
# @return [String]
attr_accessor :id
# Fully-qualified URL of an instance group being updated. Exactly one of
# instanceGroupManager and instanceGroup must be set.
# Corresponds to the JSON property `instanceGroup`
# @return [String]
attr_accessor :instance_group
# Fully-qualified URL of an instance group manager being updated. Exactly one of
# instanceGroupManager and instanceGroup must be set.
# Corresponds to the JSON property `instanceGroupManager`
# @return [String]
attr_accessor :instance_group_manager
# Fully-qualified URL of an instance template to apply.
# Corresponds to the JSON property `instanceTemplate`
# @return [String]
attr_accessor :instance_template
# [Output Only] Type of the resource.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# Fully-qualified URL of the instance template encountered while starting the
# update.
# Corresponds to the JSON property `oldInstanceTemplate`
# @return [String]
attr_accessor :old_instance_template
# Parameters of the update process.
# Corresponds to the JSON property `policy`
# @return [Google::Apis::ReplicapoolupdaterV1beta1::RollingUpdate::Policy]
attr_accessor :policy
# [Output Only] An optional progress indicator that ranges from 0 to 100. There
# is no requirement that this be linear or support any granularity of operations.
# This should not be used to guess at when the update will be complete. This
# number should be monotonically increasing as the update progresses.
# Corresponds to the JSON property `progress`
# @return [Fixnum]
attr_accessor :progress
# [Output Only] The fully qualified URL for the resource.
# Corresponds to the JSON property `selfLink`
# @return [String]
attr_accessor :self_link
# [Output Only] Status of the update. Possible values are:
# - "ROLLING_FORWARD": The update is going forward.
# - "ROLLING_BACK": The update is being rolled back.
# - "PAUSED": The update is temporarily paused (inactive).
# - "ROLLED_OUT": The update is finished, all instances have been updated
# successfully.
# - "ROLLED_BACK": The update is finished, all instances have been reverted to
# the previous template.
# - "CANCELLED": The update is paused and no longer can be resumed, undefined
# how many instances are running in which template.
# Corresponds to the JSON property `status`
# @return [String]
attr_accessor :status
# [Output Only] An optional textual description of the current status of the
# update.
# Corresponds to the JSON property `statusMessage`
# @return [String]
attr_accessor :status_message
# [Output Only] User who requested the update, for example: user@example.com.
# Corresponds to the JSON property `user`
# @return [String]
attr_accessor :user
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@action_type = args[:action_type] unless args[:action_type].nil?
@creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil?
@description = args[:description] unless args[:description].nil?
@error = args[:error] unless args[:error].nil?
@id = args[:id] unless args[:id].nil?
@instance_group = args[:instance_group] unless args[:instance_group].nil?
@instance_group_manager = args[:instance_group_manager] unless args[:instance_group_manager].nil?
@instance_template = args[:instance_template] unless args[:instance_template].nil?
@kind = args[:kind] unless args[:kind].nil?
@old_instance_template = args[:old_instance_template] unless args[:old_instance_template].nil?
@policy = args[:policy] unless args[:policy].nil?
@progress = args[:progress] unless args[:progress].nil?
@self_link = args[:self_link] unless args[:self_link].nil?
@status = args[:status] unless args[:status].nil?
@status_message = args[:status_message] unless args[:status_message].nil?
@user = args[:user] unless args[:user].nil?
end
# [Output Only] Errors that occurred during the rolling update.
class Error
include Google::Apis::Core::Hashable
# [Output Only] The array of errors encountered while processing this operation.
# Corresponds to the JSON property `errors`
# @return [Array<Google::Apis::ReplicapoolupdaterV1beta1::RollingUpdate::Error::Error>]
attr_accessor :errors
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@errors = args[:errors] unless args[:errors].nil?
end
#
class Error
include Google::Apis::Core::Hashable
# [Output Only] The error type identifier for this error.
# Corresponds to the JSON property `code`
# @return [String]
attr_accessor :code
# [Output Only] Indicates the field in the request that caused the error. This
# property is optional.
# Corresponds to the JSON property `location`
# @return [String]
attr_accessor :location
# [Output Only] An optional, human-readable error message.
# Corresponds to the JSON property `message`
# @return [String]
attr_accessor :message
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@code = args[:code] unless args[:code].nil?
@location = args[:location] unless args[:location].nil?
@message = args[:message] unless args[:message].nil?
end
end
end
# Parameters of the update process.
class Policy
include Google::Apis::Core::Hashable
# Number of instances to update before the updater pauses the rolling update.
# Corresponds to the JSON property `autoPauseAfterInstances`
# @return [Fixnum]
attr_accessor :auto_pause_after_instances
# The maximum amount of time that the updater waits for a HEALTHY state after
# all of the update steps are complete. If the HEALTHY state is not received
# before the deadline, the instance update is considered a failure.
# Corresponds to the JSON property `instanceStartupTimeoutSec`
# @return [Fixnum]
attr_accessor :instance_startup_timeout_sec
# The maximum number of instances that can be updated simultaneously. An
# instance update is considered complete only after the instance is restarted
# and initialized.
# Corresponds to the JSON property `maxNumConcurrentInstances`
# @return [Fixnum]
attr_accessor :max_num_concurrent_instances
# The maximum number of instance updates that can fail before the group update
# is considered a failure. An instance update is considered failed if any of its
# update actions (e.g. Stop call on Instance resource in Rolling Reboot) failed
# with permanent failure, or if the instance is in an UNHEALTHY state after it
# finishes all of the update actions.
# Corresponds to the JSON property `maxNumFailedInstances`
# @return [Fixnum]
attr_accessor :max_num_failed_instances
# The minimum amount of time that the updater spends to update each instance.
# Update time is the time it takes to complete all update actions (e.g. Stop
# call on Instance resource in Rolling Reboot), reboot, and initialize. If the
# instance update finishes early, the updater pauses for the remainder of the
# time before it starts the next instance update.
# Corresponds to the JSON property `minInstanceUpdateTimeSec`
# @return [Fixnum]
attr_accessor :min_instance_update_time_sec
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@auto_pause_after_instances = args[:auto_pause_after_instances] unless args[:auto_pause_after_instances].nil?
@instance_startup_timeout_sec = args[:instance_startup_timeout_sec] unless args[:instance_startup_timeout_sec].nil?
@max_num_concurrent_instances = args[:max_num_concurrent_instances] unless args[:max_num_concurrent_instances].nil?
@max_num_failed_instances = args[:max_num_failed_instances] unless args[:max_num_failed_instances].nil?
@min_instance_update_time_sec = args[:min_instance_update_time_sec] unless args[:min_instance_update_time_sec].nil?
end
end
end
# Response returned by List method.
class RollingUpdateList
include Google::Apis::Core::Hashable
# Collection of requested updates.
# Corresponds to the JSON property `items`
# @return [Array<Google::Apis::ReplicapoolupdaterV1beta1::RollingUpdate>]
attr_accessor :items
# [Output Only] Type of the resource.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# A token used to continue a truncated list request.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# [Output Only] The fully qualified URL for the resource.
# Corresponds to the JSON property `selfLink`
# @return [String]
attr_accessor :self_link
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@items = args[:items] unless args[:items].nil?
@kind = args[:kind] unless args[:kind].nil?
@next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
@self_link = args[:self_link] unless args[:self_link].nil?
end
end
end
end
end