google-api-client 0.36.0 → 0.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +69 -0
  3. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  4. data/generated/google/apis/androidenterprise_v1/classes.rb +2 -1
  5. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  6. data/generated/google/apis/androidmanagement_v1/classes.rb +7 -4
  7. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  8. data/generated/google/apis/androidpublisher_v3/classes.rb +32 -32
  9. data/generated/google/apis/androidpublisher_v3/representations.rb +17 -17
  10. data/generated/google/apis/bigquery_v2.rb +1 -1
  11. data/generated/google/apis/bigquery_v2/classes.rb +2 -1
  12. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  13. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +81 -41
  14. data/generated/google/apis/bigqueryconnection_v1beta1/representations.rb +2 -0
  15. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +8 -8
  16. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  17. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +60 -30
  18. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  19. data/generated/google/apis/bigtableadmin_v2/classes.rb +75 -40
  20. data/generated/google/apis/bigtableadmin_v2/service.rb +1 -1
  21. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  22. data/generated/google/apis/binaryauthorization_v1/classes.rb +75 -41
  23. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  24. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +75 -41
  25. data/generated/google/apis/chat_v1.rb +1 -1
  26. data/generated/google/apis/chat_v1/service.rb +5 -2
  27. data/generated/google/apis/cloudasset_v1.rb +1 -1
  28. data/generated/google/apis/cloudasset_v1/classes.rb +206 -0
  29. data/generated/google/apis/cloudasset_v1/representations.rb +101 -0
  30. data/generated/google/apis/cloudasset_v1/service.rb +174 -0
  31. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  32. data/generated/google/apis/cloudbilling_v1/classes.rb +59 -41
  33. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  34. data/generated/google/apis/cloudbuild_v1/classes.rb +9 -5
  35. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  36. data/generated/google/apis/cloudfunctions_v1/classes.rb +75 -41
  37. data/generated/google/apis/cloudiot_v1.rb +1 -1
  38. data/generated/google/apis/cloudiot_v1/classes.rb +75 -41
  39. data/generated/google/apis/cloudkms_v1.rb +1 -1
  40. data/generated/google/apis/cloudkms_v1/classes.rb +104 -41
  41. data/generated/google/apis/cloudkms_v1/representations.rb +15 -0
  42. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  43. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +75 -41
  44. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  45. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +75 -41
  46. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +1 -1
  47. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  48. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +75 -41
  49. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  50. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +75 -41
  51. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  52. data/generated/google/apis/cloudsearch_v1/classes.rb +3 -2
  53. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  54. data/generated/google/apis/cloudtasks_v2/classes.rb +81 -47
  55. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  56. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +75 -41
  57. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  58. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +81 -47
  59. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  60. data/generated/google/apis/cloudtrace_v2/classes.rb +5 -3
  61. data/generated/google/apis/compute_alpha.rb +1 -1
  62. data/generated/google/apis/compute_alpha/classes.rb +68 -47
  63. data/generated/google/apis/compute_alpha/representations.rb +2 -1
  64. data/generated/google/apis/compute_alpha/service.rb +54 -0
  65. data/generated/google/apis/compute_beta.rb +1 -1
  66. data/generated/google/apis/compute_beta/classes.rb +597 -40
  67. data/generated/google/apis/compute_beta/representations.rb +164 -0
  68. data/generated/google/apis/compute_beta/service.rb +343 -1
  69. data/generated/google/apis/compute_v1.rb +1 -1
  70. data/generated/google/apis/compute_v1/classes.rb +54 -39
  71. data/generated/google/apis/compute_v1/representations.rb +1 -0
  72. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  73. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +75 -41
  74. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  75. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +77 -43
  76. data/generated/google/apis/containeranalysis_v1beta1/service.rb +26 -20
  77. data/generated/google/apis/content_v2.rb +1 -1
  78. data/generated/google/apis/content_v2/classes.rb +46 -42
  79. data/generated/google/apis/content_v2_1.rb +1 -1
  80. data/generated/google/apis/content_v2_1/classes.rb +46 -42
  81. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  82. data/generated/google/apis/datacatalog_v1beta1/classes.rb +75 -41
  83. data/generated/google/apis/datastore_v1.rb +1 -1
  84. data/generated/google/apis/datastore_v1/classes.rb +16 -22
  85. data/generated/google/apis/datastore_v1/service.rb +10 -10
  86. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  87. data/generated/google/apis/datastore_v1beta3/classes.rb +5 -4
  88. data/generated/google/apis/datastore_v1beta3/service.rb +8 -8
  89. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  90. data/generated/google/apis/dfareporting_v3_4/classes.rb +88 -88
  91. data/generated/google/apis/dfareporting_v3_4/representations.rb +39 -39
  92. data/generated/google/apis/dialogflow_v2.rb +1 -1
  93. data/generated/google/apis/dialogflow_v2/classes.rb +1 -1
  94. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  95. data/generated/google/apis/dialogflow_v2beta1/classes.rb +1 -1
  96. data/generated/google/apis/dlp_v2.rb +1 -1
  97. data/generated/google/apis/dlp_v2/classes.rb +77 -0
  98. data/generated/google/apis/dlp_v2/representations.rb +42 -0
  99. data/generated/google/apis/file_v1.rb +1 -1
  100. data/generated/google/apis/file_v1/classes.rb +59 -12
  101. data/generated/google/apis/file_v1/representations.rb +19 -2
  102. data/generated/google/apis/file_v1/service.rb +8 -4
  103. data/generated/google/apis/file_v1beta1.rb +1 -1
  104. data/generated/google/apis/file_v1beta1/classes.rb +59 -12
  105. data/generated/google/apis/file_v1beta1/representations.rb +19 -2
  106. data/generated/google/apis/file_v1beta1/service.rb +8 -4
  107. data/generated/google/apis/firebaserules_v1.rb +1 -1
  108. data/generated/google/apis/firebaserules_v1/classes.rb +75 -0
  109. data/generated/google/apis/firebaserules_v1/representations.rb +35 -0
  110. data/generated/google/apis/gmail_v1.rb +1 -1
  111. data/generated/google/apis/gmail_v1/classes.rb +6 -2
  112. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  113. data/generated/google/apis/iamcredentials_v1/classes.rb +7 -4
  114. data/generated/google/apis/iamcredentials_v1/service.rb +4 -4
  115. data/generated/google/apis/iap_v1.rb +1 -1
  116. data/generated/google/apis/iap_v1/classes.rb +225 -40
  117. data/generated/google/apis/iap_v1/representations.rb +84 -0
  118. data/generated/google/apis/iap_v1/service.rb +292 -0
  119. data/generated/google/apis/iap_v1beta1.rb +1 -1
  120. data/generated/google/apis/iap_v1beta1/classes.rb +75 -40
  121. data/generated/google/apis/logging_v2.rb +1 -1
  122. data/generated/google/apis/logging_v2/classes.rb +29 -41
  123. data/generated/google/apis/ml_v1.rb +1 -1
  124. data/generated/google/apis/ml_v1/classes.rb +14 -21
  125. data/generated/google/apis/ml_v1/service.rb +15 -18
  126. data/generated/google/apis/monitoring_v1.rb +1 -1
  127. data/generated/google/apis/monitoring_v1/classes.rb +15 -11
  128. data/generated/google/apis/monitoring_v3.rb +1 -1
  129. data/generated/google/apis/monitoring_v3/classes.rb +6 -10
  130. data/generated/google/apis/monitoring_v3/representations.rb +0 -1
  131. data/generated/google/apis/{fusiontables_v1.rb → policytroubleshooter_v1.rb} +10 -13
  132. data/generated/google/apis/policytroubleshooter_v1/classes.rb +700 -0
  133. data/generated/google/apis/policytroubleshooter_v1/representations.rb +203 -0
  134. data/generated/google/apis/policytroubleshooter_v1/service.rb +90 -0
  135. data/generated/google/apis/pubsub_v1.rb +1 -1
  136. data/generated/google/apis/pubsub_v1/classes.rb +75 -41
  137. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  138. data/generated/google/apis/pubsub_v1beta2/classes.rb +75 -41
  139. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  140. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +1 -1
  141. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  142. data/generated/google/apis/remotebuildexecution_v2/classes.rb +1 -1
  143. data/generated/google/apis/run_v1.rb +1 -1
  144. data/generated/google/apis/run_v1/classes.rb +75 -41
  145. data/generated/google/apis/run_v1alpha1.rb +1 -1
  146. data/generated/google/apis/run_v1alpha1/classes.rb +82 -41
  147. data/generated/google/apis/run_v1alpha1/representations.rb +2 -0
  148. data/generated/google/apis/{fusiontables_v2.rb → secretmanager_v1beta1.rb} +11 -14
  149. data/generated/google/apis/secretmanager_v1beta1/classes.rb +936 -0
  150. data/generated/google/apis/secretmanager_v1beta1/representations.rb +388 -0
  151. data/generated/google/apis/secretmanager_v1beta1/service.rb +674 -0
  152. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  153. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +85 -1
  154. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +32 -0
  155. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  156. data/generated/google/apis/servicecontrol_v1/classes.rb +4 -3
  157. data/generated/google/apis/servicecontrol_v1/service.rb +2 -1
  158. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  159. data/generated/google/apis/servicenetworking_v1/classes.rb +38 -1
  160. data/generated/google/apis/servicenetworking_v1/representations.rb +14 -0
  161. data/generated/google/apis/servicenetworking_v1/service.rb +35 -0
  162. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  163. data/generated/google/apis/servicenetworking_v1beta/classes.rb +16 -1
  164. data/generated/google/apis/servicenetworking_v1beta/representations.rb +1 -0
  165. data/generated/google/apis/serviceusage_v1.rb +1 -1
  166. data/generated/google/apis/serviceusage_v1/classes.rb +16 -1
  167. data/generated/google/apis/serviceusage_v1/representations.rb +1 -0
  168. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  169. data/generated/google/apis/serviceusage_v1beta1/classes.rb +16 -1
  170. data/generated/google/apis/serviceusage_v1beta1/representations.rb +1 -0
  171. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  172. data/generated/google/apis/storagetransfer_v1/service.rb +4 -2
  173. data/generated/google/apis/testing_v1.rb +1 -1
  174. data/generated/google/apis/testing_v1/classes.rb +2 -2
  175. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  176. data/generated/google/apis/toolresults_v1beta3/classes.rb +374 -2
  177. data/generated/google/apis/toolresults_v1beta3/representations.rb +109 -0
  178. data/generated/google/apis/toolresults_v1beta3/service.rb +98 -0
  179. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  180. data/lib/google/apis/version.rb +1 -1
  181. metadata +11 -11
  182. data/generated/google/apis/fusiontables_v1/classes.rb +0 -977
  183. data/generated/google/apis/fusiontables_v1/representations.rb +0 -449
  184. data/generated/google/apis/fusiontables_v1/service.rb +0 -1307
  185. data/generated/google/apis/fusiontables_v2/classes.rb +0 -1049
  186. data/generated/google/apis/fusiontables_v2/representations.rb +0 -457
  187. data/generated/google/apis/fusiontables_v2/service.rb +0 -1431
