google-apis-compute_alpha 0.46.0 → 0.49.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.
@@ -681,12 +681,12 @@ module Google
681
681
  # - NAT_AUTO for the regional external IP addresses used by Cloud NAT when
682
682
  # allocating addresses using automatic NAT IP address allocation. -
683
683
  # IPSEC_INTERCONNECT for addresses created from a private IP range that are
684
- # reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect*
685
- # configuration. These addresses are regional resources. Not currently available
686
- # publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is
687
- # assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT`
688
- # for a private network address that is used to configure Private Service
689
- # Connect. Only global internal addresses can use this purpose.
684
+ # reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect*
685
+ # configuration. These addresses are regional resources. - `
686
+ # SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to
687
+ # multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private
688
+ # network address that is used to configure Private Service Connect. Only global
689
+ # internal addresses can use this purpose.
690
690
  # Corresponds to the JSON property `purpose`
691
691
  # @return [String]
692
692
  attr_accessor :purpose
@@ -1435,10 +1435,9 @@ module Google
1435
1435
  attr_accessor :initialize_params
1436
1436
 
1437
1437
  # Specifies the disk interface to use for attaching this disk, which is either
1438
- # SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and
1439
- # the request will fail if you attempt to attach a persistent disk in any other
1440
- # format than SCSI. Local SSDs can use either NVME or SCSI. For performance
1441
- # characteristics of SCSI over NVMe, see Local SSD performance.
1438
+ # SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use
1439
+ # either NVME or SCSI. In certain configurations, persistent disks can use NVMe.
1440
+ # For more information, see About persistent disks.
1442
1441
  # Corresponds to the JSON property `interface`
1443
1442
  # @return [String]
1444
1443
  attr_accessor :interface
@@ -4531,18 +4530,34 @@ module Google
4531
4530
  class BackendServiceLogConfig
4532
4531
  include Google::Apis::Core::Hashable
4533
4532
 
4534
- # This field denotes whether to enable logging for the load balancer traffic
4535
- # served by this backend service.
4533
+ # Denotes whether to enable logging for the load balancer traffic served by this
4534
+ # backend service. The default value is false.
4536
4535
  # Corresponds to the JSON property `enable`
4537
4536
  # @return [Boolean]
4538
4537
  attr_accessor :enable
4539
4538
  alias_method :enable?, :enable
4540
4539
 
4540
+ # This field can only be specified if logging is enabled for this backend
4541
+ # service. Configures whether all, none or a subset of optional fields should be
4542
+ # added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL,
4543
+ # CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.
4544
+ # Corresponds to the JSON property `optional`
4545
+ # @return [String]
4546
+ attr_accessor :optional
4547
+
4548
+ # This field can only be specified if logging is enabled for this backend
4549
+ # service and "logConfig.optional" was set to CUSTOM. Contains a list of
4550
+ # optional fields you want to include in the logs. For example: serverInstance,
4551
+ # serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace
4552
+ # Corresponds to the JSON property `optionalFields`
4553
+ # @return [Array<String>]
4554
+ attr_accessor :optional_fields
4555
+
4541
4556
  # This field can only be specified if logging is enabled for this backend
4542
4557
  # service. The value of the field must be in [0, 1]. This configures the
4543
4558
  # sampling rate of requests to the load balancer where 1.0 means all logged
4544
4559
  # requests are reported and 0.0 means no logged requests are reported. The
4545
- # default value is 0.0.
4560
+ # default value is 1.0.
4546
4561
  # Corresponds to the JSON property `sampleRate`
4547
4562
  # @return [Float]
4548
4563
  attr_accessor :sample_rate
@@ -4554,6 +4569,8 @@ module Google
4554
4569
  # Update properties of this object
4555
4570
  def update!(**args)
4556
4571
  @enable = args[:enable] if args.key?(:enable)
4572
+ @optional = args[:optional] if args.key?(:optional)
4573
+ @optional_fields = args[:optional_fields] if args.key?(:optional_fields)
4557
4574
  @sample_rate = args[:sample_rate] if args.key?(:sample_rate)
4558
4575
  end
4559
4576
  end
@@ -4974,31 +4991,33 @@ module Google
4974
4991
  # members` can have the following values: * `allUsers`: A special identifier
4975
4992
  # that represents anyone who is on the internet; with or without a Google
4976
4993
  # account. * `allAuthenticatedUsers`: A special identifier that represents
