google-apis-compute_v1 0.66.0 → 0.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -609,6 +609,25 @@ module Google
609
609
  # @return [String]
610
610
  attr_accessor :kind
611
611
 
612
+ # A fingerprint for the labels being applied to this Address, which is
613
+ # essentially a hash of the labels set used for optimistic locking. The
614
+ # fingerprint is initially generated by Compute Engine and changes after every
615
+ # request to modify or update labels. You must always provide an up-to-date
616
+ # fingerprint hash in order to update or change labels, otherwise the request
617
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
618
+ # a get() request to retrieve an Address.
619
+ # Corresponds to the JSON property `labelFingerprint`
620
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
621
+ # @return [String]
622
+ attr_accessor :label_fingerprint
623
+
624
+ # Labels for this resource. These can only be added or modified by the setLabels
625
+ # method. Each label key/value pair must comply with RFC1035. Label values may
626
+ # be empty.
627
+ # Corresponds to the JSON property `labels`
628
+ # @return [Hash<String,String>]
629
+ attr_accessor :labels
630
+
612
631
  # Name of the resource. Provided by the client when the resource is created. The
613
632
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
614
633
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -705,6 +724,8 @@ module Google
705
724
  @ip_version = args[:ip_version] if args.key?(:ip_version)
706
725
  @ipv6_endpoint_type = args[:ipv6_endpoint_type] if args.key?(:ipv6_endpoint_type)
707
726
  @kind = args[:kind] if args.key?(:kind)
727
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
728
+ @labels = args[:labels] if args.key?(:labels)
708
729
  @name = args[:name] if args.key?(:name)
709
730
  @network = args[:network] if args.key?(:network)
710
731
  @network_tier = args[:network_tier] if args.key?(:network_tier)
@@ -1526,6 +1547,13 @@ module Google
1526
1547
  # @return [Fixnum]
1527
1548
  attr_accessor :provisioned_iops
1528
1549
 
1550
+ # Indicates how much throughput to provision for the disk. This sets the number
1551
+ # of throughput mb per second that the disk can handle. Values must be between 1
1552
+ # and 7,124.
1553
+ # Corresponds to the JSON property `provisionedThroughput`
1554
+ # @return [Fixnum]
1555
+ attr_accessor :provisioned_throughput
1556
+
1529
1557
  # Required for each regional disk associated with the instance. Specify the URLs
1530
1558
  # of the zones where the disk should be replicated to. You must provide exactly
1531
1559
  # two replica zones, and one zone must be the same as the instance zone. You can'
@@ -1605,6 +1633,7 @@ module Google
1605
1633
  @licenses = args[:licenses] if args.key?(:licenses)
1606
1634
  @on_update_action = args[:on_update_action] if args.key?(:on_update_action)
1607
1635
  @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
1636
+ @provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput)
1608
1637
  @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
1609
1638
  @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
1610
1639
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -3328,6 +3357,12 @@ module Google
3328
3357
  # @return [Google::Apis::ComputeV1::Duration]
3329
3358
  attr_accessor :max_stream_duration
3330
3359
 
3360
+ # Deployment metadata associated with the resource to be set by a GKE hub
3361
+ # controller and read by the backend RCTH
3362
+ # Corresponds to the JSON property `metadatas`
3363
+ # @return [Hash<String,String>]
3364
+ attr_accessor :metadatas
3365
+
3331
3366
  # Name of the resource. Provided by the client when the resource is created. The
3332
3367
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3333
3368
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3467,6 +3502,7 @@ module Google
3467
3502
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3468
3503
  @log_config = args[:log_config] if args.key?(:log_config)
3469
3504
  @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
3505
+ @metadatas = args[:metadatas] if args.key?(:metadatas)
3470
3506
  @name = args[:name] if args.key?(:name)
3471
3507
  @network = args[:network] if args.key?(:network)
3472
3508
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
@@ -5058,7 +5094,7 @@ module Google
5058
5094
  # @return [String]
5059
5095
  attr_accessor :self_link
5060
5096
 
5061
- # Source commitment to be splitted into a new commitment.
5097
+ # Source commitment to be split into a new commitment.
5062
5098
  # Corresponds to the JSON property `splitSourceCommitment`
5063
5099
  # @return [String]
5064
5100
  attr_accessor :split_source_commitment
@@ -5841,6 +5877,16 @@ module Google
5841
5877
  # @return [String]
5842
5878
  attr_accessor :architecture
5843
5879
 
5880
+ # Disk asynchronously replicated into this disk.
5881
+ # Corresponds to the JSON property `asyncPrimaryDisk`
5882
+ # @return [Google::Apis::ComputeV1::DiskAsyncReplication]
5883
+ attr_accessor :async_primary_disk
5884
+
5885
+ # [Output Only] A list of disks this disk is asynchronously replicated to.
5886
+ # Corresponds to the JSON property `asyncSecondaryDisks`
5887
+ # @return [Hash<String,Google::Apis::ComputeV1::DiskAsyncReplicationList>]
5888
+ attr_accessor :async_secondary_disks
5889
+
5844
5890
  # [Output Only] Creation timestamp in RFC3339 text format.
5845
5891
  # Corresponds to the JSON property `creationTimestamp`
5846
5892
  # @return [String]
@@ -5967,6 +6013,13 @@ module Google
5967
6013
  # @return [Fixnum]
5968
6014
  attr_accessor :provisioned_iops
5969
6015
 
6016
+ # Indicates how much throughput to provision for the disk. This sets the number
6017
+ # of throughput mb per second that the disk can handle. Values must be between 1
6018
+ # and 7,124.
6019
+ # Corresponds to the JSON property `provisionedThroughput`
6020
+ # @return [Fixnum]
6021
+ attr_accessor :provisioned_throughput
6022
+
5970
6023
  # [Output Only] URL of the region where the disk resides. Only applicable for
5971
6024
  # regional resources. You must specify this field as part of the HTTP request
5972
6025
  # URL. It is not settable as a field in the request body.
@@ -5985,6 +6038,11 @@ module Google
5985
6038
  # @return [Array<String>]
5986
6039
  attr_accessor :resource_policies
5987
6040
 
6041
+ # [Output Only] Status information for the disk resource.
6042
+ # Corresponds to the JSON property `resourceStatus`
6043
+ # @return [Google::Apis::ComputeV1::DiskResourceStatus]
6044
+ attr_accessor :resource_status
6045
+
5988
6046
  # [Output Only] Reserved for future use.
5989
6047
  # Corresponds to the JSON property `satisfiesPzs`
5990
6048
  # @return [Boolean]
@@ -6005,6 +6063,18 @@ module Google
6005
6063
  # @return [Fixnum]
6006
6064
  attr_accessor :size_gb
6007
6065
 
6066
+ # [Output Only] URL of the DiskConsistencyGroupPolicy for a secondary disk that
6067
+ # was created using a consistency group.
6068
+ # Corresponds to the JSON property `sourceConsistencyGroupPolicy`
6069
+ # @return [String]
6070
+ attr_accessor :source_consistency_group_policy
6071
+
6072
+ # [Output Only] ID of the DiskConsistencyGroupPolicy for a secondary disk that
6073
+ # was created using a consistency group.
6074
+ # Corresponds to the JSON property `sourceConsistencyGroupPolicyId`
6075
+ # @return [String]
6076
+ attr_accessor :source_consistency_group_policy_id
6077
+
6008
6078
  # The source disk used to create this disk. You can provide this as a partial or
6009
6079
  # full URL to the resource. For example, the following are valid values: - https:
6010
6080
  # //www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk -
@@ -6122,6 +6192,8 @@ module Google
6122
6192
  # Update properties of this object
6123
6193
  def update!(**args)
6124
6194
  @architecture = args[:architecture] if args.key?(:architecture)
6195
+ @async_primary_disk = args[:async_primary_disk] if args.key?(:async_primary_disk)
6196
+ @async_secondary_disks = args[:async_secondary_disks] if args.key?(:async_secondary_disks)
6125
6197
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
6126
6198
  @description = args[:description] if args.key?(:description)
6127
6199
  @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
@@ -6140,12 +6212,16 @@ module Google
6140
6212
  @params = args[:params] if args.key?(:params)
6141
6213
  @physical_block_size_bytes = args[:physical_block_size_bytes] if args.key?(:physical_block_size_bytes)
6142
6214
  @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
6215
+ @provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput)
6143
6216
  @region = args[:region] if args.key?(:region)
6144
6217
  @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
6145
6218
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
6219
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
6146
6220
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
6147
6221
  @self_link = args[:self_link] if args.key?(:self_link)
6148
6222
  @size_gb = args[:size_gb] if args.key?(:size_gb)
