google-api-client 0.9.8 → 0.9.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  4. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +76 -1
  5. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +22 -0
  6. data/generated/google/apis/adsense_v1_4.rb +1 -1
  7. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  8. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  9. data/generated/google/apis/analyticsreporting_v4/classes.rb +32 -14
  10. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  11. data/generated/google/apis/androidenterprise_v1/classes.rb +1 -1
  12. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  13. data/generated/google/apis/appstate_v1.rb +1 -1
  14. data/generated/google/apis/bigquery_v2.rb +1 -1
  15. data/generated/google/apis/bigquery_v2/classes.rb +10 -0
  16. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  17. data/generated/google/apis/calendar_v3.rb +1 -1
  18. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  19. data/generated/google/apis/clouddebugger_v2/service.rb +2 -2
  20. data/generated/google/apis/compute_beta.rb +1 -1
  21. data/generated/google/apis/compute_beta/classes.rb +28 -5
  22. data/generated/google/apis/compute_beta/representations.rb +3 -0
  23. data/generated/google/apis/compute_beta/service.rb +1 -2
  24. data/generated/google/apis/compute_v1.rb +1 -1
  25. data/generated/google/apis/compute_v1/classes.rb +680 -4
  26. data/generated/google/apis/compute_v1/representations.rb +274 -0
  27. data/generated/google/apis/compute_v1/service.rb +442 -2
  28. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  29. data/generated/google/apis/dns_v1.rb +1 -1
  30. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  31. data/generated/google/apis/drive_v2.rb +1 -1
  32. data/generated/google/apis/drive_v2/classes.rb +6 -0
  33. data/generated/google/apis/drive_v2/representations.rb +2 -0
  34. data/generated/google/apis/drive_v2/service.rb +8 -2
  35. data/generated/google/apis/drive_v3.rb +1 -1
  36. data/generated/google/apis/drive_v3/classes.rb +6 -0
  37. data/generated/google/apis/drive_v3/representations.rb +2 -0
  38. data/generated/google/apis/drive_v3/service.rb +4 -1
  39. data/generated/google/apis/fusiontables_v2.rb +1 -1
  40. data/generated/google/apis/fusiontables_v2/classes.rb +4 -3
  41. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  42. data/generated/google/apis/games_management_v1management.rb +1 -1
  43. data/generated/google/apis/games_v1.rb +1 -1
  44. data/generated/google/apis/genomics_v1.rb +1 -1
  45. data/generated/google/apis/genomics_v1/classes.rb +63 -0
  46. data/generated/google/apis/genomics_v1/representations.rb +31 -0
  47. data/generated/google/apis/gmail_v1.rb +1 -1
  48. data/generated/google/apis/groupssettings_v1.rb +1 -1
  49. data/generated/google/apis/groupssettings_v1/classes.rb +12 -0
  50. data/generated/google/apis/groupssettings_v1/representations.rb +2 -0
  51. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  52. data/generated/google/apis/identitytoolkit_v3/classes.rb +30 -0
  53. data/generated/google/apis/identitytoolkit_v3/representations.rb +5 -0
  54. data/generated/google/apis/monitoring_v3.rb +45 -0
  55. data/generated/google/apis/monitoring_v3/classes.rb +1404 -0
  56. data/generated/google/apis/monitoring_v3/representations.rb +533 -0
  57. data/generated/google/apis/monitoring_v3/service.rb +743 -0
  58. data/generated/google/apis/oauth2_v2.rb +1 -1
  59. data/generated/google/apis/plus_domains_v1.rb +1 -1
  60. data/generated/google/apis/plus_v1.rb +1 -1
  61. data/generated/google/apis/sheets_v4.rb +1 -1
  62. data/generated/google/apis/vision_v1.rb +1 -1
  63. data/generated/google/apis/vision_v1/classes.rb +10 -9
  64. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  65. data/generated/google/apis/youtube_v3.rb +1 -1
  66. data/generated/google/apis/youtube_v3/classes.rb +155 -0
  67. data/generated/google/apis/youtube_v3/representations.rb +81 -0
  68. data/generated/google/apis/youtube_v3/service.rb +6 -2
  69. data/lib/google/apis/errors.rb +2 -2
  70. data/lib/google/apis/version.rb +1 -1
  71. data/samples/cli/lib/samples/bigquery.rb +101 -0
  72. data/samples/cli/lib/samples/sheets.rb +61 -0
  73. metadata +8 -2
@@ -994,6 +994,7 @@ module Google
994
994
  # @private
995
995
  class Representation < Google::Apis::Core::JsonRepresentation
996
996
  property :query, as: 'query'
997
+ property :use_legacy_sql, as: 'useLegacySql'
997
998
  collection :user_defined_function_resources, as: 'userDefinedFunctionResources', class: Google::Apis::BigqueryV2::UserDefinedFunctionResource, decorator: Google::Apis::BigqueryV2::UserDefinedFunctionResource::Representation
998
999
 
999
1000
  end
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/google-apps/calendar/firstapp
26
26
  module CalendarV3
27
27
  VERSION = 'V3'
28
- REVISION = '20160517'
28
+ REVISION = '20160605'
29
29
 
30
30
  # Manage your calendars
31
31
  AUTH_CALENDAR = 'https://www.googleapis.com/auth/calendar'
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/tools/cloud-debugger
27
27
  module ClouddebuggerV2
28
28
  VERSION = 'V2'
29
- REVISION = '20160309'
29
+ REVISION = '20160602'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -29,10 +29,10 @@ module Google
29
29
  # require 'google/apis/clouddebugger_v2'
30
30
  #
31
31
  # Clouddebugger = Google::Apis::ClouddebuggerV2 # Alias the module
32
- # service = Clouddebugger::ClouddebuggerService.new
32
+ # service = Clouddebugger::CloudDebuggerService.new
33
33
  #
34
34
  # @see https://cloud.google.com/tools/cloud-debugger
35
- class ClouddebuggerService < Google::Apis::Core::BaseService
35
+ class CloudDebuggerService < Google::Apis::Core::BaseService
36
36
  # @return [String]
37
37
  # API key. Your API key identifies your project and provides you with API access,
38
38
  # quota, and reports. Required unless you provide an OAuth 2.0 token.
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeBeta
27
27
  VERSION = 'Beta'
28
- REVISION = '20160519'
28
+ REVISION = '20160525'
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'
@@ -1020,6 +1020,13 @@ module Google
1020
1020
  class BackendService
1021
1021
  include Google::Apis::Core::Hashable
1022
1022
 
