google-apis-compute_v1 0.76.0 → 0.78.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
@@ -2616,7 +2623,7 @@ module Google
2616
2623
  attr_accessor :schedule
2617
2624
 
2618
2625
  # The time zone to use when interpreting the schedule. The value of this field
2619
- # must be a time zone name from the tz database: http://en.wikipedia.org/wiki/
2626
+ # must be a time zone name from the tz database: https://en.wikipedia.org/wiki/
2620
2627
  # Tz_database. This field is assigned a default value of “UTC” if left empty.
2621
2628
  # Corresponds to the JSON property `timeZone`
2622
2629
  # @return [String]
@@ -4930,6 +4937,50 @@ module Google
4930
4937
  end
4931
4938
  end
4932
4939
 
4940
+ #
4941
+ class BulkInsertOperationStatus
4942
+ include Google::Apis::Core::Hashable
4943
+
4944
+ # [Output Only] Count of VMs successfully created so far.
4945
+ # Corresponds to the JSON property `createdVmCount`
4946
+ # @return [Fixnum]
4947
+ attr_accessor :created_vm_count
4948
+
4949
+ # [Output Only] Count of VMs that got deleted during rollback.
4950
+ # Corresponds to the JSON property `deletedVmCount`
4951
+ # @return [Fixnum]
4952
+ attr_accessor :deleted_vm_count
4953
+
4954
+ # [Output Only] Count of VMs that started creating but encountered an error.
4955
+ # Corresponds to the JSON property `failedToCreateVmCount`
4956
+ # @return [Fixnum]
4957
+ attr_accessor :failed_to_create_vm_count
4958
+
4959
+ # [Output Only] Creation status of BulkInsert operation - information if the
4960
+ # flow is rolling forward or rolling back.
4961
+ # Corresponds to the JSON property `status`
4962
+ # @return [String]
4963
+ attr_accessor :status
4964
+
4965
+ # [Output Only] Count of VMs originally planned to be created.
4966
+ # Corresponds to the JSON property `targetVmCount`
4967
+ # @return [Fixnum]
4968
+ attr_accessor :target_vm_count
4969
+
4970
+ def initialize(**args)
4971
+ update!(**args)
4972
+ end
4973
+
4974
+ # Update properties of this object
4975
+ def update!(**args)
4976
+ @created_vm_count = args[:created_vm_count] if args.key?(:created_vm_count)
4977
+ @deleted_vm_count = args[:deleted_vm_count] if args.key?(:deleted_vm_count)
4978
+ @failed_to_create_vm_count = args[:failed_to_create_vm_count] if args.key?(:failed_to_create_vm_count)
4979
+ @status = args[:status] if args.key?(:status)
4980
+ @target_vm_count = args[:target_vm_count] if args.key?(:target_vm_count)
4981
+ end
4982
+ end
4983
+
4933
4984
  #
4934
4985
  class CacheInvalidationRule
4935
4986
  include Google::Apis::Core::Hashable
@@ -6152,7 +6203,7 @@ module Google
6152
6203
  # a persistent disk using the sourceImage, sourceSnapshot, or sourceDisk
6153
6204
  # parameter, or specify it alone to create an empty persistent disk. If you
6154
6205
  # specify this field along with a source, the value of sizeGb must not be less
6155
- # than the size of the source. Acceptable values are 1 to 65536, inclusive.
6206
+ # than the size of the source. Acceptable values are greater than 0.
6156
6207
  # Corresponds to the JSON property `sizeGb`
6157
6208
  # @return [Fixnum]
6158
6209
  attr_accessor :size_gb
@@ -12310,8 +12361,8 @@ module Google
12310
12361
  # weightedBackendServices, service must not be set. Conversely if service is set,
12311
12362
  # routeAction cannot contain any weightedBackendServices. Only one of
12312
12363
  # urlRedirect, service or routeAction.weightedBackendService must be set. URL
12313
- # maps for Classic external HTTP(S) load balancers only support the urlRewrite
12314
- # action within a route rule's routeAction.
12364
+ # maps for classic Application Load Balancers only support the urlRewrite action
12365
+ # within a route rule's routeAction.
12315
12366
  # Corresponds to the JSON property `routeAction`
12316
12367
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
12317
12368
  attr_accessor :route_action
@@ -16744,6 +16795,26 @@ module Google
16744
16795
  end
16745
16796
  end
16746
16797
 
16798
+ #
16799
+ class InstancesBulkInsertOperationMetadata
16800
+ include Google::Apis::Core::Hashable
16801
+
16802
+ # Status information per location (location name is key). Example key: zones/us-
16803
+ # central1-a
16804
+ # Corresponds to the JSON property `perLocationStatus`
16805
+ # @return [Hash<String,Google::Apis::ComputeV1::BulkInsertOperationStatus>]
16806
+ attr_accessor :per_location_status
16807
+
16808
+ def initialize(**args)
16809
+ update!(**args)
16810
+ end
16811
+
16812
+ # Update properties of this object
16813
+ def update!(**args)
16814
+ @per_location_status = args[:per_location_status] if args.key?(:per_location_status)
16815
+ end
16816
+ end
16817
+
16747
16818
  #