6223
+ @source_consistency_group_policy = args[:source_consistency_group_policy] if args.key?(:source_consistency_group_policy)
6224
+ @source_consistency_group_policy_id = args[:source_consistency_group_policy_id] if args.key?(:source_consistency_group_policy_id)
6149
6225
  @source_disk = args[:source_disk] if args.key?(:source_disk)
6150
6226
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
6151
6227
  @source_image = args[:source_image] if args.key?(:source_image)
@@ -6286,6 +6362,73 @@ module Google
6286
6362
  end
6287
6363
  end
6288
6364
 
6365
+ #
6366
+ class DiskAsyncReplication
6367
+ include Google::Apis::Core::Hashable
6368
+
6369
+ # [Output Only] URL of the DiskConsistencyGroupPolicy if replication was started
6370
+ # on the disk as a member of a group.
6371
+ # Corresponds to the JSON property `consistencyGroupPolicy`
6372
+ # @return [String]
6373
+ attr_accessor :consistency_group_policy
6374
+
6375
+ # [Output Only] ID of the DiskConsistencyGroupPolicy if replication was started
6376
+ # on the disk as a member of a group.
6377
+ # Corresponds to the JSON property `consistencyGroupPolicyId`
6378
+ # @return [String]
6379
+ attr_accessor :consistency_group_policy_id
6380
+
6381
+ # The other disk asynchronously replicated to or from the current disk. You can
6382
+ # provide this as a partial or full URL to the resource. For example, the
6383
+ # following are valid values: - https://www.googleapis.com/compute/v1/projects/
6384
+ # project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk -
6385
+ # zones/zone/disks/disk
6386
+ # Corresponds to the JSON property `disk`
6387
+ # @return [String]
6388
+ attr_accessor :disk
6389
+
6390
+ # [Output Only] The unique ID of the other disk asynchronously replicated to or
6391
+ # from the current disk. This value identifies the exact disk that was used to
6392
+ # create this replication. For example, if you started replicating the
6393
+ # persistent disk from a disk that was later deleted and recreated under the
6394
+ # same name, the disk ID would identify the exact version of the disk that was
6395
+ # used.
6396
+ # Corresponds to the JSON property `diskId`
6397
+ # @return [String]
6398
+ attr_accessor :disk_id
6399
+
6400
+ def initialize(**args)
6401
+ update!(**args)
6402
+ end
6403
+
6404
+ # Update properties of this object
6405
+ def update!(**args)
6406
+ @consistency_group_policy = args[:consistency_group_policy] if args.key?(:consistency_group_policy)
6407
+ @consistency_group_policy_id = args[:consistency_group_policy_id] if args.key?(:consistency_group_policy_id)
6408
+ @disk = args[:disk] if args.key?(:disk)
6409
+ @disk_id = args[:disk_id] if args.key?(:disk_id)
6410
+ end
6411
+ end
6412
+
6413
+ #
6414
+ class DiskAsyncReplicationList
6415
+ include Google::Apis::Core::Hashable
6416
+
6417
+ #
6418
+ # Corresponds to the JSON property `asyncReplicationDisk`
6419
+ # @return [Google::Apis::ComputeV1::DiskAsyncReplication]
6420
+ attr_accessor :async_replication_disk
6421
+
6422
+ def initialize(**args)
6423
+ update!(**args)
6424
+ end
6425
+
6426
+ # Update properties of this object
6427
+ def update!(**args)
6428
+ @async_replication_disk = args[:async_replication_disk] if args.key?(:async_replication_disk)
6429
+ end
6430
+ end
6431
+
6289
6432
  # A specification of the desired way to instantiate a disk in the instance
6290
6433
  # template when its created from a source instance.
6291
6434
  class DiskInstantiationConfig
@@ -6506,6 +6649,50 @@ module Google
6506
6649
  end
6507
6650
  end
6508
6651
 
6652
+ #
6653
+ class DiskResourceStatus
6654
+ include Google::Apis::Core::Hashable
6655
+
6656
+ #
6657
+ # Corresponds to the JSON property `asyncPrimaryDisk`
6658
+ # @return [Google::Apis::ComputeV1::DiskResourceStatusAsyncReplicationStatus]
6659
+ attr_accessor :async_primary_disk
6660
+
6661
+ # Key: disk, value: AsyncReplicationStatus message
6662
+ # Corresponds to the JSON property `asyncSecondaryDisks`
6663
+ # @return [Hash<String,Google::Apis::ComputeV1::DiskResourceStatusAsyncReplicationStatus>]
6664
+ attr_accessor :async_secondary_disks
6665
+
6666
+ def initialize(**args)
6667
+ update!(**args)
6668
+ end
6669
+
6670
+ # Update properties of this object
6671
+ def update!(**args)
6672
+ @async_primary_disk = args[:async_primary_disk] if args.key?(:async_primary_disk)
6673
+ @async_secondary_disks = args[:async_secondary_disks] if args.key?(:async_secondary_disks)
6674
+ end
6675
+ end
6676
+
6677
+ #
6678
+ class DiskResourceStatusAsyncReplicationStatus
6679
+ include Google::Apis::Core::Hashable
6680
+
6681
+ #
6682
+ # Corresponds to the JSON property `state`
6683
+ # @return [String]
6684
+ attr_accessor :state
6685
+
6686
+ def initialize(**args)
6687
+ update!(**args)
6688
+ end
6689
+
6690
+ # Update properties of this object
6691
+ def update!(**args)
6692
+ @state = args[:state] if args.key?(:state)
6693
+ end
6694
+ end
6695
+
6509
6696
  # Represents a Disk Type resource. Google Compute Engine has two Disk Type
6510
6697
  # resources: * [Regional](/compute/docs/reference/rest/v1/regionDiskTypes) * [
6511
6698
  # Zonal](/compute/docs/reference/rest/v1/diskTypes) You can choose from a
@@ -9587,6 +9774,37 @@ module Google
9587
9774
  end
9588
9775
  end
9589
9776
 
9777
+ #
9778
+ class GlobalAddressesMoveRequest
9779
+ include Google::Apis::Core::Hashable
9780
+
9781
+ # An optional destination address description if intended to be different from
9782
+ # the source.
9783
+ # Corresponds to the JSON property `description`
9784
+ # @return [String]
9785
+ attr_accessor :description
9786
+
9787
+ # The URL of the destination address to move to. This can be a full or partial
9788
+ # URL. For example, the following are all valid URLs to a address: - https://www.
9789
+ # googleapis.com/compute/v1/projects/project /global/addresses/address -
9790
+ # projects/project/global/addresses/address Note that destination project must
9791
+ # be different from the source project. So /global/addresses/address is not
9792
+ # valid partial url.
9793
+ # Corresponds to the JSON property `destinationAddress`
9794
+ # @return [String]
9795
+ attr_accessor :destination_address
9796
+
9797
+ def initialize(**args)
9798
+ update!(**args)
9799
+ end
9800
+
9801
+ # Update properties of this object
9802
+ def update!(**args)
9803
+ @description = args[:description] if args.key?(:description)
9804
+ @destination_address = args[:destination_address] if args.key?(:destination_address)
9805
+ end
9806
+ end
9807
+
9590
9808
  #
9591
9809
  class GlobalNetworkEndpointGroupsAttachEndpointsRequest
9592
9810
  include Google::Apis::Core::Hashable
@@ -10152,12 +10370,12 @@ module Google
10152
10370
  # resources: * [Global](/compute/docs/reference/rest/v1/healthChecks) * [
10153
10371
  # Regional](/compute/docs/reference/rest/v1/regionHealthChecks) Internal HTTP(S)
10154
10372
  # load balancers must use regional health checks (`compute.v1.regionHealthChecks`
10155
- # ). Traffic Director must use global health checks (`compute.v1.HealthChecks`).
10373
+ # ). Traffic Director must use global health checks (`compute.v1.healthChecks`).
10156
10374
  # Internal TCP/UDP load balancers can use either regional or global health
10157
- # checks (`compute.v1.regionHealthChecks` or `compute.v1.HealthChecks`).
10375
+ # checks (`compute.v1.regionHealthChecks` or `compute.v1.healthChecks`).
10158
10376
  # External HTTP(S), TCP proxy, and SSL proxy load balancers as well as managed
10159
10377
  # instance group auto-healing must use global health checks (`compute.v1.
10160
- # HealthChecks`). Backend service-based network load balancers must use regional
10378
+ # healthChecks`). Backend service-based network load balancers must use regional
10161
10379
  # health checks (`compute.v1.regionHealthChecks`). Target pool-based network
