google-api-client 0.18.1 → 0.19.0

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.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -0
  3. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  4. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +349 -0
  5. data/generated/google/apis/androiddeviceprovisioning_v1/representations.rb +153 -0
  6. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +412 -0
  7. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  8. data/generated/google/apis/androidmanagement_v1/classes.rb +75 -0
  9. data/generated/google/apis/androidmanagement_v1/representations.rb +22 -0
  10. data/generated/google/apis/bigquery_v2.rb +1 -1
  11. data/generated/google/apis/bigquery_v2/classes.rb +56 -0
  12. data/generated/google/apis/bigquery_v2/representations.rb +20 -0
  13. data/generated/google/apis/calendar_v3.rb +1 -1
  14. data/generated/google/apis/calendar_v3/classes.rb +15 -4
  15. data/generated/google/apis/calendar_v3/representations.rb +1 -0
  16. data/generated/google/apis/calendar_v3/service.rb +8 -4
  17. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  18. data/generated/google/apis/cloudfunctions_v1/service.rb +9 -2
  19. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  20. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +3 -3
  21. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +8 -1
  22. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  23. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +19 -18
  24. data/generated/google/apis/cloudtasks_v2beta2/representations.rb +2 -2
  25. data/generated/google/apis/compute_alpha.rb +1 -1
  26. data/generated/google/apis/compute_alpha/classes.rb +256 -63
  27. data/generated/google/apis/compute_alpha/representations.rb +44 -1
  28. data/generated/google/apis/compute_alpha/service.rb +217 -2
  29. data/generated/google/apis/compute_beta.rb +1 -1
  30. data/generated/google/apis/compute_beta/classes.rb +776 -46
  31. data/generated/google/apis/compute_beta/representations.rb +254 -0
  32. data/generated/google/apis/compute_beta/service.rb +1070 -13
  33. data/generated/google/apis/compute_v1.rb +1 -1
  34. data/generated/google/apis/compute_v1/classes.rb +83 -46
  35. data/generated/google/apis/compute_v1/service.rb +4 -2
  36. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  37. data/generated/google/apis/deploymentmanager_alpha/classes.rb +52 -0
  38. data/generated/google/apis/deploymentmanager_alpha/representations.rb +19 -0
  39. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  40. data/generated/google/apis/dialogflow_v2beta1/classes.rb +31 -11
  41. data/generated/google/apis/dlp_v2beta1.rb +1 -1
  42. data/generated/google/apis/dlp_v2beta1/classes.rb +70 -4
  43. data/generated/google/apis/dlp_v2beta1/representations.rb +1 -0
  44. data/generated/google/apis/dlp_v2beta2.rb +1 -1
  45. data/generated/google/apis/dlp_v2beta2/classes.rb +124 -30
  46. data/generated/google/apis/dlp_v2beta2/representations.rb +2 -0
  47. data/generated/google/apis/dlp_v2beta2/service.rb +14 -10
  48. data/generated/google/apis/iam_v1.rb +1 -1
  49. data/generated/google/apis/iam_v1/classes.rb +0 -56
  50. data/generated/google/apis/iam_v1/representations.rb +0 -18
  51. data/generated/google/apis/logging_v2.rb +1 -1
  52. data/generated/google/apis/logging_v2/classes.rb +8 -6
  53. data/generated/google/apis/logging_v2beta1.rb +1 -1
  54. data/generated/google/apis/logging_v2beta1/classes.rb +8 -6
  55. data/generated/google/apis/ml_v1.rb +1 -1
  56. data/generated/google/apis/ml_v1/classes.rb +22 -5
  57. data/generated/google/apis/ml_v1/service.rb +19 -5
  58. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  59. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +2 -2
  60. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  61. data/generated/google/apis/servicecontrol_v1/classes.rb +10 -0
  62. data/generated/google/apis/servicecontrol_v1/representations.rb +1 -0
  63. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  64. data/generated/google/apis/servicemanagement_v1/classes.rb +6 -5
  65. data/generated/google/apis/serviceuser_v1.rb +1 -1
  66. data/generated/google/apis/serviceuser_v1/classes.rb +6 -5
  67. data/generated/google/apis/sheets_v4.rb +1 -1
  68. data/generated/google/apis/sheets_v4/classes.rb +283 -0
  69. data/generated/google/apis/sheets_v4/representations.rb +90 -0
  70. data/generated/google/apis/speech_v1.rb +1 -1
  71. data/generated/google/apis/storage_v1.rb +1 -1
  72. data/generated/google/apis/storage_v1/classes.rb +115 -4
  73. data/generated/google/apis/storage_v1/representations.rb +23 -0
  74. data/generated/google/apis/storage_v1/service.rb +44 -1
  75. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  76. data/generated/google/apis/tpu_v1alpha1/classes.rb +11 -4
  77. data/generated/google/apis/tpu_v1alpha1/representations.rb +1 -0
  78. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  79. data/lib/google/apis/version.rb +1 -1
  80. metadata +2 -6
  81. data/generated/google/apis/consumersurveys_v2.rb +0 -40
  82. data/generated/google/apis/consumersurveys_v2/classes.rb +0 -736
  83. data/generated/google/apis/consumersurveys_v2/representations.rb +0 -343
  84. data/generated/google/apis/consumersurveys_v2/service.rb +0 -478
@@ -1498,6 +1498,12 @@ module Google
1498
1498
  include Google::Apis::Core::JsonObjectSupport
1499
1499
  end
1500
1500
 
1501
+ class InstancesResumeRequest
1502
+ class Representation < Google::Apis::Core::JsonRepresentation; end
1503
+
1504
+ include Google::Apis::Core::JsonObjectSupport
1505
+ end
1506
+
1501
1507
  class InstancesScopedList
1502
1508
  class Representation < Google::Apis::Core::JsonRepresentation; end
1503
1509
 
@@ -1600,6 +1606,12 @@ module Google
1600
1606
  include Google::Apis::Core::JsonObjectSupport
1601
1607
  end
1602
1608
 
1609
+ class InterconnectAttachmentPartnerMetadata
1610
+ class Representation < Google::Apis::Core::JsonRepresentation; end
1611
+
1612
+ include Google::Apis::Core::JsonObjectSupport
1613
+ end
1614
+
1603
1615
  class InterconnectAttachmentPrivateInfo
1604
1616
  class Representation < Google::Apis::Core::JsonRepresentation; end
1605
1617
 
@@ -3830,6 +3842,8 @@ module Google
3830
3842
  property :disk_encryption_key, as: 'diskEncryptionKey', class: Google::Apis::ComputeAlpha::CustomerEncryptionKey, decorator: Google::Apis::ComputeAlpha::CustomerEncryptionKey::Representation
3831
3843
 
3832
3844
  property :disk_size_gb, :numeric_string => true, as: 'diskSizeGb'
3845
+ collection :guest_os_features, as: 'guestOsFeatures', class: Google::Apis::ComputeAlpha::GuestOsFeature, decorator: Google::Apis::ComputeAlpha::GuestOsFeature::Representation
3846
+
3833
3847
  property :index, as: 'index'
3834
3848
  property :initialize_params, as: 'initializeParams', class: Google::Apis::ComputeAlpha::AttachedDiskInitializeParams, decorator: Google::Apis::ComputeAlpha::AttachedDiskInitializeParams::Representation
3835
3849
 
@@ -3837,6 +3851,7 @@ module Google
3837
3851
  property :kind, as: 'kind'
3838
3852
  collection :licenses, as: 'licenses'
3839
3853
  property :mode, as: 'mode'
3854
+ property :saved_state, as: 'savedState'
3840
3855
  property :source, as: 'source'
3841
3856
  property :type, as: 'type'
3842
3857
  end
@@ -3890,6 +3905,7 @@ module Google
3890
3905
  property :id, :numeric_string => true, as: 'id'
3891
3906
  property :kind, as: 'kind'
3892
3907
  property :name, as: 'name'
3908
+ property :recommended_size, as: 'recommendedSize'
3893
3909
  property :region, as: 'region'
3894
3910
  property :self_link, as: 'selfLink'
3895
3911
  property :status, as: 'status'
@@ -6356,6 +6372,16 @@ module Google
6356
6372
  end
6357
6373
  end
6358
6374
 
6375
+ class InstancesResumeRequest
6376
+ # @private
6377
+ class Representation < Google::Apis::Core::JsonRepresentation
6378
+ collection :disks, as: 'disks', class: Google::Apis::ComputeAlpha::CustomerEncryptionKeyProtectedDisk, decorator: Google::Apis::ComputeAlpha::CustomerEncryptionKeyProtectedDisk::Representation
6379
+
6380
+ property :instance_encryption_key, as: 'instanceEncryptionKey', class: Google::Apis::ComputeAlpha::CustomerEncryptionKey, decorator: Google::Apis::ComputeAlpha::CustomerEncryptionKey::Representation
6381
+
6382
+ end
6383
+ end
6384
+
6359
6385
  class InstancesScopedList
6360
6386
  # @private
6361
6387
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -6449,6 +6475,8 @@ module Google
6449
6475
  collection :interconnect_attachments, as: 'interconnectAttachments'
6450
6476
  property :interconnect_type, as: 'interconnectType'
6451
6477
  property :kind, as: 'kind'
6478
+ property :label_fingerprint, :base64 => true, as: 'labelFingerprint'
6479
+ hash :labels, as: 'labels'
6452
6480
  property :link_type, as: 'linkType'
6453
6481
  property :location, as: 'location'
6454
6482
  property :name, as: 'name'
@@ -6458,6 +6486,7 @@ module Google
6458
6486
  property :provisioned_link_count, as: 'provisionedLinkCount'
6459
6487
  property :requested_link_count, as: 'requestedLinkCount'
6460
6488
  property :self_link, as: 'selfLink'
6489
+ property :state, as: 'state'
6461
6490
  end
6462
6491
  end
6463
6492
 
@@ -6476,9 +6505,14 @@ module Google
6476
6505
  property :id, :numeric_string => true, as: 'id'
6477
6506
  property :interconnect, as: 'interconnect'
6478
6507
  property :kind, as: 'kind'
6508
+ property :label_fingerprint, :base64 => true, as: 'labelFingerprint'
6509
+ hash :labels, as: 'labels'
6479
6510
  property :name, as: 'name'