1023
+ # Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. If set
1024
+ # to 0, the cookie is non-persistent and lasts only until the end of the browser
1025
+ # session (or equivalent). The maximum allowed value for TTL is one day.
1026
+ # Corresponds to the JSON property `affinityCookieTtlSec`
1027
+ # @return [Fixnum]
1028
+ attr_accessor :affinity_cookie_ttl_sec
1029
+
1023
1030
  # The list of backends that serve this BackendService.
1024
1031
  # Corresponds to the JSON property `backends`
1025
1032
  # @return [Array<Google::Apis::ComputeBeta::Backend>]
@@ -1108,6 +1115,11 @@ module Google
1108
1115
  # @return [String]
1109
1116
  attr_accessor :self_link
1110
1117
 
1118
+ # Type of session affinity to use.
1119
+ # Corresponds to the JSON property `sessionAffinity`
1120
+ # @return [String]
1121
+ attr_accessor :session_affinity
1122
+
1111
1123
  # How many seconds to wait for the backend before considering it a failed
1112
1124
  # request. Default is 30 seconds.
1113
1125
  # Corresponds to the JSON property `timeoutSec`
@@ -1120,6 +1132,7 @@ module Google
1120
1132
 
1121
1133
  # Update properties of this object
1122
1134
  def update!(**args)
1135
+ @affinity_cookie_ttl_sec = args[:affinity_cookie_ttl_sec] if args.key?(:affinity_cookie_ttl_sec)
1123
1136
  @backends = args[:backends] if args.key?(:backends)
1124
1137
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
1125
1138
  @description = args[:description] if args.key?(:description)
@@ -1134,6 +1147,7 @@ module Google
1134
1147
  @protocol = args[:protocol] if args.key?(:protocol)
1135
1148
  @region = args[:region] if args.key?(:region)
1136
1149
  @self_link = args[:self_link] if args.key?(:self_link)
1150
+ @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
1137
1151
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
1138
1152
  end
1139
1153
  end
@@ -3340,13 +3354,14 @@ module Google
3340
3354
  # A list of service accounts, with their specified scopes, authorized for this
3341
3355
  # instance. Service accounts generate access tokens that can be accessed through
3342
3356
  # the metadata server and used to authenticate applications on the instance. See
3343
- # Authenticating from Google Compute Engine for more information.
3357
+ # Service Accounts for more information.
3344
3358
  # Corresponds to the JSON property `serviceAccounts`
3345
3359
  # @return [Array<Google::Apis::ComputeBeta::ServiceAccount>]
3346
3360
  attr_accessor :service_accounts
3347
3361
 
3348
3362
  # [Output Only] The status of the instance. One of the following values:
3349
- # PROVISIONING, STAGING, RUNNING, STOPPING, and TERMINATED.
3363
+ # PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDED, SUSPENDING, and
3364
+ # TERMINATED.
3350
3365
  # Corresponds to the JSON property `status`
3351
3366
  # @return [String]
3352
3367
  attr_accessor :status
@@ -4574,8 +4589,8 @@ module Google
4574
4589
  # IP addresses other than their own and receive packets with destination IP
4575
4590
  # addresses other than their own. If these instances will be used as an IP
4576
4591
  # gateway or it will be set as the next-hop in a Route resource, specify true.
4577
- # If unsure, leave this set to false. See the canIpForward documentation for
4578
- # more information.
4592
+ # If unsure, leave this set to false. See the Enable IP forwarding for instances
4593
+ # documentation for more information.
4579
4594
  # Corresponds to the JSON property `canIpForward`
4580
4595
  # @return [Boolean]
4581
4596
  attr_accessor :can_ip_forward
@@ -7092,7 +7107,7 @@ module Google
7092
7107
  class RouterStatus
7093
7108
  include Google::Apis::Core::Hashable
7094
7109
 
7095
- # Best routes for this router.
7110
+ # Best routes for this router's network.
7096
7111
  # Corresponds to the JSON property `bestRoutes`
7097
7112
  # @return [Array<Google::Apis::ComputeBeta::Route>]
7098
7113
  attr_accessor :best_routes
@@ -9732,6 +9747,13 @@ module Google
9732
9747
  # @return [String]
9733
9748
  attr_accessor :region
9734
9749
 
9750
+ # Remote traffic selectors to use when establishing the VPN tunnel with peer VPN
9751
+ # gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/
9752
+ # 16. The ranges should be disjoint.
9753
+ # Corresponds to the JSON property `remoteTrafficSelector`
9754
+ # @return [Array<String>]
9755
+ attr_accessor :remote_traffic_selector
9756
+
9735
9757
  # URL of router resource to be used for dynamic routing.
9736
9758
  # Corresponds to the JSON property `router`
9737
9759
  # @return [String]
@@ -9780,6 +9802,7 @@ module Google
9780
9802
  @name = args[:name] if args.key?(:name)
9781
9803
  @peer_ip = args[:peer_ip] if args.key?(:peer_ip)
9782
9804
  @region = args[:region] if args.key?(:region)
9805
+ @remote_traffic_selector = args[:remote_traffic_selector] if args.key?(:remote_traffic_selector)
9783
9806
  @router = args[:router] if args.key?(:router)
9784
9807
  @self_link = args[:self_link] if args.key?(:self_link)
9785
9808
  @shared_secret = args[:shared_secret] if args.key?(:shared_secret)
@@ -1551,6 +1551,7 @@ module Google
1551
1551
  class BackendService
1552
1552
  # @private
1553
1553
  class Representation < Google::Apis::Core::JsonRepresentation
1554
+ property :affinity_cookie_ttl_sec, as: 'affinityCookieTtlSec'
1554
1555
  collection :backends, as: 'backends', class: Google::Apis::ComputeBeta::Backend, decorator: Google::Apis::ComputeBeta::Backend::Representation
1555
1556
 
1556
1557
  property :creation_timestamp, as: 'creationTimestamp'
@@ -1566,6 +1567,7 @@ module Google
1566
1567
  property :protocol, as: 'protocol'
1567
1568
  property :region, as: 'region'
1568
1569
  property :self_link, as: 'selfLink'
1570
+ property :session_affinity, as: 'sessionAffinity'
1569
1571
  property :timeout_sec, as: 'timeoutSec'
1570
1572
  end
1571
1573
  end
@@ -3682,6 +3684,7 @@ module Google
3682
3684
  property :name, as: 'name'
3683
3685
  property :peer_ip, as: 'peerIp'
3684
3686
  property :region, as: 'region'
3687
+ collection :remote_traffic_selector, as: 'remoteTrafficSelector'
3685
3688
  property :router, as: 'router'
