google-apis-compute_v1 0.133.0 → 0.134.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.
@@ -101,6 +101,75 @@ module Google
101
101
  end
102
102
  end
103
103
 
104
+ # Info for accelerator topologies within a densely packed reservation.
105
+ class AcceleratorTopologiesInfo
106
+ include Google::Apis::Core::Hashable
107
+
108
+ # Info for each accelerator topology.
109
+ # Corresponds to the JSON property `acceleratorTopologyInfos`
110
+ # @return [Array<Google::Apis::ComputeV1::AcceleratorTopologiesInfoAcceleratorTopologyInfo>]
111
+ attr_accessor :accelerator_topology_infos
112
+
113
+ def initialize(**args)
114
+ update!(**args)
115
+ end
116
+
117
+ # Update properties of this object
118
+ def update!(**args)
119
+ @accelerator_topology_infos = args[:accelerator_topology_infos] if args.key?(:accelerator_topology_infos)
120
+ end
121
+ end
122
+
123
+ # Info for a slice of a given topology.
124
+ class AcceleratorTopologiesInfoAcceleratorTopologyInfo
125
+ include Google::Apis::Core::Hashable
126
+
127
+ # The accelerator topology.
128
+ # Corresponds to the JSON property `acceleratorTopology`
129
+ # @return [String]
130
+ attr_accessor :accelerator_topology
131
+
132
+ # Info for each topology state.
133
+ # Corresponds to the JSON property `infoPerTopologyStates`
134
+ # @return [Array<Google::Apis::ComputeV1::AcceleratorTopologiesInfoAcceleratorTopologyInfoInfoPerTopologyState>]
135
+ attr_accessor :info_per_topology_states
136
+
137
+ def initialize(**args)
138
+ update!(**args)
139
+ end
140
+
141
+ # Update properties of this object
142
+ def update!(**args)
143
+ @accelerator_topology = args[:accelerator_topology] if args.key?(:accelerator_topology)
144
+ @info_per_topology_states = args[:info_per_topology_states] if args.key?(:info_per_topology_states)
145
+ end
146
+ end
147
+
148
+ # Info for each topology state.
149
+ class AcceleratorTopologiesInfoAcceleratorTopologyInfoInfoPerTopologyState
150
+ include Google::Apis::Core::Hashable
151
+
152
+ # The number of accelerator topologies in this state.
153
+ # Corresponds to the JSON property `count`
154
+ # @return [Fixnum]
155
+ attr_accessor :count
156
+
157
+ # The state of the accelerator topology.
158
+ # Corresponds to the JSON property `state`
159
+ # @return [String]
160
+ attr_accessor :state
161
+
162
+ def initialize(**args)
163
+ update!(**args)
164
+ end
165
+
166
+ # Update properties of this object
167
+ def update!(**args)
168
+ @count = args[:count] if args.key?(:count)
169
+ @state = args[:state] if args.key?(:state)
170
+ end
171
+ end
172
+
104
173
  # Represents an Accelerator Type resource.
105
174
  # Google Cloud Platform provides graphics processing units (accelerators) that
106
175
  # you can add to VM instances to improve or accelerate performance when working
@@ -3586,7 +3655,7 @@ module Google
3586
3655
  include Google::Apis::Core::Hashable
3587
3656
 
3588
3657
  # The HTTP status code to define a TTL against. Only HTTP status codes
3589
- # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be
3658
+ # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be
3590
3659
  # specified as values, and you cannot specify a status code more than
3591
3660
  # once.
3592
3661
  # Corresponds to the JSON property `code`
@@ -3805,8 +3874,8 @@ module Google
3805
3874
  attr_accessor :max_utilization
3806
3875
 
3807
3876
  # Name of a custom utilization signal. The name must be 1-64 characters
3808
- # long and match the regular expression[a-z]([-_.a-z0-9]*[a-z0-9])? which means
3809
- # that the
3877
+ # long and match the regular expression
3878
+ # `[a-z]([-_.a-z0-9]*[a-z0-9])?` which means that the
3810
3879
  # first character must be a lowercase letter, and all following
3811
3880
  # characters must be a dash, period, underscore, lowercase letter, or
3812
3881
  # digit, except the last character, which cannot be a dash, period, or
@@ -4734,7 +4803,7 @@ module Google
4734
4803
  include Google::Apis::Core::Hashable
4735
4804
 
4736
4805
  # The HTTP status code to define a TTL against. Only HTTP status codes
4737
- # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be
4806
+ # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be
4738
4807
  # specified as values, and you cannot specify a status code more than
4739
4808
  # once.
4740
4809
  # Corresponds to the JSON property `code`
@@ -4856,8 +4925,8 @@ module Google
4856
4925
  alias_method :dry_run?, :dry_run
4857
4926
 
4858
4927
  # Name of a custom utilization signal. The name must be 1-64 characters