6480
6511
  property :operational_status, as: 'operationalStatus'
6481
6512
  property :pairing_key, as: 'pairingKey'
6513
+ property :partner_asn, :numeric_string => true, as: 'partnerAsn'
6514
+ property :partner_metadata, as: 'partnerMetadata', class: Google::Apis::ComputeAlpha::InterconnectAttachmentPartnerMetadata, decorator: Google::Apis::ComputeAlpha::InterconnectAttachmentPartnerMetadata::Representation
6515
+
6482
6516
  property :private_interconnect_info, as: 'privateInterconnectInfo', class: Google::Apis::ComputeAlpha::InterconnectAttachmentPrivateInfo, decorator: Google::Apis::ComputeAlpha::InterconnectAttachmentPrivateInfo::Representation
6483
6517
 
6484
6518
  property :region, as: 'region'
@@ -6554,6 +6588,15 @@ module Google
6554
6588
  end
6555
6589
  end
6556
6590
 
6591
+ class InterconnectAttachmentPartnerMetadata
6592
+ # @private
6593
+ class Representation < Google::Apis::Core::JsonRepresentation
6594
+ property :interconnect_name, as: 'interconnectName'
6595
+ property :partner_name, as: 'partnerName'
6596
+ property :portal_url, as: 'portalUrl'
6597
+ end
6598
+ end
6599
+
6557
6600
  class InterconnectAttachmentPrivateInfo
6558
6601
  # @private
6559
6602
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -8574,7 +8617,6 @@ module Google
8574
8617
  property :expr, as: 'expr', class: Google::Apis::ComputeAlpha::Expr, decorator: Google::Apis::ComputeAlpha::Expr::Representation
8575
8618
 
8576
8619
  collection :src_ip_ranges, as: 'srcIpRanges'
8577
- collection :src_region_codes, as: 'srcRegionCodes'
8578
8620
  property :versioned_expr, as: 'versionedExpr'
8579
8621
  end
8580
8622
  end
@@ -8644,6 +8686,7 @@ module Google
8644
8686
  property :status, as: 'status'
8645
8687
  property :storage_bytes, :numeric_string => true, as: 'storageBytes'
8646
8688
  property :storage_bytes_status, as: 'storageBytesStatus'
8689
+ collection :storage_locations, as: 'storageLocations'
8647
8690
  end
8648
8691
  end
8649
8692
 
@@ -2974,7 +2974,8 @@ module Google
2974
2974
  execute_or_queue_command(command, &block)
2975
2975
  end
2976
2976
 
2977
- # Resizes the specified persistent disk.
2977
+ # Resizes the specified persistent disk. You can only increase the size of the
2978
+ # disk.
2978
2979
  # @param [String] project
2979
2980
  # Project ID for this request.
2980
2981
  # @param [String] zone
@@ -10292,6 +10293,62 @@ module Google
10292
10293
  execute_or_queue_command(command, &block)
10293
10294
  end
10294
10295
 
