google-api-client 0.21.0 → 0.21.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2819c2e5c684a38bbce31fb410a72f9b87dc6749
4
- data.tar.gz: da80fd964ebff24d60f25c7d6ef51ee9ee8d7ebf
3
+ metadata.gz: 0f7adb7f3db798935c6730439ba4a3fb7f426d04
4
+ data.tar.gz: fb9c72f1d33119e24968f9eeba20ea089ac3193e
5
5
  SHA512:
6
- metadata.gz: 8ae3e9733f409949a77b194039d368d8aa19ab32228613ded4dfc00b2ca839e8c0c7fe1348ddc930be529accbd040e9cacd93b0be31ad4faea4121b4a3a01bf6
7
- data.tar.gz: 9d888832b0ce85803b65d110682fd635f46b8a07c6734ea887463f57a81ad73e25abb878943726e94a1d5a48eb8f81d87e371ebac0590732fcc2f25e45a1d175
6
+ metadata.gz: 25a41f12fad0086f72db14c62b0e08dce37f05639c3a4cf13d1c001f29daf2dfa72b29618a74459dfb100f5b34e87aeebb3ee7ef87043177d326d0c6d5fb82d3
7
+ data.tar.gz: 511dee7021fb94436489c410cd49d2d8c18159bc89ecd28004bd2c653387375e3363d2c0cfd5980f2626e14ebad1205a21c7fb39577058c01b7f9f6e1e5881ce
@@ -1,3 +1,11 @@
1
+ # 0.21.1
2
+ * Backwards compatible changes:
3
+ * Updated `analytics_v3`
4
+ * Updated `compute_alpha`
5
+ * Updated `compute_beta`
6
+ * Updated `compute_v1`
7
+ * Updated `sourcerepo_v1`
8
+
1
9
  # 0.21.0
2
10
  * Breaking changes:
3
11
  * Deleted `prediction_v1_2`
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/analytics/
26
26
  module AnalyticsV3
27
27
  VERSION = 'V3'
28
- REVISION = '20180417'
28
+ REVISION = '20180509'
29
29
 
30
30
  # View and manage your Google Analytics data
31
31
  AUTH_ANALYTICS = 'https://www.googleapis.com/auth/analytics'
@@ -5558,6 +5558,23 @@ module Google
5558
5558
  # @return [DateTime]
5559
5559
  attr_accessor :created
5560
5560
 
5561
+ # Set to true to reset the retention period of the user identifier with each new
5562
+ # event from that user (thus setting the expiration date to current time plus
5563
+ # retention period).
5564
+ # Set to false to delete data associated with the user identifer automatically
5565
+ # after the rentention period.
5566
+ # This property cannot be set on insert.
5567
+ # Corresponds to the JSON property `dataRetentionResetOnNewActivity`
5568
+ # @return [Boolean]
5569
+ attr_accessor :data_retention_reset_on_new_activity
5570
+ alias_method :data_retention_reset_on_new_activity?, :data_retention_reset_on_new_activity
5571
+
5572
+ # The length of time for which user and event data is retained.
5573
+ # This property cannot be set on insert.
5574
+ # Corresponds to the JSON property `dataRetentionTtl`
5575
+ # @return [String]
5576
+ attr_accessor :data_retention_ttl
5577
+
5561
5578
  # Default view (profile) ID.
5562
5579
  # Corresponds to the JSON property `defaultProfileId`
5563
5580
  # @return [Fixnum]
@@ -5639,6 +5656,8 @@ module Google
5639
5656
  @account_id = args[:account_id] if args.key?(:account_id)
5640
5657
  @child_link = args[:child_link] if args.key?(:child_link)
5641
5658
  @created = args[:created] if args.key?(:created)
5659
+ @data_retention_reset_on_new_activity = args[:data_retention_reset_on_new_activity] if args.key?(:data_retention_reset_on_new_activity)
5660
+ @data_retention_ttl = args[:data_retention_ttl] if args.key?(:data_retention_ttl)
5642
5661
  @default_profile_id = args[:default_profile_id] if args.key?(:default_profile_id)
5643
5662
  @id = args[:id] if args.key?(:id)
5644
5663
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
@@ -2021,6 +2021,8 @@ module Google
2021
2021
 
2022
2022
  property :created, as: 'created', type: DateTime
2023
2023
 
2024
+ property :data_retention_reset_on_new_activity, as: 'dataRetentionResetOnNewActivity'
2025
+ property :data_retention_ttl, as: 'dataRetentionTtl'
2024
2026
  property :default_profile_id, :numeric_string => true, as: 'defaultProfileId'
2025
2027
  property :id, as: 'id'
2026
2028
  property :industry_vertical, as: 'industryVertical'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeAlpha
27
27
  VERSION = 'Alpha'
28
- REVISION = '20180427'
28
+ REVISION = '20180428'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -3248,7 +3248,7 @@ module Google
3248
3248
  # * `allAuthenticatedUsers`: A special identifier that represents anyone who is
3249
3249
  # authenticated with a Google account or a service account.
3250
3250
  # * `user:`emailid``: An email address that represents a specific Google account.
3251
- # For example, `alice@gmail.com` or `joe@example.com`.
3251
+ # For example, `alice@gmail.com` .
3252
3252
  # * `serviceAccount:`emailid``: An email address that represents a service
3253
3253
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
3254
3254
  # * `group:`emailid``: An email address that represents a Google group. For
@@ -4626,6 +4626,13 @@ module Google
4626
4626
  # @return [String]
4627
4627
  attr_accessor :name
4628
4628
 
4629
+ # [Output Only] URL of the region where the disk type resides. Only applicable
4630
+ # for regional resources. You must specify this field as part of the HTTP
4631
+ # request URL. It is not settable as a field in the request body.
4632
+ # Corresponds to the JSON property `region`
4633
+ # @return [String]
4634
+ attr_accessor :region
4635
+
4629
4636
  # [Output Only] Server-defined URL for the resource.
4630
4637
  # Corresponds to the JSON property `selfLink`
4631
4638
  # @return [String]
@@ -4657,6 +4664,7 @@ module Google
4657
4664
  @id = args[:id] if args.key?(:id)
4658
4665
  @kind = args[:kind] if args.key?(:kind)
4659
4666
  @name = args[:name] if args.key?(:name)
4667
+ @region = args[:region] if args.key?(:region)
4660
4668
  @self_link = args[:self_link] if args.key?(:self_link)
4661
4669
  @valid_disk_size = args[:valid_disk_size] if args.key?(:valid_disk_size)
4662
4670
  @zone = args[:zone] if args.key?(:zone)
@@ -6271,6 +6279,56 @@ module Google
6271
6279
  end
6272
6280
  end
6273
6281
 
6282
+ #
6283
+ class GlobalSetPolicyRequest
6284
+ include Google::Apis::Core::Hashable
6285
+
6286
+ # Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use '
6287
+ # policy' to specify bindings.
6288
+ # Corresponds to the JSON property `bindings`
6289
+ # @return [Array<Google::Apis::ComputeAlpha::Binding>]
6290
+ attr_accessor :bindings
6291
+
6292
+ # Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
6293
+ # policy' to specify the etag.
6294
+ # Corresponds to the JSON property `etag`
6295
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
6296
+ # @return [String]
6297
+ attr_accessor :etag
6298
+
6299
+ # Defines an Identity and Access Management (IAM) policy. It is used to specify
6300
+ # access control policies for Cloud Platform resources.
6301
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
6302
+ # members` to a `role`, where the members can be user accounts, Google groups,
6303
+ # Google domains, and service accounts. A `role` is a named list of permissions
6304
+ # defined by IAM.
6305
+ # **JSON Example**
6306
+ # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
6307
+ # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
6308
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
6309
+ # sean@example.com"] ` ] `
6310
+ # **YAML Example**
6311
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
6312
+ # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
6313
+ # role: roles/owner - members: - user:sean@example.com role: roles/viewer
6314
+ # For a description of IAM and its features, see the [IAM developer's guide](
6315
+ # https://cloud.google.com/iam/docs).
6316
+ # Corresponds to the JSON property `policy`
6317
+ # @return [Google::Apis::ComputeAlpha::Policy]
6318
+ attr_accessor :policy
6319
+
6320
+ def initialize(**args)
6321
+ update!(**args)
6322
+ end
6323
+
6324
+ # Update properties of this object
6325
+ def update!(**args)
6326
+ @bindings = args[:bindings] if args.key?(:bindings)
6327
+ @etag = args[:etag] if args.key?(:etag)
6328
+ @policy = args[:policy] if args.key?(:policy)
6329
+ end
6330
+ end
6331
+
6274
6332
  # A guest attributes entry.
