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

namespace Google\Cloud\Compute\V1;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;

/**
 *
 * Generated from protobuf message <code>google.cloud.compute.v1.StatefulPolicyPreservedStateDiskDevice</code>
 */
class StatefulPolicyPreservedStateDiskDevice extends \Google\Protobuf\Internal\Message
{
    /**
     * These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.
     * Check the AutoDelete enum for the list of possible values.
     *
     * Generated from protobuf field <code>optional string auto_delete = 464761403;</code>
     */
    private $auto_delete = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type string $auto_delete
     *           These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.
     *           Check the AutoDelete enum for the list of possible values.
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Google\Cloud\Compute\V1\Compute::initOnce();
        parent::__construct($data);
    }

    /**
     * These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.
     * Check the AutoDelete enum for the list of possible values.
     *
     * Generated from protobuf field <code>optional string auto_delete = 464761403;</code>
     * @return string
     */
    public function getAutoDelete()
    {
        return isset($this->auto_delete) ? $this->auto_delete : '';
    }

    public function hasAutoDelete()
    {
        return isset($this->auto_delete);
    }

    public function clearAutoDelete()
    {
        unset($this->auto_delete);
    }

    /**
     * These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.
     * Check the AutoDelete enum for the list of possible values.
     *
     * Generated from protobuf field <code>optional string auto_delete = 464761403;</code>
     * @param string $var
     * @return $this
     */
    public function setAutoDelete($var)
    {
        GPBUtil::checkString($var, True);
        $this->auto_delete = $var;

        return $this;
    }

}