3686
3689
  property :self_link, as: 'selfLink'
3687
3690
  property :shared_secret, as: 'sharedSecret'
@@ -4122,10 +4122,9 @@ module Google
4122
4122
  # Retrieves the list of private images available to the specified project.
4123
4123
  # Private images are images you create that belong to your project. This method
4124
4124
  # does not get any images that belong to other projects, including publicly-
4125
- # available images, like Debian 7. If you want to get a list of publicly-
4125
+ # available images, like Debian 8. If you want to get a list of publicly-
4126
4126
  # available images, use this method to make a request to the respective image
4127
4127
  # project, such as debian-cloud or windows-cloud.
4128
- # See Accessing images for more information.
4129
4128
  # @param [String] project
4130
4129
  # Project ID for this request.
4131
4130
  # @param [String] filter
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeV1
27
27
  VERSION = 'V1'
28
- REVISION = '20160519'
28
+ REVISION = '20160525'
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'
@@ -365,6 +365,11 @@ module Google
365
365
  # @return [String]
366
366
  attr_accessor :device_name
367
367
 
368
+ # Represents a customer-supplied encryption key
369
+ # Corresponds to the JSON property `diskEncryptionKey`
370
+ # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
371
+ attr_accessor :disk_encryption_key
372
+
368
373
  # Assigns a zero-based index to this disk, where 0 is reserved for the boot disk.
369
374
  # For example, if you have many disks attached to an instance, each disk would
370
375
  # have a unique index number. If not specified, the server will choose an
@@ -429,6 +434,7 @@ module Google
429
434
  @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
430
435
  @boot = args[:boot] if args.key?(:boot)
431
436
  @device_name = args[:device_name] if args.key?(:device_name)
437
+ @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
432
438
  @index = args[:index] if args.key?(:index)
433
439
  @initialize_params = args[:initialize_params] if args.key?(:initialize_params)
434
440
  @interface = args[:interface] if args.key?(:interface)
@@ -493,6 +499,11 @@ module Google
493
499
  # @return [String]
494
500
  attr_accessor :source_image
495
501
 
502
+ # Represents a customer-supplied encryption key
503
+ # Corresponds to the JSON property `sourceImageEncryptionKey`
504
+ # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
505
+ attr_accessor :source_image_encryption_key
506
+
496
507
  def initialize(**args)
497
508
  update!(**args)
498
509
  end
@@ -503,6 +514,7 @@ module Google
503
514
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
504
515
  @disk_type = args[:disk_type] if args.key?(:disk_type)
505
516
  @source_image = args[:source_image] if args.key?(:source_image)
517
+ @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
506
518
  end
507
519
  end
508
520
 
@@ -1188,6 +1200,59 @@ module Google
1188
1200
  end
1189
1201
  end
1190
1202
 
1203
+ # Represents a customer-supplied encryption key
1204
+ class CustomerEncryptionKey
1205
+ include Google::Apis::Core::Hashable
1206
+
1207
+ # Specifies a 256-bit customer-supplied encryption key, encoded in base64 to
1208
+ # either encrypt or decrypt this resource.
1209
+ # Corresponds to the JSON property `rawKey`
1210
+ # @return [String]
1211
+ attr_accessor :raw_key
1212
+
1213
+ # [Output only] The base64 encoded SHA-256 hash of the customer-supplied
1214
+ # encryption key that protects this resource.
1215
+ # Corresponds to the JSON property `sha256`
1216
+ # @return [String]
1217
+ attr_accessor :sha256
1218
+
1219
+ def initialize(**args)
1220
+ update!(**args)
1221
+ end
1222
+
1223
+ # Update properties of this object
1224
+ def update!(**args)
1225
+ @raw_key = args[:raw_key] if args.key?(:raw_key)
1226
+ @sha256 = args[:sha256] if args.key?(:sha256)
1227
+ end
1228
+ end
1229
+
1230
+ #
1231
+ class CustomerEncryptionKeyProtectedDisk
1232
+ include Google::Apis::Core::Hashable
1233
+
1234
+ # Represents a customer-supplied encryption key
1235
+ # Corresponds to the JSON property `diskEncryptionKey`
1236
+ # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
1237
+ attr_accessor :disk_encryption_key
1238
+
1239
+ # Specifies a valid partial or full URL to an existing Persistent Disk resource.
1240
+ # This field is only applicable for persistent disks.
1241
+ # Corresponds to the JSON property `source`
1242
+ # @return [String]
1243
+ attr_accessor :source
1244
+
1245
+ def initialize(**args)
1246
+ update!(**args)
1247
+ end
1248
+
1249
+ # Update properties of this object
1250
+ def update!(**args)
1251
+ @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
1252
+ @source = args[:source] if args.key?(:source)
1253
+ end
1254
+ end
1255
+
1191
1256
  # Deprecation status for a public resource.
1192
1257
  class DeprecationStatus
1193
1258
  include Google::Apis::Core::Hashable
@@ -1255,6 +1320,11 @@ module Google
1255
1320
  # @return [String]
1256
1321
  attr_accessor :description
1257
1322
 
1323
+ # Represents a customer-supplied encryption key
1324
+ # Corresponds to the JSON property `diskEncryptionKey`
1325
+ # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
1326
+ attr_accessor :disk_encryption_key
1327
+
1258
1328
  # [Output Only] The unique identifier for the resource. This identifier is
1259
1329
  # defined by the server.
1260
1330
  # Corresponds to the JSON property `id`
@@ -1330,6 +1400,11 @@ module Google
1330
1400
  # @return [String]
1331
1401
  attr_accessor :source_image
1332
1402
 
1403
+ # Represents a customer-supplied encryption key
1404
+ # Corresponds to the JSON property `sourceImageEncryptionKey`
1405
+ # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
1406
+ attr_accessor :source_image_encryption_key
1407
+
1333
1408
  # [Output Only] The ID value of the image used to create this disk. This value
1334
1409
  # identifies the exact image that was used to create this persistent disk. For
1335
1410
  # example, if you created the persistent disk from an image that was later
@@ -1350,6 +1425,11 @@ module Google
1350
1425
  # @return [String]
1351
1426
  attr_accessor :source_snapshot
1352
1427
 
1428
+ # Represents a customer-supplied encryption key
1429
+ # Corresponds to the JSON property `sourceSnapshotEncryptionKey`
1430
+ # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
1431
+ attr_accessor :source_snapshot_encryption_key
1432
+
1353
1433
  # [Output Only] The unique ID of the snapshot used to create this disk. This