4859
- # long and match the regular expression[a-z]([-_.a-z0-9]*[a-z0-9])? which means
4860
- # that the
4928
+ # long and match the regular expression
4929
+ # `[a-z]([-_.a-z0-9]*[a-z0-9])?` which means that the
4861
4930
  # first character must be a lowercase letter, and all following
4862
4931
  # characters must be a dash, period, underscore, lowercase letter, or
4863
4932
  # digit, except the last character, which cannot be a dash, period, or
@@ -12767,6 +12836,12 @@ module Google
12767
12836
  # @return [String]
12768
12837
  attr_accessor :planning_status
12769
12838
 
12839
+ # The reservation mode which determines reservation-termination behavior and
12840
+ # expected pricing.
12841
+ # Corresponds to the JSON property `reservationMode`
12842
+ # @return [String]
12843
+ attr_accessor :reservation_mode
12844
+
12770
12845
  # Name of reservations where the capacity is provisioned at the time of
12771
12846
  # delivery of future reservations. If the reservation with the given name
12772
12847
  # does not exist already, it is created automatically at the time of Approval
@@ -12845,6 +12920,7 @@ module Google
12845
12920
  @name = args[:name] if args.key?(:name)
12846
12921
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
12847
12922
  @planning_status = args[:planning_status] if args.key?(:planning_status)
12923
+ @reservation_mode = args[:reservation_mode] if args.key?(:reservation_mode)
12848
12924
  @reservation_name = args[:reservation_name] if args.key?(:reservation_name)
12849
12925
  @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
12850
12926
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -13606,6 +13682,66 @@ module Google
13606
13682
  end
13607
13683
  end
13608
13684
 
13685
+ #
13686
+ class GrpctlsHealthCheck
13687
+ include Google::Apis::Core::Hashable
13688
+
13689
+ # The gRPC service name for the health check. This field is optional. The
13690
+ # value of grpc_service_name has the following meanings by convention:
13691
+ # - Empty service_name means the overall status of all services at the
13692
+ # backend.
13693
+ # - Non-empty service_name means the health of that gRPC service, as defined
13694
+ # by the owner of the service.
13695
+ # The grpc_service_name can only be ASCII.
13696
+ # Corresponds to the JSON property `grpcServiceName`
13697
+ # @return [String]
13698
+ attr_accessor :grpc_service_name
13699
+
13700
+ # The TCP port number to which the health check prober sends packets. Valid
13701
+ # values are 1 through 65535.
13702
+ # Corresponds to the JSON property `port`
13703
+ # @return [Fixnum]
13704
+ attr_accessor :port
13705
+
13706
+ # Specifies how a port is selected for health checking. Can be one of the
13707
+ # following values:
13708
+ # USE_FIXED_PORT: Specifies a port number explicitly using theport field in the
13709
+ # health check. Supported by backend services
13710
+ # for passthrough load balancers and backend services for proxy load
13711
+ # balancers. Not supported by target pools. The health check supports all
13712
+ # backends supported by the backend service provided the backend can be
13713
+ # health checked. For example, GCE_VM_IP network endpoint
13714
+ # groups, GCE_VM_IP_PORT network endpoint groups, and instance
13715
+ # group backends.
13716
+ # USE_NAMED_PORT: Not supported.
13717
+ # USE_SERVING_PORT: Provides an indirect method of specifying
13718
+ # the health check port by referring to the backend service. Only supported
13719
+ # by backend services for proxy load balancers. Not supported by target
13720
+ # pools. Not supported by backend services for passthrough load balancers.
13721
+ # Supports all backends that can be health checked; for example,GCE_VM_IP_PORT
13722
+ # network endpoint groups and instance group
13723
+ # backends.
13724
+ # For GCE_VM_IP_PORT network endpoint group backends, the health
13725
+ # check uses the port number specified for each endpoint in the network
13726
+ # endpoint group. For instance group backends, the health check uses the
13727
+ # port number determined by looking up the backend service's named port in
13728
+ # the instance group's list of named ports.
13729
+ # Corresponds to the JSON property `portSpecification`
13730
+ # @return [String]
13731
+ attr_accessor :port_specification
13732
+
13733
+ def initialize(**args)
13734
+ update!(**args)
13735
+ end
13736
+
13737
+ # Update properties of this object
13738
+ def update!(**args)
13739
+ @grpc_service_name = args[:grpc_service_name] if args.key?(:grpc_service_name)
13740
+ @port = args[:port] if args.key?(:port)
13741
+ @port_specification = args[:port_specification] if args.key?(:port_specification)
13742
+ end
13743
+ end
13744
+
13609
13745
  #
13610
13746
  class GlobalAddressesMoveRequest
13611
13747
  include Google::Apis::Core::Hashable
@@ -14432,6 +14568,11 @@ module Google
14432
14568
  # @return [Google::Apis::ComputeV1::GrpcHealthCheck]
14433
14569
  attr_accessor :grpc_health_check
14434
14570
 
