google-api-client 0.15.0 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (227) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +75 -0
  3. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  4. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +17 -35
  5. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +0 -2
  6. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +958 -82
  7. data/generated/google/apis/admin_directory_v1.rb +1 -1
  8. data/generated/google/apis/admin_directory_v1/classes.rb +147 -0
  9. data/generated/google/apis/admin_directory_v1/representations.rb +54 -0
  10. data/generated/google/apis/admin_directory_v1/service.rb +71 -1
  11. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  12. data/generated/google/apis/androidenterprise_v1/classes.rb +18 -19
  13. data/generated/google/apis/androidenterprise_v1/service.rb +39 -0
  14. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  15. data/generated/google/apis/androidmanagement_v1/classes.rb +12 -11
  16. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  17. data/generated/google/apis/androidpublisher_v2/classes.rb +0 -189
  18. data/generated/google/apis/androidpublisher_v2/representations.rb +0 -120
  19. data/generated/google/apis/androidpublisher_v2/service.rb +0 -35
  20. data/generated/google/apis/appengine_v1.rb +1 -1
  21. data/generated/google/apis/appengine_v1/classes.rb +1 -46
  22. data/generated/google/apis/appengine_v1/representations.rb +0 -17
  23. data/generated/google/apis/appengine_v1/service.rb +5 -1
  24. data/generated/google/apis/appengine_v1alpha.rb +1 -1
  25. data/generated/google/apis/appengine_v1alpha/classes.rb +0 -45
  26. data/generated/google/apis/appengine_v1alpha/representations.rb +0 -17
  27. data/generated/google/apis/appengine_v1alpha/service.rb +5 -1
  28. data/generated/google/apis/appengine_v1beta.rb +1 -1
  29. data/generated/google/apis/appengine_v1beta/classes.rb +5 -47
  30. data/generated/google/apis/appengine_v1beta/representations.rb +0 -17
  31. data/generated/google/apis/appengine_v1beta/service.rb +5 -1
  32. data/generated/google/apis/appengine_v1beta4.rb +1 -1
  33. data/generated/google/apis/appengine_v1beta4/classes.rb +44 -45
  34. data/generated/google/apis/appengine_v1beta4/representations.rb +16 -17
  35. data/generated/google/apis/appengine_v1beta5.rb +1 -1
  36. data/generated/google/apis/appengine_v1beta5/classes.rb +4 -46
  37. data/generated/google/apis/appengine_v1beta5/representations.rb +0 -17
  38. data/generated/google/apis/bigquery_v2.rb +1 -1
  39. data/generated/google/apis/bigquery_v2/classes.rb +41 -24
  40. data/generated/google/apis/bigquery_v2/representations.rb +3 -0
  41. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  42. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +3 -7
  43. data/generated/google/apis/bigquerydatatransfer_v1/representations.rb +0 -1
  44. data/generated/google/apis/calendar_v3.rb +1 -1
  45. data/generated/google/apis/calendar_v3/service.rb +15 -3
  46. data/generated/google/apis/classroom_v1.rb +4 -1
  47. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  48. data/generated/google/apis/cloudbuild_v1/classes.rb +26 -0
  49. data/generated/google/apis/cloudbuild_v1/representations.rb +14 -0
  50. data/generated/google/apis/cloudbuild_v1/service.rb +91 -0
  51. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  52. data/generated/google/apis/cloudfunctions_v1/classes.rb +482 -0
  53. data/generated/google/apis/cloudfunctions_v1/representations.rb +210 -0
  54. data/generated/google/apis/cloudfunctions_v1/service.rb +288 -0
  55. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  56. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +119 -0
  57. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +68 -0
  58. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +77 -0
  59. data/generated/google/apis/cloudiot_v1.rb +1 -1
  60. data/generated/google/apis/cloudiot_v1/service.rb +7 -3
  61. data/generated/google/apis/cloudiot_v1beta1.rb +1 -1
  62. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  63. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +2 -4
  64. data/generated/google/apis/cloudtasks_v2beta2/representations.rb +2 -2
  65. data/generated/google/apis/cloudtasks_v2beta2/service.rb +4 -14
  66. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  67. data/generated/google/apis/cloudtrace_v2/classes.rb +10 -7
  68. data/generated/google/apis/cloudtrace_v2/representations.rb +2 -2
  69. data/generated/google/apis/compute_alpha.rb +1 -1
  70. data/generated/google/apis/compute_alpha/classes.rb +143 -83
  71. data/generated/google/apis/compute_alpha/representations.rb +50 -30
  72. data/generated/google/apis/compute_alpha/service.rb +171 -5
  73. data/generated/google/apis/compute_beta.rb +1 -1
  74. data/generated/google/apis/compute_beta/classes.rb +47 -43
  75. data/generated/google/apis/compute_beta/representations.rb +1 -2
  76. data/generated/google/apis/compute_beta/service.rb +60 -5
  77. data/generated/google/apis/compute_v1.rb +1 -1
  78. data/generated/google/apis/compute_v1/classes.rb +1326 -168
  79. data/generated/google/apis/compute_v1/representations.rb +402 -0
  80. data/generated/google/apis/compute_v1/service.rb +751 -5
  81. data/generated/google/apis/container_v1beta1.rb +1 -1
  82. data/generated/google/apis/content_v2.rb +1 -1
  83. data/generated/google/apis/content_v2/classes.rb +23 -16
  84. data/generated/google/apis/content_v2/service.rb +142 -162
  85. data/generated/google/apis/content_v2sandbox.rb +1 -1
  86. data/generated/google/apis/content_v2sandbox/service.rb +43 -43
  87. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  88. data/generated/google/apis/dataflow_v1b3/classes.rb +44 -35
  89. data/generated/google/apis/dataflow_v1b3/representations.rb +6 -17
  90. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  91. data/generated/google/apis/dataproc_v1beta2/classes.rb +39 -37
  92. data/generated/google/apis/dataproc_v1beta2/service.rb +30 -30
  93. data/generated/google/apis/datastore_v1.rb +1 -1
  94. data/generated/google/apis/datastore_v1/classes.rb +39 -60
  95. data/generated/google/apis/datastore_v1/representations.rb +27 -0
  96. data/generated/google/apis/datastore_v1/service.rb +34 -0
  97. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  98. data/generated/google/apis/datastore_v1beta3/classes.rb +39 -60
  99. data/generated/google/apis/datastore_v1beta3/representations.rb +27 -0
  100. data/generated/google/apis/datastore_v1beta3/service.rb +34 -0
  101. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  102. data/generated/google/apis/deploymentmanager_alpha/classes.rb +108 -0
  103. data/generated/google/apis/deploymentmanager_alpha/representations.rb +50 -0
  104. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  105. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +6 -0
  106. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +1 -0
  107. data/generated/google/apis/dlp_v2beta1.rb +1 -1
  108. data/generated/google/apis/dlp_v2beta1/classes.rb +116 -10
  109. data/generated/google/apis/dlp_v2beta1/representations.rb +45 -0
  110. data/generated/google/apis/dns_v1beta2.rb +43 -0
  111. data/generated/google/apis/dns_v1beta2/classes.rb +915 -0
  112. data/generated/google/apis/dns_v1beta2/representations.rb +368 -0
  113. data/generated/google/apis/dns_v1beta2/service.rb +769 -0
  114. data/generated/google/apis/drive_v2.rb +1 -1
  115. data/generated/google/apis/drive_v2/classes.rb +6 -0
  116. data/generated/google/apis/drive_v2/representations.rb +2 -0
  117. data/generated/google/apis/drive_v2/service.rb +51 -8
  118. data/generated/google/apis/drive_v3.rb +1 -1
  119. data/generated/google/apis/drive_v3/classes.rb +6 -0
  120. data/generated/google/apis/drive_v3/representations.rb +2 -0
  121. data/generated/google/apis/drive_v3/service.rb +45 -7
  122. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  123. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +25 -0
  124. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +15 -0
  125. data/generated/google/apis/firebaseremoteconfig_v1.rb +1 -1
  126. data/generated/google/apis/firebaseremoteconfig_v1/classes.rb +21 -1
  127. data/generated/google/apis/firebaseremoteconfig_v1/representations.rb +2 -0
  128. data/generated/google/apis/firebaserules_v1.rb +1 -1
  129. data/generated/google/apis/firebaserules_v1/classes.rb +26 -0
  130. data/generated/google/apis/firebaserules_v1/representations.rb +15 -0
  131. data/generated/google/apis/firebaserules_v1/service.rb +37 -0
  132. data/generated/google/apis/firestore_v1beta1/classes.rb +29 -146
  133. data/generated/google/apis/firestore_v1beta1/representations.rb +8 -27
  134. data/generated/google/apis/firestore_v1beta1/service.rb +4 -8
  135. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  136. data/generated/google/apis/genomics_v1alpha2/classes.rb +18 -0
  137. data/generated/google/apis/genomics_v1alpha2/representations.rb +2 -0
  138. data/generated/google/apis/iam_v1.rb +1 -1
  139. data/generated/google/apis/iam_v1/classes.rb +5 -7
  140. data/generated/google/apis/language_v1.rb +1 -1
  141. data/generated/google/apis/language_v1/classes.rb +78 -0
  142. data/generated/google/apis/language_v1/representations.rb +45 -0
  143. data/generated/google/apis/language_v1/service.rb +30 -0
  144. data/generated/google/apis/language_v1beta2.rb +1 -1
  145. data/generated/google/apis/language_v1beta2/classes.rb +3 -1
  146. data/generated/google/apis/logging_v2.rb +1 -1
  147. data/generated/google/apis/logging_v2/classes.rb +9 -0
  148. data/generated/google/apis/logging_v2/representations.rb +1 -0
  149. data/generated/google/apis/logging_v2/service.rb +517 -0
  150. data/generated/google/apis/logging_v2beta1.rb +1 -1
  151. data/generated/google/apis/logging_v2beta1/classes.rb +9 -0
  152. data/generated/google/apis/logging_v2beta1/representations.rb +1 -0
  153. data/generated/google/apis/manufacturers_v1.rb +1 -1
  154. data/generated/google/apis/manufacturers_v1/classes.rb +6 -6
  155. data/generated/google/apis/manufacturers_v1/representations.rb +1 -1
  156. data/generated/google/apis/ml_v1.rb +1 -1
  157. data/generated/google/apis/ml_v1/classes.rb +22 -6
  158. data/generated/google/apis/ml_v1/service.rb +8 -2
  159. data/generated/google/apis/monitoring_v3.rb +1 -1
  160. data/generated/google/apis/monitoring_v3/classes.rb +358 -0
  161. data/generated/google/apis/monitoring_v3/representations.rb +145 -0
  162. data/generated/google/apis/monitoring_v3/service.rb +229 -0
  163. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  164. data/generated/google/apis/oslogin_v1alpha/classes.rb +13 -8
  165. data/generated/google/apis/oslogin_v1alpha/representations.rb +1 -0
  166. data/generated/google/apis/oslogin_v1alpha/service.rb +36 -1
  167. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  168. data/generated/google/apis/oslogin_v1beta/classes.rb +9 -4
  169. data/generated/google/apis/oslogin_v1beta/representations.rb +1 -0
  170. data/generated/google/apis/oslogin_v1beta/service.rb +36 -1
  171. data/generated/google/apis/partners_v2.rb +1 -1
  172. data/generated/google/apis/partners_v2/classes.rb +7 -60
  173. data/generated/google/apis/partners_v2/representations.rb +1 -0
  174. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  175. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  176. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +6 -4
  177. data/generated/google/apis/script_v1.rb +2 -2
  178. data/generated/google/apis/script_v1/classes.rb +57 -51
  179. data/generated/google/apis/script_v1/representations.rb +0 -1
  180. data/generated/google/apis/script_v1/service.rb +2 -2
  181. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  182. data/generated/google/apis/servicecontrol_v1/classes.rb +5 -2
  183. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  184. data/generated/google/apis/servicemanagement_v1/classes.rb +13 -31
  185. data/generated/google/apis/serviceuser_v1.rb +1 -1
  186. data/generated/google/apis/serviceuser_v1/classes.rb +13 -31
  187. data/generated/google/apis/sheets_v4.rb +1 -1
  188. data/generated/google/apis/sheets_v4/classes.rb +1 -2
  189. data/generated/google/apis/slides_v1.rb +1 -1
  190. data/generated/google/apis/slides_v1/classes.rb +505 -11
  191. data/generated/google/apis/slides_v1/representations.rb +220 -0
  192. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  193. data/generated/google/apis/sourcerepo_v1/classes.rb +1 -1
  194. data/generated/google/apis/speech_v1.rb +1 -1
  195. data/generated/google/apis/speech_v1/classes.rb +10 -1
  196. data/generated/google/apis/speech_v1/representations.rb +1 -0
  197. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  198. data/generated/google/apis/sqladmin_v1beta4/classes.rb +127 -0
  199. data/generated/google/apis/sqladmin_v1beta4/representations.rb +63 -0
  200. data/generated/google/apis/sqladmin_v1beta4/service.rb +42 -0
  201. data/generated/google/apis/storage_v1.rb +1 -1
  202. data/generated/google/apis/storage_v1/service.rb +51 -72
  203. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  204. data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -61
  205. data/generated/google/apis/streetviewpublish_v1/service.rb +2 -1
  206. data/generated/google/apis/testing_v1.rb +1 -1
  207. data/generated/google/apis/testing_v1/classes.rb +8 -3
  208. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  209. data/generated/google/apis/toolresults_v1beta3/classes.rb +17 -16
  210. data/generated/google/apis/videointelligence_v1beta1.rb +1 -1
  211. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  212. data/generated/google/apis/youtube_partner_v1/classes.rb +108 -0
  213. data/generated/google/apis/youtube_partner_v1/representations.rb +49 -0
  214. data/generated/google/apis/youtube_partner_v1/service.rb +42 -0
  215. data/google-api-client.gemspec +1 -1
  216. data/lib/google/apis/generator/model.rb +9 -3
  217. data/lib/google/apis/generator/templates/_class.tmpl +1 -1
  218. data/lib/google/apis/version.rb +1 -1
  219. metadata +14 -12
  220. data/generated/google/apis/playmoviespartner_v1.rb +0 -34
  221. data/generated/google/apis/playmoviespartner_v1/classes.rb +0 -782
  222. data/generated/google/apis/playmoviespartner_v1/representations.rb +0 -191
  223. data/generated/google/apis/playmoviespartner_v1/service.rb +0 -354
  224. data/generated/google/apis/qpx_express_v1.rb +0 -31
  225. data/generated/google/apis/qpx_express_v1/classes.rb +0 -1274
  226. data/generated/google/apis/qpx_express_v1/representations.rb +0 -473
  227. data/generated/google/apis/qpx_express_v1/service.rb +0 -101
