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

namespace Google\Cloud\OracleDatabase\V1;

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

/**
 * The connection string profile to allow clients to group.
 * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/DatabaseConnectionStringProfile
 *
 * Generated from protobuf message <code>google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile</code>
 */
class DatabaseConnectionStringProfile extends \Google\Protobuf\Internal\Message
{
    /**
     * Output only. The current consumer group being used by the connection.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.ConsumerGroup consumer_group = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $consumer_group = 0;
    /**
     * Output only. The display name for the database connection.
     *
     * Generated from protobuf field <code>string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $display_name = '';
    /**
     * Output only. The host name format being currently used in connection
     * string.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.HostFormat host_format = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $host_format = 0;
    /**
     * Output only. This field indicates if the connection string is regional and
     * is only applicable for cross-region Data Guard.
     *
     * Generated from protobuf field <code>bool is_regional = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $is_regional = false;
    /**
     * Output only. The protocol being used by the connection.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.Protocol protocol = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $protocol = 0;
    /**
     * Output only. The current session mode of the connection.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.SessionMode session_mode = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $session_mode = 0;
    /**
     * Output only. The syntax of the connection string.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.SyntaxFormat syntax_format = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $syntax_format = 0;
    /**
     * Output only. This field indicates the TLS authentication type of the
     * connection.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.TLSAuthentication tls_authentication = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $tls_authentication = 0;
    /**
     * Output only. The value of the connection string.
     *
     * Generated from protobuf field <code>string value = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $value = '';

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $consumer_group
     *           Output only. The current consumer group being used by the connection.
     *     @type string $display_name
     *           Output only. The display name for the database connection.
     *     @type int $host_format
     *           Output only. The host name format being currently used in connection
     *           string.
     *     @type bool $is_regional
     *           Output only. This field indicates if the connection string is regional and
     *           is only applicable for cross-region Data Guard.
     *     @type int $protocol
     *           Output only. The protocol being used by the connection.
     *     @type int $session_mode
     *           Output only. The current session mode of the connection.
     *     @type int $syntax_format
     *           Output only. The syntax of the connection string.
     *     @type int $tls_authentication
     *           Output only. This field indicates the TLS authentication type of the
     *           connection.
     *     @type string $value
     *           Output only. The value of the connection string.
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Google\Cloud\Oracledatabase\V1\AutonomousDatabase::initOnce();
        parent::__construct($data);
    }

    /**
     * Output only. The current consumer group being used by the connection.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.ConsumerGroup consumer_group = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return int
     */
    public function getConsumerGroup()
    {
        return $this->consumer_group;
    }

    /**
     * Output only. The current consumer group being used by the connection.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.ConsumerGroup consumer_group = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int $var
     * @return $this
     */
    public function setConsumerGroup($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\OracleDatabase\V1\DatabaseConnectionStringProfile\ConsumerGroup::class);
        $this->consumer_group = $var;

        return $this;
    }

    /**
     * Output only. The display name for the database connection.
     *
     * Generated from protobuf field <code>string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return string
     */
    public function getDisplayName()
    {
        return $this->display_name;
    }

    /**
     * Output only. The display name for the database connection.
     *
     * Generated from protobuf field <code>string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param string $var
     * @return $this
     */
    public function setDisplayName($var)
    {
        GPBUtil::checkString($var, True);
        $this->display_name = $var;

        return $this;
    }

    /**
     * Output only. The host name format being currently used in connection
     * string.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.HostFormat host_format = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return int
     */
    public function getHostFormat()
    {
        return $this->host_format;
    }

    /**
     * Output only. The host name format being currently used in connection
     * string.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.HostFormat host_format = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int $var
     * @return $this
     */
    public function setHostFormat($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\OracleDatabase\V1\DatabaseConnectionStringProfile\HostFormat::class);
        $this->host_format = $var;

        return $this;
    }

    /**
     * Output only. This field indicates if the connection string is regional and
     * is only applicable for cross-region Data Guard.
     *
     * Generated from protobuf field <code>bool is_regional = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return bool
     */
    public function getIsRegional()
    {
        return $this->is_regional;
    }

    /**
     * Output only. This field indicates if the connection string is regional and
     * is only applicable for cross-region Data Guard.
     *
     * Generated from protobuf field <code>bool is_regional = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param bool $var
     * @return $this
     */
    public function setIsRegional($var)
    {
        GPBUtil::checkBool($var);
        $this->is_regional = $var;

        return $this;
    }

    /**
     * Output only. The protocol being used by the connection.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.Protocol protocol = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return int
     */
    public function getProtocol()
    {
        return $this->protocol;
    }

    /**
     * Output only. The protocol being used by the connection.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.Protocol protocol = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int $var
     * @return $this
     */
    public function setProtocol($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\OracleDatabase\V1\DatabaseConnectionStringProfile\Protocol::class);
        $this->protocol = $var;

        return $this;
    }

    /**
     * Output only. The current session mode of the connection.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.SessionMode session_mode = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return int
     */
    public function getSessionMode()
    {
        return $this->session_mode;
    }

    /**
     * Output only. The current session mode of the connection.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.SessionMode session_mode = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int $var
     * @return $this
     */
    public function setSessionMode($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\OracleDatabase\V1\DatabaseConnectionStringProfile\SessionMode::class);
        $this->session_mode = $var;

        return $this;
    }

    /**
     * Output only. The syntax of the connection string.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.SyntaxFormat syntax_format = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return int
     */
    public function getSyntaxFormat()
    {
        return $this->syntax_format;
    }

    /**
     * Output only. The syntax of the connection string.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.SyntaxFormat syntax_format = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int $var
     * @return $this
     */
    public function setSyntaxFormat($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\OracleDatabase\V1\DatabaseConnectionStringProfile\SyntaxFormat::class);
        $this->syntax_format = $var;

        return $this;
    }

    /**
     * Output only. This field indicates the TLS authentication type of the
     * connection.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.TLSAuthentication tls_authentication = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return int
     */
    public function getTlsAuthentication()
    {
        return $this->tls_authentication;
    }

    /**
     * Output only. This field indicates the TLS authentication type of the
     * connection.
     *
     * Generated from protobuf field <code>.google.cloud.oracledatabase.v1.DatabaseConnectionStringProfile.TLSAuthentication tls_authentication = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int $var
     * @return $this
     */
    public function setTlsAuthentication($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\OracleDatabase\V1\DatabaseConnectionStringProfile\TLSAuthentication::class);
        $this->tls_authentication = $var;

        return $this;
    }

    /**
     * Output only. The value of the connection string.
     *
     * Generated from protobuf field <code>string value = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return string
     */
    public function getValue()
    {
        return $this->value;
    }

    /**
     * Output only. The value of the connection string.
     *
     * Generated from protobuf field <code>string value = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param string $var
     * @return $this
     */
    public function setValue($var)
    {
        GPBUtil::checkString($var, True);
        $this->value = $var;

        return $this;
    }

}