1354
1434
  # value identifies the exact snapshot that was used to create this persistent
1355
1435
  # disk. For example, if you created the persistent disk from a snapshot that was
@@ -1390,6 +1470,7 @@ module Google
1390
1470
  def update!(**args)
1391
1471
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
1392
1472
  @description = args[:description] if args.key?(:description)
1473
+ @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
1393
1474
  @id = args[:id] if args.key?(:id)
1394
1475
  @kind = args[:kind] if args.key?(:kind)
1395
1476
  @last_attach_timestamp = args[:last_attach_timestamp] if args.key?(:last_attach_timestamp)
@@ -1400,8 +1481,10 @@ module Google
1400
1481
  @self_link = args[:self_link] if args.key?(:self_link)
1401
1482
  @size_gb = args[:size_gb] if args.key?(:size_gb)
1402
1483
  @source_image = args[:source_image] if args.key?(:source_image)
1484
+ @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
1403
1485
  @source_image_id = args[:source_image_id] if args.key?(:source_image_id)
1404
1486
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
1487
+ @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
1405
1488
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
1406
1489
  @status = args[:status] if args.key?(:status)
1407
1490
  @type = args[:type] if args.key?(:type)
@@ -2837,6 +2920,11 @@ module Google
2837
2920
  # @return [String]
2838
2921
  attr_accessor :id
2839
2922
 
2923
+ # Represents a customer-supplied encryption key
2924
+ # Corresponds to the JSON property `imageEncryptionKey`
2925
+ # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
2926
+ attr_accessor :image_encryption_key
2927
+
2840
2928
  # [Output Only] Type of the resource. Always compute#image for images.
2841
2929
  # Corresponds to the JSON property `kind`
2842
2930
  # @return [String]
@@ -2878,6 +2966,11 @@ module Google
2878
2966
  # @return [String]
2879
2967
  attr_accessor :source_disk
2880
2968
 
2969
+ # Represents a customer-supplied encryption key
2970
+ # Corresponds to the JSON property `sourceDiskEncryptionKey`
2971
+ # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
2972
+ attr_accessor :source_disk_encryption_key
2973
+
2881
2974
  # The ID value of the disk used to create this image. This value may be used to
2882
2975
  # determine whether the image was taken from the current or a previous instance
2883
2976
  # of a given disk name.
@@ -2912,12 +3005,14 @@ module Google
2912
3005
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
2913
3006
  @family = args[:family] if args.key?(:family)
2914
3007
  @id = args[:id] if args.key?(:id)
3008
+ @image_encryption_key = args[:image_encryption_key] if args.key?(:image_encryption_key)
2915
3009
  @kind = args[:kind] if args.key?(:kind)
2916
3010
  @licenses = args[:licenses] if args.key?(:licenses)
2917
3011
  @name = args[:name] if args.key?(:name)
2918
3012
  @raw_disk = args[:raw_disk] if args.key?(:raw_disk)
2919
3013
  @self_link = args[:self_link] if args.key?(:self_link)
2920
3014
  @source_disk = args[:source_disk] if args.key?(:source_disk)
3015
+ @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
2921
3016
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
2922
3017
  @source_type = args[:source_type] if args.key?(:source_type)
2923
3018
  @status = args[:status] if args.key?(:status)
@@ -3104,13 +3199,14 @@ module Google
3104
3199
  # A list of service accounts, with their specified scopes, authorized for this
3105
3200
  # instance. Service accounts generate access tokens that can be accessed through
3106
3201
  # the metadata server and used to authenticate applications on the instance. See
3107
- # Authenticating from Google Compute Engine for more information.
3202
+ # Service Accounts for more information.
3108
3203
  # Corresponds to the JSON property `serviceAccounts`
3109
3204
  # @return [Array<Google::Apis::ComputeV1::ServiceAccount>]
3110
3205
  attr_accessor :service_accounts
3111
3206
 
3112
3207
  # [Output Only] The status of the instance. One of the following values:
3113
- # PROVISIONING, STAGING, RUNNING, STOPPING, and TERMINATED.
3208
+ # PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDED, SUSPENDING, and
3209
+ # TERMINATED.
3114
3210
  # Corresponds to the JSON property `status`
3115
3211
  # @return [String]
3116
3212
  attr_accessor :status
@@ -4232,8 +4328,8 @@ module Google
4232
4328
  # IP addresses other than their own and receive packets with destination IP
4233
4329
  # addresses other than their own. If these instances will be used as an IP
4234
4330
  # gateway or it will be set as the next-hop in a Route resource, specify true.
4235
- # If unsure, leave this set to false. See the canIpForward documentation for
4236
- # more information.
4331
+ # If unsure, leave this set to false. See the Enable IP forwarding for instances
4332
+ # documentation for more information.
4237
4333
  # Corresponds to the JSON property `canIpForward`
4238
4334
  # @return [Boolean]
4239
4335
  attr_accessor :can_ip_forward
@@ -4577,6 +4673,30 @@ module Google
4577
4673
  end
4578
4674
  end
4579
4675
 
4676
+ #
4677
+ class InstancesStartWithEncryptionKeyRequest
4678
+ include Google::Apis::Core::Hashable
4679
+
4680
+ # Array of disks associated with this instance that are protected with a
4681
+ # customer-supplied encryption key.
4682
+ # In order to start the instance, the disk url and its corresponding key must be
4683
+ # provided.
4684
+ # If the disk is not protected with a customer-supplied encryption key it should
4685
+ # not be specified.
4686
+ # Corresponds to the JSON property `disks`
4687
+ # @return [Array<Google::Apis::ComputeV1::CustomerEncryptionKeyProtectedDisk>]
4688
+ attr_accessor :disks
4689
+
4690
+ def initialize(**args)
4691
+ update!(**args)
4692
+ end
4693
+
4694
+ # Update properties of this object
4695
+ def update!(**args)
4696
+ @disks = args[:disks] if args.key?(:disks)
4697
+ end
4698
+ end
4699
+
4580
4700
  # A license resource.
4581
4701
  class License
4582
4702
  include Google::Apis::Core::Hashable
@@ -4653,6 +4773,13 @@ module Google
4653
4773
  # @return [Fixnum]
4654
4774
  attr_accessor :image_space_gb
4655
4775
 
4776
+ # [Output Only] Whether this machine type has a shared CPU. See Shared-core
4777
+ # machine types for more information.
4778
+ # Corresponds to the JSON property `isSharedCpu`
4779
+ # @return [Boolean]
4780
+ attr_accessor :is_shared_cpu
4781
+ alias_method :is_shared_cpu?, :is_shared_cpu
4782
+
4656
4783
  # [Output Only] The type of the resource. Always compute#machineType for machine