@@ -4477,6 +4477,7 @@ module Google
4477
4477
  property :can_ip_forward, as: 'canIpForward'
4478
4478
  property :cpu_platform, as: 'cpuPlatform'
4479
4479
  property :creation_timestamp, as: 'creationTimestamp'
4480
+ property :deletion_protection, as: 'deletionProtection'
4480
4481
  property :description, as: 'description'
4481
4482
  collection :disks, as: 'disks', class: Google::Apis::ComputeBeta::AttachedDisk, decorator: Google::Apis::ComputeBeta::AttachedDisk::Representation
4482
4483
 
@@ -5200,7 +5201,6 @@ module Google
5200
5201
  property :admin_enabled, as: 'adminEnabled'
5201
5202
  collection :circuit_infos, as: 'circuitInfos', class: Google::Apis::ComputeBeta::InterconnectCircuitInfo, decorator: Google::Apis::ComputeBeta::InterconnectCircuitInfo::Representation
5202
5203
 
5203
- property :connection_authorization, as: 'connectionAuthorization'
5204
5204
  property :creation_timestamp, as: 'creationTimestamp'
5205
5205
  property :customer_name, as: 'customerName'
5206
5206
  property :description, as: 'description'
@@ -5444,7 +5444,6 @@ module Google
5444
5444
  property :expected_rtt_ms, :numeric_string => true, as: 'expectedRttMs'
5445
5445
  property :location_presence, as: 'locationPresence'
5446
5446
  property :region, as: 'region'
5447
- property :region_key, as: 'regionKey'
5448
5447
  end
5449
5448
  end
5450
5449
 
@@ -8563,6 +8563,62 @@ module Google
8563
8563
  execute_or_queue_command(command, &block)
8564
8564
  end
8565
8565
 
8566
+ # Sets deletion protection on the instance.
8567
+ # @param [String] project
8568
+ # Project ID for this request.
8569
+ # @param [String] zone
8570
+ # The name of the zone for this request.
8571
+ # @param [String] resource
8572
+ # Name of the resource for this request.
8573
+ # @param [Boolean] deletion_protection
8574
+ # Whether the resource should be protected against deletion.
8575
+ # @param [String] request_id
8576
+ # An optional request ID to identify requests. Specify a unique request ID so
8577
+ # that if you must retry your request, the server will know to ignore the
8578
+ # request if it has already been completed.
8579
+ # For example, consider a situation where you make an initial request and the
8580
+ # request times out. If you make the request again with the same request ID, the
8581
+ # server can check if original operation with the same request ID was received,
8582
+ # and if so, will ignore the second request. This prevents clients from
8583
+ # accidentally creating duplicate commitments.
8584
+ # The request ID must be a valid UUID with the exception that zero UUID is not
8585
+ # supported (00000000-0000-0000-0000-000000000000).
8586
+ # @param [String] fields
8587
+ # Selector specifying which fields to include in a partial response.
8588
+ # @param [String] quota_user
8589
+ # Available to use for quota purposes for server-side applications. Can be any
8590
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
8591
+ # Overrides userIp if both are provided.
8592
+ # @param [String] user_ip
8593
+ # IP address of the site where the request originates. Use this if you want to
8594
+ # enforce per-user limits.
8595
+ # @param [Google::Apis::RequestOptions] options
8596
+ # Request-specific options
8597
+ #
8598
+ # @yield [result, err] Result & error if block supplied
8599
+ # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object
8600
+ # @yieldparam err [StandardError] error object if request failed
8601
+ #
8602
+ # @return [Google::Apis::ComputeBeta::Operation]
8603
+ #
8604
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
8605
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
8606
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
8607
+ def set_instance_deletion_protection(project, zone, resource, deletion_protection: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
8608
+ command = make_simple_command(:post, '{project}/zones/{zone}/instances/{resource}/setDeletionProtection', options)
8609
+ command.response_representation = Google::Apis::ComputeBeta::Operation::Representation
8610
+ command.response_class = Google::Apis::ComputeBeta::Operation
8611
+ command.params['project'] = project unless project.nil?
8612
+ command.params['zone'] = zone unless zone.nil?
8613
+ command.params['resource'] = resource unless resource.nil?
8614
+ command.query['deletionProtection'] = deletion_protection unless deletion_protection.nil?
8615
+ command.query['requestId'] = request_id unless request_id.nil?
8616
+ command.query['fields'] = fields unless fields.nil?
8617
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
8618
+ command.query['userIp'] = user_ip unless user_ip.nil?
8619
+ execute_or_queue_command(command, &block)
8620
+ end
8621
+
8566
8622
  # Sets the auto-delete flag for a disk attached to an instance.
8567
8623
  # @param [String] project
8568
8624
  # Project ID for this request.
@@ -9188,11 +9244,10 @@ module Google
9188
9244
  end
9189
9245
 
9190
9246
  # Stops a running instance, shutting it down cleanly, and allows you to restart
9191
- # the instance at a later time. Stopped instances do not incur per-minute,
9192
- # virtual machine usage charges while they are stopped, but any resources that
9193
- # the virtual machine is using, such as persistent disks and static IP addresses,
9194
- # will continue to be charged until they are deleted. For more information, see
9195
- # Stopping an instance.
9247
+ # the instance at a later time. Stopped instances do not incur VM usage charges
9248
+ # while they are stopped. However, resources that the VM is using, such as
9249
+ # persistent disks and static IP addresses, will continue to be charged until
9250
+ # they are deleted. For more information, see Stopping an instance.
9196
9251
  # @param [String] project
9197
9252
  # Project ID for this request.
9198
9253
  # @param [String] zone
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeV1
27
27
  VERSION = 'V1'
28
- REVISION = '20170919'
28
+ REVISION = '20171026'
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'
@@ -1033,7 +1033,7 @@ module Google
1033
1033
 
1034
1034
  # Specifies a valid partial or full URL to an existing Persistent Disk resource.
1035
1035
  # When creating a new instance, one of initializeParams.sourceImage or disks.
1036
- # source is required.
1036
+ # source is required except for local SSD.
1037
1037
  # If desired, you can also attach existing non-root persistent disks using this
1038
1038
  # property. This field is only applicable for persistent disks.
1039
1039
  # Note that for InstanceTemplate, specify the disk name, not the URL for the
@@ -1105,7 +1105,7 @@ module Google
1105
1105
  attr_accessor :disk_type
1106
1106
 
1107
1107
  # The source image to create this disk. When creating a new instance, one of
1108
- # initializeParams.sourceImage or disks.source is required.
1108
+ # initializeParams.sourceImage or disks.source is required except for local SSD.
1109
1109
  # To create a disk with one of the public operating system images, specify the
1110
1110
  # image by its family name. For example, specify family/debian-8 to use the
1111
1111
  # latest Debian 8 image:
@@ -1686,16 +1686,15 @@ module Google
1686
1686
  include Google::Apis::Core::Hashable
1687
1687
 
1688
1688
  # The identifier (type) of the Stackdriver Monitoring metric. The metric cannot
1689
- # have negative values and should be a utilization metric, which means that the
1690
- # number of virtual machines handling requests should increase or decrease
1691
- # proportionally to the metric.
1689
+ # have negative values.
1692
1690
  # The metric must have a value type of INT64 or DOUBLE.
1693
1691
  # Corresponds to the JSON property `metric`
1694
1692
  # @return [String]
1695
1693
  attr_accessor :metric
1696
1694
 
1697
1695
  # The target value of the metric that autoscaler should maintain. This must be a
1698
- # positive value.
1696
+ # positive value. A utilization metric scales number of virtual machines
1697
+ # handling requests to increase or decrease proportionally to the metric.
1699
1698
  # For example, a good metric to use as a utilization_target is compute.
1700
1699
  # googleapis.com/instance/network/received_bytes_count. The autoscaler will work
1701
1700
  # to keep this value constant for each of the instances.
@@ -4350,6 +4349,21 @@ module Google
4350
4349
  # @return [Array<String>]
4351
4350
  attr_accessor :source_ranges
4352
4351
 
4352
+ # If source service accounts are specified, the firewall will apply only to
4353
+ # traffic originating from an instance with a service account in this list.
4354
+ # Source service accounts cannot be used to control traffic to an instance's
4355
+ # external IP address because service accounts are associated with an instance,
4356
+ # not an IP address. sourceRanges can be set at the same time as
4357
+ # sourceServiceAccounts. If both are set, the firewall will apply to traffic
4358
+ # that has source IP address within sourceRanges OR the source IP belongs to an
4359
+ # instance with service account listed in sourceServiceAccount. The connection
4360
+ # does not need to match both properties for the firewall to apply.
4361
+ # sourceServiceAccounts cannot be used at the same time as sourceTags or
4362
+ # targetTags.
4363
+ # Corresponds to the JSON property `sourceServiceAccounts`
4364
+ # @return [Array<String>]
4365
+ attr_accessor :source_service_accounts
4366
+
4353
4367
  # If source tags are specified, the firewall rule applies only to traffic with
4354
4368
  # source IPs that match the primary network interfaces of VM instances that have
4355
4369
  # the tag and are in the same VPC network. Source tags cannot be used to control
@@ -4364,10 +4378,19 @@ module Google
4364
4378
  # @return [Array<String>]
4365
4379
  attr_accessor :source_tags
4366
4380
 
4367
- # A list of instance tags indicating sets of instances located in the network
4368
- # that may make network connections as specified in allowed[]. If no targetTags
4369
- # are specified, the firewall rule applies to all instances on the specified
4370
- # network.
4381
+ # A list of service accounts indicating sets of instances located in the network
4382
+ # that may make network connections as specified in allowed[].
4383
+ # targetServiceAccounts cannot be used at the same time as targetTags or
4384
+ # sourceTags. If neither targetServiceAccounts nor targetTags are specified, the
4385
+ # firewall rule applies to all instances on the specified network.
4386
+ # Corresponds to the JSON property `targetServiceAccounts`
4387
+ # @return [Array<String>]
4388
+ attr_accessor :target_service_accounts
4389
+
4390
+ # A list of tags that controls which instances the firewall rule applies to. If
4391
+ # targetTags are specified, then the firewall rule applies only to instances in
4392
+ # the VPC network that have one of those tags. If no targetTags are specified,
4393
+ # the firewall rule applies to all instances on the specified network.
4371
4394
  # Corresponds to the JSON property `targetTags`
4372
4395
  # @return [Array<String>]
4373
4396
  attr_accessor :target_tags
@@ -4391,7 +4414,9 @@ module Google
4391
4414
  @priority = args[:priority] if args.key?(:priority)
4392
4415
  @self_link = args[:self_link] if args.key?(:self_link)
4393
4416
  @source_ranges = args[:source_ranges] if args.key?(:source_ranges)
4417
+ @source_service_accounts = args[:source_service_accounts] if args.key?(:source_service_accounts)
4394
4418
  @source_tags = args[:source_tags] if args.key?(:source_tags)
4419
+ @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
4395
4420
  @target_tags = args[:target_tags] if args.key?(:target_tags)
4396
4421
  end
4397
4422
 
@@ -4583,16 +4608,28 @@ module Google
4583
4608
  include Google::Apis::Core::Hashable
4584
4609
 
4585
4610
  # The IP address that this forwarding rule is serving on behalf of.
4586
- # For global forwarding rules, the address must be a global IP. For regional
4587
- # forwarding rules, the address must live in the same region as the forwarding
4588
- # rule. By default, this field is empty and an ephemeral IPv4 address from the
4589
- # same scope (global or regional) will be assigned. A regional forwarding rule
4590
- # supports IPv4 only. A global forwarding rule supports either IPv4 or IPv6.
4611
+ # Addresses are restricted based on the forwarding rule's load balancing scheme (
4612
+ # EXTERNAL or INTERNAL) and scope (global or regional).
4613
+ # When the load balancing scheme is EXTERNAL, for global forwarding rules, the
4614
+ # address must be a global IP, and for regional forwarding rules, the address
4615
+ # must live in the same region as the forwarding rule. If this field is empty,
4616
+ # an ephemeral IPv4 address from the same scope (global or regional) will be
4617
+ # assigned. A regional forwarding rule supports IPv4 only. A global forwarding
4618
+ # rule supports either IPv4 or IPv6.
4591
4619
  # When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP
4592
- # address belonging to the network/subnetwork configured for the forwarding rule.
4593
- # A reserved address cannot be used. If the field is empty, the IP address will
4594
- # be automatically allocated from the internal IP range of the subnetwork or
4595
- # network configured for this forwarding rule.
4620
+ # address belonging to the network/subnet configured for the forwarding rule. By
4621
+ # default, if this field is empty, an ephemeral internal IP address will be
4622
+ # automatically allocated from the IP range of the subnet or network configured
4623
+ # for this forwarding rule.
4624
+ # An address can be specified either by a literal IP address or a URL reference
4625
+ # to an existing Address resource. The following examples are all valid:
4626
+ # - 100.1.2.3
4627
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
4628
+ # addresses/address
4629
+ # - projects/project/regions/region/addresses/address
4630
+ # - regions/region/addresses/address
4631
+ # - global/addresses/address
4632
+ # - address
4596
4633
  # Corresponds to the JSON property `IPAddress`
4597
4634
  # @return [String]
4598
4635
  attr_accessor :ip_address
@@ -6383,6 +6420,12 @@ module Google
6383
6420
  # @return [String]
6384
6421
  attr_accessor :creation_timestamp
6385
6422
 
6423
+ # Whether the resource should be protected against deletion.
6424
+ # Corresponds to the JSON property `deletionProtection`
6425
+ # @return [Boolean]
6426
+ attr_accessor :deletion_protection
6427
+ alias_method :deletion_protection?, :deletion_protection
6428
+
6386
6429
  # An optional description of this resource. Provide this property when you
6387
6430
  # create the resource.
6388
6431
  # Corresponds to the JSON property `description`
@@ -6531,6 +6574,7 @@ module Google
6531
6574
  @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
6532
6575
  @cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform)