4977
- # anyone who is authenticated with a Google account or a service account. * `
4978
- # user:`emailid``: An email address that represents a specific Google account.
4979
- # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
4980
- # address that represents a Google service account. For example, `my-other-app@
4981
- # appspot.gserviceaccount.com`. * `serviceAccount:`projectid`.svc.id.goog[`
4982
- # namespace`/`kubernetes-sa`]`: An identifier for a [Kubernetes service account](
4983
- # https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-
4984
- # accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`
4985
- # . * `group:`emailid``: An email address that represents a Google group. For
4986
- # example, `admins@example.com`. * `deleted:user:`emailid`?uid=`uniqueid``: An
4987
- # email address (plus unique identifier) representing a user that has been
4988
- # recently deleted. For example, `alice@example.com?uid=123456789012345678901`.
4989
- # If the user is recovered, this value reverts to `user:`emailid`` and the
4990
- # recovered user retains the role in the binding. * `deleted:serviceAccount:`
4991
- # emailid`?uid=`uniqueid``: An email address (plus unique identifier)
4992
- # representing a service account that has been recently deleted. For example, `
4993
- # my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
4994
- # service account is undeleted, this value reverts to `serviceAccount:`emailid``
4995
- # and the undeleted service account retains the role in the binding. * `deleted:
4996
- # group:`emailid`?uid=`uniqueid``: An email address (plus unique identifier)
4997
- # representing a Google group that has been recently deleted. For example, `
4998
- # admins@example.com?uid=123456789012345678901`. If the group is recovered, this
4999
- # value reverts to `group:`emailid`` and the recovered group retains the role in
5000
- # the binding. * `domain:`domain``: The G Suite domain (primary) that represents
5001
- # all the users of that domain. For example, `google.com` or `example.com`.
4994
+ # anyone who is authenticated with a Google account or a service account. Does
4995
+ # not include identities that come from external identity providers (IdPs)
4996
+ # through identity federation. * `user:`emailid``: An email address that
4997
+ # represents a specific Google account. For example, `alice@example.com` . * `
4998
+ # serviceAccount:`emailid``: An email address that represents a Google service
4999
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`. * `
5000
+ # serviceAccount:`projectid`.svc.id.goog[`namespace`/`kubernetes-sa`]`: An
5001
+ # identifier for a [Kubernetes service account](https://cloud.google.com/
5002
+ # kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-
5003
+ # project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:`emailid``: An
5004
+ # email address that represents a Google group. For example, `admins@example.com`
5005
+ # . * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
5006
+ # identifier) representing a user that has been recently deleted. For example, `
5007
+ # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
5008
+ # value reverts to `user:`emailid`` and the recovered user retains the role in
5009
+ # the binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email
5010
+ # address (plus unique identifier) representing a service account that has been
5011
+ # recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
5012
+ # 123456789012345678901`. If the service account is undeleted, this value
5013
+ # reverts to `serviceAccount:`emailid`` and the undeleted service account
5014
+ # retains the role in the binding. * `deleted:group:`emailid`?uid=`uniqueid``:
5015
+ # An email address (plus unique identifier) representing a Google group that has
5016
+ # been recently deleted. For example, `admins@example.com?uid=
5017
+ # 123456789012345678901`. If the group is recovered, this value reverts to `
5018
+ # group:`emailid`` and the recovered group retains the role in the binding. * `
5019
+ # domain:`domain``: The G Suite domain (primary) that represents all the users
5020
+ # of that domain. For example, `google.com` or `example.com`.
5002
5021
  # Corresponds to the JSON property `members`
5003
5022
  # @return [Array<String>]
5004
5023
  attr_accessor :members
@@ -8615,9 +8634,8 @@ module Google
8615
8634
  attr_accessor :destination_ranges
8616
8635
 
8617
8636
  # Direction of traffic to which this firewall applies, either `INGRESS` or `
8618
- # EGRESS`. The default is `INGRESS`. For `INGRESS` traffic, you cannot specify
8619
- # the destinationRanges field, and for `EGRESS` traffic, you cannot specify the
8620
- # sourceRanges or sourceTags fields.
8637
+ # EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot specify
8638
+ # the sourceTags fields.
8621
8639
  # Corresponds to the JSON property `direction`
8622
8640
  # @return [String]
8623
8641
  attr_accessor :direction
@@ -9039,13 +9057,13 @@ module Google
9039
9057
 
9040
9058
  # Deprecated, please use short name instead. User-provided name of the
9041
9059
  # Organization firewall policy. The name should be unique in the organization in
9042
- # which the firewall policy is created. This name must be set on creation and
9043
- # cannot be changed. The name must be 1-63 characters long, and comply with
9044
- # RFC1035. Specifically, the name must be 1-63 characters long and match the
9045
- # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
9046
- # character must be a lowercase letter, and all following characters must be a
9047
- # dash, lowercase letter, or digit, except the last character, which cannot be a
9048
- # dash.
9060
+ # which the firewall policy is created. This field is not applicable to network
9061
+ # firewall policies. This name must be set on creation and cannot be changed.
9062
+ # The name must be 1-63 characters long, and comply with RFC1035. Specifically,
9063
+ # the name must be 1-63 characters long and match the regular expression `[a-z]([
9064
+ # -a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase
9065
+ # letter, and all following characters must be a dash, lowercase letter, or
9066
+ # digit, except the last character, which cannot be a dash.
9049
9067
  # Corresponds to the JSON property `displayName`
9050
9068
  # @return [String]
9051
9069
  attr_accessor :display_name
@@ -9074,13 +9092,15 @@ module Google
9074
9092
  # @return [String]
9075
9093
  attr_accessor :kind
9076
9094
 
9077
- # [Output Only] Name of the resource. It is a numeric ID allocated by GCP which
9078
- # uniquely identifies the Firewall Policy.
9095
+ # Name of the resource. For Organization Firewall Policies it's a [Output Only]
9096
+ # numeric ID allocated by GCP which uniquely identifies the Organization
9097
+ # Firewall Policy.
9079
9098
  # Corresponds to the JSON property `name`
9080
9099
  # @return [String]
9081
9100
  attr_accessor :name
9082
9101
 
