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.
-
#internal_range ⇒ 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.
370 371 372 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 370 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
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_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
231 232 233 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 231 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
245 246 247 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 245 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
254 255 256 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 254 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`, where
projectis a project number,
such as
12345.
networkis the name of a VPC network in the project.
Corresponds to the JSON property
consumerNetwork`
263 264 265 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 263 def consumer_network @consumer_network end |
#description ⇒ String
Optional. Description of the subnet.
Corresponds to the JSON property description
268 269 270 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 268 def description @description end |
#internal_range ⇒ String
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
276 277 278 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 276 def internal_range @internal_range 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
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_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
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_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
299 300 301 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 299 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
307 308 309 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 307 def purpose @purpose end |
#region ⇒ String
Required. The name of a region for the subnet,
such europe-west1
.
Corresponds to the JSON property region
313 314 315 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 313 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
322 323 324 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 322 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
331 332 333 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 331 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
339 340 341 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 339 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
345 346 347 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 345 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
352 353 354 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 352 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
358 359 360 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 358 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
367 368 369 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 367 def use_custom_compute_idempotency_window @use_custom_compute_idempotency_window end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 375 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) @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 |