16748
16819
  class InstancesGetEffectiveFirewallsResponse
16749
16820
  include Google::Apis::Core::Hashable
@@ -17037,6 +17108,34 @@ module Google
17037
17108
  end
17038
17109
  end
17039
17110
 
17111
+ #
17112
+ class InstancesSetSecurityPolicyRequest
17113
+ include Google::Apis::Core::Hashable
17114
+
17115
+ # The network interfaces that the security policy will be applied to. Network
17116
+ # interfaces use the nicN naming format. You can only set a security policy for
17117
+ # network interfaces with an access config.
17118
+ # Corresponds to the JSON property `networkInterfaces`
17119
+ # @return [Array<String>]
17120
+ attr_accessor :network_interfaces
17121
+
17122
+ # A full or partial URL to a security policy to add to this instance. If this
17123
+ # field is set to an empty string it will remove the associated security policy.
17124
+ # Corresponds to the JSON property `securityPolicy`
17125
+ # @return [String]
17126
+ attr_accessor :security_policy
17127
+
17128
+ def initialize(**args)
17129
+ update!(**args)
17130
+ end
17131
+
17132
+ # Update properties of this object
17133
+ def update!(**args)
17134
+ @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
17135
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
17136
+ end
17137
+ end
17138
+
17040
17139
  #
17041
17140
  class InstancesSetServiceAccountRequest
17042
17141
  include Google::Apis::Core::Hashable
@@ -17549,9 +17648,8 @@ module Google
17549
17648
  attr_accessor :operational_status
17550
17649
 
17551
17650
  # [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present
17552
- # for DEDICATED]. The opaque identifier of an PARTNER attachment used to
17553
- # initiate provisioning with a selected partner. Of the form "XXXXX/region/
17554
- # domain"
17651
+ # for DEDICATED]. The opaque identifier of a PARTNER attachment used to initiate
17652
+ # provisioning with a selected partner. Of the form "XXXXX/region/domain"
17555
17653
  # Corresponds to the JSON property `pairingKey`
17556
17654
  # @return [String]
17557
17655
  attr_accessor :pairing_key
@@ -22158,9 +22256,8 @@ module Google
22158
22256
 
22159
22257
  # Represents a collection of network endpoints. A network endpoint group (NEG)
22160
22258
  # defines how a set of endpoints should be reached, whether they are reachable,
22161
- # and where they are located. For more information about using NEGs, see Setting
22162
- # up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs,
22163
- # or Setting up external HTTP(S) Load Balancing with serverless NEGs.
22259
+ # and where they are located. For more information about using NEGs for
22260
+ # different use cases, see Network endpoint groups overview.
22164
22261
  class NetworkEndpointGroup
22165
22262
  include Google::Apis::Core::Hashable
22166
22263
 
@@ -25623,6 +25720,11 @@ module Google
25623
25720
  # @return [String]
25624
25721
  attr_accessor :insert_time
25625
25722
 
25723
+ #
25724
+ # Corresponds to the JSON property `instancesBulkInsertOperationMetadata`
25725
+ # @return [Google::Apis::ComputeV1::InstancesBulkInsertOperationMetadata]
25726
+ attr_accessor :instances_bulk_insert_operation_metadata
25727
+
25626
25728
  # [Output Only] Type of the resource. Always `compute#operation` for Operation
25627
25729
  # resources.
25628
25730
  # Corresponds to the JSON property `kind`
@@ -25735,6 +25837,7 @@ module Google
25735
25837
  @http_error_status_code = args[:http_error_status_code] if args.key?(:http_error_status_code)
25736
25838
  @id = args[:id] if args.key?(:id)
25737
25839
  @insert_time = args[:insert_time] if args.key?(:insert_time)
25840
+ @instances_bulk_insert_operation_metadata = args[:instances_bulk_insert_operation_metadata] if args.key?(:instances_bulk_insert_operation_metadata)
25738
25841
  @kind = args[:kind] if args.key?(:kind)
25739
25842
  @name = args[:name] if args.key?(:name)
25740
25843
  @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
@@ -27061,8 +27164,8 @@ module Google
27061
27164
  # If defaultRouteAction specifies any weightedBackendServices, defaultService
27062
27165
  # must not be set. Conversely if defaultService is set, defaultRouteAction
27063
27166
  # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
27064
- # defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load
27065
- # balancers only support the urlRewrite action within a path matcher's
27167
+ # defaultUrlRedirect must be set. URL maps for classic Application Load
27168
+ # Balancers only support the urlRewrite action within a path matcher's
27066
27169
  # defaultRouteAction.
27067
27170
  # Corresponds to the JSON property `defaultRouteAction`
27068
27171
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
@@ -27162,9 +27265,8 @@ module Google
27162
27265
  # the request to the selected backend. If routeAction specifies any
27163
27266
  # weightedBackendServices, service must not be set. Conversely if service is set,
27164
27267
  # routeAction cannot contain any weightedBackendServices. Only one of
27165
- # routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S)
27166
- # load balancers only support the urlRewrite action within a path rule's
27167
- # routeAction.
27268
+ # routeAction or urlRedirect must be set. URL maps for classic Application Load
27269
+ # Balancers only support the urlRewrite action within a path rule's routeAction.
27168
27270
  # Corresponds to the JSON property `routeAction`
