google-apis-compute_v1 0.7.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 399c98b7064cdd4a62e98eb5a1e4a113958da8977c58e9a319c956c9295623b8
4
- data.tar.gz: 87931d442e7fa46e3a9e2d0c13bfb1371daf10ace8da731a80d07bd1bfa051b8
3
+ metadata.gz: 9498c18cb4d2a88e986b02ae27a27228d9f6654523d99da998c92764be97d222
4
+ data.tar.gz: 82ab99e8610712460ee9596cc0ef02ace7e388da6686538bb16c94c2ec7972bd
5
5
  SHA512:
6
- metadata.gz: 6993281f113446c656b349f6ef40ce4da23f75b8f73deb4eae60fec1b6ee61baea94a628528d95aacc9c6b6d2d3e508da75ee44009bd0348bb1e453375122588
7
- data.tar.gz: 14f625d987bb7c79fa7e4d199c0e8c2ad1caf1c43aed3a9d1b7844d582f3c522845c1726bbca1a50d366b241219ffc002f201ede7e8b5d81774a6dcb99b56031
6
+ metadata.gz: 9f94cc120b8917de1b8b88db7a52dbbc093e0098fc8d10e9b3cd680fc3c78b570891e087ff6c43f357e33f54e5b69482aeb1752c5a6cc8267e7e8a7640e81713
7
+ data.tar.gz: 7d45404271aabc647d7ac1acfa7e85a73dc880143c5478b0df2bdb4eb3b267d08333fff53ab38c15146773b94ac570d886d65ad52ddb03eda37914a9d5eece36
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-compute_v1
2
2
 
3
+ ### v0.12.0 (2021-06-10)
4
+
5
+ * Regenerated from discovery document revision 20210525
6
+ * Regenerated using generator version 0.3.0
7
+
8
+ ### v0.11.0 (2021-05-28)
9
+
10
+ * Regenerated from discovery document revision 20210518
11
+
12
+ ### v0.10.0 (2021-05-20)
13
+
14
+ * Regenerated from discovery document revision 20210505
15
+ * Unspecified changes
16
+
17
+ ### v0.9.0 (2021-05-05)
18
+
19
+ * Regenerated from discovery document revision 20210415
20
+
21
+ ### v0.8.0 (2021-03-30)
22
+
23
+ * Regenerated from discovery document revision 20210316
24
+
3
25
  ### v0.7.0 (2021-03-19)
4
26
 
5
27
  * Regenerated from discovery document revision 20210310
@@ -465,6 +465,19 @@ module Google
465
465
  class AccessConfig
466
466
  include Google::Apis::Core::Hashable
467
467
 
468
+ # [Output Only] The first IPv6 address of the external IPv6 range associated
469
+ # with this instance, prefix length is stored in externalIpv6PrefixLength in
470
+ # ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork
471
+ # associated with the instance will be allocated dynamically.
472
+ # Corresponds to the JSON property `externalIpv6`
473
+ # @return [String]
474
+ attr_accessor :external_ipv6
475
+
476
+ # [Output Only] The prefix length of the external IPv6 range.
477
+ # Corresponds to the JSON property `externalIpv6PrefixLength`
478
+ # @return [Fixnum]
479
+ attr_accessor :external_ipv6_prefix_length
480
+
468
481
  # [Output Only] Type of the resource. Always compute#accessConfig for access
469
482
  # configs.
470
483
  # Corresponds to the JSON property `kind`
@@ -522,6 +535,8 @@ module Google
522
535
 
523
536
  # Update properties of this object
524
537
  def update!(**args)
538
+ @external_ipv6 = args[:external_ipv6] if args.key?(:external_ipv6)
539
+ @external_ipv6_prefix_length = args[:external_ipv6_prefix_length] if args.key?(:external_ipv6_prefix_length)
525
540
  @kind = args[:kind] if args.key?(:kind)
526
541
  @name = args[:name] if args.key?(:name)
527
542
  @nat_ip = args[:nat_ip] if args.key?(:nat_ip)
@@ -631,7 +646,8 @@ module Google
631
646
  # reserved for Cloud NAT.
632
647
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
633
648
  # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
634
- # configuration. These addresses are regional resources.
649
+ # configuration. These addresses are regional resources. Not currently available
650
+ # publicly.
635
651
  # Corresponds to the JSON property `purpose`
636
652
  # @return [String]
637
653
  attr_accessor :purpose
@@ -1042,6 +1058,13 @@ module Google
1042
1058
  attr_accessor :enable_nested_virtualization
1043
1059
  alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1044
1060
 
1061
+ # The number of threads per physical core. To disable simultaneous
1062
+ # multithreading (SMT) set this to 1. If unset, the maximum number of threads
1063
+ # supported per core by the underlying processor is assumed.
1064
+ # Corresponds to the JSON property `threadsPerCore`
1065
+ # @return [Fixnum]
1066
+ attr_accessor :threads_per_core
1067
+
1045
1068
  def initialize(**args)
1046
1069
  update!(**args)
1047
1070
  end
@@ -1049,6 +1072,7 @@ module Google
1049
1072
  # Update properties of this object
1050
1073
  def update!(**args)
1051
1074
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1075
+ @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1052
1076
  end
1053
1077
  end
1054
1078
 
@@ -2189,6 +2213,17 @@ module Google
2189
2213
  class AutoscalingPolicyCpuUtilization
2190
2214
  include Google::Apis::Core::Hashable
2191
2215
 
2216
+ # Indicates whether predictive autoscaling based on CPU metric is enabled. Valid
2217
+ # values are:
2218
+ # * NONE (default). No predictive method is used. The autoscaler scales the
2219
+ # group to meet current demand based on real-time metrics. *
2220
+ # OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by
2221
+ # monitoring daily and weekly load patterns and scaling out ahead of anticipated
2222
+ # demand.
2223
+ # Corresponds to the JSON property `predictiveMethod`
2224
+ # @return [String]
2225
+ attr_accessor :predictive_method
2226
+
2192
2227
  # The target CPU utilization that the autoscaler maintains. Must be a float
2193
2228
  # value in the range (0, 1]. If not specified, the default is 0.6.
2194
2229
  # If the CPU level is below the target utilization, the autoscaler scales in the
@@ -2208,6 +2243,7 @@ module Google
2208
2243
 
2209
2244
  # Update properties of this object
2210
2245
  def update!(**args)
2246
+ @predictive_method = args[:predictive_method] if args.key?(:predictive_method)
2211
2247
  @utilization_target = args[:utilization_target] if args.key?(:utilization_target)
2212
2248
  end
2213
2249
  end
@@ -2714,6 +2750,13 @@ module Google
2714
2750
  # @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyNegativeCachingPolicy>]
2715
2751
  attr_accessor :negative_caching_policy
2716
2752
 
2753
+ # If true then Cloud CDN will combine multiple concurrent cache fill requests
2754
+ # into a small number of requests to the origin.
2755
+ # Corresponds to the JSON property `requestCoalescing`
2756
+ # @return [Boolean]
2757
+ attr_accessor :request_coalescing
2758
+ alias_method :request_coalescing?, :request_coalescing
2759
+
2717
2760
  # Serve existing content from the cache (if available) when revalidating content