9083
- # [Output Only] The parent of the firewall policy.
9102
+ # [Output Only] The parent of the firewall policy. This field is not applicable
9103
+ # to network firewall policies.
9084
9104
  # Corresponds to the JSON property `parent`
9085
9105
  # @return [String]
9086
9106
  attr_accessor :parent
@@ -9117,14 +9137,15 @@ module Google
9117
9137
  # @return [String]
9118
9138
  attr_accessor :self_link_with_id
9119
9139
 
9120
- # User-provided name of the Organization firewall plicy. The name should be
9121
- # unique in the organization in which the firewall policy is created. This name
9122
- # must be set on creation and cannot be changed. The name must be 1-63
9123
- # characters long, and comply with RFC1035. Specifically, the name must be 1-63
9124
- # characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`
9125
- # which means the first character must be a lowercase letter, and all following
9126
- # characters must be a dash, lowercase letter, or digit, except the last
9127
- # character, which cannot be a dash.
9140
+ # User-provided name of the Organization firewall policy. The name should be
9141
+ # unique in the organization in which the firewall policy is created. This field
9142
+ # is not applicable to network firewall policies. This name must be set on
9143
+ # creation and cannot be changed. The name must be 1-63 characters long, and
9144
+ # comply with RFC1035. Specifically, the name must be 1-63 characters long and
9145
+ # match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
9146
+ # first character must be a lowercase letter, and all following characters must
9147
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
9148
+ # be a dash.
9128
9149
  # Corresponds to the JSON property `shortName`
9129
9150
  # @return [String]
9130
9151
  attr_accessor :short_name
@@ -13756,9 +13777,9 @@ module Google
13756
13777
  # forwarding the request to the selected backend. If routeAction specifies any
13757
13778
  # weightedBackendServices, service must not be set. Conversely if service is set,
13758
13779
  # routeAction cannot contain any weightedBackendServices. Only one of
13759
- # urlRedirect, service or routeAction.weightedBackendService must be set.
13760
- # UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
13761
- # within a route rule's routeAction.
13780
+ # urlRedirect, service or routeAction.weightedBackendService must be set. URL
13781
+ # maps for Classic external HTTP(S) load balancers only support the urlRewrite
13782
+ # action within a route rule's routeAction.
13762
13783
  # Corresponds to the JSON property `routeAction`
13763
13784
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
13764
13785
  attr_accessor :route_action
@@ -14975,7 +14996,7 @@ module Google
14975
14996
  # @return [Google::Apis::ComputeAlpha::Tags]
14976
14997
  attr_accessor :tags
14977
14998
 
14978
- # Upcoming Maintenance notification information. TODO(b/196881882) Deprecate
14999
+ # Upcoming Maintenance notification information. TODO(b/242069500) Deprecate
14979
15000
  # this proto once it's fully migrated to be under proto ResourceStatus.
14980
15001
  # UpcomingMaintenance.
14981
15002
  # Corresponds to the JSON property `upcomingMaintenance`
@@ -15898,6 +15919,12 @@ module Google
15898
15919
  # @return [Fixnum]
15899
15920
  attr_accessor :none
15900
15921
 
15922
+ # [Output Only] The number of instances that the managed instance group is
15923
+ # currently queuing.
15924
+ # Corresponds to the JSON property `queuing`
15925
+ # @return [Fixnum]
15926
+ attr_accessor :queuing
15927
+
15901
15928
  # [Output Only] The number of instances in the managed instance group that are
15902
15929
  # scheduled to be recreated or are currently being being recreated. Recreating
15903
15930
  # an instance deletes the existing root persistent disk and creates a new disk
@@ -15962,6 +15989,7 @@ module Google
15962
15989
  @creating_without_retries = args[:creating_without_retries] if args.key?(:creating_without_retries)
15963
15990
  @deleting = args[:deleting] if args.key?(:deleting)
15964
15991
  @none = args[:none] if args.key?(:none)
15992
+ @queuing = args[:queuing] if args.key?(:queuing)
15965
15993
  @recreating = args[:recreating] if args.key?(:recreating)
15966
15994
  @refreshing = args[:refreshing] if args.key?(:refreshing)
15967
15995
  @restarting = args[:restarting] if args.key?(:restarting)
@@ -20151,8 +20179,8 @@ module Google
20151
20179
  # attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that
20152
20180
  # is encrypted by an IPsec device, such as an HA VPN gateway or third-party
20153
20181
  # IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such
20154
- # a VLAN attachment. To use *IPsec-encrypted Cloud Interconnect*, the VLAN
20155
- # attachment must be created with this option. Not currently available publicly.
20182
+ # a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN
20183
+ # attachment must be created with this option.
20156
20184
  # Corresponds to the JSON property `encryption`
20157
20185
  # @return [String]
20158
20186
  attr_accessor :encryption
@@ -22953,7 +22981,7 @@ module Google
22953
22981
  class LocalizedMessage
22954
22982
  include Google::Apis::Core::Hashable
22955
22983
 
22956
- # The locale used following the specification defined at http://www.rfc-editor.
22984
+ # The locale used following the specification defined at https://www.rfc-editor.
22957
22985
  # org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
22958
22986
  # Corresponds to the JSON property `locale`
22959
22987
  # @return [String]