6533
6576
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
6577
+ @deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection)
6534
6578
  @description = args[:description] if args.key?(:description)
6535
6579
  @disks = args[:disks] if args.key?(:disks)
6536
6580
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
@@ -8695,28 +8739,137 @@ module Google
8695
8739
  end
8696
8740
  end
8697
8741
 
8698
- # A license resource.
8699
- class License
8742
+ # Protocol definitions for Mixer API to support Interconnect. Next available tag:
8743
+ # 25
8744
+ class Interconnect
8700
8745
  include Google::Apis::Core::Hashable
8701
8746
 
8702
- # [Output Only] Deprecated. This field no longer reflects whether a license
8703
- # charges a usage fee.
8704
- # Corresponds to the JSON property `chargesUseFee`
8747
+ # Administrative status of the interconnect. When this is set to ?true?, the
8748
+ # Interconnect is functional and may carry traffic (assuming there are
8749
+ # functional InterconnectAttachments and other requirements are satisfied). When
8750
+ # set to ?false?, no packets will be carried over this Interconnect and no BGP
8751
+ # routes will be exchanged over it. By default, it is set to ?true?.
8752
+ # Corresponds to the JSON property `adminEnabled`
8705
8753
  # @return [Boolean]
8706
- attr_accessor :charges_use_fee
8707
- alias_method :charges_use_fee?, :charges_use_fee
8754
+ attr_accessor :admin_enabled
8755
+ alias_method :admin_enabled?, :admin_enabled
8708
8756
 
8709
- # [Output Only] Type of resource. Always compute#license for licenses.
8757
+ # [Output Only] List of CircuitInfo objects, that describe the individual
8758
+ # circuits in this LAG.
8759
+ # Corresponds to the JSON property `circuitInfos`
8760
+ # @return [Array<Google::Apis::ComputeV1::InterconnectCircuitInfo>]
8761
+ attr_accessor :circuit_infos
8762
+
8763
+ # [Output Only] Creation timestamp in RFC3339 text format.
8764
+ # Corresponds to the JSON property `creationTimestamp`
8765
+ # @return [String]
8766
+ attr_accessor :creation_timestamp
8767
+
8768
+ # Customer name, to put in the Letter of Authorization as the party authorized
8769
+ # to request a crossconnect.
8770
+ # Corresponds to the JSON property `customerName`
8771
+ # @return [String]
8772
+ attr_accessor :customer_name
8773
+
8774
+ # An optional description of this resource. Provide this property when you
8775
+ # create the resource.
8776
+ # Corresponds to the JSON property `description`
8777
+ # @return [String]
8778
+ attr_accessor :description
8779
+
8780
+ # [Output Only] List of outages expected for this Interconnect.
8781
+ # Corresponds to the JSON property `expectedOutages`
8782
+ # @return [Array<Google::Apis::ComputeV1::InterconnectOutageNotification>]
8783
+ attr_accessor :expected_outages
8784
+
8785
+ # [Output Only] IP address configured on the Google side of the Interconnect
8786
+ # link. This can be used only for ping tests.
8787
+ # Corresponds to the JSON property `googleIpAddress`
8788
+ # @return [String]
8789
+ attr_accessor :google_ip_address
8790
+
8791
+ # [Output Only] Google reference ID; to be used when raising support tickets
8792
+ # with Google or otherwise to debug backend connectivity issues.
8793
+ # Corresponds to the JSON property `googleReferenceId`
8794
+ # @return [String]
8795
+ attr_accessor :google_reference_id
8796
+
8797
+ # [Output Only] The unique identifier for the resource. This identifier is
8798
+ # defined by the server.
8799
+ # Corresponds to the JSON property `id`
8800
+ # @return [Fixnum]
8801
+ attr_accessor :id
8802
+
8803
+ # [Output Only] A list of the URLs of all InterconnectAttachments configured to
8804
+ # use this Interconnect.
8805
+ # Corresponds to the JSON property `interconnectAttachments`
8806
+ # @return [Array<String>]
8807
+ attr_accessor :interconnect_attachments
8808
+
8809
+ #
8810
+ # Corresponds to the JSON property `interconnectType`
8811
+ # @return [String]
8812
+ attr_accessor :interconnect_type
8813
+
8814
+ # [Output Only] Type of the resource. Always compute#interconnect for
8815
+ # interconnects.
8710
8816
  # Corresponds to the JSON property `kind`
8711
8817
  # @return [String]
8712
8818
  attr_accessor :kind
8713
8819
 
8714
- # [Output Only] Name of the resource. The name is 1-63 characters long and
8715
- # complies with RFC1035.
8820
+ #
8821
+ # Corresponds to the JSON property `linkType`
8822
+ # @return [String]
8823
+ attr_accessor :link_type
8824
+
8825
+ # URL of the InterconnectLocation object that represents where this connection
8826
+ # is to be provisioned.
8827
+ # Corresponds to the JSON property `location`
8828
+ # @return [String]
8829
+ attr_accessor :location
8830
+
8831
+ # Name of the resource. Provided by the client when the resource is created. The
8832
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
8833
+ # name must be 1-63 characters long and match the regular expression [a-z]([-a-
8834
+ # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter,
8835
+ # and all following characters must be a dash, lowercase letter, or digit,
8836
+ # except the last character, which cannot be a dash.
8716
8837
  # Corresponds to the JSON property `name`
8717
8838
  # @return [String]
8718
8839
  attr_accessor :name
8719
8840
 
8841
+ # Email address to contact the customer NOC for operations and maintenance
8842
+ # notifications regarding this Interconnect. If specified, this will be used for
8843
+ # notifications in addition to all other forms described, such as Stackdriver
8844
+ # logs alerting and Cloud Notifications.
8845
+ # Corresponds to the JSON property `nocContactEmail`
8846
+ # @return [String]
8847
+ attr_accessor :noc_contact_email
8848
+
8849
+ # [Output Only] The current status of whether or not this Interconnect is
8850
+ # functional.
8851
+ # Corresponds to the JSON property `operationalStatus`
8852
+ # @return [String]
8853
+ attr_accessor :operational_status
8854
+
8855
+ # [Output Only] IP address configured on the customer side of the Interconnect
8856
+ # link. The customer should configure this IP address during turnup when
8857
+ # prompted by Google NOC. This can be used only for ping tests.
8858
+ # Corresponds to the JSON property `peerIpAddress`
8859
+ # @return [String]
8860
+ attr_accessor :peer_ip_address
8861
+
8862
+ # [Output Only] Number of links actually provisioned in this interconnect.
8863
+ # Corresponds to the JSON property `provisionedLinkCount`
8864
+ # @return [Fixnum]
8865
+ attr_accessor :provisioned_link_count
8866
+
8867
+ # Target number of physical links in the link bundle, as requested by the
8868
+ # customer.
8869
+ # Corresponds to the JSON property `requestedLinkCount`
8870
+ # @return [Fixnum]
8871
+ attr_accessor :requested_link_count
8872
+
8720
8873
  # [Output Only] Server-defined URL for the resource.
8721
8874
  # Corresponds to the JSON property `selfLink`
8722
8875
  # @return [String]
@@ -8728,36 +8881,63 @@ module Google
8728
8881
 
8729
8882
  # Update properties of this object
8730
8883
  def update!(**args)
8731
- @charges_use_fee = args[:charges_use_fee] if args.key?(:charges_use_fee)
8884
+ @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
8885
+ @circuit_infos = args[:circuit_infos] if args.key?(:circuit_infos)
8886
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
8887
+ @customer_name = args[:customer_name] if args.key?(:customer_name)
8888
+ @description = args[:description] if args.key?(:description)
8889
+ @expected_outages = args[:expected_outages] if args.key?(:expected_outages)
8890
+ @google_ip_address = args[:google_ip_address] if args.key?(:google_ip_address)
8891
+ @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
8892
+ @id = args[:id] if args.key?(:id)
8893
+ @interconnect_attachments = args[:interconnect_attachments] if args.key?(:interconnect_attachments)
8894
+ @interconnect_type = args[:interconnect_type] if args.key?(:interconnect_type)
8732
8895
  @kind = args[:kind] if args.key?(:kind)
8896
+ @link_type = args[:link_type] if args.key?(:link_type)
8897
+ @location = args[:location] if args.key?(:location)
8733
8898
  @name = args[:name] if args.key?(:name)