27169
27271
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
27170
27272
  attr_accessor :route_action
@@ -30117,17 +30219,19 @@ module Google
30117
30219
  # Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
30118
30220
  # reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
30119
30221
  # types of cloud load balancers and Traffic Director: * urlMaps are used by
30120
- # external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used
30121
- # by internal HTTP(S) load balancers. For a list of supported URL map features
30122
- # by the load balancer type, see the Load balancing features: Routing and
30123
- # traffic management table. For a list of supported URL map features for Traffic
30124
- # Director, see the Traffic Director features: Routing and traffic management
30125
- # table. This resource defines mappings from hostnames and URL paths to either a
30126
- # backend service or a backend bucket. To use the global urlMaps resource, the
30127
- # backend service must have a loadBalancingScheme of either EXTERNAL or
30128
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
30129
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
30130
- # read URL Map Concepts.
30222
+ # global external Application Load Balancers, classic Application Load Balancers,
30223
+ # and cross-region internal Application Load Balancers. * regionUrlMaps are
30224
+ # used by internal Application Load Balancers, regional external Application
30225
+ # Load Balancers and regional internal Application Load Balancers. For a list of
30226
+ # supported URL map features by the load balancer type, see the Load balancing
30227
+ # features: Routing and traffic management table. For a list of supported URL
30228
+ # map features for Traffic Director, see the Traffic Director features: Routing
30229
+ # and traffic management table. This resource defines mappings from hostnames
30230
+ # and URL paths to either a backend service or a backend bucket. To use the
30231
+ # global urlMaps resource, the backend service must have a loadBalancingScheme
30232
+ # of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource,
30233
+ # the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For
30234
+ # more information, read URL Map Concepts.
30131
30235
  # Corresponds to the JSON property `resource`
30132
30236
  # @return [Google::Apis::ComputeV1::UrlMap]
30133
30237
  attr_accessor :resource
@@ -32063,9 +32167,11 @@ module Google
32063
32167
  # @return [Fixnum]
32064
32168
  attr_accessor :id
32065
32169
 
32066
- # Router interfaces. Each interface requires either one linked resource, (for
32067
- # example, linkedVpnTunnel), or IP address and IP address range (for example,
32068
- # ipRange), or both.
32170
+ # Router interfaces. To create a BGP peer that uses a router interface, the
32171
+ # interface must have one of the following fields specified: - linkedVpnTunnel -
32172
+ # linkedInterconnectAttachment - subnetwork You can create a router interface
32173
+ # without any of these fields specified. However, you cannot create a BGP peer
32174
+ # that uses that interface.
32069
32175
  # Corresponds to the JSON property `interfaces`
32070
32176
  # @return [Array<Google::Apis::ComputeV1::RouterInterface>]
32071
32177
  attr_accessor :interfaces
@@ -32592,14 +32698,14 @@ module Google
32592
32698
 
32593
32699
  # URI of the linked Interconnect attachment. It must be in the same region as
32594
32700
  # the router. Each interface can have one linked resource, which can be a VPN
32595
- # tunnel, an Interconnect attachment, or a virtual machine instance.
32701
+ # tunnel, an Interconnect attachment, or a subnetwork.
32596
32702
  # Corresponds to the JSON property `linkedInterconnectAttachment`
32597
32703
  # @return [String]
32598
32704
  attr_accessor :linked_interconnect_attachment
32599
32705
 
32600
32706
  # URI of the linked VPN tunnel, which must be in the same region as the router.
32601
32707
  # Each interface can have one linked resource, which can be a VPN tunnel, an
32602
- # Interconnect attachment, or a virtual machine instance.
32708
+ # Interconnect attachment, or a subnetwork.
32603
32709
  # Corresponds to the JSON property `linkedVpnTunnel`
32604
32710
  # @return [String]
32605
32711
  attr_accessor :linked_vpn_tunnel
@@ -32800,7 +32906,7 @@ module Google
32800
32906
  attr_accessor :key
32801
32907
 
32802
32908
  # Name used to identify the key. Must be unique within a router. Must be
32803
- # referenced by at least one bgpPeer. Must comply with RFC1035.
32909
+ # referenced by exactly one bgpPeer. Must comply with RFC1035.
32804
32910
  # Corresponds to the JSON property `name`
32805
32911
  # @return [String]
32806
32912
  attr_accessor :name
@@ -32824,8 +32930,9 @@ module Google
32824
32930
  class RouterNat
32825
32931
  include Google::Apis::Core::Hashable
32826
32932
 
32827
- # The network tier to use when automatically reserving IP addresses. Must be one
32828
- # of: PREMIUM, STANDARD. If not specified, PREMIUM tier will be used.
32933
+ # The network tier to use when automatically reserving NAT IP addresses. Must be
32934
+ # one of: PREMIUM, STANDARD. If not specified, then the current project-level
32935
+ # default tier is used.
32829
32936
  # Corresponds to the JSON property `autoNetworkTier`
32830
32937
  # @return [String]
