google-api-client 0.21.0 → 0.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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