6275
6333
  class GuestAttributes
6276
6334
  include Google::Apis::Core::Hashable
@@ -15882,7 +15940,8 @@ module Google
15882
15940
  # @return [String]
15883
15941
  attr_accessor :creation_timestamp
15884
15942
 
15885
- # [Output Only] An optional textual description of the resource.
15943
+ # An optional description of this resource. Provide this property when you
15944
+ # create the resource.
15886
15945
  # Corresponds to the JSON property `description`
15887
15946
  # @return [String]
15888
15947
  attr_accessor :description
@@ -17251,7 +17310,8 @@ module Google
17251
17310
  class Operation
17252
17311
  include Google::Apis::Core::Hashable
17253
17312
 
17254
- # [Output Only] Reserved for future use.
17313
+ # [Output Only] The value of `requestId` if you provided it in the request. Not
17314
+ # present otherwise.
17255
17315
  # Corresponds to the JSON property `clientOperationId`
17256
17316
  # @return [String]
17257
17317
  attr_accessor :client_operation_id
@@ -17948,8 +18008,18 @@ module Google
17948
18008
  class PerInstanceConfig
17949
18009
  include Google::Apis::Core::Hashable
17950
18010
 
18011
+ # Fingerprint of this per-instance config. This field may be used in optimistic
18012
+ # locking. It will be ignored when inserting a per-instance config. An up-to-
18013
+ # date fingerprint must be provided in order to update an existing per-instance
18014
+ # config or the field needs to be unset.
18015
+ # Corresponds to the JSON property `fingerprint`
18016
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
18017
+ # @return [String]
18018
+ attr_accessor :fingerprint
18019
+
17951
18020
  # The URL of the instance. Serves as a merge key during UpdatePerInstanceConfigs
17952
- # operation.
18021
+ # operation, i.e. if per-instance config with the same instance URL exists then
18022
+ # it will be updated, otherwise a new one will be created.
17953
18023
  # Corresponds to the JSON property `instance`
17954
18024
  # @return [String]
17955
18025
  attr_accessor :instance
@@ -17965,6 +18035,7 @@ module Google
17965
18035
 
17966
18036
  # Update properties of this object
17967
18037
  def update!(**args)
18038
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
17968
18039
  @instance = args[:instance] if args.key?(:instance)
17969
18040
  @override = args[:override] if args.key?(:override)
17970
18041
  end
@@ -18052,6 +18123,25 @@ module Google
18052
18123
  end
18053
18124
  end
18054
18125
 
18126
+ #
18127
+ class PreconfiguredWafSet
18128
+ include Google::Apis::Core::Hashable
18129
+
18130
+ # List of entities that are currently supported for WAF rules.
18131
+ # Corresponds to the JSON property `expressionSets`
18132
+ # @return [Array<Google::Apis::ComputeAlpha::WafExpressionSet>]
18133
+ attr_accessor :expression_sets
18134
+
18135
+ def initialize(**args)
18136
+ update!(**args)
18137
+ end
18138
+
18139
+ # Update properties of this object
18140
+ def update!(**args)
18141
+ @expression_sets = args[:expression_sets] if args.key?(:expression_sets)
18142
+ end
18143
+ end
18144
+
18055
18145
  # A Project resource. For an overview of projects, see Cloud Platform Resource
18056
18146
  # Hierarchy. (== resource_for v1.projects ==) (== resource_for beta.projects ==)
18057
18147
  class Project
@@ -19574,6 +19664,56 @@ module Google
19574
19664
  end
19575
19665
  end
19576
19666
 
19667
+ #
19668
+ class RegionSetPolicyRequest
19669
+ include Google::Apis::Core::Hashable
19670
+
19671
+ # Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use '
19672
+ # policy' to specify bindings.
19673
+ # Corresponds to the JSON property `bindings`
19674
+ # @return [Array<Google::Apis::ComputeAlpha::Binding>]
19675
+ attr_accessor :bindings
19676
+
19677
+ # Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
19678
+ # policy' to specify the etag.
19679
+ # Corresponds to the JSON property `etag`
19680
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
19681
+ # @return [String]
19682
+ attr_accessor :etag
19683
+
19684
+ # Defines an Identity and Access Management (IAM) policy. It is used to specify
19685
+ # access control policies for Cloud Platform resources.
19686
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
19687
+ # members` to a `role`, where the members can be user accounts, Google groups,
19688
+ # Google domains, and service accounts. A `role` is a named list of permissions
19689
+ # defined by IAM.
19690
+ # **JSON Example**
19691
+ # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
19692
+ # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
19693
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
19694
+ # sean@example.com"] ` ] `
19695
+ # **YAML Example**
19696
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
19697
+ # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
19698
+ # role: roles/owner - members: - user:sean@example.com role: roles/viewer
19699
+ # For a description of IAM and its features, see the [IAM developer's guide](
19700
+ # https://cloud.google.com/iam/docs).
19701
+ # Corresponds to the JSON property `policy`
19702
+ # @return [Google::Apis::ComputeAlpha::Policy]
19703
+ attr_accessor :policy
19704
+
19705
+ def initialize(**args)
19706
+ update!(**args)
19707
+ end
19708
+
19709
+ # Update properties of this object
19710
+ def update!(**args)
19711
+ @bindings = args[:bindings] if args.key?(:bindings)
19712
+ @etag = args[:etag] if args.key?(:etag)
19713
+ @policy = args[:policy] if args.key?(:policy)
19714
+ end
19715
+ end
19716
+
19577
19717
  #
19578
19718
  class RegionUrlMapsValidateRequest
19579
19719
  include Google::Apis::Core::Hashable
@@ -20159,11 +20299,6 @@ module Google
20159
20299
  # @return [Hash<String,String>]
20160
20300
  attr_accessor :labels
20161
20301
 
20162
- # GCS bucket storage location of the auto snapshot (regional or multi-regional).
20163
- # Corresponds to the JSON property `storageLocations`
20164
- # @return [Array<String>]
20165
- attr_accessor :storage_locations
20166
-
20167
20302
  def initialize(**args)
20168
20303
  update!(**args)
20169
20304
  end
@@ -20172,7 +20307,6 @@ module Google
20172
20307
  def update!(**args)
20173
20308
  @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
20174
20309
  @labels = args[:labels] if args.key?(:labels)
20175
- @storage_locations = args[:storage_locations] if args.key?(:storage_locations)
20176
20310
  end
20177
20311
  end
20178
20312
 
@@ -20808,31 +20942,6 @@ module Google
20808
20942
  end
20809
20943
  end
20810
20944
 
20811
- # Description-tagged prefixes for the router to advertise.
20812
- class RouterAdvertisedPrefix
20813
- include Google::Apis::Core::Hashable
20814
-
20815
- # User-specified description for the prefix.
20816
- # Corresponds to the JSON property `description`
20817
- # @return [String]
20818
- attr_accessor :description
20819
-
20820
- # The prefix to advertise. The value must be a CIDR-formatted string.
20821
- # Corresponds to the JSON property `prefix`
20822
- # @return [String]
20823
- attr_accessor :prefix
20824
-
20825
- def initialize(**args)
20826
- update!(**args)
20827
- end
20828
-
20829
- # Update properties of this object
20830
- def update!(**args)
20831
- @description = args[:description] if args.key?(:description)
20832
- @prefix = args[:prefix] if args.key?(:prefix)
20833
- end
20834
- end
20835
-
20836
20945
  # Contains a list of routers.
