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.
1850 1851 1852 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1850 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
1738 1739 1740 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1738 def @allocation_options end |
#create_time ⇒ String
Output only. Time when the internal range was created.
Corresponds to the JSON property createTime
1743 1744 1745 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1743 def create_time @create_time end |
#description ⇒ String
Optional. A description of this resource.
Corresponds to the JSON property description
1748 1749 1750 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1748 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
1755 1756 1757 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1755 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
1761 1762 1763 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1761 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
1769 1770 1771 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1769 def ip_cidr_range @ip_cidr_range end |
#labels ⇒ Hash<String,String>
User-defined labels.
Corresponds to the JSON property labels
1774 1775 1776 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1774 def labels @labels end |
#migration ⇒ Google::Apis::NetworkconnectivityV1::Migration
Specification for migration with source and target resource names.
Corresponds to the JSON property migration
1779 1780 1781 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1779 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
1786 1787 1788 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1786 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
1796 1797 1798 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1796 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
1802 1803 1804 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1802 def overlaps @overlaps end |
#peering ⇒ String
Optional. The type of peering set for this internal range.
Corresponds to the JSON property peering
1807 1808 1809 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1807 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
1818 1819 1820 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1818 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
1828 1829 1830 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1828 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
1833 1834 1835 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1833 def update_time @update_time end |
#usage ⇒ String
Optional. The type of usage set for this InternalRange.
Corresponds to the JSON property usage
1838 1839 1840 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1838 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
1848 1849 1850 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1848 def users @users end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1855 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 |