32831
32938
  attr_accessor :auto_network_tier
@@ -34410,6 +34517,16 @@ module Google
34410
34517
  # @return [String]
34411
34518
  attr_accessor :type
34412
34519
 
34520
+ # Definitions of user-defined fields for CLOUD_ARMOR_NETWORK policies. A user-
34521
+ # defined field consists of up to 4 bytes extracted from a fixed offset in the
34522
+ # packet, relative to the IPv4, IPv6, TCP, or UDP header, with an optional mask
34523
+ # to select certain bits. Rules may then specify matching values for these
34524
+ # fields. Example: userDefinedFields: - name: "ipv4_fragment_offset" base: IPV4
34525
+ # offset: 6 size: 2 mask: "0x1fff"
34526
+ # Corresponds to the JSON property `userDefinedFields`
34527
+ # @return [Array<Google::Apis::ComputeV1::SecurityPolicyUserDefinedField>]
34528
+ attr_accessor :user_defined_fields
34529
+
34413
34530
  def initialize(**args)
34414
34531
  update!(**args)
34415
34532
  end
@@ -34432,6 +34549,7 @@ module Google
34432
34549
  @rules = args[:rules] if args.key?(:rules)
34433
34550
  @self_link = args[:self_link] if args.key?(:self_link)
34434
34551
  @type = args[:type] if args.key?(:type)
34552
+ @user_defined_fields = args[:user_defined_fields] if args.key?(:user_defined_fields)
34435
34553
  end
34436
34554
  end
34437
34555
 
@@ -34811,6 +34929,12 @@ module Google
34811
34929
  # @return [Google::Apis::ComputeV1::SecurityPolicyRuleMatcher]
34812
34930
  attr_accessor :match
34813
34931
 
34932
+ # Represents a match condition that incoming network traffic is evaluated
34933
+ # against.
34934
+ # Corresponds to the JSON property `networkMatch`
34935
+ # @return [Google::Apis::ComputeV1::SecurityPolicyRuleNetworkMatcher]
34936
+ attr_accessor :network_match
34937
+
34814
34938
  # Preconfigured WAF configuration to be applied for the rule. If the rule does
34815
34939
  # not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is
34816
34940
  # not used, this field will have no effect.
@@ -34856,6 +34980,7 @@ module Google
34856
34980
  @header_action = args[:header_action] if args.key?(:header_action)
34857
34981
  @kind = args[:kind] if args.key?(:kind)
34858
34982
  @match = args[:match] if args.key?(:match)
34983
+ @network_match = args[:network_match] if args.key?(:network_match)
34859
34984
  @preconfigured_waf_config = args[:preconfigured_waf_config] if args.key?(:preconfigured_waf_config)
34860
34985
  @preview = args[:preview] if args.key?(:preview)
34861
34986
  @priority = args[:priority] if args.key?(:priority)
@@ -34978,6 +35103,102 @@ module Google
34978
35103
  end
34979
35104
  end
34980
35105
 
35106
+ # Represents a match condition that incoming network traffic is evaluated
35107
+ # against.
35108
+ class SecurityPolicyRuleNetworkMatcher
35109
+ include Google::Apis::Core::Hashable
35110
+
35111
+ # Destination IPv4/IPv6 addresses or CIDR prefixes, in standard text format.
35112
+ # Corresponds to the JSON property `destIpRanges`
35113
+ # @return [Array<String>]
35114
+ attr_accessor :dest_ip_ranges
35115
+
35116
+ # Destination port numbers for TCP/UDP/SCTP. Each element can be a 16-bit
35117
+ # unsigned decimal number (e.g. "80") or range (e.g. "0-1023").
35118
+ # Corresponds to the JSON property `destPorts`
35119
+ # @return [Array<String>]
35120
+ attr_accessor :dest_ports
35121
+
35122
+ # IPv4 protocol / IPv6 next header (after extension headers). Each element can
35123
+ # be an 8-bit unsigned decimal number (e.g. "6"), range (e.g. "253-254"), or one
35124
+ # of the following protocol names: "tcp", "udp", "icmp", "esp", "ah", "ipip", or
35125
+ # "sctp".
35126
+ # Corresponds to the JSON property `ipProtocols`
35127
+ # @return [Array<String>]
35128
+ attr_accessor :ip_protocols
35129
+
35130
+ # BGP Autonomous System Number associated with the source IP address.
35131
+ # Corresponds to the JSON property `srcAsns`
35132
+ # @return [Array<Fixnum>]
35133
+ attr_accessor :src_asns
35134
+
35135
+ # Source IPv4/IPv6 addresses or CIDR prefixes, in standard text format.
35136
+ # Corresponds to the JSON property `srcIpRanges`
35137
+ # @return [Array<String>]
35138
+ attr_accessor :src_ip_ranges
35139
+
35140
+ # Source port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned
35141
+ # decimal number (e.g. "80") or range (e.g. "0-1023").
35142
+ # Corresponds to the JSON property `srcPorts`
35143
+ # @return [Array<String>]
35144
+ attr_accessor :src_ports
35145
+
35146
+ # Two-letter ISO 3166-1 alpha-2 country code associated with the source IP
35147
+ # address.
35148
+ # Corresponds to the JSON property `srcRegionCodes`
35149
+ # @return [Array<String>]
35150
+ attr_accessor :src_region_codes
35151
+
35152
+ # User-defined fields. Each element names a defined field and lists the matching
35153
+ # values for that field.
35154
+ # Corresponds to the JSON property `userDefinedFields`
35155
+ # @return [Array<Google::Apis::ComputeV1::SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch>]
35156
+ attr_accessor :user_defined_fields
35157
+
35158
+ def initialize(**args)
35159
+ update!(**args)
35160
+ end
35161
+
35162
+ # Update properties of this object
35163
+ def update!(**args)
35164
+ @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
35165
+ @dest_ports = args[:dest_ports] if args.key?(:dest_ports)
35166
+ @ip_protocols = args[:ip_protocols] if args.key?(:ip_protocols)
35167
+ @src_asns = args[:src_asns] if args.key?(:src_asns)
35168
+ @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
35169
+ @src_ports = args[:src_ports] if args.key?(:src_ports)
35170
+ @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
35171
+ @user_defined_fields = args[:user_defined_fields] if args.key?(:user_defined_fields)
35172
+ end
35173
+ end
35174
+
35175
+ #
35176
+ class SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch
35177
+ include Google::Apis::Core::Hashable
35178
+
35179
+ # Name of the user-defined field, as given in the definition.
35180
+ # Corresponds to the JSON property `name`
35181
+ # @return [String]
35182
+ attr_accessor :name
35183
+
35184
+ # Matching values of the field. Each element can be a 32-bit unsigned decimal or
35185
+ # hexadecimal (starting with "0x") number (e.g. "64") or range (e.g. "0x400-
35186
+ # 0x7ff").
35187
+ # Corresponds to the JSON property `values`
35188
+ # @return [Array<String>]
35189
+ attr_accessor :values
35190
+
35191
+ def initialize(**args)
35192
+ update!(**args)
35193
+ end
35194
+
35195
+ # Update properties of this object
35196
+ def update!(**args)
35197
+ @name = args[:name] if args.key?(:name)
35198
+ @values = args[:values] if args.key?(:values)
35199
+ end
35200
+ end
35201
+
34981
35202
  #