10162
10380
  # load balancers must use legacy HTTP health checks (`compute.v1.
10163
10381
  # httpHealthChecks`). For more information, see Health checks overview.
@@ -12030,6 +12248,16 @@ module Google
12030
12248
  # @return [Array<Google::Apis::ComputeV1::MetadataFilter>]
12031
12249
  attr_accessor :metadata_filters
12032
12250
 
12251
+ # If specified, the route is a pattern match expression that must match the :
12252
+ # path header once the query string is removed. A pattern match allows you to
12253
+ # match - The value must be between 1 and 1024 characters - The pattern must
12254
+ # start with a leading slash ("/") - There may be no more than 5 operators in
12255
+ # pattern Precisely one of prefix_match, full_path_match, regex_match or
12256
+ # path_template_match must be set.
12257
+ # Corresponds to the JSON property `pathTemplateMatch`
12258
+ # @return [String]
12259
+ attr_accessor :path_template_match
12260
+
12033
12261
  # For satisfying the matchRule condition, the request's path must begin with the
12034
12262
  # specified prefixMatch. prefixMatch must begin with a /. The value must be from
12035
12263
  # 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
@@ -12065,6 +12293,7 @@ module Google
12065
12293
  @header_matches = args[:header_matches] if args.key?(:header_matches)
12066
12294
  @ignore_case = args[:ignore_case] if args.key?(:ignore_case)
12067
12295
  @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
12296
+ @path_template_match = args[:path_template_match] if args.key?(:path_template_match)
12068
12297
  @prefix_match = args[:prefix_match] if args.key?(:prefix_match)
12069
12298
  @query_parameter_matches = args[:query_parameter_matches] if args.key?(:query_parameter_matches)
12070
12299
  @regex_match = args[:regex_match] if args.key?(:regex_match)
@@ -16774,6 +17003,25 @@ module Google
16774
17003
  # @return [String]
16775
17004
  attr_accessor :kind
16776
17005
 
17006
+ # A fingerprint for the labels being applied to this Interconnect, which is
17007
+ # essentially a hash of the labels set used for optimistic locking. The
17008
+ # fingerprint is initially generated by Compute Engine and changes after every
17009
+ # request to modify or update labels. You must always provide an up-to-date
17010
+ # fingerprint hash in order to update or change labels, otherwise the request
17011
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
17012
+ # a get() request to retrieve an Interconnect.
17013
+ # Corresponds to the JSON property `labelFingerprint`
17014
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
17015
+ # @return [String]
17016
+ attr_accessor :label_fingerprint
17017
+
17018
+ # Labels for this resource. These can only be added or modified by the setLabels
17019
+ # method. Each label key/value pair must comply with RFC1035. Label values may
17020
+ # be empty.
17021
+ # Corresponds to the JSON property `labels`
17022
+ # @return [Hash<String,String>]
17023
+ attr_accessor :labels
17024
+
16777
17025
  # Type of link requested, which can take one of the following values: -
16778
17026
  # LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics -
16779
17027
  # LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this
@@ -16831,6 +17079,12 @@ module Google
16831
17079
  # @return [Fixnum]
16832
17080
  attr_accessor :provisioned_link_count
16833
17081
 
17082
+ # Indicates that this is a Cross-Cloud Interconnect. This field specifies the
17083
+ # location outside of Google's network that the interconnect is connected to.
17084
+ # Corresponds to the JSON property `remoteLocation`
17085
+ # @return [String]
17086
+ attr_accessor :remote_location
17087
+
16834
17088
  # Target number of physical links in the link bundle, as requested by the
16835
17089
  # customer.
16836
17090
  # Corresponds to the JSON property `requestedLinkCount`
@@ -16877,6 +17131,8 @@ module Google
16877
17131
  @interconnect_attachments = args[:interconnect_attachments] if args.key?(:interconnect_attachments)
16878
17132
  @interconnect_type = args[:interconnect_type] if args.key?(:interconnect_type)
16879
17133
  @kind = args[:kind] if args.key?(:kind)
17134
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
17135
+ @labels = args[:labels] if args.key?(:labels)
16880
17136
  @link_type = args[:link_type] if args.key?(:link_type)
16881
17137
  @location = args[:location] if args.key?(:location)
16882
17138
  @name = args[:name] if args.key?(:name)
@@ -16884,6 +17140,7 @@ module Google
16884
17140
  @operational_status = args[:operational_status] if args.key?(:operational_status)
16885
17141
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
16886
17142
  @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
17143
+ @remote_location = args[:remote_location] if args.key?(:remote_location)
16887
17144
  @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
16888
17145
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16889
17146
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -16951,6 +17208,12 @@ module Google
16951
17208
  # @return [String]
16952
17209
  attr_accessor :cloud_router_ipv6_interface_id
16953
17210
 
17211
+ # [Output Only] Constraints for this attachment, if any. The attachment does not
17212
+ # work if these constraints are not met.
17213
+ # Corresponds to the JSON property `configurationConstraints`
17214
+ # @return [Google::Apis::ComputeV1::InterconnectAttachmentConfigurationConstraints]
17215
+ attr_accessor :configuration_constraints
17216
+
16954
17217
  # [Output Only] Creation timestamp in RFC3339 text format.
16955
17218
  # Corresponds to the JSON property `creationTimestamp`
16956
17219
  # @return [String]
@@ -17052,6 +17315,25 @@ module Google
17052
17315
  # @return [String]
17053
17316
  attr_accessor :kind
17054
17317
 
17318
+ # A fingerprint for the labels being applied to this InterconnectAttachment,
17319
+ # which is essentially a hash of the labels set used for optimistic locking. The
17320
+ # fingerprint is initially generated by Compute Engine and changes after every
17321
+ # request to modify or update labels. You must always provide an up-to-date
17322
+ # fingerprint hash in order to update or change labels, otherwise the request
17323
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
17324
+ # a get() request to retrieve an InterconnectAttachment.
17325
+ # Corresponds to the JSON property `labelFingerprint`
17326
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
17327
+ # @return [String]
17328
+ attr_accessor :label_fingerprint
17329
+
17330
+ # Labels for this resource. These can only be added or modified by the setLabels
17331
+ # method. Each label key/value pair must comply with RFC1035. Label values may
17332
+ # be empty.
17333
+ # Corresponds to the JSON property `labels`
17334
+ # @return [Hash<String,String>]
17335
+ attr_accessor :labels
17336
+
17055
17337
  # Maximum Transmission Unit (MTU), in bytes, of packets passing through this
17056
17338
  # interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the
17057
17339
  # value will default to 1440.
@@ -17113,6 +17395,15 @@ module Google
17113
17395
  # @return [String]
17114
17396
  attr_accessor :region
17115
17397
 
17398
+ # [Output Only] If the attachment is on a Cross-Cloud Interconnect connection,
17399
+ # this field contains the interconnect's remote location service provider.
17400
+ # Example values: "Amazon Web Services" "Microsoft Azure". The field is set only
17401
+ # for attachments on Cross-Cloud Interconnect connections. Its value is copied
17402
+ # from the InterconnectRemoteLocation remoteService field.
17403
+ # Corresponds to the JSON property `remoteService`
17404
+ # @return [String]
17405
+ attr_accessor :remote_service
17406
+
17116
17407
  # URL of the Cloud Router to be used for dynamic routing. This router must be in
17117
17408
  # the same region as this InterconnectAttachment. The InterconnectAttachment
17118
17409
  # will automatically connect the Interconnect to the network & region within
@@ -17159,6 +17450,17 @@ module Google
17159
17450
  # @return [String]
17160
17451
  attr_accessor :state
17161
17452
 
17453
+ # Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The
17454
+ # default value is 29, except for Cross-Cloud Interconnect connections that use
17455
+ # an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal
17456
+ # to 30. For example, connections that use an Azure remote location fall into
17457
+ # this category. In these cases, the default value is 30, and requesting 29
17458
+ # returns an error. Where both 29 and 30 are allowed, 29 is preferred, because
17459
+ # it gives Google Cloud Support more debugging visibility.
17460
+ # Corresponds to the JSON property `subnetLength`
17461
+ # @return [Fixnum]
17462
+ attr_accessor :subnet_length
17463
+
17162
17464
  # The type of interconnect attachment this is, which can take one of the
17163
17465
  # following values: - DEDICATED: an attachment to a Dedicated Interconnect. -
17164
17466
  # PARTNER: an attachment to a Partner Interconnect, created by the customer. -
@@ -17187,6 +17489,7 @@ module Google
17187
17489
  @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
17188
17490
  @cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
17189
17491
  @cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
17492
+ @configuration_constraints = args[:configuration_constraints] if args.key?(:configuration_constraints)
17190
17493
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
17191
17494
  @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
