google-api-client 0.36.0 → 0.36.1

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