20837
20946
  class RouterAggregatedList
20838
20947
  include Google::Apis::Core::Hashable
@@ -20975,14 +21084,6 @@ module Google
20975
21084
  # @return [Array<Google::Apis::ComputeAlpha::RouterAdvertisedIpRange>]
20976
21085
  attr_accessor :advertised_ip_ranges
20977
21086
 
20978
- # User-specified list of individual prefixes to advertise in custom mode. This
20979
- # field can only be populated if advertise_mode is CUSTOM and is advertised to
20980
- # all peers of the router. These prefixes will be advertised in addition to any
20981
- # specified groups. Leave this field blank to advertise no custom prefixes.
20982
- # Corresponds to the JSON property `advertisedPrefixs`
20983
- # @return [Array<Google::Apis::ComputeAlpha::RouterAdvertisedPrefix>]
20984
- attr_accessor :advertised_prefixs
20985
-
20986
21087
  # Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN,
20987
21088
  # either 16-bit or 32-bit. The value will be fixed for this router resource. All
20988
21089
  # VPN tunnels that link to this router will have the same local ASN.
@@ -20999,7 +21100,6 @@ module Google
20999
21100
  @advertise_mode = args[:advertise_mode] if args.key?(:advertise_mode)
21000
21101
  @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
21001
21102
  @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
21002
- @advertised_prefixs = args[:advertised_prefixs] if args.key?(:advertised_prefixs)
21003
21103
  @asn = args[:asn] if args.key?(:asn)
21004
21104
  end
21005
21105
  end
@@ -21031,15 +21131,6 @@ module Google
21031
21131
  # @return [Array<Google::Apis::ComputeAlpha::RouterAdvertisedIpRange>]
21032
21132
  attr_accessor :advertised_ip_ranges
21033
21133
 
21034
- # User-specified list of individual prefixes to advertise in custom mode. This
21035
- # field can only be populated if advertise_mode is CUSTOM and overrides the list
21036
- # defined for the router (in Bgp message). These prefixes will be advertised in
21037
- # addition to any specified groups. Leave this field blank to advertise no
21038
- # custom prefixes.
21039
- # Corresponds to the JSON property `advertisedPrefixs`
21040
- # @return [Array<Google::Apis::ComputeAlpha::RouterAdvertisedPrefix>]
21041
- attr_accessor :advertised_prefixs
21042
-
21043
21134
  # The priority of routes advertised to this BGP peer. In the case where there is
21044
21135
  # more than one matching route of maximum length, the routes with lowest
21045
21136
  # priority value win.
@@ -21093,7 +21184,6 @@ module Google
21093
21184
  @advertise_mode = args[:advertise_mode] if args.key?(:advertise_mode)
21094
21185
  @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
21095
21186
  @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
21096
- @advertised_prefixs = args[:advertised_prefixs] if args.key?(:advertised_prefixs)
21097
21187
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
21098
21188
  @interface_name = args[:interface_name] if args.key?(:interface_name)
21099
21189
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -21895,6 +21985,44 @@ module Google
21895
21985
  end
21896
21986
  end
21897
21987
 
21988
+ #
21989
+ class SecurityPoliciesListPreconfiguredExpressionSetsResponse
21990
+ include Google::Apis::Core::Hashable
21991
+
21992
+ #
21993
+ # Corresponds to the JSON property `preconfiguredExpressionSets`
21994
+ # @return [Google::Apis::ComputeAlpha::SecurityPoliciesWafConfig]
21995
+ attr_accessor :preconfigured_expression_sets
21996
+
21997
+ def initialize(**args)
21998
+ update!(**args)
21999
+ end
22000
+
22001
+ # Update properties of this object
22002
+ def update!(**args)
22003
+ @preconfigured_expression_sets = args[:preconfigured_expression_sets] if args.key?(:preconfigured_expression_sets)
22004
+ end
22005
+ end
22006
+
22007
+ #
22008
+ class SecurityPoliciesWafConfig
22009
+ include Google::Apis::Core::Hashable
22010
+
22011
+ #
22012
+ # Corresponds to the JSON property `wafRules`
22013
+ # @return [Google::Apis::ComputeAlpha::PreconfiguredWafSet]
22014
+ attr_accessor :waf_rules
22015
+
22016
+ def initialize(**args)
22017
+ update!(**args)
22018
+ end
22019
+
22020
+ # Update properties of this object
22021
+ def update!(**args)
22022
+ @waf_rules = args[:waf_rules] if args.key?(:waf_rules)
22023
+ end
22024
+ end
22025
+
21898
22026
  # A security policy is comprised of one or more rules. It can also be associated
21899
22027
  # with one or more 'targets'.
21900
22028
  class SecurityPolicy
@@ -27315,9 +27443,8 @@ module Google
27315
27443
  end
27316
27444
  end
27317
27445
 
27318
- # VPN tunnel resource. (== resource_for beta.vpnTunnels ==) (== resource_for v1.
27319
- # vpnTunnels ==)
27320
- class VpnTunnel
27446
+ # Represents a VPN gateway resource.
27447
+ class VpnGateway
27321
27448
  include Google::Apis::Core::Hashable
27322
27449
 
27323
27450
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -27331,53 +27458,35 @@ module Google
27331
27458
  # @return [String]
27332
27459
  attr_accessor :description
27333
27460
 
27334
- # [Output Only] Detailed status message for the VPN tunnel.
27335
- # Corresponds to the JSON property `detailedStatus`
27336
- # @return [String]
27337
- attr_accessor :detailed_status
27338
-
27339
27461
  # [Output Only] The unique identifier for the resource. This identifier is
27340
27462
  # defined by the server.
27341
27463
  # Corresponds to the JSON property `id`
27342
27464
  # @return [Fixnum]
27343
27465
  attr_accessor :id
27344
27466
 
27345
- # IKE protocol version to use when establishing the VPN tunnel with peer VPN
27346
- # gateway. Acceptable IKE versions are 1 or 2. Default version is 2.
27347
- # Corresponds to the JSON property `ikeVersion`
27348
- # @return [Fixnum]
27349
- attr_accessor :ike_version
27350
-
27351
- # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.
27467
+ # [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
27352
27468
  # Corresponds to the JSON property `kind`
27353
27469
  # @return [String]
27354
27470
  attr_accessor :kind
27355
27471
 
27356
- # A fingerprint for the labels being applied to this VpnTunnel, which is
27472
+ # A fingerprint for the labels being applied to this VpnGateway, which is
27357
27473
  # essentially a hash of the labels set used for optimistic locking. The
27358
27474
  # fingerprint is initially generated by Compute Engine and changes after every
27359
27475
  # request to modify or update labels. You must always provide an up-to-date
27360
27476
  # fingerprint hash in order to update or change labels.
27361
- # To see the latest fingerprint, make a get() request to retrieve a VpnTunnel.
27477
+ # To see the latest fingerprint, make a get() request to retrieve an VpnGateway.
27362
27478
  # Corresponds to the JSON property `labelFingerprint`
27363
27479
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
27364
27480
  # @return [String]
27365
27481
  attr_accessor :label_fingerprint
27366
27482
 
27367
- # Labels to apply to this VpnTunnel. These can be later modified by the
27368
- # setLabels method. Each label key/value pair must comply with RFC1035. Label
27483
+ # Labels to apply to this VpnGateway resource. These can be later modified by
27484
+ # the setLabels method. Each label key/value must comply with RFC1035. Label
27369
27485
  # values may be empty.
27370
27486
  # Corresponds to the JSON property `labels`
27371
27487
  # @return [Hash<String,String>]