@@ -23993,6 +24021,12 @@ module Google
23993
24021
  # @return [Google::Apis::ComputeAlpha::ManagedInstanceLastAttempt]
23994
24022
  attr_accessor :last_attempt
23995
24023
 
24024
+ # [Output Only] The name of the instance. The name will always exist even if the
24025
+ # instance has not yet been created.
24026
+ # Corresponds to the JSON property `name`
24027
+ # @return [String]
24028
+ attr_accessor :name
24029
+
23996
24030
  # Preserved state for a given instance.
23997
24031
  # Corresponds to the JSON property `preservedStateFromConfig`
23998
24032
  # @return [Google::Apis::ComputeAlpha::PreservedState]
@@ -24034,6 +24068,7 @@ module Google
24034
24068
  @instance_status = args[:instance_status] if args.key?(:instance_status)
24035
24069
  @instance_template = args[:instance_template] if args.key?(:instance_template)
24036
24070
  @last_attempt = args[:last_attempt] if args.key?(:last_attempt)
24071
+ @name = args[:name] if args.key?(:name)
24037
24072
  @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
24038
24073
  @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
24039
24074
  @tag = args[:tag] if args.key?(:tag)
@@ -24541,8 +24576,10 @@ module Google
24541
24576
  # @return [String]
24542
24577
  attr_accessor :kind
24543
24578
 
24544
- # Maximum Transmission Unit in bytes. The minimum value for this field is 1460
24545
- # and the maximum value is 1500 bytes. If unspecified, defaults to 1460.
24579
+ # Maximum Transmission Unit in bytes. The minimum value for this field is 1300
24580
+ # and the maximum value is 8896. The suggested value is 1500, which is the
24581
+ # default MTU used on the Internet, or 8896 if you want to use Jumbo frames. If
24582
+ # unspecified, the value defaults to 1460.
24546
24583
  # Corresponds to the JSON property `mtu`
24547
24584
  # @return [Fixnum]
24548
24585
  attr_accessor :mtu
@@ -24627,6 +24664,496 @@ module Google
24627
24664
  end
24628
24665
  end
24629
24666
 