2718
2761
  # with the origin, or when an error is encountered when refreshing the cache.
2719
2762
  # This setting defines the default "max-stale" duration for any cached responses
@@ -2755,6 +2798,7 @@ module Google
2755
2798
  @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
2756
2799
  @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
2757
2800
  @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
2801
+ @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
2758
2802
  @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
2759
2803
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
2760
2804
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
@@ -3196,11 +3240,12 @@ module Google
3196
3240
  attr_accessor :self_link
3197
3241
 
3198
3242
  # Type of session affinity to use. The default is NONE.
3199
- # When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
3200
- # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3201
- # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3202
- # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3203
- # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
3243
+ # When the loadBalancingScheme is EXTERNAL:
3244
+ # * For Network Load Balancing, the possible values are NONE, CLIENT_IP,
3245
+ # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. * For all other load balancers that
3246
+ # use loadBalancingScheme=EXTERNAL, the possible values are NONE, CLIENT_IP, or
3247
+ # GENERATED_COOKIE. * You can use GENERATED_COOKIE if the protocol is HTTP,
3248
+ # HTTP2, or HTTPS.
3204
3249
  # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
3205
3250
  # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3206
3251
  # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED,
@@ -3212,10 +3257,9 @@ module Google
3212
3257
  # @return [String]
3213
3258
  attr_accessor :session_affinity
3214
3259
 
3215
- # The backend service timeout has a different meaning depending on the type of
3216
- # load balancer. For more information see, Backend service settings The default
3217
- # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3218
- # seconds.
3260
+ # Not supported when the backend service is referenced by a URL map that is
3261
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3262
+ # Instead, use maxStreamDuration.
3219
3263
  # Corresponds to the JSON property `timeoutSec`
3220
3264
  # @return [Fixnum]
3221
3265
  attr_accessor :timeout_sec
@@ -3484,6 +3528,13 @@ module Google
3484
3528
  # @return [Array<Google::Apis::ComputeV1::BackendServiceCdnPolicyNegativeCachingPolicy>]
3485
3529
  attr_accessor :negative_caching_policy
3486
3530
 
3531
+ # If true then Cloud CDN will combine multiple concurrent cache fill requests
3532
+ # into a small number of requests to the origin.
3533
+ # Corresponds to the JSON property `requestCoalescing`
3534
+ # @return [Boolean]
3535
+ attr_accessor :request_coalescing
3536
+ alias_method :request_coalescing?, :request_coalescing
3537
+
3487
3538
  # Serve existing content from the cache (if available) when revalidating content
3488
3539
  # with the origin, or when an error is encountered when refreshing the cache.
3489
3540
  # This setting defines the default "max-stale" duration for any cached responses
@@ -3526,6 +3577,7 @@ module Google
3526
3577
  @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
3527
3578
  @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
3528
3579
  @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
3580
+ @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
3529
3581
  @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
3530
3582
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
3531
3583
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
@@ -4054,7 +4106,10 @@ module Google
4054
4106
  end
4055
4107
  end
4056
4108
 
4057
- #
4109
+ # A transient resource used in compute.instances.bulkInsert and compute.
4110
+ # regionInstances.bulkInsert and compute.regionInstances.recommendLocations.
4111
+ # This resource is not persisted anywhere, it is used only for processing the
4112
+ # requests.
4058
4113
  class BulkInsertInstanceResource
4059
4114
  include Google::Apis::Core::Hashable
4060
4115
 
@@ -4076,16 +4131,17 @@ module Google
4076
4131
 
4077
4132
  # The minimum number of instances to create. If no min_count is specified then
4078
4133
  # count is used as the default value. If min_count instances cannot be created,
4079
- # then no instances will be created.
4134
+ # then no instances will be created and instances already created will be
4135
+ # deleted.
4080
4136
  # Corresponds to the JSON property `minCount`
4081
4137
  # @return [Fixnum]
4082
4138
  attr_accessor :min_count
4083
4139
 
4084
4140
  # The string pattern used for the names of the VMs. Either name_pattern or
4085
- # predefined_names must be set. The pattern should contain one consecutive
4141
+ # per_instance_properties must be set. The pattern should contain one continuous
4086
4142
  # sequence of placeholder hash characters (#) with each character corresponding
4087
4143
  # to one digit of the generated instance name. Example: name_pattern of inst-####
4088
- # will generate instance names like inst-0001, inst-0002, ... . If there
4144
+ # will generate instance names such as inst-0001, inst-0002, ... . If there
4089
4145
  # already exist instance(s) whose names match the name pattern in the same
4090
4146
  # project and zone, then the generated instance numbers will start after the
4091
4147
  # biggest existing number. For example, if there exists an instance with name
@@ -4239,14 +4295,14 @@ module Google
4239
4295
  class CircuitBreakers
4240
4296
  include Google::Apis::Core::Hashable
4241
4297
 
4242
- # The maximum number of connections to the backend service. If not specified,
4243
- # there is no limit.
4298
+ # Not supported when the backend service is referenced by a URL map that is
4299
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4244
4300
  # Corresponds to the JSON property `maxConnections`
4245
4301
  # @return [Fixnum]
4246
4302
  attr_accessor :max_connections
4247
4303
 
4248
- # The maximum number of pending requests allowed to the backend service. If not
4249
- # specified, there is no limit.
4304
+ # Not supported when the backend service is referenced by a URL map that is
4305
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4250
4306
  # Corresponds to the JSON property `maxPendingRequests`
4251
4307
  # @return [Fixnum]
4252
4308
  attr_accessor :max_pending_requests
@@ -4257,16 +4313,14 @@ module Google
4257
4313
  # @return [Fixnum]
4258
4314
  attr_accessor :max_requests
4259
4315
 
4260
- # Maximum requests for a single connection to the backend service. This
4261
- # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
4262
- # specified, there is no limit. Setting this parameter to 1 will effectively
4263
- # disable keep alive.
4316
+ # Not supported when the backend service is referenced by a URL map that is
4317
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4264
4318
  # Corresponds to the JSON property `maxRequestsPerConnection`
4265
4319
  # @return [Fixnum]
4266
4320
  attr_accessor :max_requests_per_connection
4267
4321
 
4268
- # The maximum number of parallel retries allowed to the backend cluster. If not
4269
- # specified, the default is 1.
4322
+ # Not supported when the backend service is referenced by a URL map that is
4323
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
4270
4324
  # Corresponds to the JSON property `maxRetries`
4271
4325
  # @return [Fixnum]
4272
4326
  attr_accessor :max_retries
@@ -6362,6 +6416,13 @@ module Google
6362
6416
  class DistributionPolicy
6363
6417
  include Google::Apis::Core::Hashable
6364
6418
 
6419
+ # The distribution shape to which the group converges either proactively or on
6420
+ # resize events (depending on the value set in updatePolicy.
6421
+ # instanceRedistributionType).
6422
+ # Corresponds to the JSON property `targetShape`
6423
+ # @return [String]
6424
+ attr_accessor :target_shape
6425
+
6365
6426
  # Zones where the regional managed instance group will create and manage its
