google-api-client 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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