14571
+ #
14572
+ # Corresponds to the JSON property `grpcTlsHealthCheck`
14573
+ # @return [Google::Apis::ComputeV1::GrpctlsHealthCheck]
14574
+ attr_accessor :grpc_tls_health_check
14575
+
14435
14576
  # A so-far unhealthy instance will be marked healthy after this
14436
14577
  # many consecutive successes. The default value is 2.
14437
14578
  # Corresponds to the JSON property `healthyThreshold`
@@ -14552,6 +14693,7 @@ module Google
14552
14693
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
14553
14694
  @description = args[:description] if args.key?(:description)
14554
14695
  @grpc_health_check = args[:grpc_health_check] if args.key?(:grpc_health_check)
14696
+ @grpc_tls_health_check = args[:grpc_tls_health_check] if args.key?(:grpc_tls_health_check)
14555
14697
  @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold)
14556
14698
  @http2_health_check = args[:http2_health_check] if args.key?(:http2_health_check)
14557
14699
  @http_health_check = args[:http_health_check] if args.key?(:http_health_check)
@@ -23379,6 +23521,11 @@ module Google
23379
23521
  # @return [String]
23380
23522
  attr_accessor :operational_status
23381
23523
 
23524
+ # Additional interconnect parameters.
23525
+ # Corresponds to the JSON property `params`
23526
+ # @return [Google::Apis::ComputeV1::InterconnectParams]
23527
+ attr_accessor :params
23528
+
23382
23529
  # [Output Only] IP address configured on the customer side of the
23383
23530
  # Interconnect link. The customer should configure this IP address during
23384
23531
  # turnup when prompted by Google NOC. This can be used only for ping tests.
@@ -23486,6 +23633,7 @@ module Google
23486
23633
  @name = args[:name] if args.key?(:name)
23487
23634
  @noc_contact_email = args[:noc_contact_email] if args.key?(:noc_contact_email)
23488
23635
  @operational_status = args[:operational_status] if args.key?(:operational_status)
23636
+ @params = args[:params] if args.key?(:params)
23489
23637
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
23490
23638
  @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
23491
23639
  @remote_location = args[:remote_location] if args.key?(:remote_location)
@@ -23796,6 +23944,11 @@ module Google
23796
23944
  # @return [String]
23797
23945
  attr_accessor :kind
23798
23946
 
23947
+ # L2 Interconnect Attachment related configuration.
23948
+ # Corresponds to the JSON property `l2Forwarding`
23949
+ # @return [Google::Apis::ComputeV1::InterconnectAttachmentL2Forwarding]
23950
+ attr_accessor :l2_forwarding
23951
+
23799
23952
  # A fingerprint for the labels being applied to this InterconnectAttachment,
23800
23953
  # which is essentially a hash of the labels set used for optimistic locking.
23801
23954
  # The fingerprint is initially generated by Compute Engine and changes after
@@ -23855,6 +24008,11 @@ module Google
23855
24008
  # @return [String]
23856
24009
  attr_accessor :pairing_key
23857
24010
 
24011
+ # Additional interconnect attachment parameters.
24012
+ # Corresponds to the JSON property `params`
24013
+ # @return [Google::Apis::ComputeV1::InterconnectAttachmentParams]
24014
+ attr_accessor :params
24015
+
23858
24016
  # Optional BGP ASN for the router supplied by a Layer 3 Partner if they
23859
24017
  # configured BGP on behalf of the customer.
23860
24018
  # Output only for PARTNER type, input only for PARTNER_PROVIDER, not
@@ -23974,6 +24132,7 @@ module Google
23974
24132
  # customer.
23975
24133
  # - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by
23976
24134
  # the partner.
24135
+ # - L2_DEDICATED: a L2 attachment to a Dedicated Interconnect.
23977
24136
  # Corresponds to the JSON property `type`
23978
24137
  # @return [String]
23979
24138
  attr_accessor :type
@@ -24012,12 +24171,14 @@ module Google
24012
24171
  @interconnect = args[:interconnect] if args.key?(:interconnect)
24013
24172
  @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
24014
24173
  @kind = args[:kind] if args.key?(:kind)
24174
+ @l2_forwarding = args[:l2_forwarding] if args.key?(:l2_forwarding)
24015
24175
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
24016
24176
  @labels = args[:labels] if args.key?(:labels)
24017
24177
  @mtu = args[:mtu] if args.key?(:mtu)
24018
24178
  @name = args[:name] if args.key?(:name)
24019
24179
  @operational_status = args[:operational_status] if args.key?(:operational_status)
24020
24180
  @pairing_key = args[:pairing_key] if args.key?(:pairing_key)
24181
+ @params = args[:params] if args.key?(:params)
24021
24182
  @partner_asn = args[:partner_asn] if args.key?(:partner_asn)
24022
24183
  @partner_metadata = args[:partner_metadata] if args.key?(:partner_metadata)
24023
24184
  @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
@@ -24874,6 +25035,153 @@ module Google
24874
25035
  end
24875
25036
  end
24876
25037
 
