google-api-client 0.18.1 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
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