<?php
/*
 * Copyright 2014 Google Inc.
 *
 * 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.
 */

namespace Google\Service\Networkconnectivity;

class LinkedVpnTunnels extends \Google\Collection
{
  protected $collection_key = 'uris';
  /**
   * Optional. Dynamic routes overlapped/encompassed by exclude export ranges
   * are excluded during export to hub.
   *
   * @var string[]
   */
  public $excludeExportRanges;
  /**
   * Optional. Hub routes overlapped/encompassed by exclude import ranges are
   * excluded during import from hub.
   *
   * @var string[]
   */
  public $excludeImportRanges;
  /**
   * Optional. Dynamic routes fully encompassed by include export ranges are
   * included during export to hub.
   *
   * @var string[]
   */
  public $includeExportRanges;
  /**
   * Optional. Hub routes fully encompassed by include import ranges are
   * included during import from hub.
   *
   * @var string[]
   */
  public $includeImportRanges;
  /**
   * A value that controls whether site-to-site data transfer is enabled for
   * these resources. Data transfer is available only in [supported
   * locations](https://cloud.google.com/network-connectivity/docs/network-
   * connectivity-center/concepts/locations).
   *
   * @var bool
   */
  public $siteToSiteDataTransfer;
  /**
   * The URIs of linked VPN tunnel resources.
   *
   * @var string[]
   */
  public $uris;
  /**
   * Output only. The VPC network where these VPN tunnels are located.
   *
   * @var string
   */
  public $vpcNetwork;

  /**
   * Optional. Dynamic routes overlapped/encompassed by exclude export ranges
   * are excluded during export to hub.
   *
   * @param string[] $excludeExportRanges
   */
  public function setExcludeExportRanges($excludeExportRanges)
  {
    $this->excludeExportRanges = $excludeExportRanges;
  }
  /**
   * @return string[]
   */
  public function getExcludeExportRanges()
  {
    return $this->excludeExportRanges;
  }
  /**
   * Optional. Hub routes overlapped/encompassed by exclude import ranges are
   * excluded during import from hub.
   *
   * @param string[] $excludeImportRanges
   */
  public function setExcludeImportRanges($excludeImportRanges)
  {
    $this->excludeImportRanges = $excludeImportRanges;
  }
  /**
   * @return string[]
   */
  public function getExcludeImportRanges()
  {
    return $this->excludeImportRanges;
  }
  /**
   * Optional. Dynamic routes fully encompassed by include export ranges are
   * included during export to hub.
   *
   * @param string[] $includeExportRanges
   */
  public function setIncludeExportRanges($includeExportRanges)
  {
    $this->includeExportRanges = $includeExportRanges;
  }
  /**
   * @return string[]
   */
  public function getIncludeExportRanges()
  {
    return $this->includeExportRanges;
  }
  /**
   * Optional. Hub routes fully encompassed by include import ranges are
   * included during import from hub.
   *
   * @param string[] $includeImportRanges
   */
  public function setIncludeImportRanges($includeImportRanges)
  {
    $this->includeImportRanges = $includeImportRanges;
  }
  /**
   * @return string[]
   */
  public function getIncludeImportRanges()
  {
    return $this->includeImportRanges;
  }
  /**
   * A value that controls whether site-to-site data transfer is enabled for
   * these resources. Data transfer is available only in [supported
   * locations](https://cloud.google.com/network-connectivity/docs/network-
   * connectivity-center/concepts/locations).
   *
   * @param bool $siteToSiteDataTransfer
   */
  public function setSiteToSiteDataTransfer($siteToSiteDataTransfer)
  {
    $this->siteToSiteDataTransfer = $siteToSiteDataTransfer;
  }
  /**
   * @return bool
   */
  public function getSiteToSiteDataTransfer()
  {
    return $this->siteToSiteDataTransfer;
  }
  /**
   * The URIs of linked VPN tunnel resources.
   *
   * @param string[] $uris
   */
  public function setUris($uris)
  {
    $this->uris = $uris;
  }
  /**
   * @return string[]
   */
  public function getUris()
  {
    return $this->uris;
  }
  /**
   * Output only. The VPC network where these VPN tunnels are located.
   *
   * @param string $vpcNetwork
   */
  public function setVpcNetwork($vpcNetwork)
  {
    $this->vpcNetwork = $vpcNetwork;
  }
  /**
   * @return string
   */
  public function getVpcNetwork()
  {
    return $this->vpcNetwork;
  }
}

// Adding a class alias for backwards compatibility with the previous class name.
class_alias(LinkedVpnTunnels::class, 'Google_Service_Networkconnectivity_LinkedVpnTunnels');