27372
27488
  attr_accessor :labels
27373
27489
 
27374
- # Local traffic selector to use when establishing the VPN tunnel with peer VPN
27375
- # gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/
27376
- # 16. The ranges should be disjoint. Only IPv4 is supported.
27377
- # Corresponds to the JSON property `localTrafficSelector`
27378
- # @return [Array<String>]
27379
- attr_accessor :local_traffic_selector
27380
-
27381
27490
  # Name of the resource. Provided by the client when the resource is created. The
27382
27491
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
27383
27492
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -27388,56 +27497,38 @@ module Google
27388
27497
  # @return [String]
27389
27498
  attr_accessor :name
27390
27499
 
27391
- # IP address of the peer VPN gateway. Only IPv4 is supported.
27392
- # Corresponds to the JSON property `peerIp`
27500
+ # URL of the network to which this VPN gateway is attached. Provided by the
27501
+ # client when the VPN gateway is created.
27502
+ # Corresponds to the JSON property `network`
27393
27503
  # @return [String]
27394
- attr_accessor :peer_ip
27504
+ attr_accessor :network
27395
27505
 
27396
- # [Output Only] URL of the region where the VPN tunnel resides. You must specify
27397
- # this field as part of the HTTP request URL. It is not settable as a field in
27398
- # the request body.
27399
- # Corresponds to the JSON property `region`
27506
+ # The redundancy mode configured for this VPN gateway. Possible values are
27507
+ # ACTIVE_ACTIVE and NONE. If set to ACTIVE_ACTIVE, two VPN interfaces are
27508
+ # created thereby providing higher availability. If set to NONE, only one
27509
+ # interface is created with a lower availability SLA.
27510
+ # If this field is specified, either 2 or 1 external IP addresses (depending on
27511
+ # the value of specified redundancy) are automatically allocated for use with
27512
+ # this VPN gateway, and incoming traffic on the external addresses to ports ESP,
27513
+ # UDP:500 and UDP:4500 are automatically forwarded to this gateway.
27514
+ # Corresponds to the JSON property `redundancy`
27400
27515
  # @return [String]
27401
- attr_accessor :region
27402
-
27403
- # Remote traffic selectors to use when establishing the VPN tunnel with peer VPN
27404
- # gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/
27405
- # 16. The ranges should be disjoint. Only IPv4 is supported.
27406
- # Corresponds to the JSON property `remoteTrafficSelector`
27407
- # @return [Array<String>]
27408
- attr_accessor :remote_traffic_selector
27516
+ attr_accessor :redundancy
27409
27517
 
27410
- # URL of router resource to be used for dynamic routing.
27411
- # Corresponds to the JSON property `router`
27518
+ # [Output Only] URL of the region where the VPN gateway resides.
27519
+ # Corresponds to the JSON property `region`
27412
27520
  # @return [String]
27413
- attr_accessor :router
27521
+ attr_accessor :region
27414
27522
 
27415
27523
  # [Output Only] Server-defined URL for the resource.
27416
27524
  # Corresponds to the JSON property `selfLink`
27417
27525
  # @return [String]
27418
27526
  attr_accessor :self_link
27419
27527
 
27420
- # Shared secret used to set the secure session between the Cloud VPN gateway and
27421
- # the peer VPN gateway.
27422
- # Corresponds to the JSON property `sharedSecret`
27423
- # @return [String]
27424
- attr_accessor :shared_secret
27425
-
27426
- # Hash of the shared secret.
27427
- # Corresponds to the JSON property `sharedSecretHash`
27428
- # @return [String]
27429
- attr_accessor :shared_secret_hash
27430
-
27431
- # [Output Only] The status of the VPN tunnel.
27432
- # Corresponds to the JSON property `status`
27433
- # @return [String]
27434
- attr_accessor :status
27435
-
27436
- # URL of the Target VPN gateway with which this VPN tunnel is associated.
27437
- # Provided by the client when the VPN tunnel is created.
27438
- # Corresponds to the JSON property `targetVpnGateway`
27439
- # @return [String]
27440
- attr_accessor :target_vpn_gateway
27528
+ # [Output Only] A list of interfaces on this VPN gateway.
27529
+ # Corresponds to the JSON property `vpnInterfaces`
27530
+ # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayVpnGatewayInterface>]
27531
+ attr_accessor :vpn_interfaces
27441
27532
 
27442
27533
  def initialize(**args)
27443
27534
  update!(**args)
@@ -27447,28 +27538,21 @@ module Google
27447
27538
  def update!(**args)
27448
27539
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
27449
27540
  @description = args[:description] if args.key?(:description)
27450
- @detailed_status = args[:detailed_status] if args.key?(:detailed_status)
27451
27541
  @id = args[:id] if args.key?(:id)
27452
- @ike_version = args[:ike_version] if args.key?(:ike_version)
27453
27542
  @kind = args[:kind] if args.key?(:kind)
27454
27543
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
27455
27544
  @labels = args[:labels] if args.key?(:labels)
27456
- @local_traffic_selector = args[:local_traffic_selector] if args.key?(:local_traffic_selector)
27457
27545
  @name = args[:name] if args.key?(:name)
27458
- @peer_ip = args[:peer_ip] if args.key?(:peer_ip)
27546
+ @network = args[:network] if args.key?(:network)
27547
+ @redundancy = args[:redundancy] if args.key?(:redundancy)
27459
27548
  @region = args[:region] if args.key?(:region)
27460
- @remote_traffic_selector = args[:remote_traffic_selector] if args.key?(:remote_traffic_selector)
27461
- @router = args[:router] if args.key?(:router)
27462
27549
  @self_link = args[:self_link] if args.key?(:self_link)
27463
- @shared_secret = args[:shared_secret] if args.key?(:shared_secret)
27464
- @shared_secret_hash = args[:shared_secret_hash] if args.key?(:shared_secret_hash)
27465
- @status = args[:status] if args.key?(:status)
27466
- @target_vpn_gateway = args[:target_vpn_gateway] if args.key?(:target_vpn_gateway)
27550
+ @vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
27467
27551
  end
27468
27552
  end
27469
27553
 
27470
27554
  #
27471
- class VpnTunnelAggregatedList
27555
+ class VpnGatewayAggregatedList
27472
27556
  include Google::Apis::Core::Hashable
27473
27557
 
27474
27558
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -27476,12 +27560,12 @@ module Google
27476
27560
  # @return [String]
27477
27561
  attr_accessor :id
27478
27562
 
27479
- # A list of VpnTunnelsScopedList resources.
27563
+ # A list of VpnGateway resources.
27480
27564
  # Corresponds to the JSON property `items`
27481
- # @return [Hash<String,Google::Apis::ComputeAlpha::VpnTunnelsScopedList>]
27565
+ # @return [Hash<String,Google::Apis::ComputeAlpha::VpnGatewaysScopedList>]
27482
27566
  attr_accessor :items
27483
27567
 
27484
- # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.
27568
+ # [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
27485
27569
  # Corresponds to the JSON property `kind`
27486
27570
  # @return [String]
27487
27571
  attr_accessor :kind
@@ -27502,7 +27586,7 @@ module Google
27502
27586
 
27503
27587
  # [Output Only] Informational warning message.
27504
27588
  # Corresponds to the JSON property `warning`
27505
- # @return [Google::Apis::ComputeAlpha::VpnTunnelAggregatedList::Warning]
27589
+ # @return [Google::Apis::ComputeAlpha::VpnGatewayAggregatedList::Warning]
27506
27590
  attr_accessor :warning
27507
27591
 
27508
27592
  def initialize(**args)
@@ -27532,7 +27616,7 @@ module Google
27532
27616
  # [Output Only] Metadata about this warning in key: value format. For example:
27533
27617
  # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
27534
27618
  # Corresponds to the JSON property `data`
27535
- # @return [Array<Google::Apis::ComputeAlpha::VpnTunnelAggregatedList::Warning::Datum>]
27619
+ # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayAggregatedList::Warning::Datum>]
27536
27620
  attr_accessor :data
