Files
glastree/vendor/google/apiclient-services/src/ServiceNetworking/AddSubnetworkRequest.php
T

591 lines
19 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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\ServiceNetworking;
class AddSubnetworkRequest extends \Google\Collection
{
protected $collection_key = 'subnetworkUsers';
/**
* Optional. Defines the allowSubnetCidrRoutesOverlap field of the subnet,
* e.g. Available in alpha and beta according to [Compute API documentation](h
* ttps://cloud.google.com/compute/docs/reference/rest/beta/subnetworks/insert
* )
*
* @var bool
*/
public $allowSubnetCidrRoutesOverlap;
/**
* Optional. The IAM permission check determines whether the consumer project
* has 'servicenetworking.services.use' permission or not.
*
* @var bool
*/
public $checkServiceNetworkingUsePermission;
/**
* Optional. Specifies a custom time bucket for GCE subnetwork request
* idempotency. If two equivalent concurrent requests are made, GCE will know
* to ignore the request if it has already been completed or is in progress.
* Only requests with matching compute_idempotency_window have guaranteed
* idempotency. Changing this time window between requests results in
* undefined behavior. Zero (or empty) value with
* custom_compute_idempotency_window=true specifies no idempotency (i.e. no
* request ID is provided to GCE). Maximum value of 14 days (enforced by GCE
* limit).
*
* @var string
*/
public $computeIdempotencyWindow;
/**
* Required. A resource that represents the service consumer, such as
* `projects/123456`. The project number can be different from the value in
* the consumer network parameter. For example, the network might be part of a
* Shared VPC network. In those cases, Service Networking validates that this
* resource belongs to that Shared VPC.
*
* @var string
*/
public $consumer;
/**
* Required. The name of the service consumer's VPC network. The network must
* have an existing private connection that was provisioned through the
* connections.create method. The name must be in the following format:
* `projects/{project}/global/networks/{network}`, where {project} is a
* project number, such as `12345`. {network} is the name of a VPC network in
* the project.
*
* @var string
*/
public $consumerNetwork;
/**
* Optional. Description of the subnet.
*
* @var string
*/
public $description;
/**
* Optional. The url of an Internal Range. Eg:
* `projects//locations/global/internalRanges/`. If specified, it means that
* the subnetwork cidr will be created using the combination of
* requested_address/ip_prefix_length. Note that the subnet cidr has to be
* within the cidr range of this Internal Range.
*
* @var string
*/
public $internalRange;
/**
* Required. The prefix length of the subnet's IP address range. Use CIDR
* range notation, such as `29` to provision a subnet with an `x.x.x.x/29`
* CIDR range. The IP address range is drawn from a pool of available ranges
* in the service consumer's allocated range. GCE disallows subnets with
* prefix_length > 29
*
* @var int
*/
public $ipPrefixLength;
/**
* Optional. Enable outside allocation using public IP addresses. Any public
* IP range may be specified. If this field is provided, we will not use
* customer reserved ranges for this primary IP range.
*
* @var string
*/
public $outsideAllocationPublicIpRange;
/**
* Optional. The private IPv6 google access type for the VMs in this subnet.
* For information about the access types that can be set using this field,
* see [subnetwork](https://cloud.google.com/compute/docs/reference/rest/v1/su
* bnetworks) in the Compute API documentation.
*
* @var string
*/
public $privateIpv6GoogleAccess;
/**
* Optional. Defines the purpose field of the subnet, e.g.
* 'PRIVATE_SERVICE_CONNECT'. For information about the purposes that can be
* set using this field, see [subnetwork](https://cloud.google.com/compute/doc
* s/reference/rest/v1/subnetworks) in the Compute API documentation.
*
* @var string
*/
public $purpose;
/**
* Required. The name of a
* [region](https://cloud.google.com/compute/docs/regions-zones) for the
* subnet, such `europe-west1`.
*
* @var string
*/
public $region;
/**
* Optional. The starting address of a range. The address must be a valid IPv4
* address in the x.x.x.x format. This value combined with the IP prefix range
* is the CIDR range for the subnet. The range must be within the allocated
* range that is assigned to the private connection. If the CIDR range isn't
* available, the call fails.
*
* @var string
*/
public $requestedAddress;
/**
* Optional. The name of one or more allocated IP address ranges associated
* with this private service access connection. If no range names are provided
* all ranges associated with this connection will be considered. If a CIDR
* range with the specified IP prefix length is not available within these
* ranges, the call fails.
*
* @var string[]
*/
public $requestedRanges;
/**
* Optional. Defines the role field of the subnet, e.g. 'ACTIVE'. For
* information about the roles that can be set using this field, see [subnetwo
* rk](https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks) in
* the Compute API documentation.
*
* @var string
*/
public $role;
protected $secondaryIpRangeSpecsType = SecondaryIpRangeSpec::class;
protected $secondaryIpRangeSpecsDataType = 'array';
/**
* Optional. Skips validating if the requested_address is in use by SN VPCs
* peering group. Compute Engine will still perform this check and fail the
* request if the requested_address is in use. Note that Compute Engine does
* not check for the existence of dynamic routes when performing this check.
* Caller of this API should make sure that there are no dynamic routes
* overlapping with the requested_address/prefix_length IP address range
* otherwise the created subnet could cause misrouting.
*
* @var bool
*/
public $skipRequestedAddressValidation;
/**
* Required. A name for the new subnet. For information about the naming
* requirements, see [subnetwork](https://cloud.google.com/compute/docs/refere
* nce/rest/v1/subnetworks) in the Compute API documentation.
*
* @var string
*/
public $subnetwork;
/**
* A list of members that are granted the
* `roles/servicenetworking.subnetworkAdmin` role on the subnet.
*
* @var string[]
*/
public $subnetworkUsers;
/**
* Optional. Specifies if Service Networking should use a custom time bucket
* for GCE idempotency. If false, Service Networking uses a 300 second (5
* minute) GCE idempotency window. If true, Service Networking uses a custom
* idempotency window provided by the user in field
* compute_idempotency_window.
*
* @var bool
*/
public $useCustomComputeIdempotencyWindow;
/**
* Optional. Defines the allowSubnetCidrRoutesOverlap field of the subnet,
* e.g. Available in alpha and beta according to [Compute API documentation](h
* ttps://cloud.google.com/compute/docs/reference/rest/beta/subnetworks/insert
* )
*
* @param bool $allowSubnetCidrRoutesOverlap
*/
public function setAllowSubnetCidrRoutesOverlap($allowSubnetCidrRoutesOverlap)
{
$this->allowSubnetCidrRoutesOverlap = $allowSubnetCidrRoutesOverlap;
}
/**
* @return bool
*/
public function getAllowSubnetCidrRoutesOverlap()
{
return $this->allowSubnetCidrRoutesOverlap;
}
/**
* Optional. The IAM permission check determines whether the consumer project
* has 'servicenetworking.services.use' permission or not.
*
* @param bool $checkServiceNetworkingUsePermission
*/
public function setCheckServiceNetworkingUsePermission($checkServiceNetworkingUsePermission)
{
$this->checkServiceNetworkingUsePermission = $checkServiceNetworkingUsePermission;
}
/**
* @return bool
*/
public function getCheckServiceNetworkingUsePermission()
{
return $this->checkServiceNetworkingUsePermission;
}
/**
* Optional. Specifies a custom time bucket for GCE subnetwork request
* idempotency. If two equivalent concurrent requests are made, GCE will know
* to ignore the request if it has already been completed or is in progress.
* Only requests with matching compute_idempotency_window have guaranteed
* idempotency. Changing this time window between requests results in
* undefined behavior. Zero (or empty) value with
* custom_compute_idempotency_window=true specifies no idempotency (i.e. no
* request ID is provided to GCE). Maximum value of 14 days (enforced by GCE
* limit).
*
* @param string $computeIdempotencyWindow
*/
public function setComputeIdempotencyWindow($computeIdempotencyWindow)
{
$this->computeIdempotencyWindow = $computeIdempotencyWindow;
}
/**
* @return string
*/
public function getComputeIdempotencyWindow()
{
return $this->computeIdempotencyWindow;
}
/**
* Required. A resource that represents the service consumer, such as
* `projects/123456`. The project number can be different from the value in
* the consumer network parameter. For example, the network might be part of a
* Shared VPC network. In those cases, Service Networking validates that this
* resource belongs to that Shared VPC.
*
* @param string $consumer
*/
public function setConsumer($consumer)
{
$this->consumer = $consumer;
}
/**
* @return string
*/
public function getConsumer()
{
return $this->consumer;
}
/**
* Required. The name of the service consumer's VPC network. The network must
* have an existing private connection that was provisioned through the
* connections.create method. The name must be in the following format:
* `projects/{project}/global/networks/{network}`, where {project} is a
* project number, such as `12345`. {network} is the name of a VPC network in
* the project.
*
* @param string $consumerNetwork
*/
public function setConsumerNetwork($consumerNetwork)
{
$this->consumerNetwork = $consumerNetwork;
}
/**
* @return string
*/
public function getConsumerNetwork()
{
return $this->consumerNetwork;
}
/**
* Optional. Description of the subnet.
*
* @param string $description
*/
public function setDescription($description)
{
$this->description = $description;
}
/**
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Optional. The url of an Internal Range. Eg:
* `projects//locations/global/internalRanges/`. If specified, it means that
* the subnetwork cidr will be created using the combination of
* requested_address/ip_prefix_length. Note that the subnet cidr has to be
* within the cidr range of this Internal Range.
*
* @param string $internalRange
*/
public function setInternalRange($internalRange)
{
$this->internalRange = $internalRange;
}
/**
* @return string
*/
public function getInternalRange()
{
return $this->internalRange;
}
/**
* Required. The prefix length of the subnet's IP address range. Use CIDR
* range notation, such as `29` to provision a subnet with an `x.x.x.x/29`
* CIDR range. The IP address range is drawn from a pool of available ranges
* in the service consumer's allocated range. GCE disallows subnets with
* prefix_length > 29
*
* @param int $ipPrefixLength
*/
public function setIpPrefixLength($ipPrefixLength)
{
$this->ipPrefixLength = $ipPrefixLength;
}
/**
* @return int
*/
public function getIpPrefixLength()
{
return $this->ipPrefixLength;
}
/**
* Optional. Enable outside allocation using public IP addresses. Any public
* IP range may be specified. If this field is provided, we will not use
* customer reserved ranges for this primary IP range.
*
* @param string $outsideAllocationPublicIpRange
*/
public function setOutsideAllocationPublicIpRange($outsideAllocationPublicIpRange)
{
$this->outsideAllocationPublicIpRange = $outsideAllocationPublicIpRange;
}
/**
* @return string
*/
public function getOutsideAllocationPublicIpRange()
{
return $this->outsideAllocationPublicIpRange;
}
/**
* Optional. The private IPv6 google access type for the VMs in this subnet.
* For information about the access types that can be set using this field,
* see [subnetwork](https://cloud.google.com/compute/docs/reference/rest/v1/su
* bnetworks) in the Compute API documentation.
*
* @param string $privateIpv6GoogleAccess
*/
public function setPrivateIpv6GoogleAccess($privateIpv6GoogleAccess)
{
$this->privateIpv6GoogleAccess = $privateIpv6GoogleAccess;
}
/**
* @return string
*/
public function getPrivateIpv6GoogleAccess()
{
return $this->privateIpv6GoogleAccess;
}
/**
* Optional. Defines the purpose field of the subnet, e.g.
* 'PRIVATE_SERVICE_CONNECT'. For information about the purposes that can be
* set using this field, see [subnetwork](https://cloud.google.com/compute/doc
* s/reference/rest/v1/subnetworks) in the Compute API documentation.
*
* @param string $purpose
*/
public function setPurpose($purpose)
{
$this->purpose = $purpose;
}
/**
* @return string
*/
public function getPurpose()
{
return $this->purpose;
}
/**
* Required. The name of a
* [region](https://cloud.google.com/compute/docs/regions-zones) for the
* subnet, such `europe-west1`.
*
* @param string $region
*/
public function setRegion($region)
{
$this->region = $region;
}
/**
* @return string
*/
public function getRegion()
{
return $this->region;
}
/**
* Optional. The starting address of a range. The address must be a valid IPv4
* address in the x.x.x.x format. This value combined with the IP prefix range
* is the CIDR range for the subnet. The range must be within the allocated
* range that is assigned to the private connection. If the CIDR range isn't
* available, the call fails.
*
* @param string $requestedAddress
*/
public function setRequestedAddress($requestedAddress)
{
$this->requestedAddress = $requestedAddress;
}
/**
* @return string
*/
public function getRequestedAddress()
{
return $this->requestedAddress;
}
/**
* Optional. The name of one or more allocated IP address ranges associated
* with this private service access connection. If no range names are provided
* all ranges associated with this connection will be considered. If a CIDR
* range with the specified IP prefix length is not available within these
* ranges, the call fails.
*
* @param string[] $requestedRanges
*/
public function setRequestedRanges($requestedRanges)
{
$this->requestedRanges = $requestedRanges;
}
/**
* @return string[]
*/
public function getRequestedRanges()
{
return $this->requestedRanges;
}
/**
* Optional. Defines the role field of the subnet, e.g. 'ACTIVE'. For
* information about the roles that can be set using this field, see [subnetwo
* rk](https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks) in
* the Compute API documentation.
*
* @param string $role
*/
public function setRole($role)
{
$this->role = $role;
}
/**
* @return string
*/
public function getRole()
{
return $this->role;
}
/**
* Optional. A list of secondary IP ranges to be created within the new
* subnetwork.
*
* @param SecondaryIpRangeSpec[] $secondaryIpRangeSpecs
*/
public function setSecondaryIpRangeSpecs($secondaryIpRangeSpecs)
{
$this->secondaryIpRangeSpecs = $secondaryIpRangeSpecs;
}
/**
* @return SecondaryIpRangeSpec[]
*/
public function getSecondaryIpRangeSpecs()
{
return $this->secondaryIpRangeSpecs;
}
/**
* Optional. Skips validating if the requested_address is in use by SN VPCs
* peering group. Compute Engine will still perform this check and fail the
* request if the requested_address is in use. Note that Compute Engine does
* not check for the existence of dynamic routes when performing this check.
* Caller of this API should make sure that there are no dynamic routes
* overlapping with the requested_address/prefix_length IP address range
* otherwise the created subnet could cause misrouting.
*
* @param bool $skipRequestedAddressValidation
*/
public function setSkipRequestedAddressValidation($skipRequestedAddressValidation)
{
$this->skipRequestedAddressValidation = $skipRequestedAddressValidation;
}
/**
* @return bool
*/
public function getSkipRequestedAddressValidation()
{
return $this->skipRequestedAddressValidation;
}
/**
* Required. A name for the new subnet. For information about the naming
* requirements, see [subnetwork](https://cloud.google.com/compute/docs/refere
* nce/rest/v1/subnetworks) in the Compute API documentation.
*
* @param string $subnetwork
*/
public function setSubnetwork($subnetwork)
{
$this->subnetwork = $subnetwork;
}
/**
* @return string
*/
public function getSubnetwork()
{
return $this->subnetwork;
}
/**
* A list of members that are granted the
* `roles/servicenetworking.subnetworkAdmin` role on the subnet.
*
* @param string[] $subnetworkUsers
*/
public function setSubnetworkUsers($subnetworkUsers)
{
$this->subnetworkUsers = $subnetworkUsers;
}
/**
* @return string[]
*/
public function getSubnetworkUsers()
{
return $this->subnetworkUsers;
}
/**
* Optional. Specifies if Service Networking should use a custom time bucket
* for GCE idempotency. If false, Service Networking uses a 300 second (5
* minute) GCE idempotency window. If true, Service Networking uses a custom
* idempotency window provided by the user in field
* compute_idempotency_window.
*
* @param bool $useCustomComputeIdempotencyWindow
*/
public function setUseCustomComputeIdempotencyWindow($useCustomComputeIdempotencyWindow)
{
$this->useCustomComputeIdempotencyWindow = $useCustomComputeIdempotencyWindow;
}
/**
* @return bool
*/
public function getUseCustomComputeIdempotencyWindow()
{
return $this->useCustomComputeIdempotencyWindow;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(AddSubnetworkRequest::class, 'Google_Service_ServiceNetworking_AddSubnetworkRequest');