Class: Google::Apis::ServicenetworkingV1::AddSubnetworkRequest
- Inherits:
-
Object
- Object
- Google::Apis::ServicenetworkingV1::AddSubnetworkRequest
- 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
-
#allow_subnet_cidr_routes_overlap ⇒ Boolean
(also: #allow_subnet_cidr_routes_overlap?)
Optional.
-
#check_service_networking_use_permission ⇒ Boolean
(also: #check_service_networking_use_permission?)
Optional.
-
#compute_idempotency_window ⇒ String
Optional.
-
#consumer ⇒ String
Required.
-
#consumer_network ⇒ String
Required.
-
#description ⇒ String
Optional.
-
#ip_prefix_length ⇒ Fixnum
Required.
-
#outside_allocation_public_ip_range ⇒ String
Optional.
-
#private_ipv6_google_access ⇒ String
Optional.
-
#purpose ⇒ String
Optional.
-
#region ⇒ String
Required.
-
#requested_address ⇒ String
Optional.
-
#requested_ranges ⇒ Array<String>
Optional.
-
#role ⇒ String
Optional.
-
#secondary_ip_range_specs ⇒ Array<Google::Apis::ServicenetworkingV1::SecondaryIpRangeSpec>
Optional.
-
#subnetwork ⇒ String
Required.
-
#subnetwork_users ⇒ Array<String>
A list of members that are granted the `roles/servicenetworking.
-
#use_custom_compute_idempotency_window ⇒ Boolean
(also: #use_custom_compute_idempotency_window?)
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ AddSubnetworkRequest
constructor
A new instance of AddSubnetworkRequest.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ AddSubnetworkRequest
Returns a new instance of AddSubnetworkRequest.
361 362 363 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 361 def initialize(**args) update!(**args) end |
Instance Attribute Details
#allow_subnet_cidr_routes_overlap ⇒ Boolean 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
223 224 225 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 223 def allow_subnet_cidr_routes_overlap @allow_subnet_cidr_routes_overlap end |
#check_service_networking_use_permission ⇒ Boolean 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
230 231 232 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 230 def @check_service_networking_use_permission end |
#compute_idempotency_window ⇒ String
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
244 245 246 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 244 def compute_idempotency_window @compute_idempotency_window end |
#consumer ⇒ String
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
253 254 255 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 253 def consumer @consumer end |
#consumer_network ⇒ String
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`
262 263 264 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 262 def consumer_network @consumer_network end |
#description ⇒ String
Optional. Description of the subnet.
Corresponds to the JSON property description
267 268 269 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 267 def description @description end |
#ip_prefix_length ⇒ Fixnum
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
275 276 277 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 275 def ip_prefix_length @ip_prefix_length end |
#outside_allocation_public_ip_range ⇒ String
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
282 283 284 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 282 def outside_allocation_public_ip_range @outside_allocation_public_ip_range end |
#private_ipv6_google_access ⇒ String
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
290 291 292 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 290 def private_ipv6_google_access @private_ipv6_google_access end |
#purpose ⇒ String
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
298 299 300 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 298 def purpose @purpose end |
#region ⇒ String
Required. The name of a region for the subnet,
such europe-west1.
Corresponds to the JSON property region
304 305 306 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 304 def region @region end |
#requested_address ⇒ String
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
313 314 315 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 313 def requested_address @requested_address end |
#requested_ranges ⇒ Array<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
322 323 324 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 322 def requested_ranges @requested_ranges end |
#role ⇒ String
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
330 331 332 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 330 def role @role end |
#secondary_ip_range_specs ⇒ Array<Google::Apis::ServicenetworkingV1::SecondaryIpRangeSpec>
Optional. A list of secondary IP ranges to be created within the new
subnetwork.
Corresponds to the JSON property secondaryIpRangeSpecs
336 337 338 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 336 def secondary_ip_range_specs @secondary_ip_range_specs end |
#subnetwork ⇒ String
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
343 344 345 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 343 def subnetwork @subnetwork end |
#subnetwork_users ⇒ Array<String>
A list of members that are granted the roles/servicenetworking.
subnetworkAdmin role on the subnet.
Corresponds to the JSON property subnetworkUsers
349 350 351 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 349 def subnetwork_users @subnetwork_users end |
#use_custom_compute_idempotency_window ⇒ Boolean 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
358 359 360 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 358 def use_custom_compute_idempotency_window @use_custom_compute_idempotency_window end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 366 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) @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) @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 |