mirror of
https://github.com/imjasonh/gcloud-help
synced 2026-07-08 10:35:03 +00:00
252 lines
11 KiB
Text
252 lines
11 KiB
Text
NAME
|
|
gcloud network-connectivity internal-ranges create - create a new internal
|
|
range
|
|
|
|
SYNOPSIS
|
|
gcloud network-connectivity internal-ranges create
|
|
(INTERNAL_RANGE : --region=REGION) --network=NETWORK
|
|
(--ip-cidr-range=IP_CIDR_RANGE | [--prefix-length=PREFIX_LENGTH
|
|
: --allocation-strategy=ALLOCATION_STRATEGY
|
|
--exclude-cidr-ranges=[EXCLUDE_CIDR_RANGES,...]
|
|
--first-available-ranges-lookup-size=FIRST_AVAILABLE_RANGES_LOOKUP_SIZE --target-cidr-range=[TARGET_CIDR_RANGE,
|
|
...]]) [--async] [--description=DESCRIPTION] [--immutable]
|
|
[--labels=[KEY=VALUE,...]] [--overlaps=[OVERLAPS,...]]
|
|
[--peering=PEERING; default="for-self"]
|
|
[--usage=USAGE; default="for-vpc"]
|
|
[--migration-source=MIGRATION_SOURCE
|
|
--migration-target=MIGRATION_TARGET] [GCLOUD_WIDE_FLAG ...]
|
|
|
|
DESCRIPTION
|
|
Create a new internal range with the given name.
|
|
|
|
EXAMPLES
|
|
Create an internal range with name my-range and ip-cidr-range
|
|
192.168.0.0/25 in network
|
|
https://www.googleapis.com/compute/v1/projects/my-project/locations/global/networks/my-network:
|
|
|
|
$ gcloud network-connectivity internal-ranges create my-range \
|
|
--ip-cidr-range="192.168.0.0/25" \
|
|
--network="https://www.googleapis.com/compute/v1/projects/my-pro\
|
|
ject/locations/global/networks/my-network" --project=my-project
|
|
|
|
Create an internal range with name my-range and auto-allocated /25 block
|
|
(prefix-length 25) in network my-network:
|
|
|
|
$ gcloud network-connectivity internal-ranges create my-range \
|
|
--prefix-length=25 --network="my-network" --project=my-project
|
|
|
|
POSITIONAL ARGUMENTS
|
|
Internal range resource - Name of the internal range to be created. The
|
|
arguments in this group can be used to specify the attributes of this
|
|
resource. (NOTE) Some attributes are not given arguments in this group but
|
|
can be set in other ways.
|
|
|
|
To set the project attribute:
|
|
◆ provide the argument internal_range on the command line with a fully
|
|
specified name;
|
|
◆ provide the argument --project on the command line;
|
|
◆ set the property core/project.
|
|
|
|
This must be specified.
|
|
|
|
INTERNAL_RANGE
|
|
ID of the internal range or fully qualified identifier for the
|
|
internal range.
|
|
|
|
To set the internal_range attribute:
|
|
▸ provide the argument internal_range on the command line.
|
|
|
|
This positional argument must be specified if any of the other
|
|
arguments in this group are specified.
|
|
|
|
--region=REGION
|
|
The location ID.
|
|
|
|
To set the region attribute:
|
|
▸ provide the argument internal_range on the command line with a
|
|
fully specified name;
|
|
▸ provide the argument --region on the command line;
|
|
▸ use default global location .
|
|
|
|
REQUIRED FLAGS
|
|
--network=NETWORK
|
|
The URL or resource ID of the network in which to reserve the internal
|
|
range. Legacy network is not supported. This can only be specified for
|
|
a global internal address.
|
|
|
|
For example:
|
|
◆ https://www.googleapis.com/compute/v1/projects/my-project/locations/global/networks/my-network
|
|
◆ /projects/my-project/locations/global/networks/my-network
|
|
◆ my-network
|
|
|
|
Exactly one of these must be specified:
|
|
|
|
--ip-cidr-range=IP_CIDR_RANGE
|
|
IP range that this internal range defines.
|
|
|
|
--prefix-length=PREFIX_LENGTH
|
|
An alternative to ip-cidr-range. Can be set when trying to create a
|
|
reservation that automatically finds a free range of the given size.
|
|
|
|
This flag argument must be specified if any of the other arguments in
|
|
this group are specified.
|
|
|
|
Additional options for the internal range's address auto-allocation
|
|
(allowed only when prefix-length is set):
|
|
|
|
--allocation-strategy=ALLOCATION_STRATEGY
|
|
Allocation strategy to be used when searching for a free range.
|
|
ALLOCATION_STRATEGY must be one of:
|
|
|
|
first-available
|
|
Pick the first available address range. This strategy is
|
|
deterministic and the result is easy to predict.
|
|
|
|
first-smallest-fitting
|
|
Pick the smallest but fitting available range. This
|
|
deterministic strategy minimizes fragmentation of the address
|
|
space.
|
|
|
|
random
|
|
Random strategy, the legacy algorithm, used for backwards
|
|
compatibility. This allocation strategy remains efficient in
|
|
the case of concurrent allocation requests in the same peered
|
|
network space and doesn't require providing the level of
|
|
concurrency in an explicit parameter, but it is prone to
|
|
fragmenting available address space.
|
|
|
|
random-first-n-available
|
|
Pick an arbitrary range out of the first N available ones. The
|
|
N will be set in the first_available_ranges_lookup_size flag.
|
|
This strategy should be used when concurrent allocation
|
|
requests are made in the same space of peered networks while
|
|
the fragmentation of the addrress space is reduced.
|
|
|
|
--exclude-cidr-ranges=[EXCLUDE_CIDR_RANGES,...]
|
|
A list of CIDR ranges to exclude from the search for a free range.
|
|
This can be used to exclude specific ranges that are already
|
|
intended to have some other use.
|
|
|
|
--first-available-ranges-lookup-size=FIRST_AVAILABLE_RANGES_LOOKUP_SIZE
|
|
The number of ranges to be considered when using the
|
|
RANDOM_FIRST_N_AVAILABLE allocation strategy. This is only allowed
|
|
when allocation-strategy is set to RANDOM_FIRST_N_AVAILABLE.
|
|
|
|
--target-cidr-range=[TARGET_CIDR_RANGE,...]
|
|
Can be set to narrow down or pick a different address space while
|
|
searching for a free range. If not set, defaults to the
|
|
"10.0.0.0/8" address space. This can be used to search in other
|
|
rfc-1918 address spaces like "172.16.0.0/12" and "192.168.0.0/16"
|
|
or non-rfc-1918 address spaces used in the VPC.
|
|
|
|
OPTIONAL FLAGS
|
|
--async
|
|
Return immediately, without waiting for the operation in progress to
|
|
complete.
|
|
|
|
--description=DESCRIPTION
|
|
Description of the internal range to be created.
|
|
|
|
--immutable
|
|
Mark the internal range as immutable. Then only non-semantic fields
|
|
like description and labels could be modified after creation.
|
|
|
|
--labels=[KEY=VALUE,...]
|
|
List of label KEY=VALUE pairs to add.
|
|
|
|
--overlaps=[OVERLAPS,...]
|
|
Overlap specifications for the range being created. OVERLAPS must be
|
|
one of:
|
|
|
|
overlap-existing-subnet-range
|
|
Allows for creation of internal ranges that overlap with existing
|
|
subnets.
|
|
|
|
overlap-route-range
|
|
Allows for creation or existence of routes that have a more
|
|
specific destination than the created range.
|
|
|
|
--peering=PEERING; default="for-self"
|
|
The type of peering set for the internal range. PEERING must be one of:
|
|
|
|
for-peer
|
|
This behavior can be set when the internal range is being reserved
|
|
for usage by the peers. This means that no resource within the VPC
|
|
in which it is being created can use this to associate with a cloud
|
|
resource, but one of the peers can. This represents "donating" a
|
|
range for peers to use.
|
|
|
|
for-self
|
|
This beharior represents the case that the internal range is
|
|
intended to be used in the VPC on which it is created and is
|
|
accessible from its peers. This implies that peers or peer-of-peers
|
|
cannot use this range.
|
|
|
|
not-shared
|
|
This behavior can be set when the internal range is being reserved
|
|
for usage by the VPC on which it is created but not shared with the
|
|
peers. In a sense it is local to the VPC. This can be used to
|
|
create internal ranges for various purposes like
|
|
HTTP_INTERNAL_LOAD_BALANCER or for interconnect routes that are not
|
|
shared with peers. This also implies that peers cannot use this
|
|
range in a way that is visible to this VPC, but can re-use this
|
|
range as long as it is NOT_SHARED from the peer VPC too.
|
|
|
|
--usage=USAGE; default="for-vpc"
|
|
The type of usage set for the internal range. USAGE must be one of:
|
|
|
|
external-to-vpc
|
|
Ranges created with EXTERNAL_TO_VPC cannot be associated with cloud
|
|
resources and are meant to block out address ranges for various use
|
|
cases, like for example, usage on-prem, with dynamic route
|
|
announcements via interconnect.
|
|
|
|
for-migration
|
|
Ranges created with FOR_MIGRATION are used as locks for migrating
|
|
subnetworks between peered VPC networks.
|
|
|
|
for-vpc
|
|
A cloud resource can use the reserved CIDR block by associating it
|
|
with the internal range resource if usage is set to FOR_VPC.
|
|
|
|
Endpoints of a for-migration internal range. This is only applicable when
|
|
--usage is set to for-migration. Both MIGRATION_SOURCE and
|
|
MIGRATION_TARGET must either belong to the same VPC or their VPCs must be
|
|
peered (they may then even belong to different projects). MIGRATION_SOURCE
|
|
must belong to the VPC network specifed by the --network flag.
|
|
MIGRATION_TARGET may name a subnetwork which does not exist yet; it must
|
|
be a valid resource path, and parent resources (network and project) and
|
|
their locations must exist.
|
|
|
|
--migration-source=MIGRATION_SOURCE
|
|
The migration source subnetwork (of a for-migration internal range)
|
|
resource URI or resource ID.
|
|
|
|
This flag argument must be specified if any of the other arguments in
|
|
this group are specified.
|
|
|
|
--migration-target=MIGRATION_TARGET
|
|
The migration target subnetwork (of a for-migration internal range)
|
|
resource URI or resource ID.
|
|
|
|
This flag argument must be specified if any of the other arguments in
|
|
this group are specified.
|
|
|
|
GCLOUD WIDE FLAGS
|
|
These flags are available to all commands: --access-token-file, --account,
|
|
--billing-project, --configuration, --flags-file, --flatten, --format,
|
|
--help, --impersonate-service-account, --log-http, --project, --quiet,
|
|
--trace-token, --user-output-enabled, --verbosity.
|
|
|
|
Run $ gcloud help for details.
|
|
|
|
API REFERENCE
|
|
This command uses the networkconnectivity/v1 API. The full documentation
|
|
for this API can be found at:
|
|
https://cloud.google.com/network-connectivity/docs/reference/networkconnectivity/rest
|
|
|
|
NOTES
|
|
This variant is also available:
|
|
|
|
$ gcloud alpha network-connectivity internal-ranges create
|
|
|