24667
+ # NetworkAttachments A network attachment resource ...
24668
+ class NetworkAttachment
24669
+ include Google::Apis::Core::Hashable
24670
+
24671
+ # [Output Only] An array of connections for all the producers connected to this
24672
+ # network attachment.
24673
+ # Corresponds to the JSON property `connectionEndpoints`
24674
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkAttachmentConnectedEndpoint>]
24675
+ attr_accessor :connection_endpoints
24676
+
24677
+ #
24678
+ # Corresponds to the JSON property `connectionPreference`
24679
+ # @return [String]
24680
+ attr_accessor :connection_preference
24681
+
24682
+ # [Output Only] Creation timestamp in RFC3339 text format.
24683
+ # Corresponds to the JSON property `creationTimestamp`
24684
+ # @return [String]
24685
+ attr_accessor :creation_timestamp
24686
+
24687
+ # An optional description of this resource. Provide this property when you
24688
+ # create the resource.
24689
+ # Corresponds to the JSON property `description`
24690
+ # @return [String]
24691
+ attr_accessor :description
24692
+
24693
+ # [Output Only] Fingerprint of this resource. A hash of the contents stored in
24694
+ # this object. This field is used in optimistic locking. An up-to-date
24695
+ # fingerprint must be provided in order to patch.
24696
+ # Corresponds to the JSON property `fingerprint`
24697
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
24698
+ # @return [String]
24699
+ attr_accessor :fingerprint
24700
+
24701
+ # [Output Only] The unique identifier for the resource type. The server
24702
+ # generates this identifier.
24703
+ # Corresponds to the JSON property `id`
24704
+ # @return [Fixnum]
24705
+ attr_accessor :id
24706
+
24707
+ # [Output Only] Type of the resource.
24708
+ # Corresponds to the JSON property `kind`
24709
+ # @return [String]
24710
+ attr_accessor :kind
24711
+
24712
+ # Name of the resource. Provided by the client when the resource is created. The
24713
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
24714
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
24715
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
24716
+ # and all following characters must be a dash, lowercase letter, or digit,
24717
+ # except the last character, which cannot be a dash.
24718
+ # Corresponds to the JSON property `name`
24719
+ # @return [String]
24720
+ attr_accessor :name
24721
+
24722
+ # [Output Only] The URL of the network which the Network Attachment belongs to.
24723
+ # Corresponds to the JSON property `network`
24724
+ # @return [String]
24725
+ attr_accessor :network
24726
+
24727
+ # Projects that are allowed to connect to this network attachment. The project
24728
+ # can be specified using its id or number.
24729
+ # Corresponds to the JSON property `producerAcceptLists`
24730
+ # @return [Array<String>]
24731
+ attr_accessor :producer_accept_lists
24732
+
24733
+ # Projects that are not allowed to connect to this network attachment. The
24734
+ # project can be specified using its id or number.
24735
+ # Corresponds to the JSON property `producerRejectLists`
24736
+ # @return [Array<String>]
24737
+ attr_accessor :producer_reject_lists
24738
+
24739
+ # [Output Only] URL of the region where the network attachment resides. This
24740
+ # field applies only to the region resource. You must specify this field as part
24741
+ # of the HTTP request URL. It is not settable as a field in the request body.
24742
+ # Corresponds to the JSON property `region`
24743
+ # @return [String]
24744
+ attr_accessor :region
24745
+
24746
+ # [Output Only] Server-defined URL for the resource.
24747
+ # Corresponds to the JSON property `selfLink`
24748
+ # @return [String]
24749
+ attr_accessor :self_link
24750
+
24751
+ # [Output Only] Server-defined URL for this resource's resource id.
24752
+ # Corresponds to the JSON property `selfLinkWithId`
24753
+ # @return [String]
24754
+ attr_accessor :self_link_with_id
24755
+
24756
+ # An array of URLs where each entry is the URL of a subnet provided by the
24757
+ # service consumer to use for endpoints in the producers that connect to this
24758
+ # network attachment.
24759
+ # Corresponds to the JSON property `subnetworks`
24760
+ # @return [Array<String>]
24761
+ attr_accessor :subnetworks
24762
+
24763
+ def initialize(**args)
24764
+ update!(**args)
24765
+ end
24766
+
24767
+ # Update properties of this object
24768
+ def update!(**args)
24769
+ @connection_endpoints = args[:connection_endpoints] if args.key?(:connection_endpoints)
24770
+ @connection_preference = args[:connection_preference] if args.key?(:connection_preference)
24771
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
24772
+ @description = args[:description] if args.key?(:description)
24773
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
24774
+ @id = args[:id] if args.key?(:id)
24775
+ @kind = args[:kind] if args.key?(:kind)
24776
+ @name = args[:name] if args.key?(:name)
24777
+ @network = args[:network] if args.key?(:network)
24778
+ @producer_accept_lists = args[:producer_accept_lists] if args.key?(:producer_accept_lists)
24779
+ @producer_reject_lists = args[:producer_reject_lists] if args.key?(:producer_reject_lists)
24780
+ @region = args[:region] if args.key?(:region)
24781
+ @self_link = args[:self_link] if args.key?(:self_link)
24782
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
24783
+ @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
24784
+ end
24785
+ end
24786
+
24787
+ # Contains a list of NetworkAttachmentsScopedList.
24788
+ class NetworkAttachmentAggregatedList
24789
+ include Google::Apis::Core::Hashable
24790
+
24791
+ # [Output Only] Unique identifier for the resource; defined by the server.
24792
+ # Corresponds to the JSON property `id`
24793
+ # @return [String]
24794
+ attr_accessor :id
24795
+
24796
+ # A list of NetworkAttachmentsScopedList resources.
24797
+ # Corresponds to the JSON property `items`
24798
+ # @return [Hash<String,Google::Apis::ComputeAlpha::NetworkAttachmentsScopedList>]
24799
+ attr_accessor :items
24800
+
24801
+ #
24802
+ # Corresponds to the JSON property `kind`
24803
+ # @return [String]
24804
+ attr_accessor :kind
24805
+
24806
+ # [Output Only] This token allows you to get the next page of results for list
24807
+ # requests. If the number of results is larger than maxResults, use the
24808
+ # nextPageToken as a value for the query parameter pageToken in the next list
24809
+ # request. Subsequent list requests will have their own nextPageToken to
24810
+ # continue paging through the results.
24811
+ # Corresponds to the JSON property `nextPageToken`
24812
+ # @return [String]
24813
+ attr_accessor :next_page_token
24814
+
24815
+ # [Output Only] Server-defined URL for this resource.
24816
+ # Corresponds to the JSON property `selfLink`
24817
+ # @return [String]
24818
+ attr_accessor :self_link
24819
+
24820
+ # [Output Only] Informational warning message.
24821
+ # Corresponds to the JSON property `warning`
24822
+ # @return [Google::Apis::ComputeAlpha::NetworkAttachmentAggregatedList::Warning]
24823
+ attr_accessor :warning
24824
+
24825
+ def initialize(**args)
24826
+ update!(**args)
24827
+ end
24828
+
24829
+ # Update properties of this object
24830
+ def update!(**args)
24831
+ @id = args[:id] if args.key?(:id)
24832
+ @items = args[:items] if args.key?(:items)
24833
+ @kind = args[:kind] if args.key?(:kind)
24834
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24835
+ @self_link = args[:self_link] if args.key?(:self_link)
24836
+ @warning = args[:warning] if args.key?(:warning)
24837
+ end
24838
+
24839
+ # [Output Only] Informational warning message.
24840
+ class Warning
24841
+ include Google::Apis::Core::Hashable
24842
+
24843
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24844
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24845
+ # Corresponds to the JSON property `code`
24846
+ # @return [String]
24847
+ attr_accessor :code
24848
+
24849
+ # [Output Only] Metadata about this warning in key: value format. For example: "
24850
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24851
+ # Corresponds to the JSON property `data`
24852
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkAttachmentAggregatedList::Warning::Datum>]
24853
+ attr_accessor :data
24854
+
24855
+ # [Output Only] A human-readable description of the warning code.
24856
+ # Corresponds to the JSON property `message`
24857
+ # @return [String]
24858
+ attr_accessor :message
24859
+
24860
+ def initialize(**args)
24861
+ update!(**args)
24862
+ end
24863
+
24864
+ # Update properties of this object
24865
+ def update!(**args)
24866
+ @code = args[:code] if args.key?(:code)
24867
+ @data = args[:data] if args.key?(:data)
24868
+ @message = args[:message] if args.key?(:message)
24869
+ end
24870
+
24871
+ #
24872
+ class Datum
24873
+ include Google::Apis::Core::Hashable
24874
+
24875
+ # [Output Only] A key that provides more detail on the warning being returned.
24876
+ # For example, for warnings where there are no results in a list request for a
24877
+ # particular zone, this key might be scope and the key value might be the zone
24878
+ # name. Other examples might be a key indicating a deprecated resource and a
24879
+ # suggested replacement, or a warning about invalid network settings (for
24880
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24881
+ # for IP forwarding).
24882
+ # Corresponds to the JSON property `key`
24883
+ # @return [String]
24884
+ attr_accessor :key
24885
+
24886
+ # [Output Only] A warning data value corresponding to the key.
24887
+ # Corresponds to the JSON property `value`
24888
+ # @return [String]
24889
+ attr_accessor :value
24890
+
24891
+ def initialize(**args)
24892
+ update!(**args)
24893
+ end
24894
+
24895
+ # Update properties of this object
24896
+ def update!(**args)
24897
+ @key = args[:key] if args.key?(:key)
24898
+ @value = args[:value] if args.key?(:value)
24899
+ end
24900
+ end
24901
+ end
24902
+ end
24903
+
24904
+ # [Output Only] A connection connected to this network attachment.
24905
+ class NetworkAttachmentConnectedEndpoint
24906
+ include Google::Apis::Core::Hashable
24907
+
24908
+ # The IP address assigned to the producer instance network interface. This value
24909
+ # will be a range in case of Serverless.
24910
+ # Corresponds to the JSON property `ipAddress`
24911
+ # @return [String]
24912
+ attr_accessor :ip_address
24913
+
24914
+ # The project id or number of the interface to which the IP was assigned.
24915
+ # Corresponds to the JSON property `projectIdOrNum`
24916
+ # @return [String]
24917
+ attr_accessor :project_id_or_num
24918
+
24919
+ # Alias IP ranges from the same subnetwork
24920
+ # Corresponds to the JSON property `secondaryIpCidrRanges`
24921
+ # @return [Array<String>]
24922
+ attr_accessor :secondary_ip_cidr_ranges
24923
+
24924
+ # The status of a connected endpoint to this network attachment.
24925
+ # Corresponds to the JSON property `status`
24926
+ # @return [String]
24927
+ attr_accessor :status
24928
+
24929
+ # The subnetwork used to assign the IP to the producer instance network
24930
+ # interface.
24931
+ # Corresponds to the JSON property `subnetwork`
24932
+ # @return [String]
24933
+ attr_accessor :subnetwork
24934
+
24935
+ def initialize(**args)
24936
+ update!(**args)
24937
+ end
24938
+
24939
+ # Update properties of this object
24940
+ def update!(**args)
24941
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
24942
+ @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
24943
+ @secondary_ip_cidr_ranges = args[:secondary_ip_cidr_ranges] if args.key?(:secondary_ip_cidr_ranges)
24944
+ @status = args[:status] if args.key?(:status)
24945
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
24946
+ end
24947
+ end
24948
+
24949
+ #
24950
+ class NetworkAttachmentList
24951
+ include Google::Apis::Core::Hashable
24952
+
24953
+ # [Output Only] Unique identifier for the resource; defined by the server.
24954
+ # Corresponds to the JSON property `id`
24955
+ # @return [String]
24956
+ attr_accessor :id
24957
+
24958
+ # A list of NetworkAttachment resources.
24959
+ # Corresponds to the JSON property `items`
24960
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkAttachment>]
24961
+ attr_accessor :items
24962
+
24963
+ #
24964
+ # Corresponds to the JSON property `kind`
24965
+ # @return [String]
24966
+ attr_accessor :kind
24967
+
24968
+ # [Output Only] This token allows you to get the next page of results for list
24969
+ # requests. If the number of results is larger than maxResults, use the
24970
+ # nextPageToken as a value for the query parameter pageToken in the next list
24971
+ # request. Subsequent list requests will have their own nextPageToken to
24972
+ # continue paging through the results.
24973
+ # Corresponds to the JSON property `nextPageToken`
24974
+ # @return [String]
24975
+ attr_accessor :next_page_token
24976
+
24977
+ # [Output Only] Server-defined URL for this resource.
24978
+ # Corresponds to the JSON property `selfLink`
24979
+ # @return [String]
24980
+ attr_accessor :self_link
24981
+
24982
+ # [Output Only] Informational warning message.
24983
+ # Corresponds to the JSON property `warning`
24984
+ # @return [Google::Apis::ComputeAlpha::NetworkAttachmentList::Warning]
24985
+ attr_accessor :warning
24986
+
24987
+ def initialize(**args)
24988
+ update!(**args)
24989
+ end
24990
+
24991
+ # Update properties of this object
24992
+ def update!(**args)
24993
+ @id = args[:id] if args.key?(:id)
24994
+ @items = args[:items] if args.key?(:items)
24995
+ @kind = args[:kind] if args.key?(:kind)
24996
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24997
+ @self_link = args[:self_link] if args.key?(:self_link)
24998
+ @warning = args[:warning] if args.key?(:warning)
24999
+ end
25000
+
25001
+ # [Output Only] Informational warning message.
25002
+ class Warning
25003
+ include Google::Apis::Core::Hashable
25004
+
25005
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
25006
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
25007
+ # Corresponds to the JSON property `code`
25008
+ # @return [String]
25009
+ attr_accessor :code
25010
+
25011
+ # [Output Only] Metadata about this warning in key: value format. For example: "
25012
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
25013
+ # Corresponds to the JSON property `data`
25014
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkAttachmentList::Warning::Datum>]
25015
+ attr_accessor :data
25016
+
25017
+ # [Output Only] A human-readable description of the warning code.
25018
+ # Corresponds to the JSON property `message`
25019
+ # @return [String]
25020
+ attr_accessor :message
25021
+
25022
+ def initialize(**args)
25023
+ update!(**args)
25024
+ end
25025
+
25026
+ # Update properties of this object
25027
+ def update!(**args)
25028
+ @code = args[:code] if args.key?(:code)
25029
+ @data = args[:data] if args.key?(:data)
25030
+ @message = args[:message] if args.key?(:message)
25031
+ end
25032
+
25033
+ #
25034
+ class Datum
25035
+ include Google::Apis::Core::Hashable
25036
+
25037
+ # [Output Only] A key that provides more detail on the warning being returned.
25038
+ # For example, for warnings where there are no results in a list request for a
25039
+ # particular zone, this key might be scope and the key value might be the zone
25040
+ # name. Other examples might be a key indicating a deprecated resource and a
25041
+ # suggested replacement, or a warning about invalid network settings (for
25042
+ # example, if an instance attempts to perform IP forwarding but is not enabled
25043
+ # for IP forwarding).
25044
+ # Corresponds to the JSON property `key`
25045
+ # @return [String]
25046
+ attr_accessor :key
25047
+
25048
+ # [Output Only] A warning data value corresponding to the key.
25049
+ # Corresponds to the JSON property `value`
25050
+ # @return [String]
25051
+ attr_accessor :value
25052
+
25053
+ def initialize(**args)
25054
+ update!(**args)
25055
+ end
25056
+
25057
+ # Update properties of this object
25058
+ def update!(**args)
25059
+ @key = args[:key] if args.key?(:key)
25060
+ @value = args[:value] if args.key?(:value)
25061
+ end
25062
+ end
25063
+ end
25064
+ end
25065
+
25066
+ #
25067
+ class NetworkAttachmentsScopedList
25068
+ include Google::Apis::Core::Hashable
25069
+
25070
+ # A list of NetworkAttachments contained in this scope.
25071
+ # Corresponds to the JSON property `networkAttachments`
25072
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkAttachment>]
25073
+ attr_accessor :network_attachments
25074
+
25075
+ # Informational warning which replaces the list of network attachments when the
25076
+ # list is empty.
25077
+ # Corresponds to the JSON property `warning`
25078
+ # @return [Google::Apis::ComputeAlpha::NetworkAttachmentsScopedList::Warning]
25079
+ attr_accessor :warning
25080
+
25081
+ def initialize(**args)
25082
+ update!(**args)
25083
+ end
25084
+
25085
+ # Update properties of this object
25086
+ def update!(**args)
25087
+ @network_attachments = args[:network_attachments] if args.key?(:network_attachments)
25088
+ @warning = args[:warning] if args.key?(:warning)
25089
+ end
25090
+
25091
+ # Informational warning which replaces the list of network attachments when the
25092
+ # list is empty.
25093
+ class Warning
25094
+ include Google::Apis::Core::Hashable
25095
+
25096
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
25097
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
25098
+ # Corresponds to the JSON property `code`
25099
+ # @return [String]
25100
+ attr_accessor :code
25101
+
25102
+ # [Output Only] Metadata about this warning in key: value format. For example: "
25103
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
25104
+ # Corresponds to the JSON property `data`
25105
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkAttachmentsScopedList::Warning::Datum>]
25106
+ attr_accessor :data
25107
+
25108
+ # [Output Only] A human-readable description of the warning code.
25109
+ # Corresponds to the JSON property `message`
25110
+ # @return [String]
25111
+ attr_accessor :message
25112
+
25113
+ def initialize(**args)
25114
+ update!(**args)
25115
+ end
25116
+
25117
+ # Update properties of this object
25118
+ def update!(**args)
25119
+ @code = args[:code] if args.key?(:code)
25120
+ @data = args[:data] if args.key?(:data)
25121
+ @message = args[:message] if args.key?(:message)
25122
+ end
25123
+
25124
+ #
25125
+ class Datum
25126
+ include Google::Apis::Core::Hashable
25127
+
25128
+ # [Output Only] A key that provides more detail on the warning being returned.
25129
+ # For example, for warnings where there are no results in a list request for a
25130
+ # particular zone, this key might be scope and the key value might be the zone
25131
+ # name. Other examples might be a key indicating a deprecated resource and a
25132
+ # suggested replacement, or a warning about invalid network settings (for
25133
+ # example, if an instance attempts to perform IP forwarding but is not enabled
25134
+ # for IP forwarding).
25135
+ # Corresponds to the JSON property `key`
25136
+ # @return [String]
25137
+ attr_accessor :key
25138
+
25139
+ # [Output Only] A warning data value corresponding to the key.
25140
+ # Corresponds to the JSON property `value`
25141
+ # @return [String]
25142
+ attr_accessor :value
25143
+
25144
+ def initialize(**args)
25145
+ update!(**args)
25146
+ end
25147
+
25148
+ # Update properties of this object
25149
+ def update!(**args)
25150
+ @key = args[:key] if args.key?(:key)
25151
+ @value = args[:value] if args.key?(:value)
25152
+ end
25153
+ end
25154
+ end
25155
+ end
25156
+
24630
25157
  # Represents a Google Cloud Armor network edge security service resource.
