Class: Google::Apis::ServicenetworkingV1::AddSubnetworkRequest

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/servicenetworking_v1/classes.rb,
lib/google/apis/servicenetworking_v1/representations.rb,
lib/google/apis/servicenetworking_v1/representations.rb

Overview

Request to create a subnetwork in a previously peered service network.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ AddSubnetworkRequest

Returns a new instance of AddSubnetworkRequest.



382
383
384
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 382

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

Instance Attribute Details

#allow_subnet_cidr_routes_overlapBoolean Also known as: allow_subnet_cidr_routes_overlap?

Optional. Defines the allowSubnetCidrRoutesOverlap field of the subnet, e.g. Available in alpha and beta according to Compute API documentation Corresponds to the JSON property allowSubnetCidrRoutesOverlap

Returns:

  • (Boolean)


224
225
226
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 224

def allow_subnet_cidr_routes_overlap
  @allow_subnet_cidr_routes_overlap
end

#check_service_networking_use_permissionBoolean Also known as: check_service_networking_use_permission?

Optional. The IAM permission check determines whether the consumer project has 'servicenetworking.services.use' permission or not. Corresponds to the JSON property checkServiceNetworkingUsePermission

Returns:

  • (Boolean)


231
232
233
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 231

def check_service_networking_use_permission
  @check_service_networking_use_permission
end

#compute_idempotency_windowString

Optional. Specifies a custom time bucket for Arcus subnetwork request idempotency. If two equivalent concurrent requests are made, Arcus will know to ignore the request if it has already been completed or is in progress. Only requests with matching compute_idempotency_window have guaranteed idempotency. Changing this time window between requests results in undefined behavior. Zero (or empty) value with custom_compute_idempotency_window=true specifies no idempotency (i.e. no request ID is provided to Arcus). Maximum value of 14 days (enforced by Arcus limit). For more information on how to use, see: go/ revisit-sn-idempotency-window Corresponds to the JSON property computeIdempotencyWindow

Returns:

  • (String)


245
246
247
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 245

def compute_idempotency_window
  @compute_idempotency_window
end

#consumerString

Required. A resource that represents the service consumer, such as projects/ 123456. The project number can be different from the value in the consumer network parameter. For example, the network might be part of a Shared VPC network. In those cases, Service Networking validates that this resource belongs to that Shared VPC. Corresponds to the JSON property consumer

Returns:

  • (String)


254
255
256
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 254

def consumer
  @consumer
end

#consumer_networkString

Required. The name of the service consumer's VPC network. The network must have an existing private connection that was provisioned through the connections.create method. The name must be in the following format: projects/ project/global/networks/network`, whereprojectis a project number, such as12345.networkis the name of a VPC network in the project. Corresponds to the JSON propertyconsumerNetwork`

Returns:

  • (String)


263
264
265
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 263

def consumer_network
  @consumer_network
end

#descriptionString

Optional. Description of the subnet. Corresponds to the JSON property description

Returns:

  • (String)


268
269
270
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 268

def description
  @description
end

#internal_rangeString

Optional. The url of an Internal Range. Eg: projects//locations/global/ internalRanges/. If specified, it means that the subnetwork cidr will be created using the combination of requested_address/ip_prefix_length. Note that the subnet cidr has to be within the cidr range of this Internal Range. Corresponds to the JSON property internalRange

Returns:

  • (String)


276
277
278
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 276

def internal_range
  @internal_range
end

#ip_prefix_lengthFixnum

Required. The prefix length of the subnet's IP address range. Use CIDR range notation, such as 29 to provision a subnet with an x.x.x.x/29 CIDR range. The IP address range is drawn from a pool of available ranges in the service consumer's allocated range. GCE disallows subnets with prefix_length > 29 Corresponds to the JSON property ipPrefixLength

Returns:

  • (Fixnum)


284
285
286
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 284

def ip_prefix_length
  @ip_prefix_length
end

#outside_allocation_public_ip_rangeString

Optional. Enable outside allocation using public IP addresses. Any public IP range may be specified. If this field is provided, we will not use customer reserved ranges for this primary IP range. Corresponds to the JSON property outsideAllocationPublicIpRange

Returns:

  • (String)


291
292
293
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 291

def outside_allocation_public_ip_range
  @outside_allocation_public_ip_range
end

#private_ipv6_google_accessString

Optional. The private IPv6 google access type for the VMs in this subnet. For information about the access types that can be set using this field, see subnetwork in the Compute API documentation. Corresponds to the JSON property privateIpv6GoogleAccess

Returns:

  • (String)


299
300
301
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 299

def private_ipv6_google_access
  @private_ipv6_google_access
end

#purposeString

Optional. Defines the purpose field of the subnet, e.g. ' PRIVATE_SERVICE_CONNECT'. For information about the purposes that can be set using this field, see subnetwork in the Compute API documentation. Corresponds to the JSON property purpose

Returns:

  • (String)


307
308
309
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 307

def purpose
  @purpose
end

#regionString

Required. The name of a region for the subnet, such europe-west1. Corresponds to the JSON property region

