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
-
#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.
-
#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.
345 346 347 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 345 def initialize(**args) update!(**args) end |
Instance Attribute Details
#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
222 223 224 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 222 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
236 237 238 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 236 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
245 246 247 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 245 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`
254 255 256 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 254 def consumer_network @consumer_network end |
#description ⇒ String
Optional. Description of the subnet.
Corresponds to the JSON property description
259 260 261 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 259 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 30 to provision a subnet with an x.x.x.x/30 CIDR range.
The IP address range is drawn from a pool of available ranges in the service
consumer's allocated range.
Corresponds to the JSON property ipPrefixLength
267 268 269 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 267 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
274 275 276 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 274 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
282 283 284 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 282 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
290 291 292 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 290 def purpose @purpose end |
#region ⇒ String
Required. The name of a region for the subnet,
such europe-west1.
Corresponds to the JSON property region
296 297 298 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 296 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
305 306 307 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 305 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
314 315 316 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 314 def requested_ranges @requested_ranges 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
320 321 322 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 320 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
327 328 329 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 327 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
333 334 335 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 333 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
342 343 344 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 342 def use_custom_compute_idempotency_window @use_custom_compute_idempotency_window end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 |
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 350 def update!(**args) @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) @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 |