6366
6427
  # instances.
6367
6428
  # Corresponds to the JSON property `zones`
@@ -6374,6 +6435,7 @@ module Google
6374
6435
 
6375
6436
  # Update properties of this object
6376
6437
  def update!(**args)
6438
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
6377
6439
  @zones = args[:zones] if args.key?(:zones)
6378
6440
  end
6379
6441
  end
@@ -6684,6 +6746,10 @@ module Google
6684
6746
  attr_accessor :id
6685
6747
 
6686
6748
  # List of interfaces for this external VPN gateway.
6749
+ # If your peer-side gateway is an on-premises gateway and non-AWS cloud
6750
+ # providers? gateway, at most two interfaces can be provided for an external VPN
6751
+ # gateway. If your peer side is an AWS virtual private gateway, four interfaces
6752
+ # should be provided for an external VPN gateway.
6687
6753
  # Corresponds to the JSON property `interfaces`
6688
6754
  # @return [Array<Google::Apis::ComputeV1::ExternalVpnGatewayInterface>]
6689
6755
  attr_accessor :interfaces
@@ -6759,8 +6825,9 @@ module Google
6759
6825
 
6760
6826
  # The numeric ID of this interface. The allowed input values for this id for
6761
6827
  # different redundancy types of external VPN gateway:
6762
- # SINGLE_IP_INTERNALLY_REDUNDANT - 0 TWO_IPS_REDUNDANCY - 0, 1
6763
- # FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
6828
+ # - SINGLE_IP_INTERNALLY_REDUNDANT - 0
6829
+ # - TWO_IPS_REDUNDANCY - 0, 1
6830
+ # - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
6764
6831
  # Corresponds to the JSON property `id`
6765
6832
  # @return [Fixnum]
6766
6833
  attr_accessor :id
@@ -7716,17 +7783,6 @@ module Google
7716
7783
  # @return [Array<String>]
7717
7784
  attr_accessor :target_resources
7718
7785
 
7719
- # A list of secure labels that controls which instances the firewall rule
7720
- # applies to. If targetSecureLabel are specified, then the firewall rule applies
7721
- # only to instances in the VPC network that have one of those secure labels.
7722
- # targetSecureLabel may not be set at the same time as targetServiceAccounts. If
7723
- # neither targetServiceAccounts nor targetSecureLabel are specified, the
7724
- # firewall rule applies to all instances on the specified network. Maximum
7725
- # number of target label values allowed is 256.
7726
- # Corresponds to the JSON property `targetSecureLabels`
7727
- # @return [Array<String>]
7728
- attr_accessor :target_secure_labels
7729
-
7730
7786
  # A list of service accounts indicating the sets of instances that are applied
7731
7787
  # with this rule.
7732
7788
  # Corresponds to the JSON property `targetServiceAccounts`
@@ -7749,7 +7805,6 @@ module Google
7749
7805
  @priority = args[:priority] if args.key?(:priority)
7750
7806
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
7751
7807
  @target_resources = args[:target_resources] if args.key?(:target_resources)
7752
- @target_secure_labels = args[:target_secure_labels] if args.key?(:target_secure_labels)
7753
7808
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
7754
7809
  end
7755
7810
  end
@@ -7775,12 +7830,6 @@ module Google
7775
7830
  # @return [Array<String>]
7776
7831
  attr_accessor :src_ip_ranges
7777
7832
 
7778
- # List of firewall label values, which should be matched at the source of the
7779
- # traffic. Maximum number of source label values allowed is 256.
7780
- # Corresponds to the JSON property `srcSecureLabels`
7781
- # @return [Array<String>]
7782
- attr_accessor :src_secure_labels
7783
-
7784
7833
  def initialize(**args)
7785
7834
  update!(**args)
7786
7835
  end
@@ -7790,7 +7839,6 @@ module Google
7790
7839
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
7791
7840
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
7792
7841
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
7793
- @src_secure_labels = args[:src_secure_labels] if args.key?(:src_secure_labels)
7794
7842
  end
7795
7843
  end
7796
7844
 
@@ -7837,7 +7885,7 @@ module Google
7837
7885
  # - If the value is a percent, then the calculated value is percent/100 *
7838
7886
  # targetSize. For example, the calculated value of a 80% of a managed instance
7839
7887
  # group with 150 instances would be (80/100 * 150) = 120 VM instances. If there
7840
- # is a remainder, the number is rounded up.
7888
+ # is a remainder, the number is rounded.
7841
7889
  # Corresponds to the JSON property `calculated`
7842
7890
  # @return [Fixnum]
7843
7891
  attr_accessor :calculated
@@ -7906,10 +7954,11 @@ module Google
7906
7954
  attr_accessor :ip_address
7907
7955
 
7908
7956
  # The IP protocol to which this rule applies.
7909
- # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
7957
+ # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and
7958
+ # L3_DEFAULT.
7910
7959
  # The valid IP protocols are different for different load balancing products:
7911
7960
  # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and
7912
- # one of TCP, UDP or ALL is valid.
7961
+ # one of TCP, UDP or L3_DEFAULT is valid.
7913
7962
  # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and
7914
7963
  # only TCP is valid.
7915
7964
  # - Internal HTTP(S) Load Balancing: The load balancing scheme is
@@ -7917,17 +7966,18 @@ module Google
7917
7966
  # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme
7918
7967
  # is EXTERNAL and only TCP is valid.
7919
7968
  # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of
7920
- # TCP or UDP is valid.
7969
+ # TCP, UDP or L3_DEFAULT is valid.
7921
7970
  # Corresponds to the JSON property `IPProtocol`
7922
7971
  # @return [String]
7923
7972
  attr_accessor :ip_protocol
7924
7973
 
7925
- # This field is used along with the backend_service field for internal load
7926
- # balancing or with the target field for internal TargetInstance. This field
7927
- # cannot be used with port or portRange fields.
7928
- # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify
7929
- # this field to allow packets addressed to any ports will be forwarded to the
7930
- # backends configured with this forwarding rule.
7974
+ # This field is used along with the backend_service field for Internal TCP/UDP
7975
+ # Load Balancing or Network Load Balancing, or with the target field for
7976
+ # internal and external TargetInstance.
7977
+ # You can only use one of ports and port_range, or allPorts. The three are
7978
+ # mutually exclusive.
7979
+ # For TCP, UDP and SCTP traffic, packets addressed to any ports will be
7980
+ # forwarded to the target or backendService.
7931
7981
  # Corresponds to the JSON property `allPorts`
7932
7982
  # @return [Boolean]
7933
7983
  attr_accessor :all_ports
@@ -8089,13 +8139,16 @@ module Google
8089
8139
  # @return [String]
8090
8140
  attr_accessor :network_tier
8091
8141
 
8092
- # This field can be used only if: * Load balancing scheme is one of EXTERNAL,
8093
- # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP,
8094
- # or SCTP.
8142
+ # This field can be used only if:
8143
+ # - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or
8144
+ # INTERNAL_MANAGED
8145
+ # - IPProtocol is one of TCP, UDP, or SCTP.
8095
8146
  # Packets addressed to ports in the specified range will be forwarded to target
