Class: Google::Apis::NetworkconnectivityV1::InternalRange
- Inherits:
-
Object
- Object
- Google::Apis::NetworkconnectivityV1::InternalRange
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/networkconnectivity_v1/classes.rb,
lib/google/apis/networkconnectivity_v1/representations.rb,
lib/google/apis/networkconnectivity_v1/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::NetworkconnectivityV1::AllocationOptions
Range auto-allocation options, to be optionally used when CIDR block is not explicitly set.
-
#create_time ⇒ String
Output only.
-
#description ⇒ String
Optional.
-
#exclude_cidr_ranges ⇒ Array<String>
Optional.
-
#immutable ⇒ Boolean
(also: #immutable?)
Optional.
-
#ip_cidr_range ⇒ String
Optional.
-
#labels ⇒ Hash<String,String>
User-defined labels.
-
#migration ⇒ Google::Apis::NetworkconnectivityV1::Migration
Specification for migration with source and target resource names.
-
#name ⇒ String
Identifier.
-
#network ⇒ String
Immutable.
-
#overlaps ⇒ Array<String>
Optional.
-
#peering ⇒ String
Optional.
-
#prefix_length ⇒ Fixnum
Optional.
-
#target_cidr_range ⇒ Array<String>
Optional.
-
#update_time ⇒ String
Output only.
-
#usage ⇒ String
Optional.
-
#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.
1723 1724 1725 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1723 def initialize(**args) update!(**args) end |
Instance Attribute Details
#allocation_options ⇒ Google::Apis::NetworkconnectivityV1::AllocationOptions
Range auto-allocation options, to be optionally used when CIDR block is not
explicitly set.
Corresponds to the JSON property allocationOptions
1611 1612 1613 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1611 def @allocation_options end |
#create_time ⇒ String
Output only. Time when the internal range was created.
Corresponds to the JSON property createTime
1616 1617 1618 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1616 def create_time @create_time end |
#description ⇒ String
Optional. A description of this resource.
Corresponds to the JSON property description
1621 1622 1623 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1621 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
1628 1629 1630 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1628 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
1634 1635 1636 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1634 def immutable @immutable end |
#ip_cidr_range ⇒ String
Optional. The 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
1642 1643 1644 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1642 def ip_cidr_range @ip_cidr_range end |
#labels ⇒ Hash<String,String>
User-defined labels.
Corresponds to the JSON property labels
1647 1648 1649 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1647 def labels @labels end |
#migration ⇒ Google::Apis::NetworkconnectivityV1::Migration
Specification for migration with source and target resource names.
Corresponds to the JSON property migration
1652 1653 1654 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1652 def migration @migration end |
#name ⇒ String
Identifier. 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
1659 1660 1661 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1659 def name @name end |
#network ⇒ String
Immutable. 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
1669 1670 1671 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1669 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
1675 1676 1677 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1675 def overlaps @overlaps end |
#peering ⇒ String
Optional. The type of peering set for this internal range.
Corresponds to the JSON property peering
1680 1681 1682 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1680 def peering @peering end |
#prefix_length ⇒ Fixnum
Optional. An alternate 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
1691 1692 1693 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1691 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
1701 1702 1703 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1701 def target_cidr_range @target_cidr_range end |
#update_time ⇒ String
Output only. Time when the internal range was updated.
Corresponds to the JSON property updateTime
1706 1707 1708 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1706 def update_time @update_time end |
#usage ⇒ String
Optional. The type of usage set for this InternalRange.
Corresponds to the JSON property usage
1711 1712 1713 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1711 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 referred to. Can be
empty.
Corresponds to the JSON property users
1721 1722 1723 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1721 def users @users end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1728 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 |