4657
4784
  # types.
4658
4785
  # Corresponds to the JSON property `kind`
@@ -4708,6 +4835,7 @@ module Google
4708
4835
  @guest_cpus = args[:guest_cpus] if args.key?(:guest_cpus)
4709
4836
  @id = args[:id] if args.key?(:id)
4710
4837
  @image_space_gb = args[:image_space_gb] if args.key?(:image_space_gb)
4838
+ @is_shared_cpu = args[:is_shared_cpu] if args.key?(:is_shared_cpu)
4711
4839
  @kind = args[:kind] if args.key?(:kind)
4712
4840
  @maximum_persistent_disks = args[:maximum_persistent_disks] if args.key?(:maximum_persistent_disks)
4713
4841
  @maximum_persistent_disks_size_gb = args[:maximum_persistent_disks_size_gb] if args.key?(:maximum_persistent_disks_size_gb)
@@ -5927,6 +6055,11 @@ module Google
5927
6055
  # @return [String]
5928
6056
  attr_accessor :creation_timestamp
5929
6057
 
6058
+ # [Output Only] Default service account used by VMs running in this project.
6059
+ # Corresponds to the JSON property `defaultServiceAccount`
6060
+ # @return [String]
6061
+ attr_accessor :default_service_account
6062
+
5930
6063
  # An optional textual description of the resource.
5931
6064
  # Corresponds to the JSON property `description`
5932
6065
  # @return [String]
@@ -5979,6 +6112,7 @@ module Google
5979
6112
  def update!(**args)
5980
6113
  @common_instance_metadata = args[:common_instance_metadata] if args.key?(:common_instance_metadata)
5981
6114
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
6115
+ @default_service_account = args[:default_service_account] if args.key?(:default_service_account)
5982
6116
  @description = args[:description] if args.key?(:description)
5983
6117
  @enabled_features = args[:enabled_features] if args.key?(:enabled_features)
5984
6118
  @id = args[:id] if args.key?(:id)
@@ -6411,6 +6545,522 @@ module Google
6411
6545
  end
6412
6546
  end
6413
6547
 