34982
35203
  class SecurityPolicyRulePreconfiguredWafConfig
34983
35204
  include Google::Apis::Core::Hashable
@@ -35278,6 +35499,59 @@ module Google
35278
35499
  end
35279
35500
  end
35280
35501
 
35502
+ #
35503
+ class SecurityPolicyUserDefinedField
35504
+ include Google::Apis::Core::Hashable
35505
+
35506
+ # The base relative to which 'offset' is measured. Possible values are: - IPV4:
35507
+ # Points to the beginning of the IPv4 header. - IPV6: Points to the beginning of
35508
+ # the IPv6 header. - TCP: Points to the beginning of the TCP header, skipping
35509
+ # over any IPv4 options or IPv6 extension headers. Not present for non-first
35510
+ # fragments. - UDP: Points to the beginning of the UDP header, skipping over any
35511
+ # IPv4 options or IPv6 extension headers. Not present for non-first fragments.
35512
+ # required
35513
+ # Corresponds to the JSON property `base`
35514
+ # @return [String]
35515
+ attr_accessor :base
35516
+
35517
+ # If specified, apply this mask (bitwise AND) to the field to ignore bits before
35518
+ # matching. Encoded as a hexadecimal number (starting with "0x"). The last byte
35519
+ # of the field (in network byte order) corresponds to the least significant byte
35520
+ # of the mask.
35521
+ # Corresponds to the JSON property `mask`
35522
+ # @return [String]
35523
+ attr_accessor :mask
35524
+
35525
+ # The name of this field. Must be unique within the policy.
35526
+ # Corresponds to the JSON property `name`
35527
+ # @return [String]
35528
+ attr_accessor :name
35529
+
35530
+ # Offset of the first byte of the field (in network byte order) relative to '
35531
+ # base'.
35532
+ # Corresponds to the JSON property `offset`
35533
+ # @return [Fixnum]
35534
+ attr_accessor :offset
35535
+
35536
+ # Size of the field in bytes. Valid values: 1-4.
35537
+ # Corresponds to the JSON property `size`
35538
+ # @return [Fixnum]
35539
+ attr_accessor :size
35540
+
35541
+ def initialize(**args)
35542
+ update!(**args)
35543
+ end
35544
+
35545
+ # Update properties of this object
35546
+ def update!(**args)
35547
+ @base = args[:base] if args.key?(:base)
35548
+ @mask = args[:mask] if args.key?(:mask)
35549
+ @name = args[:name] if args.key?(:name)
35550
+ @offset = args[:offset] if args.key?(:offset)
35551
+ @size = args[:size] if args.key?(:size)
35552
+ end
35553
+ end
35554
+
35281
35555
  # The authentication and authorization settings for a BackendService.
35282
35556
  class SecuritySettings
35283
35557
  include Google::Apis::Core::Hashable
@@ -36757,17 +37031,20 @@ module Google
36757
37031
  end
36758
37032
  end
36759
37033
 