24631
25158
  class NetworkEdgeSecurityService
24632
25159
  include Google::Apis::Core::Hashable
@@ -30446,8 +30973,9 @@ module Google
30446
30973
  # If defaultRouteAction specifies any weightedBackendServices, defaultService
30447
30974
  # must not be set. Conversely if defaultService is set, defaultRouteAction
30448
30975
  # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
30449
- # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
30450
- # support only the urlRewrite action within a path matcher's defaultRouteAction.
30976
+ # defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load
30977
+ # balancers only support the urlRewrite action within a path matcher's
30978
+ # defaultRouteAction.
30451
30979
  # Corresponds to the JSON property `defaultRouteAction`
30452
30980
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
30453
30981
  attr_accessor :default_route_action
@@ -30553,8 +31081,9 @@ module Google
30553
31081
  # the request to the selected backend. If routeAction specifies any
30554
31082
  # weightedBackendServices, service must not be set. Conversely if service is set,
30555
31083
  # routeAction cannot contain any weightedBackendServices. Only one of
30556
- # routeAction or urlRedirect must be set. URL maps for external HTTP(S) load
30557
- # balancers support only the urlRewrite action within a path rule's routeAction.
31084
+ # routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S)
31085
+ # load balancers only support the urlRewrite action within a path rule's
31086
+ # routeAction.
30558
31087
  # Corresponds to the JSON property `routeAction`
