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.
-
#skip_requested_address_validation ⇒ Boolean
(also: #skip_requested_address_validation?)
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.
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_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 |
#skip_requested_address_validation ⇒ Boolean 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
356 357 358 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 356 def skip_requested_address_validation @skip_requested_address_validation 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
364 365 366 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 364 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
370 371 372 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 370 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
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 |