27537
27621
 
27538
27622
  # [Output Only] A human-readable description of the warning code.
@@ -27584,8 +27668,8 @@ module Google
27584
27668
  end
27585
27669
  end
27586
27670
 
27587
- # Contains a list of VpnTunnel resources.
27588
- class VpnTunnelList
27671
+ # Contains a list of VpnGateway resources.
27672
+ class VpnGatewayList
27589
27673
  include Google::Apis::Core::Hashable
27590
27674
 
27591
27675
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -27593,12 +27677,12 @@ module Google
27593
27677
  # @return [String]
27594
27678
  attr_accessor :id
27595
27679
 
27596
- # A list of VpnTunnel resources.
27680
+ # A list of VpnGateway resources.
27597
27681
  # Corresponds to the JSON property `items`
27598
- # @return [Array<Google::Apis::ComputeAlpha::VpnTunnel>]
27682
+ # @return [Array<Google::Apis::ComputeAlpha::VpnGateway>]
27599
27683
  attr_accessor :items
27600
27684
 
27601
- # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.
27685
+ # [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
27602
27686
  # Corresponds to the JSON property `kind`
27603
27687
  # @return [String]
27604
27688
  attr_accessor :kind
@@ -27619,7 +27703,7 @@ module Google
27619
27703
 
27620
27704
  # [Output Only] Informational warning message.
27621
27705
  # Corresponds to the JSON property `warning`
27622
- # @return [Google::Apis::ComputeAlpha::VpnTunnelList::Warning]
27706
+ # @return [Google::Apis::ComputeAlpha::VpnGatewayList::Warning]
27623
27707
  attr_accessor :warning
27624
27708
 
27625
27709
  def initialize(**args)
@@ -27649,7 +27733,7 @@ module Google
27649
27733
  # [Output Only] Metadata about this warning in key: value format. For example:
27650
27734
  # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
27651
27735
  # Corresponds to the JSON property `data`
27652
- # @return [Array<Google::Apis::ComputeAlpha::VpnTunnelList::Warning::Datum>]
27736
+ # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayList::Warning::Datum>]
27653
27737
  attr_accessor :data
27654
27738
 
27655
27739
  # [Output Only] A human-readable description of the warning code.
@@ -27701,20 +27785,19 @@ module Google
27701
27785
  end
27702
27786
  end
27703
27787
 
27704
- #
27705
- class VpnTunnelsScopedList
27788
+ # A VPN gateway interface.
27789
+ class VpnGatewayVpnGatewayInterface
27706
27790
  include Google::Apis::Core::Hashable
27707
27791
 
27708
- # A list of vpn tunnels contained in this scope.
27709
- # Corresponds to the JSON property `vpnTunnels`
27710
- # @return [Array<Google::Apis::ComputeAlpha::VpnTunnel>]
27711
- attr_accessor :vpn_tunnels
27792
+ # The numeric ID of this VPN gateway interface.
27793
+ # Corresponds to the JSON property `id`
27794
+ # @return [Fixnum]
27795
+ attr_accessor :id
27712
27796
 
27713
- # Informational warning which replaces the list of addresses when the list is
27714
- # empty.
27715
- # Corresponds to the JSON property `warning`
27716
- # @return [Google::Apis::ComputeAlpha::VpnTunnelsScopedList::Warning]
27717
- attr_accessor :warning
27797
+ # The external IP address for this VPN gateway interface.
27798
+ # Corresponds to the JSON property `ipAddress`
27799
+ # @return [String]
27800
+ attr_accessor :ip_address
27718
27801
 
27719
27802
  def initialize(**args)
27720
27803
  update!(**args)
@@ -27722,16 +27805,536 @@ module Google
27722
27805
 
27723
27806
  # Update properties of this object
27724
27807
  def update!(**args)
27725
- @vpn_tunnels = args[:vpn_tunnels] if args.key?(:vpn_tunnels)
27726
- @warning = args[:warning] if args.key?(:warning)
27808
+ @id = args[:id] if args.key?(:id)
27809
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
27727
27810
  end