@@ -6789,6 +6789,7 @@ module Google
6789
6789
  class DistributionPolicy
6790
6790
  # @private
6791
6791
  class Representation < Google::Apis::Core::JsonRepresentation
6792
+ property :target_shape, as: 'targetShape'
6792
6793
  collection :zones, as: 'zones', class: Google::Apis::ComputeAlpha::DistributionPolicyZoneConfiguration, decorator: Google::Apis::ComputeAlpha::DistributionPolicyZoneConfiguration::Representation
6793
6794
 
6794
6795
  end
@@ -9466,7 +9467,6 @@ module Google
9466
9467
  class MachineImageList
9467
9468
  # @private
9468
9469
  class Representation < Google::Apis::Core::JsonRepresentation
9469
- property :etag, as: 'etag'
9470
9470
  property :id, as: 'id'
9471
9471
  collection :items, as: 'items', class: Google::Apis::ComputeAlpha::MachineImage, decorator: Google::Apis::ComputeAlpha::MachineImage::Representation
9472
9472
 
@@ -10127,6 +10127,7 @@ module Google
10127
10127
 
10128
10128
  property :creation_timestamp, as: 'creationTimestamp'
10129
10129
  property :description, as: 'description'
10130
+ property :fingerprint, :base64 => true, as: 'fingerprint'
10130
10131
  property :id, :numeric_string => true, as: 'id'
10131
10132
  property :kind, as: 'kind'
10132
10133
  property :maintenance_policy, as: 'maintenancePolicy'
@@ -16530,6 +16530,60 @@ module Google
16530
16530
  execute_or_queue_command(command, &block)
16531
16531
  end
16532
16532
 