30559
31088
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
30560
31089
  attr_accessor :route_action
@@ -36654,7 +37183,7 @@ module Google
36654
37183
  attr_accessor :description
36655
37184
 
36656
37185
  # Indicates if a router is dedicated for use with encrypted VLAN attachments (
36657
- # interconnectAttachments). Not currently available publicly.
37186
+ # interconnectAttachments).
36658
37187
  # Corresponds to the JSON property `encryptedInterconnectRouter`
36659
37188
  # @return [Boolean]
36660
37189
  attr_accessor :encrypted_interconnect_router
@@ -47582,7 +48111,7 @@ module Google
47582
48111
  end
47583
48112
  end
47584
48113
 
47585
- # Upcoming Maintenance notification information. TODO(b/196881882) Deprecate
48114
+ # Upcoming Maintenance notification information. TODO(b/242069500) Deprecate
47586
48115
  # this proto once it's fully migrated to be under proto ResourceStatus.
47587
48116
  # UpcomingMaintenance.
47588
48117
  class UpcomingMaintenance
@@ -47693,8 +48222,8 @@ module Google
47693
48222
  # defaultRouteAction specifies any weightedBackendServices, defaultService must
47694
48223
  # not be set. Conversely if defaultService is set, defaultRouteAction cannot
47695
48224
  # contain any weightedBackendServices. Only one of defaultRouteAction or
