This enum is defined as #[non_exhaustive] because Google Cloud may add
additional enum variants at any time. Adding new variants is not considered
a breaking change. Applications should write their code in anticipation of:
New values appearing in future releases of the client library, and
New values received dynamically, without application changes.
Please consult the Working with enums section in the user guide for some
guidelines.
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Unspecified usage is allowed in calls which identify the resource by
other fields and do not need Usage set to complete. These are, i.e.:
GetInternalRange and DeleteInternalRange.
Usage needs to be specified explicitly in CreateInternalRange
or UpdateInternalRange calls.
Ranges created with EXTERNAL_TO_VPC cannot be associated with VPC
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.
Ranges created FOR_MIGRATION can be used to lock a CIDR range between a
source and target subnet. If usage is set to FOR_MIGRATION, the peering
value has to be set to FOR_SELF or default to FOR_SELF when unset.