17192
17495
  @customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
@@ -17200,6 +17503,8 @@ module Google
17200
17503
  @interconnect = args[:interconnect] if args.key?(:interconnect)
17201
17504
  @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
17202
17505
  @kind = args[:kind] if args.key?(:kind)
17506
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
17507
+ @labels = args[:labels] if args.key?(:labels)
17203
17508
  @mtu = args[:mtu] if args.key?(:mtu)
17204
17509
  @name = args[:name] if args.key?(:name)
17205
17510
  @operational_status = args[:operational_status] if args.key?(:operational_status)
@@ -17208,11 +17513,13 @@ module Google
17208
17513
  @partner_metadata = args[:partner_metadata] if args.key?(:partner_metadata)
17209
17514
  @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
17210
17515
  @region = args[:region] if args.key?(:region)
17516
+ @remote_service = args[:remote_service] if args.key?(:remote_service)
17211
17517
  @router = args[:router] if args.key?(:router)
17212
17518
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
17213
17519
  @self_link = args[:self_link] if args.key?(:self_link)
17214
17520
  @stack_type = args[:stack_type] if args.key?(:stack_type)
17215
17521
  @state = args[:state] if args.key?(:state)
17522
+ @subnet_length = args[:subnet_length] if args.key?(:subnet_length)
17216
17523
  @type = args[:type] if args.key?(:type)
17217
17524
  @vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
17218
17525
  end
@@ -17343,6 +17650,68 @@ module Google
17343
17650
  end
17344
17651
  end
17345
17652
 
17653
+ #
17654
+ class InterconnectAttachmentConfigurationConstraints
17655
+ include Google::Apis::Core::Hashable
17656
+
17657
+ # [Output Only] Whether the attachment's BGP session requires/allows/disallows
17658
+ # BGP MD5 authentication. This can take one of the following values:
17659
+ # MD5_OPTIONAL, MD5_REQUIRED, MD5_UNSUPPORTED. For example, a Cross-Cloud
17660
+ # Interconnect connection to a remote cloud provider that requires BGP MD5
17661
+ # authentication has the interconnectRemoteLocation
17662
+ # attachment_configuration_constraints.bgp_md5 field set to MD5_REQUIRED, and
17663
+ # that property is propagated to the attachment. Similarly, if BGP MD5 is
17664
+ # MD5_UNSUPPORTED, an error is returned if MD5 is requested.
17665
+ # Corresponds to the JSON property `bgpMd5`
17666
+ # @return [String]
17667
+ attr_accessor :bgp_md5
17668
+
17669
+ # [Output Only] List of ASN ranges that the remote location is known to support.
17670
+ # Formatted as an array of inclusive ranges `min: min-value, max: max-value`.
17671
+ # For example, [`min: 123, max: 123`, `min: 64512, max: 65534`] allows the peer
17672
+ # ASN to be 123 or anything in the range 64512-65534. This field is only
17673
+ # advisory. Although the API accepts other ranges, these are the ranges that we
17674
+ # recommend.
17675
+ # Corresponds to the JSON property `bgpPeerAsnRanges`
17676
+ # @return [Array<Google::Apis::ComputeV1::InterconnectAttachmentConfigurationConstraintsBgpPeerAsnRange>]
17677
+ attr_accessor :bgp_peer_asn_ranges
17678
+
17679
+ def initialize(**args)
17680
+ update!(**args)
17681
+ end
17682
+
17683
+ # Update properties of this object
17684
+ def update!(**args)
17685
+ @bgp_md5 = args[:bgp_md5] if args.key?(:bgp_md5)
17686
+ @bgp_peer_asn_ranges = args[:bgp_peer_asn_ranges] if args.key?(:bgp_peer_asn_ranges)
17687
+ end
17688
+ end
17689
+
17690
+ #
17691
+ class InterconnectAttachmentConfigurationConstraintsBgpPeerAsnRange
17692
+ include Google::Apis::Core::Hashable
17693
+
17694
+ #
17695
+ # Corresponds to the JSON property `max`
17696
+ # @return [Fixnum]
17697
+ attr_accessor :max
17698
+
17699
+ #
17700
+ # Corresponds to the JSON property `min`
17701
+ # @return [Fixnum]
17702
+ attr_accessor :min
17703
+
17704
+ def initialize(**args)
17705
+ update!(**args)
17706
+ end
17707
+
17708
+ # Update properties of this object
17709
+ def update!(**args)
17710
+ @max = args[:max] if args.key?(:max)
17711
+ @min = args[:min] if args.key?(:min)
17712
+ end
17713
+ end
17714
+
17346
17715
  # Response to the list request, and contains a list of interconnect attachments.
17347
17716
  class InterconnectAttachmentList
17348
17717
  include Google::Apis::Core::Hashable
@@ -18313,6 +18682,371 @@ module Google
18313
18682
  end
18314
18683
  end
18315
18684
 