27728
-
27729
- # Informational warning which replaces the list of addresses when the list is
27730
- # empty.
27731
- class Warning
27732
- include Google::Apis::Core::Hashable
27733
-
27734
- # [Output Only] A warning code, if applicable. For example, Compute Engine
27811
+ end
27812
+
27813
+ #
27814
+ class VpnGatewaysScopedList
27815
+ include Google::Apis::Core::Hashable
27816
+
27817
+ # [Output Only] A list of VPN gateways contained in this scope.
27818
+ # Corresponds to the JSON property `vpnGateways`
27819
+ # @return [Array<Google::Apis::ComputeAlpha::VpnGateway>]
27820
+ attr_accessor :vpn_gateways
27821
+
27822
+ # [Output Only] Informational warning which replaces the list of addresses when
27823
+ # the list is empty.
27824
+ # Corresponds to the JSON property `warning`
27825
+ # @return [Google::Apis::ComputeAlpha::VpnGatewaysScopedList::Warning]
27826
+ attr_accessor :warning
27827
+
27828
+ def initialize(**args)
27829
+ update!(**args)
27830
+ end
27831
+
27832
+ # Update properties of this object
27833
+ def update!(**args)
27834
+ @vpn_gateways = args[:vpn_gateways] if args.key?(:vpn_gateways)
27835
+ @warning = args[:warning] if args.key?(:warning)
27836
+ end
27837
+
27838
+ # [Output Only] Informational warning which replaces the list of addresses when
27839
+ # the list is empty.
27840
+ class Warning
27841
+ include Google::Apis::Core::Hashable
27842
+
27843
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
27844
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
27845
+ # Corresponds to the JSON property `code`
27846
+ # @return [String]
27847
+ attr_accessor :code
27848
+
27849
+ # [Output Only] Metadata about this warning in key: value format. For example:
27850
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
27851
+ # Corresponds to the JSON property `data`
27852
+ # @return [Array<Google::Apis::ComputeAlpha::VpnGatewaysScopedList::Warning::Datum>]
27853
+ attr_accessor :data
27854
+
27855
+ # [Output Only] A human-readable description of the warning code.
27856
+ # Corresponds to the JSON property `message`
27857
+ # @return [String]
27858
+ attr_accessor :message
27859
+
27860
+ def initialize(**args)
27861
+ update!(**args)
27862
+ end
27863
+
27864
+ # Update properties of this object
27865
+ def update!(**args)
27866
+ @code = args[:code] if args.key?(:code)
27867
+ @data = args[:data] if args.key?(:data)
27868
+ @message = args[:message] if args.key?(:message)
27869
+ end
27870
+
27871
+ #
27872
+ class Datum
27873
+ include Google::Apis::Core::Hashable
27874
+
27875
+ # [Output Only] A key that provides more detail on the warning being returned.
27876
+ # For example, for warnings where there are no results in a list request for a
27877
+ # particular zone, this key might be scope and the key value might be the zone
27878
+ # name. Other examples might be a key indicating a deprecated resource and a
27879
+ # suggested replacement, or a warning about invalid network settings (for
27880
+ # example, if an instance attempts to perform IP forwarding but is not enabled
27881
+ # for IP forwarding).
27882
+ # Corresponds to the JSON property `key`
27883
+ # @return [String]
27884
+ attr_accessor :key
27885
+
27886
+ # [Output Only] A warning data value corresponding to the key.
27887
+ # Corresponds to the JSON property `value`
27888
+ # @return [String]
27889
+ attr_accessor :value
27890
+
27891
+ def initialize(**args)
27892
+ update!(**args)
27893
+ end
27894
+
27895
+ # Update properties of this object
27896
+ def update!(**args)
27897
+ @key = args[:key] if args.key?(:key)
27898
+ @value = args[:value] if args.key?(:value)
27899
+ end
27900
+ end
27901
+ end
27902
+ end
27903
+
27904
+ # VPN tunnel resource. (== resource_for beta.vpnTunnels ==) (== resource_for v1.
27905
+ # vpnTunnels ==)
27906
+ class VpnTunnel
27907
+ include Google::Apis::Core::Hashable
27908
+
27909
+ # [Output Only] Creation timestamp in RFC3339 text format.
27910
+ # Corresponds to the JSON property `creationTimestamp`
27911
+ # @return [String]
27912
+ attr_accessor :creation_timestamp
27913
+
27914
+ # An optional description of this resource. Provide this property when you
27915
+ # create the resource.
27916
+ # Corresponds to the JSON property `description`
27917
+ # @return [String]
27918
+ attr_accessor :description
27919
+
27920
+ # [Output Only] Detailed status message for the VPN tunnel.
27921
+ # Corresponds to the JSON property `detailedStatus`
27922
+ # @return [String]
27923
+ attr_accessor :detailed_status
27924
+
27925
+ # [Output Only] The unique identifier for the resource. This identifier is
27926
+ # defined by the server.
27927
+ # Corresponds to the JSON property `id`
27928
+ # @return [Fixnum]
27929
+ attr_accessor :id
27930
+
27931
+ # IKE protocol version to use when establishing the VPN tunnel with peer VPN
27932
+ # gateway. Acceptable IKE versions are 1 or 2. Default version is 2.
27933
+ # Corresponds to the JSON property `ikeVersion`
27934
+ # @return [Fixnum]
27935
+ attr_accessor :ike_version
27936
+
27937
+ # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.
27938
+ # Corresponds to the JSON property `kind`
27939
+ # @return [String]
27940
+ attr_accessor :kind
27941
+
27942
+ # A fingerprint for the labels being applied to this VpnTunnel, which is
27943
+ # essentially a hash of the labels set used for optimistic locking. The
27944
+ # fingerprint is initially generated by Compute Engine and changes after every
27945
+ # request to modify or update labels. You must always provide an up-to-date
27946
+ # fingerprint hash in order to update or change labels.
27947
+ # To see the latest fingerprint, make a get() request to retrieve a VpnTunnel.
27948
+ # Corresponds to the JSON property `labelFingerprint`
27949
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
27950
+ # @return [String]
27951
+ attr_accessor :label_fingerprint
27952
+
27953
+ # Labels to apply to this VpnTunnel. These can be later modified by the
27954
+ # setLabels method. Each label key/value pair must comply with RFC1035. Label
27955
+ # values may be empty.
27956
+ # Corresponds to the JSON property `labels`
27957
+ # @return [Hash<String,String>]
27958
+ attr_accessor :labels
27959
+
27960
+ # Local traffic selector to use when establishing the VPN tunnel with peer VPN
27961
+ # gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/
27962
+ # 16. The ranges should be disjoint. Only IPv4 is supported.
27963
+ # Corresponds to the JSON property `localTrafficSelector`
27964
+ # @return [Array<String>]
27965
+ attr_accessor :local_traffic_selector
27966
+
27967
+ # Name of the resource. Provided by the client when the resource is created. The
27968
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
27969
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
27970
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
27971
+ # and all following characters must be a dash, lowercase letter, or digit,
27972
+ # except the last character, which cannot be a dash.
27973
+ # Corresponds to the JSON property `name`
27974
+ # @return [String]
27975
+ attr_accessor :name
27976
+
27977
+ # IP address of the peer VPN gateway. Only IPv4 is supported.
27978
+ # Corresponds to the JSON property `peerIp`
27979
+ # @return [String]
27980
+ attr_accessor :peer_ip
27981
+
27982
+ # [Output Only] URL of the region where the VPN tunnel resides. You must specify
27983
+ # this field as part of the HTTP request URL. It is not settable as a field in
27984
+ # the request body.
27985
+ # Corresponds to the JSON property `region`
27986
+ # @return [String]
27987
+ attr_accessor :region
27988
+
27989
+ # Remote traffic selectors to use when establishing the VPN tunnel with peer VPN
27990
+ # gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/
27991
+ # 16. The ranges should be disjoint. Only IPv4 is supported.
27992
+ # Corresponds to the JSON property `remoteTrafficSelector`
27993
+ # @return [Array<String>]
27994
+ attr_accessor :remote_traffic_selector
27995
+
27996
+ # URL of router resource to be used for dynamic routing.
27997
+ # Corresponds to the JSON property `router`
27998
+ # @return [String]
27999
+ attr_accessor :router
28000
+
28001
+ # [Output Only] Server-defined URL for the resource.
28002
+ # Corresponds to the JSON property `selfLink`
28003
+ # @return [String]
28004
+ attr_accessor :self_link
28005
+
28006
+ # Shared secret used to set the secure session between the Cloud VPN gateway and
28007
+ # the peer VPN gateway.
28008
+ # Corresponds to the JSON property `sharedSecret`
28009
+ # @return [String]
28010
+ attr_accessor :shared_secret
28011
+
28012
+ # Hash of the shared secret.
28013
+ # Corresponds to the JSON property `sharedSecretHash`
28014
+ # @return [String]
28015
+ attr_accessor :shared_secret_hash
28016
+
28017
+ # [Output Only] The status of the VPN tunnel.
28018
+ # Corresponds to the JSON property `status`
28019
+ # @return [String]
28020
+ attr_accessor :status
28021
+
28022
+ # URL of the Target VPN gateway with which this VPN tunnel is associated.
28023
+ # Provided by the client when the VPN tunnel is created.
28024
+ # Corresponds to the JSON property `targetVpnGateway`
28025
+ # @return [String]
28026
+ attr_accessor :target_vpn_gateway
28027
+
28028
+ # URL of the VPN gateway with which this VPN tunnel is associated. Provided by
28029
+ # the client when the VPN tunnel is created. This must be used (instead of
28030
+ # target_vpn_gateway) if a VPN gateway resource is created with redundancy.
28031
+ # VPN gateway resource provides a way to create a highly available VPN setup.
28032
+ # Corresponds to the JSON property `vpnGateway`
28033
+ # @return [String]
28034
+ attr_accessor :vpn_gateway
28035
+
28036
+ # The interface ID of the VPN gateway with which this VPN tunnel is associated.
28037
+ # If the VPN gateway has redundancy other than NONE, this field is required to
28038
+ # identify which interface of the VPN gateway to use.
28039
+ # Corresponds to the JSON property `vpnGatewayInterface`
28040
+ # @return [Fixnum]
28041
+ attr_accessor :vpn_gateway_interface
28042
+
28043
+ def initialize(**args)
28044
+ update!(**args)
28045
+ end
28046
+
28047
+ # Update properties of this object
28048
+ def update!(**args)
28049
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
28050
+ @description = args[:description] if args.key?(:description)
28051
+ @detailed_status = args[:detailed_status] if args.key?(:detailed_status)
28052
+ @id = args[:id] if args.key?(:id)
28053
+ @ike_version = args[:ike_version] if args.key?(:ike_version)
28054
+ @kind = args[:kind] if args.key?(:kind)
28055
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
28056
+ @labels = args[:labels] if args.key?(:labels)
28057
+ @local_traffic_selector = args[:local_traffic_selector] if args.key?(:local_traffic_selector)
28058
+ @name = args[:name] if args.key?(:name)
28059
+ @peer_ip = args[:peer_ip] if args.key?(:peer_ip)
28060
+ @region = args[:region] if args.key?(:region)
28061
+ @remote_traffic_selector = args[:remote_traffic_selector] if args.key?(:remote_traffic_selector)
28062
+ @router = args[:router] if args.key?(:router)
28063
+ @self_link = args[:self_link] if args.key?(:self_link)
28064
+ @shared_secret = args[:shared_secret] if args.key?(:shared_secret)
28065
+ @shared_secret_hash = args[:shared_secret_hash] if args.key?(:shared_secret_hash)
28066
+ @status = args[:status] if args.key?(:status)
28067
+ @target_vpn_gateway = args[:target_vpn_gateway] if args.key?(:target_vpn_gateway)
28068
+ @vpn_gateway = args[:vpn_gateway] if args.key?(:vpn_gateway)
28069
+ @vpn_gateway_interface = args[:vpn_gateway_interface] if args.key?(:vpn_gateway_interface)
28070
+ end
28071
+ end
28072
+
28073
+ #
28074
+ class VpnTunnelAggregatedList
28075
+ include Google::Apis::Core::Hashable
28076
+
28077
+ # [Output Only] Unique identifier for the resource; defined by the server.
28078
+ # Corresponds to the JSON property `id`
28079
+ # @return [String]
28080
+ attr_accessor :id
28081
+
28082
+ # A list of VpnTunnelsScopedList resources.
28083
+ # Corresponds to the JSON property `items`
28084
+ # @return [Hash<String,Google::Apis::ComputeAlpha::VpnTunnelsScopedList>]
28085
+ attr_accessor :items
28086
+
28087
+ # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.
28088
+ # Corresponds to the JSON property `kind`
28089
+ # @return [String]
28090
+ attr_accessor :kind
28091
+
28092
+ # [Output Only] This token allows you to get the next page of results for list
28093
+ # requests. If the number of results is larger than maxResults, use the
28094
+ # nextPageToken as a value for the query parameter pageToken in the next list
28095
+ # request. Subsequent list requests will have their own nextPageToken to
28096
+ # continue paging through the results.
28097
+ # Corresponds to the JSON property `nextPageToken`
28098
+ # @return [String]
28099
+ attr_accessor :next_page_token
28100
+
28101
+ # [Output Only] Server-defined URL for this resource.
28102
+ # Corresponds to the JSON property `selfLink`
28103
+ # @return [String]
28104
+ attr_accessor :self_link
28105
+
28106
+ # [Output Only] Informational warning message.
28107
+ # Corresponds to the JSON property `warning`
28108
+ # @return [Google::Apis::ComputeAlpha::VpnTunnelAggregatedList::Warning]
28109
+ attr_accessor :warning
28110
+
28111
+ def initialize(**args)
28112
+ update!(**args)
28113
+ end
28114
+
28115
+ # Update properties of this object
28116
+ def update!(**args)
28117
+ @id = args[:id] if args.key?(:id)
28118
+ @items = args[:items] if args.key?(:items)
28119
+ @kind = args[:kind] if args.key?(:kind)
28120
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
28121
+ @self_link = args[:self_link] if args.key?(:self_link)
28122
+ @warning = args[:warning] if args.key?(:warning)
28123
+ end
28124
+
28125
+ # [Output Only] Informational warning message.
28126
+ class Warning
28127
+ include Google::Apis::Core::Hashable
28128
+
28129
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
28130
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
28131
+ # Corresponds to the JSON property `code`
28132
+ # @return [String]
28133
+ attr_accessor :code
28134
+
28135
+ # [Output Only] Metadata about this warning in key: value format. For example:
28136
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
28137
+ # Corresponds to the JSON property `data`
28138
+ # @return [Array<Google::Apis::ComputeAlpha::VpnTunnelAggregatedList::Warning::Datum>]
28139
+ attr_accessor :data
28140
+
28141
+ # [Output Only] A human-readable description of the warning code.
28142
+ # Corresponds to the JSON property `message`
28143
+ # @return [String]
28144
+ attr_accessor :message
28145
+
28146
+ def initialize(**args)
28147
+ update!(**args)
28148
+ end
28149
+
28150
+ # Update properties of this object
28151
+ def update!(**args)
28152
+ @code = args[:code] if args.key?(:code)
28153
+ @data = args[:data] if args.key?(:data)
28154
+ @message = args[:message] if args.key?(:message)
28155
+ end
28156
+
28157
+ #
28158
+ class Datum
28159
+ include Google::Apis::Core::Hashable
28160
+
28161
+ # [Output Only] A key that provides more detail on the warning being returned.
28162
+ # For example, for warnings where there are no results in a list request for a
28163
+ # particular zone, this key might be scope and the key value might be the zone
28164
+ # name. Other examples might be a key indicating a deprecated resource and a
28165
+ # suggested replacement, or a warning about invalid network settings (for
28166
+ # example, if an instance attempts to perform IP forwarding but is not enabled
28167
+ # for IP forwarding).
28168
+ # Corresponds to the JSON property `key`
28169
+ # @return [String]
28170
+ attr_accessor :key
28171
+
28172
+ # [Output Only] A warning data value corresponding to the key.
28173
+ # Corresponds to the JSON property `value`
28174
+ # @return [String]
28175
+ attr_accessor :value
28176
+
28177
+ def initialize(**args)
28178
+ update!(**args)
28179
+ end
28180
+
28181
+ # Update properties of this object
28182
+ def update!(**args)
28183
+ @key = args[:key] if args.key?(:key)
28184
+ @value = args[:value] if args.key?(:value)
28185
+ end
28186
+ end
28187
+ end
28188
+ end
28189
+
28190
+ # Contains a list of VpnTunnel resources.
28191
+ class VpnTunnelList
28192
+ include Google::Apis::Core::Hashable
28193
+
28194
+ # [Output Only] Unique identifier for the resource; defined by the server.
28195
+ # Corresponds to the JSON property `id`
28196
+ # @return [String]
28197
+ attr_accessor :id
28198
+
28199
+ # A list of VpnTunnel resources.
28200
+ # Corresponds to the JSON property `items`
28201
+ # @return [Array<Google::Apis::ComputeAlpha::VpnTunnel>]
28202
+ attr_accessor :items
28203
+
28204
+ # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.
28205
+ # Corresponds to the JSON property `kind`
28206
+ # @return [String]
28207
+ attr_accessor :kind
28208
+
28209
+ # [Output Only] This token allows you to get the next page of results for list
28210
+ # requests. If the number of results is larger than maxResults, use the
28211
+ # nextPageToken as a value for the query parameter pageToken in the next list
28212
+ # request. Subsequent list requests will have their own nextPageToken to
28213
+ # continue paging through the results.
28214
+ # Corresponds to the JSON property `nextPageToken`
28215
+ # @return [String]
28216
+ attr_accessor :next_page_token
28217
+
28218
+ # [Output Only] Server-defined URL for this resource.
28219
+ # Corresponds to the JSON property `selfLink`
28220
+ # @return [String]
28221
+ attr_accessor :self_link
28222
+
28223
+ # [Output Only] Informational warning message.
28224
+ # Corresponds to the JSON property `warning`
28225
+ # @return [Google::Apis::ComputeAlpha::VpnTunnelList::Warning]
28226
+ attr_accessor :warning
28227
+
28228
+ def initialize(**args)
28229
+ update!(**args)
28230
+ end
28231
+
28232
+ # Update properties of this object
28233
+ def update!(**args)
28234
+ @id = args[:id] if args.key?(:id)
28235
+ @items = args[:items] if args.key?(:items)
28236
+ @kind = args[:kind] if args.key?(:kind)
28237
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
28238
+ @self_link = args[:self_link] if args.key?(:self_link)
28239
+ @warning = args[:warning] if args.key?(:warning)
28240
+ end
28241
+
28242
+ # [Output Only] Informational warning message.
28243
+ class Warning
28244
+ include Google::Apis::Core::Hashable
28245
+
28246
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
28247
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
28248
+ # Corresponds to the JSON property `code`
28249
+ # @return [String]
28250
+ attr_accessor :code
28251
+
28252
+ # [Output Only] Metadata about this warning in key: value format. For example:
28253
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
28254
+ # Corresponds to the JSON property `data`
28255
+ # @return [Array<Google::Apis::ComputeAlpha::VpnTunnelList::Warning::Datum>]
28256
+ attr_accessor :data
28257
+
28258
+ # [Output Only] A human-readable description of the warning code.
28259
+ # Corresponds to the JSON property `message`
28260
+ # @return [String]
28261
+ attr_accessor :message
28262
+
28263
+ def initialize(**args)
28264
+ update!(**args)
28265
+ end
28266
+
28267
+ # Update properties of this object
28268
+ def update!(**args)
28269
+ @code = args[:code] if args.key?(:code)
28270
+ @data = args[:data] if args.key?(:data)
28271
+ @message = args[:message] if args.key?(:message)
28272
+ end
28273
+
28274
+ #
28275
+ class Datum
28276
+ include Google::Apis::Core::Hashable
28277
+
28278
+ # [Output Only] A key that provides more detail on the warning being returned.
28279
+ # For example, for warnings where there are no results in a list request for a
28280
+ # particular zone, this key might be scope and the key value might be the zone
28281
+ # name. Other examples might be a key indicating a deprecated resource and a
28282
+ # suggested replacement, or a warning about invalid network settings (for
28283
+ # example, if an instance attempts to perform IP forwarding but is not enabled
28284
+ # for IP forwarding).
28285
+ # Corresponds to the JSON property `key`
28286
+ # @return [String]
28287
+ attr_accessor :key
28288
+
28289
+ # [Output Only] A warning data value corresponding to the key.
28290
+ # Corresponds to the JSON property `value`
28291
+ # @return [String]
28292
+ attr_accessor :value
28293
+
28294
+ def initialize(**args)
28295
+ update!(**args)
28296
+ end
28297
+
28298
+ # Update properties of this object
28299
+ def update!(**args)
28300
+ @key = args[:key] if args.key?(:key)
28301
+ @value = args[:value] if args.key?(:value)
28302
+ end
28303
+ end
28304
+ end
28305
+ end
28306
+
28307
+ #
28308
+ class VpnTunnelsScopedList
28309
+ include Google::Apis::Core::Hashable
28310
+
28311
+ # A list of vpn tunnels contained in this scope.
28312
+ # Corresponds to the JSON property `vpnTunnels`
28313
+ # @return [Array<Google::Apis::ComputeAlpha::VpnTunnel>]
28314
+ attr_accessor :vpn_tunnels
28315
+
28316
+ # Informational warning which replaces the list of addresses when the list is
28317
+ # empty.
28318
+ # Corresponds to the JSON property `warning`
28319
+ # @return [Google::Apis::ComputeAlpha::VpnTunnelsScopedList::Warning]
28320
+ attr_accessor :warning
28321
+
28322
+ def initialize(**args)
28323
+ update!(**args)
28324
+ end
28325
+
28326
+ # Update properties of this object
28327
+ def update!(**args)
28328
+ @vpn_tunnels = args[:vpn_tunnels] if args.key?(:vpn_tunnels)
28329
+ @warning = args[:warning] if args.key?(:warning)
28330
+ end
28331
+
28332
+ # Informational warning which replaces the list of addresses when the list is
28333
+ # empty.
28334
+ class Warning
28335
+ include Google::Apis::Core::Hashable
28336
+
28337
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
27735
28338
  # returns NO_RESULTS_ON_PAGE if there are no results in the response.