10296
+ # Resumes an instance that was suspended using the instances().suspend method.
10297
+ # @param [String] project
10298
+ # Project ID for this request.
10299
+ # @param [String] zone
10300
+ # The name of the zone for this request.
10301
+ # @param [String] instance
10302
+ # Name of the instance resource to resume.
10303
+ # @param [Google::Apis::ComputeAlpha::InstancesResumeRequest] instances_resume_request_object
10304
+ # @param [String] request_id
10305
+ # An optional request ID to identify requests. Specify a unique request ID so
10306
+ # that if you must retry your request, the server will know to ignore the
10307
+ # request if it has already been completed.
10308
+ # For example, consider a situation where you make an initial request and the
10309
+ # request times out. If you make the request again with the same request ID, the
10310
+ # server can check if original operation with the same request ID was received,
10311
+ # and if so, will ignore the second request. This prevents clients from
10312
+ # accidentally creating duplicate commitments.
10313
+ # The request ID must be a valid UUID with the exception that zero UUID is not
10314
+ # supported (00000000-0000-0000-0000-000000000000).
10315
+ # @param [String] fields
10316
+ # Selector specifying which fields to include in a partial response.
10317
+ # @param [String] quota_user
10318
+ # Available to use for quota purposes for server-side applications. Can be any
10319
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
10320
+ # Overrides userIp if both are provided.
10321
+ # @param [String] user_ip
10322
+ # IP address of the site where the request originates. Use this if you want to
10323
+ # enforce per-user limits.
10324
+ # @param [Google::Apis::RequestOptions] options
10325
+ # Request-specific options
10326
+ #
10327
+ # @yield [result, err] Result & error if block supplied
10328
+ # @yieldparam result [Google::Apis::ComputeAlpha::Operation] parsed result object
10329
+ # @yieldparam err [StandardError] error object if request failed
10330
+ #
10331
+ # @return [Google::Apis::ComputeAlpha::Operation]
10332
+ #
10333
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
10334
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
10335
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
10336
+ def resume_instance(project, zone, instance, instances_resume_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
10337
+ command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/resume', options)
10338
+ command.request_representation = Google::Apis::ComputeAlpha::InstancesResumeRequest::Representation
10339
+ command.request_object = instances_resume_request_object
10340
+ command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation
10341
+ command.response_class = Google::Apis::ComputeAlpha::Operation
10342
+ command.params['project'] = project unless project.nil?
10343
+ command.params['zone'] = zone unless zone.nil?
10344
+ command.params['instance'] = instance unless instance.nil?
10345
+ command.query['requestId'] = request_id unless request_id.nil?
10346
+ command.query['fields'] = fields unless fields.nil?
10347
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
10348
+ command.query['userIp'] = user_ip unless user_ip.nil?
10349
+ execute_or_queue_command(command, &block)
10350
+ end
10351
+
10295
10352
  # Sets deletion protection on the instance.
10296
10353
  # @param [String] project
10297
10354
  # Project ID for this request.
@@ -11748,6 +11805,64 @@ module Google
11748
11805
  execute_or_queue_command(command, &block)
11749
11806
  end
11750
11807
 
11808
+ # Updates the specified interconnect attachment with the data included in the
11809
+ # request. This method supports PATCH semantics and uses the JSON merge patch
11810
+ # format and processing rules.
11811
+ # @param [String] project
11812
+ # Project ID for this request.
11813
+ # @param [String] region
11814
+ # Name of the region scoping this request.
11815
+ # @param [String] interconnect_attachment
11816
+ # Name of the interconnect attachment to patch.
11817
+ # @param [Google::Apis::ComputeAlpha::InterconnectAttachment] interconnect_attachment_object
11818
+ # @param [String] request_id
11819
+ # An optional request ID to identify requests. Specify a unique request ID so
11820
+ # that if you must retry your request, the server will know to ignore the
11821
+ # request if it has already been completed.
11822
+ # For example, consider a situation where you make an initial request and the
11823
+ # request times out. If you make the request again with the same request ID, the
11824
+ # server can check if original operation with the same request ID was received,
11825
+ # and if so, will ignore the second request. This prevents clients from
11826
+ # accidentally creating duplicate commitments.
11827
+ # The request ID must be a valid UUID with the exception that zero UUID is not
11828
+ # supported (00000000-0000-0000-0000-000000000000).
11829
+ # @param [String] fields
11830
+ # Selector specifying which fields to include in a partial response.
11831
+ # @param [String] quota_user
11832
+ # Available to use for quota purposes for server-side applications. Can be any
11833
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
11834
+ # Overrides userIp if both are provided.
11835
+ # @param [String] user_ip
11836
+ # IP address of the site where the request originates. Use this if you want to
11837
+ # enforce per-user limits.
11838
+ # @param [Google::Apis::RequestOptions] options
11839
+ # Request-specific options
11840
+ #
11841
+ # @yield [result, err] Result & error if block supplied
11842
+ # @yieldparam result [Google::Apis::ComputeAlpha::Operation] parsed result object
11843
+ # @yieldparam err [StandardError] error object if request failed
11844
+ #
11845
+ # @return [Google::Apis::ComputeAlpha::Operation]
11846
+ #
11847
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
11848
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
11849
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
11850
+ def patch_interconnect_attachment(project, region, interconnect_attachment, interconnect_attachment_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
11851
+ command = make_simple_command(:patch, '{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}', options)
11852
+ command.request_representation = Google::Apis::ComputeAlpha::InterconnectAttachment::Representation
11853
+ command.request_object = interconnect_attachment_object
11854
+ command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation
11855
+ command.response_class = Google::Apis::ComputeAlpha::Operation
11856
+ command.params['project'] = project unless project.nil?
11857
+ command.params['region'] = region unless region.nil?
11858
+ command.params['interconnectAttachment'] = interconnect_attachment unless interconnect_attachment.nil?
11859
+ command.query['requestId'] = request_id unless request_id.nil?
11860
+ command.query['fields'] = fields unless fields.nil?
11861
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
11862
+ command.query['userIp'] = user_ip unless user_ip.nil?
11863
+ execute_or_queue_command(command, &block)
11864
+ end
11865
+
11751
11866
  # Sets the access control policy on the specified resource. Replaces any
11752
11867
  # existing policy.
11753
11868
  # @param [String] project
@@ -11793,6 +11908,63 @@ module Google
11793
11908
  execute_or_queue_command(command, &block)
11794
11909
  end
11795
11910
 
11911
+ # Sets the labels on an InterconnectAttachment. To learn more about labels, read
11912
+ # the Labeling Resources documentation.
11913
+ # @param [String] project
11914
+ # Project ID for this request.
11915
+ # @param [String] region
11916
+ # The region for this request.
11917
+ # @param [String] resource
11918
+ # Name of the resource for this request.
11919
+ # @param [Google::Apis::ComputeAlpha::RegionSetLabelsRequest] region_set_labels_request_object
11920
+ # @param [String] request_id
11921
+ # An optional request ID to identify requests. Specify a unique request ID so
11922
+ # that if you must retry your request, the server will know to ignore the
11923
+ # request if it has already been completed.
11924
+ # For example, consider a situation where you make an initial request and the
11925
+ # request times out. If you make the request again with the same request ID, the
11926
+ # server can check if original operation with the same request ID was received,
11927
+ # and if so, will ignore the second request. This prevents clients from
11928
+ # accidentally creating duplicate commitments.
11929
+ # The request ID must be a valid UUID with the exception that zero UUID is not
11930
+ # supported (00000000-0000-0000-0000-000000000000).
11931
+ # @param [String] fields
11932
+ # Selector specifying which fields to include in a partial response.
11933
+ # @param [String] quota_user
11934
+ # Available to use for quota purposes for server-side applications. Can be any
11935
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
11936
+ # Overrides userIp if both are provided.
11937
+ # @param [String] user_ip
11938
+ # IP address of the site where the request originates. Use this if you want to
11939
+ # enforce per-user limits.
11940
+ # @param [Google::Apis::RequestOptions] options
11941
+ # Request-specific options
11942
+ #
11943
+ # @yield [result, err] Result & error if block supplied
11944
+ # @yieldparam result [Google::Apis::ComputeAlpha::Operation] parsed result object
11945
+ # @yieldparam err [StandardError] error object if request failed
11946
+ #
11947
+ # @return [Google::Apis::ComputeAlpha::Operation]
11948
+ #
11949
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
11950
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
11951
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
11952
+ def set_interconnect_attachment_labels(project, region, resource, region_set_labels_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
11953
+ command = make_simple_command(:post, '{project}/regions/{region}/interconnectAttachments/{resource}/setLabels', options)
11954
+ command.request_representation = Google::Apis::ComputeAlpha::RegionSetLabelsRequest::Representation
11955
+ command.request_object = region_set_labels_request_object
11956
+ command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation
11957
+ command.response_class = Google::Apis::ComputeAlpha::Operation
11958
+ command.params['project'] = project unless project.nil?
11959
+ command.params['region'] = region unless region.nil?
11960
+ command.params['resource'] = resource unless resource.nil?
11961
+ command.query['requestId'] = request_id unless request_id.nil?
11962
+ command.query['fields'] = fields unless fields.nil?
11963
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
11964
+ command.query['userIp'] = user_ip unless user_ip.nil?
11965
+ execute_or_queue_command(command, &block)
11966
+ end
11967
+
11796
11968
  # Returns permissions that a caller has on the specified resource.
11797
11969
  # @param [String] project
11798
11970
  # Project ID for this request.
@@ -12346,6 +12518,48 @@ module Google
12346
12518
  execute_or_queue_command(command, &block)
12347
12519
  end
12348
12520
 
12521
+ # Sets the labels on an Interconnect. To learn more about labels, read the
12522
+ # Labeling Resources documentation.
12523
+ # @param [String] project
12524
+ # Project ID for this request.
12525
+ # @param [String] resource
12526
+ # Name of the resource for this request.
12527
+ # @param [Google::Apis::ComputeAlpha::GlobalSetLabelsRequest] global_set_labels_request_object
12528
+ # @param [String] fields
12529
+ # Selector specifying which fields to include in a partial response.
12530
+ # @param [String] quota_user
12531
+ # Available to use for quota purposes for server-side applications. Can be any
12532
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
12533
+ # Overrides userIp if both are provided.
12534
+ # @param [String] user_ip
12535
+ # IP address of the site where the request originates. Use this if you want to
12536
+ # enforce per-user limits.
12537
+ # @param [Google::Apis::RequestOptions] options
12538
+ # Request-specific options
12539
+ #
12540
+ # @yield [result, err] Result & error if block supplied
12541
+ # @yieldparam result [Google::Apis::ComputeAlpha::Operation] parsed result object
12542
+ # @yieldparam err [StandardError] error object if request failed
12543
+ #
12544
+ # @return [Google::Apis::ComputeAlpha::Operation]
12545
+ #
12546
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
12547
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
12548
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
12549
+ def set_interconnect_labels(project, resource, global_set_labels_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
12550
+ command = make_simple_command(:post, '{project}/global/interconnects/{resource}/setLabels', options)
12551
+ command.request_representation = Google::Apis::ComputeAlpha::GlobalSetLabelsRequest::Representation
12552
+ command.request_object = global_set_labels_request_object
12553
+ command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation
12554
+ command.response_class = Google::Apis::ComputeAlpha::Operation
12555
+ command.params['project'] = project unless project.nil?
12556
+ command.params['resource'] = resource unless resource.nil?
12557
+ command.query['fields'] = fields unless fields.nil?
12558
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
12559
+ command.query['userIp'] = user_ip unless user_ip.nil?
12560
+ execute_or_queue_command(command, &block)
12561
+ end
12562
+
12349
12563
  # Returns permissions that a caller has on the specified resource.
12350
12564
  # @param [String] project
12351
12565
  # Project ID for this request.
@@ -14442,7 +14656,8 @@ module Google
14442
14656
  execute_or_queue_command(command, &block)
14443
14657
  end
14444
14658
 
14445
- # Patches the specified network with the data included in the request.
14659
+ # Patches the specified network with the data included in the request. Only the
14660
+ # following fields can be modified: routingConfig.routingMode.
14446
14661
  # @param [String] project
14447
14662
  # Project ID for this request.
14448
14663
  # @param [String] network
@@ -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 = '20171127'
28
+ REVISION = '20171207'
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'
@@ -49,7 +49,8 @@ module Google
49
49
  end
50
50
  end
51
51
 
52
- # An Accelerator Type resource.
52
+ # An Accelerator Type resource. (== resource_for beta.acceleratorTypes ==) (==
53
+ # resource_for v1.acceleratorTypes ==)
53
54
  class AcceleratorType
54
55
  include Google::Apis::Core::Hashable
55
56
 
@@ -506,7 +507,9 @@ module Google
506
507
  end
507
508
  end
508
509
 
509
- # A reserved address resource.
510
+ # A reserved address resource. (== resource_for beta.addresses ==) (==
511
+ # resource_for v1.addresses ==) (== resource_for beta.globalAddresses ==) (==
512
+ # resource_for v1.globalAddresses ==)
510
513
  class Address
511
514
  include Google::Apis::Core::Hashable
512
515
 
@@ -597,9 +600,9 @@ module Google
597
600
  # @return [String]
598
601
  attr_accessor :status
599
602
 
600
- # For external addresses, this field should not be used.
601
603
  # The URL of the subnetwork in which to reserve the address. If an IP address is
602
- # specified, it must be within the subnetwork's IP range.
604
+ # specified, it must be within the subnetwork's IP range. This field can only be
605
+ # used with INTERNAL type with GCE_ENDPOINT/DNS_RESOLVER purposes.
603
606
  # Corresponds to the JSON property `subnetwork`
604
607
  # @return [String]
605
608
  attr_accessor :subnetwork
@@ -1286,7 +1289,9 @@ module Google
1286
1289
  # Represents an Autoscaler resource. Autoscalers allow you to automatically
1287
1290
  # scale virtual machine instances in managed instance groups according to an
1288
1291
  # autoscaling policy that you define. For more information, read Autoscaling
1289
- # Groups of Instances.
1292
+ # Groups of Instances. (== resource_for beta.autoscalers ==) (== resource_for v1.
1293
+ # autoscalers ==) (== resource_for beta.regionAutoscalers ==) (== resource_for
1294
+ # v1.regionAutoscalers ==)
1290
1295
  class Autoscaler
1291
1296
  include Google::Apis::Core::Hashable
1292
1297
 
@@ -2038,6 +2043,11 @@ module Google
2038
2043
  # @return [String]
2039
2044
  attr_accessor :bucket_name
2040
2045
 
2046
+ # Message containing Cloud CDN configuration for a backend bucket.
2047
+ # Corresponds to the JSON property `cdnPolicy`
2048
+ # @return [Google::Apis::ComputeBeta::BackendBucketCdnPolicy]
2049
+ attr_accessor :cdn_policy
2050
+
2041
2051
  # [Output Only] Creation timestamp in RFC3339 text format.
2042
2052
  # Corresponds to the JSON property `creationTimestamp`
2043
2053
  # @return [String]
@@ -2087,6 +2097,7 @@ module Google
2087
2097
  # Update properties of this object
2088
2098
  def update!(**args)
2089
2099
  @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
2100
+ @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
2090
2101
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
2091
2102
  @description = args[:description] if args.key?(:description)
2092
2103
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
@@ -2097,6 +2108,37 @@ module Google
2097
2108
  end
2098
2109
  end
2099
2110
 
2111
+ # Message containing Cloud CDN configuration for a backend bucket.
2112
+ class BackendBucketCdnPolicy
2113
+ include Google::Apis::Core::Hashable
2114
+
2115
+ # Number of seconds up to which the response to a signed URL request will be
2116
+ # cached in the CDN. After this time period, the Signed URL will be revalidated
2117
+ # before being served. Defaults to 1hr (3600s). If this field is set, Cloud CDN
2118
+ # will internally act as though all responses from this bucket had a ?Cache-
2119
+ # Control: public, max-age=[TTL]? header, regardless of any existing Cache-
2120
+ # Control header. The actual headers served in responses will not be altered.
2121
+ # Corresponds to the JSON property `signedUrlCacheMaxAgeSec`
2122
+ # @return [Fixnum]
2123
+ attr_accessor :signed_url_cache_max_age_sec
2124
+
2125
+ # [Output Only] Names of the keys currently configured for Cloud CDN Signed URL
2126
+ # on this backend bucket.
2127
+ # Corresponds to the JSON property `signedUrlKeyNames`
2128
+ # @return [Array<String>]
2129
+ attr_accessor :signed_url_key_names
2130
+
2131
+ def initialize(**args)
2132
+ update!(**args)
2133
+ end
2134
+
2135
+ # Update properties of this object
2136
+ def update!(**args)
2137
+ @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
2138
+ @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
2139
+ end
2140
+ end
2141
+
2100
2142
  # Contains a list of BackendBucket resources.
2101
2143
  class BackendBucketList
2102
2144
  include Google::Apis::Core::Hashable
@@ -2215,7 +2257,8 @@ module Google
2215
2257
  end
2216
2258
 
2217
2259
  # A BackendService resource. This resource defines a group of backend virtual
2218
- # machines and their serving capacity.
2260
+ # machines and their serving capacity. (== resource_for v1.backendService ==) (==
2261
+ # resource_for beta.backendService ==)
2219
2262
  class BackendService
2220
2263
  include Google::Apis::Core::Hashable
2221
2264
 
@@ -2528,6 +2571,22 @@ module Google
2528
2571
  # @return [Google::Apis::ComputeBeta::CacheKeyPolicy]
2529
2572
  attr_accessor :cache_key_policy
2530
2573
 
2574
+ # Number of seconds up to which the response to a signed URL request will be
2575
+ # cached in the CDN. After this time period, the Signed URL will be revalidated
2576
+ # before being served. Defaults to 1hr (3600s). If this field is set, Cloud CDN
2577
+ # will internally act as though all responses from this backend had a ?Cache-
2578
+ # Control: public, max-age=[TTL]? header, regardless of any existing Cache-
2579
+ # Control header. The actual headers served in responses will not be altered.
2580
+ # Corresponds to the JSON property `signedUrlCacheMaxAgeSec`
2581
+ # @return [Fixnum]
2582
+ attr_accessor :signed_url_cache_max_age_sec
2583
+
2584
+ # [Output Only] Names of the keys currently configured for Cloud CDN Signed URL
2585
+ # on this backend service.
2586
+ # Corresponds to the JSON property `signedUrlKeyNames`
2587
+ # @return [Array<String>]
2588
+ attr_accessor :signed_url_key_names
2589
+
2531
2590
  def initialize(**args)
2532
2591
  update!(**args)
2533
2592
  end
@@ -2535,6 +2594,8 @@ module Google
2535
2594
  # Update properties of this object
2536
2595
  def update!(**args)
2537
2596
  @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
2597
+ @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
2598
+ @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
2538
2599
  end
2539
2600
  end
2540
2601
 
@@ -2948,7 +3009,8 @@ module Google
2948
3009
  # Committed use discounts are subject to Google Cloud Platform's Service
2949
3010
  # Specific Terms. By purchasing a committed use discount, you agree to these
2950
3011
  # terms. Committed use discounts will not renew, so you must purchase a new
2951
- # commitment to continue receiving discounts.
3012
+ # commitment to continue receiving discounts. (== resource_for beta.commitments =
3013
+ # =) (== resource_for v1.commitments ==)
2952
3014
  class Commitment
2953
3015
  include Google::Apis::Core::Hashable
2954
3016
 
@@ -3569,7 +3631,7 @@ module Google
3569
3631
  end
3570
3632
  end
3571
3633
 
3572
- # A Disk resource.
3634
+ # A Disk resource. (== resource_for beta.disks ==) (== resource_for v1.disks ==)
3573
3635
  class Disk
3574
3636
  include Google::Apis::Core::Hashable
3575
3637
 
@@ -3905,6 +3967,47 @@ module Google
3905
3967
  end
3906
3968
  end
3907
3969
 
3970
+ # A specification of the desired way to instantiate a disk in the instance
3971
+ # template when its created from a source instance.
3972
+ class DiskInstantiationConfig
3973
+ include Google::Apis::Core::Hashable
3974
+
3975
+ # Specifies whether the disk will be auto-deleted when the instance is deleted (
3976
+ # but not when the disk is detached from the instance).
3977
+ # Corresponds to the JSON property `autoDelete`
3978
+ # @return [Boolean]
3979
+ attr_accessor :auto_delete
3980
+ alias_method :auto_delete?, :auto_delete
3981
+
3982
+ # Specifies the device name of the disk to which the configurations apply to.
3983
+ # Corresponds to the JSON property `deviceName`
3984
+ # @return [String]
3985
+ attr_accessor :device_name
3986
+
3987
+ # Specifies whether to include the disk and what image to use.
3988
+ # Corresponds to the JSON property `instantiateFrom`
3989
+ # @return [String]
3990
+ attr_accessor :instantiate_from
3991
+
3992
+ # The custom source image to be used to restore this disk when instantiating
3993
+ # this instance template.
3994
+ # Corresponds to the JSON property `sourceImage`
3995
+ # @return [String]
3996
+ attr_accessor :source_image
3997
+
3998
+ def initialize(**args)
3999
+ update!(**args)
4000
+ end
4001
+
4002
+ # Update properties of this object
4003
+ def update!(**args)
4004
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
4005
+ @device_name = args[:device_name] if args.key?(:device_name)
4006
+ @instantiate_from = args[:instantiate_from] if args.key?(:instantiate_from)
4007
+ @source_image = args[:source_image] if args.key?(:source_image)
4008
+ end
4009
+ end
4010
+
3908
4011
  # A list of Disk resources.
3909
4012
  class DiskList
3910
4013
  include Google::Apis::Core::Hashable
@@ -4055,7 +4158,8 @@ module Google
4055
4158
  end
4056
4159
  end
4057
4160
 
4058
- # A DiskType resource.
4161
+ # A DiskType resource. (== resource_for beta.diskTypes ==) (== resource_for v1.
4162
+ # diskTypes ==)
4059
4163
  class DiskType
4060
4164
  include Google::Apis::Core::Hashable
4061
4165
 
@@ -5042,7 +5146,11 @@ module Google
5042
5146
 
5043
5147
  # A ForwardingRule resource. A ForwardingRule resource specifies which pool of
5044
5148
  # target virtual machines to forward a packet to if it matches the given [
5045
- # IPAddress, IPProtocol, ports] tuple.
5149
+ # IPAddress, IPProtocol, ports] tuple. (== resource_for beta.forwardingRules ==)
5150
+ # (== resource_for v1.forwardingRules ==) (== resource_for beta.
5151
+ # globalForwardingRules ==) (== resource_for v1.globalForwardingRules ==) (==
5152
+ # resource_for beta.regionForwardingRules ==) (== resource_for v1.
5153
+ # regionForwardingRules ==)
5046
5154
  class ForwardingRule
5047
5155
  include Google::Apis::Core::Hashable
5048
5156
 
@@ -5637,9 +5745,8 @@ module Google
5637
5745
  class GuestOsFeature
5638
5746
  include Google::Apis::Core::Hashable
5639
5747
 
5640
- # The type of supported feature. Currently only VIRTIO_SCSI_MULTIQUEUE is
5641
- # supported. For newer Windows images, the server might also populate this
5642
- # property with the value WINDOWS to indicate that this is a Windows image.
5748
+ # The ID of a supported feature. Read Enabling guest operating system features
5749
+ # to see a list of available options.
5643
5750
  # Corresponds to the JSON property `type`
5644
5751
  # @return [String]
5645
5752
  attr_accessor :type
@@ -6550,7 +6657,8 @@ module Google
6550
6657
  end
6551
6658
  end
6552
6659
 
6553
- # An Image resource.
6660
+ # An Image resource. (== resource_for beta.images ==) (== resource_for v1.images
6661
+ # ==)
6554
6662
  class Image
6555
6663
  include Google::Apis::Core::Hashable
6556
6664
 
@@ -6588,14 +6696,9 @@ module Google
6588
6696
  # @return [String]
6589
6697
  attr_accessor :family
6590
6698
 
6591
- # A list of features to enable on the guest OS. Applicable for bootable images
6592
- # only. Currently, only one feature can be enabled, VIRTIO_SCSI_MULTIQUEUE,
6593
- # which allows each virtual CPU to have its own queue. For Windows images, you
6594
- # can only enable VIRTIO_SCSI_MULTIQUEUE on images with driver version 1.2.0.
6595
- # 1621 or higher. Linux images with kernel versions 3.17 and higher will support
6596
- # VIRTIO_SCSI_MULTIQUEUE.
6597
- # For newer Windows images, the server might also populate this property with
6598
- # the value WINDOWS to indicate that this is a Windows image.
6699
+ # A list of features to enable on the guest operating system. Applicable only
6700
+ # for bootable images. Read Enabling guest operating system features to see a
6701
+ # list of available options.
6599
6702
  # Corresponds to the JSON property `guestOsFeatures`
6600
6703
  # @return [Array<Google::Apis::ComputeBeta::GuestOsFeature>]
6601
6704
  attr_accessor :guest_os_features
@@ -6907,7 +7010,8 @@ module Google
6907
7010
  end
6908
7011
  end
6909
7012
 
6910
- # An Instance resource.
7013
+ # An Instance resource. (== resource_for beta.instances ==) (== resource_for v1.
7014
+ # instances ==)
6911
7015
  class Instance
6912
7016
  include Google::Apis::Core::Hashable
6913
7017
 
@@ -7225,7 +7329,9 @@ module Google
7225
7329
  end
7226
7330
  end
7227
7331
 
7228
- #
7332
+ # InstanceGroups (== resource_for beta.instanceGroups ==) (== resource_for v1.
7333
+ # instanceGroups ==) (== resource_for beta.regionInstanceGroups ==) (==
7334
+ # resource_for v1.regionInstanceGroups ==)
7229
7335
  class InstanceGroup
7230
7336
  include Google::Apis::Core::Hashable
7231
7337
 
@@ -7566,7 +7672,10 @@ module Google
7566
7672
  end
7567
7673
  end
7568
7674
 
7569
- # An Instance Group Manager resource.
7675
+ # An Instance Group Manager resource. (== resource_for beta.
7676
+ # instanceGroupManagers ==) (== resource_for v1.instanceGroupManagers ==) (==
7677
+ # resource_for beta.regionInstanceGroupManagers ==) (== resource_for v1.
7678
+ # regionInstanceGroupManagers ==)
7570
7679
  class InstanceGroupManager
7571
7680
  include Google::Apis::Core::Hashable
7572
7681
 
@@ -9213,7 +9322,8 @@ module Google
9213
9322
  end
9214
9323
  end
9215
9324
 
9216
- # An Instance Template resource.
9325
+ # An Instance Template resource. (== resource_for beta.instanceTemplates ==) (==
9326
+ # resource_for v1.instanceTemplates ==)
9217
9327
  class InstanceTemplate
9218
9328
  include Google::Apis::Core::Hashable
9219
9329
 
@@ -9261,6 +9371,22 @@ module Google
9261
9371
  # @return [String]
9262
9372
  attr_accessor :self_link
9263
9373
 
9374
+ # The source instance used to create the template. You can provide this as a
9375
+ # partial or full URL to the resource. For example, the following are valid
9376
+ # values:
9377
+ # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/
9378
+ # instance
9379
+ # - projects/project/zones/zone/instances/instance
9380
+ # Corresponds to the JSON property `sourceInstance`
9381
+ # @return [String]
9382
+ attr_accessor :source_instance
9383
+
9384
+ # A specification of the parameters to use when creating the instance template
9385
+ # from a source instance.
9386
+ # Corresponds to the JSON property `sourceInstanceParams`
9387
+ # @return [Google::Apis::ComputeBeta::SourceInstanceParams]
9388
+ attr_accessor :source_instance_params
9389
+
9264
9390
  def initialize(**args)
9265
9391
  update!(**args)
9266
9392
  end
@@ -9274,6 +9400,8 @@ module Google
9274
9400
  @name = args[:name] if args.key?(:name)
9275
9401
  @properties = args[:properties] if args.key?(:properties)
9276
9402
  @self_link = args[:self_link] if args.key?(:self_link)
9403
+ @source_instance = args[:source_instance] if args.key?(:source_instance)
9404
+ @source_instance_params = args[:source_instance_params] if args.key?(:source_instance_params)
9277
9405
  end
9278
9406
  end
9279
9407
 
@@ -9655,7 +9783,8 @@ module Google
9655
9783
 
9656
9784
  # Represents an Interconnects resource. The Interconnects resource is a
9657
9785
  # dedicated connection between Google's network and your on-premises network.
9658
- # For more information, see the Dedicated overview page.
9786
+ # For more information, see the Dedicated overview page. (== resource_for v1.
9787
+ # interconnects ==) (== resource_for beta.interconnects ==)
9659
9788
  class Interconnect
9660
9789
  include Google::Apis::Core::Hashable
9661
9790
 
@@ -9823,7 +9952,8 @@ module Google
9823
9952
  end
9824
9953
 
9825
9954
  # Represents an InterconnectAttachment (VLAN attachment) resource. For more
9826
- # information, see Creating VLAN Attachments.
9955
+ # information, see Creating VLAN Attachments. (== resource_for beta.
9956
+ # interconnectAttachments ==) (== resource_for v1.interconnectAttachments ==)
9827
9957
  class InterconnectAttachment
9828
9958
  include Google::Apis::Core::Hashable
9829
9959
 
@@ -11208,7 +11338,8 @@ module Google
11208
11338
  end
11209
11339
  end
11210
11340
 
11211
- # A Machine Type resource.
11341
+ # A Machine Type resource. (== resource_for v1.machineTypes ==) (== resource_for
11342
+ # beta.machineTypes ==)
11212
11343
  class MachineType
11213
11344
  include Google::Apis::Core::Hashable
11214
11345
 
@@ -11895,7 +12026,8 @@ module Google
11895
12026
  end
11896
12027
 
11897
12028
  # Represents a Network resource. Read Networks and Firewalls for more
11898
- # information.
12029
+ # information. (== resource_for v1.networks ==) (== resource_for beta.networks ==
12030
+ # )
11899
12031
  class Network
11900
12032
  include Google::Apis::Core::Hashable
11901
12033
 
@@ -12341,7 +12473,11 @@ module Google
12341
12473
  end
12342
12474
  end
12343
12475
 
12344
- # An Operation resource, used to manage asynchronous API requests.
12476
+ # An Operation resource, used to manage asynchronous API requests. (==
12477
+ # resource_for v1.globalOperations ==) (== resource_for beta.globalOperations ==)
12478
+ # (== resource_for v1.regionOperations ==) (== resource_for beta.
12479
+ # regionOperations ==) (== resource_for v1.zoneOperations ==) (== resource_for
12480
+ # beta.zoneOperations ==)
12345
12481
  class Operation
12346
12482
  include Google::Apis::Core::Hashable
12347
12483
 
@@ -13114,7 +13250,8 @@ module Google
13114
13250
  end
13115
13251
 
13116
13252
  # A Project resource. Projects can only be created in the Google Cloud Platform
13117
- # Console. Unless marked otherwise, values can only be modified in the console.
13253
+ # Console. Unless marked otherwise, values can only be modified in the console. (
13254
+ # == resource_for v1.projects ==) (== resource_for beta.projects ==)
13118
13255
  class Project
13119
13256
  include Google::Apis::Core::Hashable
13120
13257
 
@@ -13370,7 +13507,8 @@ module Google
13370
13507
  end
13371
13508
  end
13372
13509
 
13373
- # Region resource.
13510
+ # Region resource. (== resource_for beta.regions ==) (== resource_for v1.regions
13511
+ # ==)
13374
13512
  class Region
13375
13513
  include Google::Apis::Core::Hashable
13376
13514
 
@@ -14341,7 +14479,7 @@ module Google
14341
14479
  # either to another instance destination, an instance gateway, or a Google
14342
14480
  # Compute Engine-operated gateway.
14343
14481
  # Packets that do not match any route in the sending instance's routing table
14344
- # are dropped.
14482
+ # are dropped. (== resource_for beta.routes ==) (== resource_for v1.routes ==)
14345
14483
  class Route
14346
14484
  include Google::Apis::Core::Hashable
14347
14485
 
@@ -14744,6 +14882,31 @@ module Google
14744
14882
  end
14745
14883
  end
14746
14884
 
14885
+ # Description-tagged IP ranges for the router to advertise.
14886
+ class RouterAdvertisedIpRange
14887
+ include Google::Apis::Core::Hashable
14888
+
14889
+ # User-specified description for the IP range.
14890
+ # Corresponds to the JSON property `description`
14891
+ # @return [String]
14892
+ attr_accessor :description
14893
+
14894
+ # The IP range to advertise. The value must be a CIDR-formatted string.
14895
+ # Corresponds to the JSON property `range`
14896
+ # @return [String]
14897
+ attr_accessor :range
14898
+
14899
+ def initialize(**args)
14900
+ update!(**args)
14901
+ end
14902
+
14903
+ # Update properties of this object
14904
+ def update!(**args)
14905
+ @description = args[:description] if args.key?(:description)
14906
+ @range = args[:range] if args.key?(:range)
14907
+ end
14908
+ end
14909
+
14747
14910
  # Contains a list of routers.
14748
14911
  class RouterAggregatedList
14749
14912
  include Google::Apis::Core::Hashable
@@ -14865,6 +15028,27 @@ module Google
14865
15028
  class RouterBgp
14866
15029
  include Google::Apis::Core::Hashable
14867
15030
 
15031
+ # User-specified flag to indicate which mode to use for advertisement.
15032
+ # Corresponds to the JSON property `advertiseMode`
15033
+ # @return [String]
15034
+ attr_accessor :advertise_mode
15035
+
15036
+ # User-specified list of prefix groups to advertise in custom mode. This field
15037
+ # can only be populated if advertise_mode is CUSTOM and is advertised to all
15038
+ # peers of the router. These groups will be advertised in addition to any
15039
+ # specified prefixes. Leave this field blank to advertise no custom groups.
15040
+ # Corresponds to the JSON property `advertisedGroups`
15041
+ # @return [Array<String>]
15042
+ attr_accessor :advertised_groups
15043
+
15044
+ # User-specified list of individual IP ranges to advertise in custom mode. This
15045
+ # field can only be populated if advertise_mode is CUSTOM and is advertised to
15046
+ # all peers of the router. These IP ranges will be advertised in addition to any
15047
+ # specified groups. Leave this field blank to advertise no custom IP ranges.
15048
+ # Corresponds to the JSON property `advertisedIpRanges`
15049
+ # @return [Array<Google::Apis::ComputeBeta::RouterAdvertisedIpRange>]
15050
+ attr_accessor :advertised_ip_ranges
15051
+
14868
15052
  # Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN,
14869
15053
  # either 16-bit or 32-bit. The value will be fixed for this router resource. All
14870
15054
  # VPN tunnels that link to this router will have the same local ASN.
@@ -14878,6 +15062,9 @@ module Google
14878
15062
 
14879
15063
  # Update properties of this object
14880
15064
  def update!(**args)
15065
+ @advertise_mode = args[:advertise_mode] if args.key?(:advertise_mode)
15066
+ @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
15067
+ @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
14881
15068
  @asn = args[:asn] if args.key?(:asn)
14882
15069
  end
14883
15070
  end
@@ -14886,6 +15073,29 @@ module Google
14886
15073
  class RouterBgpPeer
14887
15074
  include Google::Apis::Core::Hashable
14888
15075
 
15076
+ # User-specified flag to indicate which mode to use for advertisement.
15077
+ # Corresponds to the JSON property `advertiseMode`
15078
+ # @return [String]
15079
+ attr_accessor :advertise_mode
15080
+
15081
+ # User-specified list of prefix groups to advertise in custom mode. This field
15082
+ # can only be populated if advertise_mode is CUSTOM and overrides the list
15083
+ # defined for the router (in Bgp message). These groups will be advertised in
15084
+ # addition to any specified prefixes. Leave this field blank to advertise no
15085
+ # custom groups.
15086
+ # Corresponds to the JSON property `advertisedGroups`
15087
+ # @return [Array<String>]
15088
+ attr_accessor :advertised_groups
15089
+
15090
+ # User-specified list of individual IP ranges to advertise in custom mode. This
15091
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
15092
+ # defined for the router (in Bgp message). These IP ranges will be advertised in
15093
+ # addition to any specified groups. Leave this field blank to advertise no
15094
+ # custom IP ranges.
15095
+ # Corresponds to the JSON property `advertisedIpRanges`
15096
+ # @return [Array<Google::Apis::ComputeBeta::RouterAdvertisedIpRange>]
15097
+ attr_accessor :advertised_ip_ranges
15098
+
14889
15099
  # The priority of routes advertised to this BGP peer. In the case where there is
14890
15100
  # more than one matching route of maximum length, the routes with lowest
14891
15101
  # priority value win.
@@ -14927,6 +15137,9 @@ module Google
14927
15137
 
14928
15138
  # Update properties of this object
14929
15139
  def update!(**args)
15140
+ @advertise_mode = args[:advertise_mode] if args.key?(:advertise_mode)
15141
+ @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
15142
+ @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
14930
15143
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
14931
15144
  @interface_name = args[:interface_name] if args.key?(:interface_name)
14932
15145
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -15771,6 +15984,42 @@ module Google
15771
15984
  class SecurityPolicyRuleMatcher
15772
15985
  include Google::Apis::Core::Hashable
15773
15986
 
15987
+ # The configuration options available when specifying versioned_expr. This field
15988
+ # must be specified if versioned_expr is specified and cannot be specified if
15989
+ # versioned_expr is not specified.
15990
+ # Corresponds to the JSON property `config`
15991
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleMatcherConfig]
15992
+ attr_accessor :config
15993
+
15994
+ # CIDR IP address range. Only IPv4 is supported.
15995
+ # Corresponds to the JSON property `srcIpRanges`
15996
+ # @return [Array<String>]
15997
+ attr_accessor :src_ip_ranges
15998
+
15999
+ # Preconfigured versioned expression. If this field is specified, config must
16000
+ # also be specified. Available preconfigured expressions along with their
16001
+ # requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range
16002
+ # field in config.
16003
+ # Corresponds to the JSON property `versionedExpr`
16004
+ # @return [String]
16005
+ attr_accessor :versioned_expr
16006
+
16007
+ def initialize(**args)
16008
+ update!(**args)
16009
+ end
16010
+
16011
+ # Update properties of this object
16012
+ def update!(**args)
16013
+ @config = args[:config] if args.key?(:config)
16014
+ @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
16015
+ @versioned_expr = args[:versioned_expr] if args.key?(:versioned_expr)
16016
+ end
16017
+ end
16018
+
16019
+ #
16020
+ class SecurityPolicyRuleMatcherConfig
16021
+ include Google::Apis::Core::Hashable
16022
+
15774
16023
  # CIDR IP address range. Only IPv4 is supported.
15775
16024
  # Corresponds to the JSON property `srcIpRanges`
15776
16025
  # @return [Array<String>]
@@ -15859,7 +16108,38 @@ module Google
15859
16108
  end
15860
16109
  end
15861
16110
 
15862
- # A persistent disk snapshot resource.
16111
+ # Represents a customer-supplied Signing Key used by Cloud CDN Signed URLs
16112
+ class SignedUrlKey
16113
+ include Google::Apis::Core::Hashable
16114
+
16115
+ # Name of the key. The name must be 1-63 characters long, and comply with
16116
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
16117
+ # regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character
16118
+ # must be a lowercase letter, and all following characters must be a dash,
16119
+ # lowercase letter, or digit, except the last character, which cannot be a dash.
16120
+ # Corresponds to the JSON property `keyName`
16121
+ # @return [String]
16122
+ attr_accessor :key_name
16123
+
16124
+ # 128-bit key value used for signing the URL. The key value must be a valid RFC
16125
+ # 4648 Section 5 base64url encoded string.
16126
+ # Corresponds to the JSON property `keyValue`
16127
+ # @return [String]
16128
+ attr_accessor :key_value
16129
+
16130
+ def initialize(**args)
16131
+ update!(**args)
16132
+ end
16133
+
16134
+ # Update properties of this object
16135
+ def update!(**args)
16136
+ @key_name = args[:key_name] if args.key?(:key_name)
16137
+ @key_value = args[:key_value] if args.key?(:key_value)
16138
+ end
16139
+ end
16140
+
16141
+ # A persistent disk snapshot resource. (== resource_for beta.snapshots ==) (==
16142
+ # resource_for v1.snapshots ==)
15863
16143
  class Snapshot
15864
16144
  include Google::Apis::Core::Hashable
15865
16145
 
@@ -16121,9 +16401,33 @@ module Google
16121
16401
  end
16122
16402
  end
16123
16403
 
16404
+ # A specification of the parameters to use when creating the instance template
16405
+ # from a source instance.
16406
+ class SourceInstanceParams
16407
+ include Google::Apis::Core::Hashable
16408
+
16409
+ # Attached disks configuration. If not provided, defaults are applied: For boot
16410
+ # disk and any other R/W disks, new custom images will be created from each disk.
16411
+ # For read-only disks, they will be attached in read-only mode. Local SSD disks
16412
+ # will be created as blank volumes.
16413
+ # Corresponds to the JSON property `diskConfigs`
16414
+ # @return [Array<Google::Apis::ComputeBeta::DiskInstantiationConfig>]
16415
+ attr_accessor :disk_configs
16416
+
16417
+ def initialize(**args)
16418
+ update!(**args)
16419
+ end
16420
+
16421
+ # Update properties of this object
16422
+ def update!(**args)
16423
+ @disk_configs = args[:disk_configs] if args.key?(:disk_configs)
16424
+ end
16425
+ end
16426
+
16124
16427
  # An SslCertificate resource. This resource provides a mechanism to upload an
16125
16428
  # SSL key and certificate to the load balancer to serve secure connections from
16126
- # the user.
16429
+ # the user. (== resource_for beta.sslCertificates ==) (== resource_for v1.
16430
+ # sslCertificates ==)
16127
16431
  class SslCertificate
16128
16432
  include Google::Apis::Core::Hashable
16129
16433
 
@@ -16312,7 +16616,335 @@ module Google
16312
16616
  end
16313
16617
  end
16314
16618
 
16315
- # A Subnetwork resource.
16619
+ #
16620
+ class SslPoliciesList
16621
+ include Google::Apis::Core::Hashable
16622
+
16623
+ # [Output Only] Unique identifier for the resource; defined by the server.
16624
+ # Corresponds to the JSON property `id`
16625
+ # @return [String]
16626
+ attr_accessor :id
16627
+
16628
+ # A list of SslPolicy resources.
16629
+ # Corresponds to the JSON property `items`
16630
+ # @return [Array<Google::Apis::ComputeBeta::SslPolicy>]
16631
+ attr_accessor :items
16632
+
16633
+ # [Output Only] Type of the resource. Always compute#sslPoliciesList for lists
16634
+ # of sslPolicies.
16635
+ # Corresponds to the JSON property `kind`
16636
+ # @return [String]
16637
+ attr_accessor :kind
16638
+
16639
+ # [Output Only] This token allows you to get the next page of results for list
16640
+ # requests. If the number of results is larger than maxResults, use the
16641
+ # nextPageToken as a value for the query parameter pageToken in the next list
16642
+ # request. Subsequent list requests will have their own nextPageToken to
16643
+ # continue paging through the results.
16644
+ # Corresponds to the JSON property `nextPageToken`
16645
+ # @return [String]
16646
+ attr_accessor :next_page_token
16647
+
16648
+ # [Output Only] Server-defined URL for this resource.
16649
+ # Corresponds to the JSON property `selfLink`
16650
+ # @return [String]
16651
+ attr_accessor :self_link
16652
+
16653
+ # [Output Only] Informational warning message.
16654
+ # Corresponds to the JSON property `warning`
16655
+ # @return [Google::Apis::ComputeBeta::SslPoliciesList::Warning]
16656
+ attr_accessor :warning
16657
+
16658
+ def initialize(**args)
16659
+ update!(**args)
16660
+ end
16661
+
16662
+ # Update properties of this object
16663
+ def update!(**args)
16664
+ @id = args[:id] if args.key?(:id)
16665
+ @items = args[:items] if args.key?(:items)
16666
+ @kind = args[:kind] if args.key?(:kind)
16667
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
16668
+ @self_link = args[:self_link] if args.key?(:self_link)
16669
+ @warning = args[:warning] if args.key?(:warning)
16670
+ end
16671
+
16672
+ # [Output Only] Informational warning message.
16673
+ class Warning
16674
+ include Google::Apis::Core::Hashable
16675
+
16676
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
16677
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
16678
+ # Corresponds to the JSON property `code`
16679
+ # @return [String]
16680
+ attr_accessor :code
16681
+
16682
+ # [Output Only] Metadata about this warning in key: value format. For example:
16683
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
16684
+ # Corresponds to the JSON property `data`
16685
+ # @return [Array<Google::Apis::ComputeBeta::SslPoliciesList::Warning::Datum>]
16686
+ attr_accessor :data
16687
+
16688
+ # [Output Only] A human-readable description of the warning code.
16689
+ # Corresponds to the JSON property `message`
16690
+ # @return [String]
16691
+ attr_accessor :message
16692
+
16693
+ def initialize(**args)
16694
+ update!(**args)
16695
+ end
16696
+
16697
+ # Update properties of this object
16698
+ def update!(**args)
16699
+ @code = args[:code] if args.key?(:code)
16700
+ @data = args[:data] if args.key?(:data)
16701
+ @message = args[:message] if args.key?(:message)
16702
+ end
16703
+
16704
+ #
16705
+ class Datum
16706
+ include Google::Apis::Core::Hashable
16707
+
16708
+ # [Output Only] A key that provides more detail on the warning being returned.
16709
+ # For example, for warnings where there are no results in a list request for a
16710
+ # particular zone, this key might be scope and the key value might be the zone
16711
+ # name. Other examples might be a key indicating a deprecated resource and a
16712
+ # suggested replacement, or a warning about invalid network settings (for
16713
+ # example, if an instance attempts to perform IP forwarding but is not enabled
16714
+ # for IP forwarding).
16715
+ # Corresponds to the JSON property `key`
16716
+ # @return [String]
16717
+ attr_accessor :key
16718
+
16719
+ # [Output Only] A warning data value corresponding to the key.
16720
+ # Corresponds to the JSON property `value`
16721
+ # @return [String]
16722
+ attr_accessor :value
16723
+
16724
+ def initialize(**args)
16725
+ update!(**args)
16726
+ end
16727
+
16728
+ # Update properties of this object
16729
+ def update!(**args)
16730
+ @key = args[:key] if args.key?(:key)
16731
+ @value = args[:value] if args.key?(:value)
16732
+ end
16733
+ end
16734
+ end
16735
+ end
16736
+
16737
+ #
16738
+ class SslPoliciesListAvailableFeaturesResponse
16739
+ include Google::Apis::Core::Hashable
16740
+
16741
+ #
16742
+ # Corresponds to the JSON property `features`
16743
+ # @return [Array<String>]
16744
+ attr_accessor :features
16745
+
16746
+ def initialize(**args)
16747
+ update!(**args)
16748
+ end
16749
+
16750
+ # Update properties of this object
16751
+ def update!(**args)
16752
+ @features = args[:features] if args.key?(:features)
16753
+ end
16754
+ end
16755
+
16756
+ # A SSL policy specifies the server-side support for SSL features. This can be
16757
+ # attached to a TargetHttpsProxy or a TargetSslProxy. This affects connections
16758
+ # between clients and the HTTPS or SSL proxy load balancer. They do not affect
16759
+ # the connection between the load balancers and the backends.
16760
+ class SslPolicy
16761
+ include Google::Apis::Core::Hashable
16762
+
16763
+ # [Output Only] Creation timestamp in RFC3339 text format.
16764
+ # Corresponds to the JSON property `creationTimestamp`
16765
+ # @return [String]
16766
+ attr_accessor :creation_timestamp
16767
+
16768
+ # List of features enabled when the selected profile is CUSTOM. The
16769
+ # - method returns the set of features that can be specified in this list. This
16770
+ # field must be empty if the profile is not CUSTOM.
16771
+ # Corresponds to the JSON property `customFeatures`
16772
+ # @return [Array<String>]
16773
+ attr_accessor :custom_features
16774
+
16775
+ # An optional description of this resource. Provide this property when you
16776
+ # create the resource.
16777
+ # Corresponds to the JSON property `description`
16778
+ # @return [String]
16779
+ attr_accessor :description
16780
+
16781
+ # [Output Only] The list of features enabled in the SSL policy.
16782
+ # Corresponds to the JSON property `enabledFeatures`
16783
+ # @return [Array<String>]
16784
+ attr_accessor :enabled_features
16785
+
16786
+ # Fingerprint of this resource. A hash of the contents stored in this object.
16787
+ # This field is used in optimistic locking. This field will be ignored when
16788
+ # inserting a SslPolicy. An up-to-date fingerprint must be provided in order to
16789
+ # update the SslPolicy.
16790
+ # Corresponds to the JSON property `fingerprint`
16791
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
16792
+ # @return [String]
16793
+ attr_accessor :fingerprint
16794
+
16795
+ # [Output Only] The unique identifier for the resource. This identifier is
16796
+ # defined by the server.
16797
+ # Corresponds to the JSON property `id`
16798
+ # @return [Fixnum]
16799
+ attr_accessor :id
16800
+
16801
+ # [Output only] Type of the resource. Always compute#sslPolicyfor SSL policies.
16802
+ # Corresponds to the JSON property `kind`
16803
+ # @return [String]
16804
+ attr_accessor :kind
16805
+
16806
+ # The minimum version of SSL protocol that can be used by the clients to
16807
+ # establish a connection with the load balancer. This can be one of TLS_1_0,
16808
+ # TLS_1_1, TLS_1_2, TLS_1_3.
16809
+ # Corresponds to the JSON property `minTlsVersion`
16810
+ # @return [String]
16811
+ attr_accessor :min_tls_version
16812
+
16813
+ # Name of the resource. The name must be 1-63 characters long, and comply with
16814
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
16815
+ # regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character
16816
+ # must be a lowercase letter, and all following characters must be a dash,
16817
+ # lowercase letter, or digit, except the last character, which cannot be a dash.
16818
+ # Corresponds to the JSON property `name`
16819
+ # @return [String]
16820
+ attr_accessor :name
16821
+
16822
+ # Profile specifies the set of SSL features that can be used by the load
16823
+ # balancer when negotiating SSL with clients. This can be one of COMPATIBLE,
16824
+ # MODERN, RESTRICTED, or CUSTOM. If using CUSTOM, the set of SSL features to
16825
+ # enable must be specified in the customFeatures field.
16826
+ # Corresponds to the JSON property `profile`
16827
+ # @return [String]
16828
+ attr_accessor :profile
16829
+
16830
+ # [Output Only] Server-defined URL for the resource.
16831
+ # Corresponds to the JSON property `selfLink`
16832
+ # @return [String]
16833
+ attr_accessor :self_link
16834
+
16835
+ # [Output Only] If potential misconfigurations are detected for this SSL policy,
16836
+ # this field will be populated with warning messages.
16837
+ # Corresponds to the JSON property `warnings`
16838
+ # @return [Array<Google::Apis::ComputeBeta::SslPolicy::Warning>]
16839
+ attr_accessor :warnings
16840
+
16841
+ def initialize(**args)
16842
+ update!(**args)
16843
+ end
16844
+
16845
+ # Update properties of this object
16846
+ def update!(**args)
16847
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
16848
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
16849
+ @description = args[:description] if args.key?(:description)
16850
+ @enabled_features = args[:enabled_features] if args.key?(:enabled_features)
16851
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
16852
+ @id = args[:id] if args.key?(:id)
16853
+ @kind = args[:kind] if args.key?(:kind)
16854
+ @min_tls_version = args[:min_tls_version] if args.key?(:min_tls_version)
16855
+ @name = args[:name] if args.key?(:name)
16856
+ @profile = args[:profile] if args.key?(:profile)
16857
+ @self_link = args[:self_link] if args.key?(:self_link)
16858
+ @warnings = args[:warnings] if args.key?(:warnings)
16859
+ end
16860
+
16861
+ #
16862
+ class Warning
16863
+ include Google::Apis::Core::Hashable
16864
+
16865
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
16866
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
16867
+ # Corresponds to the JSON property `code`
16868
+ # @return [String]
16869
+ attr_accessor :code
16870
+
16871
+ # [Output Only] Metadata about this warning in key: value format. For example:
16872
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
16873
+ # Corresponds to the JSON property `data`
16874
+ # @return [Array<Google::Apis::ComputeBeta::SslPolicy::Warning::Datum>]
16875
+ attr_accessor :data
16876
+
16877
+ # [Output Only] A human-readable description of the warning code.
16878
+ # Corresponds to the JSON property `message`
16879
+ # @return [String]
16880
+ attr_accessor :message
16881
+
16882
+ def initialize(**args)
16883
+ update!(**args)
16884
+ end
16885
+
16886
+ # Update properties of this object
16887
+ def update!(**args)
16888
+ @code = args[:code] if args.key?(:code)
16889
+ @data = args[:data] if args.key?(:data)
16890
+ @message = args[:message] if args.key?(:message)
16891
+ end
16892
+
16893
+ #
16894
+ class Datum
16895
+ include Google::Apis::Core::Hashable
16896
+
16897
+ # [Output Only] A key that provides more detail on the warning being returned.
16898
+ # For example, for warnings where there are no results in a list request for a
16899
+ # particular zone, this key might be scope and the key value might be the zone
16900
+ # name. Other examples might be a key indicating a deprecated resource and a
16901
+ # suggested replacement, or a warning about invalid network settings (for
16902
+ # example, if an instance attempts to perform IP forwarding but is not enabled
16903
+ # for IP forwarding).
16904
+ # Corresponds to the JSON property `key`
16905
+ # @return [String]
16906
+ attr_accessor :key
16907
+
16908
+ # [Output Only] A warning data value corresponding to the key.
16909
+ # Corresponds to the JSON property `value`
16910
+ # @return [String]
16911
+ attr_accessor :value
16912
+
16913
+ def initialize(**args)
16914
+ update!(**args)
16915
+ end
16916
+
16917
+ # Update properties of this object
16918
+ def update!(**args)
16919
+ @key = args[:key] if args.key?(:key)
16920
+ @value = args[:value] if args.key?(:value)
16921
+ end
16922
+ end
16923
+ end
16924
+ end
16925
+
16926
+ #
16927
+ class SslPolicyReference
16928
+ include Google::Apis::Core::Hashable
16929
+
16930
+ # URL of the SSL policy resource. Set this to empty string to clear any existing
16931
+ # SSL policy associated with the target proxy resource.
16932
+ # Corresponds to the JSON property `sslPolicy`
16933
+ # @return [String]
16934
+ attr_accessor :ssl_policy
16935
+
16936
+ def initialize(**args)
16937
+ update!(**args)
16938
+ end
16939
+
16940
+ # Update properties of this object
16941
+ def update!(**args)
16942
+ @ssl_policy = args[:ssl_policy] if args.key?(:ssl_policy)
16943
+ end
16944
+ end
16945
+
16946
+ # A Subnetwork resource. (== resource_for beta.subnetworks ==) (== resource_for
16947
+ # v1.subnetworks ==)
16316
16948
  class Subnetwork
16317
16949
  include Google::Apis::Core::Hashable
16318
16950
 
@@ -16927,7 +17559,9 @@ module Google
16927
17559
  end
16928
17560
  end
16929
17561
 
16930
- # A TargetHttpProxy resource. This resource defines an HTTP proxy.
17562
+ # A TargetHttpProxy resource. This resource defines an HTTP proxy. (==
17563
+ # resource_for beta.targetHttpProxies ==) (== resource_for v1.targetHttpProxies =
17564
+ # =)
16931
17565
  class TargetHttpProxy
16932
17566
  include Google::Apis::Core::Hashable
16933
17567
 
@@ -17109,6 +17743,25 @@ module Google
17109
17743
  end
17110
17744
  end
17111
17745
 
17746
+ #
17747
+ class TargetHttpsProxiesSetQuicOverrideRequest
17748
+ include Google::Apis::Core::Hashable
17749
+
17750
+ # QUIC policy for the TargetHttpsProxy resource.
17751
+ # Corresponds to the JSON property `quicOverride`
17752
+ # @return [String]
17753
+ attr_accessor :quic_override
17754
+
17755
+ def initialize(**args)
17756
+ update!(**args)
17757
+ end
17758
+
17759
+ # Update properties of this object
17760
+ def update!(**args)
17761
+ @quic_override = args[:quic_override] if args.key?(:quic_override)
17762
+ end
17763
+ end
17764
+
17112
17765
  #
17113
17766
  class TargetHttpsProxiesSetSslCertificatesRequest
17114
17767
  include Google::Apis::Core::Hashable
@@ -17129,7 +17782,9 @@ module Google
17129
17782
  end
17130
17783
  end
17131
17784
 
17132
- # A TargetHttpsProxy resource. This resource defines an HTTPS proxy.
17785
+ # A TargetHttpsProxy resource. This resource defines an HTTPS proxy. (==
17786
+ # resource_for beta.targetHttpsProxies ==) (== resource_for v1.
17787
+ # targetHttpsProxies ==)
17133
17788
  class TargetHttpsProxy
17134
17789
  include Google::Apis::Core::Hashable
17135
17790
 
@@ -17166,6 +17821,17 @@ module Google
17166
17821
  # @return [String]
17167
17822
  attr_accessor :name
17168
17823
 
17824
+ # Specifies the QUIC override policy for this TargetHttpsProxy resource. This
17825
+ # determines whether the load balancer will attempt to negotiate QUIC with
17826
+ # clients or not. Can specify one of NONE, ENABLE, or DISABLE. Specify ENABLE to
17827
+ # always enable QUIC, Enables QUIC when set to ENABLE, and disables QUIC when
17828
+ # set to DISABLE. If NONE is specified, uses the QUIC policy with no user
17829
+ # overrides, which is equivalent to DISABLE. Not specifying this field is
17830
+ # equivalent to specifying NONE.
17831
+ # Corresponds to the JSON property `quicOverride`
17832
+ # @return [String]
17833
+ attr_accessor :quic_override
17834
+
17169
17835
  # [Output Only] Server-defined URL for the resource.
17170
17836
  # Corresponds to the JSON property `selfLink`
17171
17837
  # @return [String]
@@ -17178,6 +17844,13 @@ module Google
17178
17844
  # @return [Array<String>]
17179
17845
  attr_accessor :ssl_certificates
17180
17846
 
17847
+ # URL of SslPolicy resource that will be associated with the TargetHttpsProxy
17848
+ # resource. If not set, the TargetHttpsProxy resource will not have any SSL
17849
+ # policy configured.
17850
+ # Corresponds to the JSON property `sslPolicy`
17851
+ # @return [String]
17852
+ attr_accessor :ssl_policy
17853
+
17181
17854
  # A fully-qualified or valid partial URL to the UrlMap resource that defines the
17182
17855
  # mapping from URL to the BackendService. For example, the following are all
17183
17856
  # valid URLs for specifying a URL map:
@@ -17199,8 +17872,10 @@ module Google
17199
17872
  @id = args[:id] if args.key?(:id)
17200
17873
  @kind = args[:kind] if args.key?(:kind)
17201
17874
  @name = args[:name] if args.key?(:name)
17875
+ @quic_override = args[:quic_override] if args.key?(:quic_override)
17202
17876
  @self_link = args[:self_link] if args.key?(:self_link)
17203
17877
  @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
17878
+ @ssl_policy = args[:ssl_policy] if args.key?(:ssl_policy)
17204
17879
  @url_map = args[:url_map] if args.key?(:url_map)
17205
17880
  end
17206
17881
  end
@@ -17324,7 +17999,8 @@ module Google
17324
17999
  end
17325
18000
 
17326
18001
  # A TargetInstance resource. This resource defines an endpoint instance that
17327
- # terminates traffic of certain protocols.
18002
+ # terminates traffic of certain protocols. (== resource_for beta.targetInstances
18003
+ # ==) (== resource_for v1.targetInstances ==)
17328
18004
  class TargetInstance
17329
18005
  include Google::Apis::Core::Hashable
17330
18006
 
@@ -17733,7 +18409,8 @@ module Google
17733
18409
  end
17734
18410
 
17735
18411
  # A TargetPool resource. This resource defines a pool of instances, an
17736
- # associated HttpHealthCheck resource, and the fallback target pool.
18412
+ # associated HttpHealthCheck resource, and the fallback target pool. (==
18413
+ # resource_for beta.targetPools ==) (== resource_for v1.targetPools ==)
17737
18414
  class TargetPool
17738
18415
  include Google::Apis::Core::Hashable
17739
18416
 
@@ -18372,7 +19049,8 @@ module Google
18372
19049
  end
18373
19050
  end
18374
19051
 
18375
- # A TargetSslProxy resource. This resource defines an SSL proxy.
19052
+ # A TargetSslProxy resource. This resource defines an SSL proxy. (==
19053
+ # resource_for beta.targetSslProxies ==) (== resource_for v1.targetSslProxies ==)
18376
19054
  class TargetSslProxy
18377
19055
  include Google::Apis::Core::Hashable
18378
19056
 
@@ -18431,6 +19109,13 @@ module Google
18431
19109
  # @return [Array<String>]
18432
19110
  attr_accessor :ssl_certificates
18433
19111
 
19112
+ # URL of SslPolicy resource that will be associated with the TargetSslProxy
19113
+ # resource. If not set, the TargetSslProxy resource will not have any SSL policy
19114
+ # configured.
19115
+ # Corresponds to the JSON property `sslPolicy`
19116
+ # @return [String]
19117
+ attr_accessor :ssl_policy
19118
+
18434
19119
  def initialize(**args)
18435
19120
  update!(**args)
18436
19121
  end
@@ -18446,6 +19131,7 @@ module Google
18446
19131
  @self_link = args[:self_link] if args.key?(:self_link)
18447
19132
  @service = args[:service] if args.key?(:service)
18448
19133
  @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
19134
+ @ssl_policy = args[:ssl_policy] if args.key?(:ssl_policy)
18449
19135
  end
18450
19136
  end
18451
19137
 
@@ -18605,7 +19291,8 @@ module Google
18605
19291
  end
18606
19292
  end
18607
19293
 
18608
- # A TargetTcpProxy resource. This resource defines a TCP proxy.
19294
+ # A TargetTcpProxy resource. This resource defines a TCP proxy. (== resource_for
19295
+ # beta.targetTcpProxies ==) (== resource_for v1.targetTcpProxies ==)
18609
19296
  class TargetTcpProxy
18610
19297
  include Google::Apis::Core::Hashable
18611
19298
 
@@ -18792,7 +19479,8 @@ module Google
18792
19479
  end
18793
19480
  end
18794
19481
 
18795
- # Represents a Target VPN gateway resource.
19482
+ # Represents a Target VPN gateway resource. (== resource_for beta.
19483
+ # targetVpnGateways ==) (== resource_for v1.targetVpnGateways ==)
18796
19484
  class TargetVpnGateway
18797
19485
  include Google::Apis::Core::Hashable
18798
19486
 
@@ -18826,6 +19514,25 @@ module Google
18826
19514
  # @return [String]
18827
19515
  attr_accessor :kind
18828
19516
 
19517
+ # A fingerprint for the labels being applied to this TargetVpnGateway, which is
19518
+ # essentially a hash of the labels set used for optimistic locking. The
19519
+ # fingerprint is initially generated by Compute Engine and changes after every
19520
+ # request to modify or update labels. You must always provide an up-to-date
19521
+ # fingerprint hash in order to update or change labels.
19522
+ # To see the latest fingerprint, make a get() request to retrieve an
19523
+ # TargetVpnGateway.
19524
+ # Corresponds to the JSON property `labelFingerprint`
19525
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
19526
+ # @return [String]
19527
+ attr_accessor :label_fingerprint
19528
+
19529
+ # Labels to apply to this TargetVpnGateway resource. These can be later modified
19530
+ # by the setLabels method. Each label key/value must comply with RFC1035. Label
19531
+ # values may be empty.
19532
+ # Corresponds to the JSON property `labels`
19533
+ # @return [Hash<String,String>]
19534
+ attr_accessor :labels
19535
+
18829
19536
  # Name of the resource. Provided by the client when the resource is created. The
18830
19537
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
18831
19538
  # name must be 1-63 characters long and match the regular expression [a-z]([-a-
@@ -18874,6 +19581,8 @@ module Google
18874
19581
  @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
18875
19582
  @id = args[:id] if args.key?(:id)
18876
19583
  @kind = args[:kind] if args.key?(:kind)
19584
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
19585
+ @labels = args[:labels] if args.key?(:labels)
18877
19586
  @name = args[:name] if args.key?(:name)
18878
19587
  @network = args[:network] if args.key?(:network)
18879
19588
  @region = args[:region] if args.key?(:region)
@@ -19708,7 +20417,8 @@ module Google
19708
20417
  end
19709
20418
  end
19710
20419
 
19711
- #
20420
+ # VPN tunnel resource. (== resource_for beta.vpnTunnels ==) (== resource_for v1.
20421
+ # vpnTunnels ==)
19712
20422
  class VpnTunnel
19713
20423
  include Google::Apis::Core::Hashable
19714
20424
 
@@ -19745,6 +20455,24 @@ module Google
19745
20455
  # @return [String]
19746
20456
  attr_accessor :kind
19747
20457
 
20458
+ # A fingerprint for the labels being applied to this VpnTunnel, which is
20459
+ # essentially a hash of the labels set used for optimistic locking. The
20460
+ # fingerprint is initially generated by Compute Engine and changes after every
20461
+ # request to modify or update labels. You must always provide an up-to-date
20462
+ # fingerprint hash in order to update or change labels.
20463
+ # To see the latest fingerprint, make a get() request to retrieve a VpnTunnel.
20464
+ # Corresponds to the JSON property `labelFingerprint`
20465
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
20466
+ # @return [String]
20467
+ attr_accessor :label_fingerprint
20468
+
20469
+ # Labels to apply to this VpnTunnel. These can be later modified by the
20470
+ # setLabels method. Each label key/value pair must comply with RFC1035. Label
20471
+ # values may be empty.
20472
+ # Corresponds to the JSON property `labels`
20473
+ # @return [Hash<String,String>]
20474
+ attr_accessor :labels
20475
+
19748
20476
  # Local traffic selector to use when establishing the VPN tunnel with peer VPN
19749
20477
  # gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/
19750
20478
  # 16. The ranges should be disjoint. Only IPv4 is supported.
@@ -19823,6 +20551,8 @@ module Google
19823
20551
  @id = args[:id] if args.key?(:id)
19824
20552
  @ike_version = args[:ike_version] if args.key?(:ike_version)
19825
20553
  @kind = args[:kind] if args.key?(:kind)
20554
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
20555
+ @labels = args[:labels] if args.key?(:labels)
19826
20556
  @local_traffic_selector = args[:local_traffic_selector] if args.key?(:local_traffic_selector)
19827
20557
  @name = args[:name] if args.key?(:name)
19828
20558
  @peer_ip = args[:peer_ip] if args.key?(:peer_ip)
@@ -20306,7 +21036,7 @@ module Google
20306
21036
  end
20307
21037
  end
20308
21038
 
20309
- # A Zone resource.
21039
+ # A Zone resource. (== resource_for beta.zones ==) (== resource_for v1.zones ==)
20310
21040
  class Zone
20311
21041
  include Google::Apis::Core::Hashable
20312
21042