google-apis-compute_alpha 0.48.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
@@ -4530,18 +4530,34 @@ module Google
4530
4530
  class BackendServiceLogConfig
4531
4531
  include Google::Apis::Core::Hashable
4532
4532
 
4533
- # This field denotes whether to enable logging for the load balancer traffic
4534
- # 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.
4535
4535
  # Corresponds to the JSON property `enable`
4536
4536
  # @return [Boolean]
4537
4537
  attr_accessor :enable
4538
4538
  alias_method :enable?, :enable
4539
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
+
4540
4556
  # This field can only be specified if logging is enabled for this backend
4541
4557
  # service. The value of the field must be in [0, 1]. This configures the
4542
4558
  # sampling rate of requests to the load balancer where 1.0 means all logged
4543
4559
  # requests are reported and 0.0 means no logged requests are reported. The
4544
- # default value is 0.0.
4560
+ # default value is 1.0.
4545
4561
  # Corresponds to the JSON property `sampleRate`
4546
4562
  # @return [Float]
4547
4563
  attr_accessor :sample_rate
@@ -4553,6 +4569,8 @@ module Google
4553
4569
  # Update properties of this object
4554
4570
  def update!(**args)
4555
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)
4556
4574
  @sample_rate = args[:sample_rate] if args.key?(:sample_rate)
4557
4575
  end
4558
4576
  end
@@ -4973,31 +4991,33 @@ module Google
4973
4991
  # members` can have the following values: * `allUsers`: A special identifier
4974
4992
  # that represents anyone who is on the internet; with or without a Google
4975
4993
  # account. * `allAuthenticatedUsers`: A special identifier that represents
4976
- # anyone who is authenticated with a Google account or a service account. * `
4977
- # user:`emailid``: An email address that represents a specific Google account.
4978
- # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
4979
- # address that represents a Google service account. For example, `my-other-app@
4980
- # appspot.gserviceaccount.com`. * `serviceAccount:`projectid`.svc.id.goog[`
4981
- # namespace`/`kubernetes-sa`]`: An identifier for a [Kubernetes service account](
4982
- # https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-
4983
- # accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`
4984
- # . * `group:`emailid``: An email address that represents a Google group. For
4985
- # example, `admins@example.com`. * `deleted:user:`emailid`?uid=`uniqueid``: An
4986
- # email address (plus unique identifier) representing a user that has been
4987
- # recently deleted. For example, `alice@example.com?uid=123456789012345678901`.
4988
- # If the user is recovered, this value reverts to `user:`emailid`` and the
4989
- # recovered user retains the role in the binding. * `deleted:serviceAccount:`
4990
- # emailid`?uid=`uniqueid``: An email address (plus unique identifier)
4991
- # representing a service account that has been recently deleted. For example, `
4992
- # my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
4993
- # service account is undeleted, this value reverts to `serviceAccount:`emailid``
4994
- # and the undeleted service account retains the role in the binding. * `deleted:
4995
- # group:`emailid`?uid=`uniqueid``: An email address (plus unique identifier)
4996
- # representing a Google group that has been recently deleted. For example, `
4997
- # admins@example.com?uid=123456789012345678901`. If the group is recovered, this
4998
- # value reverts to `group:`emailid`` and the recovered group retains the role in
4999
- # the binding. * `domain:`domain``: The G Suite domain (primary) that represents
5000
- # 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`.
5001
5021
  # Corresponds to the JSON property `members`
5002
5022
  # @return [Array<String>]
5003
5023
  attr_accessor :members
@@ -9037,13 +9057,13 @@ module Google
9037
9057
 
9038
9058
  # Deprecated, please use short name instead. User-provided name of the
9039
9059
  # Organization firewall policy. The name should be unique in the organization in
9040
- # which the firewall policy is created. This name must be set on creation and
9041
- # cannot be changed. The name must be 1-63 characters long, and comply with
9042
- # RFC1035. Specifically, the name must be 1-63 characters long and match the
9043
- # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
9044
- # character must be a lowercase letter, and all following characters must be a
9045
- # dash, lowercase letter, or digit, except the last character, which cannot be a
9046
- # 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.
9047
9067
  # Corresponds to the JSON property `displayName`