16533
+ # Patch the node group. (== suppress_warning http-rest-shadowed ==)
16534
+ # @param [String] project
16535
+ # Project ID for this request.
16536
+ # @param [String] zone
16537
+ # The name of the zone for this request.
16538
+ # @param [String] node_group
16539
+ # Name of the NodeGroup resource to update.
16540
+ # @param [Google::Apis::ComputeAlpha::NodeGroup] node_group_object
16541
+ # @param [String] request_id
16542
+ # An optional request ID to identify requests. Specify a unique request ID so
16543
+ # that if you must retry your request, the server will know to ignore the
16544
+ # request if it has already been completed.
16545
+ # For example, consider a situation where you make an initial request and the
16546
+ # request times out. If you make the request again with the same request ID, the
16547
+ # server can check if original operation with the same request ID was received,
16548
+ # and if so, will ignore the second request. This prevents clients from
16549
+ # accidentally creating duplicate commitments.
16550
+ # The request ID must be a valid UUID with the exception that zero UUID is not
16551
+ # supported (00000000-0000-0000-0000-000000000000).
16552
+ # @param [String] fields
16553
+ # Selector specifying which fields to include in a partial response.
16554
+ # @param [String] quota_user
16555
+ # An opaque string that represents a user for quota purposes. Must not exceed 40
16556
+ # characters.
16557
+ # @param [String] user_ip
16558
+ # Deprecated. Please use quotaUser instead.
16559
+ # @param [Google::Apis::RequestOptions] options
16560
+ # Request-specific options
16561
+ #
16562
+ # @yield [result, err] Result & error if block supplied
16563
+ # @yieldparam result [Google::Apis::ComputeAlpha::Operation] parsed result object
16564
+ # @yieldparam err [StandardError] error object if request failed
16565
+ #
16566
+ # @return [Google::Apis::ComputeAlpha::Operation]
16567
+ #
16568
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
16569
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
16570
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
16571
+ def patch_node_group(project, zone, node_group, node_group_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
16572
+ command = make_simple_command(:patch, '{project}/zones/{zone}/nodeGroups/{nodeGroup}', options)
16573
+ command.request_representation = Google::Apis::ComputeAlpha::NodeGroup::Representation
16574
+ command.request_object = node_group_object
16575
+ command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation
16576
+ command.response_class = Google::Apis::ComputeAlpha::Operation
16577
+ command.params['project'] = project unless project.nil?
16578
+ command.params['zone'] = zone unless zone.nil?
16579
+ command.params['nodeGroup'] = node_group unless node_group.nil?
16580
+ command.query['requestId'] = request_id unless request_id.nil?
16581
+ command.query['fields'] = fields unless fields.nil?
16582
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
16583
+ command.query['userIp'] = user_ip unless user_ip.nil?
16584
+ execute_or_queue_command(command, &block)
16585
+ end
16586
+
16533
16587
  # Sets the autoscaling policy of the node group. (== suppress_warning http-rest-
16534
16588
  # shadowed ==)
16535
16589
  # @param [String] project
@@ -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 = '20191014'
28
+ REVISION = '20191025'
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'
@@ -1588,12 +1588,13 @@ module Google
1588
1588
  attr_accessor :self_link
1589
1589
 
1590
1590
  # [Output Only] The status of the autoscaler configuration. Current set of
1591
- # possible values: PENDING: Autoscaler backend hasn't read new/updated
1592
- # configuration DELETING: Configuration is being deleted ACTIVE: Configuration
1593
- # is acknowledged to be effective. Some warnings might or might not be present
1594
- # in the status_details field. ERROR: Configuration has errors. Actionable for
1595
- # users. Details are present in the status_details field. New values might be
1596
- # added in the future.
1591
+ # possible values:
1592
+ # - PENDING: Autoscaler backend hasn't read new/updated configuration.
1593
+ # - DELETING: Configuration is being deleted.
1594
+ # - ACTIVE: Configuration is acknowledged to be effective. Some warnings might
1595
+ # be present in the statusDetails field.
1596
+ # - ERROR: Configuration has errors. Actionable for users. Details are present
1597
+ # in the statusDetails field. New values might be added in the future.
1597
1598
  # Corresponds to the JSON property `status`
1598
1599
  # @return [String]
1599
1600
  attr_accessor :status
@@ -1883,38 +1884,45 @@ module Google
1883
1884
  # @return [String]
1884
1885
  attr_accessor :message
1885
1886
 
1886
- # The type of error, warning or notice returned. Current set of possible values:
1887
- # ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are
1888
- # unhealthy (not in RUNNING state). BACKEND_SERVICE_DOES_NOT_EXIST (ERROR):
1889
- # There is no backend service attached to the instance group.
1890
- # CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends size bigger than
1891
- # maxNumReplicas. CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom
1892
- # metric samples are not exported often enough to be a credible base for
1893
- # autoscaling. CUSTOM_METRIC_INVALID (ERROR): The custom metric that was
1894
- # specified does not exist or does not have the necessary labels. MIN_EQUALS_MAX
1895
- # (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the
1896
- # autoscaler cannot add or remove instances from the instance group.
1897
- # MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive
1887
+ # The type of error, warning, or notice returned. Current set of possible values:
1888
+ #
1889
+ # - ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are
1890
+ # unhealthy (not in RUNNING state).
1891
+ # - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached
1892
+ # to the instance group.
1893
+ # - CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater
1894
+ # than maxNumReplicas.
1895
+ # - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples
1896
+ # are not exported often enough to be a credible base for autoscaling.
1897
+ # - CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not
1898
+ # exist or does not have the necessary labels.
1899
+ # - MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas.
1900
+ # This means the autoscaler cannot add or remove instances from the instance
1901
+ # group.
1902
+ # - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive
1898
1903
  # any data from the custom metric configured for autoscaling.
1899
- # MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to
1900
- # scale based on a load balancing signal but the instance group has not received
1901
- # any requests from the load balancer. MODE_OFF (WARNING): Autoscaling is turned
1902
- # off. The number of instances in the group won't change automatically. The
1903
- # autoscaling configuration is preserved. MODE_ONLY_UP (WARNING): Autoscaling is
1904
- # in the "Autoscale only up" mode. Instances in the group will be only added.
1905
- # MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled
1906
- # because it has more than one backend service attached to it.
1907
- # NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): Exceeded quota for necessary resources,
1908
- # such as CPU, number of instances and so on. REGION_RESOURCE_STOCKOUT (ERROR):
1909
- # Showed only for regional autoscalers: there is a resource stockout in the
1910
- # chosen region. SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled
1911
- # does not exist. UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR):
1912
- # Autoscaling does not work with an HTTP/S load balancer that has been
1913
- # configured for maxRate. ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers:
1914
- # there is a resource stockout in the chosen zone. For regional autoscalers: in
1915
- # at least one of the zones you're using there is a resource stockout. New
1916
- # values might be added in the future. Some of the values might not be available
1917
- # in all API versions.
1904
+ # - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured
1905
+ # to scale based on a load balancing signal but the instance group has not
1906
+ # received any requests from the load balancer.
1907
+ # - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in
1908
+ # the group won't change automatically. The autoscaling configuration is
1909
+ # preserved.
1910
+ # - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only up" mode. The
1911
+ # autoscaler can add instances but not remove any.
1912
+ # - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be
1913
+ # autoscaled because it has more than one backend service attached to it.
1914
+ # - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the
1915
+ # necessary resources, such as CPU or number of instances.
1916
+ # - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there
1917
+ # is a resource stockout in the chosen region.
1918
+ # - SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not
1919
+ # exist.
1920
+ # - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does
1921
+ # not work with an HTTP/S load balancer that has been configured for maxRate.
1922
+ # - ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource
1923
+ # stockout in the chosen zone. For regional autoscalers: in at least one of the
1924
+ # zones you're using there is a resource stockout. New values might be added in
1925
+ # the future. Some of the values might not be available in all API versions.
1918
1926
  # Corresponds to the JSON property `type`
1919
1927
  # @return [String]
1920
1928
  attr_accessor :type
@@ -4530,7 +4538,7 @@ module Google
4530
4538
  attr_accessor :kms_key_name
4531
4539
 
4532
4540
  # The service account being used for the encryption request for the given KMS
4533
- # key. If absent, default GCE compute robot account will be used
4541
+ # key. If absent, the Compute Engine default service account is used.
4534
4542
  # Corresponds to the JSON property `kmsKeyServiceAccount`
4535
4543
  # @return [String]
4536
4544
  attr_accessor :kms_key_service_account
@@ -4684,6 +4692,13 @@ module Google
4684
4692
  # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
4685
4693
  attr_accessor :disk_encryption_key
4686
4694
 
4695
+ # Specifies whether the disk restored from a source snapshot should erase
4696
+ # Windows specific VSS signature.
4697
+ # Corresponds to the JSON property `eraseWindowsVssSignature`
4698
+ # @return [Boolean]
4699
+ attr_accessor :erase_windows_vss_signature
4700
+ alias_method :erase_windows_vss_signature?, :erase_windows_vss_signature
4701
+
4687
4702
  # A list of features to enable on the guest operating system. Applicable only
4688
4703
  # for bootable images. Read Enabling guest operating system features to see a
4689
4704
  # list of available options.
@@ -4895,6 +4910,7 @@ module Google
4895
4910
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
4896
4911
  @description = args[:description] if args.key?(:description)
4897
4912
  @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
4913
+ @erase_windows_vss_signature = args[:erase_windows_vss_signature] if args.key?(:erase_windows_vss_signature)
4898
4914
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
4899
4915
  @id = args[:id] if args.key?(:id)
4900
4916
  @kind = args[:kind] if args.key?(:kind)
@@ -10087,6 +10103,13 @@ module Google
10087
10103
  # @return [Google::Apis::ComputeBeta::DisplayDevice]
10088
10104
  attr_accessor :display_device
10089
10105
 
10106
+ # Specifies whether the disks restored from source snapshots or source machine
10107
+ # image should erase Windows specific VSS signature.
10108
+ # Corresponds to the JSON property `eraseWindowsVssSignature`
10109
+ # @return [Boolean]
10110
+ attr_accessor :erase_windows_vss_signature
10111
+ alias_method :erase_windows_vss_signature?, :erase_windows_vss_signature
10112
+
10090
10113
  # A list of the type and count of accelerator cards attached to the instance.
10091
10114
  # Corresponds to the JSON property `guestAccelerators`
10092
10115
  # @return [Array<Google::Apis::ComputeBeta::AcceleratorConfig>]
@@ -10221,6 +10244,16 @@ module Google
10221
10244
  # @return [Google::Apis::ComputeBeta::ShieldedVmIntegrityPolicy]
10222
10245
  attr_accessor :shielded_vm_integrity_policy
10223
10246
 
10247
+ # Source machine image
10248
+ # Corresponds to the JSON property `sourceMachineImage`
10249
+ # @return [String]
10250
+ attr_accessor :source_machine_image
10251
+
10252
+ # Represents a customer-supplied encryption key
10253
+ # Corresponds to the JSON property `sourceMachineImageEncryptionKey`
10254
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
10255
+ attr_accessor :source_machine_image_encryption_key
10256
+
10224
10257
  # [Output Only] Whether a VM has been restricted for start because Compute
10225
10258
  # Engine has detected suspicious activity.
10226
10259
  # Corresponds to the JSON property `startRestricted`
@@ -10265,6 +10298,7 @@ module Google
10265
10298
  @description = args[:description] if args.key?(:description)
10266
10299
  @disks = args[:disks] if args.key?(:disks)
10267
10300
  @display_device = args[:display_device] if args.key?(:display_device)
10301
+ @erase_windows_vss_signature = args[:erase_windows_vss_signature] if args.key?(:erase_windows_vss_signature)
10268
10302
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
10269
10303
  @hostname = args[:hostname] if args.key?(:hostname)
10270
10304
  @id = args[:id] if args.key?(:id)
@@ -10284,6 +10318,8 @@ module Google
10284
10318
  @shielded_instance_integrity_policy = args[:shielded_instance_integrity_policy] if args.key?(:shielded_instance_integrity_policy)
10285
10319
  @shielded_vm_config = args[:shielded_vm_config] if args.key?(:shielded_vm_config)
10286
10320
  @shielded_vm_integrity_policy = args[:shielded_vm_integrity_policy] if args.key?(:shielded_vm_integrity_policy)
10321
+ @source_machine_image = args[:source_machine_image] if args.key?(:source_machine_image)
10322
+ @source_machine_image_encryption_key = args[:source_machine_image_encryption_key] if args.key?(:source_machine_image_encryption_key)
10287
10323
  @start_restricted = args[:start_restricted] if args.key?(:start_restricted)
10288
10324
  @status = args[:status] if args.key?(:status)
10289
10325
  @status_message = args[:status_message] if args.key?(:status_message)
@@ -15174,6 +15210,241 @@ module Google
15174
15210
  end
15175
15211
  end
15176
15212
 
15213
+ # Machine image resource.
15214
+ class MachineImage
15215
+ include Google::Apis::Core::Hashable
15216
+
15217
+ # [Output Only] The creation timestamp for this machine image in RFC3339 text
15218
+ # format.
15219
+ # Corresponds to the JSON property `creationTimestamp`
15220
+ # @return [String]
15221
+ attr_accessor :creation_timestamp
15222
+
15223
+ # An optional description of this resource. Provide this property when you
15224
+ # create the resource.
15225
+ # Corresponds to the JSON property `description`
15226
+ # @return [String]
15227
+ attr_accessor :description
15228
+
15229
+ # [Input Only] Specifies to create an application consistent machine image by
15230
+ # informing the OS to prepare for the snapshot process. Currently only supported
15231
+ # on Windows instances using the Volume Shadow Copy Service (VSS).
15232
+ # Corresponds to the JSON property `guestFlush`
15233
+ # @return [Boolean]
15234
+ attr_accessor :guest_flush
15235
+ alias_method :guest_flush?, :guest_flush
15236
+
15237
+ # [Output Only] A unique identifier for this machine image. The server defines
15238
+ # this identifier.
15239
+ # Corresponds to the JSON property `id`
15240
+ # @return [Fixnum]
15241
+ attr_accessor :id
15242
+
15243
+ # [Output Only] The resource type, which is always compute#machineImage for
15244
+ # machine image.
15245
+ # Corresponds to the JSON property `kind`
15246
+ # @return [String]
15247
+ attr_accessor :kind
15248
+
15249
+ # Represents a customer-supplied encryption key
15250
+ # Corresponds to the JSON property `machineImageEncryptionKey`
15251
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
15252
+ attr_accessor :machine_image_encryption_key
15253
+
15254
+ # Name of the resource; provided by the client when the resource is created. The
15255
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
15256
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
15257
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
15258
+ # and all following characters must be a dash, lowercase letter, or digit,
15259
+ # except the last character, which cannot be a dash.
15260
+ # Corresponds to the JSON property `name`
15261
+ # @return [String]
15262
+ attr_accessor :name
15263
+
15264
+ # [Output Only] The URL for this machine image. The server defines this URL.
15265
+ # Corresponds to the JSON property `selfLink`
15266
+ # @return [String]
15267
+ attr_accessor :self_link
15268
+
15269
+ # [Input Only] The customer-supplied encryption key of the disks attached to the
15270
+ # source instance. Required if the source disk is protected by a customer-
15271
+ # supplied encryption key.
15272
+ # Corresponds to the JSON property `sourceDiskEncryptionKeys`
15273
+ # @return [Array<Google::Apis::ComputeBeta::SourceDiskEncryptionKey>]
15274
+ attr_accessor :source_disk_encryption_keys
15275
+
15276
+ # The source instance used to create the machine image. You can provide this as
15277
+ # a partial or full URL to the resource. For example, the following are valid
15278
+ # values:
15279
+ # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/
15280
+ # instance
15281
+ # - projects/project/zones/zone/instances/instance
15282
+ # Corresponds to the JSON property `sourceInstance`
15283
+ # @return [String]
15284
+ attr_accessor :source_instance
15285
+
15286
+ #
15287
+ # Corresponds to the JSON property `sourceInstanceProperties`
15288
+ # @return [Google::Apis::ComputeBeta::SourceInstanceProperties]
15289
+ attr_accessor :source_instance_properties
15290
+
15291
+ # [Output Only] The status of the machine image. One of the following values:
15292
+ # INVALID, CREATING, READY, DELETING, and UPLOADING.
15293
+ # Corresponds to the JSON property `status`
15294
+ # @return [String]
15295
+ attr_accessor :status
15296
+
15297
+ # GCS bucket storage location of the machine image (regional or multi-regional).
15298
+ # Corresponds to the JSON property `storageLocations`
15299
+ # @return [Array<String>]
15300
+ attr_accessor :storage_locations
15301
+
15302
+ # [Output Only] Total size of the storage used by the machine image.
15303
+ # Corresponds to the JSON property `totalStorageBytes`
15304
+ # @return [Fixnum]
15305
+ attr_accessor :total_storage_bytes
15306
+
15307
+ def initialize(**args)
15308
+ update!(**args)
15309
+ end
15310
+
15311
+ # Update properties of this object
15312
+ def update!(**args)
15313
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
15314
+ @description = args[:description] if args.key?(:description)
15315
+ @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
15316
+ @id = args[:id] if args.key?(:id)
15317
+ @kind = args[:kind] if args.key?(:kind)
15318
+ @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
15319
+ @name = args[:name] if args.key?(:name)
15320
+ @self_link = args[:self_link] if args.key?(:self_link)
15321
+ @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
15322
+ @source_instance = args[:source_instance] if args.key?(:source_instance)
15323
+ @source_instance_properties = args[:source_instance_properties] if args.key?(:source_instance_properties)
15324
+ @status = args[:status] if args.key?(:status)
15325
+ @storage_locations = args[:storage_locations] if args.key?(:storage_locations)
15326
+ @total_storage_bytes = args[:total_storage_bytes] if args.key?(:total_storage_bytes)
15327
+ end
15328
+ end
15329
+
15330
+ # A list of machine images.
15331
+ class MachineImageList
15332
+ include Google::Apis::Core::Hashable
15333
+
15334
+ # [Output Only] Unique identifier for the resource; defined by the server.
15335
+ # Corresponds to the JSON property `id`
15336
+ # @return [String]
15337
+ attr_accessor :id
15338
+
15339
+ # A list of MachineImage resources.
15340
+ # Corresponds to the JSON property `items`
15341
+ # @return [Array<Google::Apis::ComputeBeta::MachineImage>]
15342
+ attr_accessor :items
15343
+
15344
+ # [Output Only] The resource type, which is always compute#
15345
+ # machineImagesListResponse for machine image lists.
15346
+ # Corresponds to the JSON property `kind`
15347
+ # @return [String]
15348
+ attr_accessor :kind
15349
+
15350
+ # [Output Only] This token allows you to get the next page of results for list
15351
+ # requests. If the number of results is larger than maxResults, use the
15352
+ # nextPageToken as a value for the query parameter pageToken in the next list
15353
+ # request. Subsequent list requests will have their own nextPageToken to
15354
+ # continue paging through the results.
15355
+ # Corresponds to the JSON property `nextPageToken`
15356
+ # @return [String]
15357
+ attr_accessor :next_page_token
15358
+
15359
+ # [Output Only] Server-defined URL for this resource.
15360
+ # Corresponds to the JSON property `selfLink`
15361
+ # @return [String]
15362
+ attr_accessor :self_link
15363
+
15364
+ # [Output Only] Informational warning message.
15365
+ # Corresponds to the JSON property `warning`
15366
+ # @return [Google::Apis::ComputeBeta::MachineImageList::Warning]
15367
+ attr_accessor :warning
15368
+
15369
+ def initialize(**args)
15370
+ update!(**args)
15371
+ end
15372
+
15373
+ # Update properties of this object
15374
+ def update!(**args)
15375
+ @id = args[:id] if args.key?(:id)
15376
+ @items = args[:items] if args.key?(:items)
15377
+ @kind = args[:kind] if args.key?(:kind)
15378
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
15379
+ @self_link = args[:self_link] if args.key?(:self_link)
15380
+ @warning = args[:warning] if args.key?(:warning)
15381
+ end
15382
+
15383
+ # [Output Only] Informational warning message.
15384
+ class Warning
15385
+ include Google::Apis::Core::Hashable
15386
+
15387
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
15388
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
15389
+ # Corresponds to the JSON property `code`
15390
+ # @return [String]
15391
+ attr_accessor :code
15392
+
15393
+ # [Output Only] Metadata about this warning in key: value format. For example:
15394
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
15395
+ # Corresponds to the JSON property `data`
15396
+ # @return [Array<Google::Apis::ComputeBeta::MachineImageList::Warning::Datum>]
15397
+ attr_accessor :data
15398
+
15399
+ # [Output Only] A human-readable description of the warning code.
15400
+ # Corresponds to the JSON property `message`
15401
+ # @return [String]
15402
+ attr_accessor :message
15403
+
15404
+ def initialize(**args)
15405
+ update!(**args)
15406
+ end
15407
+
15408
+ # Update properties of this object
15409
+ def update!(**args)
15410
+ @code = args[:code] if args.key?(:code)
15411
+ @data = args[:data] if args.key?(:data)
15412
+ @message = args[:message] if args.key?(:message)
15413
+ end
15414
+
15415
+ #
15416
+ class Datum
15417
+ include Google::Apis::Core::Hashable
15418
+
15419
+ # [Output Only] A key that provides more detail on the warning being returned.
15420
+ # For example, for warnings where there are no results in a list request for a
15421
+ # particular zone, this key might be scope and the key value might be the zone
15422
+ # name. Other examples might be a key indicating a deprecated resource and a
15423
+ # suggested replacement, or a warning about invalid network settings (for
15424
+ # example, if an instance attempts to perform IP forwarding but is not enabled
15425
+ # for IP forwarding).
15426
+ # Corresponds to the JSON property `key`
15427
+ # @return [String]
15428
+ attr_accessor :key
15429
+
15430
+ # [Output Only] A warning data value corresponding to the key.
15431
+ # Corresponds to the JSON property `value`
15432
+ # @return [String]
15433
+ attr_accessor :value
15434
+
15435
+ def initialize(**args)
15436
+ update!(**args)
15437
+ end
15438
+
15439
+ # Update properties of this object
15440
+ def update!(**args)
15441
+ @key = args[:key] if args.key?(:key)
15442
+ @value = args[:value] if args.key?(:value)
15443
+ end
15444
+ end
15445
+ end
15446
+ end
15447
+
15177
15448
  # Represents a Machine Type resource.
15178
15449
  # You can use specific machine types for your VM instances based on performance
15179
15450
  # and pricing requirements. For more information, read Machine Types. (==
@@ -16819,6 +17090,11 @@ module Google
16819
17090
  # @return [String]
16820
17091
  attr_accessor :fingerprint
16821
17092
 
17093
+ # [Output Only] An IPv6 internal network address for this network interface.
17094
+ # Corresponds to the JSON property `ipv6Address`
17095
+ # @return [String]
17096
+ attr_accessor :ipv6_address
17097
+
16822
17098
  # [Output Only] Type of the resource. Always compute#networkInterface for
16823
17099
  # network interfaces.
16824
17100
  # Corresponds to the JSON property `kind`
@@ -16874,6 +17150,7 @@ module Google
16874
17150
  @access_configs = args[:access_configs] if args.key?(:access_configs)
16875
17151
  @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
16876
17152
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
17153
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
16877
17154
  @kind = args[:kind] if args.key?(:kind)
16878
17155
  @name = args[:name] if args.key?(:name)
16879
17156
  @network = args[:network] if args.key?(:network)
@@ -24828,6 +25105,122 @@ module Google
24828
25105
  end
24829
25106
  end
24830
25107
 
25108
+ # An instance-attached disk resource.
25109
+ class SavedAttachedDisk
25110
+ include Google::Apis::Core::Hashable
25111
+
25112
+ # Specifies whether the disk will be auto-deleted when the instance is deleted (
25113
+ # but not when the disk is detached from the instance).
25114
+ # Corresponds to the JSON property `autoDelete`
25115
+ # @return [Boolean]
25116
+ attr_accessor :auto_delete
25117
+ alias_method :auto_delete?, :auto_delete
25118
+
25119
+ # Indicates that this is a boot disk. The virtual machine will use the first
25120
+ # partition of the disk for its root filesystem.
25121
+ # Corresponds to the JSON property `boot`
25122
+ # @return [Boolean]
25123
+ attr_accessor :boot
25124
+ alias_method :boot?, :boot
25125
+
25126
+ # Specifies the name of the disk attached to the source instance.
25127
+ # Corresponds to the JSON property `deviceName`
25128
+ # @return [String]
25129
+ attr_accessor :device_name
25130
+
25131
+ # Represents a customer-supplied encryption key
25132
+ # Corresponds to the JSON property `diskEncryptionKey`
25133
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
25134
+ attr_accessor :disk_encryption_key
25135
+
25136
+ # The size of the disk in base-2 GB.
25137
+ # Corresponds to the JSON property `diskSizeGb`
25138
+ # @return [Fixnum]
25139
+ attr_accessor :disk_size_gb
25140
+
25141
+ # A list of features to enable on the guest operating system. Applicable only
25142
+ # for bootable images. Read Enabling guest operating system features to see a
25143
+ # list of available options.
25144
+ # Corresponds to the JSON property `guestOsFeatures`
25145
+ # @return [Array<Google::Apis::ComputeBeta::GuestOsFeature>]
25146
+ attr_accessor :guest_os_features
25147
+
25148
+ # Specifies zero-based index of the disk that is attached to the source instance.
25149
+ # Corresponds to the JSON property `index`
25150
+ # @return [Fixnum]
25151
+ attr_accessor :index
25152
+
25153
+ # Specifies the disk interface to use for attaching this disk, which is either
25154
+ # SCSI or NVME.
25155
+ # Corresponds to the JSON property `interface`
25156
+ # @return [String]
25157
+ attr_accessor :interface
25158
+
25159
+ # [Output Only] Type of the resource. Always compute#attachedDisk for attached
25160
+ # disks.
25161
+ # Corresponds to the JSON property `kind`
25162
+ # @return [String]
25163
+ attr_accessor :kind
25164
+
25165
+ # [Output Only] Any valid publicly visible licenses.
25166
+ # Corresponds to the JSON property `licenses`
25167
+ # @return [Array<String>]
25168
+ attr_accessor :licenses
25169
+
25170
+ # The mode in which this disk is attached to the source instance, either
25171
+ # READ_WRITE or READ_ONLY.
25172
+ # Corresponds to the JSON property `mode`
25173
+ # @return [String]
25174
+ attr_accessor :mode
25175
+
25176
+ # Specifies a URL of the disk attached to the source instance.
25177
+ # Corresponds to the JSON property `source`
25178
+ # @return [String]
25179
+ attr_accessor :source
25180
+
25181
+ # [Output Only] A size of the storage used by the disk's snapshot by this
25182
+ # machine image.
25183
+ # Corresponds to the JSON property `storageBytes`
25184
+ # @return [Fixnum]
25185
+ attr_accessor :storage_bytes
25186
+
25187
+ # [Output Only] An indicator whether storageBytes is in a stable state or it is
25188
+ # being adjusted as a result of shared storage reallocation. This status can
25189
+ # either be UPDATING, meaning the size of the snapshot is being updated, or
25190
+ # UP_TO_DATE, meaning the size of the snapshot is up-to-date.
25191
+ # Corresponds to the JSON property `storageBytesStatus`
25192
+ # @return [String]
25193
+ attr_accessor :storage_bytes_status
25194
+
25195
+ # Specifies the type of the attached disk, either SCRATCH or PERSISTENT.
25196
+ # Corresponds to the JSON property `type`
25197
+ # @return [String]
25198
+ attr_accessor :type
25199
+
25200
+ def initialize(**args)
25201
+ update!(**args)
25202
+ end
25203
+
25204
+ # Update properties of this object
25205
+ def update!(**args)
25206
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
25207
+ @boot = args[:boot] if args.key?(:boot)
25208
+ @device_name = args[:device_name] if args.key?(:device_name)
25209
+ @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
25210
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
25211
+ @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
25212
+ @index = args[:index] if args.key?(:index)
25213
+ @interface = args[:interface] if args.key?(:interface)
25214
+ @kind = args[:kind] if args.key?(:kind)
25215
+ @licenses = args[:licenses] if args.key?(:licenses)
25216
+ @mode = args[:mode] if args.key?(:mode)
25217
+ @source = args[:source] if args.key?(:source)
25218
+ @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
25219
+ @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
25220
+ @type = args[:type] if args.key?(:type)
25221
+ end
25222
+ end
25223
+
24831
25224
  # Sets the scheduling options for an Instance. NextID: 9
24832
25225
  class Scheduling
24833
25226
  include Google::Apis::Core::Hashable
@@ -25656,8 +26049,8 @@ module Google
25656
26049
  class Snapshot
25657
26050
  include Google::Apis::Core::Hashable
25658
26051
 
25659
- # [Output Only] Set to true if snapshots are automatically by applying resource
25660
- # policy on the target disk.
26052
+ # [Output Only] Set to true if snapshots are automatically created by applying
26053
+ # resource policy on the target disk.
25661
26054
  # Corresponds to the JSON property `autoCreated`
25662
26055
  # @return [Boolean]
25663
26056
  attr_accessor :auto_created
@@ -25931,6 +26324,35 @@ module Google
25931
26324
  end
25932
26325
  end
25933
26326
 
26327
+ #
26328
+ class SourceDiskEncryptionKey
26329
+ include Google::Apis::Core::Hashable
26330
+
26331
+ # Represents a customer-supplied encryption key
26332
+ # Corresponds to the JSON property `diskEncryptionKey`
26333
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
26334
+ attr_accessor :disk_encryption_key
26335
+
26336
+ # URL of the disk attached to the source instance. This can be a full or valid
26337
+ # partial URL. For example, the following are valid values:
26338
+ # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
26339
+ # - projects/project/zones/zone/disks/disk
26340
+ # - zones/zone/disks/disk
26341
+ # Corresponds to the JSON property `sourceDisk`
26342
+ # @return [String]
26343
+ attr_accessor :source_disk
26344
+
26345
+ def initialize(**args)
26346
+ update!(**args)
26347
+ end
26348
+
26349
+ # Update properties of this object
26350
+ def update!(**args)
26351
+ @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
26352
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
26353
+ end
26354
+ end
26355
+
25934
26356
  # A specification of the parameters to use when creating the instance template
25935
26357
  # from a source instance.
25936
26358
  class SourceInstanceParams
@@ -25954,6 +26376,115 @@ module Google
25954
26376
  end
25955
26377
  end
25956
26378
 
26379
+ #
26380
+ class SourceInstanceProperties
26381
+ include Google::Apis::Core::Hashable
26382
+
26383
+ # Enables instances created based on this machine image to send packets with
26384
+ # source IP addresses other than their own and receive packets with destination
26385
+ # IP addresses other than their own. If these instances will be used as an IP
26386
+ # gateway or it will be set as the next-hop in a Route resource, specify true.
26387
+ # If unsure, leave this set to false. See the Enable IP forwarding documentation
26388
+ # for more information.
26389
+ # Corresponds to the JSON property `canIpForward`
26390
+ # @return [Boolean]
26391
+ attr_accessor :can_ip_forward
26392
+ alias_method :can_ip_forward?, :can_ip_forward
26393
+
26394
+ # Whether the instance created from this machine image should be protected
26395
+ # against deletion.
26396
+ # Corresponds to the JSON property `deletionProtection`
26397
+ # @return [Boolean]
26398
+ attr_accessor :deletion_protection
26399
+ alias_method :deletion_protection?, :deletion_protection
26400
+
26401
+ # An optional text description for the instances that are created from this
26402
+ # machine image.
26403
+ # Corresponds to the JSON property `description`
26404
+ # @return [String]
26405
+ attr_accessor :description
26406
+
26407
+ # An array of disks that are associated with the instances that are created from
26408
+ # this machine image.
26409
+ # Corresponds to the JSON property `disks`
26410
+ # @return [Array<Google::Apis::ComputeBeta::SavedAttachedDisk>]
26411
+ attr_accessor :disks
26412
+
26413
+ # A list of guest accelerator cards' type and count to use for instances created
26414
+ # from this machine image.
26415
+ # Corresponds to the JSON property `guestAccelerators`
26416
+ # @return [Array<Google::Apis::ComputeBeta::AcceleratorConfig>]
26417
+ attr_accessor :guest_accelerators
26418
+
26419
+ # Labels to apply to instances that are created from this machine image.
26420
+ # Corresponds to the JSON property `labels`
26421
+ # @return [Hash<String,String>]
26422
+ attr_accessor :labels
26423
+
26424
+ # The machine type to use for instances that are created from this machine image.
26425
+ # Corresponds to the JSON property `machineType`
26426
+ # @return [String]
26427
+ attr_accessor :machine_type
26428
+
26429
+ # A metadata key/value entry.
26430
+ # Corresponds to the JSON property `metadata`
26431
+ # @return [Google::Apis::ComputeBeta::Metadata]
26432
+ attr_accessor :metadata
26433
+
26434
+ # Minimum cpu/platform to be used by instances created from this machine image.
26435
+ # The instance may be scheduled on the specified or newer cpu/platform.
26436
+ # Applicable values are the friendly names of CPU platforms, such as
26437
+ # minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge". For
26438
+ # more information, read Specifying a Minimum CPU Platform.
26439
+ # Corresponds to the JSON property `minCpuPlatform`
26440
+ # @return [String]
26441
+ attr_accessor :min_cpu_platform
26442
+
26443
+ # An array of network access configurations for this interface.
26444
+ # Corresponds to the JSON property `networkInterfaces`
26445
+ # @return [Array<Google::Apis::ComputeBeta::NetworkInterface>]
26446
+ attr_accessor :network_interfaces
26447
+
26448
+ # Sets the scheduling options for an Instance. NextID: 9
26449
+ # Corresponds to the JSON property `scheduling`
26450
+ # @return [Google::Apis::ComputeBeta::Scheduling]
26451
+ attr_accessor :scheduling
26452
+
26453
+ # A list of service accounts with specified scopes. Access tokens for these
26454
+ # service accounts are available to the instances that are created from this
26455
+ # machine image. Use metadata queries to obtain the access tokens for these
26456
+ # instances.
26457
+ # Corresponds to the JSON property `serviceAccounts`
26458
+ # @return [Array<Google::Apis::ComputeBeta::ServiceAccount>]
26459
+ attr_accessor :service_accounts
26460
+
26461
+ # A set of instance tags.
26462
+ # Corresponds to the JSON property `tags`
26463
+ # @return [Google::Apis::ComputeBeta::Tags]
26464
+ attr_accessor :tags
26465
+
26466
+ def initialize(**args)
26467
+ update!(**args)
26468
+ end
26469
+
26470
+ # Update properties of this object
26471
+ def update!(**args)
26472
+ @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
26473
+ @deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection)
26474
+ @description = args[:description] if args.key?(:description)
26475
+ @disks = args[:disks] if args.key?(:disks)
26476
+ @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
26477
+ @labels = args[:labels] if args.key?(:labels)
26478
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
26479
+ @metadata = args[:metadata] if args.key?(:metadata)
26480
+ @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
26481
+ @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
26482
+ @scheduling = args[:scheduling] if args.key?(:scheduling)
26483
+ @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
26484
+ @tags = args[:tags] if args.key?(:tags)
26485
+ end
26486
+ end
26487
+
25957
26488
  # Represents an SSL Certificate resource.
