google-apis-compute_v1 0.7.0 → 0.12.0

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