8096
- # or backend_service. You can only use one of ports, port_range, or allPorts.
8097
- # The three are mutually exclusive. Forwarding rules with the same [IPAddress,
8098
- # IPProtocol] pair must have disjoint port ranges.
8147
+ # or backend_service.
8148
+ # You can only use one of ports, port_range, or allPorts. The three are mutually
8149
+ # exclusive.
8150
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
8151
+ # ports.
8099
8152
  # Some types of forwarding target have constraints on the acceptable ports:
8100
8153
  # - TargetHttpProxy: 80, 8080
8101
8154
  # - TargetHttpsProxy: 443
@@ -8116,8 +8169,8 @@ module Google
8116
8169
  # You can only use one of ports and port_range, or allPorts. The three are
8117
8170
  # mutually exclusive.
8118
8171
  # You can specify a list of up to five ports, which can be non-contiguous.
8119
- # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not
8120
- # specify ports.
8172
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
8173
+ # ports.
8121
8174
  # For more information, see [Port specifications](/load-balancing/docs/
8122
8175
  # forwarding-rule-concepts#port_specifications).
8123
8176
  # Corresponds to the JSON property `ports`
@@ -9543,11 +9596,12 @@ module Google
9543
9596
 
9544
9597
  # List of URLs to the HealthCheck resources. Must have at least one HealthCheck,
9545
9598
  # and not more than 10. HealthCheck resources must have portSpecification=
9546
- # USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be
9547
- # regional and in the same region. For global HealthCheckService, HealthCheck
9548
- # must be global. Mix of regional and global HealthChecks is not supported.
9549
- # Multiple regional HealthChecks must belong to the same region. Regional
9550
- # HealthChecks</code? must belong to the same region as zones of NEGs.
9599
+ # USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional
9600
+ # HealthCheckService, the HealthCheck must be regional and in the same region.
9601
+ # For global HealthCheckService, HealthCheck must be global. Mix of regional and
9602
+ # global HealthChecks is not supported. Multiple regional HealthChecks must
9603
+ # belong to the same region. Regional HealthChecks must belong to the same
9604
+ # region as zones of NEGs.
9551
9605
  # Corresponds to the JSON property `healthChecks`
9552
9606
  # @return [Array<String>]
9553
9607
  attr_accessor :health_checks
@@ -10001,6 +10055,16 @@ module Google
10001
10055
  # @return [Hash<String,String>]
10002
10056
  attr_accessor :annotations
10003
10057
 
10058
+ # URL of the forwarding rule associated with the health status of the instance.
10059
+ # Corresponds to the JSON property `forwardingRule`
10060
+ # @return [String]
10061
+ attr_accessor :forwarding_rule
10062
+
10063
+ # A forwarding rule IP address assigned to this instance.
10064
+ # Corresponds to the JSON property `forwardingRuleIp`
10065
+ # @return [String]
10066
+ attr_accessor :forwarding_rule_ip
10067
+
10004
10068
  # Health state of the instance.
10005
10069
  # Corresponds to the JSON property `healthState`
10006
10070
  # @return [String]
@@ -10041,6 +10105,8 @@ module Google
10041
10105
  # Update properties of this object
10042
10106
  def update!(**args)
10043
10107
  @annotations = args[:annotations] if args.key?(:annotations)
10108
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
10109
+ @forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip)
10044
10110
  @health_state = args[:health_state] if args.key?(:health_state)
10045
10111
  @instance = args[:instance] if args.key?(:instance)
10046
10112
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -10152,6 +10218,9 @@ module Google
10152
10218
 
10153
10219
  # The HTTP status code used to abort the request.
10154
10220
  # The value must be between 200 and 599 inclusive.
10221
+ # For gRPC protocol, the gRPC status code is mapped to HTTP status code
10222
+ # according to this mapping table. HTTP status 200 is mapped to gRPC status
10223
+ # UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
10155
10224
  # Corresponds to the JSON property `httpStatus`
10156
10225
  # @return [Fixnum]
10157
10226
  attr_accessor :http_status
@@ -10778,8 +10847,8 @@ module Google
10778
10847
  # @return [Google::Apis::ComputeV1::Duration]
10779
10848
  attr_accessor :per_try_timeout
10780
10849
 
10781
- # Specfies one or more conditions when this retry rule applies. Valid values are:
10782
- #
10850
+ # Specifies one or more conditions when this retry rule applies. Valid values
10851
+ # are:
10783
10852
  # - 5xx: Loadbalancer will attempt a retry if the backend service responds with
10784
10853
  # any 5xx response code, or if the backend service does not respond at all,
10785
10854
  # example: disconnects, reset, read timeout, connection failure, and refused
@@ -11436,13 +11505,17 @@ module Google
11436
11505
  # @return [Google::Apis::ComputeV1::InitialStateConfig]
11437
11506
  attr_accessor :shielded_instance_initial_state
11438
11507
 
11439
- # URL of the source disk used to create this image. This can be a full or valid
11440
- # partial URL. You must provide either this property or the rawDisk.source
11441
- # property but not both to create an image. For example, the following are valid
11442
- # values:
11508
+ # URL of the source disk used to create this image. For example, the following
11509
+ # are valid values:
11443
11510
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
11444
11511
  # - projects/project/zones/zone/disks/disk
11445
11512
  # - zones/zone/disks/disk
11513
+ # In order to create an image, you must provide the full or partial URL of one
11514
+ # of the following:
11515
+ # - The rawDisk.source URL
11516
+ # - The sourceDisk URL
11517
+ # - The sourceImage URL
11518
+ # - The sourceSnapshot URL
11446
11519
  # Corresponds to the JSON property `sourceDisk`
11447
11520
  # @return [String]
11448
11521
  attr_accessor :source_disk
@@ -11463,10 +11536,10 @@ module Google
11463
11536
  # URL of the source image used to create this image.
11464
11537
  # In order to create an image, you must provide the full or partial URL of one
11465
11538
  # of the following:
11466
- # - The selfLink URL
11467
- # - This property
11468
11539
  # - The rawDisk.source URL
11469
11540
  # - The sourceDisk URL
11541
+ # - The sourceImage URL
11542
+ # - The sourceSnapshot URL
11470
11543
  # Corresponds to the JSON property `sourceImage`
11471
11544
  # @return [String]
11472
11545
  attr_accessor :source_image
@@ -11487,11 +11560,10 @@ module Google
11487
11560
  # URL of the source snapshot used to create this image.
11488
11561
  # In order to create an image, you must provide the full or partial URL of one
11489
11562
  # of the following:
11490
- # - The selfLink URL
11491
- # - This property
11492
- # - The sourceImage URL
11493
11563
  # - The rawDisk.source URL
11494
11564
  # - The sourceDisk URL
11565
+ # - The sourceImage URL
11566
+ # - The sourceSnapshot URL
11495
11567
  # Corresponds to the JSON property `sourceSnapshot`
11496
11568
  # @return [String]
11497
11569
  attr_accessor :source_snapshot
@@ -11585,8 +11657,13 @@ module Google
11585
11657
  # @return [String]