8899
+ @noc_contact_email = args[:noc_contact_email] if args.key?(:noc_contact_email)
8900
+ @operational_status = args[:operational_status] if args.key?(:operational_status)
8901
+ @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
8902
+ @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
8903
+ @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
8734
8904
  @self_link = args[:self_link] if args.key?(:self_link)
8735
8905
  end
8736
8906
  end
8737
8907
 
8738
- # A Machine Type resource.
8739
- class MachineType
8908
+ # Protocol definitions for Mixer API to support InterconnectAttachment. Next
8909
+ # available tag: 23
8910
+ class InterconnectAttachment
8740
8911
  include Google::Apis::Core::Hashable
8741
8912
 
8913
+ # [Output Only] IPv4 address + prefix length to be configured on Cloud Router
8914
+ # Interface for this interconnect attachment.
8915
+ # Corresponds to the JSON property `cloudRouterIpAddress`
8916
+ # @return [String]
8917
+ attr_accessor :cloud_router_ip_address
8918
+
8742
8919
  # [Output Only] Creation timestamp in RFC3339 text format.
8743
8920
  # Corresponds to the JSON property `creationTimestamp`
8744
8921
  # @return [String]
8745
8922
  attr_accessor :creation_timestamp
8746
8923
 
8747
- # Deprecation status for a public resource.
8748
- # Corresponds to the JSON property `deprecated`
8749
- # @return [Google::Apis::ComputeV1::DeprecationStatus]
8750
- attr_accessor :deprecated
8924
+ # [Output Only] IPv4 address + prefix length to be configured on the customer
8925
+ # router subinterface for this interconnect attachment.
8926
+ # Corresponds to the JSON property `customerRouterIpAddress`
8927
+ # @return [String]
8928
+ attr_accessor :customer_router_ip_address
8751
8929
 
8752
- # [Output Only] An optional textual description of the resource.
8930
+ # An optional description of this resource. Provide this property when you
8931
+ # create the resource.
8753
8932
  # Corresponds to the JSON property `description`
8754
8933
  # @return [String]
8755
8934
  attr_accessor :description
8756
8935
 
8757
- # [Output Only] The number of virtual CPUs that are available to the instance.
8758
- # Corresponds to the JSON property `guestCpus`
8759
- # @return [Fixnum]
8760
- attr_accessor :guest_cpus
8936
+ # [Output Only] Google reference ID, to be used when raising support tickets
8937
+ # with Google or otherwise to debug backend connectivity issues.
8938
+ # Corresponds to the JSON property `googleReferenceId`
8939
+ # @return [String]
8940
+ attr_accessor :google_reference_id
8761
8941
 
8762
8942
  # [Output Only] The unique identifier for the resource. This identifier is
8763
8943
  # defined by the server.
@@ -8765,107 +8945,84 @@ module Google
8765
8945
  # @return [Fixnum]
8766
8946
  attr_accessor :id
8767
8947
 
8768
- # [Deprecated] This property is deprecated and will never be populated with any
8769
- # relevant values.
8770
- # Corresponds to the JSON property `imageSpaceGb`
8771
- # @return [Fixnum]
8772
- attr_accessor :image_space_gb
8773
-
8774
- # [Output Only] Whether this machine type has a shared CPU. See Shared-core
8775
- # machine types for more information.
8776
- # Corresponds to the JSON property `isSharedCpu`
8777
- # @return [Boolean]
8778
- attr_accessor :is_shared_cpu
8779
- alias_method :is_shared_cpu?, :is_shared_cpu
8948
+ # URL of the underlying Interconnect object that this attachment's traffic will
8949
+ # traverse through.
8950
+ # Corresponds to the JSON property `interconnect`
8951
+ # @return [String]
8952
+ attr_accessor :interconnect
8780
8953
 
8781
- # [Output Only] The type of the resource. Always compute#machineType for machine
8782
- # types.
8954
+ # [Output Only] Type of the resource. Always compute#interconnectAttachment for
8955
+ # interconnect attachments.
8783
8956
  # Corresponds to the JSON property `kind`
8784
8957
  # @return [String]
8785
8958
  attr_accessor :kind
8786
8959
 
8787
- # [Output Only] Maximum persistent disks allowed.
8788
- # Corresponds to the JSON property `maximumPersistentDisks`
8789
- # @return [Fixnum]
8790
- attr_accessor :maximum_persistent_disks
8960
+ # Name of the resource. Provided by the client when the resource is created. The
8961
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
8962
+ # name must be 1-63 characters long and match the regular expression [a-z]([-a-
8963
+ # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter,
8964
+ # and all following characters must be a dash, lowercase letter, or digit,
8965
+ # except the last character, which cannot be a dash.
8966
+ # Corresponds to the JSON property `name`
8967
+ # @return [String]
8968
+ attr_accessor :name
8791
8969
 
8792
- # [Output Only] Maximum total persistent disks size (GB) allowed.
8793
- # Corresponds to the JSON property `maximumPersistentDisksSizeGb`
8794
- # @return [Fixnum]
8795
- attr_accessor :maximum_persistent_disks_size_gb
8970
+ # [Output Only] The current status of whether or not this interconnect
8971
+ # attachment is functional.
8972
+ # Corresponds to the JSON property `operationalStatus`
8973
+ # @return [String]
8974
+ attr_accessor :operational_status
8796
8975
 
8797
- # [Output Only] The amount of physical memory available to the instance, defined
8798
- # in MB.
8799
- # Corresponds to the JSON property `memoryMb`
8800
- # @return [Fixnum]
8801
- attr_accessor :memory_mb
8976
+ # Private information for an interconnect attachment when this belongs to an
8977
+ # interconnect of type IT_PRIVATE.
8978
+ # Corresponds to the JSON property `privateInterconnectInfo`
8979
+ # @return [Google::Apis::ComputeV1::InterconnectAttachmentPrivateInfo]
8980
+ attr_accessor :private_interconnect_info
8802
8981
 
8803
- # [Output Only] Name of the resource.
8804
- # Corresponds to the JSON property `name`
8982
+ # [Output Only] URL of the region where the regional interconnect attachment
8983
+ # resides.
8984
+ # Corresponds to the JSON property `region`
8805
8985
  # @return [String]
8806
- attr_accessor :name
8986
+ attr_accessor :region
8807
8987
 
8808
- # [Output Only] List of extended scratch disks assigned to the instance.
8809
- # Corresponds to the JSON property `scratchDisks`
8810
- # @return [Array<Google::Apis::ComputeV1::MachineType::ScratchDisk>]
8811
- attr_accessor :scratch_disks
8988
+ # URL of the cloud router to be used for dynamic routing. This router must be in
8989
+ # the same region as this InterconnectAttachment. The InterconnectAttachment
8990
+ # will automatically connect the Interconnect to the network & region within
8991
+ # which the Cloud Router is configured.
8992
+ # Corresponds to the JSON property `router`
8993
+ # @return [String]
8994
+ attr_accessor :router
8812
8995
 
8813
8996
  # [Output Only] Server-defined URL for the resource.
8814
8997
  # Corresponds to the JSON property `selfLink`
8815
8998
  # @return [String]
8816
8999
  attr_accessor :self_link
8817
9000
 
8818
- # [Output Only] The name of the zone where the machine type resides, such as us-
8819
- # central1-a.
8820
- # Corresponds to the JSON property `zone`
8821
- # @return [String]
8822
- attr_accessor :zone
8823
-
8824
9001
  def initialize(**args)
8825
9002
  update!(**args)
8826
9003
  end
8827
9004
 
8828
9005
  # Update properties of this object
8829
9006
  def update!(**args)
9007
+ @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
8830
9008
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
8831
- @deprecated = args[:deprecated] if args.key?(:deprecated)
9009
+ @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
8832
9010
  @description = args[:description] if args.key?(:description)
8833
- @guest_cpus = args[:guest_cpus] if args.key?(:guest_cpus)
9011
+ @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
8834
9012
  @id = args[:id] if args.key?(:id)
8835
- @image_space_gb = args[:image_space_gb] if args.key?(:image_space_gb)
8836
- @is_shared_cpu = args[:is_shared_cpu] if args.key?(:is_shared_cpu)
9013
+ @interconnect = args[:interconnect] if args.key?(:interconnect)
8837
9014
  @kind = args[:kind] if args.key?(:kind)
8838
- @maximum_persistent_disks = args[:maximum_persistent_disks] if args.key?(:maximum_persistent_disks)
8839
- @maximum_persistent_disks_size_gb = args[:maximum_persistent_disks_size_gb] if args.key?(:maximum_persistent_disks_size_gb)
8840
- @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
8841
9015
  @name = args[:name] if args.key?(:name)
8842
- @scratch_disks = args[:scratch_disks] if args.key?(:scratch_disks)
9016
+ @operational_status = args[:operational_status] if args.key?(:operational_status)
9017
+ @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
9018
+ @region = args[:region] if args.key?(:region)
9019
+ @router = args[:router] if args.key?(:router)
8843
9020
  @self_link = args[:self_link] if args.key?(:self_link)
8844
- @zone = args[:zone] if args.key?(:zone)
8845
- end
8846
-
8847
- #
8848
- class ScratchDisk
8849
- include Google::Apis::Core::Hashable
8850
-
8851
- # Size of the scratch disk, defined in GB.
8852
- # Corresponds to the JSON property `diskGb`
8853
- # @return [Fixnum]
8854
- attr_accessor :disk_gb
8855
-
8856
- def initialize(**args)
8857
- update!(**args)
8858
- end
8859
-
8860
- # Update properties of this object
8861
- def update!(**args)
8862
- @disk_gb = args[:disk_gb] if args.key?(:disk_gb)
8863
- end
8864
9021
  end
8865
9022
  end
8866
9023
 
8867
9024
  #
8868
- class MachineTypeAggregatedList
9025
+ class InterconnectAttachmentAggregatedList
8869
9026
  include Google::Apis::Core::Hashable
8870
9027
 
8871
9028
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -8873,13 +9030,14 @@ module Google
8873
9030
  # @return [String]
8874
9031
  attr_accessor :id
8875
9032
 
8876
- # A list of MachineTypesScopedList resources.
9033
+ # A list of InterconnectAttachmentsScopedList resources.
8877
9034
  # Corresponds to the JSON property `items`
8878
- # @return [Hash<String,Google::Apis::ComputeV1::MachineTypesScopedList>]
9035
+ # @return [Hash<String,Google::Apis::ComputeV1::InterconnectAttachmentsScopedList>]
8879
9036
  attr_accessor :items
8880
9037
 
8881
- # [Output Only] Type of resource. Always compute#machineTypeAggregatedList for
8882
- # aggregated lists of machine types.
9038
+ # [Output Only] Type of resource. Always compute#
9039
+ # interconnectAttachmentAggregatedList for aggregated lists of interconnect
9040
+ # attachments.
8883
9041
  # Corresponds to the JSON property `kind`
8884
9042
  # @return [String]
8885
9043
  attr_accessor :kind
@@ -8900,7 +9058,7 @@ module Google
8900
9058
 
8901
9059
  # [Output Only] Informational warning message.
8902
9060
  # Corresponds to the JSON property `warning`
8903
- # @return [Google::Apis::ComputeV1::MachineTypeAggregatedList::Warning]
9061
+ # @return [Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::Warning]
8904
9062
  attr_accessor :warning
8905
9063
 
8906
9064
  def initialize(**args)
@@ -8930,7 +9088,7 @@ module Google
8930
9088
  # [Output Only] Metadata about this warning in key: value format. For example:
8931
9089
  # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
8932
9090
  # Corresponds to the JSON property `data`
8933
- # @return [Array<Google::Apis::ComputeV1::MachineTypeAggregatedList::Warning::Datum>]
9091
+ # @return [Array<Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::Warning::Datum>]
8934
9092
  attr_accessor :data
8935
9093
 
8936
9094
  # [Output Only] A human-readable description of the warning code.
@@ -8982,8 +9140,8 @@ module Google
8982
9140
  end
8983
9141
  end
8984
9142
 
8985
- # Contains a list of machine types.
8986
- class MachineTypeList
9143
+ # Response to the list request, and contains a list of interconnect attachments.
9144
+ class InterconnectAttachmentList
8987
9145
  include Google::Apis::Core::Hashable
8988
9146
 
8989
9147
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -8991,13 +9149,13 @@ module Google
8991
9149
  # @return [String]
8992
9150
  attr_accessor :id
8993
9151
 