36760
- # Represents an SSL Certificate resource. Google Compute Engine has two SSL
36761
- # Certificate resources: * [Global](/compute/docs/reference/rest/v1/
37034
+ # Represents an SSL certificate resource. Google Compute Engine has two SSL
37035
+ # certificate resources: * [Global](/compute/docs/reference/rest/v1/
36762
37036
  # sslCertificates) * [Regional](/compute/docs/reference/rest/v1/
36763
- # regionSslCertificates) The sslCertificates are used by: - external HTTPS load
36764
- # balancers - SSL proxy load balancers The regionSslCertificates are used by
36765
- # internal HTTPS load balancers. Optionally, certificate file contents that you
36766
- # upload can contain a set of up to five PEM-encoded certificates. The API call
36767
- # creates an object (sslCertificate) that holds this data. You can use SSL keys
36768
- # and certificates to secure connections to a load balancer. For more
36769
- # information, read Creating and using SSL certificates, SSL certificates quotas
36770
- # and limits, and Troubleshooting SSL certificates.
37037
+ # regionSslCertificates) The global SSL certificates (sslCertificates) are used
37038
+ # by: - Global external Application Load Balancers - Classic Application Load
37039
+ # Balancers - Proxy Network Load Balancers (with target SSL proxies) The
37040
+ # regional SSL certificates (regionSslCertificates) are used by: - Regional
37041
+ # external Application Load Balancers - Regional internal Application Load
37042
+ # Balancers Optionally, certificate file contents that you upload can contain a
37043
+ # set of up to five PEM-encoded certificates. The API call creates an object (
37044
+ # sslCertificate) that holds this data. You can use SSL keys and certificates to
37045
+ # secure connections to a load balancer. For more information, read Creating and
37046
+ # using SSL certificates, SSL certificates quotas and limits, and
37047
+ # Troubleshooting SSL certificates.
36771
37048
  class SslCertificate
36772
37049
  include Google::Apis::Core::Hashable
36773
37050
 
@@ -39063,11 +39340,13 @@ module Google
39063
39340
  # HTTP Proxy resources: * [Global](/compute/docs/reference/rest/v1/
39064
39341
  # targetHttpProxies) * [Regional](/compute/docs/reference/rest/v1/
39065
39342
  # regionTargetHttpProxies) A target HTTP proxy is a component of GCP HTTP load
39066
- # balancers. * targetHttpProxies are used by external HTTP load balancers and
39067
- # Traffic Director. * regionTargetHttpProxies are used by internal HTTP load
39068
- # balancers. Forwarding rules reference a target HTTP proxy, and the target
39069
- # proxy then references a URL map. For more information, read Using Target
39070
- # Proxies and Forwarding rule concepts.
39343
+ # balancers. * targetHttpProxies are used by global external Application Load
39344
+ # Balancers, classic Application Load Balancers, cross-region internal
39345
+ # Application Load Balancers, and Traffic Director. * regionTargetHttpProxies
39346
+ # are used by regional internal Application Load Balancers and regional external
39347
+ # Application Load Balancers. Forwarding rules reference a target HTTP proxy,
39348
+ # and the target proxy then references a URL map. For more information, read
39349
+ # Using Target Proxies and Forwarding rule concepts.
39071
39350
  class TargetHttpProxy
39072
39351
  include Google::Apis::Core::Hashable
39073
39352
 
@@ -39095,10 +39374,10 @@ module Google
39095
39374
 
39096
39375
  # Specifies how long to keep a connection open, after completing a response,
39097
39376
  # while there is no matching traffic (in seconds). If an HTTP keep-alive is not
39098
- # specified, a default value (610 seconds) will be used. For Global external
39099
- # HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum
39100
- # allowed value is 1200 seconds. For Global external HTTP(S) load balancer (
39101
- # classic), this option is not available publicly.
39377
+ # specified, a default value (610 seconds) will be used. For global external
39378
+ # Application Load Balancers, the minimum allowed value is 5 seconds and the
39379
+ # maximum allowed value is 1200 seconds. For classic Application Load Balancers,
39380
+ # this option is not supported.
39102
39381
  # Corresponds to the JSON property `httpKeepAliveTimeoutSec`
39103
39382
  # @return [Fixnum]
39104
39383
  attr_accessor :http_keep_alive_timeout_sec
@@ -39503,11 +39782,13 @@ module Google
39503
39782
  # HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/
39504
39783
  # targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/
39505
39784
  # regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS
39506
- # load balancers. * targetHttpsProxies are used by external HTTPS load balancers.
39507
- # * regionTargetHttpsProxies are used by internal HTTPS load balancers.
39508
- # Forwarding rules reference a target HTTPS proxy, and the target proxy then
39509
- # references a URL map. For more information, read Using Target Proxies and
39510
- # Forwarding rule concepts.
39785
+ # load balancers. * targetHttpProxies are used by global external Application
39786
+ # Load Balancers, classic Application Load Balancers, cross-region internal
39787
+ # Application Load Balancers, and Traffic Director. * regionTargetHttpProxies
39788
+ # are used by regional internal Application Load Balancers and regional external
39789
+ # Application Load Balancers. Forwarding rules reference a target HTTPS proxy,
39790
+ # and the target proxy then references a URL map. For more information, read
39791
+ # Using Target Proxies and Forwarding rule concepts.
39511
39792
  class TargetHttpsProxy