25958
26489
  # This SSL certificate resource also contains a private key. You can use SSL
25959
26490
  # keys and certificates to secure connections to a load balancer. For more
@@ -26862,6 +27393,12 @@ module Google
26862
27393
  # @return [String]
26863
27394
  attr_accessor :ip_cidr_range
26864
27395
 
27396
+ # [Output Only] The range of internal IPv6 addresses that are owned by this
27397
+ # subnetwork.
27398
+ # Corresponds to the JSON property `ipv6CidrRange`
27399
+ # @return [String]
27400
+ attr_accessor :ipv6_cidr_range
27401
+
26865
27402
  # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork
26866
27403
  # resources.
26867
27404
  # Corresponds to the JSON property `kind`
@@ -26899,6 +27436,23 @@ module Google
26899
27436
  attr_accessor :private_ip_google_access
26900
27437
  alias_method :private_ip_google_access?, :private_ip_google_access
26901
27438
 
27439
+ # The private IPv6 google access type for the VMs in this subnet. This is an
27440
+ # expanded field of enablePrivateV6Access. If both fields are set,
27441
+ # privateIpv6GoogleAccess will take priority.
27442
+ # This field can be both set at resource creation time and updated using patch.
27443
+ # Corresponds to the JSON property `privateIpv6GoogleAccess`
27444
+ # @return [String]
27445
+ attr_accessor :private_ipv6_google_access
27446
+
27447
+ # The service accounts can be used to selectively turn on Private IPv6 Google
27448
+ # Access only on the VMs primary service account matching the value. This value
27449
+ # only takes effect when PrivateIpv6GoogleAccess is
27450
+ # ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS or
27451
+ # ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS.
27452
+ # Corresponds to the JSON property `privateIpv6GoogleAccessServiceAccounts`
27453
+ # @return [Array<String>]
27454
+ attr_accessor :private_ipv6_google_access_service_accounts
27455
+
26902
27456
  # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or
26903
27457
  # INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to
26904
27458
  # INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for
@@ -26961,11 +27515,14 @@ module Google
26961
27515
  @gateway_address = args[:gateway_address] if args.key?(:gateway_address)
26962
27516
  @id = args[:id] if args.key?(:id)
26963
27517
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
27518
+ @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
26964
27519
  @kind = args[:kind] if args.key?(:kind)
26965
27520
  @log_config = args[:log_config] if args.key?(:log_config)
26966
27521
  @name = args[:name] if args.key?(:name)
26967
27522
  @network = args[:network] if args.key?(:network)
26968
27523
  @private_ip_google_access = args[:private_ip_google_access] if args.key?(:private_ip_google_access)
27524
+ @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
27525
+ @private_ipv6_google_access_service_accounts = args[:private_ipv6_google_access_service_accounts] if args.key?(:private_ipv6_google_access_service_accounts)
26969
27526
  @purpose = args[:purpose] if args.key?(:purpose)
26970
27527
  @region = args[:region] if args.key?(:region)
26971
27528
  @role = args[:role] if args.key?(:role)