8994
- # A list of MachineType resources.
9152
+ # A list of InterconnectAttachment resources.
8995
9153
  # Corresponds to the JSON property `items`
8996
- # @return [Array<Google::Apis::ComputeV1::MachineType>]
9154
+ # @return [Array<Google::Apis::ComputeV1::InterconnectAttachment>]
8997
9155
  attr_accessor :items
8998
9156
 
8999
- # [Output Only] Type of resource. Always compute#machineTypeList for lists of
9000
- # machine types.
9157
+ # [Output Only] Type of resource. Always compute#interconnectAttachmentList for
9158
+ # lists of interconnect attachments.
9001
9159
  # Corresponds to the JSON property `kind`
9002
9160
  # @return [String]
9003
9161
  attr_accessor :kind
@@ -9018,7 +9176,7 @@ module Google
9018
9176
 
9019
9177
  # [Output Only] Informational warning message.
9020
9178
  # Corresponds to the JSON property `warning`
9021
- # @return [Google::Apis::ComputeV1::MachineTypeList::Warning]
9179
+ # @return [Google::Apis::ComputeV1::InterconnectAttachmentList::Warning]
9022
9180
  attr_accessor :warning
9023
9181
 
9024
9182
  def initialize(**args)
@@ -9048,7 +9206,7 @@ module Google
9048
9206
  # [Output Only] Metadata about this warning in key: value format. For example:
9049
9207
  # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
9050
9208
  # Corresponds to the JSON property `data`
9051
- # @return [Array<Google::Apis::ComputeV1::MachineTypeList::Warning::Datum>]
9209
+ # @return [Array<Google::Apis::ComputeV1::InterconnectAttachmentList::Warning::Datum>]
9052
9210
  attr_accessor :data
9053
9211
 
9054
9212
  # [Output Only] A human-readable description of the warning code.
@@ -9100,19 +9258,40 @@ module Google
9100
9258
  end
9101
9259
  end
9102
9260
 
9261
+ # Private information for an interconnect attachment when this belongs to an
9262
+ # interconnect of type IT_PRIVATE.
9263
+ class InterconnectAttachmentPrivateInfo
9264
+ include Google::Apis::Core::Hashable
9265
+
9266
+ # [Output Only] 802.1q encapsulation tag to be used for traffic between Google
9267
+ # and the customer, going to and from this network and region.
9268
+ # Corresponds to the JSON property `tag8021q`
9269
+ # @return [Fixnum]
9270
+ attr_accessor :tag8021q
9271
+
9272
+ def initialize(**args)
9273
+ update!(**args)
9274
+ end
9275
+
9276
+ # Update properties of this object
9277
+ def update!(**args)
9278
+ @tag8021q = args[:tag8021q] if args.key?(:tag8021q)
9279
+ end
9280
+ end
9281
+
9103
9282
  #
9104
- class MachineTypesScopedList
9283
+ class InterconnectAttachmentsScopedList
9105
9284
  include Google::Apis::Core::Hashable
9106
9285
 
9107
- # [Output Only] List of machine types contained in this scope.
9108
- # Corresponds to the JSON property `machineTypes`
9109
- # @return [Array<Google::Apis::ComputeV1::MachineType>]
9110
- attr_accessor :machine_types
9286
+ # List of interconnect attachments contained in this scope.
9287
+ # Corresponds to the JSON property `interconnectAttachments`
9288
+ # @return [Array<Google::Apis::ComputeV1::InterconnectAttachment>]
9289
+ attr_accessor :interconnect_attachments
9111
9290
 
9112
- # [Output Only] An informational warning that appears when the machine types
9113
- # list is empty.
9291
+ # Informational warning which replaces the list of addresses when the list is
9292
+ # empty.
9114
9293
  # Corresponds to the JSON property `warning`
9115
- # @return [Google::Apis::ComputeV1::MachineTypesScopedList::Warning]
9294
+ # @return [Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::Warning]
9116
9295
  attr_accessor :warning
9117
9296
 
9118
9297
  def initialize(**args)
@@ -9121,12 +9300,12 @@ module Google
9121
9300
 
9122
9301
  # Update properties of this object
9123
9302
  def update!(**args)
9124
- @machine_types = args[:machine_types] if args.key?(:machine_types)
9303
+ @interconnect_attachments = args[:interconnect_attachments] if args.key?(:interconnect_attachments)
9125
9304
  @warning = args[:warning] if args.key?(:warning)
9126
9305
  end
9127
9306
 
9128
- # [Output Only] An informational warning that appears when the machine types
9129
- # list is empty.
9307
+ # Informational warning which replaces the list of addresses when the list is
9308
+ # empty.
9130
9309
  class Warning
9131
9310
  include Google::Apis::Core::Hashable
9132
9311
 
@@ -9139,7 +9318,7 @@ module Google
9139
9318
  # [Output Only] Metadata about this warning in key: value format. For example:
9140
9319
  # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
9141
9320
  # Corresponds to the JSON property `data`
9142
- # @return [Array<Google::Apis::ComputeV1::MachineTypesScopedList::Warning::Datum>]
9321
+ # @return [Array<Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::Warning::Datum>]
9143
9322
  attr_accessor :data
9144
9323
 
9145
9324
  # [Output Only] A human-readable description of the warning code.
@@ -9191,45 +9370,1016 @@ module Google
9191
9370
  end
9192
9371
  end
9193
9372
 
9194
- #
9195
- class ManagedInstance
9373
+ # Describes a single physical circuit between the Customer and Google.
9374
+ # CircuitInfo objects are created by Google, so all fields are output only. Next
9375
+ # id: 4
9376
+ class InterconnectCircuitInfo
9196
9377
  include Google::Apis::Core::Hashable
9197
9378
 
9198
- # [Output Only] The current action that the managed instance group has scheduled
9199
- # for the instance. Possible values:
9200
- # - NONE The instance is running, and the managed instance group does not have
9201
- # any scheduled actions for this instance.
9202
- # - CREATING The managed instance group is creating this instance. If the group
9203
- # fails to create this instance, it will try again until it is successful.
9204
- # - CREATING_WITHOUT_RETRIES The managed instance group is attempting to create
9205
- # this instance only once. If the group fails to create this instance, it does
9206
- # not try again and the group's targetSize value is decreased instead.
9207
- # - RECREATING The managed instance group is recreating this instance.
9208
- # - DELETING The managed instance group is permanently deleting this instance.
9209
- # - ABANDONING The managed instance group is abandoning this instance. The
9210
- # instance will be removed from the instance group and from any target pools
9211
- # that are associated with this group.
9212
- # - RESTARTING The managed instance group is restarting the instance.
9213
- # - REFRESHING The managed instance group is applying configuration changes to
9214
- # the instance without stopping it. For example, the group can update the target
9215
- # pool list for an instance without stopping that instance.
9216
- # Corresponds to the JSON property `currentAction`
9379
+ # Customer-side demarc ID for this circuit. This will only be set if it was
9380
+ # provided by the Customer to Google during circuit turn-up.
9381
+ # Corresponds to the JSON property `customerDemarcId`
9217
9382
  # @return [String]
9218
- attr_accessor :current_action
9383
+ attr_accessor :customer_demarc_id
9219
9384
 
9220
- # [Output only] The unique identifier for this resource. This field is empty
9221
- # when instance does not exist.
9222
- # Corresponds to the JSON property `id`
9223
- # @return [Fixnum]
9224
- attr_accessor :id
9385
+ # Google-assigned unique ID for this circuit. Assigned at circuit turn-up.
9386
+ # Corresponds to the JSON property `googleCircuitId`
9387
+ # @return [String]
9388
+ attr_accessor :google_circuit_id
9225
9389
 
9226
- # [Output Only] The URL of the instance. The URL can exist even if the instance
9227
- # has not yet been created.
9228
- # Corresponds to the JSON property `instance`
9390
+ # Google-side demarc ID for this circuit. Assigned at circuit turn-up and
9391
+ # provided by Google to the customer in the LOA.
9392
+ # Corresponds to the JSON property `googleDemarcId`
9229
9393
  # @return [String]
9230
- attr_accessor :instance
9394
+ attr_accessor :google_demarc_id
9231
9395
 