47696
- # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
47697
- # support only the urlRewrite action within defaultRouteAction.
48225
+ # defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load
48226
+ # balancers only support the urlRewrite action within defaultRouteAction.
47698
48227
  # defaultRouteAction has no effect when the URL map is bound to a target gRPC
47699
48228
  # proxy that has the validateForProxyless field set to true.
47700
48229
  # Corresponds to the JSON property `defaultRouteAction`
@@ -49430,9 +49959,8 @@ module Google
49430
49959
 
49431
49960
  # URL of the VLAN attachment (interconnectAttachment) resource for this VPN
49432
49961
  # gateway interface. When the value of this field is present, the VPN gateway is
49433
- # used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for
49962
+ # used for HA VPN over Cloud Interconnect; all egress or ingress traffic for
49434
49963
  # this VPN gateway interface goes through the specified VLAN attachment resource.
49435
- # Not currently available publicly.
49436
49964
  # Corresponds to the JSON property `interconnectAttachment`
49437
49965
  # @return [String]
49438
49966
  attr_accessor :interconnect_attachment
@@ -49441,11 +49969,11 @@ module Google
49441
49969
  # gateway. The IP address could be either a regional external IP address or a
49442
49970
  # regional internal IP address. The two IP addresses for a VPN gateway must be
49443
49971
  # all regional external or regional internal IP addresses. There cannot be a mix
49444
- # of regional external IP addresses and regional internal IP addresses. For
49445
- # IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could
49446
- # either be regional internal IP addresses or regional external IP addresses.
49447
- # For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP
49448
- # address must be a regional external IP address.
49972
+ # of regional external IP addresses and regional internal IP addresses. For HA
49973
+ # VPN over Cloud Interconnect, the IP addresses for both interfaces could either
49974
+ # be regional internal IP addresses or regional external IP addresses. For
49975
+ # regular (non HA VPN over Cloud Interconnect) HA VPN tunnels, the IP address
49976
+ # must be a regional external IP address.
49449
49977
  # Corresponds to the JSON property `ipAddress`
49450
49978
  # @return [String]
49451
49979
  attr_accessor :ip_address