google-apis-compute_v1 0.76.0 → 0.78.0

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