9048
9068
  # @return [String]
9049
9069
  attr_accessor :display_name
@@ -9072,13 +9092,15 @@ module Google
9072
9092
  # @return [String]
9073
9093
  attr_accessor :kind
9074
9094
 
9075
- # [Output Only] Name of the resource. It is a numeric ID allocated by GCP which
9076
- # 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.
9077
9098
  # Corresponds to the JSON property `name`
9078
9099
  # @return [String]
9079
9100
  attr_accessor :name
9080
9101
 
9081
- # [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.
9082
9104
  # Corresponds to the JSON property `parent`
9083
9105
  # @return [String]
9084
9106
  attr_accessor :parent
@@ -9115,14 +9137,15 @@ module Google
9115
9137
  # @return [String]
9116
9138
  attr_accessor :self_link_with_id
9117
9139
 
9118
- # User-provided name of the Organization firewall plicy. The name should be
9119
- # unique in the organization in which the firewall policy is created. This name
9120
- # must be set on creation and cannot be changed. The name must be 1-63
9121
- # characters long, and comply with RFC1035. Specifically, the name must be 1-63
9122
- # characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`
9123
- # which means the first character must be a lowercase letter, and all following
9124
- # characters must be a dash, lowercase letter, or digit, except the last
9125
- # 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.
9126
9149
  # Corresponds to the JSON property `shortName`
9127
9150
  # @return [String]
9128
9151
  attr_accessor :short_name
@@ -20156,8 +20179,8 @@ module Google
20156
20179
  # attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that
20157
20180
  # is encrypted by an IPsec device, such as an HA VPN gateway or third-party
20158
20181
  # IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such
20159
- # a VLAN attachment. To use *IPsec-encrypted Cloud Interconnect*, the VLAN
20160
- # 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.
20161
20184
  # Corresponds to the JSON property `encryption`
20162
20185
  # @return [String]
20163
20186
  attr_accessor :encryption
@@ -24641,6 +24664,496 @@ module Google
24641
24664
  end
24642
24665
  end
24643
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
+
24644
25157
  # Represents a Google Cloud Armor network edge security service resource.
24645
25158
  class NetworkEdgeSecurityService
24646
25159
  include Google::Apis::Core::Hashable
@@ -36670,7 +37183,7 @@ module Google
36670
37183
  attr_accessor :description
36671
37184
 
36672
37185
  # Indicates if a router is dedicated for use with encrypted VLAN attachments (
36673
- # interconnectAttachments). Not currently available publicly.
37186
+ # interconnectAttachments).
36674
37187
  # Corresponds to the JSON property `encryptedInterconnectRouter`
36675
37188
  # @return [Boolean]
36676
37189
  attr_accessor :encrypted_interconnect_router
@@ -49446,9 +49959,8 @@ module Google
49446
49959
 
49447
49960
  # URL of the VLAN attachment (interconnectAttachment) resource for this VPN
49448
49961
  # gateway interface. When the value of this field is present, the VPN gateway is
49449
- # 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
49450
49963
  # this VPN gateway interface goes through the specified VLAN attachment resource.
49451
- # Not currently available publicly.
49452
49964
  # Corresponds to the JSON property `interconnectAttachment`
49453
49965
  # @return [String]
49454
49966
  attr_accessor :interconnect_attachment
@@ -49457,11 +49969,11 @@ module Google
49457
49969
  # gateway. The IP address could be either a regional external IP address or a
49458
49970
  # regional internal IP address. The two IP addresses for a VPN gateway must be
49459
49971
  # all regional external or regional internal IP addresses. There cannot be a mix
49460
- # of regional external IP addresses and regional internal IP addresses. For
49461
- # IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could
49462
- # either be regional internal IP addresses or regional external IP addresses.
49463
- # For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP
49464
- # 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.
49465
49977
  # Corresponds to the JSON property `ipAddress`
49466
49978
  # @return [String]
49467
49979
  attr_accessor :ip_address