27736
28339
  # Corresponds to the JSON property `code`
27737
28340
  # @return [String]
@@ -27792,6 +28395,63 @@ module Google
27792
28395
  end
27793
28396
  end
27794
28397
 
28398
+ #
28399
+ class WafExpressionSet
28400
+ include Google::Apis::Core::Hashable
28401
+
28402
+ # A list of alternate IDs. The format should be: - E.g. XSS-stable Generic
28403
+ # suffix like "stable" is particularly useful if a policy likes to avail newer
28404
+ # set of expressions without having to change the policy. A given alias name can'
28405
+ # t be used for more than one entity set.
28406
+ # Corresponds to the JSON property `aliases`
28407
+ # @return [Array<String>]
28408
+ attr_accessor :aliases
28409
+
28410
+ # List of available expressions.
28411
+ # Corresponds to the JSON property `expressions`
28412
+ # @return [Array<Google::Apis::ComputeAlpha::WafExpressionSetExpression>]
28413
+ attr_accessor :expressions
28414
+
28415
+ # Google specified expression set ID. The format should be: - E.g. XSS-20170329
28416
+ # Corresponds to the JSON property `id`
28417
+ # @return [String]
28418
+ attr_accessor :id
28419
+
28420
+ def initialize(**args)
28421
+ update!(**args)
28422
+ end
28423
+
28424
+ # Update properties of this object
28425
+ def update!(**args)
28426
+ @aliases = args[:aliases] if args.key?(:aliases)
28427
+ @expressions = args[:expressions] if args.key?(:expressions)
28428
+ @id = args[:id] if args.key?(:id)
28429
+ end
28430
+ end
28431
+
28432
+ #
28433
+ class WafExpressionSetExpression
28434
+ include Google::Apis::Core::Hashable
28435
+
28436
+ # Expression ID should uniquely identify the origin of the expression. E.g.
28437
+ # owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 rule
28438
+ # id 973337. The ID could be used to determine the individual attack definition
28439
+ # that has been detected. It could also be used to exclude it from the policy in
28440
+ # case of false positive.
28441
+ # Corresponds to the JSON property `id`
28442
+ # @return [String]
28443
+ attr_accessor :id
28444
+
28445
+ def initialize(**args)
28446
+ update!(**args)
28447
+ end
28448
+
28449
+ # Update properties of this object
28450
+ def update!(**args)
28451
+ @id = args[:id] if args.key?(:id)
28452
+ end
28453
+ end
28454
+
27795
28455
  #
