google-apis-compute_v1 0.65.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/google/apis/compute_v1/classes.rb +1148 -182
- data/lib/google/apis/compute_v1/gem_version.rb +2 -2
- data/lib/google/apis/compute_v1/representations.rb +293 -0
- data/lib/google/apis/compute_v1/service.rb +480 -2
- metadata +3 -3
@@ -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,21 @@ 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
|
+
|
1557
|
+
# Required for each regional disk associated with the instance. Specify the URLs
|
1558
|
+
# of the zones where the disk should be replicated to. You must provide exactly
|
1559
|
+
# two replica zones, and one zone must be the same as the instance zone. You can'
|
1560
|
+
# t use this option with boot disks.
|
1561
|
+
# Corresponds to the JSON property `replicaZones`
|
1562
|
+
# @return [Array<String>]
|
1563
|
+
attr_accessor :replica_zones
|
1564
|
+
|
1529
1565
|
# Resource manager tags to be bound to the disk. Tag keys and values have the
|
1530
1566
|
# same definition as resource manager tags. Keys must be in the format `tagKeys/`
|
1531
1567
|
# tag_key_id``, and values are in the format `tagValues/456`. The field is
|
@@ -1597,6 +1633,8 @@ module Google
|
|
1597
1633
|
@licenses = args[:licenses] if args.key?(:licenses)
|
1598
1634
|
@on_update_action = args[:on_update_action] if args.key?(:on_update_action)
|
1599
1635
|
@provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
|
1636
|
+
@provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput)
|
1637
|
+
@replica_zones = args[:replica_zones] if args.key?(:replica_zones)
|
1600
1638
|
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
1601
1639
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
1602
1640
|
@source_image = args[:source_image] if args.key?(:source_image)
|
@@ -3319,6 +3357,12 @@ module Google
|
|
3319
3357
|
# @return [Google::Apis::ComputeV1::Duration]
|
3320
3358
|
attr_accessor :max_stream_duration
|
3321
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
|
+
|
3322
3366
|
# Name of the resource. Provided by the client when the resource is created. The
|
3323
3367
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
3324
3368
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
@@ -3458,6 +3502,7 @@ module Google
|
|
3458
3502
|
@locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
|
3459
3503
|
@log_config = args[:log_config] if args.key?(:log_config)
|
3460
3504
|
@max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
|
3505
|
+
@metadatas = args[:metadatas] if args.key?(:metadatas)
|
3461
3506
|
@name = args[:name] if args.key?(:name)
|
3462
3507
|
@network = args[:network] if args.key?(:network)
|
3463
3508
|
@outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
|
@@ -5049,7 +5094,7 @@ module Google
|
|
5049
5094
|
# @return [String]
|
5050
5095
|
attr_accessor :self_link
|
5051
5096
|
|
5052
|
-
# Source commitment to be
|
5097
|
+
# Source commitment to be split into a new commitment.
|
5053
5098
|
# Corresponds to the JSON property `splitSourceCommitment`
|
5054
5099
|
# @return [String]
|
5055
5100
|
attr_accessor :split_source_commitment
|
@@ -5832,6 +5877,16 @@ module Google
|
|
5832
5877
|
# @return [String]
|
5833
5878
|
attr_accessor :architecture
|
5834
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
|
+
|
5835
5890
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
5836
5891
|
# Corresponds to the JSON property `creationTimestamp`
|
5837
5892
|
# @return [String]
|
@@ -5958,6 +6013,13 @@ module Google
|
|
5958
6013
|
# @return [Fixnum]
|
5959
6014
|
attr_accessor :provisioned_iops
|
5960
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
|
+
|
5961
6023
|
# [Output Only] URL of the region where the disk resides. Only applicable for
|
5962
6024
|
# regional resources. You must specify this field as part of the HTTP request
|
5963
6025
|
# URL. It is not settable as a field in the request body.
|
@@ -5976,6 +6038,11 @@ module Google
|
|
5976
6038
|
# @return [Array<String>]
|
5977
6039
|
attr_accessor :resource_policies
|
5978
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
|
+
|
5979
6046
|
# [Output Only] Reserved for future use.
|
5980
6047
|
# Corresponds to the JSON property `satisfiesPzs`
|
5981
6048
|
# @return [Boolean]
|
@@ -5996,6 +6063,18 @@ module Google
|
|
5996
6063
|
# @return [Fixnum]
|
5997
6064
|
attr_accessor :size_gb
|
5998
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
|
+
|
5999
6078
|
# The source disk used to create this disk. You can provide this as a partial or
|
6000
6079
|
# full URL to the resource. For example, the following are valid values: - https:
|
6001
6080
|
# //www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk -
|
@@ -6113,6 +6192,8 @@ module Google
|
|
6113
6192
|
# Update properties of this object
|
6114
6193
|
def update!(**args)
|
6115
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)
|
6116
6197
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
6117
6198
|
@description = args[:description] if args.key?(:description)
|
6118
6199
|
@disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
|
@@ -6131,12 +6212,16 @@ module Google
|
|
6131
6212
|
@params = args[:params] if args.key?(:params)
|
6132
6213
|
@physical_block_size_bytes = args[:physical_block_size_bytes] if args.key?(:physical_block_size_bytes)
|
6133
6214
|
@provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
|
6215
|
+
@provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput)
|
6134
6216
|
@region = args[:region] if args.key?(:region)
|
6135
6217
|
@replica_zones = args[:replica_zones] if args.key?(:replica_zones)
|
6136
6218
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
6219
|
+
@resource_status = args[:resource_status] if args.key?(:resource_status)
|
6137
6220
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
6138
6221
|
@self_link = args[:self_link] if args.key?(:self_link)
|
6139
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)
|
6140
6225
|
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
6141
6226
|
@source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
|
6142
6227
|
@source_image = args[:source_image] if args.key?(:source_image)
|
@@ -6277,6 +6362,73 @@ module Google
|
|
6277
6362
|
end
|
6278
6363
|
end
|
6279
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
|
+
|
6280
6432
|
# A specification of the desired way to instantiate a disk in the instance
|
6281
6433
|
# template when its created from a source instance.
|
6282
6434
|
class DiskInstantiationConfig
|
@@ -6497,6 +6649,50 @@ module Google
|
|
6497
6649
|
end
|
6498
6650
|
end
|
6499
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
|
+
|
6500
6696
|
# Represents a Disk Type resource. Google Compute Engine has two Disk Type
|
6501
6697
|
# resources: * [Regional](/compute/docs/reference/rest/v1/regionDiskTypes) * [
|
6502
6698
|
# Zonal](/compute/docs/reference/rest/v1/diskTypes) You can choose from a
|
@@ -8816,6 +9012,13 @@ module Google
|
|
8816
9012
|
attr_accessor :allow_global_access
|
8817
9013
|
alias_method :allow_global_access?, :allow_global_access
|
8818
9014
|
|
9015
|
+
# This is used in PSC consumer ForwardingRule to control whether the PSC
|
9016
|
+
# endpoint can be accessed from another region.
|
9017
|
+
# Corresponds to the JSON property `allowPscGlobalAccess`
|
9018
|
+
# @return [Boolean]
|
9019
|
+
attr_accessor :allow_psc_global_access
|
9020
|
+
alias_method :allow_psc_global_access?, :allow_psc_global_access
|
9021
|
+
|
8819
9022
|
# Identifies the backend service to which the forwarding rule sends traffic.
|
8820
9023
|
# Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must
|
8821
9024
|
# be omitted for all other load balancer types.
|
@@ -8941,9 +9144,11 @@ module Google
|
|
8941
9144
|
|
8942
9145
|
# This field is not used for external load balancing. For Internal TCP/UDP Load
|
8943
9146
|
# Balancing, this field identifies the network that the load balanced IP should
|
8944
|
-
# belong to for this Forwarding Rule. If
|
8945
|
-
#
|
8946
|
-
#
|
9147
|
+
# belong to for this Forwarding Rule. If the subnetwork is specified, the
|
9148
|
+
# network of the subnetwork will be used. If neither subnetwork nor this field
|
9149
|
+
# is specified, the default network will be used. For Private Service Connect
|
9150
|
+
# forwarding rules that forward traffic to Google APIs, a network must be
|
9151
|
+
# provided.
|
8947
9152
|
# Corresponds to the JSON property `network`
|
8948
9153
|
# @return [String]
|
8949
9154
|
attr_accessor :network
|
@@ -9090,6 +9295,7 @@ module Google
|
|
9090
9295
|
@ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
|
9091
9296
|
@all_ports = args[:all_ports] if args.key?(:all_ports)
|
9092
9297
|
@allow_global_access = args[:allow_global_access] if args.key?(:allow_global_access)
|
9298
|
+
@allow_psc_global_access = args[:allow_psc_global_access] if args.key?(:allow_psc_global_access)
|
9093
9299
|
@backend_service = args[:backend_service] if args.key?(:backend_service)
|
9094
9300
|
@base_forwarding_rule = args[:base_forwarding_rule] if args.key?(:base_forwarding_rule)
|
9095
9301
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
@@ -9568,6 +9774,37 @@ module Google
|
|
9568
9774
|
end
|
9569
9775
|
end
|
9570
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
|
+
|
9571
9808
|
#
|
9572
9809
|
class GlobalNetworkEndpointGroupsAttachEndpointsRequest
|
9573
9810
|
include Google::Apis::Core::Hashable
|
@@ -10133,12 +10370,12 @@ module Google
|
|
10133
10370
|
# resources: * [Global](/compute/docs/reference/rest/v1/healthChecks) * [
|
10134
10371
|
# Regional](/compute/docs/reference/rest/v1/regionHealthChecks) Internal HTTP(S)
|
10135
10372
|
# load balancers must use regional health checks (`compute.v1.regionHealthChecks`
|
10136
|
-
# ). Traffic Director must use global health checks (`compute.v1.
|
10373
|
+
# ). Traffic Director must use global health checks (`compute.v1.healthChecks`).
|
10137
10374
|
# Internal TCP/UDP load balancers can use either regional or global health
|
10138
|
-
# checks (`compute.v1.regionHealthChecks` or `compute.v1.
|
10375
|
+
# checks (`compute.v1.regionHealthChecks` or `compute.v1.healthChecks`).
|
10139
10376
|
# External HTTP(S), TCP proxy, and SSL proxy load balancers as well as managed
|
10140
10377
|
# instance group auto-healing must use global health checks (`compute.v1.
|
10141
|
-
#
|
10378
|
+
# healthChecks`). Backend service-based network load balancers must use regional
|
10142
10379
|
# health checks (`compute.v1.regionHealthChecks`). Target pool-based network
|
10143
10380
|
# load balancers must use legacy HTTP health checks (`compute.v1.
|
10144
10381
|
# httpHealthChecks`). For more information, see Health checks overview.
|
@@ -12011,6 +12248,16 @@ module Google
|
|
12011
12248
|
# @return [Array<Google::Apis::ComputeV1::MetadataFilter>]
|
12012
12249
|
attr_accessor :metadata_filters
|
12013
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
|
+
|
12014
12261
|
# For satisfying the matchRule condition, the request's path must begin with the
|
12015
12262
|
# specified prefixMatch. prefixMatch must begin with a /. The value must be from
|
12016
12263
|
# 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
|
@@ -12046,6 +12293,7 @@ module Google
|
|
12046
12293
|
@header_matches = args[:header_matches] if args.key?(:header_matches)
|
12047
12294
|
@ignore_case = args[:ignore_case] if args.key?(:ignore_case)
|
12048
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)
|
12049
12297
|
@prefix_match = args[:prefix_match] if args.key?(:prefix_match)
|
12050
12298
|
@query_parameter_matches = args[:query_parameter_matches] if args.key?(:query_parameter_matches)
|
12051
12299
|
@regex_match = args[:regex_match] if args.key?(:regex_match)
|
@@ -16755,6 +17003,25 @@ module Google
|
|
16755
17003
|
# @return [String]
|
16756
17004
|
attr_accessor :kind
|
16757
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
|
+
|
16758
17025
|
# Type of link requested, which can take one of the following values: -
|
16759
17026
|
# LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics -
|
16760
17027
|
# LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this
|
@@ -16812,6 +17079,12 @@ module Google
|
|
16812
17079
|
# @return [Fixnum]
|
16813
17080
|
attr_accessor :provisioned_link_count
|
16814
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
|
+
|
16815
17088
|
# Target number of physical links in the link bundle, as requested by the
|
16816
17089
|
# customer.
|
16817
17090
|
# Corresponds to the JSON property `requestedLinkCount`
|
@@ -16858,6 +17131,8 @@ module Google
|
|
16858
17131
|
@interconnect_attachments = args[:interconnect_attachments] if args.key?(:interconnect_attachments)
|
16859
17132
|
@interconnect_type = args[:interconnect_type] if args.key?(:interconnect_type)
|
16860
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)
|
16861
17136
|
@link_type = args[:link_type] if args.key?(:link_type)
|
16862
17137
|
@location = args[:location] if args.key?(:location)
|
16863
17138
|
@name = args[:name] if args.key?(:name)
|
@@ -16865,6 +17140,7 @@ module Google
|
|
16865
17140
|
@operational_status = args[:operational_status] if args.key?(:operational_status)
|
16866
17141
|
@peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
|
16867
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)
|
16868
17144
|
@requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
|
16869
17145
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
16870
17146
|
@self_link = args[:self_link] if args.key?(:self_link)
|
@@ -16932,6 +17208,12 @@ module Google
|
|
16932
17208
|
# @return [String]
|
16933
17209
|
attr_accessor :cloud_router_ipv6_interface_id
|
16934
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
|
+
|
16935
17217
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
16936
17218
|
# Corresponds to the JSON property `creationTimestamp`
|
16937
17219
|
# @return [String]
|
@@ -17033,6 +17315,25 @@ module Google
|
|
17033
17315
|
# @return [String]
|
17034
17316
|
attr_accessor :kind
|
17035
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
|
+
|
17036
17337
|
# Maximum Transmission Unit (MTU), in bytes, of packets passing through this
|
17037
17338
|
# interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the
|
17038
17339
|
# value will default to 1440.
|
@@ -17094,6 +17395,15 @@ module Google
|
|
17094
17395
|
# @return [String]
|
17095
17396
|
attr_accessor :region
|
17096
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
|
+
|
17097
17407
|
# URL of the Cloud Router to be used for dynamic routing. This router must be in
|
17098
17408
|
# the same region as this InterconnectAttachment. The InterconnectAttachment
|
17099
17409
|
# will automatically connect the Interconnect to the network & region within
|
@@ -17140,6 +17450,17 @@ module Google
|
|
17140
17450
|
# @return [String]
|
17141
17451
|
attr_accessor :state
|
17142
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
|
+
|
17143
17464
|
# The type of interconnect attachment this is, which can take one of the
|
17144
17465
|
# following values: - DEDICATED: an attachment to a Dedicated Interconnect. -
|
17145
17466
|
# PARTNER: an attachment to a Partner Interconnect, created by the customer. -
|
@@ -17168,6 +17489,7 @@ module Google
|
|
17168
17489
|
@cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
|
17169
17490
|
@cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
|
17170
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)
|
17171
17493
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
17172
17494
|
@customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
|
17173
17495
|
@customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
|
@@ -17181,6 +17503,8 @@ module Google
|
|
17181
17503
|
@interconnect = args[:interconnect] if args.key?(:interconnect)
|
17182
17504
|
@ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
|
17183
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)
|
17184
17508
|
@mtu = args[:mtu] if args.key?(:mtu)
|
17185
17509
|
@name = args[:name] if args.key?(:name)
|
17186
17510
|
@operational_status = args[:operational_status] if args.key?(:operational_status)
|
@@ -17189,11 +17513,13 @@ module Google
|
|
17189
17513
|
@partner_metadata = args[:partner_metadata] if args.key?(:partner_metadata)
|
17190
17514
|
@private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
|
17191
17515
|
@region = args[:region] if args.key?(:region)
|
17516
|
+
@remote_service = args[:remote_service] if args.key?(:remote_service)
|
17192
17517
|
@router = args[:router] if args.key?(:router)
|
17193
17518
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
17194
17519
|
@self_link = args[:self_link] if args.key?(:self_link)
|
17195
17520
|
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
17196
17521
|
@state = args[:state] if args.key?(:state)
|
17522
|
+
@subnet_length = args[:subnet_length] if args.key?(:subnet_length)
|
17197
17523
|
@type = args[:type] if args.key?(:type)
|
17198
17524
|
@vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
|
17199
17525
|
end
|
@@ -17324,6 +17650,68 @@ module Google
|
|
17324
17650
|
end
|
17325
17651
|
end
|
17326
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
|
+
|
17327
17715
|
# Response to the list request, and contains a list of interconnect attachments.
|
17328
17716
|
class InterconnectAttachmentList
|
17329
17717
|
include Google::Apis::Core::Hashable
|
@@ -18000,12 +18388,390 @@ module Google
|
|
18000
18388
|
# @return [Fixnum]
|
18001
18389
|
attr_accessor :id
|
18002
18390
|
|
18003
|
-
# [Output Only] Type of the resource. Always compute#interconnectLocation for
|
18004
|
-
# interconnect locations.
|
18391
|
+
# [Output Only] Type of the resource. Always compute#interconnectLocation for
|
18392
|
+
# interconnect locations.
|
18393
|
+
# Corresponds to the JSON property `kind`
|
18394
|
+
# @return [String]
|
18395
|
+
attr_accessor :kind
|
18396
|
+
|
18397
|
+
# [Output Only] Name of the resource.
|
18398
|
+
# Corresponds to the JSON property `name`
|
18399
|
+
# @return [String]
|
18400
|
+
attr_accessor :name
|
18401
|
+
|
18402
|
+
# [Output Only] The peeringdb identifier for this facility (corresponding with a
|
18403
|
+
# netfac type in peeringdb).
|
18404
|
+
# Corresponds to the JSON property `peeringdbFacilityId`
|
18405
|
+
# @return [String]
|
18406
|
+
attr_accessor :peeringdb_facility_id
|
18407
|
+
|
18408
|
+
# [Output Only] A list of InterconnectLocation.RegionInfo objects, that describe
|
18409
|
+
# parameters pertaining to the relation between this InterconnectLocation and
|
18410
|
+
# various Google Cloud regions.
|
18411
|
+
# Corresponds to the JSON property `regionInfos`
|
18412
|
+
# @return [Array<Google::Apis::ComputeV1::InterconnectLocationRegionInfo>]
|
18413
|
+
attr_accessor :region_infos
|
18414
|
+
|
18415
|
+
# [Output Only] Server-defined URL for the resource.
|
18416
|
+
# Corresponds to the JSON property `selfLink`
|
18417
|
+
# @return [String]
|
18418
|
+
attr_accessor :self_link
|
18419
|
+
|
18420
|
+
# [Output Only] The status of this InterconnectLocation, which can take one of
|
18421
|
+
# the following values: - CLOSED: The InterconnectLocation is closed and is
|
18422
|
+
# unavailable for provisioning new Interconnects. - AVAILABLE: The
|
18423
|
+
# InterconnectLocation is available for provisioning new Interconnects.
|
18424
|
+
# Corresponds to the JSON property `status`
|
18425
|
+
# @return [String]
|
18426
|
+
attr_accessor :status
|
18427
|
+
|
18428
|
+
# [Output Only] Reserved for future use.
|
18429
|
+
# Corresponds to the JSON property `supportsPzs`
|
18430
|
+
# @return [Boolean]
|
18431
|
+
attr_accessor :supports_pzs
|
18432
|
+
alias_method :supports_pzs?, :supports_pzs
|
18433
|
+
|
18434
|
+
def initialize(**args)
|
18435
|
+
update!(**args)
|
18436
|
+
end
|
18437
|
+
|
18438
|
+
# Update properties of this object
|
18439
|
+
def update!(**args)
|
18440
|
+
@address = args[:address] if args.key?(:address)
|
18441
|
+
@availability_zone = args[:availability_zone] if args.key?(:availability_zone)
|
18442
|
+
@city = args[:city] if args.key?(:city)
|
18443
|
+
@continent = args[:continent] if args.key?(:continent)
|
18444
|
+
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
18445
|
+
@description = args[:description] if args.key?(:description)
|
18446
|
+
@facility_provider = args[:facility_provider] if args.key?(:facility_provider)
|
18447
|
+
@facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id)
|
18448
|
+
@id = args[:id] if args.key?(:id)
|
18449
|
+
@kind = args[:kind] if args.key?(:kind)
|
18450
|
+
@name = args[:name] if args.key?(:name)
|
18451
|
+
@peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id)
|
18452
|
+
@region_infos = args[:region_infos] if args.key?(:region_infos)
|
18453
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
18454
|
+
@status = args[:status] if args.key?(:status)
|
18455
|
+
@supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
|
18456
|
+
end
|
18457
|
+
end
|
18458
|
+
|
18459
|
+
# Response to the list request, and contains a list of interconnect locations.
|
18460
|
+
class InterconnectLocationList
|
18461
|
+
include Google::Apis::Core::Hashable
|
18462
|
+
|
18463
|
+
# [Output Only] Unique identifier for the resource; defined by the server.
|
18464
|
+
# Corresponds to the JSON property `id`
|
18465
|
+
# @return [String]
|
18466
|
+
attr_accessor :id
|
18467
|
+
|
18468
|
+
# A list of InterconnectLocation resources.
|
18469
|
+
# Corresponds to the JSON property `items`
|
18470
|
+
# @return [Array<Google::Apis::ComputeV1::InterconnectLocation>]
|
18471
|
+
attr_accessor :items
|
18472
|
+
|
18473
|
+
# [Output Only] Type of resource. Always compute#interconnectLocationList for
|
18474
|
+
# lists of interconnect locations.
|
18475
|
+
# Corresponds to the JSON property `kind`
|
18476
|
+
# @return [String]
|
18477
|
+
attr_accessor :kind
|
18478
|
+
|
18479
|
+
# [Output Only] This token allows you to get the next page of results for list
|
18480
|
+
# requests. If the number of results is larger than maxResults, use the
|
18481
|
+
# nextPageToken as a value for the query parameter pageToken in the next list
|
18482
|
+
# request. Subsequent list requests will have their own nextPageToken to
|
18483
|
+
# continue paging through the results.
|
18484
|
+
# Corresponds to the JSON property `nextPageToken`
|
18485
|
+
# @return [String]
|
18486
|
+
attr_accessor :next_page_token
|
18487
|
+
|
18488
|
+
# [Output Only] Server-defined URL for this resource.
|
18489
|
+
# Corresponds to the JSON property `selfLink`
|
18490
|
+
# @return [String]
|
18491
|
+
attr_accessor :self_link
|
18492
|
+
|
18493
|
+
# [Output Only] Informational warning message.
|
18494
|
+
# Corresponds to the JSON property `warning`
|
18495
|
+
# @return [Google::Apis::ComputeV1::InterconnectLocationList::Warning]
|
18496
|
+
attr_accessor :warning
|
18497
|
+
|
18498
|
+
def initialize(**args)
|
18499
|
+
update!(**args)
|
18500
|
+
end
|
18501
|
+
|
18502
|
+
# Update properties of this object
|
18503
|
+
def update!(**args)
|
18504
|
+
@id = args[:id] if args.key?(:id)
|
18505
|
+
@items = args[:items] if args.key?(:items)
|
18506
|
+
@kind = args[:kind] if args.key?(:kind)
|
18507
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
18508
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
18509
|
+
@warning = args[:warning] if args.key?(:warning)
|
18510
|
+
end
|
18511
|
+
|
18512
|
+
# [Output Only] Informational warning message.
|
18513
|
+
class Warning
|
18514
|
+
include Google::Apis::Core::Hashable
|
18515
|
+
|
18516
|
+
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
18517
|
+
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
18518
|
+
# Corresponds to the JSON property `code`
|
18519
|
+
# @return [String]
|
18520
|
+
attr_accessor :code
|
18521
|
+
|
18522
|
+
# [Output Only] Metadata about this warning in key: value format. For example: "
|
18523
|
+
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
18524
|
+
# Corresponds to the JSON property `data`
|
18525
|
+
# @return [Array<Google::Apis::ComputeV1::InterconnectLocationList::Warning::Datum>]
|
18526
|
+
attr_accessor :data
|
18527
|
+
|
18528
|
+
# [Output Only] A human-readable description of the warning code.
|
18529
|
+
# Corresponds to the JSON property `message`
|
18530
|
+
# @return [String]
|
18531
|
+
attr_accessor :message
|
18532
|
+
|
18533
|
+
def initialize(**args)
|
18534
|
+
update!(**args)
|
18535
|
+
end
|
18536
|
+
|
18537
|
+
# Update properties of this object
|
18538
|
+
def update!(**args)
|
18539
|
+
@code = args[:code] if args.key?(:code)
|
18540
|
+
@data = args[:data] if args.key?(:data)
|
18541
|
+
@message = args[:message] if args.key?(:message)
|
18542
|
+
end
|
18543
|
+
|
18544
|
+
#
|
18545
|
+
class Datum
|
18546
|
+
include Google::Apis::Core::Hashable
|
18547
|
+
|
18548
|
+
# [Output Only] A key that provides more detail on the warning being returned.
|
18549
|
+
# For example, for warnings where there are no results in a list request for a
|
18550
|
+
# particular zone, this key might be scope and the key value might be the zone
|
18551
|
+
# name. Other examples might be a key indicating a deprecated resource and a
|
18552
|
+
# suggested replacement, or a warning about invalid network settings (for
|
18553
|
+
# example, if an instance attempts to perform IP forwarding but is not enabled
|
18554
|
+
# for IP forwarding).
|
18555
|
+
# Corresponds to the JSON property `key`
|
18556
|
+
# @return [String]
|
18557
|
+
attr_accessor :key
|
18558
|
+
|
18559
|
+
# [Output Only] A warning data value corresponding to the key.
|
18560
|
+
# Corresponds to the JSON property `value`
|
18561
|
+
# @return [String]
|
18562
|
+
attr_accessor :value
|
18563
|
+
|
18564
|
+
def initialize(**args)
|
18565
|
+
update!(**args)
|
18566
|
+
end
|
18567
|
+
|
18568
|
+
# Update properties of this object
|
18569
|
+
def update!(**args)
|
18570
|
+
@key = args[:key] if args.key?(:key)
|
18571
|
+
@value = args[:value] if args.key?(:value)
|
18572
|
+
end
|
18573
|
+
end
|
18574
|
+
end
|
18575
|
+
end
|
18576
|
+
|
18577
|
+
# Information about any potential InterconnectAttachments between an
|
18578
|
+
# Interconnect at a specific InterconnectLocation, and a specific Cloud Region.
|
18579
|
+
class InterconnectLocationRegionInfo
|
18580
|
+
include Google::Apis::Core::Hashable
|
18581
|
+
|
18582
|
+
# Expected round-trip time in milliseconds, from this InterconnectLocation to a
|
18583
|
+
# VM in this region.
|
18584
|
+
# Corresponds to the JSON property `expectedRttMs`
|
18585
|
+
# @return [Fixnum]
|
18586
|
+
attr_accessor :expected_rtt_ms
|
18587
|
+
|
18588
|
+
# Identifies the network presence of this location.
|
18589
|
+
# Corresponds to the JSON property `locationPresence`
|
18590
|
+
# @return [String]
|
18591
|
+
attr_accessor :location_presence
|
18592
|
+
|
18593
|
+
# URL for the region of this location.
|
18594
|
+
# Corresponds to the JSON property `region`
|
18595
|
+
# @return [String]
|
18596
|
+
attr_accessor :region
|
18597
|
+
|
18598
|
+
def initialize(**args)
|
18599
|
+
update!(**args)
|
18600
|
+
end
|
18601
|
+
|
18602
|
+
# Update properties of this object
|
18603
|
+
def update!(**args)
|
18604
|
+
@expected_rtt_ms = args[:expected_rtt_ms] if args.key?(:expected_rtt_ms)
|
18605
|
+
@location_presence = args[:location_presence] if args.key?(:location_presence)
|
18606
|
+
@region = args[:region] if args.key?(:region)
|
18607
|
+
end
|
18608
|
+
end
|
18609
|
+
|
18610
|
+
# Description of a planned outage on this Interconnect.
|
18611
|
+
class InterconnectOutageNotification
|
18612
|
+
include Google::Apis::Core::Hashable
|
18613
|
+
|
18614
|
+
# If issue_type is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that
|
18615
|
+
# will be affected.
|
18616
|
+
# Corresponds to the JSON property `affectedCircuits`
|
18617
|
+
# @return [Array<String>]
|
18618
|
+
attr_accessor :affected_circuits
|
18619
|
+
|
18620
|
+
# A description about the purpose of the outage.
|
18621
|
+
# Corresponds to the JSON property `description`
|
18622
|
+
# @return [String]
|
18623
|
+
attr_accessor :description
|
18624
|
+
|
18625
|
+
# Scheduled end time for the outage (milliseconds since Unix epoch).
|
18626
|
+
# Corresponds to the JSON property `endTime`
|
18627
|
+
# @return [Fixnum]
|
18628
|
+
attr_accessor :end_time
|
18629
|
+
|
18630
|
+
# Form this outage is expected to take, which can take one of the following
|
18631
|
+
# values: - OUTAGE: The Interconnect may be completely out of service for some
|
18632
|
+
# or all of the specified window. - PARTIAL_OUTAGE: Some circuits comprising the
|
18633
|
+
# Interconnect as a whole should remain up, but with reduced bandwidth. Note
|
18634
|
+
# that the versions of this enum prefixed with "IT_" have been deprecated in
|
18635
|
+
# favor of the unprefixed values.
|
18636
|
+
# Corresponds to the JSON property `issueType`
|
18637
|
+
# @return [String]
|
18638
|
+
attr_accessor :issue_type
|
18639
|
+
|
18640
|
+
# Unique identifier for this outage notification.
|
18641
|
+
# Corresponds to the JSON property `name`
|
18642
|
+
# @return [String]
|
18643
|
+
attr_accessor :name
|
18644
|
+
|
18645
|
+
# The party that generated this notification, which can take the following value:
|
18646
|
+
# - GOOGLE: this notification as generated by Google. Note that the value of
|
18647
|
+
# NSRC_GOOGLE has been deprecated in favor of GOOGLE.
|
18648
|
+
# Corresponds to the JSON property `source`
|
18649
|
+
# @return [String]
|
18650
|
+
attr_accessor :source
|
18651
|
+
|
18652
|
+
# Scheduled start time for the outage (milliseconds since Unix epoch).
|
18653
|
+
# Corresponds to the JSON property `startTime`
|
18654
|
+
# @return [Fixnum]
|
18655
|
+
attr_accessor :start_time
|
18656
|
+
|
18657
|
+
# State of this notification, which can take one of the following values: -
|
18658
|
+
# ACTIVE: This outage notification is active. The event could be in the past,
|
18659
|
+
# present, or future. See start_time and end_time for scheduling. - CANCELLED:
|
18660
|
+
# The outage associated with this notification was cancelled before the outage
|
18661
|
+
# was due to start. - COMPLETED: The outage associated with this notification is
|
18662
|
+
# complete. Note that the versions of this enum prefixed with "NS_" have been
|
18663
|
+
# deprecated in favor of the unprefixed values.
|
18664
|
+
# Corresponds to the JSON property `state`
|
18665
|
+
# @return [String]
|
18666
|
+
attr_accessor :state
|
18667
|
+
|
18668
|
+
def initialize(**args)
|
18669
|
+
update!(**args)
|
18670
|
+
end
|
18671
|
+
|
18672
|
+
# Update properties of this object
|
18673
|
+
def update!(**args)
|
18674
|
+
@affected_circuits = args[:affected_circuits] if args.key?(:affected_circuits)
|
18675
|
+
@description = args[:description] if args.key?(:description)
|
18676
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
18677
|
+
@issue_type = args[:issue_type] if args.key?(:issue_type)
|
18678
|
+
@name = args[:name] if args.key?(:name)
|
18679
|
+
@source = args[:source] if args.key?(:source)
|
18680
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
18681
|
+
@state = args[:state] if args.key?(:state)
|
18682
|
+
end
|
18683
|
+
end
|
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.
|
18005
18751
|
# Corresponds to the JSON property `kind`
|
18006
18752
|
# @return [String]
|
18007
18753
|
attr_accessor :kind
|
18008
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
|
+
|
18009
18775
|
# [Output Only] Name of the resource.
|
18010
18776
|
# Corresponds to the JSON property `name`
|
18011
18777
|
# @return [String]
|
@@ -18017,32 +18783,31 @@ module Google
|
|
18017
18783
|
# @return [String]
|
18018
18784
|
attr_accessor :peeringdb_facility_id
|
18019
18785
|
|
18020
|
-
# [Output Only]
|
18021
|
-
#
|
18022
|
-
#
|
18023
|
-
|
18024
|
-
|
18025
|
-
|
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
|
18026
18796
|
|
18027
18797
|
# [Output Only] Server-defined URL for the resource.
|
18028
18798
|
# Corresponds to the JSON property `selfLink`
|
18029
18799
|
# @return [String]
|
18030
18800
|
attr_accessor :self_link
|
18031
18801
|
|
18032
|
-
# [Output Only] The status of this
|
18033
|
-
# the following values: - CLOSED: The
|
18034
|
-
# unavailable for provisioning new Interconnects. -
|
18035
|
-
#
|
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.
|
18036
18807
|
# Corresponds to the JSON property `status`
|
18037
18808
|
# @return [String]
|
18038
18809
|
attr_accessor :status
|
18039
18810
|
|
18040
|
-
# [Output Only] Reserved for future use.
|
18041
|
-
# Corresponds to the JSON property `supportsPzs`
|
18042
|
-
# @return [Boolean]
|
18043
|
-
attr_accessor :supports_pzs
|
18044
|
-
alias_method :supports_pzs?, :supports_pzs
|
18045
|
-
|
18046
18811
|
def initialize(**args)
|
18047
18812
|
update!(**args)
|
18048
18813
|
end
|
@@ -18050,8 +18815,9 @@ module Google
|
|
18050
18815
|
# Update properties of this object
|
18051
18816
|
def update!(**args)
|
18052
18817
|
@address = args[:address] if args.key?(:address)
|
18053
|
-
@
|
18818
|
+
@attachment_configuration_constraints = args[:attachment_configuration_constraints] if args.key?(:attachment_configuration_constraints)
|
18054
18819
|
@city = args[:city] if args.key?(:city)
|
18820
|
+
@constraints = args[:constraints] if args.key?(:constraints)
|
18055
18821
|
@continent = args[:continent] if args.key?(:continent)
|
18056
18822
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
18057
18823
|
@description = args[:description] if args.key?(:description)
|
@@ -18059,17 +18825,92 @@ module Google
|
|
18059
18825
|
@facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id)
|
18060
18826
|
@id = args[:id] if args.key?(:id)
|
18061
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)
|
18062
18831
|
@name = args[:name] if args.key?(:name)
|
18063
18832
|
@peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id)
|
18064
|
-
@
|
18833
|
+
@permitted_connections = args[:permitted_connections] if args.key?(:permitted_connections)
|
18834
|
+
@remote_service = args[:remote_service] if args.key?(:remote_service)
|
18065
18835
|
@self_link = args[:self_link] if args.key?(:self_link)
|
18066
18836
|
@status = args[:status] if args.key?(:status)
|
18067
|
-
@supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
|
18068
18837
|
end
|
18069
18838
|
end
|
18070
18839
|
|
18071
|
-
#
|
18072
|
-
class
|
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
|
18073
18914
|
include Google::Apis::Core::Hashable
|
18074
18915
|
|
18075
18916
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
@@ -18077,18 +18918,18 @@ module Google
|
|
18077
18918
|
# @return [String]
|
18078
18919
|
attr_accessor :id
|
18079
18920
|
|
18080
|
-
# A list of
|
18921
|
+
# A list of InterconnectRemoteLocation resources.
|
18081
18922
|
# Corresponds to the JSON property `items`
|
18082
|
-
# @return [Array<Google::Apis::ComputeV1::
|
18923
|
+
# @return [Array<Google::Apis::ComputeV1::InterconnectRemoteLocation>]
|
18083
18924
|
attr_accessor :items
|
18084
18925
|
|
18085
|
-
# [Output Only] Type of resource. Always compute#
|
18086
|
-
# lists of interconnect locations.
|
18926
|
+
# [Output Only] Type of resource. Always compute#interconnectRemoteLocationList
|
18927
|
+
# for lists of interconnect remote locations.
|
18087
18928
|
# Corresponds to the JSON property `kind`
|
18088
18929
|
# @return [String]
|
18089
18930
|
attr_accessor :kind
|
18090
18931
|
|
18091
|
-
# [Output Only] This token
|
18932
|
+
# [Output Only] This token lets you get the next page of results for list
|
18092
18933
|
# requests. If the number of results is larger than maxResults, use the
|
18093
18934
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
18094
18935
|
# request. Subsequent list requests will have their own nextPageToken to
|
@@ -18104,7 +18945,7 @@ module Google
|
|
18104
18945
|
|
18105
18946
|
# [Output Only] Informational warning message.
|
18106
18947
|
# Corresponds to the JSON property `warning`
|
18107
|
-
# @return [Google::Apis::ComputeV1::
|
18948
|
+
# @return [Google::Apis::ComputeV1::InterconnectRemoteLocationList::Warning]
|
18108
18949
|
attr_accessor :warning
|
18109
18950
|
|
18110
18951
|
def initialize(**args)
|
@@ -18134,7 +18975,7 @@ module Google
|
|
18134
18975
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
18135
18976
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
18136
18977
|
# Corresponds to the JSON property `data`
|
18137
|
-
# @return [Array<Google::Apis::ComputeV1::
|
18978
|
+
# @return [Array<Google::Apis::ComputeV1::InterconnectRemoteLocationList::Warning::Datum>]
|
18138
18979
|
attr_accessor :data
|
18139
18980
|
|
18140
18981
|
# [Output Only] A human-readable description of the warning code.
|
@@ -18186,26 +19027,15 @@ module Google
|
|
18186
19027
|
end
|
18187
19028
|
end
|
18188
19029
|
|
18189
|
-
#
|
18190
|
-
|
18191
|
-
class InterconnectLocationRegionInfo
|
19030
|
+
#
|
19031
|
+
class InterconnectRemoteLocationPermittedConnections
|
18192
19032
|
include Google::Apis::Core::Hashable
|
18193
19033
|
|
18194
|
-
#
|
18195
|
-
#
|
18196
|
-
# Corresponds to the JSON property `
|
18197
|
-
# @return [Fixnum]
|
18198
|
-
attr_accessor :expected_rtt_ms
|
18199
|
-
|
18200
|
-
# Identifies the network presence of this location.
|
18201
|
-
# Corresponds to the JSON property `locationPresence`
|
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`
|
18202
19037
|
# @return [String]
|
18203
|
-
attr_accessor :
|
18204
|
-
|
18205
|
-
# URL for the region of this location.
|
18206
|
-
# Corresponds to the JSON property `region`
|
18207
|
-
# @return [String]
|
18208
|
-
attr_accessor :region
|
19038
|
+
attr_accessor :interconnect_location
|
18209
19039
|
|
18210
19040
|
def initialize(**args)
|
18211
19041
|
update!(**args)
|
@@ -18213,84 +19043,7 @@ module Google
|
|
18213
19043
|
|
18214
19044
|
# Update properties of this object
|
18215
19045
|
def update!(**args)
|
18216
|
-
@
|
18217
|
-
@location_presence = args[:location_presence] if args.key?(:location_presence)
|
18218
|
-
@region = args[:region] if args.key?(:region)
|
18219
|
-
end
|
18220
|
-
end
|
18221
|
-
|
18222
|
-
# Description of a planned outage on this Interconnect.
|
18223
|
-
class InterconnectOutageNotification
|
18224
|
-
include Google::Apis::Core::Hashable
|
18225
|
-
|
18226
|
-
# If issue_type is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that
|
18227
|
-
# will be affected.
|
18228
|
-
# Corresponds to the JSON property `affectedCircuits`
|
18229
|
-
# @return [Array<String>]
|
18230
|
-
attr_accessor :affected_circuits
|
18231
|
-
|
18232
|
-
# A description about the purpose of the outage.
|
18233
|
-
# Corresponds to the JSON property `description`
|
18234
|
-
# @return [String]
|
18235
|
-
attr_accessor :description
|
18236
|
-
|
18237
|
-
# Scheduled end time for the outage (milliseconds since Unix epoch).
|
18238
|
-
# Corresponds to the JSON property `endTime`
|
18239
|
-
# @return [Fixnum]
|
18240
|
-
attr_accessor :end_time
|
18241
|
-
|
18242
|
-
# Form this outage is expected to take, which can take one of the following
|
18243
|
-
# values: - OUTAGE: The Interconnect may be completely out of service for some
|
18244
|
-
# or all of the specified window. - PARTIAL_OUTAGE: Some circuits comprising the
|
18245
|
-
# Interconnect as a whole should remain up, but with reduced bandwidth. Note
|
18246
|
-
# that the versions of this enum prefixed with "IT_" have been deprecated in
|
18247
|
-
# favor of the unprefixed values.
|
18248
|
-
# Corresponds to the JSON property `issueType`
|
18249
|
-
# @return [String]
|
18250
|
-
attr_accessor :issue_type
|
18251
|
-
|
18252
|
-
# Unique identifier for this outage notification.
|
18253
|
-
# Corresponds to the JSON property `name`
|
18254
|
-
# @return [String]
|
18255
|
-
attr_accessor :name
|
18256
|
-
|
18257
|
-
# The party that generated this notification, which can take the following value:
|
18258
|
-
# - GOOGLE: this notification as generated by Google. Note that the value of
|
18259
|
-
# NSRC_GOOGLE has been deprecated in favor of GOOGLE.
|
18260
|
-
# Corresponds to the JSON property `source`
|
18261
|
-
# @return [String]
|
18262
|
-
attr_accessor :source
|
18263
|
-
|
18264
|
-
# Scheduled start time for the outage (milliseconds since Unix epoch).
|
18265
|
-
# Corresponds to the JSON property `startTime`
|
18266
|
-
# @return [Fixnum]
|
18267
|
-
attr_accessor :start_time
|
18268
|
-
|
18269
|
-
# State of this notification, which can take one of the following values: -
|
18270
|
-
# ACTIVE: This outage notification is active. The event could be in the past,
|
18271
|
-
# present, or future. See start_time and end_time for scheduling. - CANCELLED:
|
18272
|
-
# The outage associated with this notification was cancelled before the outage
|
18273
|
-
# was due to start. - COMPLETED: The outage associated with this notification is
|
18274
|
-
# complete. Note that the versions of this enum prefixed with "NS_" have been
|
18275
|
-
# deprecated in favor of the unprefixed values.
|
18276
|
-
# Corresponds to the JSON property `state`
|
18277
|
-
# @return [String]
|
18278
|
-
attr_accessor :state
|
18279
|
-
|
18280
|
-
def initialize(**args)
|
18281
|
-
update!(**args)
|
18282
|
-
end
|
18283
|
-
|
18284
|
-
# Update properties of this object
|
18285
|
-
def update!(**args)
|
18286
|
-
@affected_circuits = args[:affected_circuits] if args.key?(:affected_circuits)
|
18287
|
-
@description = args[:description] if args.key?(:description)
|
18288
|
-
@end_time = args[:end_time] if args.key?(:end_time)
|
18289
|
-
@issue_type = args[:issue_type] if args.key?(:issue_type)
|
18290
|
-
@name = args[:name] if args.key?(:name)
|
18291
|
-
@source = args[:source] if args.key?(:source)
|
18292
|
-
@start_time = args[:start_time] if args.key?(:start_time)
|
18293
|
-
@state = args[:state] if args.key?(:state)
|
19046
|
+
@interconnect_location = args[:interconnect_location] if args.key?(:interconnect_location)
|
18294
19047
|
end
|
18295
19048
|
end
|
18296
19049
|
|
@@ -19322,7 +20075,7 @@ module Google
|
|
19322
20075
|
# @return [Fixnum]
|
19323
20076
|
attr_accessor :guest_accelerator_count
|
19324
20077
|
|
19325
|
-
# The accelerator type resource name, not a full URL, e.g.
|
20078
|
+
# The accelerator type resource name, not a full URL, e.g. nvidia-tesla-t4.
|
19326
20079
|
# Corresponds to the JSON property `guestAcceleratorType`
|
19327
20080
|
# @return [String]
|
19328
20081
|
attr_accessor :guest_accelerator_type
|
@@ -20306,9 +21059,9 @@ module Google
|
|
20306
21059
|
# @return [String]
|
20307
21060
|
attr_accessor :description
|
20308
21061
|
|
20309
|
-
#
|
20310
|
-
#
|
20311
|
-
#
|
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.
|
20312
21065
|
# Corresponds to the JSON property `fingerprint`
|
20313
21066
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
20314
21067
|
# @return [String]
|
@@ -20336,6 +21089,10 @@ module Google
|
|
20336
21089
|
attr_accessor :name
|
20337
21090
|
|
20338
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.
|
20339
21096
|
# Corresponds to the JSON property `network`
|
20340
21097
|
# @return [String]
|
20341
21098
|
attr_accessor :network
|
@@ -20532,7 +21289,7 @@ module Google
|
|
20532
21289
|
# @return [String]
|
20533
21290
|
attr_accessor :project_id_or_num
|
20534
21291
|
|
20535
|
-
# Alias IP ranges from the same subnetwork
|
21292
|
+
# Alias IP ranges from the same subnetwork.
|
20536
21293
|
# Corresponds to the JSON property `secondaryIpCidrRanges`
|
20537
21294
|
# @return [Array<String>]
|
20538
21295
|
attr_accessor :secondary_ip_cidr_ranges
|
@@ -27608,6 +28365,37 @@ module Google
|
|
27608
28365
|
end
|
27609
28366
|
end
|
27610
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
|
+
|
27611
28399
|
# Contains a list of autoscalers.
|
27612
28400
|
class RegionAutoscalerList
|
27613
28401
|
include Google::Apis::Core::Hashable
|
@@ -31749,9 +32537,8 @@ module Google
|
|
31749
32537
|
# ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list
|
31750
32538
|
# of Subnetworks are allowed to Nat (specified in the field subnetwork below)
|
31751
32539
|
# The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if
|
31752
|
-
# this field contains ALL_SUBNETWORKS_ALL_IP_RANGES
|
31753
|
-
#
|
31754
|
-
# 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.
|
31755
32542
|
# Corresponds to the JSON property `sourceSubnetworkIpRangesToNat`
|
31756
32543
|
# @return [String]
|
31757
32544
|
attr_accessor :source_subnetwork_ip_ranges_to_nat
|
@@ -33156,6 +33943,24 @@ module Google
|
|
33156
33943
|
# @return [String]
|
33157
33944
|
attr_accessor :kind
|
33158
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
|
+
|
33159
33964
|
# Name of the resource. Provided by the client when the resource is created. The
|
33160
33965
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
33161
33966
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
@@ -33225,6 +34030,8 @@ module Google
|
|
33225
34030
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
33226
34031
|
@id = args[:id] if args.key?(:id)
|
33227
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)
|
33228
34035
|
@name = args[:name] if args.key?(:name)
|
33229
34036
|
@recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
|
33230
34037
|
@region = args[:region] if args.key?(:region)
|
@@ -33238,7 +34045,8 @@ module Google
|
|
33238
34045
|
class SecurityPolicyAdaptiveProtectionConfig
|
33239
34046
|
include Google::Apis::Core::Hashable
|
33240
34047
|
|
33241
|
-
# Configuration options for L7 DDoS detection.
|
34048
|
+
# Configuration options for L7 DDoS detection. This field is only supported in
|
34049
|
+
# Global Security Policies of type CLOUD_ARMOR.
|
33242
34050
|
# Corresponds to the JSON property `layer7DdosDefenseConfig`
|
33243
34051
|
# @return [Google::Apis::ComputeV1::SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig]
|
33244
34052
|
attr_accessor :layer7_ddos_defense_config
|
@@ -33253,18 +34061,21 @@ module Google
|
|
33253
34061
|
end
|
33254
34062
|
end
|
33255
34063
|
|
33256
|
-
# Configuration options for L7 DDoS detection.
|
34064
|
+
# Configuration options for L7 DDoS detection. This field is only supported in
|
34065
|
+
# Global Security Policies of type CLOUD_ARMOR.
|
33257
34066
|
class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig
|
33258
34067
|
include Google::Apis::Core::Hashable
|
33259
34068
|
|
33260
|
-
# If set to true, enables CAAP for L7 DDoS detection.
|
34069
|
+
# If set to true, enables CAAP for L7 DDoS detection. This field is only
|
34070
|
+
# supported in Global Security Policies of type CLOUD_ARMOR.
|
33261
34071
|
# Corresponds to the JSON property `enable`
|
33262
34072
|
# @return [Boolean]
|
33263
34073
|
attr_accessor :enable
|
33264
34074
|
alias_method :enable?, :enable
|
33265
34075
|
|
33266
34076
|
# Rule visibility can be one of the following: STANDARD - opaque rules. (default)
|
33267
|
-
# PREMIUM - transparent rules.
|
34077
|
+
# PREMIUM - transparent rules. This field is only supported in Global Security
|
34078
|
+
# Policies of type CLOUD_ARMOR.
|
33268
34079
|
# Corresponds to the JSON property `ruleVisibility`
|
33269
34080
|
# @return [String]
|
33270
34081
|
attr_accessor :rule_visibility
|
@@ -33474,7 +34285,8 @@ module Google
|
|
33474
34285
|
# using the redirect action with the type of GOOGLE_RECAPTCHA under the security
|
33475
34286
|
# policy. The specified site key needs to be created from the reCAPTCHA API. The
|
33476
34287
|
# user is responsible for the validity of the specified site key. If not
|
33477
|
-
# specified, a Google-managed site key is used.
|
34288
|
+
# specified, a Google-managed site key is used. This field is only supported in
|
34289
|
+
# Global Security Policies of type CLOUD_ARMOR.
|
33478
34290
|
# Corresponds to the JSON property `redirectSiteKey`
|
33479
34291
|
# @return [String]
|
33480
34292
|
attr_accessor :redirect_site_key
|
@@ -33522,7 +34334,8 @@ module Google
|
|
33522
34334
|
# rate_limit_options to be set. - redirect: redirect to a different target. This
|
33523
34335
|
# can either be an internal reCAPTCHA redirect, or an external URL-based
|
33524
34336
|
# redirect via a 302 response. Parameters for this action can be configured via
|
33525
|
-
# redirectOptions.
|
34337
|
+
# redirectOptions. This action is only supported in Global Security Policies of
|
34338
|
+
# type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold.
|
33526
34339
|
# Configure parameters for this action in rateLimitOptions. Requires
|
33527
34340
|
# rate_limit_options to be set for this.
|
33528
34341
|
# Corresponds to the JSON property `action`
|
@@ -33535,7 +34348,8 @@ module Google
|
|
33535
34348
|
# @return [String]
|
33536
34349
|
attr_accessor :description
|
33537
34350
|
|
33538
|
-
# Optional, additional actions that are performed on headers.
|
34351
|
+
# Optional, additional actions that are performed on headers. This field is only
|
34352
|
+
# supported in Global Security Policies of type CLOUD_ARMOR.
|
33539
34353
|
# Corresponds to the JSON property `headerAction`
|
33540
34354
|
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction]
|
33541
34355
|
attr_accessor :header_action
|
@@ -33580,7 +34394,8 @@ module Google
|
|
33580
34394
|
attr_accessor :rate_limit_options
|
33581
34395
|
|
33582
34396
|
# Parameters defining the redirect action. Cannot be specified for any other
|
33583
|
-
# actions.
|
34397
|
+
# actions. This field is only supported in Global Security Policies of type
|
34398
|
+
# CLOUD_ARMOR.
|
33584
34399
|
# Corresponds to the JSON property `redirectOptions`
|
33585
34400
|
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions]
|
33586
34401
|
attr_accessor :redirect_options
|
@@ -33867,6 +34682,14 @@ module Google
|
|
33867
34682
|
# @return [String]
|
33868
34683
|
attr_accessor :enforce_on_key
|
33869
34684
|
|
34685
|
+
# If specified, any combination of values of enforce_on_key_type/
|
34686
|
+
# enforce_on_key_name is treated as the key on which ratelimit threshold/action
|
34687
|
+
# is enforced. You can specify up to 3 enforce_on_key_configs. If
|
34688
|
+
# enforce_on_key_configs is specified, enforce_on_key must not be specified.
|
34689
|
+
# Corresponds to the JSON property `enforceOnKeyConfigs`
|
34690
|
+
# @return [Array<Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig>]
|
34691
|
+
attr_accessor :enforce_on_key_configs
|
34692
|
+
|
33870
34693
|
# Rate limit key name applicable only for the following key types: HTTP_HEADER --
|
33871
34694
|
# Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
|
33872
34695
|
# Name of the HTTP cookie whose value is taken as the key value.
|
@@ -33878,13 +34701,15 @@ module Google
|
|
33878
34701
|
# to either deny with a specified HTTP response code, or redirect to a
|
33879
34702
|
# different endpoint. Valid options are `deny(STATUS)`, where valid values for `
|
33880
34703
|
# STATUS` are 403, 404, 429, and 502, and `redirect`, where the redirect
|
33881
|
-
# parameters come from `exceedRedirectOptions` below.
|
34704
|
+
# parameters come from `exceedRedirectOptions` below. The `redirect` action is
|
34705
|
+
# only supported in Global Security Policies of type CLOUD_ARMOR.
|
33882
34706
|
# Corresponds to the JSON property `exceedAction`
|
33883
34707
|
# @return [String]
|
33884
34708
|
attr_accessor :exceed_action
|
33885
34709
|
|
33886
34710
|
# Parameters defining the redirect action that is used as the exceed action.
|
33887
|
-
# Cannot be specified if the exceed action is not redirect.
|
34711
|
+
# Cannot be specified if the exceed action is not redirect. This field is only
|
34712
|
+
# supported in Global Security Policies of type CLOUD_ARMOR.
|
33888
34713
|
# Corresponds to the JSON property `exceedRedirectOptions`
|
33889
34714
|
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions]
|
33890
34715
|
attr_accessor :exceed_redirect_options
|
@@ -33904,6 +34729,7 @@ module Google
|
|
33904
34729
|
@ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold)
|
33905
34730
|
@conform_action = args[:conform_action] if args.key?(:conform_action)
|
33906
34731
|
@enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
|
34732
|
+
@enforce_on_key_configs = args[:enforce_on_key_configs] if args.key?(:enforce_on_key_configs)
|
33907
34733
|
@enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
|
33908
34734
|
@exceed_action = args[:exceed_action] if args.key?(:exceed_action)
|
33909
34735
|
@exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
|
@@ -33911,6 +34737,51 @@ module Google
|
|
33911
34737
|
end
|
33912
34738
|
end
|
33913
34739
|
|
34740
|
+
#
|
34741
|
+
class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig
|
34742
|
+
include Google::Apis::Core::Hashable
|
34743
|
+
|
34744
|
+
# Rate limit key name applicable only for the following key types: HTTP_HEADER --
|
34745
|
+
# Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
|
34746
|
+
# Name of the HTTP cookie whose value is taken as the key value.
|
34747
|
+
# Corresponds to the JSON property `enforceOnKeyName`
|
34748
|
+
# @return [String]
|
34749
|
+
attr_accessor :enforce_on_key_name
|
34750
|
+
|
34751
|
+
# Determines the key to enforce the rate_limit_threshold on. Possible values are:
|
34752
|
+
# - ALL: A single rate limit threshold is applied to all the requests matching
|
34753
|
+
# this rule. This is the default value if "enforceOnKeyConfigs" is not
|
34754
|
+
# configured. - IP: The source IP address of the request is the key. Each IP has
|
34755
|
+
# this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
|
34756
|
+
# whose name is configured under "enforceOnKeyName". The key value is truncated
|
34757
|
+
# to the first 128 bytes of the header value. If no such header is present in
|
34758
|
+
# the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e.
|
34759
|
+
# the originating client IP address) specified in the list of IPs under X-
|
34760
|
+
# Forwarded-For HTTP header. If no such header is present or the value is not a
|
34761
|
+
# valid IP, the key defaults to the source IP address of the request i.e. key
|
34762
|
+
# type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured
|
34763
|
+
# under "enforceOnKeyName". The key value is truncated to the first 128 bytes of
|
34764
|
+
# the cookie value. If no such cookie is present in the request, the key type
|
34765
|
+
# defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value
|
34766
|
+
# is truncated to the first 128 bytes. - SNI: Server name indication in the TLS
|
34767
|
+
# session of the HTTPS request. The key value is truncated to the first 128
|
34768
|
+
# bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The
|
34769
|
+
# country/region from which the request originates.
|
34770
|
+
# Corresponds to the JSON property `enforceOnKeyType`
|
34771
|
+
# @return [String]
|
34772
|
+
attr_accessor :enforce_on_key_type
|
34773
|
+
|
34774
|
+
def initialize(**args)
|
34775
|
+
update!(**args)
|
34776
|
+
end
|
34777
|
+
|
34778
|
+
# Update properties of this object
|
34779
|
+
def update!(**args)
|
34780
|
+
@enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
|
34781
|
+
@enforce_on_key_type = args[:enforce_on_key_type] if args.key?(:enforce_on_key_type)
|
34782
|
+
end
|
34783
|
+
end
|
34784
|
+
|
33914
34785
|
#
|
33915
34786
|
class SecurityPolicyRuleRateLimitOptionsThreshold
|
33916
34787
|
include Google::Apis::Core::Hashable
|
@@ -34204,6 +35075,20 @@ module Google
|
|
34204
35075
|
# @return [Google::Apis::ComputeV1::Uint128]
|
34205
35076
|
attr_accessor :psc_service_attachment_id
|
34206
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
|
+
|
34207
35092
|
# [Output Only] URL of the region where the service attachment resides. This
|
34208
35093
|
# field applies only to the region resource. You must specify this field as part
|
34209
35094
|
# of the HTTP request URL. It is not settable as a field in the request body.
|
@@ -34243,6 +35128,7 @@ module Google
|
|
34243
35128
|
@nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
|
34244
35129
|
@producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
|
34245
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)
|
34246
35132
|
@region = args[:region] if args.key?(:region)
|
34247
35133
|
@self_link = args[:self_link] if args.key?(:self_link)
|
34248
35134
|
@target_service = args[:target_service] if args.key?(:target_service)
|
@@ -36511,8 +37397,8 @@ module Google
|
|
36511
37397
|
# Whether to enable flow logging for this subnetwork. If this field is not
|
36512
37398
|
# explicitly set, it will not appear in get listings. If not set the default
|
36513
37399
|
# behavior is determined by the org policy, if there is no org policy specified,
|
36514
|
-
# then it will default to disabled. This field isn't supported
|
36515
|
-
# field set to
|
37400
|
+
# then it will default to disabled. This field isn't supported if the subnet
|
37401
|
+
# purpose field is set to REGIONAL_MANAGED_PROXY.
|
36516
37402
|
# Corresponds to the JSON property `enableFlowLogs`
|
36517
37403
|
# @return [Boolean]
|
36518
37404
|
attr_accessor :enable_flow_logs
|
@@ -36616,12 +37502,19 @@ module Google
|
|
36616
37502
|
# @return [String]
|
36617
37503
|
attr_accessor :private_ipv6_google_access
|
36618
37504
|
|
36619
|
-
# The purpose of the resource. This field can be either
|
36620
|
-
#
|
36621
|
-
# INTERNAL_HTTPS_LOAD_BALANCER is
|
36622
|
-
#
|
36623
|
-
#
|
36624
|
-
#
|
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.
|
36625
37518
|
# Corresponds to the JSON property `purpose`
|
36626
37519
|
# @return [String]
|
36627
37520
|
attr_accessor :purpose
|
@@ -36633,11 +37526,10 @@ module Google
|
|
36633
37526
|
attr_accessor :region
|
36634
37527
|
|
36635
37528
|
# The role of subnetwork. Currently, this field is only used when purpose =
|
36636
|
-
#
|
36637
|
-
#
|
36638
|
-
#
|
36639
|
-
#
|
36640
|
-
# 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.
|
36641
37533
|
# Corresponds to the JSON property `role`
|
36642
37534
|
# @return [String]
|
36643
37535
|
attr_accessor :role
|
@@ -36963,7 +37855,8 @@ module Google
|
|
36963
37855
|
# Whether to enable flow logging for this subnetwork. If this field is not
|
36964
37856
|
# explicitly set, it will not appear in get listings. If not set the default
|
36965
37857
|
# behavior is determined by the org policy, if there is no org policy specified,
|
36966
|
-
# 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.
|
36967
37860
|
# Corresponds to the JSON property `enable`
|
36968
37861
|
# @return [Boolean]
|
36969
37862
|
attr_accessor :enable
|
@@ -37982,7 +38875,9 @@ module Google
|
|
37982
38875
|
class TargetHttpsProxiesSetCertificateMapRequest
|
37983
38876
|
include Google::Apis::Core::Hashable
|
37984
38877
|
|
37985
|
-
# 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`.
|
37986
38881
|
# Corresponds to the JSON property `certificateMap`
|
37987
38882
|
# @return [String]
|
37988
38883
|
attr_accessor :certificate_map
|
@@ -38062,7 +38957,9 @@ module Google
|
|
38062
38957
|
|
38063
38958
|
# URL of a certificate map that identifies a certificate map associated with the
|
38064
38959
|
# given target proxy. This field can only be set for global target proxies. If
|
38065
|
-
# 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`.
|
38066
38963
|
# Corresponds to the JSON property `certificateMap`
|
38067
38964
|
# @return [String]
|
38068
38965
|
attr_accessor :certificate_map
|
@@ -39483,7 +40380,9 @@ module Google
|
|
39483
40380
|
class TargetSslProxiesSetCertificateMapRequest
|
39484
40381
|
include Google::Apis::Core::Hashable
|
39485
40382
|
|
39486
|
-
# 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`.
|
39487
40386
|
# Corresponds to the JSON property `certificateMap`
|
39488
40387
|
# @return [String]
|
39489
40388
|
attr_accessor :certificate_map
|
@@ -39548,7 +40447,9 @@ module Google
|
|
39548
40447
|
|
39549
40448
|
# URL of a certificate map that identifies a certificate map associated with the
|
39550
40449
|
# given target proxy. This field can only be set for global target proxies. If
|
39551
|
-
# 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`.
|
39552
40453
|
# Corresponds to the JSON property `certificateMap`
|
39553
40454
|
# @return [String]
|
39554
40455
|
attr_accessor :certificate_map
|
@@ -40255,6 +41156,25 @@ module Google
|
|
40255
41156
|
# @return [String]
|
40256
41157
|
attr_accessor :kind
|
40257
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
|
+
|
40258
41178
|
# Name of the resource. Provided by the client when the resource is created. The
|
40259
41179
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
40260
41180
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
@@ -40306,6 +41226,8 @@ module Google
|
|
40306
41226
|
@forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
|
40307
41227
|
@id = args[:id] if args.key?(:id)
|
40308
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)
|
40309
41231
|
@name = args[:name] if args.key?(:name)
|
40310
41232
|
@network = args[:network] if args.key?(:network)
|
40311
41233
|
@region = args[:region] if args.key?(:region)
|
@@ -41513,6 +42435,22 @@ module Google
|
|
41513
42435
|
# @return [String]
|
41514
42436
|
attr_accessor :path_prefix_rewrite
|
41515
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
|
+
|
41516
42454
|
def initialize(**args)
|
41517
42455
|
update!(**args)
|
41518
42456
|
end
|
@@ -41521,6 +42459,7 @@ module Google
|
|
41521
42459
|
def update!(**args)
|
41522
42460
|
@host_rewrite = args[:host_rewrite] if args.key?(:host_rewrite)
|
41523
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)
|
41524
42463
|
end
|
41525
42464
|
end
|
41526
42465
|
|
@@ -41557,22 +42496,28 @@ module Google
|
|
41557
42496
|
# @return [String]
|
41558
42497
|
attr_accessor :network
|
41559
42498
|
|
41560
|
-
# The purpose of the resource. This field can be either
|
41561
|
-
#
|
41562
|
-
# INTERNAL_HTTPS_LOAD_BALANCER is
|
41563
|
-
#
|
41564
|
-
#
|
41565
|
-
#
|
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.
|
41566
42512
|
# Corresponds to the JSON property `purpose`
|
41567
42513
|
# @return [String]
|
41568
42514
|
attr_accessor :purpose
|
41569
42515
|
|
41570
42516
|
# The role of subnetwork. Currently, this field is only used when purpose =
|
41571
|
-
#
|
41572
|
-
#
|
41573
|
-
#
|
41574
|
-
#
|
41575
|
-
# 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.
|
41576
42521
|
# Corresponds to the JSON property `role`
|
41577
42522
|
# @return [String]
|
41578
42523
|
attr_accessor :role
|
@@ -42458,7 +43403,7 @@ module Google
|
|
42458
43403
|
attr_accessor :local_gateway_interface
|
42459
43404
|
|
42460
43405
|
# The peer gateway interface this VPN tunnel is connected to, the peer gateway
|
42461
|
-
# could either be an external VPN gateway or
|
43406
|
+
# could either be an external VPN gateway or a Google Cloud VPN gateway.
|
42462
43407
|
# Corresponds to the JSON property `peerGatewayInterface`
|
42463
43408
|
# @return [Fixnum]
|
42464
43409
|
attr_accessor :peer_gateway_interface
|
@@ -42481,8 +43426,8 @@ module Google
|
|
42481
43426
|
end
|
42482
43427
|
|
42483
43428
|
# A VPN connection contains all VPN tunnels connected from this VpnGateway to
|
42484
|
-
# the same peer gateway. The peer gateway could either be
|
42485
|
-
# or
|
43429
|
+
# the same peer gateway. The peer gateway could either be an external VPN
|
43430
|
+
# gateway or a Google Cloud VPN gateway.
|
42486
43431
|
class VpnGatewayStatusVpnConnection
|
42487
43432
|
include Google::Apis::Core::Hashable
|
42488
43433
|
|
@@ -42715,6 +43660,25 @@ module Google
|
|
42715
43660
|
# @return [String]
|
42716
43661
|
attr_accessor :kind
|
42717
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
|
+
|
42718
43682
|
# Local traffic selector to use when establishing the VPN tunnel with the peer
|
42719
43683
|
# VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
|
42720
43684
|
# 0.0/16. The ranges must be disjoint. Only IPv4 is supported.
|
@@ -42850,6 +43814,8 @@ module Google
|
|
42850
43814
|
@id = args[:id] if args.key?(:id)
|
42851
43815
|
@ike_version = args[:ike_version] if args.key?(:ike_version)
|
42852
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)
|
42853
43819
|
@local_traffic_selector = args[:local_traffic_selector] if args.key?(:local_traffic_selector)
|
42854
43820
|
@name = args[:name] if args.key?(:name)
|
42855
43821
|
@peer_external_gateway = args[:peer_external_gateway] if args.key?(:peer_external_gateway)
|