Class: Google::Apis::NetworkconnectivityV1::InternalRange

Inherits:
Object
  • Object
show all
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 InternalRange resource for IPAM operations within a VPC network. Used to represent a private address range along with behavioral characterstics of that range (it's usage and peering behavior). Networking resources can link to this range if they are created as belonging to it. Next id: 14

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ InternalRange

Returns a new instance of InternalRange.



542
543
544
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 542

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#create_timeString

Time when the InternalRange was created. Corresponds to the JSON property createTime

Returns:

  • (String)


463
464
465
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 463

def create_time
  @create_time
end

#descriptionString

A description of this resource. Corresponds to the JSON property description

Returns:

  • (String)


468
469
470
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 468

def description
  @description
end

#ip_cidr_rangeString

IP range that this InternalRange defines. Corresponds to the JSON property ipCidrRange

Returns:

  • (String)


473
474
475
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 473

def ip_cidr_range
  @ip_cidr_range
end

#labelsHash<String,String>

User-defined labels. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


478
479
480
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 478

def labels
  @labels
end

#nameString

Immutable. The name of a InternalRange. Format: projects/project/locations/ location/internalRanges/internal_range See: https://google.aip.dev/122# fields-representing-resource-names Corresponds to the JSON property name

Returns:

  • (String)


485
486
487
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 485

def name
  @name
end

#networkString

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 network is not supported. This can only be specified for a global internal address. Example: - URL: /compute/v1/projects/project/ global/networks/resourceId - ID: network123 Corresponds to the JSON property network

Returns:

  • (String)


494
495
496
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 494

def network
  @network
end

#overlapsArray<String>

Optional. Types of resources that are allowed to overlap with the current InternalRange. Corresponds to the JSON property overlaps

Returns:

  • (Array<String>)


500
501
502
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 500

def overlaps
  @overlaps
end

#peeringString

The type of peering set for this InternalRange. Corresponds to the JSON property peering

Returns:

  • (String)


505
506
507
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 505

def peering
  @peering
end

#prefix_lengthFixnum

An alternate to ip_cidr_range. Can be set when trying to create a reservation that automatically finds a free range of the given size. If both ip_cidr_range and prefix_length are set, it's an error if the range sizes don't match. Can also be used during updates to change the range size. Corresponds to the JSON property prefixLength

Returns:

  • (Fixnum)


513
514
515
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 513

def prefix_length
  @prefix_length
end

#target_cidr_rangeArray<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

Returns:

  • (Array<String>)


521
522
523
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 521

def target_cidr_range
  @target_cidr_range
end

#update_timeString

Time when the InternalRange was updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


526
527
528
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 526

def update_time
  @update_time
end

#usageString

The type of usage set for this InternalRange. Corresponds to the JSON property usage

Returns:

  • (String)


531
532
533
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 531

def usage
  @usage
end

#usersArray<String>

Output only. The list of resources that refer to this internal range. Resources that use the InternalRange 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 InternalRange. Having a user, based on this reference, prevents deletion of the InternalRange referred to. Can be empty. Corresponds to the JSON property users

Returns:

  • (Array<String>)


540
541
542
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 540

def users
  @users
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 547

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)
  @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