25038
+ # L2 Interconnect Attachment related configuration.
25039
+ class InterconnectAttachmentL2Forwarding
25040
+ include Google::Apis::Core::Hashable
25041
+
25042
+ # Optional. A map of VLAN tags to appliances and optional inner mapping
25043
+ # rules. If VLANs are not explicitly mapped to any appliance, the
25044
+ # defaultApplianceIpAddress is used.
25045
+ # Each VLAN tag can be a single number or a range of numbers in the range
25046
+ # of 1 to 4094, e.g., "1" or "4001-4094". Non-empty and non-overlapping
25047
+ # VLAN tag ranges are enforced, and violating operations will be rejected.
25048
+ # The VLAN tags in the Ethernet header must use an ethertype value of
25049
+ # 0x88A8 or 0x8100.
25050
+ # Corresponds to the JSON property `applianceMappings`
25051
+ # @return [Hash<String,Google::Apis::ComputeV1::InterconnectAttachmentL2ForwardingApplianceMapping>]
25052
+ attr_accessor :appliance_mappings
25053
+
25054
+ # Optional. A single IPv4 or IPv6 address used as the default destination
25055
+ # IP when there is no VLAN mapping result found.
25056
+ # Unset field (null-value) indicates the unmatched packet should be
25057
+ # dropped.
25058
+ # Corresponds to the JSON property `defaultApplianceIpAddress`
25059
+ # @return [String]
25060
+ attr_accessor :default_appliance_ip_address
25061
+
25062
+ # GeneveHeader related configurations.
25063
+ # Corresponds to the JSON property `geneveHeader`
25064
+ # @return [Google::Apis::ComputeV1::InterconnectAttachmentL2ForwardingGeneveHeader]
25065
+ attr_accessor :geneve_header
25066
+
25067
+ # Required. Resource URL of the network to which this attachment belongs.
25068
+ # Corresponds to the JSON property `network`
25069
+ # @return [String]
25070
+ attr_accessor :network
25071
+
25072
+ # Required. A single IPv4 or IPv6 address. This address will be used as the
25073
+ # source IP address for packets sent to the appliances, and must be used as
25074
+ # the destination IP address for packets that should be sent out through
25075
+ # this attachment.
25076
+ # Corresponds to the JSON property `tunnelEndpointIpAddress`
25077
+ # @return [String]
25078
+ attr_accessor :tunnel_endpoint_ip_address
25079
+
25080
+ def initialize(**args)
25081
+ update!(**args)
25082
+ end
25083
+
25084
+ # Update properties of this object
25085
+ def update!(**args)
25086
+ @appliance_mappings = args[:appliance_mappings] if args.key?(:appliance_mappings)
25087
+ @default_appliance_ip_address = args[:default_appliance_ip_address] if args.key?(:default_appliance_ip_address)
25088
+ @geneve_header = args[:geneve_header] if args.key?(:geneve_header)
25089
+ @network = args[:network] if args.key?(:network)
25090
+ @tunnel_endpoint_ip_address = args[:tunnel_endpoint_ip_address] if args.key?(:tunnel_endpoint_ip_address)
25091
+ end
25092
+ end
25093
+
25094
+ # Two-level VLAN-to-Appliance mapping rule.
25095
+ class InterconnectAttachmentL2ForwardingApplianceMapping
25096
+ include Google::Apis::Core::Hashable
25097
+
25098
+ # Optional. A single IPv4 or IPv6 address used as the destination IP
25099
+ # address for ingress packets that match on a VLAN tag, but do not match
25100
+ # a more specific inner VLAN tag.
25101
+ # Unset field (null-value) indicates both VLAN tags are required to be
25102
+ # mapped. Otherwise, defaultApplianceIpAddress is used.
25103
+ # Corresponds to the JSON property `applianceIpAddress`
25104
+ # @return [String]
25105
+ attr_accessor :appliance_ip_address
25106
+
25107
+ # Optional. Used to match against the inner VLAN when the packet
25108
+ # contains two VLAN tags.
25109
+ # A list of mapping rules from inner VLAN tags to IP addresses. If the
25110
+ # inner VLAN is not explicitly mapped to an IP address range, the
25111
+ # applianceIpAddress is used.
25112
+ # Corresponds to the JSON property `innerVlanToApplianceMappings`
25113
+ # @return [Array<Google::Apis::ComputeV1::InterconnectAttachmentL2ForwardingApplianceMappingInnerVlanToApplianceMapping>]
25114
+ attr_accessor :inner_vlan_to_appliance_mappings
25115
+
25116
+ # Optional. The name of this appliance mapping rule.
25117
+ # Corresponds to the JSON property `name`
25118
+ # @return [String]
25119
+ attr_accessor :name
25120
+
25121
+ def initialize(**args)
25122
+ update!(**args)
25123
+ end
25124
+
25125
+ # Update properties of this object
25126
+ def update!(**args)
25127
+ @appliance_ip_address = args[:appliance_ip_address] if args.key?(:appliance_ip_address)
25128
+ @inner_vlan_to_appliance_mappings = args[:inner_vlan_to_appliance_mappings] if args.key?(:inner_vlan_to_appliance_mappings)
25129
+ @name = args[:name] if args.key?(:name)
25130
+ end
25131
+ end
25132
+
25133
+ # The inner VLAN-to-Appliance mapping.
25134
+ class InterconnectAttachmentL2ForwardingApplianceMappingInnerVlanToApplianceMapping
25135
+ include Google::Apis::Core::Hashable
25136
+
25137
+ # Required in this object. A single IPv4 or IPv6 address used as the
25138
+ # destination IP address for ingress packets that match on both VLAN
25139
+ # tags.
25140
+ # Corresponds to the JSON property `innerApplianceIpAddress`
25141
+ # @return [String]
25142
+ attr_accessor :inner_appliance_ip_address
25143
+
25144
+ # Required in this object. Used to match the inner VLAN tag on the
25145
+ # packet. Each entry can be a single number or a range of numbers in
25146
+ # the range of 1 to 4094, e.g., ["1", "4001-4094"] is valid. Non-empty
25147
+ # and Non-overlapping VLAN tag ranges are enforced, and violating
25148
+ # operations will be rejected.
25149
+ # The inner VLAN tags must have an ethertype value of 0x8100.
25150
+ # Corresponds to the JSON property `innerVlanTags`
25151
+ # @return [Array<String>]
25152
+ attr_accessor :inner_vlan_tags
25153
+
25154
+ def initialize(**args)
25155
+ update!(**args)
25156
+ end
25157
+
25158
+ # Update properties of this object
25159
+ def update!(**args)
25160
+ @inner_appliance_ip_address = args[:inner_appliance_ip_address] if args.key?(:inner_appliance_ip_address)
25161
+ @inner_vlan_tags = args[:inner_vlan_tags] if args.key?(:inner_vlan_tags)
25162
+ end
25163
+ end
25164
+
25165
+ # GeneveHeader related configurations.
25166
+ class InterconnectAttachmentL2ForwardingGeneveHeader
25167
+ include Google::Apis::Core::Hashable
25168
+
25169
+ # Optional. VNI is a 24-bit unique virtual network identifier, from 0 to
25170
+ # 16,777,215.
25171
+ # Corresponds to the JSON property `vni`
25172
+ # @return [Fixnum]
25173
+ attr_accessor :vni
25174
+
25175
+ def initialize(**args)
25176
+ update!(**args)
25177
+ end
25178
+
25179
+ # Update properties of this object
25180
+ def update!(**args)
25181
+ @vni = args[:vni] if args.key?(:vni)
25182
+ end
25183
+ end
25184
+
24877
25185
  # Response to the list request, and contains a list of interconnect
