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 characterstics 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
-
#create_time ⇒ String
Time when the internal range was created.
-
#description ⇒ String
A description of this resource.
-
#ip_cidr_range ⇒ String
The IP range that this internal range defines.
-
#labels ⇒ Hash<String,String>
User-defined labels.
-
#migration ⇒ Google::Apis::NetworkconnectivityV1::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 alternate 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 InternalRange.
-
#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.
1106 1107 1108 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1106 def initialize(**args) update!(**args) end |
Instance Attribute Details
#create_time ⇒ String
Time when the internal range was created.
Corresponds to the JSON property createTime
1016 1017 1018 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1016 def create_time @create_time end |
#description ⇒ String
A description of this resource.
Corresponds to the JSON property description
1021 1022 1023 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1021 def description @description end |
#ip_cidr_range ⇒ String
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
1028 1029 1030 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1028 def ip_cidr_range @ip_cidr_range end |
#labels ⇒ Hash<String,String>
User-defined labels.
Corresponds to the JSON property labels
1033 1034 1035 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1033 def labels @labels end |
#migration ⇒ Google::Apis::NetworkconnectivityV1::Migration
Specification for migration with source and target resource names.
Corresponds to the JSON property migration
1038 1039 1040 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1038 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
1045 1046 1047 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1045 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
1054 1055 1056 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1054 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
1060 1061 1062 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1060 def overlaps @overlaps end |
#peering ⇒ String
The type of peering set for this internal range.
Corresponds to the JSON property peering
1065 1066 1067 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1065 def peering @peering end |
#prefix_length ⇒ Fixnum
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
1076 1077 1078 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1076 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" 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.
Corresponds to the JSON property targetCidrRange
1084 1085 1086 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1084 def target_cidr_range @target_cidr_range end |
#update_time ⇒ String
Time when the internal range was updated.
Corresponds to the JSON property updateTime
1089 1090 1091 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1089 def update_time @update_time end |
#usage ⇒ String
The type of usage set for this InternalRange.
Corresponds to the JSON property usage
1094 1095 1096 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1094 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
1104 1105 1106 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1104 def users @users end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 |
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1111 def update!(**args) @create_time = args[:create_time] if args.key?(:create_time) @description = args[:description] if args.key?(:description) @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 |