11586
11658
  attr_accessor :sha1_checksum
11587
11659
 
11588
- # The full Google Cloud Storage URL where the disk image is stored. You must
11589
- # provide either this property or the sourceDisk property but not both.
11660
+ # The full Google Cloud Storage URL where the disk image is stored.
11661
+ # In order to create an image, you must provide the full or partial URL of one
11662
+ # of the following:
11663
+ # - The rawDisk.source URL
11664
+ # - The sourceDisk URL
11665
+ # - The sourceImage URL
11666
+ # - The sourceSnapshot URL
11590
11667
  # Corresponds to the JSON property `source`
11591
11668
  # @return [String]
11592
11669
  attr_accessor :source
@@ -11935,11 +12012,6 @@ module Google
11935
12012
  # @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
11936
12013
  attr_accessor :network_interfaces
11937
12014
 
11938
- # PostKeyRevocationActionType of the instance.
11939
- # Corresponds to the JSON property `postKeyRevocationActionType`
11940
- # @return [String]
11941
- attr_accessor :post_key_revocation_action_type
11942
-
11943
12015
  # The private IPv6 google access type for the VM. If not specified, use
11944
12016
  # INHERIT_FROM_SUBNETWORK as default.
11945
12017
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -11962,7 +12034,7 @@ module Google
11962
12034
  attr_accessor :satisfies_pzs
11963
12035
  alias_method :satisfies_pzs?, :satisfies_pzs
11964
12036
 
11965
- # Sets the scheduling options for an Instance. NextID: 20
12037
+ # Sets the scheduling options for an Instance. NextID: 21
11966
12038
  # Corresponds to the JSON property `scheduling`
11967
12039
  # @return [Google::Apis::ComputeV1::Scheduling]
11968
12040
  attr_accessor :scheduling
@@ -12054,7 +12126,6 @@ module Google
12054
12126
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
12055
12127
  @name = args[:name] if args.key?(:name)
12056
12128
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
12057
- @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
12058
12129
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
12059
12130
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
12060
12131
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -12559,6 +12630,13 @@ module Google
12559
12630
  end
12560
12631
  end
12561
12632
 
12633
+ # Whether the instance is a standby. Properties of a standby instance comparing
12634
+ # to the regular instance: ======================================================
12635
+ # =================== | regular | standby =======================================
12636
+ # ================================== managed by IGM? | yes | yes added to the IG?
12637
+ # | yes | yes counts towards IGM's target size? | yes | no taken into account
12638
+ # by Autoscaler? | yes | no receives traffic from LB? | yes | no ================
12639
+ # =========================================================
12562
12640
  # Represents a Managed Instance Group resource.
12563
12641
  # An instance group is a collection of VM instances that you can manage as a
12564
12642
  # single entity. For more information, read Instance groups.
@@ -14567,11 +14645,6 @@ module Google
14567
14645
  # @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
14568
14646
  attr_accessor :network_interfaces
14569
14647
 
14570
- # PostKeyRevocationActionType of the instance.
14571
- # Corresponds to the JSON property `postKeyRevocationActionType`
14572
- # @return [String]
14573
- attr_accessor :post_key_revocation_action_type
14574
-
14575
14648
  # The private IPv6 google access type for VMs. If not specified, use
14576
14649
  # INHERIT_FROM_SUBNETWORK as default.
14577
14650
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -14589,7 +14662,7 @@ module Google
14589
14662
  # @return [Array<String>]
14590
14663
  attr_accessor :resource_policies
14591
14664
 
14592
- # Sets the scheduling options for an Instance. NextID: 20
14665
+ # Sets the scheduling options for an Instance. NextID: 21
14593
14666
  # Corresponds to the JSON property `scheduling`
14594
14667
  # @return [Google::Apis::ComputeV1::Scheduling]
14595
14668
  attr_accessor :scheduling
@@ -14629,7 +14702,6 @@ module Google
14629
14702
  @metadata = args[:metadata] if args.key?(:metadata)
14630
14703
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
14631
14704
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
14632
- @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
14633
14705
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
14634
14706
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
14635
14707
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -15534,14 +15606,18 @@ module Google
15534
15606
  # @return [String]
15535
15607
  attr_accessor :edge_availability_domain
15536
15608
 
15537
- # Indicates the user-supplied encryption option of this interconnect attachment:
15538
- # - NONE is the default value, which means that the attachment carries
15539
- # unencrypted traffic. VMs can send traffic to, or receive traffic from, this
15540
- # type of attachment.
15541
- # - IPSEC indicates that the attachment carries only traffic encrypted by an
15542
- # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
15543
- # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
15544
- # Interconnect, create the attachment using this option.
15609
+ # Indicates the user-supplied encryption option of this VLAN attachment (
15610
+ # interconnectAttachment). Can only be specified at attachment creation for
15611
+ # PARTNER or DEDICATED attachments. Possible values are:
15612
+ # - NONE - This is the default value, which means that the VLAN attachment
15613
+ # carries unencrypted traffic. VMs are able to send traffic to, or receive
15614
+ # traffic from, such a VLAN attachment.
15615
+ # - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted
15616
+ # by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs
15617
+ # cannot directly send traffic to, or receive traffic from, such a VLAN
15618
+ # attachment. To use IPsec-encrypted Cloud Interconnect, the VLAN attachment
15619
+ # must be created with this option.
15620
+ # Not currently available publicly.
15545
15621
  # Corresponds to the JSON property `encryption`
15546
15622
  # @return [String]
15547
15623
  attr_accessor :encryption
@@ -15565,18 +15641,19 @@ module Google
15565
15641
  # @return [String]
15566
15642
  attr_accessor :interconnect
15567
15643
 
15568
- # URL of addresses that have been reserved for the interconnect attachment, Used
15569
- # only for interconnect attachment that has the encryption option as IPSEC. The
15570
- # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
15571
- # over the interconnect attachment, if the attachment is configured to use an
15572
- # RFC 1918 IP address, then the VPN gateway?s IP address will be allocated from
15573
- # the IP address range specified here. For example, if the HA VPN gateway?s
15574
- # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
15644
+ # List of URL of addresses that have been reserved for the VLAN attachment. Used
15645
+ # only for the VLAN attachment that has the encryption option as IPSEC. The
15646
+ # addresses must be regional internal IP address ranges. When creating an HA VPN
15647
+ # gateway over the VLAN attachment, if the attachment is configured to use a
15648
+ # regional internal IP address, then the VPN gateway's IP address is allocated
15649
+ # from the IP address range specified here. For example, if the HA VPN gateway's
15650
+ # interface 0 is paired to this VLAN attachment, then a regional internal IP
15575
15651
  # address for the VPN gateway interface 0 will be allocated from the IP address
15576
- # specified for this interconnect attachment. If this field is not specified for
15577
- # interconnect attachment that has encryption option as IPSEC, later on when
15578
- # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
15579
- # IP address will be allocated from regional external IP address pool.
15652
+ # specified for this VLAN attachment. If this field is not specified when
15653
+ # creating the VLAN attachment, then later on when creating an HA VPN gateway on
15654
+ # this VLAN attachment, the HA VPN gateway's IP address is allocated from the
15655
+ # regional external IP address pool.
15656
+ # Not currently available publicly.
15580
15657
  # Corresponds to the JSON property `ipsecInternalAddresses`