39512
39793
  include Google::Apis::Core::Hashable
39513
39794
 
@@ -39555,10 +39836,10 @@ module Google
39555
39836
 
39556
39837
  # Specifies how long to keep a connection open, after completing a response,
39557
39838
  # while there is no matching traffic (in seconds). If an HTTP keep-alive is not
39558
- # specified, a default value (610 seconds) will be used. For Global external
39559
- # HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum
39560
- # allowed value is 1200 seconds. For Global external HTTP(S) load balancer (
39561
- # classic), this option is not available publicly.
39839
+ # specified, a default value (610 seconds) will be used. For global external
39840
+ # Application Load Balancers, the minimum allowed value is 5 seconds and the
39841
+ # maximum allowed value is 1200 seconds. For classic Application Load Balancers,
39842
+ # this option is not supported.
39562
39843
  # Corresponds to the JSON property `httpKeepAliveTimeoutSec`
39563
39844
  # @return [Fixnum]
39564
39845
  attr_accessor :http_keep_alive_timeout_sec
@@ -39989,6 +40270,12 @@ module Google
39989
40270
  # @return [String]
39990
40271
  attr_accessor :network
39991
40272
 
40273
+ # [Output Only] The resource URL for the security policy associated with this
40274
+ # target instance.
40275
+ # Corresponds to the JSON property `securityPolicy`
40276
+ # @return [String]
40277
+ attr_accessor :security_policy
40278
+
39992
40279
  # [Output Only] Server-defined URL for the resource.
39993
40280
  # Corresponds to the JSON property `selfLink`
39994
40281
  # @return [String]
@@ -40015,6 +40302,7 @@ module Google
40015
40302
  @name = args[:name] if args.key?(:name)
40016
40303
  @nat_policy = args[:nat_policy] if args.key?(:nat_policy)
40017
40304
  @network = args[:network] if args.key?(:network)
40305
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
40018
40306
  @self_link = args[:self_link] if args.key?(:self_link)
40019
40307
  @zone = args[:zone] if args.key?(:zone)
40020
40308
  end
@@ -40438,6 +40726,12 @@ module Google
40438
40726
  # @return [String]
40439
40727
  attr_accessor :region
40440
40728
 
40729
+ # [Output Only] The resource URL for the security policy associated with this
40730
+ # target pool.
40731
+ # Corresponds to the JSON property `securityPolicy`
40732
+ # @return [String]
40733
+ attr_accessor :security_policy
40734
+
40441
40735
  # [Output Only] Server-defined URL for the resource.
40442
40736
  # Corresponds to the JSON property `selfLink`
40443
40737
  # @return [String]
@@ -40469,6 +40763,7 @@ module Google
40469
40763
  @kind = args[:kind] if args.key?(:kind)
40470
40764
  @name = args[:name] if args.key?(:name)
40471
40765
  @region = args[:region] if args.key?(:region)
40766
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
40472
40767
  @self_link = args[:self_link] if args.key?(:self_link)
40473
40768
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
40474
40769
  end
@@ -42288,17 +42583,19 @@ module Google
42288
42583
  # Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
42289
42584
  # reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
42290
42585
  # types of cloud load balancers and Traffic Director: * urlMaps are used by
42291
- # external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used
42292
- # by internal HTTP(S) load balancers. For a list of supported URL map features
42293
- # by the load balancer type, see the Load balancing features: Routing and
42294
- # traffic management table. For a list of supported URL map features for Traffic
42295
- # Director, see the Traffic Director features: Routing and traffic management
42296
- # table. This resource defines mappings from hostnames and URL paths to either a
42297
- # backend service or a backend bucket. To use the global urlMaps resource, the
42298
- # backend service must have a loadBalancingScheme of either EXTERNAL or
42299
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
42300
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
42301
- # read URL Map Concepts.
42586
+ # global external Application Load Balancers, classic Application Load Balancers,
42587
+ # and cross-region internal Application Load Balancers. * regionUrlMaps are
42588
+ # used by internal Application Load Balancers, regional external Application
42589
+ # Load Balancers and regional internal Application Load Balancers. For a list of
42590
+ # supported URL map features by the load balancer type, see the Load balancing
42591
+ # features: Routing and traffic management table. For a list of supported URL
42592
+ # map features for Traffic Director, see the Traffic Director features: Routing
42593
+ # and traffic management table. This resource defines mappings from hostnames
42594
+ # and URL paths to either a backend service or a backend bucket. To use the
42595
+ # global urlMaps resource, the backend service must have a loadBalancingScheme
42596
+ # of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource,
42597
+ # the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For
42598
+ # more information, read URL Map Concepts.
42302
42599
  class UrlMap
42303
42600
  include Google::Apis::Core::Hashable
42304
42601
 
@@ -42313,8 +42610,8 @@ module Google
42313
42610
  # defaultRouteAction specifies any weightedBackendServices, defaultService must
42314
42611
  # not be set. Conversely if defaultService is set, defaultRouteAction cannot