18685
+ # Represents a Cross-Cloud Interconnect Remote Location resource. You can use
18686
+ # this resource to find remote location details about an Interconnect attachment
18687
+ # (VLAN).
18688
+ class InterconnectRemoteLocation
18689
+ include Google::Apis::Core::Hashable
18690
+
18691
+ # [Output Only] The postal address of the Point of Presence, each line in the
18692
+ # address is separated by a newline character.
18693
+ # Corresponds to the JSON property `address`
18694
+ # @return [String]
18695
+ attr_accessor :address
18696
+
18697
+ # [Output Only] Subset of fields from InterconnectAttachment's |
18698
+ # configurationConstraints| field that apply to all attachments for this remote
18699
+ # location.
18700
+ # Corresponds to the JSON property `attachmentConfigurationConstraints`
18701
+ # @return [Google::Apis::ComputeV1::InterconnectAttachmentConfigurationConstraints]
18702
+ attr_accessor :attachment_configuration_constraints
18703
+
18704
+ # [Output Only] Metropolitan area designator that indicates which city an
18705
+ # interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands".
18706
+ # Corresponds to the JSON property `city`
18707
+ # @return [String]
18708
+ attr_accessor :city
18709
+
18710
+ # [Output Only] Constraints on the parameters for creating Cross-Cloud
18711
+ # Interconnect and associated InterconnectAttachments.
18712
+ # Corresponds to the JSON property `constraints`
18713
+ # @return [Google::Apis::ComputeV1::InterconnectRemoteLocationConstraints]
18714
+ attr_accessor :constraints
18715
+
18716
+ # [Output Only] Continent for this location, which can take one of the following
18717
+ # values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA
18718
+ # Corresponds to the JSON property `continent`
18719
+ # @return [String]
18720
+ attr_accessor :continent
18721
+
18722
+ # [Output Only] Creation timestamp in RFC3339 text format.
18723
+ # Corresponds to the JSON property `creationTimestamp`
18724
+ # @return [String]
18725
+ attr_accessor :creation_timestamp
18726
+
18727
+ # [Output Only] An optional description of the resource.
18728
+ # Corresponds to the JSON property `description`
18729
+ # @return [String]
18730
+ attr_accessor :description
18731
+
18732
+ # [Output Only] The name of the provider for this facility (e.g., EQUINIX).
18733
+ # Corresponds to the JSON property `facilityProvider`
18734
+ # @return [String]
18735
+ attr_accessor :facility_provider
18736
+
18737
+ # [Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-
18738
+ # DC1).
18739
+ # Corresponds to the JSON property `facilityProviderFacilityId`
18740
+ # @return [String]
18741
+ attr_accessor :facility_provider_facility_id
18742
+
18743
+ # [Output Only] The unique identifier for the resource. This identifier is
18744
+ # defined by the server.
18745
+ # Corresponds to the JSON property `id`
18746
+ # @return [Fixnum]
18747
+ attr_accessor :id
18748
+
18749
+ # [Output Only] Type of the resource. Always compute#interconnectRemoteLocation
18750
+ # for interconnect remote locations.
18751
+ # Corresponds to the JSON property `kind`
18752
+ # @return [String]
18753
+ attr_accessor :kind
18754
+
18755
+ # [Output Only] Link Aggregation Control Protocol (LACP) constraints, which can
18756
+ # take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED
18757
+ # Corresponds to the JSON property `lacp`
18758
+ # @return [String]
18759
+ attr_accessor :lacp
18760
+
18761
+ # [Output Only] The maximum number of 100 Gbps ports supported in a link
18762
+ # aggregation group (LAG). When linkType is 100 Gbps, requestedLinkCount cannot
18763
+ # exceed max_lag_size_100_gbps.
18764
+ # Corresponds to the JSON property `maxLagSize100Gbps`
18765
+ # @return [Fixnum]
18766
+ attr_accessor :max_lag_size100_gbps
18767
+
18768
+ # [Output Only] The maximum number of 10 Gbps ports supported in a link
18769
+ # aggregation group (LAG). When linkType is 10 Gbps, requestedLinkCount cannot
18770
+ # exceed max_lag_size_10_gbps.
18771
+ # Corresponds to the JSON property `maxLagSize10Gbps`
18772
+ # @return [Fixnum]
18773
+ attr_accessor :max_lag_size10_gbps
18774
+
18775
+ # [Output Only] Name of the resource.
18776
+ # Corresponds to the JSON property `name`
18777
+ # @return [String]
18778
+ attr_accessor :name
18779
+
18780
+ # [Output Only] The peeringdb identifier for this facility (corresponding with a
18781
+ # netfac type in peeringdb).
18782
+ # Corresponds to the JSON property `peeringdbFacilityId`
18783
+ # @return [String]
18784
+ attr_accessor :peeringdb_facility_id
18785
+
18786
+ # [Output Only] Permitted connections.
18787
+ # Corresponds to the JSON property `permittedConnections`
18788
+ # @return [Array<Google::Apis::ComputeV1::InterconnectRemoteLocationPermittedConnections>]
18789
+ attr_accessor :permitted_connections
18790
+
18791
+ # [Output Only] Indicates the service provider present at the remote location.
18792
+ # Example values: "Amazon Web Services", "Microsoft Azure".
18793
+ # Corresponds to the JSON property `remoteService`
18794
+ # @return [String]
18795
+ attr_accessor :remote_service
18796
+
18797
+ # [Output Only] Server-defined URL for the resource.
18798
+ # Corresponds to the JSON property `selfLink`
18799
+ # @return [String]
18800
+ attr_accessor :self_link
18801
+
18802
+ # [Output Only] The status of this InterconnectRemoteLocation, which can take
18803
+ # one of the following values: - CLOSED: The InterconnectRemoteLocation is
18804
+ # closed and is unavailable for provisioning new Cross-Cloud Interconnects. -
18805
+ # AVAILABLE: The InterconnectRemoteLocation is available for provisioning new
18806
+ # Cross-Cloud Interconnects.
18807
+ # Corresponds to the JSON property `status`
18808
+ # @return [String]
18809
+ attr_accessor :status
18810
+
18811
+ def initialize(**args)
18812
+ update!(**args)
18813
+ end
18814
+
18815
+ # Update properties of this object
18816
+ def update!(**args)
18817
+ @address = args[:address] if args.key?(:address)
18818
+ @attachment_configuration_constraints = args[:attachment_configuration_constraints] if args.key?(:attachment_configuration_constraints)
18819
+ @city = args[:city] if args.key?(:city)
18820
+ @constraints = args[:constraints] if args.key?(:constraints)
18821
+ @continent = args[:continent] if args.key?(:continent)
18822
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18823
+ @description = args[:description] if args.key?(:description)
18824
+ @facility_provider = args[:facility_provider] if args.key?(:facility_provider)
18825
+ @facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id)
18826
+ @id = args[:id] if args.key?(:id)
18827
+ @kind = args[:kind] if args.key?(:kind)
18828
+ @lacp = args[:lacp] if args.key?(:lacp)
18829
+ @max_lag_size100_gbps = args[:max_lag_size100_gbps] if args.key?(:max_lag_size100_gbps)
18830
+ @max_lag_size10_gbps = args[:max_lag_size10_gbps] if args.key?(:max_lag_size10_gbps)
18831
+ @name = args[:name] if args.key?(:name)
18832
+ @peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id)
18833
+ @permitted_connections = args[:permitted_connections] if args.key?(:permitted_connections)
18834
+ @remote_service = args[:remote_service] if args.key?(:remote_service)
18835
+ @self_link = args[:self_link] if args.key?(:self_link)
18836
+ @status = args[:status] if args.key?(:status)
18837
+ end
18838
+ end
18839
+
18840
+ #
18841
+ class InterconnectRemoteLocationConstraints
18842
+ include Google::Apis::Core::Hashable
18843
+
18844
+ # [Output Only] Port pair remote location constraints, which can take one of the
18845
+ # following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION,
18846
+ # PORT_PAIR_MATCHING_REMOTE_LOCATION. GCP's API refers only to individual ports,
18847
+ # but the UI uses this field when ordering a pair of ports, to prevent users
18848
+ # from accidentally ordering something that is incompatible with their cloud
18849
+ # provider. Specifically, when ordering a redundant pair of Cross-Cloud
18850
+ # Interconnect ports, and one of them uses a remote location with
18851
+ # portPairMatchingRemoteLocation set to matching, the UI requires that both
18852
+ # ports use the same remote location.
18853
+ # Corresponds to the JSON property `portPairRemoteLocation`
18854
+ # @return [String]
18855
+ attr_accessor :port_pair_remote_location
18856
+
18857
+ # [Output Only] Port pair VLAN constraints, which can take one of the following
18858
+ # values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN
18859
+ # Corresponds to the JSON property `portPairVlan`
18860
+ # @return [String]
18861
+ attr_accessor :port_pair_vlan
18862
+
18863
+ # [Output Only] [min-length, max-length] The minimum and maximum value (
18864
+ # inclusive) for the IPv4 subnet length. For example, an
18865
+ # interconnectRemoteLocation for Azure has `min: 30, max: 30` because Azure
18866
+ # requires /30 subnets. This range specifies the values supported by both cloud
18867
+ # providers. Interconnect currently supports /29 and /30 IPv4 subnet lengths. If
18868
+ # a remote cloud has no constraint on IPv4 subnet length, the range would thus
18869
+ # be `min: 29, max: 30`.
18870
+ # Corresponds to the JSON property `subnetLengthRange`
18871
+ # @return [Google::Apis::ComputeV1::InterconnectRemoteLocationConstraintsSubnetLengthRange]
18872
+ attr_accessor :subnet_length_range
18873
+
18874
+ def initialize(**args)
18875
+ update!(**args)
18876
+ end
18877
+
18878
+ # Update properties of this object
18879
+ def update!(**args)
18880
+ @port_pair_remote_location = args[:port_pair_remote_location] if args.key?(:port_pair_remote_location)
18881
+ @port_pair_vlan = args[:port_pair_vlan] if args.key?(:port_pair_vlan)
18882
+ @subnet_length_range = args[:subnet_length_range] if args.key?(:subnet_length_range)
18883
+ end
18884
+ end
18885
+
18886
+ #
18887
+ class InterconnectRemoteLocationConstraintsSubnetLengthRange
18888
+ include Google::Apis::Core::Hashable
18889
+
18890
+ #
18891
+ # Corresponds to the JSON property `max`
18892
+ # @return [Fixnum]
18893
+ attr_accessor :max
18894
+
18895
+ #
18896
+ # Corresponds to the JSON property `min`
18897
+ # @return [Fixnum]
18898
+ attr_accessor :min
18899
+
18900
+ def initialize(**args)
18901
+ update!(**args)
18902
+ end
18903
+
18904
+ # Update properties of this object
18905
+ def update!(**args)
18906
+ @max = args[:max] if args.key?(:max)
18907
+ @min = args[:min] if args.key?(:min)
18908
+ end
18909
+ end
18910
+
18911
+ # Response to the list request, and contains a list of interconnect remote
18912
+ # locations.
18913
+ class InterconnectRemoteLocationList
18914
+ include Google::Apis::Core::Hashable
18915
+
18916
+ # [Output Only] Unique identifier for the resource; defined by the server.
18917
+ # Corresponds to the JSON property `id`
18918
+ # @return [String]
18919
+ attr_accessor :id
18920
+
18921
+ # A list of InterconnectRemoteLocation resources.
18922
+ # Corresponds to the JSON property `items`
18923
+ # @return [Array<Google::Apis::ComputeV1::InterconnectRemoteLocation>]
18924
+ attr_accessor :items
18925
+
18926
+ # [Output Only] Type of resource. Always compute#interconnectRemoteLocationList
18927
+ # for lists of interconnect remote locations.
18928
+ # Corresponds to the JSON property `kind`
18929
+ # @return [String]
18930
+ attr_accessor :kind
18931
+
18932
+ # [Output Only] This token lets you get the next page of results for list
18933
+ # requests. If the number of results is larger than maxResults, use the
18934
+ # nextPageToken as a value for the query parameter pageToken in the next list
18935
+ # request. Subsequent list requests will have their own nextPageToken to
18936
+ # continue paging through the results.
18937
+ # Corresponds to the JSON property `nextPageToken`
18938
+ # @return [String]
18939
+ attr_accessor :next_page_token
18940
+
18941
+ # [Output Only] Server-defined URL for this resource.
18942
+ # Corresponds to the JSON property `selfLink`
18943
+ # @return [String]
18944
+ attr_accessor :self_link
18945
+
18946
+ # [Output Only] Informational warning message.
18947
+ # Corresponds to the JSON property `warning`
18948
+ # @return [Google::Apis::ComputeV1::InterconnectRemoteLocationList::Warning]
18949
+ attr_accessor :warning
18950
+
18951
+ def initialize(**args)
18952
+ update!(**args)
18953
+ end
18954
+
18955
+ # Update properties of this object
18956
+ def update!(**args)
18957
+ @id = args[:id] if args.key?(:id)
18958
+ @items = args[:items] if args.key?(:items)
18959
+ @kind = args[:kind] if args.key?(:kind)
18960
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18961
+ @self_link = args[:self_link] if args.key?(:self_link)
18962
+ @warning = args[:warning] if args.key?(:warning)
18963
+ end
18964
+
18965
+ # [Output Only] Informational warning message.
18966
+ class Warning
18967
+ include Google::Apis::Core::Hashable
18968
+
18969
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18970
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18971
+ # Corresponds to the JSON property `code`
18972
+ # @return [String]
18973
+ attr_accessor :code
18974
+
18975
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18976
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18977
+ # Corresponds to the JSON property `data`
18978
+ # @return [Array<Google::Apis::ComputeV1::InterconnectRemoteLocationList::Warning::Datum>]
18979
+ attr_accessor :data
18980
+
18981
+ # [Output Only] A human-readable description of the warning code.
18982
+ # Corresponds to the JSON property `message`
18983
+ # @return [String]
18984
+ attr_accessor :message
18985
+
18986
+ def initialize(**args)
18987
+ update!(**args)
18988
+ end
18989
+
18990
+ # Update properties of this object
18991
+ def update!(**args)
18992
+ @code = args[:code] if args.key?(:code)
18993
+ @data = args[:data] if args.key?(:data)
18994
+ @message = args[:message] if args.key?(:message)
18995
+ end
18996
+
18997
+ #
18998
+ class Datum
18999
+ include Google::Apis::Core::Hashable
19000
+
19001
+ # [Output Only] A key that provides more detail on the warning being returned.
19002
+ # For example, for warnings where there are no results in a list request for a
19003
+ # particular zone, this key might be scope and the key value might be the zone
19004
+ # name. Other examples might be a key indicating a deprecated resource and a
19005
+ # suggested replacement, or a warning about invalid network settings (for
19006
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19007
+ # for IP forwarding).
19008
+ # Corresponds to the JSON property `key`
19009
+ # @return [String]
19010
+ attr_accessor :key
19011
+
19012
+ # [Output Only] A warning data value corresponding to the key.
19013
+ # Corresponds to the JSON property `value`
19014
+ # @return [String]
19015
+ attr_accessor :value
19016
+
19017
+ def initialize(**args)
19018
+ update!(**args)
19019
+ end
19020
+
19021
+ # Update properties of this object
19022
+ def update!(**args)
19023
+ @key = args[:key] if args.key?(:key)
19024
+ @value = args[:value] if args.key?(:value)
19025
+ end
19026
+ end
19027
+ end
19028
+ end
19029
+
19030
+ #
19031
+ class InterconnectRemoteLocationPermittedConnections
19032
+ include Google::Apis::Core::Hashable
19033
+
19034
+ # [Output Only] URL of an Interconnect location that is permitted to connect to
19035
+ # this Interconnect remote location.
19036
+ # Corresponds to the JSON property `interconnectLocation`
19037
+ # @return [String]
19038
+ attr_accessor :interconnect_location
19039
+
19040
+ def initialize(**args)
19041
+ update!(**args)
19042
+ end
19043
+
19044
+ # Update properties of this object
19045
+ def update!(**args)
19046
+ @interconnect_location = args[:interconnect_location] if args.key?(:interconnect_location)
19047
+ end
19048
+ end
19049
+
18316
19050
  # Response for the InterconnectsGetDiagnosticsRequest.