6548
+ # Router resource.
6549
+ class Router
6550
+ include Google::Apis::Core::Hashable
6551
+
6552
+ #
6553
+ # Corresponds to the JSON property `bgp`
6554
+ # @return [Google::Apis::ComputeV1::RouterBgp]
6555
+ attr_accessor :bgp
6556
+
6557
+ #
6558
+ # Corresponds to the JSON property `bgpPeers`
6559
+ # @return [Array<Google::Apis::ComputeV1::RouterBgpPeer>]
6560
+ attr_accessor :bgp_peers
6561
+
6562
+ # [Output Only] Creation timestamp in RFC3339 text format.
6563
+ # Corresponds to the JSON property `creationTimestamp`
6564
+ # @return [String]
6565
+ attr_accessor :creation_timestamp
6566
+
6567
+ # An optional description of this resource. Provide this property when you
6568
+ # create the resource.
6569
+ # Corresponds to the JSON property `description`
6570
+ # @return [String]
6571
+ attr_accessor :description
6572
+
6573
+ # [Output Only] The unique identifier for the resource. This identifier is
6574
+ # defined by the server.
6575
+ # Corresponds to the JSON property `id`
6576
+ # @return [String]
6577
+ attr_accessor :id
6578
+
6579
+ #
6580
+ # Corresponds to the JSON property `interfaces`
6581
+ # @return [Array<Google::Apis::ComputeV1::RouterInterface>]
6582
+ attr_accessor :interfaces
6583
+
6584
+ # [Output Only] Type of resource. Always compute#router for routers.
6585
+ # Corresponds to the JSON property `kind`
6586
+ # @return [String]
6587
+ attr_accessor :kind
6588
+
6589
+ # Name of the resource. Provided by the client when the resource is created. The
6590
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
6591
+ # name must be 1-63 characters long and match the regular expression [a-z]([-a-
6592
+ # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter,
6593
+ # and all following characters must be a dash, lowercase letter, or digit,
6594
+ # except the last character, which cannot be a dash.
6595
+ # Corresponds to the JSON property `name`
6596
+ # @return [String]
6597
+ attr_accessor :name
6598
+
6599
+ # URI of the network to which this router belongs.
6600
+ # Corresponds to the JSON property `network`
6601
+ # @return [String]
6602
+ attr_accessor :network
6603
+
6604
+ # [Output Only] URI of the region where the router resides.
6605
+ # Corresponds to the JSON property `region`
6606
+ # @return [String]
6607
+ attr_accessor :region
6608
+
6609
+ # [Output Only] Server-defined URL for the resource.
6610
+ # Corresponds to the JSON property `selfLink`
6611
+ # @return [String]
6612
+ attr_accessor :self_link
6613
+
6614
+ def initialize(**args)
6615
+ update!(**args)
6616
+ end
6617
+
6618
+ # Update properties of this object
6619
+ def update!(**args)
6620
+ @bgp = args[:bgp] if args.key?(:bgp)
6621
+ @bgp_peers = args[:bgp_peers] if args.key?(:bgp_peers)
6622
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
6623
+ @description = args[:description] if args.key?(:description)
6624
+ @id = args[:id] if args.key?(:id)
6625
+ @interfaces = args[:interfaces] if args.key?(:interfaces)
6626
+ @kind = args[:kind] if args.key?(:kind)
6627
+ @name = args[:name] if args.key?(:name)
6628
+ @network = args[:network] if args.key?(:network)
6629
+ @region = args[:region] if args.key?(:region)
6630
+ @self_link = args[:self_link] if args.key?(:self_link)
6631
+ end
6632
+ end
6633
+
6634
+ # Contains a list of routers.
6635
+ class RouterAggregatedList
6636
+ include Google::Apis::Core::Hashable
6637
+
6638
+ # [Output Only] The unique identifier for the resource. This identifier is
6639
+ # defined by the server.
6640
+ # Corresponds to the JSON property `id`
6641
+ # @return [String]
6642
+ attr_accessor :id
6643
+
6644
+ # A map of scoped router lists.
6645
+ # Corresponds to the JSON property `items`
6646
+ # @return [Hash<String,Google::Apis::ComputeV1::RoutersScopedList>]
6647
+ attr_accessor :items
6648
+
6649
+ # Type of resource.
6650
+ # Corresponds to the JSON property `kind`
6651
+ # @return [String]
6652
+ attr_accessor :kind
6653
+
6654
+ # [Output Only] This token allows you to get the next page of results for list
6655
+ # requests. If the number of results is larger than maxResults, use the
6656
+ # nextPageToken as a value for the query parameter pageToken in the next list
6657
+ # request. Subsequent list requests will have their own nextPageToken to
6658
+ # continue paging through the results.
6659
+ # Corresponds to the JSON property `nextPageToken`
6660
+ # @return [String]
6661
+ attr_accessor :next_page_token
6662
+
6663
+ # [Output Only] Server-defined URL for this resource.
6664
+ # Corresponds to the JSON property `selfLink`
6665
+ # @return [String]
6666
+ attr_accessor :self_link
6667
+
6668
+ def initialize(**args)
6669
+ update!(**args)
6670
+ end
6671
+
6672
+ # Update properties of this object
6673
+ def update!(**args)
6674
+ @id = args[:id] if args.key?(:id)
6675
+ @items = args[:items] if args.key?(:items)
6676
+ @kind = args[:kind] if args.key?(:kind)
6677
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
6678
+ @self_link = args[:self_link] if args.key?(:self_link)
6679
+ end
6680
+ end
6681
+
6682
+ #
6683
+ class RouterBgp
6684
+ include Google::Apis::Core::Hashable
6685
+
6686
+ # Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN,
6687
+ # either 16-bit or 32-bit. The value will be fixed for this router resource. All
6688
+ # VPN tunnels that link to this router will have the same local ASN.
6689
+ # Corresponds to the JSON property `asn`
6690
+ # @return [Fixnum]
6691
+ attr_accessor :asn
6692
+
6693
+ def initialize(**args)
6694
+ update!(**args)
6695
+ end
6696
+
6697
+ # Update properties of this object
6698
+ def update!(**args)
6699
+ @asn = args[:asn] if args.key?(:asn)
6700
+ end
6701
+ end
6702
+
6703
+ # BGP information that needs to be configured into the routing stack to
6704
+ # establish the BGP peering. It must specify peer ASN and either interface name,
6705
+ # IP, or peer IP. Reference: https://tools.ietf.org/html/rfc4273
6706
+ class RouterBgpPeer
6707
+ include Google::Apis::Core::Hashable
6708
+
6709
+ # The priority of routes advertised to this BGP peer. In the case where there is
6710
+ # more than one matching route of maximum length, the routes with lowest
6711
+ # priority value win.
6712
+ # Corresponds to the JSON property `advertisedRoutePriority`
6713
+ # @return [Fixnum]
6714
+ attr_accessor :advertised_route_priority
6715
+
6716
+ # Name of the interface the BGP peer is associated with.
6717
+ # Corresponds to the JSON property `interfaceName`
6718
+ # @return [String]
6719
+ attr_accessor :interface_name
6720
+
6721
+ # IP address of the interface inside Google Cloud Platform.
6722
+ # Corresponds to the JSON property `ipAddress`
6723
+ # @return [String]
6724
+ attr_accessor :ip_address
6725
+
6726
+ # Name of this BGP peer. The name must be 1-63 characters long and comply with
6727
+ # RFC1035.
6728
+ # Corresponds to the JSON property `name`
6729
+ # @return [String]
6730
+ attr_accessor :name
6731
+
6732
+ # Peer BGP Autonomous System Number (ASN). For VPN use case, this value can be
6733
+ # different for every tunnel.
6734
+ # Corresponds to the JSON property `peerAsn`
6735
+ # @return [Fixnum]
6736
+ attr_accessor :peer_asn
6737
+
6738
+ # IP address of the BGP interface outside Google cloud.
6739
+ # Corresponds to the JSON property `peerIpAddress`
6740
+ # @return [String]
6741
+ attr_accessor :peer_ip_address
6742
+
6743
+ def initialize(**args)
6744
+ update!(**args)
6745
+ end
6746
+
6747
+ # Update properties of this object
6748
+ def update!(**args)
6749
+ @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
6750
+ @interface_name = args[:interface_name] if args.key?(:interface_name)
6751
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
6752
+ @name = args[:name] if args.key?(:name)
6753
+ @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
6754
+ @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
6755
+ end
6756
+ end
6757
+
6758
+ # Router interfaces. Each interface requires either one linked resource (e.g.
6759
+ # linked_vpn_tunnel) or IP address + range (specified in ip_range).
6760
+ class RouterInterface
6761
+ include Google::Apis::Core::Hashable
6762
+
6763
+ # IP address and range of the interface. The IP range must be in the RFC3927
6764
+ # link-local IP space. The value must be a CIDR-formatted string, for example:
6765
+ # 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP
6766
+ # address of the interface.
6767
+ # Corresponds to the JSON property `ipRange`
6768
+ # @return [String]
6769
+ attr_accessor :ip_range
6770
+
6771
+ # URI of linked VPN tunnel. It must be in the same region as the router. Each
6772
+ # interface can have at most one linked resource.
6773
+ # Corresponds to the JSON property `linkedVpnTunnel`
6774
+ # @return [String]
6775
+ attr_accessor :linked_vpn_tunnel
6776
+
6777
+ # Name of this interface entry. The name must be 1-63 characters long and comply
6778
+ # with RFC1035.
6779
+ # Corresponds to the JSON property `name`
6780
+ # @return [String]
6781
+ attr_accessor :name
6782
+
6783
+ def initialize(**args)
6784
+ update!(**args)
6785
+ end
6786
+
6787
+ # Update properties of this object
6788
+ def update!(**args)
6789
+ @ip_range = args[:ip_range] if args.key?(:ip_range)
6790
+ @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
6791
+ @name = args[:name] if args.key?(:name)
6792
+ end
6793
+ end
6794
+
6795
+ # Contains a list of Router resources.
6796
+ class RouterList
6797
+ include Google::Apis::Core::Hashable
6798
+
6799
+ # [Output Only] The unique identifier for the resource. This identifier is
6800
+ # defined by the server.
6801
+ # Corresponds to the JSON property `id`
6802
+ # @return [String]
6803
+ attr_accessor :id
6804
+
6805
+ # A list of Router resources.
6806
+ # Corresponds to the JSON property `items`
6807
+ # @return [Array<Google::Apis::ComputeV1::Router>]
6808
+ attr_accessor :items
6809
+
6810
+ # [Output Only] Type of resource. Always compute#router for routers.
6811
+ # Corresponds to the JSON property `kind`
6812
+ # @return [String]
6813
+ attr_accessor :kind
6814
+
6815
+ # [Output Only] This token allows you to get the next page of results for list
6816
+ # requests. If the number of results is larger than maxResults, use the
6817
+ # nextPageToken as a value for the query parameter pageToken in the next list
6818
+ # request. Subsequent list requests will have their own nextPageToken to
6819
+ # continue paging through the results.
6820
+ # Corresponds to the JSON property `nextPageToken`
6821
+ # @return [String]
6822
+ attr_accessor :next_page_token
6823
+
6824
+ # [Output Only] Server-defined URL for the resource.
6825
+ # Corresponds to the JSON property `selfLink`
6826
+ # @return [String]
6827
+ attr_accessor :self_link
6828
+
6829
+ def initialize(**args)
6830
+ update!(**args)
6831
+ end
6832
+
6833
+ # Update properties of this object
6834
+ def update!(**args)
6835
+ @id = args[:id] if args.key?(:id)
6836
+ @items = args[:items] if args.key?(:items)
6837
+ @kind = args[:kind] if args.key?(:kind)
6838
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
6839
+ @self_link = args[:self_link] if args.key?(:self_link)
6840
+ end
6841
+ end
6842
+
6843
+ #
6844
+ class RouterStatus
6845
+ include Google::Apis::Core::Hashable
6846
+
6847
+ # Best routes for this router's network.
6848
+ # Corresponds to the JSON property `bestRoutes`
6849
+ # @return [Array<Google::Apis::ComputeV1::Route>]
6850
+ attr_accessor :best_routes
6851
+
6852
+ #
6853
+ # Corresponds to the JSON property `bgpPeerStatus`
6854
+ # @return [Array<Google::Apis::ComputeV1::RouterStatusBgpPeerStatus>]
6855
+ attr_accessor :bgp_peer_status
6856
+
6857
+ # URI of the network to which this router belongs.
6858
+ # Corresponds to the JSON property `network`
6859
+ # @return [String]
6860
+ attr_accessor :network
6861
+
6862
+ def initialize(**args)
6863
+ update!(**args)
6864
+ end
6865
+
6866
+ # Update properties of this object
6867
+ def update!(**args)
6868
+ @best_routes = args[:best_routes] if args.key?(:best_routes)
6869
+ @bgp_peer_status = args[:bgp_peer_status] if args.key?(:bgp_peer_status)
6870
+ @network = args[:network] if args.key?(:network)
6871
+ end
6872
+ end
6873
+
6874
+ #
6875
+ class RouterStatusBgpPeerStatus
6876
+ include Google::Apis::Core::Hashable
6877
+
6878
+ # Routes that were advertised to the remote BGP peer
6879
+ # Corresponds to the JSON property `advertisedRoutes`
6880
+ # @return [Array<Google::Apis::ComputeV1::Route>]
6881
+ attr_accessor :advertised_routes
6882
+
6883
+ # IP address of the local BGP interface.
6884
+ # Corresponds to the JSON property `ipAddress`
6885
+ # @return [String]
6886
+ attr_accessor :ip_address
6887
+
6888
+ # URL of the VPN tunnel that this BGP peer controls.
6889
+ # Corresponds to the JSON property `linkedVpnTunnel`
6890
+ # @return [String]
6891
+ attr_accessor :linked_vpn_tunnel
6892
+
6893
+ # Name of this BGP peer. Unique within the Routers resource.
6894
+ # Corresponds to the JSON property `name`
6895
+ # @return [String]
6896
+ attr_accessor :name
6897
+
6898
+ # Number of routes learned from the remote BGP Peer.
6899
+ # Corresponds to the JSON property `numLearnedRoutes`
6900
+ # @return [Fixnum]
6901
+ attr_accessor :num_learned_routes
6902
+
6903
+ # IP address of the remote BGP interface.
6904
+ # Corresponds to the JSON property `peerIpAddress`
6905
+ # @return [String]
6906
+ attr_accessor :peer_ip_address
6907
+
6908
+ # BGP state as specified in RFC1771.
6909
+ # Corresponds to the JSON property `state`
6910
+ # @return [String]
6911
+ attr_accessor :state
6912
+
6913
+ # Status of the BGP peer: `UP, DOWN`
6914
+ # Corresponds to the JSON property `status`
6915
+ # @return [String]
6916
+ attr_accessor :status
6917
+
6918
+ # Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23 hours,
6919
+ # 59 minutes, 59 seconds
6920
+ # Corresponds to the JSON property `uptime`
6921
+ # @return [String]
6922
+ attr_accessor :uptime
6923
+
6924
+ # Time this session has been up, in seconds. Format: 145
6925
+ # Corresponds to the JSON property `uptimeSeconds`
6926
+ # @return [String]
6927
+ attr_accessor :uptime_seconds
6928
+
6929
+ def initialize(**args)
6930
+ update!(**args)
6931
+ end
6932
+
6933
+ # Update properties of this object
6934
+ def update!(**args)
6935
+ @advertised_routes = args[:advertised_routes] if args.key?(:advertised_routes)
6936
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
6937
+ @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
6938
+ @name = args[:name] if args.key?(:name)
6939
+ @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
6940
+ @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
6941
+ @state = args[:state] if args.key?(:state)
6942
+ @status = args[:status] if args.key?(:status)
6943
+ @uptime = args[:uptime] if args.key?(:uptime)
6944
+ @uptime_seconds = args[:uptime_seconds] if args.key?(:uptime_seconds)
6945
+ end
6946
+ end
6947
+
6948
+ #
6949
+ class RouterStatusResponse
6950
+ include Google::Apis::Core::Hashable
6951
+
6952
+ # Type of resource.
6953
+ # Corresponds to the JSON property `kind`
6954
+ # @return [String]
6955
+ attr_accessor :kind
6956
+
6957
+ #
6958
+ # Corresponds to the JSON property `result`
6959
+ # @return [Google::Apis::ComputeV1::RouterStatus]
6960
+ attr_accessor :result
6961
+
6962
+ def initialize(**args)
6963
+ update!(**args)
6964
+ end
6965
+
6966
+ # Update properties of this object
6967
+ def update!(**args)
6968
+ @kind = args[:kind] if args.key?(:kind)
6969
+ @result = args[:result] if args.key?(:result)
6970
+ end
6971
+ end
6972
+
6973
+ #
6974
+ class RoutersScopedList
6975
+ include Google::Apis::Core::Hashable
6976
+
6977
+ # List of routers contained in this scope.
6978
+ # Corresponds to the JSON property `routers`
6979
+ # @return [Array<Google::Apis::ComputeV1::Router>]
6980
+ attr_accessor :routers
6981
+
6982
+ # Informational warning which replaces the list of routers when the list is
6983
+ # empty.
6984
+ # Corresponds to the JSON property `warning`
6985
+ # @return [Google::Apis::ComputeV1::RoutersScopedList::Warning]
6986
+ attr_accessor :warning
6987
+
6988
+ def initialize(**args)
6989
+ update!(**args)
6990
+ end
6991
+
6992
+ # Update properties of this object
6993
+ def update!(**args)
6994
+ @routers = args[:routers] if args.key?(:routers)
6995
+ @warning = args[:warning] if args.key?(:warning)
6996
+ end
6997
+
6998
+ # Informational warning which replaces the list of routers when the list is
6999
+ # empty.
7000
+ class Warning
7001
+ include Google::Apis::Core::Hashable
7002
+
7003
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
7004
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
7005
+ # Corresponds to the JSON property `code`
7006
+ # @return [String]
7007
+ attr_accessor :code
7008
+
7009
+ # [Output Only] Metadata about this warning in key: value format. For example:
7010
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
7011
+ # Corresponds to the JSON property `data`
7012
+ # @return [Array<Google::Apis::ComputeV1::RoutersScopedList::Warning::Datum>]
7013
+ attr_accessor :data
7014
+
7015
+ # [Output Only] A human-readable description of the warning code.
7016
+ # Corresponds to the JSON property `message`
7017
+ # @return [String]
7018
+ attr_accessor :message
7019
+
7020
+ def initialize(**args)
7021
+ update!(**args)
7022
+ end
7023
+
7024
+ # Update properties of this object
7025
+ def update!(**args)
7026
+ @code = args[:code] if args.key?(:code)
7027
+ @data = args[:data] if args.key?(:data)
7028
+ @message = args[:message] if args.key?(:message)
7029
+ end
7030
+
7031
+ #
7032
+ class Datum
7033
+ include Google::Apis::Core::Hashable
7034
+
7035
+ # [Output Only] A key that provides more detail on the warning being returned.
7036
+ # For example, for warnings where there are no results in a list request for a
7037
+ # particular zone, this key might be scope and the key value might be the zone
7038
+ # name. Other examples might be a key indicating a deprecated resource and a
7039
+ # suggested replacement, or a warning about invalid network settings (for
7040
+ # example, if an instance attempts to perform IP forwarding but is not enabled
7041
+ # for IP forwarding).
7042
+ # Corresponds to the JSON property `key`
7043
+ # @return [String]
7044
+ attr_accessor :key
7045
+
7046
+ # [Output Only] A warning data value corresponding to the key.
7047
+ # Corresponds to the JSON property `value`
7048
+ # @return [String]
7049
+ attr_accessor :value
7050
+
7051
+ def initialize(**args)
7052
+ update!(**args)
7053
+ end
7054
+
7055
+ # Update properties of this object
7056
+ def update!(**args)
7057
+ @key = args[:key] if args.key?(:key)
7058
+ @value = args[:value] if args.key?(:value)
7059
+ end
7060
+ end
7061
+ end
7062
+ end
7063
+
6414
7064
  # Sets the scheduling options for an Instance.