9232
- # [Output Only] The status of the instance. This field is empty when the
9396
+ def initialize(**args)
9397
+ update!(**args)
9398
+ end
9399
+
9400
+ # Update properties of this object
9401
+ def update!(**args)
9402
+ @customer_demarc_id = args[:customer_demarc_id] if args.key?(:customer_demarc_id)
9403
+ @google_circuit_id = args[:google_circuit_id] if args.key?(:google_circuit_id)
9404
+ @google_demarc_id = args[:google_demarc_id] if args.key?(:google_demarc_id)
9405
+ end
9406
+ end
9407
+
9408
+ # Response to the list request, and contains a list of interconnects.
9409
+ class InterconnectList
9410
+ include Google::Apis::Core::Hashable
9411
+
9412
+ # [Output Only] Unique identifier for the resource; defined by the server.
9413
+ # Corresponds to the JSON property `id`
9414
+ # @return [String]
9415
+ attr_accessor :id
9416
+
9417
+ # A list of Interconnect resources.
9418
+ # Corresponds to the JSON property `items`
9419
+ # @return [Array<Google::Apis::ComputeV1::Interconnect>]
9420
+ attr_accessor :items
9421
+
9422
+ # [Output Only] Type of resource. Always compute#interconnectList for lists of
9423
+ # interconnects.
9424
+ # Corresponds to the JSON property `kind`
9425
+ # @return [String]
9426
+ attr_accessor :kind
9427
+
9428
+ # [Output Only] This token allows you to get the next page of results for list
9429
+ # requests. If the number of results is larger than maxResults, use the
9430
+ # nextPageToken as a value for the query parameter pageToken in the next list
9431
+ # request. Subsequent list requests will have their own nextPageToken to
9432
+ # continue paging through the results.
9433
+ # Corresponds to the JSON property `nextPageToken`
9434
+ # @return [String]
9435
+ attr_accessor :next_page_token
9436
+
9437
+ # [Output Only] Server-defined URL for this resource.
9438
+ # Corresponds to the JSON property `selfLink`
9439
+ # @return [String]
9440
+ attr_accessor :self_link
9441
+
9442
+ # [Output Only] Informational warning message.
9443
+ # Corresponds to the JSON property `warning`
9444
+ # @return [Google::Apis::ComputeV1::InterconnectList::Warning]
9445
+ attr_accessor :warning
9446
+
9447
+ def initialize(**args)
9448
+ update!(**args)
9449
+ end
9450
+
9451
+ # Update properties of this object
9452
+ def update!(**args)
9453
+ @id = args[:id] if args.key?(:id)
9454
+ @items = args[:items] if args.key?(:items)
9455
+ @kind = args[:kind] if args.key?(:kind)
9456
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
9457
+ @self_link = args[:self_link] if args.key?(:self_link)
9458
+ @warning = args[:warning] if args.key?(:warning)
9459
+ end
9460
+
9461
+ # [Output Only] Informational warning message.
9462
+ class Warning
9463
+ include Google::Apis::Core::Hashable
9464
+
9465
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
9466
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
9467
+ # Corresponds to the JSON property `code`
9468
+ # @return [String]
9469
+ attr_accessor :code
9470
+
9471
+ # [Output Only] Metadata about this warning in key: value format. For example:
9472
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
9473
+ # Corresponds to the JSON property `data`
9474
+ # @return [Array<Google::Apis::ComputeV1::InterconnectList::Warning::Datum>]
9475
+ attr_accessor :data
9476
+
9477
+ # [Output Only] A human-readable description of the warning code.
9478
+ # Corresponds to the JSON property `message`
9479
+ # @return [String]
9480
+ attr_accessor :message
9481
+
9482
+ def initialize(**args)
9483
+ update!(**args)
9484
+ end
9485
+
9486
+ # Update properties of this object
9487
+ def update!(**args)
9488
+ @code = args[:code] if args.key?(:code)
9489
+ @data = args[:data] if args.key?(:data)
9490
+ @message = args[:message] if args.key?(:message)
9491
+ end
9492
+
9493
+ #
9494
+ class Datum
9495
+ include Google::Apis::Core::Hashable
9496
+
9497
+ # [Output Only] A key that provides more detail on the warning being returned.
9498
+ # For example, for warnings where there are no results in a list request for a
9499
+ # particular zone, this key might be scope and the key value might be the zone
9500
+ # name. Other examples might be a key indicating a deprecated resource and a
9501
+ # suggested replacement, or a warning about invalid network settings (for
9502
+ # example, if an instance attempts to perform IP forwarding but is not enabled
9503
+ # for IP forwarding).
9504
+ # Corresponds to the JSON property `key`
9505
+ # @return [String]
9506
+ attr_accessor :key
9507
+
9508
+ # [Output Only] A warning data value corresponding to the key.
9509
+ # Corresponds to the JSON property `value`
9510
+ # @return [String]
9511
+ attr_accessor :value
9512
+
9513
+ def initialize(**args)
9514
+ update!(**args)
9515
+ end
9516
+
9517
+ # Update properties of this object
9518
+ def update!(**args)
9519
+ @key = args[:key] if args.key?(:key)
9520
+ @value = args[:value] if args.key?(:value)
9521
+ end
9522
+ end
9523
+ end
9524
+ end
9525
+
9526
+ # Protocol definitions for Mixer API to support InterconnectLocation.
9527
+ class InterconnectLocation
9528
+ include Google::Apis::Core::Hashable
9529
+
9530
+ # [Output Only] The postal address of the Point of Presence, each line in the
9531
+ # address is separated by a newline character.
9532
+ # Corresponds to the JSON property `address`
9533
+ # @return [String]
9534
+ attr_accessor :address
9535
+
9536
+ # Availability zone for this location. Within a city, maintenance will not be
9537
+ # simultaneously scheduled in more than one availability zone. Example: "zone1"
9538
+ # or "zone2".
9539
+ # Corresponds to the JSON property `availabilityZone`
9540
+ # @return [String]
9541
+ attr_accessor :availability_zone
9542
+
9543
+ # City designator used by the Interconnect UI to locate this
9544
+ # InterconnectLocation within the Continent. For example: "Chicago, IL", "
9545
+ # Amsterdam, Netherlands".
9546
+ # Corresponds to the JSON property `city`
9547
+ # @return [String]
9548
+ attr_accessor :city
9549
+
9550
+ # Continent for this location. Used by the location picker in the Interconnect
9551
+ # UI.
9552
+ # Corresponds to the JSON property `continent`
9553
+ # @return [String]
9554
+ attr_accessor :continent
9555
+
9556
+ # [Output Only] Creation timestamp in RFC3339 text format.
9557
+ # Corresponds to the JSON property `creationTimestamp`
9558
+ # @return [String]
9559
+ attr_accessor :creation_timestamp
9560
+
9561
+ # [Output Only] An optional description of the resource.
9562
+ # Corresponds to the JSON property `description`
9563
+ # @return [String]
9564
+ attr_accessor :description
9565
+
9566
+ # [Output Only] The name of the provider for this facility (e.g., EQUINIX).
9567
+ # Corresponds to the JSON property `facilityProvider`
9568
+ # @return [String]
9569
+ attr_accessor :facility_provider
9570
+
9571
+ # [Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-
9572
+ # DC1).
9573
+ # Corresponds to the JSON property `facilityProviderFacilityId`
9574
+ # @return [String]
9575
+ attr_accessor :facility_provider_facility_id
9576
+
9577
+ # [Output Only] The unique identifier for the resource. This identifier is
9578
+ # defined by the server.
9579
+ # Corresponds to the JSON property `id`
9580
+ # @return [Fixnum]
9581
+ attr_accessor :id
9582
+
9583
+ # [Output Only] Type of the resource. Always compute#interconnectLocation for
9584
+ # interconnect locations.
9585
+ # Corresponds to the JSON property `kind`
9586
+ # @return [String]
9587
+ attr_accessor :kind
9588
+
9589
+ # [Output Only] Name of the resource.
9590
+ # Corresponds to the JSON property `name`
9591
+ # @return [String]
9592
+ attr_accessor :name
9593
+
9594
+ # [Output Only] The peeringdb identifier for this facility (corresponding with a
9595
+ # netfac type in peeringdb).
9596
+ # Corresponds to the JSON property `peeringdbFacilityId`
9597
+ # @return [String]
9598
+ attr_accessor :peeringdb_facility_id
9599
+
9600
+ # [Output Only] A list of InterconnectLocation.RegionInfo objects, that describe
9601
+ # parameters pertaining to the relation between this InterconnectLocation and
9602
+ # various Google Cloud regions.
9603
+ # Corresponds to the JSON property `regionInfos`
9604
+ # @return [Array<Google::Apis::ComputeV1::InterconnectLocationRegionInfo>]
9605
+ attr_accessor :region_infos
9606
+
9607
+ # [Output Only] Server-defined URL for the resource.
9608
+ # Corresponds to the JSON property `selfLink`
9609
+ # @return [String]
9610
+ attr_accessor :self_link
9611
+
9612
+ def initialize(**args)
9613
+ update!(**args)
9614
+ end
9615
+
9616
+ # Update properties of this object
9617
+ def update!(**args)
9618
+ @address = args[:address] if args.key?(:address)
9619
+ @availability_zone = args[:availability_zone] if args.key?(:availability_zone)
9620
+ @city = args[:city] if args.key?(:city)
9621
+ @continent = args[:continent] if args.key?(:continent)
9622
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9623
+ @description = args[:description] if args.key?(:description)
9624
+ @facility_provider = args[:facility_provider] if args.key?(:facility_provider)
9625
+ @facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id)
9626
+ @id = args[:id] if args.key?(:id)
9627
+ @kind = args[:kind] if args.key?(:kind)
9628
+ @name = args[:name] if args.key?(:name)
9629
+ @peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id)
9630
+ @region_infos = args[:region_infos] if args.key?(:region_infos)
9631
+ @self_link = args[:self_link] if args.key?(:self_link)
9632
+ end
9633
+ end
9634
+
9635
+ # Response to the list request, and contains a list of interconnect locations.
9636
+ class InterconnectLocationList
9637
+ include Google::Apis::Core::Hashable
9638
+
9639
+ # [Output Only] Unique identifier for the resource; defined by the server.
9640
+ # Corresponds to the JSON property `id`
9641
+ # @return [String]
9642
+ attr_accessor :id
9643
+
9644
+ # A list of InterconnectLocation resources.
9645
+ # Corresponds to the JSON property `items`
9646
+ # @return [Array<Google::Apis::ComputeV1::InterconnectLocation>]
9647
+ attr_accessor :items
9648
+
9649
+ # [Output Only] Type of resource. Always compute#interconnectLocationList for
9650
+ # lists of interconnect locations.
9651
+ # Corresponds to the JSON property `kind`
9652
+ # @return [String]
9653
+ attr_accessor :kind
9654
+
9655
+ # [Output Only] This token allows you to get the next page of results for list
9656
+ # requests. If the number of results is larger than maxResults, use the
9657
+ # nextPageToken as a value for the query parameter pageToken in the next list
9658
+ # request. Subsequent list requests will have their own nextPageToken to
9659
+ # continue paging through the results.
9660
+ # Corresponds to the JSON property `nextPageToken`
9661
+ # @return [String]
9662
+ attr_accessor :next_page_token
9663
+
9664
+ # [Output Only] Server-defined URL for this resource.
9665
+ # Corresponds to the JSON property `selfLink`
9666
+ # @return [String]
9667
+ attr_accessor :self_link
9668
+
9669
+ # [Output Only] Informational warning message.
9670
+ # Corresponds to the JSON property `warning`
9671
+ # @return [Google::Apis::ComputeV1::InterconnectLocationList::Warning]
9672
+ attr_accessor :warning
9673
+
9674
+ def initialize(**args)
9675
+ update!(**args)
9676
+ end
9677
+
9678
+ # Update properties of this object
9679
+ def update!(**args)
9680
+ @id = args[:id] if args.key?(:id)
9681
+ @items = args[:items] if args.key?(:items)
9682
+ @kind = args[:kind] if args.key?(:kind)
9683
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
9684
+ @self_link = args[:self_link] if args.key?(:self_link)
9685
+ @warning = args[:warning] if args.key?(:warning)
9686
+ end
9687
+
9688
+ # [Output Only] Informational warning message.
9689
+ class Warning
9690
+ include Google::Apis::Core::Hashable
9691
+
9692
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
9693
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
9694
+ # Corresponds to the JSON property `code`
9695
+ # @return [String]
9696
+ attr_accessor :code
9697
+
9698
+ # [Output Only] Metadata about this warning in key: value format. For example:
9699
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
9700
+ # Corresponds to the JSON property `data`
9701
+ # @return [Array<Google::Apis::ComputeV1::InterconnectLocationList::Warning::Datum>]
9702
+ attr_accessor :data
9703
+
9704
+ # [Output Only] A human-readable description of the warning code.
9705
+ # Corresponds to the JSON property `message`
9706
+ # @return [String]
9707
+ attr_accessor :message
9708
+
9709
+ def initialize(**args)
9710
+ update!(**args)
9711
+ end
9712
+
9713
+ # Update properties of this object
9714
+ def update!(**args)
9715
+ @code = args[:code] if args.key?(:code)
9716
+ @data = args[:data] if args.key?(:data)
9717
+ @message = args[:message] if args.key?(:message)
9718
+ end
9719
+
9720
+ #
9721
+ class Datum
9722
+ include Google::Apis::Core::Hashable
9723
+
9724
+ # [Output Only] A key that provides more detail on the warning being returned.
9725
+ # For example, for warnings where there are no results in a list request for a
9726
+ # particular zone, this key might be scope and the key value might be the zone
9727
+ # name. Other examples might be a key indicating a deprecated resource and a
9728
+ # suggested replacement, or a warning about invalid network settings (for
9729
+ # example, if an instance attempts to perform IP forwarding but is not enabled
9730
+ # for IP forwarding).
9731
+ # Corresponds to the JSON property `key`
9732
+ # @return [String]
9733
+ attr_accessor :key
9734
+
9735
+ # [Output Only] A warning data value corresponding to the key.
9736
+ # Corresponds to the JSON property `value`
9737
+ # @return [String]
9738
+ attr_accessor :value
9739
+
9740
+ def initialize(**args)
9741
+ update!(**args)
9742
+ end
9743
+
9744
+ # Update properties of this object
9745
+ def update!(**args)
9746
+ @key = args[:key] if args.key?(:key)
9747
+ @value = args[:value] if args.key?(:value)
9748
+ end
9749
+ end
9750
+ end
9751
+ end
9752
+
9753
+ # Information about any potential InterconnectAttachments between an
9754
+ # Interconnect at a specific InterconnectLocation, and a specific Cloud Region.
9755
+ class InterconnectLocationRegionInfo
9756
+ include Google::Apis::Core::Hashable
9757
+
9758
+ # Expected round-trip time in milliseconds, from this InterconnectLocation to a
9759
+ # VM in this region.
9760
+ # Corresponds to the JSON property `expectedRttMs`
9761
+ # @return [Fixnum]
9762
+ attr_accessor :expected_rtt_ms
9763
+
9764
+ # Identifies the network presence of this location.
9765
+ # Corresponds to the JSON property `locationPresence`
9766
+ # @return [String]
9767
+ attr_accessor :location_presence
9768
+
9769
+ # URL for the region of this location.
9770
+ # Corresponds to the JSON property `region`
9771
+ # @return [String]
9772
+ attr_accessor :region
9773
+
9774
+ def initialize(**args)
9775
+ update!(**args)
9776
+ end
9777
+
9778
+ # Update properties of this object
9779
+ def update!(**args)
9780
+ @expected_rtt_ms = args[:expected_rtt_ms] if args.key?(:expected_rtt_ms)
9781
+ @location_presence = args[:location_presence] if args.key?(:location_presence)
9782
+ @region = args[:region] if args.key?(:region)
9783
+ end
9784
+ end
9785
+
9786
+ # Description of a planned outage on this Interconnect. Next id: 9
9787
+ class InterconnectOutageNotification
9788
+ include Google::Apis::Core::Hashable
9789
+
9790
+ # Iff issue_type is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs
9791
+ # that will be affected.
9792
+ # Corresponds to the JSON property `affectedCircuits`
9793
+ # @return [Array<String>]
9794
+ attr_accessor :affected_circuits
9795
+
9796
+ # Short user-visible description of the purpose of the outage.
9797
+ # Corresponds to the JSON property `description`
9798
+ # @return [String]
9799
+ attr_accessor :description
9800
+
9801
+ #
9802
+ # Corresponds to the JSON property `endTime`
9803
+ # @return [Fixnum]
9804
+ attr_accessor :end_time
9805
+
9806
+ #
9807
+ # Corresponds to the JSON property `issueType`
9808
+ # @return [String]
9809
+ attr_accessor :issue_type
9810
+
9811
+ # Unique identifier for this outage notification.
9812
+ # Corresponds to the JSON property `name`
9813
+ # @return [String]
9814
+ attr_accessor :name
9815
+
9816
+ #
9817
+ # Corresponds to the JSON property `source`
9818
+ # @return [String]
9819
+ attr_accessor :source
9820
+
9821
+ # Scheduled start and end times for the outage (milliseconds since Unix epoch).
9822
+ # Corresponds to the JSON property `startTime`
9823
+ # @return [Fixnum]
9824
+ attr_accessor :start_time
9825
+
9826
+ #
9827
+ # Corresponds to the JSON property `state`
9828
+ # @return [String]
9829
+ attr_accessor :state
9830
+
9831
+ def initialize(**args)
9832
+ update!(**args)
9833
+ end
9834
+
9835
+ # Update properties of this object
9836
+ def update!(**args)
9837
+ @affected_circuits = args[:affected_circuits] if args.key?(:affected_circuits)
9838
+ @description = args[:description] if args.key?(:description)
9839
+ @end_time = args[:end_time] if args.key?(:end_time)
9840
+ @issue_type = args[:issue_type] if args.key?(:issue_type)
9841
+ @name = args[:name] if args.key?(:name)
9842
+ @source = args[:source] if args.key?(:source)
9843
+ @start_time = args[:start_time] if args.key?(:start_time)
9844
+ @state = args[:state] if args.key?(:state)
9845
+ end
9846
+ end
9847
+
9848
+ # A license resource.
9849
+ class License
9850
+ include Google::Apis::Core::Hashable
9851
+
9852
+ # [Output Only] Deprecated. This field no longer reflects whether a license
9853
+ # charges a usage fee.
9854
+ # Corresponds to the JSON property `chargesUseFee`
9855
+ # @return [Boolean]
9856
+ attr_accessor :charges_use_fee
9857
+ alias_method :charges_use_fee?, :charges_use_fee
9858
+
9859
+ # [Output Only] Type of resource. Always compute#license for licenses.
9860
+ # Corresponds to the JSON property `kind`
9861
+ # @return [String]
9862
+ attr_accessor :kind
9863
+
9864
+ # [Output Only] Name of the resource. The name is 1-63 characters long and
9865
+ # complies with RFC1035.
9866
+ # Corresponds to the JSON property `name`
9867
+ # @return [String]
9868
+ attr_accessor :name
9869
+
9870
+ # [Output Only] Server-defined URL for the resource.
9871
+ # Corresponds to the JSON property `selfLink`
9872
+ # @return [String]
9873
+ attr_accessor :self_link
9874
+
9875
+ def initialize(**args)
9876
+ update!(**args)
9877
+ end
9878
+
9879
+ # Update properties of this object
9880
+ def update!(**args)
9881
+ @charges_use_fee = args[:charges_use_fee] if args.key?(:charges_use_fee)
9882
+ @kind = args[:kind] if args.key?(:kind)
9883
+ @name = args[:name] if args.key?(:name)
9884
+ @self_link = args[:self_link] if args.key?(:self_link)
9885
+ end
9886
+ end
9887
+
9888
+ # A Machine Type resource.
9889
+ class MachineType
9890
+ include Google::Apis::Core::Hashable
9891
+
9892
+ # [Output Only] Creation timestamp in RFC3339 text format.
9893
+ # Corresponds to the JSON property `creationTimestamp`
9894
+ # @return [String]
9895
+ attr_accessor :creation_timestamp
9896
+
9897
+ # Deprecation status for a public resource.
9898
+ # Corresponds to the JSON property `deprecated`
9899
+ # @return [Google::Apis::ComputeV1::DeprecationStatus]
9900
+ attr_accessor :deprecated
9901
+
9902
+ # [Output Only] An optional textual description of the resource.
9903
+ # Corresponds to the JSON property `description`
9904
+ # @return [String]
9905
+ attr_accessor :description
9906
+
9907
+ # [Output Only] The number of virtual CPUs that are available to the instance.
9908
+ # Corresponds to the JSON property `guestCpus`
9909
+ # @return [Fixnum]
9910
+ attr_accessor :guest_cpus
9911
+
9912
+ # [Output Only] The unique identifier for the resource. This identifier is
9913
+ # defined by the server.
9914
+ # Corresponds to the JSON property `id`
9915
+ # @return [Fixnum]
9916
+ attr_accessor :id
9917
+
9918
+ # [Deprecated] This property is deprecated and will never be populated with any
9919
+ # relevant values.
9920
+ # Corresponds to the JSON property `imageSpaceGb`
9921
+ # @return [Fixnum]
9922
+ attr_accessor :image_space_gb
9923
+
9924
+ # [Output Only] Whether this machine type has a shared CPU. See Shared-core
9925
+ # machine types for more information.
9926
+ # Corresponds to the JSON property `isSharedCpu`
9927
+ # @return [Boolean]
9928
+ attr_accessor :is_shared_cpu
9929
+ alias_method :is_shared_cpu?, :is_shared_cpu
9930
+
9931
+ # [Output Only] The type of the resource. Always compute#machineType for machine
9932
+ # types.
9933
+ # Corresponds to the JSON property `kind`
9934
+ # @return [String]
9935
+ attr_accessor :kind
9936
+
9937
+ # [Output Only] Maximum persistent disks allowed.
9938
+ # Corresponds to the JSON property `maximumPersistentDisks`
9939
+ # @return [Fixnum]
9940
+ attr_accessor :maximum_persistent_disks
9941
+
9942
+ # [Output Only] Maximum total persistent disks size (GB) allowed.
9943
+ # Corresponds to the JSON property `maximumPersistentDisksSizeGb`
9944
+ # @return [Fixnum]
9945
+ attr_accessor :maximum_persistent_disks_size_gb
9946
+
9947
+ # [Output Only] The amount of physical memory available to the instance, defined
9948
+ # in MB.
9949
+ # Corresponds to the JSON property `memoryMb`
9950
+ # @return [Fixnum]
9951
+ attr_accessor :memory_mb
9952
+
9953
+ # [Output Only] Name of the resource.
9954
+ # Corresponds to the JSON property `name`
9955
+ # @return [String]
9956
+ attr_accessor :name
9957
+
9958
+ # [Output Only] List of extended scratch disks assigned to the instance.
9959
+ # Corresponds to the JSON property `scratchDisks`
9960
+ # @return [Array<Google::Apis::ComputeV1::MachineType::ScratchDisk>]
9961
+ attr_accessor :scratch_disks
9962
+
9963
+ # [Output Only] Server-defined URL for the resource.
9964
+ # Corresponds to the JSON property `selfLink`
9965
+ # @return [String]
9966
+ attr_accessor :self_link
9967
+
9968
+ # [Output Only] The name of the zone where the machine type resides, such as us-
9969
+ # central1-a.
9970
+ # Corresponds to the JSON property `zone`
9971
+ # @return [String]
9972
+ attr_accessor :zone
9973
+
9974
+ def initialize(**args)
9975
+ update!(**args)
9976
+ end
9977
+
9978
+ # Update properties of this object
9979
+ def update!(**args)
9980
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9981
+ @deprecated = args[:deprecated] if args.key?(:deprecated)
9982
+ @description = args[:description] if args.key?(:description)
9983
+ @guest_cpus = args[:guest_cpus] if args.key?(:guest_cpus)
9984
+ @id = args[:id] if args.key?(:id)
9985
+ @image_space_gb = args[:image_space_gb] if args.key?(:image_space_gb)
9986
+ @is_shared_cpu = args[:is_shared_cpu] if args.key?(:is_shared_cpu)
9987
+ @kind = args[:kind] if args.key?(:kind)
9988
+ @maximum_persistent_disks = args[:maximum_persistent_disks] if args.key?(:maximum_persistent_disks)
9989
+ @maximum_persistent_disks_size_gb = args[:maximum_persistent_disks_size_gb] if args.key?(:maximum_persistent_disks_size_gb)
9990
+ @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
9991
+ @name = args[:name] if args.key?(:name)
9992
+ @scratch_disks = args[:scratch_disks] if args.key?(:scratch_disks)
9993
+ @self_link = args[:self_link] if args.key?(:self_link)
9994
+ @zone = args[:zone] if args.key?(:zone)
9995
+ end
9996
+
9997
+ #
9998
+ class ScratchDisk
9999
+ include Google::Apis::Core::Hashable
10000
+
10001
+ # Size of the scratch disk, defined in GB.
10002
+ # Corresponds to the JSON property `diskGb`
10003
+ # @return [Fixnum]
10004
+ attr_accessor :disk_gb
10005
+
10006
+ def initialize(**args)
10007
+ update!(**args)
10008
+ end
10009
+
10010
+ # Update properties of this object
10011
+ def update!(**args)
10012
+ @disk_gb = args[:disk_gb] if args.key?(:disk_gb)
10013
+ end
10014
+ end
10015
+ end
10016
+
10017
+ #
10018
+ class MachineTypeAggregatedList
10019
+ include Google::Apis::Core::Hashable
10020
+
10021
+ # [Output Only] Unique identifier for the resource; defined by the server.
10022
+ # Corresponds to the JSON property `id`
10023
+ # @return [String]
10024
+ attr_accessor :id
10025
+
10026
+ # A list of MachineTypesScopedList resources.
10027
+ # Corresponds to the JSON property `items`
10028
+ # @return [Hash<String,Google::Apis::ComputeV1::MachineTypesScopedList>]
10029
+ attr_accessor :items
10030
+
10031
+ # [Output Only] Type of resource. Always compute#machineTypeAggregatedList for
10032
+ # aggregated lists of machine types.
10033
+ # Corresponds to the JSON property `kind`
10034
+ # @return [String]
10035
+ attr_accessor :kind
10036
+
10037
+ # [Output Only] This token allows you to get the next page of results for list
10038
+ # requests. If the number of results is larger than maxResults, use the
10039
+ # nextPageToken as a value for the query parameter pageToken in the next list
10040
+ # request. Subsequent list requests will have their own nextPageToken to
10041
+ # continue paging through the results.
10042
+ # Corresponds to the JSON property `nextPageToken`
10043
+ # @return [String]
10044
+ attr_accessor :next_page_token
10045
+
10046
+ # [Output Only] Server-defined URL for this resource.
10047
+ # Corresponds to the JSON property `selfLink`
10048
+ # @return [String]
10049
+ attr_accessor :self_link
10050
+
10051
+ # [Output Only] Informational warning message.
10052
+ # Corresponds to the JSON property `warning`
10053
+ # @return [Google::Apis::ComputeV1::MachineTypeAggregatedList::Warning]
10054
+ attr_accessor :warning
10055
+
10056
+ def initialize(**args)
10057
+ update!(**args)
10058
+ end
10059
+
10060
+ # Update properties of this object
10061
+ def update!(**args)
10062
+ @id = args[:id] if args.key?(:id)
10063
+ @items = args[:items] if args.key?(:items)
10064
+ @kind = args[:kind] if args.key?(:kind)
10065
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10066
+ @self_link = args[:self_link] if args.key?(:self_link)
10067
+ @warning = args[:warning] if args.key?(:warning)
10068
+ end
10069
+
10070
+ # [Output Only] Informational warning message.
10071
+ class Warning
10072
+ include Google::Apis::Core::Hashable
10073
+
10074
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10075
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10076
+ # Corresponds to the JSON property `code`
10077
+ # @return [String]
10078
+ attr_accessor :code
10079
+
10080
+ # [Output Only] Metadata about this warning in key: value format. For example:
10081
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10082
+ # Corresponds to the JSON property `data`
10083
+ # @return [Array<Google::Apis::ComputeV1::MachineTypeAggregatedList::Warning::Datum>]
10084
+ attr_accessor :data
10085
+
10086
+ # [Output Only] A human-readable description of the warning code.
10087
+ # Corresponds to the JSON property `message`
10088
+ # @return [String]
10089
+ attr_accessor :message
10090
+
10091
+ def initialize(**args)
10092
+ update!(**args)
10093
+ end
10094
+
10095
+ # Update properties of this object
10096
+ def update!(**args)
10097
+ @code = args[:code] if args.key?(:code)
10098
+ @data = args[:data] if args.key?(:data)
10099
+ @message = args[:message] if args.key?(:message)
10100
+ end
10101
+
10102
+ #
10103
+ class Datum
10104
+ include Google::Apis::Core::Hashable
10105
+
10106
+ # [Output Only] A key that provides more detail on the warning being returned.
10107
+ # For example, for warnings where there are no results in a list request for a
10108
+ # particular zone, this key might be scope and the key value might be the zone
10109
+ # name. Other examples might be a key indicating a deprecated resource and a
10110
+ # suggested replacement, or a warning about invalid network settings (for
10111
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10112
+ # for IP forwarding).
10113
+ # Corresponds to the JSON property `key`
10114
+ # @return [String]
10115
+ attr_accessor :key
10116
+
10117
+ # [Output Only] A warning data value corresponding to the key.
10118
+ # Corresponds to the JSON property `value`
10119
+ # @return [String]
10120
+ attr_accessor :value
10121
+
10122
+ def initialize(**args)
10123
+ update!(**args)
10124
+ end
10125
+
10126
+ # Update properties of this object
10127
+ def update!(**args)
10128
+ @key = args[:key] if args.key?(:key)
10129
+ @value = args[:value] if args.key?(:value)
10130
+ end
10131
+ end
10132
+ end
10133
+ end
10134
+
10135
+ # Contains a list of machine types.
10136
+ class MachineTypeList
10137
+ include Google::Apis::Core::Hashable
10138
+
10139
+ # [Output Only] Unique identifier for the resource; defined by the server.
10140
+ # Corresponds to the JSON property `id`
10141
+ # @return [String]
10142
+ attr_accessor :id
10143
+
10144
+ # A list of MachineType resources.
10145
+ # Corresponds to the JSON property `items`
10146
+ # @return [Array<Google::Apis::ComputeV1::MachineType>]
10147
+ attr_accessor :items
10148
+
10149
+ # [Output Only] Type of resource. Always compute#machineTypeList for lists of
10150
+ # machine types.
10151
+ # Corresponds to the JSON property `kind`
10152
+ # @return [String]
10153
+ attr_accessor :kind
10154
+
10155
+ # [Output Only] This token allows you to get the next page of results for list
10156
+ # requests. If the number of results is larger than maxResults, use the
10157
+ # nextPageToken as a value for the query parameter pageToken in the next list
10158
+ # request. Subsequent list requests will have their own nextPageToken to
10159
+ # continue paging through the results.
10160
+ # Corresponds to the JSON property `nextPageToken`
10161
+ # @return [String]
10162
+ attr_accessor :next_page_token
10163
+
10164
+ # [Output Only] Server-defined URL for this resource.
10165
+ # Corresponds to the JSON property `selfLink`
10166
+ # @return [String]
10167
+ attr_accessor :self_link
10168
+
10169
+ # [Output Only] Informational warning message.
10170
+ # Corresponds to the JSON property `warning`
10171
+ # @return [Google::Apis::ComputeV1::MachineTypeList::Warning]
10172
+ attr_accessor :warning
10173
+
10174
+ def initialize(**args)
10175
+ update!(**args)
10176
+ end
10177
+
10178
+ # Update properties of this object
10179
+ def update!(**args)
10180
+ @id = args[:id] if args.key?(:id)
10181
+ @items = args[:items] if args.key?(:items)
10182
+ @kind = args[:kind] if args.key?(:kind)
10183
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10184
+ @self_link = args[:self_link] if args.key?(:self_link)
10185
+ @warning = args[:warning] if args.key?(:warning)
10186
+ end
10187
+
10188
+ # [Output Only] Informational warning message.
10189
+ class Warning
10190
+ include Google::Apis::Core::Hashable
10191
+
10192
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10193
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10194
+ # Corresponds to the JSON property `code`
10195
+ # @return [String]
10196
+ attr_accessor :code
10197
+
10198
+ # [Output Only] Metadata about this warning in key: value format. For example:
10199
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10200
+ # Corresponds to the JSON property `data`
10201
+ # @return [Array<Google::Apis::ComputeV1::MachineTypeList::Warning::Datum>]
10202
+ attr_accessor :data
10203
+
10204
+ # [Output Only] A human-readable description of the warning code.
10205
+ # Corresponds to the JSON property `message`
10206
+ # @return [String]
10207
+ attr_accessor :message
10208
+
10209
+ def initialize(**args)
10210
+ update!(**args)
10211
+ end
10212
+
10213
+ # Update properties of this object
10214
+ def update!(**args)
10215
+ @code = args[:code] if args.key?(:code)
10216
+ @data = args[:data] if args.key?(:data)
10217
+ @message = args[:message] if args.key?(:message)
10218
+ end
10219
+
10220
+ #
10221
+ class Datum
10222
+ include Google::Apis::Core::Hashable
10223
+
10224
+ # [Output Only] A key that provides more detail on the warning being returned.
10225
+ # For example, for warnings where there are no results in a list request for a
10226
+ # particular zone, this key might be scope and the key value might be the zone
10227
+ # name. Other examples might be a key indicating a deprecated resource and a
10228
+ # suggested replacement, or a warning about invalid network settings (for
10229
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10230
+ # for IP forwarding).
10231
+ # Corresponds to the JSON property `key`
10232
+ # @return [String]
10233
+ attr_accessor :key
10234
+
10235
+ # [Output Only] A warning data value corresponding to the key.
10236
+ # Corresponds to the JSON property `value`
10237
+ # @return [String]
10238
+ attr_accessor :value
10239
+
10240
+ def initialize(**args)
10241
+ update!(**args)
10242
+ end
10243
+
10244
+ # Update properties of this object
10245
+ def update!(**args)
10246
+ @key = args[:key] if args.key?(:key)
10247
+ @value = args[:value] if args.key?(:value)
10248
+ end
10249
+ end
10250
+ end
10251
+ end
10252
+
10253
+ #
10254
+ class MachineTypesScopedList
10255
+ include Google::Apis::Core::Hashable
10256
+
10257
+ # [Output Only] List of machine types contained in this scope.
10258
+ # Corresponds to the JSON property `machineTypes`
10259
+ # @return [Array<Google::Apis::ComputeV1::MachineType>]
10260
+ attr_accessor :machine_types
10261
+
10262
+ # [Output Only] An informational warning that appears when the machine types
10263
+ # list is empty.
10264
+ # Corresponds to the JSON property `warning`
10265
+ # @return [Google::Apis::ComputeV1::MachineTypesScopedList::Warning]
10266
+ attr_accessor :warning
10267
+
10268
+ def initialize(**args)
10269
+ update!(**args)
10270
+ end
10271
+
10272
+ # Update properties of this object
10273
+ def update!(**args)
10274
+ @machine_types = args[:machine_types] if args.key?(:machine_types)
10275
+ @warning = args[:warning] if args.key?(:warning)
10276
+ end
10277
+
10278
+ # [Output Only] An informational warning that appears when the machine types
10279
+ # list is empty.
10280
+ class Warning
10281
+ include Google::Apis::Core::Hashable
10282
+
10283
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10284
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10285
+ # Corresponds to the JSON property `code`
10286
+ # @return [String]
10287
+ attr_accessor :code
10288
+
10289
+ # [Output Only] Metadata about this warning in key: value format. For example:
10290
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10291
+ # Corresponds to the JSON property `data`
10292
+ # @return [Array<Google::Apis::ComputeV1::MachineTypesScopedList::Warning::Datum>]
10293
+ attr_accessor :data
10294
+
10295
+ # [Output Only] A human-readable description of the warning code.
10296
+ # Corresponds to the JSON property `message`
10297
+ # @return [String]
10298
+ attr_accessor :message
10299
+
10300
+ def initialize(**args)
10301
+ update!(**args)
10302
+ end
10303
+
10304
+ # Update properties of this object
10305
+ def update!(**args)
10306
+ @code = args[:code] if args.key?(:code)
10307
+ @data = args[:data] if args.key?(:data)
10308
+ @message = args[:message] if args.key?(:message)
10309
+ end
10310
+
10311
+ #
10312
+ class Datum
10313
+ include Google::Apis::Core::Hashable
10314
+
10315
+ # [Output Only] A key that provides more detail on the warning being returned.
10316
+ # For example, for warnings where there are no results in a list request for a
10317
+ # particular zone, this key might be scope and the key value might be the zone
10318
+ # name. Other examples might be a key indicating a deprecated resource and a
10319
+ # suggested replacement, or a warning about invalid network settings (for
10320
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10321
+ # for IP forwarding).
10322
+ # Corresponds to the JSON property `key`
10323
+ # @return [String]
10324
+ attr_accessor :key
10325
+
10326
+ # [Output Only] A warning data value corresponding to the key.
10327
+ # Corresponds to the JSON property `value`
10328
+ # @return [String]
10329
+ attr_accessor :value
10330
+
10331
+ def initialize(**args)
10332
+ update!(**args)
10333
+ end
10334
+
10335
+ # Update properties of this object
10336
+ def update!(**args)
10337
+ @key = args[:key] if args.key?(:key)
10338
+ @value = args[:value] if args.key?(:value)
10339
+ end
10340
+ end
10341
+ end
10342
+ end
10343
+
10344
+ #
10345
+ class ManagedInstance
10346
+ include Google::Apis::Core::Hashable
10347
+
10348
+ # [Output Only] The current action that the managed instance group has scheduled
10349
+ # for the instance. Possible values:
10350
+ # - NONE The instance is running, and the managed instance group does not have
10351
+ # any scheduled actions for this instance.
10352
+ # - CREATING The managed instance group is creating this instance. If the group
10353
+ # fails to create this instance, it will try again until it is successful.
10354
+ # - CREATING_WITHOUT_RETRIES The managed instance group is attempting to create
10355
+ # this instance only once. If the group fails to create this instance, it does
10356
+ # not try again and the group's targetSize value is decreased instead.
10357
+ # - RECREATING The managed instance group is recreating this instance.
10358
+ # - DELETING The managed instance group is permanently deleting this instance.
10359
+ # - ABANDONING The managed instance group is abandoning this instance. The
10360
+ # instance will be removed from the instance group and from any target pools
10361
+ # that are associated with this group.
10362
+ # - RESTARTING The managed instance group is restarting the instance.
10363
+ # - REFRESHING The managed instance group is applying configuration changes to
10364
+ # the instance without stopping it. For example, the group can update the target
10365
+ # pool list for an instance without stopping that instance.
10366
+ # Corresponds to the JSON property `currentAction`
10367
+ # @return [String]
10368
+ attr_accessor :current_action
10369
+
10370
+ # [Output only] The unique identifier for this resource. This field is empty
10371
+ # when instance does not exist.
10372
+ # Corresponds to the JSON property `id`
10373
+ # @return [Fixnum]
10374
+ attr_accessor :id
10375
+
10376
+ # [Output Only] The URL of the instance. The URL can exist even if the instance
10377
+ # has not yet been created.
10378
+ # Corresponds to the JSON property `instance`
10379
+ # @return [String]
10380
+ attr_accessor :instance
10381
+
10382
+ # [Output Only] The status of the instance. This field is empty when the
9233
10383
  # instance does not exist.
