lib/google_api/compute/v1/model/instance_group_manager_actions_summary.ex

# Copyright 2019 Google LLC
#
# 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.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.Compute.V1.Model.InstanceGroupManagerActionsSummary do
  @moduledoc """


  ## Attributes

  *   `abandoning` (*type:* `integer()`, *default:* `nil`) - [Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it.
  *   `creating` (*type:* `integer()`, *default:* `nil`) - [Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully. If you have disabled creation retries, this field will not be populated; instead, the creatingWithoutRetries field will be populated.
  *   `creatingWithoutRetries` (*type:* `integer()`, *default:* `nil`) - [Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.
  *   `deleting` (*type:* `integer()`, *default:* `nil`) - [Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted.
  *   `none` (*type:* `integer()`, *default:* `nil`) - [Output Only] The number of instances in the managed instance group that are running and have no scheduled actions.
  *   `recreating` (*type:* `integer()`, *default:* `nil`) - [Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.
  *   `refreshing` (*type:* `integer()`, *default:* `nil`) - [Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance.
  *   `restarting` (*type:* `integer()`, *default:* `nil`) - [Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.
  *   `verifying` (*type:* `integer()`, *default:* `nil`) - [Output Only] The number of instances in the managed instance group that are being verified. See the managedInstances[].currentAction property in the listManagedInstances method documentation.
  """

  use GoogleApi.Gax.ModelBase

  @type t :: %__MODULE__{
          :abandoning => integer() | nil,
          :creating => integer() | nil,
          :creatingWithoutRetries => integer() | nil,
          :deleting => integer() | nil,
          :none => integer() | nil,
          :recreating => integer() | nil,
          :refreshing => integer() | nil,
          :restarting => integer() | nil,
          :verifying => integer() | nil
        }

  field(:abandoning)
  field(:creating)
  field(:creatingWithoutRetries)
  field(:deleting)
  field(:none)
  field(:recreating)
  field(:refreshing)
  field(:restarting)
  field(:verifying)
end

defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstanceGroupManagerActionsSummary do
  def decode(value, options) do
    GoogleApi.Compute.V1.Model.InstanceGroupManagerActionsSummary.decode(value, options)
  end
end

defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstanceGroupManagerActionsSummary do
  def encode(value, options) do
    GoogleApi.Gax.ModelBase.encode(value, options)
  end
end