<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/dataflow/v1beta3/environment.proto

namespace Google\Cloud\Dataflow\V1beta3;

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

/**
 * Describes the data disk used by a workflow job.
 *
 * Generated from protobuf message <code>google.dataflow.v1beta3.Disk</code>
 */
class Disk extends \Google\Protobuf\Internal\Message
{
    /**
     * Size of disk in GB.  If zero or unspecified, the service will
     * attempt to choose a reasonable default.
     *
     * Generated from protobuf field <code>int32 size_gb = 1;</code>
     */
    private $size_gb = 0;
    /**
     * Disk storage type, as defined by Google Compute Engine.  This
     * must be a disk type appropriate to the project and zone in which
     * the workers will run.  If unknown or unspecified, the service
     * will attempt to choose a reasonable default.
     * For example, the standard persistent disk type is a resource name
     * typically ending in "pd-standard".  If SSD persistent disks are
     * available, the resource name typically ends with "pd-ssd".  The
     * actual valid values are defined the Google Compute Engine API,
     * not by the Cloud Dataflow API; consult the Google Compute Engine
     * documentation for more information about determining the set of
     * available disk types for a particular project and zone.
     * Google Compute Engine Disk types are local to a particular
     * project in a particular zone, and so the resource name will
     * typically look something like this:
     * compute.googleapis.com/projects/project-id/zones/zone/diskTypes/pd-standard
     *
     * Generated from protobuf field <code>string disk_type = 2;</code>
     */
    private $disk_type = '';
    /**
     * Directory in a VM where disk is mounted.
     *
     * Generated from protobuf field <code>string mount_point = 3;</code>
     */
    private $mount_point = '';

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $size_gb
     *           Size of disk in GB.  If zero or unspecified, the service will
     *           attempt to choose a reasonable default.
     *     @type string $disk_type
     *           Disk storage type, as defined by Google Compute Engine.  This
     *           must be a disk type appropriate to the project and zone in which
     *           the workers will run.  If unknown or unspecified, the service
     *           will attempt to choose a reasonable default.
     *           For example, the standard persistent disk type is a resource name
     *           typically ending in "pd-standard".  If SSD persistent disks are
     *           available, the resource name typically ends with "pd-ssd".  The
     *           actual valid values are defined the Google Compute Engine API,
     *           not by the Cloud Dataflow API; consult the Google Compute Engine
     *           documentation for more information about determining the set of
     *           available disk types for a particular project and zone.
     *           Google Compute Engine Disk types are local to a particular
     *           project in a particular zone, and so the resource name will
     *           typically look something like this:
     *           compute.googleapis.com/projects/project-id/zones/zone/diskTypes/pd-standard
     *     @type string $mount_point
     *           Directory in a VM where disk is mounted.
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Google\Dataflow\V1Beta3\Environment::initOnce();
        parent::__construct($data);
    }

    /**
     * Size of disk in GB.  If zero or unspecified, the service will
     * attempt to choose a reasonable default.
     *
     * Generated from protobuf field <code>int32 size_gb = 1;</code>
     * @return int
     */
    public function getSizeGb()
    {
        return $this->size_gb;
    }

    /**
     * Size of disk in GB.  If zero or unspecified, the service will
     * attempt to choose a reasonable default.
     *
     * Generated from protobuf field <code>int32 size_gb = 1;</code>
     * @param int $var
     * @return $this
     */
    public function setSizeGb($var)
    {
        GPBUtil::checkInt32($var);
        $this->size_gb = $var;

        return $this;
    }

    /**
     * Disk storage type, as defined by Google Compute Engine.  This
     * must be a disk type appropriate to the project and zone in which
     * the workers will run.  If unknown or unspecified, the service
     * will attempt to choose a reasonable default.
     * For example, the standard persistent disk type is a resource name
     * typically ending in "pd-standard".  If SSD persistent disks are
     * available, the resource name typically ends with "pd-ssd".  The
     * actual valid values are defined the Google Compute Engine API,
     * not by the Cloud Dataflow API; consult the Google Compute Engine
     * documentation for more information about determining the set of
     * available disk types for a particular project and zone.
     * Google Compute Engine Disk types are local to a particular
     * project in a particular zone, and so the resource name will
     * typically look something like this:
     * compute.googleapis.com/projects/project-id/zones/zone/diskTypes/pd-standard
     *
     * Generated from protobuf field <code>string disk_type = 2;</code>
     * @return string
     */
    public function getDiskType()
    {
        return $this->disk_type;
    }

    /**
     * Disk storage type, as defined by Google Compute Engine.  This
     * must be a disk type appropriate to the project and zone in which
     * the workers will run.  If unknown or unspecified, the service
     * will attempt to choose a reasonable default.
     * For example, the standard persistent disk type is a resource name
     * typically ending in "pd-standard".  If SSD persistent disks are
     * available, the resource name typically ends with "pd-ssd".  The
     * actual valid values are defined the Google Compute Engine API,
     * not by the Cloud Dataflow API; consult the Google Compute Engine
     * documentation for more information about determining the set of
     * available disk types for a particular project and zone.
     * Google Compute Engine Disk types are local to a particular
     * project in a particular zone, and so the resource name will
     * typically look something like this:
     * compute.googleapis.com/projects/project-id/zones/zone/diskTypes/pd-standard
     *
     * Generated from protobuf field <code>string disk_type = 2;</code>
     * @param string $var
     * @return $this
     */
    public function setDiskType($var)
    {
        GPBUtil::checkString($var, True);
        $this->disk_type = $var;

        return $this;
    }

    /**
     * Directory in a VM where disk is mounted.
     *
     * Generated from protobuf field <code>string mount_point = 3;</code>
     * @return string
     */
    public function getMountPoint()
    {
        return $this->mount_point;
    }

    /**
     * Directory in a VM where disk is mounted.
     *
     * Generated from protobuf field <code>string mount_point = 3;</code>
     * @param string $var
     * @return $this
     */
    public function setMountPoint($var)
    {
        GPBUtil::checkString($var, True);
        $this->mount_point = $var;

        return $this;
    }

}