18317
19051
  class InterconnectsGetDiagnosticsResponse
18318
19052
  include Google::Apis::Core::Hashable
@@ -19341,7 +20075,7 @@ module Google
19341
20075
  # @return [Fixnum]
19342
20076
  attr_accessor :guest_accelerator_count
19343
20077
 
19344
- # The accelerator type resource name, not a full URL, e.g. 'nvidia-tesla-k80'.
20078
+ # The accelerator type resource name, not a full URL, e.g. nvidia-tesla-t4.
19345
20079
  # Corresponds to the JSON property `guestAcceleratorType`
19346
20080
  # @return [String]
19347
20081
  attr_accessor :guest_accelerator_type
@@ -20325,9 +21059,9 @@ module Google
20325
21059
  # @return [String]
20326
21060
  attr_accessor :description
20327
21061
 
20328
- # [Output Only] Fingerprint of this resource. A hash of the contents stored in
20329
- # this object. This field is used in optimistic locking. An up-to-date
20330
- # fingerprint must be provided in order to patch.
21062
+ # Fingerprint of this resource. A hash of the contents stored in this object.
21063
+ # This field is used in optimistic locking. An up-to-date fingerprint must be
21064
+ # provided in order to patch.
20331
21065
  # Corresponds to the JSON property `fingerprint`
20332
21066
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
20333
21067
  # @return [String]
@@ -20355,6 +21089,10 @@ module Google
20355
21089
  attr_accessor :name
20356
21090
 
20357
21091
  # [Output Only] The URL of the network which the Network Attachment belongs to.
21092
+ # Practically it is inferred by fetching the network of the first subnetwork
21093
+ # associated. Because it is required that all the subnetworks must be from the
21094
+ # same network, it is assured that the Network Attachment belongs to the same
21095
+ # network as all the subnetworks.
20358
21096
  # Corresponds to the JSON property `network`
20359
21097
  # @return [String]
20360
21098
  attr_accessor :network
@@ -27627,6 +28365,37 @@ module Google
27627
28365
  end
27628
28366
  end
27629
28367
 
28368
+ #
28369
+ class RegionAddressesMoveRequest
28370
+ include Google::Apis::Core::Hashable
28371
+
28372
+ # An optional destination address description if intended to be different from
28373
+ # the source.
28374
+ # Corresponds to the JSON property `description`
28375
+ # @return [String]
28376
+ attr_accessor :description
28377
+
28378
+ # The URL of the destination address to move to. This can be a full or partial
28379
+ # URL. For example, the following are all valid URLs to a address: - https://www.
28380
+ # googleapis.com/compute/v1/projects/project/regions/region /addresses/address -
28381
+ # projects/project/regions/region/addresses/address Note that destination
28382
+ # project must be different from the source project. So /regions/region/
28383
+ # addresses/address is not valid partial url.
28384
+ # Corresponds to the JSON property `destinationAddress`
28385
+ # @return [String]
28386
+ attr_accessor :destination_address
28387
+
28388
+ def initialize(**args)
28389
+ update!(**args)
28390
+ end
28391
+
28392
+ # Update properties of this object
28393
+ def update!(**args)
28394
+ @description = args[:description] if args.key?(:description)
28395
+ @destination_address = args[:destination_address] if args.key?(:destination_address)
28396
+ end
28397
+ end
28398
+
27630
28399
  # Contains a list of autoscalers.
27631
28400
  class RegionAutoscalerList
27632
28401
  include Google::Apis::Core::Hashable
@@ -31768,9 +32537,8 @@ module Google
31768
32537
  # ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list
31769
32538
  # of Subnetworks are allowed to Nat (specified in the field subnetwork below)
31770
32539
  # The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if
31771
- # this field contains ALL_SUBNETWORKS_ALL_IP_RANGES or
31772
- # ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other
31773
- # Router.Nat section in any Router for this network in this region.
32540
+ # this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any
32541
+ # other Router.Nat section in any Router for this network in this region.
31774
32542
  # Corresponds to the JSON property `sourceSubnetworkIpRangesToNat`
31775
32543
  # @return [String]
31776
32544
  attr_accessor :source_subnetwork_ip_ranges_to_nat
@@ -33175,6 +33943,24 @@ module Google
33175
33943
  # @return [String]
33176
33944
  attr_accessor :kind
33177
33945
 