24878
25186
  # attachments.
24879
25187
  class InterconnectAttachmentList
@@ -25001,6 +25309,38 @@ module Google
25001
25309
  end
25002
25310
  end
25003
25311
 
25312
+ # Additional interconnect attachment parameters.
25313
+ class InterconnectAttachmentParams
25314
+ include Google::Apis::Core::Hashable
25315
+
25316
+ # Tag keys/values directly bound to this resource.
25317
+ # Tag keys and values have the same definition as resource
25318
+ # manager tags. The field is allowed for INSERT
25319
+ # only. The keys/values to set on the resource should be specified in
25320
+ # either ID ` : ` or Namespaced format
25321
+ # ` : `.
25322
+ # For example the following are valid inputs:
25323
+ # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"`
25324
+ # * `"123/environment" : "production", "345/abc" : "xyz"`
25325
+ # Note:
25326
+ # * Invalid combinations of ID & namespaced format is not supported. For
25327
+ # instance: `"123/environment" : "tagValues/444"` is invalid.
25328
+ # * Inconsistent format is not supported. For instance:
25329
+ # `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid.
25330
+ # Corresponds to the JSON property `resourceManagerTags`
25331
+ # @return [Hash<String,String>]
25332
+ attr_accessor :resource_manager_tags
25333
+
25334
+ def initialize(**args)
25335
+ update!(**args)
25336
+ end
25337
+
25338
+ # Update properties of this object
25339
+ def update!(**args)
25340
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
25341
+ end
25342
+ end
25343
+
25004
25344
  # Informational metadata about Partner attachments from Partners to display
25005
25345
  # to customers. These fields are propagated from PARTNER_PROVIDER
25006
25346
  # attachments to their corresponding PARTNER attachments.
@@ -25461,7 +25801,7 @@ module Google
25461
25801
  # If provided when patching a configuration in update mode, the provided
25462
25802
  # token must match the current token or the update is rejected. This provides
25463
25803
  # a reliable means of doing read-modify-write (optimistic locking) as
25464
- # described byAPI 154.
25804
+ # described by AIP 154.
25465
25805
  # Corresponds to the JSON property `etag`
25466
25806
  # @return [String]
25467
25807
  attr_accessor :etag
@@ -26684,6 +27024,13 @@ module Google
26684
27024
  # @return [Fixnum]