27796
28456
  class XpnHostList
27797
28457
  include Google::Apis::Core::Hashable
@@ -28156,6 +28816,56 @@ module Google
28156
28816
  @labels = args[:labels] if args.key?(:labels)
28157
28817
  end
28158
28818
  end
28819
+
28820
+ #
28821
+ class ZoneSetPolicyRequest
28822
+ include Google::Apis::Core::Hashable
28823
+
28824
+ # Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use '
28825
+ # policy' to specify bindings.
28826
+ # Corresponds to the JSON property `bindings`
28827
+ # @return [Array<Google::Apis::ComputeAlpha::Binding>]
28828
+ attr_accessor :bindings
28829
+
28830
+ # Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
28831
+ # policy' to specify the etag.
28832
+ # Corresponds to the JSON property `etag`
28833
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
28834
+ # @return [String]
28835
+ attr_accessor :etag
28836
+
28837
+ # Defines an Identity and Access Management (IAM) policy. It is used to specify
28838
+ # access control policies for Cloud Platform resources.
28839
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
28840
+ # members` to a `role`, where the members can be user accounts, Google groups,
28841
+ # Google domains, and service accounts. A `role` is a named list of permissions
28842
+ # defined by IAM.
28843
+ # **JSON Example**
28844
+ # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
28845
+ # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
28846
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
28847
+ # sean@example.com"] ` ] `
28848
+ # **YAML Example**
28849
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
28850
+ # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
28851
+ # role: roles/owner - members: - user:sean@example.com role: roles/viewer
28852
+ # For a description of IAM and its features, see the [IAM developer's guide](
28853
+ # https://cloud.google.com/iam/docs).
28854
+ # Corresponds to the JSON property `policy`
28855
+ # @return [Google::Apis::ComputeAlpha::Policy]
28856
+ attr_accessor :policy
28857
+
28858
+ def initialize(**args)
28859
+ update!(**args)
28860
+ end
28861
+
28862
+ # Update properties of this object
28863
+ def update!(**args)
28864
+ @bindings = args[:bindings] if args.key?(:bindings)
28865
+ @etag = args[:etag] if args.key?(:etag)
28866
+ @policy = args[:policy] if args.key?(:policy)
28867
+ end
28868
+ end
28159
28869
  end
28160
28870
  end
28161
28871
  end