Returns:

  • (String)


313
314
315
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 313

def region
  @region
end

#requested_addressString

Optional. The starting address of a range. The address must be a valid IPv4 address in the x.x.x.x format. This value combined with the IP prefix range is the CIDR range for the subnet. The range must be within the allocated range that is assigned to the private connection. If the CIDR range isn't available, the call fails. Corresponds to the JSON property requestedAddress

Returns:

  • (String)


322
323
324
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 322

def requested_address
  @requested_address
end

#requested_rangesArray<String>

Optional. The name of one or more allocated IP address ranges associated with this private service access connection. If no range names are provided all ranges associated with this connection will be considered. If a CIDR range with the specified IP prefix length is not available within these ranges, the call fails. Corresponds to the JSON property requestedRanges

Returns:

  • (Array<String>)


331
332
333
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 331

def requested_ranges
  @requested_ranges
end

#roleString

Optional. Defines the role field of the subnet, e.g. 'ACTIVE'. For information about the roles that can be set using this field, see subnetwork in the Compute API documentation. Corresponds to the JSON property role

Returns:

  • (String)


339
340
341
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 339

def role
  @role
end

#secondary_ip_range_specsArray<Google::Apis::ServicenetworkingV1::SecondaryIpRangeSpec>

Optional. A list of secondary IP ranges to be created within the new subnetwork. Corresponds to the JSON property secondaryIpRangeSpecs



345
346
347
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 345

def secondary_ip_range_specs
  @secondary_ip_range_specs
end

#skip_requested_address_validationBoolean Also known as: skip_requested_address_validation?

Optional. Skips validating if the requested_address is in use by SN VPC’s peering group. Compute Engine will still perform this check and fail the request if the requested_address is in use. Note that Compute Engine does not check for the existence of dynamic routes when performing this check. Caller of this API should make sure that there are no dynamic routes overlapping with the requested_address/prefix_length IP address range otherwise the created subnet could cause misrouting. Corresponds to the JSON property skipRequestedAddressValidation

Returns:

  • (Boolean)


356
357
358
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 356

def skip_requested_address_validation
  @skip_requested_address_validation
end

#subnetworkString

Required. A name for the new subnet. For information about the naming requirements, see subnetwork in the Compute API documentation. Corresponds to the JSON property subnetwork

Returns:

  • (String)


364
365
366
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 364

def subnetwork
  @subnetwork
end

#subnetwork_usersArray<String>

A list of members that are granted the roles/servicenetworking. subnetworkAdmin role on the subnet. Corresponds to the JSON property subnetworkUsers

Returns:

  • (Array<String>)


370
371
372
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 370

def subnetwork_users
  @subnetwork_users
end

#use_custom_compute_idempotency_windowBoolean Also known as: use_custom_compute_idempotency_window?

Optional. Specifies if Service Networking should use a custom time bucket for Arcus idempotency. If false, Service Networking uses a 300 second (5 minute) Arcus idempotency window. If true, Service Networking uses a custom idempotency window provided by the user in field compute_idempotency_window. For more information on how to use, see: go/revisit-sn-idempotency-window Corresponds to the JSON property useCustomComputeIdempotencyWindow

Returns:

  • (Boolean)


379
380
381
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 379

def use_custom_compute_idempotency_window
  @use_custom_compute_idempotency_window
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 387

def update!(**args)
  @allow_subnet_cidr_routes_overlap = args[:allow_subnet_cidr_routes_overlap] if args.key?(:allow_subnet_cidr_routes_overlap)
  @check_service_networking_use_permission = args[:check_service_networking_use_permission] if args.key?(:check_service_networking_use_permission)
  @compute_idempotency_window = args[:compute_idempotency_window] if args.key?(:compute_idempotency_window)
  @consumer = args[:consumer] if args.key?(:consumer)
  @consumer_network = args[:consumer_network] if args.key?(:consumer_network)
  @description = args[:description] if args.key?(:description)
  @internal_range = args[:internal_range] if args.key?(:internal_range)
  @ip_prefix_length = args[:ip_prefix_length] if args.key?(:ip_prefix_length)
  @outside_allocation_public_ip_range = args[:outside_allocation_public_ip_range] if args.key?(:outside_allocation_public_ip_range)
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
  @purpose = args[:purpose] if args.key?(:purpose)
  @region = args[:region] if args.key?(:region)
  @requested_address = args[:requested_address] if args.key?(:requested_address)
  @requested_ranges = args[:requested_ranges] if args.key?(:requested_ranges)
  @role = args[:role] if args.key?(:role)
  @secondary_ip_range_specs = args[:secondary_ip_range_specs] if args.key?(:secondary_ip_range_specs)
  @skip_requested_address_validation = args[:skip_requested_address_validation] if args.key?(:skip_requested_address_validation)
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
  @subnetwork_users = args[:subnetwork_users] if args.key?(:subnetwork_users)
  @use_custom_compute_idempotency_window = args[:use_custom_compute_idempotency_window] if args.key?(:use_custom_compute_idempotency_window)
end