15581
15658
  # @return [Array<String>]
15582
15659
  attr_accessor :ipsec_internal_addresses
@@ -16792,8 +16869,10 @@ module Google
16792
16869
  # - ACTIVE: This outage notification is active. The event could be in the past,
16793
16870
  # present, or future. See start_time and end_time for scheduling.
16794
16871
  # - CANCELLED: The outage associated with this notification was cancelled before
16795
- # the outage was due to start. Note that the versions of this enum prefixed with
16796
- # "NS_" have been deprecated in favor of the unprefixed values.
16872
+ # the outage was due to start.
16873
+ # - COMPLETED: The outage associated with this notification is complete. Note
16874
+ # that the versions of this enum prefixed with "NS_" have been deprecated in
16875
+ # favor of the unprefixed values.
16797
16876
  # Corresponds to the JSON property `state`
16798
16877
  # @return [String]
16799
16878
  attr_accessor :state
@@ -17229,7 +17308,7 @@ module Google
17229
17308
  include Google::Apis::Core::Hashable
17230
17309
 
17231
17310
  # Location configurations mapped by location name. Currently only zone names are
17232
- # supported and must be represented as valid internal URLs, like: zones/us-
17311
+ # supported and must be represented as valid internal URLs, such as zones/us-
17233
17312
  # central1-a.
17234
17313
  # Corresponds to the JSON property `locations`
17235
17314
  # @return [Hash<String,Google::Apis::ComputeV1::LocationPolicyLocation>]
@@ -17249,7 +17328,7 @@ module Google
17249
17328
  class LocationPolicyLocation
17250
17329
  include Google::Apis::Core::Hashable
17251
17330
 
17252
- #
17331
+ # Preference for a given location: ALLOW or DENY.
17253
17332
  # Corresponds to the JSON property `preference`
17254
17333
  # @return [String]
17255
17334
  attr_accessor :preference
@@ -19310,6 +19389,20 @@ module Google
19310
19389
  # @return [String]
19311
19390
  attr_accessor :fingerprint
19312
19391
 
19392
+ # An array of IPv6 access configurations for this interface. Currently, only one
19393
+ # IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
19394
+ # specified, then this instance will have no external IPv6 Internet access.
19395
+ # Corresponds to the JSON property `ipv6AccessConfigs`
19396
+ # @return [Array<Google::Apis::ComputeV1::AccessConfig>]
19397
+ attr_accessor :ipv6_access_configs
19398
+
19399
+ # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be
19400
+ # accessed from the Internet. This field is always inherited from its subnetwork.
19401
+ # Valid only if stackType is IPV4_IPV6.
19402
+ # Corresponds to the JSON property `ipv6AccessType`
19403
+ # @return [String]
19404
+ attr_accessor :ipv6_access_type
19405
+
19313
19406
  # [Output Only] An IPv6 internal network address for this network interface.
19314
19407
  # Corresponds to the JSON property `ipv6Address`
19315
19408
  # @return [String]
@@ -19353,6 +19446,14 @@ module Google
19353
19446
  # @return [String]
19354
19447
  attr_accessor :nic_type
19355
19448
 
19449
+ # The stack type for this network interface to identify whether the IPv6 feature
19450
+ # is enabled or not. If not specified, IPV4_ONLY will be used.
19451
+ # This field can be both set at instance creation and update network interface
19452
+ # operations.
19453
+ # Corresponds to the JSON property `stackType`
19454
+ # @return [String]
19455
+ attr_accessor :stack_type
19456
+
19356
19457
  # The URL of the Subnetwork resource for this instance. If the network resource
19357
19458
  # is in legacy mode, do not specify this field. If the network is in auto subnet
19358
19459
  # mode, specifying the subnetwork is optional. If the network is in custom
@@ -19375,12 +19476,15 @@ module Google
19375
19476
  @access_configs = args[:access_configs] if args.key?(:access_configs)
19376
19477
  @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
19377
19478
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
19479
+ @ipv6_access_configs = args[:ipv6_access_configs] if args.key?(:ipv6_access_configs)
19480
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
19378
19481
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
19379
19482
  @kind = args[:kind] if args.key?(:kind)
19380
19483
  @name = args[:name] if args.key?(:name)
19381
19484
  @network = args[:network] if args.key?(:network)
19382
19485
  @network_ip = args[:network_ip] if args.key?(:network_ip)
19383
19486
  @nic_type = args[:nic_type] if args.key?(:nic_type)
19487
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
19384
19488
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
19385
19489
  end
19386
19490
  end
@@ -26185,7 +26289,10 @@ module Google
26185
26289
  # @return [String]
26186
26290
  attr_accessor :key
26187
26291
 
26188
- # Corresponds to the label values of a reservation resource.
26292
+ # Corresponds to the label values of a reservation resource. This can be either
26293
+ # a name to a reservation in the same project or "projects/different-project/
26294
+ # reservations/some-reservation-name" to target a shared reservation in the same
26295
+ # zone but in a different project.
26189
26296
  # Corresponds to the JSON property `values`
26190
26297
  # @return [Array<String>]
26191
26298
  attr_accessor :values
@@ -27820,8 +27927,9 @@ module Google
27820
27927
  # @return [String]
27821
27928
  attr_accessor :description
27822
27929
 
27823
- # Field to indicate if a router is dedicated to use with encrypted Interconnect
27824
- # Attachment (IPsec-encrypted Cloud Interconnect feature).
27930
+ # Indicates if a router is dedicated for use with encrypted VLAN attachments (
27931
+ # interconnectAttachments).
27932
+ # Not currently available publicly.
27825
27933
  # Corresponds to the JSON property `encryptedInterconnectRouter`
27826
27934
  # @return [Boolean]
27827
27935
  attr_accessor :encrypted_interconnect_router
@@ -28080,6 +28188,18 @@ module Google
28080
28188
  # @return [Fixnum]
28081
28189
  attr_accessor :asn
28082
28190
 
28191
+ # The interval in seconds between BGP keepalive messages that are sent to the
28192
+ # peer.
28193
+ # Hold time is three times the interval at which keepalive messages are sent,
28194
+ # and the hold time is the maximum number of seconds allowed to elapse between
28195
+ # successive keepalive messages that BGP receives from a peer.
28196
+ # BGP will use the smaller of either the local hold time value or the peer's
28197
+ # hold time value as the hold time for the BGP connection between the two peers.
28198
+ # If set, this value must be between 20 and 60. The default is 20.
28199
+ # Corresponds to the JSON property `keepaliveInterval`
28200
+ # @return [Fixnum]
28201
+ attr_accessor :keepalive_interval
28202
+
28083
28203
  def initialize(**args)
28084
28204
  update!(**args)
28085
28205
  end
@@ -28090,6 +28210,7 @@ module Google
28090
28210
  @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
28091
28211
  @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
28092
28212
  @asn = args[:asn] if args.key?(:asn)
