google-apis-compute_v1 0.66.0 → 0.67.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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)