26685
27025
  attr_accessor :expected_rtt_ms
26686
27026
 
27027
+ # Identifies whether L2 Interconnect Attachments can be created in this
27028
+ # region for interconnects that are in this location.
27029
+ # Corresponds to the JSON property `l2ForwardingEnabled`
27030
+ # @return [Boolean]
27031
+ attr_accessor :l2_forwarding_enabled
27032
+ alias_method :l2_forwarding_enabled?, :l2_forwarding_enabled
27033
+
26687
27034
  # Identifies the network presence of this location.
26688
27035
  # Corresponds to the JSON property `locationPresence`
26689
27036
  # @return [String]
@@ -26701,6 +27048,7 @@ module Google
26701
27048
  # Update properties of this object
26702
27049
  def update!(**args)
26703
27050
  @expected_rtt_ms = args[:expected_rtt_ms] if args.key?(:expected_rtt_ms)
27051
+ @l2_forwarding_enabled = args[:l2_forwarding_enabled] if args.key?(:l2_forwarding_enabled)
26704
27052
  @location_presence = args[:location_presence] if args.key?(:location_presence)
26705
27053
  @region = args[:region] if args.key?(:region)
26706
27054
  end
@@ -26929,6 +27277,38 @@ module Google
26929
27277
  end
26930
27278
  end
26931
27279
 
27280
+ # Additional interconnect parameters.
27281
+ class InterconnectParams
27282
+ include Google::Apis::Core::Hashable
27283
+
27284
+ # Tag keys/values directly bound to this resource.
27285
+ # Tag keys and values have the same definition as resource
27286
+ # manager tags. The field is allowed for INSERT
27287
+ # only. The keys/values to set on the resource should be specified in
27288
+ # either ID ` : ` or Namespaced format
27289
+ # ` : `.
27290
+ # For example the following are valid inputs:
27291
+ # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"`
27292
+ # * `"123/environment" : "production", "345/abc" : "xyz"`
27293
+ # Note:
27294
+ # * Invalid combinations of ID & namespaced format is not supported. For
27295
+ # instance: `"123/environment" : "tagValues/444"` is invalid.
27296
+ # * Inconsistent format is not supported. For instance:
27297
+ # `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid.
27298
+ # Corresponds to the JSON property `resourceManagerTags`
27299
+ # @return [Hash<String,String>]
27300
+ attr_accessor :resource_manager_tags
27301
+
27302
+ def initialize(**args)
27303
+ update!(**args)
27304
+ end
27305
+
27306
+ # Update properties of this object
27307
+ def update!(**args)
27308
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
27309
+ end
27310
+ end
27311
+
26932
27312
  # Represents a Cross-Cloud Interconnect Remote Location resource.
26933
27313
  # You can use this resource to find remote location details about an
26934
27314
  # Interconnect attachment (VLAN).
@@ -31552,6 +31932,12 @@ module Google
31552
31932
  # @return [String]
31553
31933
  attr_accessor :fingerprint
31554
31934
 
31935
+ # Indicate whether igmp query is enabled on the network interface
31936
+ # or not. If enabled, also indicates the version of IGMP supported.
31937
+ # Corresponds to the JSON property `igmpQuery`
31938
+ # @return [String]
31939
+ attr_accessor :igmp_query
31940
+
31555
31941
  # The prefix length of the primary internal IPv6 range.
31556
31942
  # Corresponds to the JSON property `internalIpv6PrefixLength`
31557
31943
  # @return [Fixnum]
@@ -31685,6 +32071,7 @@ module Google
31685
32071
  @access_configs = args[:access_configs] if args.key?(:access_configs)
31686
32072
  @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
31687
32073
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
32074
+ @igmp_query = args[:igmp_query] if args.key?(:igmp_query)
31688
32075
  @internal_ipv6_prefix_length = args[:internal_ipv6_prefix_length] if args.key?(:internal_ipv6_prefix_length)
31689
32076
  @ipv6_access_configs = args[:ipv6_access_configs] if args.key?(:ipv6_access_configs)
31690
32077
  @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
@@ -32299,6 +32686,11 @@ module Google
32299
32686
  # @return [String]
32300
32687
  attr_accessor :allow_multi_nic_in_same_network
32301
32688
 
32689
+ # Specifies whether multicast is allowed.
32690
+ # Corresponds to the JSON property `allowMulticast`
32691
+ # @return [String]
32692
+ attr_accessor :allow_multicast
32693
+
32302
32694
  # Specifies whether NCC is allowed.
32303
32695
  # Corresponds to the JSON property `allowNcc`
32304
32696
  # @return [String]
@@ -32355,6 +32747,11 @@ module Google
32355
32747
  # @return [Array<String>]
32356
32748
  attr_accessor :interface_types
32357
32749
 
32750
+ # Specifies which type of multicast is supported.
32751
+ # Corresponds to the JSON property `multicast`
32752
+ # @return [String]
32753
+ attr_accessor :multicast
32754
+
32358
32755
  # Specifies which subnetwork purposes are supported.