6415
7065
  class Scheduling
6416
7066
  include Google::Apis::Core::Hashable
@@ -6561,11 +7211,21 @@ module Google
6561
7211
  # @return [String]
6562
7212
  attr_accessor :self_link
6563
7213
 
7214
+ # Represents a customer-supplied encryption key
7215
+ # Corresponds to the JSON property `snapshotEncryptionKey`
7216
+ # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
7217
+ attr_accessor :snapshot_encryption_key
7218
+
6564
7219
  # [Output Only] The source disk used to create this snapshot.
6565
7220
  # Corresponds to the JSON property `sourceDisk`
6566
7221
  # @return [String]
6567
7222
  attr_accessor :source_disk
6568
7223
 
7224
+ # Represents a customer-supplied encryption key
7225
+ # Corresponds to the JSON property `sourceDiskEncryptionKey`
7226
+ # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
7227
+ attr_accessor :source_disk_encryption_key
7228
+
6569
7229
  # [Output Only] The ID value of the disk used to create this snapshot. This
6570
7230
  # value may be used to determine whether the snapshot was taken from the current
6571
7231
  # or a previous instance of a given disk name.
@@ -6608,7 +7268,9 @@ module Google
6608
7268
  @licenses = args[:licenses] if args.key?(:licenses)
6609
7269
  @name = args[:name] if args.key?(:name)
