<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/compute/v1/compute.proto

namespace Google\Cloud\Compute\V1\UpdateInstanceRequest;

use UnexpectedValueException;

/**
 * Specifies the action to take when updating an instance even if the updated properties do not require it. If not specified, then Compute Engine acts based on the minimum action that the updated properties require.
 * Additional supported values which may be not listed in the enum directly due to technical reasons:
 * INVALID
 * NO_EFFECT
 * REFRESH
 * RESTART
 *
 * Protobuf type <code>google.cloud.compute.v1.UpdateInstanceRequest.MinimalAction</code>
 */
class MinimalAction
{
    /**
     * A value indicating that the enum field is not set.
     *
     * Generated from protobuf enum <code>UNDEFINED_MINIMAL_ACTION = 0;</code>
     */
    const UNDEFINED_MINIMAL_ACTION = 0;

    private static $valueToName = [
        self::UNDEFINED_MINIMAL_ACTION => 'UNDEFINED_MINIMAL_ACTION',
    ];

    public static function name($value)
    {
        if (!isset(self::$valueToName[$value])) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no name defined for value %s', __CLASS__, $value));
        }
        return self::$valueToName[$value];
    }


    public static function value($name)
    {
        $const = __CLASS__ . '::' . strtoupper($name);
        if (!defined($const)) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no value defined for name %s', __CLASS__, $name));
        }
        return constant($const);
    }
}