33946
+ # A fingerprint for the labels being applied to this security policy, which is
33947
+ # essentially a hash of the labels set used for optimistic locking. The
33948
+ # fingerprint is initially generated by Compute Engine and changes after every
33949
+ # request to modify or update labels. You must always provide an up-to-date
33950
+ # fingerprint hash in order to update or change labels. To see the latest
33951
+ # fingerprint, make get() request to the security policy.
33952
+ # Corresponds to the JSON property `labelFingerprint`
33953
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
33954
+ # @return [String]
33955
+ attr_accessor :label_fingerprint
33956
+
33957
+ # Labels for this resource. These can only be added or modified by the setLabels
33958
+ # method. Each label key/value pair must comply with RFC1035. Label values may
33959
+ # be empty.
33960
+ # Corresponds to the JSON property `labels`
33961
+ # @return [Hash<String,String>]
33962
+ attr_accessor :labels
33963
+
33178
33964
  # Name of the resource. Provided by the client when the resource is created. The
33179
33965
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
33180
33966
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -33244,6 +34030,8 @@ module Google
33244
34030
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
33245
34031
  @id = args[:id] if args.key?(:id)
33246
34032
  @kind = args[:kind] if args.key?(:kind)
34033
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
34034
+ @labels = args[:labels] if args.key?(:labels)
33247
34035
  @name = args[:name] if args.key?(:name)
33248
34036
  @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
33249
34037
  @region = args[:region] if args.key?(:region)
@@ -34287,6 +35075,20 @@ module Google
34287
35075
  # @return [Google::Apis::ComputeV1::Uint128]
34288
35076
  attr_accessor :psc_service_attachment_id
34289
35077
 
35078
+ # This flag determines whether a consumer accept/reject list change can
35079
+ # reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints. - If
35080
+ # false, connection policy update will only affect existing PENDING PSC
35081
+ # endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched
35082
+ # regardless how the connection policy is modified . - If true, update will
35083
+ # affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an
35084
+ # ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the
35085
+ # reject list. For newly created service attachment, this boolean defaults to
35086
+ # true.
35087
+ # Corresponds to the JSON property `reconcileConnections`
35088
+ # @return [Boolean]
35089
+ attr_accessor :reconcile_connections
35090
+ alias_method :reconcile_connections?, :reconcile_connections
35091
+
34290
35092
  # [Output Only] URL of the region where the service attachment resides. This
34291
35093
  # field applies only to the region resource. You must specify this field as part
34292
35094
  # of the HTTP request URL. It is not settable as a field in the request body.
@@ -34326,6 +35128,7 @@ module Google
34326
35128
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
34327
35129
  @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
34328
35130
  @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
35131
+ @reconcile_connections = args[:reconcile_connections] if args.key?(:reconcile_connections)
34329
35132
  @region = args[:region] if args.key?(:region)
34330
35133
  @self_link = args[:self_link] if args.key?(:self_link)
34331
35134
  @target_service = args[:target_service] if args.key?(:target_service)
@@ -36594,8 +37397,8 @@ module Google
36594
37397
  # Whether to enable flow logging for this subnetwork. If this field is not
36595
37398
  # explicitly set, it will not appear in get listings. If not set the default
36596
37399
  # behavior is determined by the org policy, if there is no org policy specified,
36597
- # then it will default to disabled. This field isn't supported with the purpose
36598
- # field set to INTERNAL_HTTPS_LOAD_BALANCER.
37400
+ # then it will default to disabled. This field isn't supported if the subnet
37401
+ # purpose field is set to REGIONAL_MANAGED_PROXY.
36599
37402
  # Corresponds to the JSON property `enableFlowLogs`
36600
37403
  # @return [Boolean]
36601
37404
  attr_accessor :enable_flow_logs
@@ -36699,12 +37502,19 @@ module Google
36699
37502
  # @return [String]
36700
37503
  attr_accessor :private_ipv6_google_access
36701
37504
 
36702
- # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or
36703
- # INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to
36704
- # INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for
36705
- # Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to
36706
- # PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose
36707
- # field set to INTERNAL_HTTPS_LOAD_BALANCER.
37505
+ # The purpose of the resource. This field can be either PRIVATE,
37506
+ # REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
37507
+ # INTERNAL_HTTPS_LOAD_BALANCER. PRIVATE is the default purpose for user-created
37508
+ # subnets or subnets that are automatically created in auto mode networks. A
37509
+ # subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork
37510
+ # that is reserved for regional Envoy-based load balancers. A subnet with
37511
+ # purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using
37512
+ # Private Service Connect. A subnet with purpose set to
37513
+ # INTERNAL_HTTPS_LOAD_BALANCER is a proxy-only subnet that can be used only by
37514
+ # regional internal HTTP(S) load balancers. Note that REGIONAL_MANAGED_PROXY is
37515
+ # the preferred setting for all regional Envoy load balancers. If unspecified,
37516
+ # the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't
37517
+ # supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
36708
37518
  # Corresponds to the JSON property `purpose`
36709
37519
  # @return [String]
36710
37520
  attr_accessor :purpose
@@ -36716,11 +37526,10 @@ module Google
36716
37526
  attr_accessor :region
36717
37527
 
36718
37528
  # The role of subnetwork. Currently, this field is only used when purpose =
36719
- # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An
36720
- # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S)
36721
- # Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to
36722
- # ACTIVE or is currently draining. This field can be updated with a patch
36723
- # request.
37529
+ # REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE
37530
+ # subnetwork is one that is currently being used for Envoy-based load balancers
37531
+ # in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE
37532
+ # or is currently draining. This field can be updated with a patch request.
36724
37533
  # Corresponds to the JSON property `role`
36725
37534
  # @return [String]
36726
37535
  attr_accessor :role
@@ -37046,7 +37855,8 @@ module Google
37046
37855
  # Whether to enable flow logging for this subnetwork. If this field is not
37047
37856
  # explicitly set, it will not appear in get listings. If not set the default
37048
37857
  # behavior is determined by the org policy, if there is no org policy specified,
37049
- # then it will default to disabled.
37858
+ # then it will default to disabled. Flow logging isn't supported if the subnet
37859
+ # purpose field is set to REGIONAL_MANAGED_PROXY.
37050
37860
  # Corresponds to the JSON property `enable`
37051
37861
  # @return [Boolean]
37052
37862
  attr_accessor :enable
@@ -38065,7 +38875,9 @@ module Google
38065
38875
  class TargetHttpsProxiesSetCertificateMapRequest
38066
38876
  include Google::Apis::Core::Hashable
38067
38877
 
38068
- # URL of the Certificate Map to associate with this TargetHttpsProxy.
38878
+ # URL of the Certificate Map to associate with this TargetHttpsProxy. Accepted
38879
+ # format is //certificatemanager.googleapis.com/projects/`project `/locations/`
38880
+ # location`/certificateMaps/`resourceName`.
38069
38881
  # Corresponds to the JSON property `certificateMap`
38070
38882
  # @return [String]
38071
38883
  attr_accessor :certificate_map
@@ -38145,7 +38957,9 @@ module Google
38145
38957
 
38146
38958
  # URL of a certificate map that identifies a certificate map associated with the
38147
38959
  # given target proxy. This field can only be set for global target proxies. If
38148
- # set, sslCertificates will be ignored.
38960
+ # set, sslCertificates will be ignored. Accepted format is //certificatemanager.
38961
+ # googleapis.com/projects/`project `/locations/`location`/certificateMaps/`
38962
+ # resourceName`.
38149
38963
  # Corresponds to the JSON property `certificateMap`
38150
38964
  # @return [String]
38151
38965
  attr_accessor :certificate_map
@@ -39566,7 +40380,9 @@ module Google
39566
40380
  class TargetSslProxiesSetCertificateMapRequest
39567
40381
  include Google::Apis::Core::Hashable
39568
40382
 
39569
- # URL of the Certificate Map to associate with this TargetSslProxy.
40383
+ # URL of the Certificate Map to associate with this TargetSslProxy. Accepted
40384
+ # format is //certificatemanager.googleapis.com/projects/`project `/locations/`
40385
+ # location`/certificateMaps/`resourceName`.
39570
40386
  # Corresponds to the JSON property `certificateMap`
39571
40387
  # @return [String]
39572
40388
  attr_accessor :certificate_map
@@ -39631,7 +40447,9 @@ module Google
39631
40447
 
39632
40448
  # URL of a certificate map that identifies a certificate map associated with the
39633
40449
  # given target proxy. This field can only be set for global target proxies. If
39634
- # set, sslCertificates will be ignored.
40450
+ # set, sslCertificates will be ignored. Accepted format is //certificatemanager.
40451
+ # googleapis.com/projects/`project `/locations/`location`/certificateMaps/`
40452
+ # resourceName`.
39635
40453
  # Corresponds to the JSON property `certificateMap`