9234
10384
  # Corresponds to the JSON property `instanceStatus`
9235
10385
  # @return [String]
@@ -12290,6 +13440,13 @@ module Google
12290
13440
  # @return [String]
12291
13441
  attr_accessor :ip_range
12292
13442
 
13443
+ # URI of the linked interconnect attachment. It must be in the same region as
13444
+ # the router. Each interface can have at most one linked resource and it could
13445
+ # either be a VPN Tunnel or an interconnect attachment.
13446
+ # Corresponds to the JSON property `linkedInterconnectAttachment`
13447
+ # @return [String]
13448
+ attr_accessor :linked_interconnect_attachment
13449
+
12293
13450
  # URI of the linked VPN tunnel. It must be in the same region as the router.
12294
13451
  # Each interface can have at most one linked resource and it could either be a
12295
13452
  # VPN Tunnel or an interconnect attachment.
@@ -12310,6 +13467,7 @@ module Google
12310
13467
  # Update properties of this object
12311
13468
  def update!(**args)
12312
13469
  @ip_range = args[:ip_range] if args.key?(:ip_range)
13470
+ @linked_interconnect_attachment = args[:linked_interconnect_attachment] if args.key?(:linked_interconnect_attachment)
12313
13471
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
12314
13472
  @name = args[:name] if args.key?(:name)
12315
13473
  end