42315
42612
  # contain any weightedBackendServices. Only one of defaultRouteAction or
42316
- # defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load
42317
- # balancers only support the urlRewrite action within defaultRouteAction.
42613
+ # defaultUrlRedirect must be set. URL maps for classic Application Load
42614
+ # Balancers only support the urlRewrite action within defaultRouteAction.
42318
42615
  # defaultRouteAction has no effect when the URL map is bound to a target gRPC
42319
42616
  # proxy that has the validateForProxyless field set to true.
42320
42617
  # Corresponds to the JSON property `defaultRouteAction`
@@ -42931,16 +43228,16 @@ module Google
42931
43228
  include Google::Apis::Core::Hashable
42932
43229
 
42933
43230
  # Specifies the load balancer type(s) this validation request is for. Use
42934
- # EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced
42935
- # Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load
42936
- # Balancer. Other load balancer types are not supported. For more information,
42937
- # refer to Choosing a load balancer. If unspecified, the load balancing scheme
42938
- # will be inferred from the backend service resources this URL map references.
42939
- # If that can not be inferred (for example, this URL map only references backend
42940
- # buckets, or this Url map is for rewrites and redirects only and doesn't
42941
- # reference any backends), EXTERNAL will be used as the default type. If
42942
- # specified, the scheme(s) must not conflict with the load balancing scheme of
42943
- # the backend service resources this Url map references.
43231
+ # EXTERNAL_MANAGED for global external Application Load Balancers and regional
43232
+ # external Application Load Balancers. Use EXTERNAL for classic Application Load
43233
+ # Balancers. Use INTERNAL_MANAGED for internal Application Load Balancers. For
43234
+ # more information, refer to Choosing a load balancer. If unspecified, the load
43235
+ # balancing scheme will be inferred from the backend service resources this URL
43236
+ # map references. If that can not be inferred (for example, this URL map only
43237
+ # references backend buckets, or this Url map is for rewrites and redirects only
43238
+ # and doesn't reference any backends), EXTERNAL will be used as the default type.
43239
+ # If specified, the scheme(s) must not conflict with the load balancing scheme
43240
+ # of the backend service resources this Url map references.
42944
43241
  # Corresponds to the JSON property `loadBalancingSchemes`
42945
43242
  # @return [Array<String>]
42946
43243
  attr_accessor :load_balancing_schemes
@@ -42949,17 +43246,19 @@ module Google
42949
43246
  # Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
42950
43247
  # reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
42951
43248
  # types of cloud load balancers and Traffic Director: * urlMaps are used by
42952
- # external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used
42953
- # by internal HTTP(S) load balancers. For a list of supported URL map features
42954
- # by the load balancer type, see the Load balancing features: Routing and
42955
- # traffic management table. For a list of supported URL map features for Traffic
42956
- # Director, see the Traffic Director features: Routing and traffic management
42957
- # table. This resource defines mappings from hostnames and URL paths to either a
42958
- # backend service or a backend bucket. To use the global urlMaps resource, the
42959
- # backend service must have a loadBalancingScheme of either EXTERNAL or
42960
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
42961
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
42962
- # read URL Map Concepts.
43249
+ # global external Application Load Balancers, classic Application Load Balancers,
43250
+ # and cross-region internal Application Load Balancers. * regionUrlMaps are
43251
+ # used by internal Application Load Balancers, regional external Application
43252
+ # Load Balancers and regional internal Application Load Balancers. For a list of
43253
+ # supported URL map features by the load balancer type, see the Load balancing
43254
+ # features: Routing and traffic management table. For a list of supported URL
43255
+ # map features for Traffic Director, see the Traffic Director features: Routing
43256
+ # and traffic management table. This resource defines mappings from hostnames
43257
+ # and URL paths to either a backend service or a backend bucket. To use the
43258
+ # global urlMaps resource, the backend service must have a loadBalancingScheme
43259
+ # of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource,
43260
+ # the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For
43261
+ # more information, read URL Map Concepts.
42963
43262
  # Corresponds to the JSON property `resource`
42964
43263
  # @return [Google::Apis::ComputeV1::UrlMap]
42965
43264
  attr_accessor :resource
@@ -44289,12 +44588,12 @@ module Google
44289
44588
  # @return [Fixnum]
44290
44589
  attr_accessor :peer_external_gateway_interface
44291
44590
 
44292
- # URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected.
44591
+ # URL of the peer side HA VPN gateway to which this VPN tunnel is connected.
44293
44592
  # Provided by the client when the VPN tunnel is created. This field can be used
44294
44593
  # when creating highly available VPN from VPC network to VPC network, the field
44295
44594
  # is exclusive with the field peerExternalGateway. If provided, the VPN tunnel
44296
- # will automatically use the same vpnGatewayInterface ID in the peer GCP VPN
44297
- # gateway.
44595
+ # will automatically use the same vpnGatewayInterface ID in the peer Google
44596
+ # Cloud VPN gateway.
44298
44597
  # Corresponds to the JSON property `peerGcpGateway`
44299
44598
  # @return [String]
44300
44599
  attr_accessor :peer_gcp_gateway