39636
40454
  # @return [String]
39637
40455
  attr_accessor :certificate_map
@@ -40338,6 +41156,25 @@ module Google
40338
41156
  # @return [String]
40339
41157
  attr_accessor :kind
40340
41158
 
41159
+ # A fingerprint for the labels being applied to this TargetVpnGateway, which is
41160
+ # essentially a hash of the labels set used for optimistic locking. The
41161
+ # fingerprint is initially generated by Compute Engine and changes after every
41162
+ # request to modify or update labels. You must always provide an up-to-date
41163
+ # fingerprint hash in order to update or change labels, otherwise the request
41164
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
41165
+ # a get() request to retrieve a TargetVpnGateway.
41166
+ # Corresponds to the JSON property `labelFingerprint`
41167
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
41168
+ # @return [String]
41169
+ attr_accessor :label_fingerprint
41170
+
41171
+ # Labels for this resource. These can only be added or modified by the setLabels
41172
+ # method. Each label key/value pair must comply with RFC1035. Label values may
41173
+ # be empty.
41174
+ # Corresponds to the JSON property `labels`
41175
+ # @return [Hash<String,String>]
41176
+ attr_accessor :labels
41177
+
40341
41178
  # Name of the resource. Provided by the client when the resource is created. The
40342
41179
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
40343
41180
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -40389,6 +41226,8 @@ module Google
40389
41226
  @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
40390
41227
  @id = args[:id] if args.key?(:id)
40391
41228
  @kind = args[:kind] if args.key?(:kind)
41229
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
41230
+ @labels = args[:labels] if args.key?(:labels)
40392
41231
  @name = args[:name] if args.key?(:name)
40393
41232
  @network = args[:network] if args.key?(:network)
40394
41233
  @region = args[:region] if args.key?(:region)
@@ -41596,6 +42435,22 @@ module Google
41596
42435
  # @return [String]
41597
42436
  attr_accessor :path_prefix_rewrite
41598
42437
 
42438
+ # If specified, the pattern rewrites the URL path (based on the :path header)
42439
+ # using the HTTP template syntax. A corresponding path_template_match must be
42440
+ # specified. Any template variables must exist in the path_template_match field.
42441
+ # - -At least one variable must be specified in the path_template_match field -
42442
+ # You can omit variables from the rewritten URL - The * and ** operators cannot
42443
+ # be matched unless they have a corresponding variable name - e.g. `format=*` or
42444
+ # `var=**`. For example, a path_template_match of /static/`format=**` could be
42445
+ # rewritten as /static/content/`format` to prefix /content to the URL. Variables
42446
+ # can also be re-ordered in a rewrite, so that /`country`/`format`/`suffix=**`
42447
+ # can be rewritten as /content/`format`/`country`/`suffix`. At least one non-
42448
+ # empty routeRules[].matchRules[].path_template_match is required. Only one of
42449
+ # path_prefix_rewrite or path_template_rewrite may be specified.
42450
+ # Corresponds to the JSON property `pathTemplateRewrite`
42451
+ # @return [String]
42452
+ attr_accessor :path_template_rewrite
42453
+
41599
42454
  def initialize(**args)
41600
42455
  update!(**args)
41601
42456
  end
@@ -41604,6 +42459,7 @@ module Google
41604
42459
  def update!(**args)
41605
42460
  @host_rewrite = args[:host_rewrite] if args.key?(:host_rewrite)
41606
42461
  @path_prefix_rewrite = args[:path_prefix_rewrite] if args.key?(:path_prefix_rewrite)
42462
+ @path_template_rewrite = args[:path_template_rewrite] if args.key?(:path_template_rewrite)
41607
42463
  end
41608
42464
  end
41609
42465
 
@@ -41640,22 +42496,28 @@ module Google
41640
42496
  # @return [String]
41641
42497
  attr_accessor :network
41642
42498
 
41643
- # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or
41644
- # INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to
41645
- # INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for
41646
- # Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to
41647
- # PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose
41648
- # field set to INTERNAL_HTTPS_LOAD_BALANCER.
42499
+ # The purpose of the resource. This field can be either PRIVATE,
42500
+ # REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
42501
+ # INTERNAL_HTTPS_LOAD_BALANCER. PRIVATE is the default purpose for user-created
42502
+ # subnets or subnets that are automatically created in auto mode networks. A
42503
+ # subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork
42504
+ # that is reserved for regional Envoy-based load balancers. A subnet with
42505
+ # purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using
42506
+ # Private Service Connect. A subnet with purpose set to
42507
+ # INTERNAL_HTTPS_LOAD_BALANCER is a proxy-only subnet that can be used only by
42508
+ # regional internal HTTP(S) load balancers. Note that REGIONAL_MANAGED_PROXY is
42509
+ # the preferred setting for all regional Envoy load balancers. If unspecified,
42510
+ # the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't
42511
+ # supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
41649
42512
  # Corresponds to the JSON property `purpose`
41650
42513
  # @return [String]
41651
42514
  attr_accessor :purpose
41652
42515
 
41653
42516
  # The role of subnetwork. Currently, this field is only used when purpose =
41654
- # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An
41655
- # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S)
41656
- # Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to
41657
- # ACTIVE or is currently draining. This field can be updated with a patch
41658
- # request.
42517
+ # REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE
42518
+ # subnetwork is one that is currently being used for Envoy-based load balancers
42519
+ # in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE
42520
+ # or is currently draining. This field can be updated with a patch request.
41659
42521
  # Corresponds to the JSON property `role`
41660
42522
  # @return [String]
41661
42523
  attr_accessor :role
@@ -42541,7 +43403,7 @@ module Google
42541
43403
  attr_accessor :local_gateway_interface
42542
43404
 
42543
43405
  # The peer gateway interface this VPN tunnel is connected to, the peer gateway
42544
- # could either be an external VPN gateway or GCP VPN gateway.
43406
+ # could either be an external VPN gateway or a Google Cloud VPN gateway.
42545
43407
  # Corresponds to the JSON property `peerGatewayInterface`
42546
43408
  # @return [Fixnum]
42547
43409
  attr_accessor :peer_gateway_interface
@@ -42564,8 +43426,8 @@ module Google
42564
43426
  end
42565
43427
 
42566
43428
  # A VPN connection contains all VPN tunnels connected from this VpnGateway to
42567
- # the same peer gateway. The peer gateway could either be a external VPN gateway
42568
- # or GCP VPN gateway.
43429
+ # the same peer gateway. The peer gateway could either be an external VPN
43430
+ # gateway or a Google Cloud VPN gateway.
42569
43431
  class VpnGatewayStatusVpnConnection
42570
43432
  include Google::Apis::Core::Hashable
42571
43433
 
@@ -42798,6 +43660,25 @@ module Google
42798
43660
  # @return [String]
42799
43661
  attr_accessor :kind
42800
43662
 
43663
+ # A fingerprint for the labels being applied to this VpnTunnel, which is
43664
+ # essentially a hash of the labels set used for optimistic locking. The
43665
+ # fingerprint is initially generated by Compute Engine and changes after every
43666
+ # request to modify or update labels. You must always provide an up-to-date
43667
+ # fingerprint hash in order to update or change labels, otherwise the request
43668
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
43669
+ # a get() request to retrieve a VpnTunnel.
43670
+ # Corresponds to the JSON property `labelFingerprint`
43671
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
43672
+ # @return [String]
43673
+ attr_accessor :label_fingerprint
43674
+
43675
+ # Labels for this resource. These can only be added or modified by the setLabels
43676
+ # method. Each label key/value pair must comply with RFC1035. Label values may
43677
+ # be empty.
43678
+ # Corresponds to the JSON property `labels`
43679
+ # @return [Hash<String,String>]
43680
+ attr_accessor :labels
43681
+
42801
43682
  # Local traffic selector to use when establishing the VPN tunnel with the peer
42802
43683
  # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
42803
43684
  # 0.0/16. The ranges must be disjoint. Only IPv4 is supported.
@@ -42933,6 +43814,8 @@ module Google
42933
43814
  @id = args[:id] if args.key?(:id)
42934
43815
  @ike_version = args[:ike_version] if args.key?(:ike_version)
42935
43816
  @kind = args[:kind] if args.key?(:kind)
43817
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
43818
+ @labels = args[:labels] if args.key?(:labels)
42936
43819
  @local_traffic_selector = args[:local_traffic_selector] if args.key?(:local_traffic_selector)
42937
43820
  @name = args[:name] if args.key?(:name)
42938
43821
  @peer_external_gateway = args[:peer_external_gateway] if args.key?(:peer_external_gateway)