32359
32756
  # Corresponds to the JSON property `subnetPurposes`
32360
32757
  # @return [Array<String>]
@@ -32398,6 +32795,7 @@ module Google
32398
32795
  @allow_ip_forwarding = args[:allow_ip_forwarding] if args.key?(:allow_ip_forwarding)
32399
32796
  @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
32400
32797
  @allow_multi_nic_in_same_network = args[:allow_multi_nic_in_same_network] if args.key?(:allow_multi_nic_in_same_network)
32798
+ @allow_multicast = args[:allow_multicast] if args.key?(:allow_multicast)
32401
32799
  @allow_ncc = args[:allow_ncc] if args.key?(:allow_ncc)
32402
32800
  @allow_network_migration = args[:allow_network_migration] if args.key?(:allow_network_migration)
32403
32801
  @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring)
@@ -32409,6 +32807,7 @@ module Google
32409
32807
  @allow_vpc_peering = args[:allow_vpc_peering] if args.key?(:allow_vpc_peering)
32410
32808
  @allow_vpn = args[:allow_vpn] if args.key?(:allow_vpn)
32411
32809
  @interface_types = args[:interface_types] if args.key?(:interface_types)
32810
+ @multicast = args[:multicast] if args.key?(:multicast)
32412
32811
  @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes)
32413
32812
  @subnet_stack_types = args[:subnet_stack_types] if args.key?(:subnet_stack_types)
32414
32813
  @subnetwork_purposes = args[:subnetwork_purposes] if args.key?(:subnetwork_purposes)
@@ -40793,6 +41192,13 @@ module Google
40793
41192
  # @return [String]
40794
41193
  attr_accessor :name
40795
41194
 
41195
+ # Protection tier for the workload which specifies the workload expectations
41196
+ # in the event of infrastructure failures at data center (e.g. power
41197
+ # and/or cooling failures).
41198
+ # Corresponds to the JSON property `protectionTier`
41199
+ # @return [String]
41200
+ attr_accessor :protection_tier
41201
+
40796
41202
  # Specify the reservation sharing policy. If unspecified, the reservation
40797
41203
  # will not be shared with Google Cloud managed services.
40798
41204
  # Corresponds to the JSON property `reservationSharingPolicy`
@@ -40884,6 +41290,7 @@ module Google
40884
41290
  @kind = args[:kind] if args.key?(:kind)
40885
41291
  @linked_commitments = args[:linked_commitments] if args.key?(:linked_commitments)
40886
41292
  @name = args[:name] if args.key?(:name)
41293
+ @protection_tier = args[:protection_tier] if args.key?(:protection_tier)
40887
41294
  @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
40888
41295
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
40889
41296
  @resource_status = args[:resource_status] if args.key?(:resource_status)
@@ -41592,6 +41999,11 @@ module Google
41592
41999
  class ReservationSubBlock
41593
42000
  include Google::Apis::Core::Hashable
41594
42001
 
42002
+ # Info for accelerator topologies within a densely packed reservation.
42003
+ # Corresponds to the JSON property `acceleratorTopologiesInfo`
42004
+ # @return [Google::Apis::ComputeV1::AcceleratorTopologiesInfo]
42005
+ attr_accessor :accelerator_topologies_info
42006
+
41595
42007
  # [Output Only] The number of hosts that are allocated in this
41596
42008
  # reservation subBlock.
41597
42009
  # Corresponds to the JSON property `count`
@@ -41669,6 +42081,7 @@ module Google
41669
42081
 
41670
42082
  # Update properties of this object
41671
42083
  def update!(**args)
42084
+ @accelerator_topologies_info = args[:accelerator_topologies_info] if args.key?(:accelerator_topologies_info)
41672
42085
  @count = args[:count] if args.key?(:count)
41673
42086
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
41674
42087
  @health_info = args[:health_info] if args.key?(:health_info)
@@ -43502,7 +43915,9 @@ module Google
43502
43915
  # @return [Fixnum]
43503
43916
  attr_accessor :priority
43504
43917
 
43505
- # [Output only] The status of the route.
43918
+ # [Output only] The status of the route. This status only applies to
43919
+ # dynamic routes learned by Cloud Routers. This status is not applicable
43920
+ # to static routes.
43506
43921
  # Corresponds to the JSON property `routeStatus`
43507
43922
  # @return [String]
43508
43923
  attr_accessor :route_status
@@ -49252,6 +49667,16 @@ module Google
49252
49667
  class ShieldedInstanceIdentity
49253
49668
  include Google::Apis::Core::Hashable
49254
49669
 
49670
+ # A Shielded Instance Identity Entry.
49671
+ # Corresponds to the JSON property `eccP256EncryptionKey`
49672
+ # @return [Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry]
49673
+ attr_accessor :ecc_p256_encryption_key
49674
+
49675
+ # A Shielded Instance Identity Entry.
49676
+ # Corresponds to the JSON property `eccP256SigningKey`
49677
+ # @return [Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry]
49678
+ attr_accessor :ecc_p256_signing_key
49679
+
49255
49680
  # A Shielded Instance Identity Entry.