6610
7270
  @self_link = args[:self_link] if args.key?(:self_link)
7271
+ @snapshot_encryption_key = args[:snapshot_encryption_key] if args.key?(:snapshot_encryption_key)
6611
7272
  @source_disk = args[:source_disk] if args.key?(:source_disk)
7273
+ @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
6612
7274
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
6613
7275
  @status = args[:status] if args.key?(:status)
6614
7276
  @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
@@ -8748,6 +9410,18 @@ module Google
8748
9410
  # @return [String]
8749
9411
  attr_accessor :region
8750
9412
 
9413
+ # Remote traffic selectors to use when establishing the VPN tunnel with peer VPN
9414
+ # gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/
9415
+ # 16. The ranges should be disjoint.
9416
+ # Corresponds to the JSON property `remoteTrafficSelector`
9417
+ # @return [Array<String>]
9418
+ attr_accessor :remote_traffic_selector
9419
+
9420
+ # URL of router resource to be used for dynamic routing.
9421
+ # Corresponds to the JSON property `router`
9422
+ # @return [String]
9423
+ attr_accessor :router
9424
+
8751
9425
  # [Output Only] Server-defined URL for the resource.
8752
9426
  # Corresponds to the JSON property `selfLink`
8753
9427
  # @return [String]
@@ -8791,6 +9465,8 @@ module Google
8791
9465
  @name = args[:name] if args.key?(:name)
8792
9466
  @peer_ip = args[:peer_ip] if args.key?(:peer_ip)
8793
9467
  @region = args[:region] if args.key?(:region)
9468
+ @remote_traffic_selector = args[:remote_traffic_selector] if args.key?(:remote_traffic_selector)
9469
+ @router = args[:router] if args.key?(:router)
8794
9470
  @self_link = args[:self_link] if args.key?(:self_link)
8795
9471
  @shared_secret = args[:shared_secret] if args.key?(:shared_secret)
8796
9472
  @shared_secret_hash = args[:shared_secret_hash] if args.key?(:shared_secret_hash)