Class: Google::Apis::NetworkconnectivityV1alpha1::InternalRange
- Inherits:
-
Object
- Object
- Google::Apis::NetworkconnectivityV1alpha1::InternalRange
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/networkconnectivity_v1alpha1/classes.rb,
lib/google/apis/networkconnectivity_v1alpha1/representations.rb,
lib/google/apis/networkconnectivity_v1alpha1/representations.rb
Overview
The internal range resource for IPAM operations within a VPC network. Used to represent a private address range along with behavioral characteristics of that range (its usage and peering behavior). Networking resources can link to this range if they are created as belonging to it.
Instance Attribute Summary collapse
-
#allocation_options ⇒ Google::Apis::NetworkconnectivityV1alpha1::AllocationOptions
Range auto-allocation options, to be optionally used when CIDR block is not explicitly set.
-
#create_time ⇒ String
Time when the internal range was created.
-
#description ⇒ String
A description of this resource.
-
#exclude_cidr_ranges ⇒ Array<String>
Optional.
-
#immutable ⇒ Boolean
(also: #immutable?)
Optional.
-
#ip_cidr_range ⇒ String
IP range that this internal range defines.
-
#labels ⇒ Hash<String,String>
User-defined labels.
-
#migration ⇒ Google::Apis::NetworkconnectivityV1alpha1::Migration
Specification for migration with source and target resource names.
-
#name ⇒ String
Immutable.
-
#network ⇒ String
The URL or resource ID of the network in which to reserve the internal range.
-
#overlaps ⇒ Array<String>
Optional.
-
#peering ⇒ String
The type of peering set for this internal range.
-
#prefix_length ⇒ Fixnum
An alternative to ip_cidr_range.
-
#target_cidr_range ⇒ Array<String>
Optional.
-
#update_time ⇒ String
Time when the internal range was updated.
-
#usage ⇒ String
The type of usage set for this internal range.
-
#users ⇒ Array<String>
Output only.
Instance Method Summary collapse
-
#initialize(**args) ⇒ InternalRange
constructor
A new instance of InternalRange.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ InternalRange
Returns a new instance of InternalRange.
634 635 636 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 634 def initialize(**args) update!(**args) end |
Instance Attribute Details
#allocation_options ⇒ Google::Apis::NetworkconnectivityV1alpha1::AllocationOptions
Range auto-allocation options, to be optionally used when CIDR block is not
explicitly set.
Corresponds to the JSON property allocationOptions
523 524 525 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 523 def @allocation_options end |
#create_time ⇒ String
Time when the internal range was created.
Corresponds to the JSON property createTime
528 529 530 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 528 def create_time @create_time end |
#description ⇒ String
A description of this resource.
Corresponds to the JSON property description
533 534 535 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 533 def description @description end |
#exclude_cidr_ranges ⇒ Array<String>
Optional. ExcludeCidrRanges flag. Specifies a set of CIDR blocks that allows
exclusion of particular CIDR ranges from the auto-allocation process, without
having to reserve these blocks
Corresponds to the JSON property excludeCidrRanges
540 541 542 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 540 def exclude_cidr_ranges @exclude_cidr_ranges end |
#immutable ⇒ Boolean Also known as: immutable?
Optional. Immutable ranges cannot have their fields modified, except for
labels and description.
Corresponds to the JSON property immutable
546 547 548 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 546 def immutable @immutable end |
#ip_cidr_range ⇒ String
IP range that this internal range defines. NOTE: IPv6 ranges are limited to
usage=EXTERNAL_TO_VPC and peering=FOR_SELF. NOTE: For IPv6 Ranges this field
is compulsory, i.e. the address range must be specified explicitly.
Corresponds to the JSON property ipCidrRange
554 555 556 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 554 def ip_cidr_range @ip_cidr_range end |
#labels ⇒ Hash<String,String>
User-defined labels.
Corresponds to the JSON property labels
559 560 561 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 559 def labels @labels end |
#migration ⇒ Google::Apis::NetworkconnectivityV1alpha1::Migration
Specification for migration with source and target resource names.
Corresponds to the JSON property migration
564 565 566 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 564 def migration @migration end |
#name ⇒ String
Immutable. The name of an internal range. Format: projects/project/locations/
location/internalRanges/internal_range See: https://google.aip.dev/122#
fields-representing-resource-names
Corresponds to the JSON property name
571 572 573 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 571 def name @name end |
#network ⇒ String
The URL or resource ID of the network in which to reserve the internal range.
The network cannot be deleted if there are any reserved internal ranges
referring to it. Legacy networks are not supported. For example: https://www.
googleapis.com/compute/v1/projects/project/locations/global/networks/
network projects/project/locations/global/networks/network network
Corresponds to the JSON property network
580 581 582 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 580 def network @network end |
#overlaps ⇒ Array<String>
Optional. Types of resources that are allowed to overlap with the current
internal range.
Corresponds to the JSON property overlaps
586 587 588 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 586 def overlaps @overlaps end |
#peering ⇒ String
The type of peering set for this internal range.
Corresponds to the JSON property peering
591 592 593 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 591 def peering @peering end |
#prefix_length ⇒ Fixnum
An alternative to ip_cidr_range. Can be set when trying to create an IPv4
reservation that automatically finds a free range of the given size. If both
ip_cidr_range and prefix_length are set, there is an error if the range sizes
do not match. Can also be used during updates to change the range size. NOTE:
For IPv6 this field only works if ip_cidr_range is set as well, and both
fields must match. In other words, with IPv6 this field only works as a
redundant parameter.
Corresponds to the JSON property prefixLength
602 603 604 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 602 def prefix_length @prefix_length end |
#target_cidr_range ⇒ Array<String>
Optional. 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", "172.16.
0.0/12", "192.168.0.0/16"] address space (for auto-mode networks, the "10.0.0.
0/9" range is used instead of "10.0.0.0/8"). This can be used to target the
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.
Corresponds to the JSON property targetCidrRange
612 613 614 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 612 def target_cidr_range @target_cidr_range end |
#update_time ⇒ String
Time when the internal range was updated.
Corresponds to the JSON property updateTime
617 618 619 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 617 def update_time @update_time end |
#usage ⇒ String
The type of usage set for this internal range.
Corresponds to the JSON property usage
622 623 624 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 622 def usage @usage end |
#users ⇒ Array<String>
Output only. The list of resources that refer to this internal range.
Resources that use the internal range for their range allocation are referred
to as users of the range. Other resources mark themselves as users while doing
so by creating a reference to this internal range. Having a user, based on
this reference, prevents deletion of the internal range that is referred to.
Can be empty.
Corresponds to the JSON property users
632 633 634 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 632 def users @users end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 |
# File 'lib/google/apis/networkconnectivity_v1alpha1/classes.rb', line 639 def update!(**args) @allocation_options = args[:allocation_options] if args.key?(:allocation_options) @create_time = args[:create_time] if args.key?(:create_time) @description = args[:description] if args.key?(:description) @exclude_cidr_ranges = args[:exclude_cidr_ranges] if args.key?(:exclude_cidr_ranges) @immutable = args[:immutable] if args.key?(:immutable) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) @labels = args[:labels] if args.key?(:labels) @migration = args[:migration] if args.key?(:migration) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @overlaps = args[:overlaps] if args.key?(:overlaps) @peering = args[:peering] if args.key?(:peering) @prefix_length = args[:prefix_length] if args.key?(:prefix_length) @target_cidr_range = args[:target_cidr_range] if args.key?(:target_cidr_range) @update_time = args[:update_time] if args.key?(:update_time) @usage = args[:usage] if args.key?(:usage) @users = args[:users] if args.key?(:users) end |