49256
49681
  # Corresponds to the JSON property `encryptionKey`
49257
49682
  # @return [Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry]
@@ -49275,6 +49700,8 @@ module Google
49275
49700
 
49276
49701
  # Update properties of this object
49277
49702
  def update!(**args)
49703
+ @ecc_p256_encryption_key = args[:ecc_p256_encryption_key] if args.key?(:ecc_p256_encryption_key)
49704
+ @ecc_p256_signing_key = args[:ecc_p256_signing_key] if args.key?(:ecc_p256_signing_key)
49278
49705
  @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
49279
49706
  @kind = args[:kind] if args.key?(:kind)
49280
49707
  @signing_key = args[:signing_key] if args.key?(:signing_key)
@@ -61443,6 +61870,104 @@ module Google
61443
61870
  end
61444
61871
  end
61445
61872
 
61873
+ #
61874
+ class ZoneSetNestedPolicyRequest
61875
+ include Google::Apis::Core::Hashable
61876
+
61877
+ # Flatten Policy to create a backwacd compatible wire-format.
61878
+ # Deprecated. Use 'policy' to specify bindings.
61879
+ # Corresponds to the JSON property `bindings`
61880
+ # @return [Array<Google::Apis::ComputeV1::Binding>]
61881
+ attr_accessor :bindings
61882
+
61883
+ # Flatten Policy to create a backward compatible wire-format.
61884
+ # Deprecated. Use 'policy' to specify the etag.
61885
+ # Corresponds to the JSON property `etag`
61886
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
61887
+ # @return [String]
61888
+ attr_accessor :etag
61889
+
61890
+ # An Identity and Access Management (IAM) policy, which specifies access
61891
+ # controls for Google Cloud resources.
61892
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
61893
+ # `members`, or principals, to a single `role`. Principals can be user
61894
+ # accounts, service accounts, Google groups, and domains (such as G Suite). A
61895
+ # `role` is a named list of permissions; each `role` can be an IAM predefined
61896
+ # role or a user-created custom role.
61897
+ # For some types of Google Cloud resources, a `binding` can also specify a
61898
+ # `condition`, which is a logical expression that allows access to a resource
61899
+ # only if the expression evaluates to `true`. A condition can add constraints
61900
+ # based on attributes of the request, the resource, or both. To learn which
61901
+ # resources support conditions in their IAM policies, see the
61902
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
61903
+ # policies).
61904
+ # **JSON example:**
61905
+ # ```
61906
+ # `
61907
+ # "bindings": [
61908
+ # `
61909
+ # "role": "roles/resourcemanager.organizationAdmin",
61910
+ # "members": [
61911
+ # "user:mike@example.com",
61912
+ # "group:admins@example.com",
61913
+ # "domain:google.com",
61914
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
61915
+ # ]
61916
+ # `,
61917
+ # `
61918
+ # "role": "roles/resourcemanager.organizationViewer",
61919
+ # "members": [
61920
+ # "user:eve@example.com"
61921
+ # ],
61922
+ # "condition": `
61923
+ # "title": "expirable access",
61924
+ # "description": "Does not grant access after Sep 2020",
61925
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
61926
+ # ",
61927
+ # `
61928
+ # `
61929
+ # ],
61930
+ # "etag": "BwWWja0YfJA=",
61931
+ # "version": 3
61932
+ # `
61933
+ # ```
61934
+ # **YAML example:**
61935
+ # ```
61936
+ # bindings:
61937
+ # - members:
61938
+ # - user:mike@example.com
61939
+ # - group:admins@example.com
61940
+ # - domain:google.com
61941
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
61942
+ # role: roles/resourcemanager.organizationAdmin
61943
+ # - members:
61944
+ # - user:eve@example.com
61945
+ # role: roles/resourcemanager.organizationViewer
61946
+ # condition:
61947
+ # title: expirable access
61948
+ # description: Does not grant access after Sep 2020
61949
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
61950
+ # etag: BwWWja0YfJA=
61951
+ # version: 3
61952
+ # ```
61953
+ # For a description of IAM and its features, see the
61954
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
61955
+ # Corresponds to the JSON property `policy`
61956
+ # @return [Google::Apis::ComputeV1::Policy]
61957
+ attr_accessor :policy
61958
+
61959
+ def initialize(**args)
61960
+ update!(**args)
61961
+ end
61962
+
61963
+ # Update properties of this object
61964
+ def update!(**args)
61965
+ @bindings = args[:bindings] if args.key?(:bindings)
61966
+ @etag = args[:etag] if args.key?(:etag)
61967
+ @policy = args[:policy] if args.key?(:policy)
61968
+ end
61969
+ end
61970
+
61446
61971
  #
61447
61972
  class ZoneSetPolicyRequest
61448
61973
  include Google::Apis::Core::Hashable