28213
+ @keepalive_interval = args[:keepalive_interval] if args.key?(:keepalive_interval)
28093
28214
  end
28094
28215
  end
28095
28216
 
@@ -28130,6 +28251,14 @@ module Google
28130
28251
  # @return [Fixnum]
28131
28252
  attr_accessor :advertised_route_priority
28132
28253
 
28254
+ # The status of the BGP peer connection.
28255
+ # If set to FALSE, any active session with the peer is terminated and all
28256
+ # associated routing information is removed. If set to TRUE, the peer connection
28257
+ # can be established with routing information. The default is TRUE.
28258
+ # Corresponds to the JSON property `enable`
28259
+ # @return [String]
28260
+ attr_accessor :enable
28261
+
28133
28262
  # Name of the interface the BGP peer is associated with.
28134
28263
  # Corresponds to the JSON property `interfaceName`
28135
28264
  # @return [String]
@@ -28184,6 +28313,7 @@ module Google
28184
28313
  @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
28185
28314
  @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
28186
28315
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
28316
+ @enable = args[:enable] if args.key?(:enable)
28187
28317
  @interface_name = args[:interface_name] if args.key?(:interface_name)
28188
28318
  @ip_address = args[:ip_address] if args.key?(:ip_address)
28189
28319
  @management_type = args[:management_type] if args.key?(:management_type)
@@ -29038,7 +29168,7 @@ module Google
29038
29168
  end
29039
29169
  end
29040
29170
 
29041
- # Sets the scheduling options for an Instance. NextID: 20
29171
+ # Sets the scheduling options for an Instance. NextID: 21
29042
29172
  class Scheduling
29043
29173
  include Google::Apis::Core::Hashable
29044
29174
 
@@ -29207,6 +29337,11 @@ module Google
29207
29337
  class SecurityPolicy
29208
29338
  include Google::Apis::Core::Hashable
29209
29339
 
29340
+ #
29341
+ # Corresponds to the JSON property `advancedOptionsConfig`
29342
+ # @return [Google::Apis::ComputeV1::SecurityPolicyAdvancedOptionsConfig]
29343
+ attr_accessor :advanced_options_config
29344
+
29210
29345
  # [Output Only] Creation timestamp in RFC3339 text format.
29211
29346
  # Corresponds to the JSON property `creationTimestamp`
29212
29347
  # @return [String]
@@ -29271,6 +29406,7 @@ module Google
29271
29406
 
29272
29407
  # Update properties of this object
29273
29408
  def update!(**args)
29409
+ @advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config)
29274
29410
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
29275
29411
  @description = args[:description] if args.key?(:description)
29276
29412
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -29282,6 +29418,31 @@ module Google
29282
29418
  end
29283
29419
  end
29284
29420
 
29421
+ #
29422
+ class SecurityPolicyAdvancedOptionsConfig
29423
+ include Google::Apis::Core::Hashable
29424
+
29425
+ #
29426
+ # Corresponds to the JSON property `jsonParsing`
29427
+ # @return [String]
29428
+ attr_accessor :json_parsing
29429
+
29430
+ #
29431
+ # Corresponds to the JSON property `logLevel`
29432
+ # @return [String]
29433
+ attr_accessor :log_level
29434
+
29435
+ def initialize(**args)
29436
+ update!(**args)
29437
+ end
29438
+
29439
+ # Update properties of this object
29440
+ def update!(**args)
29441
+ @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
29442
+ @log_level = args[:log_level] if args.key?(:log_level)
29443
+ end
29444
+ end
29445
+
29285
29446
  #
29286
29447
  class SecurityPolicyList
29287
29448
  include Google::Apis::Core::Hashable
@@ -29418,7 +29579,7 @@ module Google
29418
29579
  class SecurityPolicyRule
29419
29580
  include Google::Apis::Core::Hashable
29420
29581
 
29421
- # The Action to preform when the client connection triggers the rule. Can
29582
+ # The Action to perform when the client connection triggers the rule. Can
29422
29583
  # currently be either "allow" or "deny()" where valid values for status are 403,
29423
29584
  # 404, and 502.
29424
29585
  # Corresponds to the JSON property `action`
@@ -31116,6 +31277,12 @@ module Google
31116
31277
  attr_accessor :enable_flow_logs
31117
31278
  alias_method :enable_flow_logs?, :enable_flow_logs
31118
31279
 
31280
+ # [Output Only] The range of external IPv6 addresses that are owned by this
31281
+ # subnetwork.
31282
+ # Corresponds to the JSON property `externalIpv6Prefix`
31283
+ # @return [String]
31284
+ attr_accessor :external_ipv6_prefix
31285
+
31119
31286
  # Fingerprint of this resource. A hash of the contents stored in this object.
31120
31287
  # This field is used in optimistic locking. This field will be ignored when
31121
31288
  # inserting a Subnetwork. An up-to-date fingerprint must be provided in order to
@@ -31149,6 +31316,14 @@ module Google
31149
31316
  # @return [String]
31150
31317
  attr_accessor :ip_cidr_range
31151
31318
 
31319
+ # The access type of IPv6 address this subnet holds. It's immutable and can only
31320
+ # be specified during creation or the first time the subnet is updated into
31321
+ # IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot
31322
+ # enable direct path.
31323
+ # Corresponds to the JSON property `ipv6AccessType`
31324
+ # @return [String]
31325
+ attr_accessor :ipv6_access_type
31326
+
31152
31327
  # [Output Only] The range of internal IPv6 addresses that are owned by this
31153
31328
  # subnetwork.
31154
31329
  # Corresponds to the JSON property `ipv6CidrRange`
@@ -31239,14 +31414,19 @@ module Google
31239
31414
  # @return [String]
31240
31415
  attr_accessor :self_link
31241
31416
 
31417
+ # The stack type for this subnet to identify whether the IPv6 feature is enabled
31418
+ # or not. If not specified IPV4_ONLY will be used.
31419
+ # This field can be both set at resource creation time and updated using patch.
31420
+ # Corresponds to the JSON property `stackType`
31421
+ # @return [String]
31422
+ attr_accessor :stack_type
31423
+
31242
31424
  # [Output Only] The state of the subnetwork, which can be one of the following
31243
31425
  # values: READY: Subnetwork is created and ready to use DRAINING: only
31244
31426
  # applicable to subnetworks that have the purpose set to
31245
31427
  # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
31246
31428
  # balancer are being drained. A subnetwork that is draining cannot be used or
31247
- # modified until it reaches a status of READY CREATING: Subnetwork is
31248
- # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
31249
- # being updated
31429
+ # modified until it reaches a status of READY
31250
31430
  # Corresponds to the JSON property `state`
31251
31431
  # @return [String]
31252
31432
  attr_accessor :state
@@ -31260,10 +31440,12 @@ module Google
31260
31440
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31261
31441
  @description = args[:description] if args.key?(:description)
31262
31442
  @enable_flow_logs = args[:enable_flow_logs] if args.key?(:enable_flow_logs)
31443
+ @external_ipv6_prefix = args[:external_ipv6_prefix] if args.key?(:external_ipv6_prefix)
31263
31444
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
31264
31445
  @gateway_address = args[:gateway_address] if args.key?(:gateway_address)
