google-apis-compute_beta 0.66.0 → 0.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -567,6 +567,12 @@ module Google
|
|
567
567
|
# @return [String]
|
568
568
|
attr_accessor :public_ptr_domain_name
|
569
569
|
|
570
|
+
# [Output Only] The resource URL for the security policy associated with this
|
571
|
+
# access config.
|
572
|
+
# Corresponds to the JSON property `securityPolicy`
|
573
|
+
# @return [String]
|
574
|
+
attr_accessor :security_policy
|
575
|
+
|
570
576
|
# Specifies whether a public DNS 'PTR' record should be created to map the
|
571
577
|
# external IP address of the instance to a DNS domain name. This field is not
|
572
578
|
# used in ipv6AccessConfig. A default PTR record will be created if the VM has
|
@@ -596,6 +602,7 @@ module Google
|
|
596
602
|
@nat_ip = args[:nat_ip] if args.key?(:nat_ip)
|
597
603
|
@network_tier = args[:network_tier] if args.key?(:network_tier)
|
598
604
|
@public_ptr_domain_name = args[:public_ptr_domain_name] if args.key?(:public_ptr_domain_name)
|
605
|
+
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
599
606
|
@set_public_ptr = args[:set_public_ptr] if args.key?(:set_public_ptr)
|
600
607
|
@type = args[:type] if args.key?(:type)
|
601
608
|
end
|
@@ -3490,6 +3497,12 @@ module Google
|
|
3490
3497
|
# @return [Google::Apis::ComputeBeta::Duration]
|
3491
3498
|
attr_accessor :max_stream_duration
|
3492
3499
|
|
3500
|
+
# Deployment metadata associated with the resource to be set by a GKE hub
|
3501
|
+
# controller and read by the backend RCTH
|
3502
|
+
# Corresponds to the JSON property `metadatas`
|
3503
|
+
# @return [Hash<String,String>]
|
3504
|
+
attr_accessor :metadatas
|
3505
|
+
|
3493
3506
|
# Name of the resource. Provided by the client when the resource is created. The
|
3494
3507
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
3495
3508
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
@@ -3629,6 +3642,7 @@ module Google
|
|
3629
3642
|
@locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
|
3630
3643
|
@log_config = args[:log_config] if args.key?(:log_config)
|
3631
3644
|
@max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
|
3645
|
+
@metadatas = args[:metadatas] if args.key?(:metadatas)
|
3632
3646
|
@name = args[:name] if args.key?(:name)
|
3633
3647
|
@network = args[:network] if args.key?(:network)
|
3634
3648
|
@outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
|
@@ -4973,6 +4987,12 @@ module Google
|
|
4973
4987
|
class BulkInsertInstanceResourcePerInstanceProperties
|
4974
4988
|
include Google::Apis::Core::Hashable
|
4975
4989
|
|
4990
|
+
# Specifies the hostname of the instance. More details in: https://cloud.google.
|
4991
|
+
# com/compute/docs/instances/custom-hostname-vm#naming_convention
|
4992
|
+
# Corresponds to the JSON property `hostname`
|
4993
|
+
# @return [String]
|
4994
|
+
attr_accessor :hostname
|
4995
|
+
|
4976
4996
|
# This field is only temporary. It will be removed. Do not use it.
|
4977
4997
|
# Corresponds to the JSON property `name`
|
4978
4998
|
# @return [String]
|
@@ -4984,6 +5004,7 @@ module Google
|
|
4984
5004
|
|
4985
5005
|
# Update properties of this object
|
4986
5006
|
def update!(**args)
|
5007
|
+
@hostname = args[:hostname] if args.key?(:hostname)
|
4987
5008
|
@name = args[:name] if args.key?(:name)
|
4988
5009
|
end
|
4989
5010
|
end
|
@@ -5278,7 +5299,7 @@ module Google
|
|
5278
5299
|
# @return [String]
|
5279
5300
|
attr_accessor :self_link
|
5280
5301
|
|
5281
|
-
# Source commitment to be
|
5302
|
+
# Source commitment to be split into a new commitment.
|
5282
5303
|
# Corresponds to the JSON property `splitSourceCommitment`
|
5283
5304
|
# @return [String]
|
5284
5305
|
attr_accessor :split_source_commitment
|
@@ -9107,6 +9128,14 @@ module Google
|
|
9107
9128
|
# @return [Fixnum]
|
9108
9129
|
attr_accessor :rule_tuple_count
|
9109
9130
|
|
9131
|
+
# A fully-qualified URL of a SecurityProfile resource instance. Example: https://
|
9132
|
+
# networksecurity.googleapis.com/v1/projects/`project`/locations/`location`/
|
9133
|
+
# securityProfileGroups/my-security-profile-group Must be specified if action = '
|
9134
|
+
# apply_security_profile_group' and cannot be specified for other actions.
|
9135
|
+
# Corresponds to the JSON property `securityProfileGroup`
|
9136
|
+
# @return [String]
|
9137
|
+
attr_accessor :security_profile_group
|
9138
|
+
|
9110
9139
|
# A list of network resource URLs to which this rule applies. This field allows
|
9111
9140
|
# you to control which network's VMs get this rule. If this field is left blank,
|
9112
9141
|
# all VMs within the organization will receive the rule.
|
@@ -9132,6 +9161,14 @@ module Google
|
|
9132
9161
|
# @return [Array<String>]
|
9133
9162
|
attr_accessor :target_service_accounts
|
9134
9163
|
|
9164
|
+
# Boolean flag indicating if the traffic should be TLS decrypted. Can be set
|
9165
|
+
# only if action = 'apply_security_profile_group' and cannot be set for other
|
9166
|
+
# actions.
|
9167
|
+
# Corresponds to the JSON property `tlsInspect`
|
9168
|
+
# @return [Boolean]
|
9169
|
+
attr_accessor :tls_inspect
|
9170
|
+
alias_method :tls_inspect?, :tls_inspect
|
9171
|
+
|
9135
9172
|
def initialize(**args)
|
9136
9173
|
update!(**args)
|
9137
9174
|
end
|
@@ -9148,9 +9185,11 @@ module Google
|
|
9148
9185
|
@priority = args[:priority] if args.key?(:priority)
|
9149
9186
|
@rule_name = args[:rule_name] if args.key?(:rule_name)
|
9150
9187
|
@rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
|
9188
|
+
@security_profile_group = args[:security_profile_group] if args.key?(:security_profile_group)
|
9151
9189
|
@target_resources = args[:target_resources] if args.key?(:target_resources)
|
9152
9190
|
@target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
|
9153
9191
|
@target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
|
9192
|
+
@tls_inspect = args[:tls_inspect] if args.key?(:tls_inspect)
|
9154
9193
|
end
|
9155
9194
|
end
|
9156
9195
|
|
@@ -11689,6 +11728,12 @@ module Google
|
|
11689
11728
|
# @return [String]
|
11690
11729
|
attr_accessor :health_state
|
11691
11730
|
|
11731
|
+
# Health state of the ipv6 network endpoint determined based on the health
|
11732
|
+
# checks configured.
|
11733
|
+
# Corresponds to the JSON property `ipv6HealthState`
|
11734
|
+
# @return [String]
|
11735
|
+
attr_accessor :ipv6_health_state
|
11736
|
+
|
11692
11737
|
def initialize(**args)
|
11693
11738
|
update!(**args)
|
11694
11739
|
end
|
@@ -11700,6 +11745,7 @@ module Google
|
|
11700
11745
|
@health_check = args[:health_check] if args.key?(:health_check)
|
11701
11746
|
@health_check_service = args[:health_check_service] if args.key?(:health_check_service)
|
11702
11747
|
@health_state = args[:health_state] if args.key?(:health_state)
|
11748
|
+
@ipv6_health_state = args[:ipv6_health_state] if args.key?(:ipv6_health_state)
|
11703
11749
|
end
|
11704
11750
|
end
|
11705
11751
|
|
@@ -17694,6 +17740,34 @@ module Google
|
|
17694
17740
|
end
|
17695
17741
|
end
|
17696
17742
|
|
17743
|
+
#
|
17744
|
+
class InstancesSetSecurityPolicyRequest
|
17745
|
+
include Google::Apis::Core::Hashable
|
17746
|
+
|
17747
|
+
# The network interfaces that the security policy will be applied to. Network
|
17748
|
+
# interfaces use the nicN naming format. You can only set a security policy for
|
17749
|
+
# network interfaces with an access config.
|
17750
|
+
# Corresponds to the JSON property `networkInterfaces`
|
17751
|
+
# @return [Array<String>]
|
17752
|
+
attr_accessor :network_interfaces
|
17753
|
+
|
17754
|
+
# A full or partial URL to a security policy to add to this instance. If this
|
17755
|
+
# field is set to an empty string it will remove the associated security policy.
|
17756
|
+
# Corresponds to the JSON property `securityPolicy`
|
17757
|
+
# @return [String]
|
17758
|
+
attr_accessor :security_policy
|
17759
|
+
|
17760
|
+
def initialize(**args)
|
17761
|
+
update!(**args)
|
17762
|
+
end
|
17763
|
+
|
17764
|
+
# Update properties of this object
|
17765
|
+
def update!(**args)
|
17766
|
+
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
17767
|
+
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
17768
|
+
end
|
17769
|
+
end
|
17770
|
+
|
17697
17771
|
#
|
17698
17772
|
class InstancesSetServiceAccountRequest
|
17699
17773
|
include Google::Apis::Core::Hashable
|
@@ -17924,6 +17998,12 @@ module Google
|
|
17924
17998
|
# @return [Fixnum]
|
17925
17999
|
attr_accessor :provisioned_link_count
|
17926
18000
|
|
18001
|
+
# Indicates that this is a Cross-Cloud Interconnect. This field specifies the
|
18002
|
+
# location outside of Google's network that the interconnect is connected to.
|
18003
|
+
# Corresponds to the JSON property `remoteLocation`
|
18004
|
+
# @return [String]
|
18005
|
+
attr_accessor :remote_location
|
18006
|
+
|
17927
18007
|
# Target number of physical links in the link bundle, as requested by the
|
17928
18008
|
# customer.
|
17929
18009
|
# Corresponds to the JSON property `requestedLinkCount`
|
@@ -17979,6 +18059,7 @@ module Google
|
|
17979
18059
|
@operational_status = args[:operational_status] if args.key?(:operational_status)
|
17980
18060
|
@peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
|
17981
18061
|
@provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
|
18062
|
+
@remote_location = args[:remote_location] if args.key?(:remote_location)
|
17982
18063
|
@requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
|
17983
18064
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
17984
18065
|
@self_link = args[:self_link] if args.key?(:self_link)
|
@@ -18046,6 +18127,12 @@ module Google
|
|
18046
18127
|
# @return [String]
|
18047
18128
|
attr_accessor :cloud_router_ipv6_interface_id
|
18048
18129
|
|
18130
|
+
# [Output Only] Constraints for this attachment, if any. The attachment does not
|
18131
|
+
# work if these constraints are not met.
|
18132
|
+
# Corresponds to the JSON property `configurationConstraints`
|
18133
|
+
# @return [Google::Apis::ComputeBeta::InterconnectAttachmentConfigurationConstraints]
|
18134
|
+
attr_accessor :configuration_constraints
|
18135
|
+
|
18049
18136
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
18050
18137
|
# Corresponds to the JSON property `creationTimestamp`
|
18051
18138
|
# @return [String]
|
@@ -18227,6 +18314,15 @@ module Google
|
|
18227
18314
|
# @return [String]
|
18228
18315
|
attr_accessor :region
|
18229
18316
|
|
18317
|
+
# [Output Only] If the attachment is on a Cross-Cloud Interconnect connection,
|
18318
|
+
# this field contains the interconnect's remote location service provider.
|
18319
|
+
# Example values: "Amazon Web Services" "Microsoft Azure". The field is set only
|
18320
|
+
# for attachments on Cross-Cloud Interconnect connections. Its value is copied
|
18321
|
+
# from the InterconnectRemoteLocation remoteService field.
|
18322
|
+
# Corresponds to the JSON property `remoteService`
|
18323
|
+
# @return [String]
|
18324
|
+
attr_accessor :remote_service
|
18325
|
+
|
18230
18326
|
# URL of the Cloud Router to be used for dynamic routing. This router must be in
|
18231
18327
|
# the same region as this InterconnectAttachment. The InterconnectAttachment
|
18232
18328
|
# will automatically connect the Interconnect to the network & region within
|
@@ -18273,6 +18369,17 @@ module Google
|
|
18273
18369
|
# @return [String]
|
18274
18370
|
attr_accessor :state
|
18275
18371
|
|
18372
|
+
# Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The
|
18373
|
+
# default value is 29, except for Cross-Cloud Interconnect connections that use
|
18374
|
+
# an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal
|
18375
|
+
# to 30. For example, connections that use an Azure remote location fall into
|
18376
|
+
# this category. In these cases, the default value is 30, and requesting 29
|
18377
|
+
# returns an error. Where both 29 and 30 are allowed, 29 is preferred, because
|
18378
|
+
# it gives Google Cloud Support more debugging visibility.
|
18379
|
+
# Corresponds to the JSON property `subnetLength`
|
18380
|
+
# @return [Fixnum]
|
18381
|
+
attr_accessor :subnet_length
|
18382
|
+
|
18276
18383
|
# The type of interconnect attachment this is, which can take one of the
|
18277
18384
|
# following values: - DEDICATED: an attachment to a Dedicated Interconnect. -
|
18278
18385
|
# PARTNER: an attachment to a Partner Interconnect, created by the customer. -
|
@@ -18301,6 +18408,7 @@ module Google
|
|
18301
18408
|
@cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
|
18302
18409
|
@cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
|
18303
18410
|
@cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
|
18411
|
+
@configuration_constraints = args[:configuration_constraints] if args.key?(:configuration_constraints)
|
18304
18412
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
18305
18413
|
@customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
|
18306
18414
|
@customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
|
@@ -18324,11 +18432,13 @@ module Google
|
|
18324
18432
|
@partner_metadata = args[:partner_metadata] if args.key?(:partner_metadata)
|
18325
18433
|
@private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
|
18326
18434
|
@region = args[:region] if args.key?(:region)
|
18435
|
+
@remote_service = args[:remote_service] if args.key?(:remote_service)
|
18327
18436
|
@router = args[:router] if args.key?(:router)
|
18328
18437
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
18329
18438
|
@self_link = args[:self_link] if args.key?(:self_link)
|
18330
18439
|
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
18331
18440
|
@state = args[:state] if args.key?(:state)
|
18441
|
+
@subnet_length = args[:subnet_length] if args.key?(:subnet_length)
|
18332
18442
|
@type = args[:type] if args.key?(:type)
|
18333
18443
|
@vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
|
18334
18444
|
end
|
@@ -18459,6 +18569,68 @@ module Google
|
|
18459
18569
|
end
|
18460
18570
|
end
|
18461
18571
|
|
18572
|
+
#
|
18573
|
+
class InterconnectAttachmentConfigurationConstraints
|
18574
|
+
include Google::Apis::Core::Hashable
|
18575
|
+
|
18576
|
+
# [Output Only] Whether the attachment's BGP session requires/allows/disallows
|
18577
|
+
# BGP MD5 authentication. This can take one of the following values:
|
18578
|
+
# MD5_OPTIONAL, MD5_REQUIRED, MD5_UNSUPPORTED. For example, a Cross-Cloud
|
18579
|
+
# Interconnect connection to a remote cloud provider that requires BGP MD5
|
18580
|
+
# authentication has the interconnectRemoteLocation
|
18581
|
+
# attachment_configuration_constraints.bgp_md5 field set to MD5_REQUIRED, and
|
18582
|
+
# that property is propagated to the attachment. Similarly, if BGP MD5 is
|
18583
|
+
# MD5_UNSUPPORTED, an error is returned if MD5 is requested.
|
18584
|
+
# Corresponds to the JSON property `bgpMd5`
|
18585
|
+
# @return [String]
|
18586
|
+
attr_accessor :bgp_md5
|
18587
|
+
|
18588
|
+
# [Output Only] List of ASN ranges that the remote location is known to support.
|
18589
|
+
# Formatted as an array of inclusive ranges `min: min-value, max: max-value`.
|
18590
|
+
# For example, [`min: 123, max: 123`, `min: 64512, max: 65534`] allows the peer
|
18591
|
+
# ASN to be 123 or anything in the range 64512-65534. This field is only
|
18592
|
+
# advisory. Although the API accepts other ranges, these are the ranges that we
|
18593
|
+
# recommend.
|
18594
|
+
# Corresponds to the JSON property `bgpPeerAsnRanges`
|
18595
|
+
# @return [Array<Google::Apis::ComputeBeta::InterconnectAttachmentConfigurationConstraintsBgpPeerAsnRange>]
|
18596
|
+
attr_accessor :bgp_peer_asn_ranges
|
18597
|
+
|
18598
|
+
def initialize(**args)
|
18599
|
+
update!(**args)
|
18600
|
+
end
|
18601
|
+
|
18602
|
+
# Update properties of this object
|
18603
|
+
def update!(**args)
|
18604
|
+
@bgp_md5 = args[:bgp_md5] if args.key?(:bgp_md5)
|
18605
|
+
@bgp_peer_asn_ranges = args[:bgp_peer_asn_ranges] if args.key?(:bgp_peer_asn_ranges)
|
18606
|
+
end
|
18607
|
+
end
|
18608
|
+
|
18609
|
+
#
|
18610
|
+
class InterconnectAttachmentConfigurationConstraintsBgpPeerAsnRange
|
18611
|
+
include Google::Apis::Core::Hashable
|
18612
|
+
|
18613
|
+
#
|
18614
|
+
# Corresponds to the JSON property `max`
|
18615
|
+
# @return [Fixnum]
|
18616
|
+
attr_accessor :max
|
18617
|
+
|
18618
|
+
#
|
18619
|
+
# Corresponds to the JSON property `min`
|
18620
|
+
# @return [Fixnum]
|
18621
|
+
attr_accessor :min
|
18622
|
+
|
18623
|
+
def initialize(**args)
|
18624
|
+
update!(**args)
|
18625
|
+
end
|
18626
|
+
|
18627
|
+
# Update properties of this object
|
18628
|
+
def update!(**args)
|
18629
|
+
@max = args[:max] if args.key?(:max)
|
18630
|
+
@min = args[:min] if args.key?(:min)
|
18631
|
+
end
|
18632
|
+
end
|
18633
|
+
|
18462
18634
|
# Response to the list request, and contains a list of interconnect attachments.
|
18463
18635
|
class InterconnectAttachmentList
|
18464
18636
|
include Google::Apis::Core::Hashable
|
@@ -19429,6 +19601,371 @@ module Google
|
|
19429
19601
|
end
|
19430
19602
|
end
|
19431
19603
|
|
19604
|
+
# Represents a Cross-Cloud Interconnect Remote Location resource. You can use
|
19605
|
+
# this resource to find remote location details about an Interconnect attachment
|
19606
|
+
# (VLAN).
|
19607
|
+
class InterconnectRemoteLocation
|
19608
|
+
include Google::Apis::Core::Hashable
|
19609
|
+
|
19610
|
+
# [Output Only] The postal address of the Point of Presence, each line in the
|
19611
|
+
# address is separated by a newline character.
|
19612
|
+
# Corresponds to the JSON property `address`
|
19613
|
+
# @return [String]
|
19614
|
+
attr_accessor :address
|
19615
|
+
|
19616
|
+
# [Output Only] Subset of fields from InterconnectAttachment's |
|
19617
|
+
# configurationConstraints| field that apply to all attachments for this remote
|
19618
|
+
# location.
|
19619
|
+
# Corresponds to the JSON property `attachmentConfigurationConstraints`
|
19620
|
+
# @return [Google::Apis::ComputeBeta::InterconnectAttachmentConfigurationConstraints]
|
19621
|
+
attr_accessor :attachment_configuration_constraints
|
19622
|
+
|
19623
|
+
# [Output Only] Metropolitan area designator that indicates which city an
|
19624
|
+
# interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands".
|
19625
|
+
# Corresponds to the JSON property `city`
|
19626
|
+
# @return [String]
|
19627
|
+
attr_accessor :city
|
19628
|
+
|
19629
|
+
# [Output Only] Constraints on the parameters for creating Cross-Cloud
|
19630
|
+
# Interconnect and associated InterconnectAttachments.
|
19631
|
+
# Corresponds to the JSON property `constraints`
|
19632
|
+
# @return [Google::Apis::ComputeBeta::InterconnectRemoteLocationConstraints]
|
19633
|
+
attr_accessor :constraints
|
19634
|
+
|
19635
|
+
# [Output Only] Continent for this location, which can take one of the following
|
19636
|
+
# values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA
|
19637
|
+
# Corresponds to the JSON property `continent`
|
19638
|
+
# @return [String]
|
19639
|
+
attr_accessor :continent
|
19640
|
+
|
19641
|
+
# [Output Only] Creation timestamp in RFC3339 text format.
|
19642
|
+
# Corresponds to the JSON property `creationTimestamp`
|
19643
|
+
# @return [String]
|
19644
|
+
attr_accessor :creation_timestamp
|
19645
|
+
|
19646
|
+
# [Output Only] An optional description of the resource.
|
19647
|
+
# Corresponds to the JSON property `description`
|
19648
|
+
# @return [String]
|
19649
|
+
attr_accessor :description
|
19650
|
+
|
19651
|
+
# [Output Only] The name of the provider for this facility (e.g., EQUINIX).
|
19652
|
+
# Corresponds to the JSON property `facilityProvider`
|
19653
|
+
# @return [String]
|
19654
|
+
attr_accessor :facility_provider
|
19655
|
+
|
19656
|
+
# [Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-
|
19657
|
+
# DC1).
|
19658
|
+
# Corresponds to the JSON property `facilityProviderFacilityId`
|
19659
|
+
# @return [String]
|
19660
|
+
attr_accessor :facility_provider_facility_id
|
19661
|
+
|
19662
|
+
# [Output Only] The unique identifier for the resource. This identifier is
|
19663
|
+
# defined by the server.
|
19664
|
+
# Corresponds to the JSON property `id`
|
19665
|
+
# @return [Fixnum]
|
19666
|
+
attr_accessor :id
|
19667
|
+
|
19668
|
+
# [Output Only] Type of the resource. Always compute#interconnectRemoteLocation
|
19669
|
+
# for interconnect remote locations.
|
19670
|
+
# Corresponds to the JSON property `kind`
|
19671
|
+
# @return [String]
|
19672
|
+
attr_accessor :kind
|
19673
|
+
|
19674
|
+
# [Output Only] Link Aggregation Control Protocol (LACP) constraints, which can
|
19675
|
+
# take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED
|
19676
|
+
# Corresponds to the JSON property `lacp`
|
19677
|
+
# @return [String]
|
19678
|
+
attr_accessor :lacp
|
19679
|
+
|
19680
|
+
# [Output Only] The maximum number of 100 Gbps ports supported in a link
|
19681
|
+
# aggregation group (LAG). When linkType is 100 Gbps, requestedLinkCount cannot
|
19682
|
+
# exceed max_lag_size_100_gbps.
|
19683
|
+
# Corresponds to the JSON property `maxLagSize100Gbps`
|
19684
|
+
# @return [Fixnum]
|
19685
|
+
attr_accessor :max_lag_size100_gbps
|
19686
|
+
|
19687
|
+
# [Output Only] The maximum number of 10 Gbps ports supported in a link
|
19688
|
+
# aggregation group (LAG). When linkType is 10 Gbps, requestedLinkCount cannot
|
19689
|
+
# exceed max_lag_size_10_gbps.
|
19690
|
+
# Corresponds to the JSON property `maxLagSize10Gbps`
|
19691
|
+
# @return [Fixnum]
|
19692
|
+
attr_accessor :max_lag_size10_gbps
|
19693
|
+
|
19694
|
+
# [Output Only] Name of the resource.
|
19695
|
+
# Corresponds to the JSON property `name`
|
19696
|
+
# @return [String]
|
19697
|
+
attr_accessor :name
|
19698
|
+
|
19699
|
+
# [Output Only] The peeringdb identifier for this facility (corresponding with a
|
19700
|
+
# netfac type in peeringdb).
|
19701
|
+
# Corresponds to the JSON property `peeringdbFacilityId`
|
19702
|
+
# @return [String]
|
19703
|
+
attr_accessor :peeringdb_facility_id
|
19704
|
+
|
19705
|
+
# [Output Only] Permitted connections.
|
19706
|
+
# Corresponds to the JSON property `permittedConnections`
|
19707
|
+
# @return [Array<Google::Apis::ComputeBeta::InterconnectRemoteLocationPermittedConnections>]
|
19708
|
+
attr_accessor :permitted_connections
|
19709
|
+
|
19710
|
+
# [Output Only] Indicates the service provider present at the remote location.
|
19711
|
+
# Example values: "Amazon Web Services", "Microsoft Azure".
|
19712
|
+
# Corresponds to the JSON property `remoteService`
|
19713
|
+
# @return [String]
|
19714
|
+
attr_accessor :remote_service
|
19715
|
+
|
19716
|
+
# [Output Only] Server-defined URL for the resource.
|
19717
|
+
# Corresponds to the JSON property `selfLink`
|
19718
|
+
# @return [String]
|
19719
|
+
attr_accessor :self_link
|
19720
|
+
|
19721
|
+
# [Output Only] The status of this InterconnectRemoteLocation, which can take
|
19722
|
+
# one of the following values: - CLOSED: The InterconnectRemoteLocation is
|
19723
|
+
# closed and is unavailable for provisioning new Cross-Cloud Interconnects. -
|
19724
|
+
# AVAILABLE: The InterconnectRemoteLocation is available for provisioning new
|
19725
|
+
# Cross-Cloud Interconnects.
|
19726
|
+
# Corresponds to the JSON property `status`
|
19727
|
+
# @return [String]
|
19728
|
+
attr_accessor :status
|
19729
|
+
|
19730
|
+
def initialize(**args)
|
19731
|
+
update!(**args)
|
19732
|
+
end
|
19733
|
+
|
19734
|
+
# Update properties of this object
|
19735
|
+
def update!(**args)
|
19736
|
+
@address = args[:address] if args.key?(:address)
|
19737
|
+
@attachment_configuration_constraints = args[:attachment_configuration_constraints] if args.key?(:attachment_configuration_constraints)
|
19738
|
+
@city = args[:city] if args.key?(:city)
|
19739
|
+
@constraints = args[:constraints] if args.key?(:constraints)
|
19740
|
+
@continent = args[:continent] if args.key?(:continent)
|
19741
|
+
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
19742
|
+
@description = args[:description] if args.key?(:description)
|
19743
|
+
@facility_provider = args[:facility_provider] if args.key?(:facility_provider)
|
19744
|
+
@facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id)
|
19745
|
+
@id = args[:id] if args.key?(:id)
|
19746
|
+
@kind = args[:kind] if args.key?(:kind)
|
19747
|
+
@lacp = args[:lacp] if args.key?(:lacp)
|
19748
|
+
@max_lag_size100_gbps = args[:max_lag_size100_gbps] if args.key?(:max_lag_size100_gbps)
|
19749
|
+
@max_lag_size10_gbps = args[:max_lag_size10_gbps] if args.key?(:max_lag_size10_gbps)
|
19750
|
+
@name = args[:name] if args.key?(:name)
|
19751
|
+
@peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id)
|
19752
|
+
@permitted_connections = args[:permitted_connections] if args.key?(:permitted_connections)
|
19753
|
+
@remote_service = args[:remote_service] if args.key?(:remote_service)
|
19754
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
19755
|
+
@status = args[:status] if args.key?(:status)
|
19756
|
+
end
|
19757
|
+
end
|
19758
|
+
|
19759
|
+
#
|
19760
|
+
class InterconnectRemoteLocationConstraints
|
19761
|
+
include Google::Apis::Core::Hashable
|
19762
|
+
|
19763
|
+
# [Output Only] Port pair remote location constraints, which can take one of the
|
19764
|
+
# following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION,
|
19765
|
+
# PORT_PAIR_MATCHING_REMOTE_LOCATION. GCP's API refers only to individual ports,
|
19766
|
+
# but the UI uses this field when ordering a pair of ports, to prevent users
|
19767
|
+
# from accidentally ordering something that is incompatible with their cloud
|
19768
|
+
# provider. Specifically, when ordering a redundant pair of Cross-Cloud
|
19769
|
+
# Interconnect ports, and one of them uses a remote location with
|
19770
|
+
# portPairMatchingRemoteLocation set to matching, the UI requires that both
|
19771
|
+
# ports use the same remote location.
|
19772
|
+
# Corresponds to the JSON property `portPairRemoteLocation`
|
19773
|
+
# @return [String]
|
19774
|
+
attr_accessor :port_pair_remote_location
|
19775
|
+
|
19776
|
+
# [Output Only] Port pair VLAN constraints, which can take one of the following
|
19777
|
+
# values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN
|
19778
|
+
# Corresponds to the JSON property `portPairVlan`
|
19779
|
+
# @return [String]
|
19780
|
+
attr_accessor :port_pair_vlan
|
19781
|
+
|
19782
|
+
# [Output Only] [min-length, max-length] The minimum and maximum value (
|
19783
|
+
# inclusive) for the IPv4 subnet length. For example, an
|
19784
|
+
# interconnectRemoteLocation for Azure has `min: 30, max: 30` because Azure
|
19785
|
+
# requires /30 subnets. This range specifies the values supported by both cloud
|
19786
|
+
# providers. Interconnect currently supports /29 and /30 IPv4 subnet lengths. If
|
19787
|
+
# a remote cloud has no constraint on IPv4 subnet length, the range would thus
|
19788
|
+
# be `min: 29, max: 30`.
|
19789
|
+
# Corresponds to the JSON property `subnetLengthRange`
|
19790
|
+
# @return [Google::Apis::ComputeBeta::InterconnectRemoteLocationConstraintsSubnetLengthRange]
|
19791
|
+
attr_accessor :subnet_length_range
|
19792
|
+
|
19793
|
+
def initialize(**args)
|
19794
|
+
update!(**args)
|
19795
|
+
end
|
19796
|
+
|
19797
|
+
# Update properties of this object
|
19798
|
+
def update!(**args)
|
19799
|
+
@port_pair_remote_location = args[:port_pair_remote_location] if args.key?(:port_pair_remote_location)
|
19800
|
+
@port_pair_vlan = args[:port_pair_vlan] if args.key?(:port_pair_vlan)
|
19801
|
+
@subnet_length_range = args[:subnet_length_range] if args.key?(:subnet_length_range)
|
19802
|
+
end
|
19803
|
+
end
|
19804
|
+
|
19805
|
+
#
|
19806
|
+
class InterconnectRemoteLocationConstraintsSubnetLengthRange
|
19807
|
+
include Google::Apis::Core::Hashable
|
19808
|
+
|
19809
|
+
#
|
19810
|
+
# Corresponds to the JSON property `max`
|
19811
|
+
# @return [Fixnum]
|
19812
|
+
attr_accessor :max
|
19813
|
+
|
19814
|
+
#
|
19815
|
+
# Corresponds to the JSON property `min`
|
19816
|
+
# @return [Fixnum]
|
19817
|
+
attr_accessor :min
|
19818
|
+
|
19819
|
+
def initialize(**args)
|
19820
|
+
update!(**args)
|
19821
|
+
end
|
19822
|
+
|
19823
|
+
# Update properties of this object
|
19824
|
+
def update!(**args)
|
19825
|
+
@max = args[:max] if args.key?(:max)
|
19826
|
+
@min = args[:min] if args.key?(:min)
|
19827
|
+
end
|
19828
|
+
end
|
19829
|
+
|
19830
|
+
# Response to the list request, and contains a list of interconnect remote
|
19831
|
+
# locations.
|
19832
|
+
class InterconnectRemoteLocationList
|
19833
|
+
include Google::Apis::Core::Hashable
|
19834
|
+
|
19835
|
+
# [Output Only] Unique identifier for the resource; defined by the server.
|
19836
|
+
# Corresponds to the JSON property `id`
|
19837
|
+
# @return [String]
|
19838
|
+
attr_accessor :id
|
19839
|
+
|
19840
|
+
# A list of InterconnectRemoteLocation resources.
|
19841
|
+
# Corresponds to the JSON property `items`
|
19842
|
+
# @return [Array<Google::Apis::ComputeBeta::InterconnectRemoteLocation>]
|
19843
|
+
attr_accessor :items
|
19844
|
+
|
19845
|
+
# [Output Only] Type of resource. Always compute#interconnectRemoteLocationList
|
19846
|
+
# for lists of interconnect remote locations.
|
19847
|
+
# Corresponds to the JSON property `kind`
|
19848
|
+
# @return [String]
|
19849
|
+
attr_accessor :kind
|
19850
|
+
|
19851
|
+
# [Output Only] This token lets you get the next page of results for list
|
19852
|
+
# requests. If the number of results is larger than maxResults, use the
|
19853
|
+
# nextPageToken as a value for the query parameter pageToken in the next list
|
19854
|
+
# request. Subsequent list requests will have their own nextPageToken to
|
19855
|
+
# continue paging through the results.
|
19856
|
+
# Corresponds to the JSON property `nextPageToken`
|
19857
|
+
# @return [String]
|
19858
|
+
attr_accessor :next_page_token
|
19859
|
+
|
19860
|
+
# [Output Only] Server-defined URL for this resource.
|
19861
|
+
# Corresponds to the JSON property `selfLink`
|
19862
|
+
# @return [String]
|
19863
|
+
attr_accessor :self_link
|
19864
|
+
|
19865
|
+
# [Output Only] Informational warning message.
|
19866
|
+
# Corresponds to the JSON property `warning`
|
19867
|
+
# @return [Google::Apis::ComputeBeta::InterconnectRemoteLocationList::Warning]
|
19868
|
+
attr_accessor :warning
|
19869
|
+
|
19870
|
+
def initialize(**args)
|
19871
|
+
update!(**args)
|
19872
|
+
end
|
19873
|
+
|
19874
|
+
# Update properties of this object
|
19875
|
+
def update!(**args)
|
19876
|
+
@id = args[:id] if args.key?(:id)
|
19877
|
+
@items = args[:items] if args.key?(:items)
|
19878
|
+
@kind = args[:kind] if args.key?(:kind)
|
19879
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
19880
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
19881
|
+
@warning = args[:warning] if args.key?(:warning)
|
19882
|
+
end
|
19883
|
+
|
19884
|
+
# [Output Only] Informational warning message.
|
19885
|
+
class Warning
|
19886
|
+
include Google::Apis::Core::Hashable
|
19887
|
+
|
19888
|
+
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
19889
|
+
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
19890
|
+
# Corresponds to the JSON property `code`
|
19891
|
+
# @return [String]
|
19892
|
+
attr_accessor :code
|
19893
|
+
|
19894
|
+
# [Output Only] Metadata about this warning in key: value format. For example: "
|
19895
|
+
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
19896
|
+
# Corresponds to the JSON property `data`
|
19897
|
+
# @return [Array<Google::Apis::ComputeBeta::InterconnectRemoteLocationList::Warning::Datum>]
|
19898
|
+
attr_accessor :data
|
19899
|
+
|
19900
|
+
# [Output Only] A human-readable description of the warning code.
|
19901
|
+
# Corresponds to the JSON property `message`
|
19902
|
+
# @return [String]
|
19903
|
+
attr_accessor :message
|
19904
|
+
|
19905
|
+
def initialize(**args)
|
19906
|
+
update!(**args)
|
19907
|
+
end
|
19908
|
+
|
19909
|
+
# Update properties of this object
|
19910
|
+
def update!(**args)
|
19911
|
+
@code = args[:code] if args.key?(:code)
|
19912
|
+
@data = args[:data] if args.key?(:data)
|
19913
|
+
@message = args[:message] if args.key?(:message)
|
19914
|
+
end
|
19915
|
+
|
19916
|
+
#
|
19917
|
+
class Datum
|
19918
|
+
include Google::Apis::Core::Hashable
|
19919
|
+
|
19920
|
+
# [Output Only] A key that provides more detail on the warning being returned.
|
19921
|
+
# For example, for warnings where there are no results in a list request for a
|
19922
|
+
# particular zone, this key might be scope and the key value might be the zone
|
19923
|
+
# name. Other examples might be a key indicating a deprecated resource and a
|
19924
|
+
# suggested replacement, or a warning about invalid network settings (for
|
19925
|
+
# example, if an instance attempts to perform IP forwarding but is not enabled
|
19926
|
+
# for IP forwarding).
|
19927
|
+
# Corresponds to the JSON property `key`
|
19928
|
+
# @return [String]
|
19929
|
+
attr_accessor :key
|
19930
|
+
|
19931
|
+
# [Output Only] A warning data value corresponding to the key.
|
19932
|
+
# Corresponds to the JSON property `value`
|
19933
|
+
# @return [String]
|
19934
|
+
attr_accessor :value
|
19935
|
+
|
19936
|
+
def initialize(**args)
|
19937
|
+
update!(**args)
|
19938
|
+
end
|
19939
|
+
|
19940
|
+
# Update properties of this object
|
19941
|
+
def update!(**args)
|
19942
|
+
@key = args[:key] if args.key?(:key)
|
19943
|
+
@value = args[:value] if args.key?(:value)
|
19944
|
+
end
|
19945
|
+
end
|
19946
|
+
end
|
19947
|
+
end
|
19948
|
+
|
19949
|
+
#
|
19950
|
+
class InterconnectRemoteLocationPermittedConnections
|
19951
|
+
include Google::Apis::Core::Hashable
|
19952
|
+
|
19953
|
+
# [Output Only] URL of an Interconnect location that is permitted to connect to
|
19954
|
+
# this Interconnect remote location.
|
19955
|
+
# Corresponds to the JSON property `interconnectLocation`
|
19956
|
+
# @return [String]
|
19957
|
+
attr_accessor :interconnect_location
|
19958
|
+
|
19959
|
+
def initialize(**args)
|
19960
|
+
update!(**args)
|
19961
|
+
end
|
19962
|
+
|
19963
|
+
# Update properties of this object
|
19964
|
+
def update!(**args)
|
19965
|
+
@interconnect_location = args[:interconnect_location] if args.key?(:interconnect_location)
|
19966
|
+
end
|
19967
|
+
end
|
19968
|
+
|
19432
19969
|
# Response for the InterconnectsGetDiagnosticsRequest.
|
19433
19970
|
class InterconnectsGetDiagnosticsResponse
|
19434
19971
|
include Google::Apis::Core::Hashable
|
@@ -20450,7 +20987,7 @@ module Google
|
|
20450
20987
|
# @return [Fixnum]
|
20451
20988
|
attr_accessor :guest_accelerator_count
|
20452
20989
|
|
20453
|
-
# The accelerator type resource name, not a full URL, e.g.
|
20990
|
+
# The accelerator type resource name, not a full URL, e.g. nvidia-tesla-t4.
|
20454
20991
|
# Corresponds to the JSON property `guestAcceleratorType`
|
20455
20992
|
# @return [String]
|
20456
20993
|
attr_accessor :guest_accelerator_type
|
@@ -21442,9 +21979,9 @@ module Google
|
|
21442
21979
|
# @return [String]
|
21443
21980
|
attr_accessor :description
|
21444
21981
|
|
21445
|
-
#
|
21446
|
-
#
|
21447
|
-
#
|
21982
|
+
# Fingerprint of this resource. A hash of the contents stored in this object.
|
21983
|
+
# This field is used in optimistic locking. An up-to-date fingerprint must be
|
21984
|
+
# provided in order to patch.
|
21448
21985
|
# Corresponds to the JSON property `fingerprint`
|
21449
21986
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
21450
21987
|
# @return [String]
|
@@ -21472,6 +22009,10 @@ module Google
|
|
21472
22009
|
attr_accessor :name
|
21473
22010
|
|
21474
22011
|
# [Output Only] The URL of the network which the Network Attachment belongs to.
|
22012
|
+
# Practically it is inferred by fetching the network of the first subnetwork
|
22013
|
+
# associated. Because it is required that all the subnetworks must be from the
|
22014
|
+
# same network, it is assured that the Network Attachment belongs to the same
|
22015
|
+
# network as all the subnetworks.
|
21475
22016
|
# Corresponds to the JSON property `network`
|
21476
22017
|
# @return [String]
|
21477
22018
|
attr_accessor :network
|
@@ -22250,6 +22791,11 @@ module Google
|
|
22250
22791
|
# @return [String]
|
22251
22792
|
attr_accessor :ip_address
|
22252
22793
|
|
22794
|
+
# Optional IPv6 address of network endpoint.
|
22795
|
+
# Corresponds to the JSON property `ipv6Address`
|
22796
|
+
# @return [String]
|
22797
|
+
attr_accessor :ipv6_address
|
22798
|
+
|
22253
22799
|
# Optional port number of network endpoint. If not specified, the defaultPort
|
22254
22800
|
# for the network endpoint group will be used.
|
22255
22801
|
# Corresponds to the JSON property `port`
|
@@ -22266,6 +22812,7 @@ module Google
|
|
22266
22812
|
@fqdn = args[:fqdn] if args.key?(:fqdn)
|
22267
22813
|
@instance = args[:instance] if args.key?(:instance)
|
22268
22814
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
22815
|
+
@ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
|
22269
22816
|
@port = args[:port] if args.key?(:port)
|
22270
22817
|
end
|
22271
22818
|
end
|
@@ -33423,9 +33970,8 @@ module Google
|
|
33423
33970
|
# ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list
|
33424
33971
|
# of Subnetworks are allowed to Nat (specified in the field subnetwork below)
|
33425
33972
|
# The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if
|
33426
|
-
# this field contains ALL_SUBNETWORKS_ALL_IP_RANGES
|
33427
|
-
#
|
33428
|
-
# Router.Nat section in any Router for this network in this region.
|
33973
|
+
# this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any
|
33974
|
+
# other Router.Nat section in any Router for this network in this region.
|
33429
33975
|
# Corresponds to the JSON property `sourceSubnetworkIpRangesToNat`
|
33430
33976
|
# @return [String]
|
33431
33977
|
attr_accessor :source_subnetwork_ip_ranges_to_nat
|
@@ -34976,6 +35522,16 @@ module Google
|
|
34976
35522
|
# @return [String]
|
34977
35523
|
attr_accessor :type
|
34978
35524
|
|
35525
|
+
# Definitions of user-defined fields for CLOUD_ARMOR_NETWORK policies. A user-
|
35526
|
+
# defined field consists of up to 4 bytes extracted from a fixed offset in the
|
35527
|
+
# packet, relative to the IPv4, IPv6, TCP, or UDP header, with an optional mask
|
35528
|
+
# to select certain bits. Rules may then specify matching values for these
|
35529
|
+
# fields. Example: userDefinedFields: - name: "ipv4_fragment_offset" base: IPV4
|
35530
|
+
# offset: 6 size: 2 mask: "0x1fff"
|
35531
|
+
# Corresponds to the JSON property `userDefinedFields`
|
35532
|
+
# @return [Array<Google::Apis::ComputeBeta::SecurityPolicyUserDefinedField>]
|
35533
|
+
attr_accessor :user_defined_fields
|
35534
|
+
|
34979
35535
|
def initialize(**args)
|
34980
35536
|
update!(**args)
|
34981
35537
|
end
|
@@ -35003,6 +35559,7 @@ module Google
|
|
35003
35559
|
@self_link = args[:self_link] if args.key?(:self_link)
|
35004
35560
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
35005
35561
|
@type = args[:type] if args.key?(:type)
|
35562
|
+
@user_defined_fields = args[:user_defined_fields] if args.key?(:user_defined_fields)
|
35006
35563
|
end
|
35007
35564
|
end
|
35008
35565
|
|
@@ -35434,6 +35991,12 @@ module Google
|
|
35434
35991
|
# @return [Google::Apis::ComputeBeta::SecurityPolicyRuleMatcher]
|
35435
35992
|
attr_accessor :match
|
35436
35993
|
|
35994
|
+
# Represents a match condition that incoming network traffic is evaluated
|
35995
|
+
# against.
|
35996
|
+
# Corresponds to the JSON property `networkMatch`
|
35997
|
+
# @return [Google::Apis::ComputeBeta::SecurityPolicyRuleNetworkMatcher]
|
35998
|
+
attr_accessor :network_match
|
35999
|
+
|
35437
36000
|
# Preconfigured WAF configuration to be applied for the rule. If the rule does
|
35438
36001
|
# not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is
|
35439
36002
|
# not used, this field will have no effect.
|
@@ -35508,6 +36071,7 @@ module Google
|
|
35508
36071
|
@header_action = args[:header_action] if args.key?(:header_action)
|
35509
36072
|
@kind = args[:kind] if args.key?(:kind)
|
35510
36073
|
@match = args[:match] if args.key?(:match)
|
36074
|
+
@network_match = args[:network_match] if args.key?(:network_match)
|
35511
36075
|
@preconfigured_waf_config = args[:preconfigured_waf_config] if args.key?(:preconfigured_waf_config)
|
35512
36076
|
@preview = args[:preview] if args.key?(:preview)
|
35513
36077
|
@priority = args[:priority] if args.key?(:priority)
|
@@ -35680,6 +36244,102 @@ module Google
|
|
35680
36244
|
end
|
35681
36245
|
end
|
35682
36246
|
|
36247
|
+
# Represents a match condition that incoming network traffic is evaluated
|
36248
|
+
# against.
|
36249
|
+
class SecurityPolicyRuleNetworkMatcher
|
36250
|
+
include Google::Apis::Core::Hashable
|
36251
|
+
|
36252
|
+
# Destination IPv4/IPv6 addresses or CIDR prefixes, in standard text format.
|
36253
|
+
# Corresponds to the JSON property `destIpRanges`
|
36254
|
+
# @return [Array<String>]
|
36255
|
+
attr_accessor :dest_ip_ranges
|
36256
|
+
|
36257
|
+
# Destination port numbers for TCP/UDP/SCTP. Each element can be a 16-bit
|
36258
|
+
# unsigned decimal number (e.g. "80") or range (e.g. "0-1023").
|
36259
|
+
# Corresponds to the JSON property `destPorts`
|
36260
|
+
# @return [Array<String>]
|
36261
|
+
attr_accessor :dest_ports
|
36262
|
+
|
36263
|
+
# IPv4 protocol / IPv6 next header (after extension headers). Each element can
|
36264
|
+
# be an 8-bit unsigned decimal number (e.g. "6"), range (e.g. "253-254"), or one
|
36265
|
+
# of the following protocol names: "tcp", "udp", "icmp", "esp", "ah", "ipip", or
|
36266
|
+
# "sctp".
|
36267
|
+
# Corresponds to the JSON property `ipProtocols`
|
36268
|
+
# @return [Array<String>]
|
36269
|
+
attr_accessor :ip_protocols
|
36270
|
+
|
36271
|
+
# BGP Autonomous System Number associated with the source IP address.
|
36272
|
+
# Corresponds to the JSON property `srcAsns`
|
36273
|
+
# @return [Array<Fixnum>]
|
36274
|
+
attr_accessor :src_asns
|
36275
|
+
|
36276
|
+
# Source IPv4/IPv6 addresses or CIDR prefixes, in standard text format.
|
36277
|
+
# Corresponds to the JSON property `srcIpRanges`
|
36278
|
+
# @return [Array<String>]
|
36279
|
+
attr_accessor :src_ip_ranges
|
36280
|
+
|
36281
|
+
# Source port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned
|
36282
|
+
# decimal number (e.g. "80") or range (e.g. "0-1023").
|
36283
|
+
# Corresponds to the JSON property `srcPorts`
|
36284
|
+
# @return [Array<String>]
|
36285
|
+
attr_accessor :src_ports
|
36286
|
+
|
36287
|
+
# Two-letter ISO 3166-1 alpha-2 country code associated with the source IP
|
36288
|
+
# address.
|
36289
|
+
# Corresponds to the JSON property `srcRegionCodes`
|
36290
|
+
# @return [Array<String>]
|
36291
|
+
attr_accessor :src_region_codes
|
36292
|
+
|
36293
|
+
# User-defined fields. Each element names a defined field and lists the matching
|
36294
|
+
# values for that field.
|
36295
|
+
# Corresponds to the JSON property `userDefinedFields`
|
36296
|
+
# @return [Array<Google::Apis::ComputeBeta::SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch>]
|
36297
|
+
attr_accessor :user_defined_fields
|
36298
|
+
|
36299
|
+
def initialize(**args)
|
36300
|
+
update!(**args)
|
36301
|
+
end
|
36302
|
+
|
36303
|
+
# Update properties of this object
|
36304
|
+
def update!(**args)
|
36305
|
+
@dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
|
36306
|
+
@dest_ports = args[:dest_ports] if args.key?(:dest_ports)
|
36307
|
+
@ip_protocols = args[:ip_protocols] if args.key?(:ip_protocols)
|
36308
|
+
@src_asns = args[:src_asns] if args.key?(:src_asns)
|
36309
|
+
@src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
|
36310
|
+
@src_ports = args[:src_ports] if args.key?(:src_ports)
|
36311
|
+
@src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
|
36312
|
+
@user_defined_fields = args[:user_defined_fields] if args.key?(:user_defined_fields)
|
36313
|
+
end
|
36314
|
+
end
|
36315
|
+
|
36316
|
+
#
|
36317
|
+
class SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch
|
36318
|
+
include Google::Apis::Core::Hashable
|
36319
|
+
|
36320
|
+
# Name of the user-defined field, as given in the definition.
|
36321
|
+
# Corresponds to the JSON property `name`
|
36322
|
+
# @return [String]
|
36323
|
+
attr_accessor :name
|
36324
|
+
|
36325
|
+
# Matching values of the field. Each element can be a 32-bit unsigned decimal or
|
36326
|
+
# hexadecimal (starting with "0x") number (e.g. "64") or range (e.g. "0x400-
|
36327
|
+
# 0x7ff").
|
36328
|
+
# Corresponds to the JSON property `values`
|
36329
|
+
# @return [Array<String>]
|
36330
|
+
attr_accessor :values
|
36331
|
+
|
36332
|
+
def initialize(**args)
|
36333
|
+
update!(**args)
|
36334
|
+
end
|
36335
|
+
|
36336
|
+
# Update properties of this object
|
36337
|
+
def update!(**args)
|
36338
|
+
@name = args[:name] if args.key?(:name)
|
36339
|
+
@values = args[:values] if args.key?(:values)
|
36340
|
+
end
|
36341
|
+
end
|
36342
|
+
|
35683
36343
|
#
|
35684
36344
|
class SecurityPolicyRulePreconfiguredWafConfig
|
35685
36345
|
include Google::Apis::Core::Hashable
|
@@ -35980,6 +36640,59 @@ module Google
|
|
35980
36640
|
end
|
35981
36641
|
end
|
35982
36642
|
|
36643
|
+
#
|
36644
|
+
class SecurityPolicyUserDefinedField
|
36645
|
+
include Google::Apis::Core::Hashable
|
36646
|
+
|
36647
|
+
# The base relative to which 'offset' is measured. Possible values are: - IPV4:
|
36648
|
+
# Points to the beginning of the IPv4 header. - IPV6: Points to the beginning of
|
36649
|
+
# the IPv6 header. - TCP: Points to the beginning of the TCP header, skipping
|
36650
|
+
# over any IPv4 options or IPv6 extension headers. Not present for non-first
|
36651
|
+
# fragments. - UDP: Points to the beginning of the UDP header, skipping over any
|
36652
|
+
# IPv4 options or IPv6 extension headers. Not present for non-first fragments.
|
36653
|
+
# required
|
36654
|
+
# Corresponds to the JSON property `base`
|
36655
|
+
# @return [String]
|
36656
|
+
attr_accessor :base
|
36657
|
+
|
36658
|
+
# If specified, apply this mask (bitwise AND) to the field to ignore bits before
|
36659
|
+
# matching. Encoded as a hexadecimal number (starting with "0x"). The last byte
|
36660
|
+
# of the field (in network byte order) corresponds to the least significant byte
|
36661
|
+
# of the mask.
|
36662
|
+
# Corresponds to the JSON property `mask`
|
36663
|
+
# @return [String]
|
36664
|
+
attr_accessor :mask
|
36665
|
+
|
36666
|
+
# The name of this field. Must be unique within the policy.
|
36667
|
+
# Corresponds to the JSON property `name`
|
36668
|
+
# @return [String]
|
36669
|
+
attr_accessor :name
|
36670
|
+
|
36671
|
+
# Offset of the first byte of the field (in network byte order) relative to '
|
36672
|
+
# base'.
|
36673
|
+
# Corresponds to the JSON property `offset`
|
36674
|
+
# @return [Fixnum]
|
36675
|
+
attr_accessor :offset
|
36676
|
+
|
36677
|
+
# Size of the field in bytes. Valid values: 1-4.
|
36678
|
+
# Corresponds to the JSON property `size`
|
36679
|
+
# @return [Fixnum]
|
36680
|
+
attr_accessor :size
|
36681
|
+
|
36682
|
+
def initialize(**args)
|
36683
|
+
update!(**args)
|
36684
|
+
end
|
36685
|
+
|
36686
|
+
# Update properties of this object
|
36687
|
+
def update!(**args)
|
36688
|
+
@base = args[:base] if args.key?(:base)
|
36689
|
+
@mask = args[:mask] if args.key?(:mask)
|
36690
|
+
@name = args[:name] if args.key?(:name)
|
36691
|
+
@offset = args[:offset] if args.key?(:offset)
|
36692
|
+
@size = args[:size] if args.key?(:size)
|
36693
|
+
end
|
36694
|
+
end
|
36695
|
+
|
35983
36696
|
# The authentication and authorization settings for a BackendService.
|
35984
36697
|
class SecuritySettings
|
35985
36698
|
include Google::Apis::Core::Hashable
|
@@ -38756,8 +39469,8 @@ module Google
|
|
38756
39469
|
# Whether to enable flow logging for this subnetwork. If this field is not
|
38757
39470
|
# explicitly set, it will not appear in get listings. If not set the default
|
38758
39471
|
# behavior is determined by the org policy, if there is no org policy specified,
|
38759
|
-
# then it will default to disabled. This field isn't supported
|
38760
|
-
# field set to
|
39472
|
+
# then it will default to disabled. This field isn't supported if the subnet
|
39473
|
+
# purpose field is set to REGIONAL_MANAGED_PROXY.
|
38761
39474
|
# Corresponds to the JSON property `enableFlowLogs`
|
38762
39475
|
# @return [Boolean]
|
38763
39476
|
attr_accessor :enable_flow_logs
|
@@ -38861,12 +39574,19 @@ module Google
|
|
38861
39574
|
# @return [String]
|
38862
39575
|
attr_accessor :private_ipv6_google_access
|
38863
39576
|
|
38864
|
-
# The purpose of the resource. This field can be either
|
38865
|
-
#
|
38866
|
-
# INTERNAL_HTTPS_LOAD_BALANCER is
|
38867
|
-
#
|
38868
|
-
#
|
38869
|
-
#
|
39577
|
+
# The purpose of the resource. This field can be either PRIVATE,
|
39578
|
+
# REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
|
39579
|
+
# INTERNAL_HTTPS_LOAD_BALANCER. PRIVATE is the default purpose for user-created
|
39580
|
+
# subnets or subnets that are automatically created in auto mode networks. A
|
39581
|
+
# subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork
|
39582
|
+
# that is reserved for regional Envoy-based load balancers. A subnet with
|
39583
|
+
# purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using
|
39584
|
+
# Private Service Connect. A subnet with purpose set to
|
39585
|
+
# INTERNAL_HTTPS_LOAD_BALANCER is a proxy-only subnet that can be used only by
|
39586
|
+
# regional internal HTTP(S) load balancers. Note that REGIONAL_MANAGED_PROXY is
|
39587
|
+
# the preferred setting for all regional Envoy load balancers. If unspecified,
|
39588
|
+
# the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't
|
39589
|
+
# supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
|
38870
39590
|
# Corresponds to the JSON property `purpose`
|
38871
39591
|
# @return [String]
|
38872
39592
|
attr_accessor :purpose
|
@@ -38883,11 +39603,10 @@ module Google
|
|
38883
39603
|
attr_accessor :reserved_internal_range
|
38884
39604
|
|
38885
39605
|
# The role of subnetwork. Currently, this field is only used when purpose =
|
38886
|
-
#
|
38887
|
-
#
|
38888
|
-
#
|
38889
|
-
#
|
38890
|
-
# request.
|
39606
|
+
# REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE
|
39607
|
+
# subnetwork is one that is currently being used for Envoy-based load balancers
|
39608
|
+
# in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE
|
39609
|
+
# or is currently draining. This field can be updated with a patch request.
|
38891
39610
|
# Corresponds to the JSON property `role`
|
38892
39611
|
# @return [String]
|
38893
39612
|
attr_accessor :role
|
@@ -39215,7 +39934,8 @@ module Google
|
|
39215
39934
|
# Whether to enable flow logging for this subnetwork. If this field is not
|
39216
39935
|
# explicitly set, it will not appear in get listings. If not set the default
|
39217
39936
|
# behavior is determined by the org policy, if there is no org policy specified,
|
39218
|
-
# then it will default to disabled.
|
39937
|
+
# then it will default to disabled. Flow logging isn't supported if the subnet
|
39938
|
+
# purpose field is set to REGIONAL_MANAGED_PROXY.
|
39219
39939
|
# Corresponds to the JSON property `enable`
|
39220
39940
|
# @return [Boolean]
|
39221
39941
|
attr_accessor :enable
|
@@ -40905,6 +41625,12 @@ module Google
|
|
40905
41625
|
# @return [String]
|
40906
41626
|
attr_accessor :network
|
40907
41627
|
|
41628
|
+
# [Output Only] The resource URL for the security policy associated with this
|
41629
|
+
# target instance.
|
41630
|
+
# Corresponds to the JSON property `securityPolicy`
|
41631
|
+
# @return [String]
|
41632
|
+
attr_accessor :security_policy
|
41633
|
+
|
40908
41634
|
# [Output Only] Server-defined URL for the resource.
|
40909
41635
|
# Corresponds to the JSON property `selfLink`
|
40910
41636
|
# @return [String]
|
@@ -40931,6 +41657,7 @@ module Google
|
|
40931
41657
|
@name = args[:name] if args.key?(:name)
|
40932
41658
|
@nat_policy = args[:nat_policy] if args.key?(:nat_policy)
|
40933
41659
|
@network = args[:network] if args.key?(:network)
|
41660
|
+
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
40934
41661
|
@self_link = args[:self_link] if args.key?(:self_link)
|
40935
41662
|
@zone = args[:zone] if args.key?(:zone)
|
40936
41663
|
end
|
@@ -41354,6 +42081,12 @@ module Google
|
|
41354
42081
|
# @return [String]
|
41355
42082
|
attr_accessor :region
|
41356
42083
|
|
42084
|
+
# [Output Only] The resource URL for the security policy associated with this
|
42085
|
+
# target pool.
|
42086
|
+
# Corresponds to the JSON property `securityPolicy`
|
42087
|
+
# @return [String]
|
42088
|
+
attr_accessor :security_policy
|
42089
|
+
|
41357
42090
|
# [Output Only] Server-defined URL for the resource.
|
41358
42091
|
# Corresponds to the JSON property `selfLink`
|
41359
42092
|
# @return [String]
|
@@ -41385,6 +42118,7 @@ module Google
|
|
41385
42118
|
@kind = args[:kind] if args.key?(:kind)
|
41386
42119
|
@name = args[:name] if args.key?(:name)
|
41387
42120
|
@region = args[:region] if args.key?(:region)
|
42121
|
+
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
41388
42122
|
@self_link = args[:self_link] if args.key?(:self_link)
|
41389
42123
|
@session_affinity = args[:session_affinity] if args.key?(:session_affinity)
|
41390
42124
|
end
|
@@ -43997,22 +44731,28 @@ module Google
|
|
43997
44731
|
# @return [String]
|
43998
44732
|
attr_accessor :network
|
43999
44733
|
|
44000
|
-
# The purpose of the resource. This field can be either
|
44001
|
-
#
|
44002
|
-
# INTERNAL_HTTPS_LOAD_BALANCER is
|
44003
|
-
#
|
44004
|
-
#
|
44005
|
-
#
|
44734
|
+
# The purpose of the resource. This field can be either PRIVATE,
|
44735
|
+
# REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
|
44736
|
+
# INTERNAL_HTTPS_LOAD_BALANCER. PRIVATE is the default purpose for user-created
|
44737
|
+
# subnets or subnets that are automatically created in auto mode networks. A
|
44738
|
+
# subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork
|
44739
|
+
# that is reserved for regional Envoy-based load balancers. A subnet with
|
44740
|
+
# purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using
|
44741
|
+
# Private Service Connect. A subnet with purpose set to
|
44742
|
+
# INTERNAL_HTTPS_LOAD_BALANCER is a proxy-only subnet that can be used only by
|
44743
|
+
# regional internal HTTP(S) load balancers. Note that REGIONAL_MANAGED_PROXY is
|
44744
|
+
# the preferred setting for all regional Envoy load balancers. If unspecified,
|
44745
|
+
# the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't
|
44746
|
+
# supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
|
44006
44747
|
# Corresponds to the JSON property `purpose`
|
44007
44748
|
# @return [String]
|
44008
44749
|
attr_accessor :purpose
|
44009
44750
|
|
44010
44751
|
# The role of subnetwork. Currently, this field is only used when purpose =
|
44011
|
-
#
|
44012
|
-
#
|
44013
|
-
#
|
44014
|
-
#
|
44015
|
-
# request.
|
44752
|
+
# REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE
|
44753
|
+
# subnetwork is one that is currently being used for Envoy-based load balancers
|
44754
|
+
# in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE
|
44755
|
+
# or is currently draining. This field can be updated with a patch request.
|
44016
44756
|
# Corresponds to the JSON property `role`
|
44017
44757
|
# @return [String]
|
44018
44758
|
attr_accessor :role
|
@@ -44905,7 +45645,7 @@ module Google
|
|
44905
45645
|
attr_accessor :local_gateway_interface
|
44906
45646
|
|
44907
45647
|
# The peer gateway interface this VPN tunnel is connected to, the peer gateway
|
44908
|
-
# could either be an external VPN gateway or
|
45648
|
+
# could either be an external VPN gateway or a Google Cloud VPN gateway.
|
44909
45649
|
# Corresponds to the JSON property `peerGatewayInterface`
|
44910
45650
|
# @return [Fixnum]
|
44911
45651
|
attr_accessor :peer_gateway_interface
|
@@ -44928,8 +45668,8 @@ module Google
|
|
44928
45668
|
end
|
44929
45669
|
|
44930
45670
|
# A VPN connection contains all VPN tunnels connected from this VpnGateway to
|
44931
|
-
# the same peer gateway. The peer gateway could either be
|
44932
|
-
# or
|
45671
|
+
# the same peer gateway. The peer gateway could either be an external VPN
|
45672
|
+
# gateway or a Google Cloud VPN gateway.
|
44933
45673
|
class VpnGatewayStatusVpnConnection
|
44934
45674
|
include Google::Apis::Core::Hashable
|
44935
45675
|
|