google-apis-compute_alpha 0.46.0 → 0.49.0

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