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.
380 381 382 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 380 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 GCE subnetwork request
idempotency. If two equivalent concurrent requests are made, GCE 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 GCE). Maximum value of 14 days (
enforced by GCE limit).
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 |
#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
275 276 277 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 275 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
283 284 285 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 283 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
290 291 292 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 290 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
298 299 300 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 298 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
306 307 308 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 306 def purpose @purpose end |
#region ⇒ String
Required. The name of a region for the subnet, such europe-west1.
Corresponds to the JSON property region
312 313 314 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 312 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
321 322 323 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 321 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
330 331 332 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 330 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
338 339 340 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 338 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
344 345 346 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 344 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
355 356 357 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 355 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
363 364 365 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 363 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
369 370 371 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 369 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
GCE idempotency. If false, Service Networking uses a 300 second (5 minute) GCE
idempotency window. If true, Service Networking uses a custom idempotency
window provided by the user in field compute_idempotency_window.
Corresponds to the JSON property useCustomComputeIdempotencyWindow
377 378 379 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 377 def use_custom_compute_idempotency_window @use_custom_compute_idempotency_window end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 385 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 |