31265
31446
  @id = args[:id] if args.key?(:id)
31266
31447
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
31448
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
31267
31449
  @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
31268
31450
  @kind = args[:kind] if args.key?(:kind)
31269
31451
  @log_config = args[:log_config] if args.key?(:log_config)
@@ -31276,6 +31458,7 @@ module Google
31276
31458
  @role = args[:role] if args.key?(:role)
31277
31459
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
31278
31460
  @self_link = args[:self_link] if args.key?(:self_link)
31461
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
31279
31462
  @state = args[:state] if args.key?(:state)
31280
31463
  end
31281
31464
  end
@@ -31559,7 +31742,7 @@ module Google
31559
31742
 
31560
31743
  # Can only be specified if VPC flow logs for this subnetwork is enabled.
31561
31744
  # Configures whether all, none or a subset of metadata fields should be added to
31562
- # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
31745
+ # the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
31563
31746
  # Corresponds to the JSON property `metadata`
31564
31747
  # @return [String]
31565
31748
  attr_accessor :metadata
@@ -32548,7 +32731,8 @@ module Google
32548
32731
  include Google::Apis::Core::Hashable
32549
32732
 
32550
32733
  # New set of SslCertificate resources to associate with this TargetHttpsProxy
32551
- # resource. Currently exactly one SslCertificate resource must be specified.
32734
+ # resource. At least one SSL certificate must be specified. Currently, you may
32735
+ # specify up to 15 SSL certificates.
32552
32736
  # Corresponds to the JSON property `sslCertificates`
32553
32737
  # @return [Array<String>]
32554
32738
  attr_accessor :ssl_certificates
@@ -32683,6 +32867,8 @@ module Google
32683
32867
  # URLs to SslCertificate resources that are used to authenticate connections
32684
32868
  # between users and the load balancer. At least one SSL certificate must be
32685
32869
  # specified. Currently, you may specify up to 15 SSL certificates.
32870
+ # sslCertificates do not apply when the load balancing scheme is set to
32871
+ # INTERNAL_SELF_MANAGED.
32686
32872
  # Corresponds to the JSON property `sslCertificates`
32687
32873
  # @return [Array<String>]
32688
32874
  attr_accessor :ssl_certificates
@@ -34023,7 +34209,8 @@ module Google
34023
34209
  include Google::Apis::Core::Hashable
34024
34210
 
34025
34211
  # New set of URLs to SslCertificate resources to associate with this
34026
- # TargetSslProxy. Currently exactly one ssl certificate must be specified.
34212
+ # TargetSslProxy. At least one SSL certificate must be specified. Currently, you
34213
+ # may specify up to 15 SSL certificates.
34027
34214
  # Corresponds to the JSON property `sslCertificates`
34028
34215
  # @return [Array<String>]
34029
34216
  attr_accessor :ssl_certificates
@@ -34097,7 +34284,8 @@ module Google
34097
34284
 
34098
34285
  # URLs to SslCertificate resources that are used to authenticate connections to
34099
34286
  # Backends. At least one SSL certificate must be specified. Currently, you may
34100
- # specify up to 15 SSL certificates.
34287
+ # specify up to 15 SSL certificates. sslCertificates do not apply when the load
34288
+ # balancing scheme is set to INTERNAL_SELF_MANAGED.
34101
34289
  # Corresponds to the JSON property `sslCertificates`
34102
34290
  # @return [Array<String>]
34103
34291
  attr_accessor :ssl_certificates
@@ -35854,7 +36042,9 @@ module Google
35854
36042
  # requests. If the number of results is larger than maxResults, use the
35855
36043
  # nextPageToken as a value for the query parameter pageToken in the next list
35856
36044
  # request. Subsequent list requests will have their own nextPageToken to
35857
- # continue paging through the results.
36045
+ # continue paging through the results. In special cases listUsable may return 0
36046
+ # subnetworks and nextPageToken which still should be used to get the next page
36047
+ # of results.
35858
36048
  # Corresponds to the JSON property `nextPageToken`
35859
36049
  # @return [String]
35860
36050
  attr_accessor :next_page_token
@@ -36258,7 +36448,7 @@ module Google
36258
36448
  # @return [String]
36259
36449
  attr_accessor :self_link
36260
36450
 
36261
- # A list of interfaces on this VPN gateway.
36451
+ # The list of VPN interfaces associated with this VPN gateway.
36262
36452
  # Corresponds to the JSON property `vpnInterfaces`
36263
36453
  # @return [Array<Google::Apis::ComputeV1::VpnGatewayVpnGatewayInterface>]
36264
36454
  attr_accessor :vpn_interfaces
@@ -36651,20 +36841,30 @@ module Google
36651
36841
  class VpnGatewayVpnGatewayInterface
36652
36842
  include Google::Apis::Core::Hashable
36653
36843
 
36654
- # The numeric ID of this VPN gateway interface.
36844
+ # [Output Only] Numeric identifier for this VPN interface associated with the
36845
+ # VPN gateway.
36655
36846
  # Corresponds to the JSON property `id`
36656
36847
  # @return [Fixnum]
36657
36848
  attr_accessor :id
36658
36849
 
36659
- # URL of the interconnect attachment resource. When the value of this field is
36660
- # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
36661
- # all Egress or Ingress traffic for this VPN Gateway interface will go through
36662
- # the specified interconnect attachment resource.
36850
+ # URL of the VLAN attachment (interconnectAttachment) resource for this VPN
36851
+ # gateway interface. When the value of this field is present, the VPN gateway is
36852
+ # used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for
36853
+ # this VPN gateway interface goes through the specified VLAN attachment resource.
36854
+ # Not currently available publicly.
36663
36855
  # Corresponds to the JSON property `interconnectAttachment`
36664
36856
  # @return [String]
36665
36857
  attr_accessor :interconnect_attachment
36666
36858
 
36667
- # [Output Only] The external IP address for this VPN gateway interface.
36859
+ # [Output Only] IP address for this VPN interface associated with the VPN
36860
+ # gateway. The IP address could be either a regional external IP address or a
36861
+ # regional internal IP address. The two IP addresses for a VPN gateway must be
36862
+ # all regional external or regional internal IP addresses. There cannot be a mix
36863
+ # of regional external IP addresses and regional internal IP addresses. For
36864
+ # IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could
36865
+ # either be regional internal IP addresses or regional external IP addresses.
36866
+ # For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP
36867
+ # address must be a regional external IP address.
36668
36868
  # Corresponds to the JSON property `ipAddress`
36669
36869
  # @return [String]
36670
36870
  attr_accessor :ip_address
@@ -36923,8 +37123,8 @@ module Google
36923
37123
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
36924
37124
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
36925
37125
  # - NO_INCOMING_PACKETS: No incoming packets from peer.
36926
- # - REJECTED: Tunnel configuration was rejected, can be result of being
36927
- # blacklisted.
37126
+ # - REJECTED: Tunnel configuration was rejected, can be result of being denied
37127
+ # access.
36928
37128
  # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
36929
37129
  # resources.
36930
37130
  # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for