knife-google 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +15 -0
  2. data/README.md +155 -66
  3. data/knife-google.gemspec +2 -1
  4. data/lib/chef/knife/google_base.rb +1 -1
  5. data/lib/chef/knife/google_disk_create.rb +17 -9
  6. data/lib/chef/knife/google_disk_delete.rb +2 -2
  7. data/lib/chef/knife/google_disk_list.rb +8 -8
  8. data/lib/chef/knife/google_project_list.rb +178 -0
  9. data/lib/chef/knife/google_region_list.rb +125 -0
  10. data/lib/chef/knife/google_server_create.rb +174 -46
  11. data/lib/chef/knife/google_server_delete.rb +9 -13
  12. data/lib/chef/knife/google_server_list.rb +5 -6
  13. data/lib/chef/knife/google_zone_list.rb +22 -28
  14. data/lib/google/compute.rb +2 -1
  15. data/lib/google/compute/client.rb +12 -7
  16. data/lib/google/compute/creatable_resource_collection.rb +12 -1
  17. data/lib/google/compute/disk.rb +0 -2
  18. data/lib/google/compute/image.rb +1 -2
  19. data/lib/google/compute/project.rb +2 -2
  20. data/lib/google/compute/{kernel.rb → region.rb} +12 -1
  21. data/lib/google/compute/region_operation.rb +62 -0
  22. data/lib/google/compute/server.rb +3 -2
  23. data/lib/google/compute/server/attached_disk.rb +3 -3
  24. data/lib/google/compute/zone.rb +6 -4
  25. data/lib/google/compute/zone_operation.rb +11 -9
  26. data/lib/knife-google/version.rb +1 -1
  27. data/spec/chef/knife/google_base_spec.rb +4 -4
  28. data/spec/chef/knife/google_disk_create_spec.rb +8 -7
  29. data/spec/chef/knife/google_disk_delete_spec.rb +15 -16
  30. data/spec/chef/knife/google_disk_list_spec.rb +6 -6
  31. data/spec/chef/knife/google_region_list_spec.rb +32 -0
  32. data/spec/chef/knife/google_server_create_spec.rb +78 -44
  33. data/spec/chef/knife/google_server_delete_spec.rb +37 -37
  34. data/spec/chef/knife/google_server_list_spec.rb +8 -7
  35. data/spec/chef/knife/google_setup_spec.rb +1 -2
  36. data/spec/chef/knife/google_zone_list_spec.rb +4 -4
  37. data/spec/data/{compute-v1beta15.json → compute-v1.json} +700 -246
  38. data/spec/data/disk.json +3 -4
  39. data/spec/data/firewall.json +2 -2
  40. data/spec/data/global_operation.json +3 -3
  41. data/spec/data/image.json +2 -2
  42. data/spec/data/machine_type.json +1 -1
  43. data/spec/data/network.json +1 -1
  44. data/spec/data/project.json +1 -1
  45. data/spec/data/region.json +23 -0
  46. data/spec/data/serial_port_output.json +1 -1
  47. data/spec/data/server.json +7 -7
  48. data/spec/data/snapshot.json +2 -2
  49. data/spec/data/zone.json +7 -15
  50. data/spec/data/zone_operation.json +3 -3
  51. data/spec/google/compute/disk_spec.rb +32 -32
  52. data/spec/google/compute/firewall_spec.rb +37 -37
  53. data/spec/google/compute/global_operation_spec.rb +9 -9
  54. data/spec/google/compute/image_spec.rb +17 -17
  55. data/spec/google/compute/machine_type_spec.rb +7 -7
  56. data/spec/google/compute/network_spec.rb +14 -14
  57. data/spec/google/compute/project_spec.rb +17 -17
  58. data/spec/google/compute/region_spec.rb +51 -0
  59. data/spec/google/compute/server_spec.rb +35 -42
  60. data/spec/google/compute/snapshot_spec.rb +11 -11
  61. data/spec/google/compute/zone_operation_spec.rb +9 -9
  62. data/spec/google/compute/zone_spec.rb +7 -7
  63. data/spec/spec_helper.rb +1 -0
  64. data/spec/support/mocks.rb +10 -10
  65. data/spec/support/resource_examples.rb +7 -7
  66. data/spec/support/spec_google_base.rb +4 -0
  67. metadata +14 -26
  68. data/spec/data/kernel.json +0 -15
  69. data/spec/google/compute/kernel_spec.rb +0 -49
@@ -12,16 +12,17 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  #
15
+
15
16
  require 'spec_helper'
16
17
 
17
18
  describe Chef::Knife::GoogleServerList do
18
19
  before(:each) do
19
- zones = mock(Google::Compute::ListableResourceCollection)
20
+ zones = double(Google::Compute::ListableResourceCollection)
20
21
  zones.should_receive(:get).with(stored_zone.name).and_return(stored_zone)
21
- instances = mock(Google::Compute::DeletableResourceCollection)
22
- instances.should_receive(:list).with(:zone=>stored_zone.name).and_return([stored_instance])
23
- client = mock(Google::Compute::Client, :instances=>instances, :zones=>zones)
24
- Google::Compute::Client.stub!(:from_json).and_return(client)
22
+ instances = double(Google::Compute::DeletableResourceCollection)
23
+ instances.should_receive(:list).with(:zone => stored_zone.name).and_return([stored_instance])
24
+ client = double(Google::Compute::Client, :instances => instances, :zones => zones)
25
+ Google::Compute::Client.stub(:from_json).and_return(client)
25
26
  end
26
27
 
27
28
  it "should enlist all the GCE servers when run invoked" do
@@ -29,9 +30,9 @@ describe Chef::Knife::GoogleServerList do
29
30
  $stdout.should_receive(:write).with(kind_of(String))
30
31
  knife_plugin.run
31
32
  end
32
-
33
+
33
34
  it "should list all the GCE servers when zone is set in knife.rb" do
34
- knife_plugin = Chef::Knife::GoogleServerList.new([Chef::Config[:knife][:google_compute_zone] = stored_zone.name])
35
+ knife_plugin = Chef::Knife::GoogleServerList.new([Chef::Config[:knife][:gce_zone] = stored_zone.name])
35
36
  $stdout.should_receive(:write).with(kind_of(String))
36
37
  knife_plugin.run
37
38
  end
@@ -12,12 +12,11 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  #
15
+
15
16
  require 'spec_helper'
16
17
 
17
18
  describe Chef::Knife::GoogleSetup do
18
-
19
19
  let(:knife_plugin) { Chef::Knife::GoogleSetup.new(["-f credential.json"]) }
20
-
21
20
  it "should invoke the google-compute-client-ruby setup process" do
22
21
  Google::Compute::Client.should_receive(:setup)
23
22
  knife_plugin.run
@@ -12,20 +12,20 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  #
15
+
15
16
  require 'spec_helper'
16
17
 
17
18
  describe Chef::Knife::GoogleZoneList do
18
-
19
19
  let(:knife_plugin) do
20
20
  Chef::Knife::GoogleZoneList.new([])
21
21
  end
22
22
 
23
23
  it "should enlist all the GCE zones when run invoked" do
24
- client = mock(Google::Compute::Client)
25
- Google::Compute::Client.stub!(:from_json).
24
+ client = double(Google::Compute::Client)
25
+ Google::Compute::Client.stub(:from_json).
26
26
  and_return(client)
27
27
  client.should_receive(:zones).
28
- and_return(mock("zone-collection", :list=>[stored_zone]))
28
+ and_return(double("zone-collection", :list => [stored_zone]))
29
29
  $stdout.should_receive(:write).with(kind_of(String))
30
30
  knife_plugin.run
31
31
  end
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "kind": "discovery#restDescription",
3
- "etag": "\"IhsO6I1JrT_5w9XRpjXK0MUWOF8/SulKJnyUHngtgbe93ydXyDKANdw\"",
3
+ "etag": "\"DGgqtFnjgu83tuwvvVNNUhOiHWk/Q9iQ6FMN4kd3avAWKy7nl6UC0Uc\"",
4
4
  "discoveryVersion": "v1",
5
- "id": "compute:v1beta15",
5
+ "id": "compute:v1",
6
6
  "name": "compute",
7
- "version": "v1beta15",
8
- "revision": "20130525",
7
+ "version": "v1",
9
8
  "title": "Compute Engine API",
10
9
  "description": "API for the Google Compute Engine service.",
11
10
  "ownerDomain": "google.com",
@@ -14,12 +13,12 @@
14
13
  "x16": "http://www.google.com/images/icons/product/compute_engine-16.png",
15
14
  "x32": "http://www.google.com/images/icons/product/compute_engine-32.png"
16
15
  },
17
- "documentationLink": "https://developers.google.com/compute/docs/reference/v1beta15",
16
+ "documentationLink": "https://developers.google.com/compute/docs/reference/v1",
18
17
  "protocol": "rest",
19
- "baseUrl": "https://www.googleapis.com/compute/v1beta15/projects/",
20
- "basePath": "/compute/v1beta15/projects/",
18
+ "baseUrl": "https://www.googleapis.com/compute/v1/projects/",
19
+ "basePath": "/compute/v1/projects/",
21
20
  "rootUrl": "https://www.googleapis.com/",
22
- "servicePath": "compute/v1beta15/projects/",
21
+ "servicePath": "compute/v1/projects/",
23
22
  "batchPath": "batch",
24
23
  "parameters": {
25
24
  "alt": {
@@ -75,6 +74,9 @@
75
74
  "https://www.googleapis.com/auth/compute.readonly": {
76
75
  "description": "View your Google Compute Engine resources"
77
76
  },
77
+ "https://www.googleapis.com/auth/devstorage.full_control": {
78
+ "description": "Manage your data and permissions in Google Cloud Storage"
79
+ },
78
80
  "https://www.googleapis.com/auth/devstorage.read_only": {
79
81
  "description": "View your data in Google Cloud Storage"
80
82
  },
@@ -106,7 +108,13 @@
106
108
  "type": {
107
109
  "type": "string",
108
110
  "description": "Type of configuration. Must be set to \"ONE_TO_ONE_NAT\". This configures port-for-port NAT to the internet.",
109
- "default": "ONE_TO_ONE_NAT"
111
+ "default": "ONE_TO_ONE_NAT",
112
+ "enum": [
113
+ "ONE_TO_ONE_NAT"
114
+ ],
115
+ "enumDescriptions": [
116
+ ""
117
+ ]
110
118
  }
111
119
  }
112
120
  },
@@ -157,11 +165,22 @@
157
165
  },
158
166
  "status": {
159
167
  "type": "string",
160
- "description": "The status of the address (output only)."
168
+ "description": "The status of the address (output only).",
169
+ "enum": [
170
+ "IN_USE",
171
+ "RESERVED"
172
+ ],
173
+ "enumDescriptions": [
174
+ "",
175
+ ""
176
+ ]
161
177
  },
162
- "user": {
163
- "type": "string",
164
- "description": "URL of the resource currently using this address (output only)."
178
+ "users": {
179
+ "type": "array",
180
+ "description": "The resources that are using this address resource.",
181
+ "items": {
182
+ "type": "string"
183
+ }
165
184
  }
166
185
  }
167
186
  },
@@ -244,7 +263,31 @@
244
263
  "properties": {
245
264
  "code": {
246
265
  "type": "string",
247
- "description": "The warning type identifier for this warning."
266
+ "description": "The warning type identifier for this warning.",
267
+ "enum": [
268
+ "DEPRECATED_RESOURCE_USED",
269
+ "INJECTED_KERNELS_DEPRECATED",
270
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
271
+ "NEXT_HOP_CANNOT_IP_FORWARD",
272
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
273
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
274
+ "NEXT_HOP_NOT_RUNNING",
275
+ "NO_RESULTS_ON_PAGE",
276
+ "REQUIRED_TOS_AGREEMENT",
277
+ "UNREACHABLE"
278
+ ],
279
+ "enumDescriptions": [
280
+ "",
281
+ "",
282
+ "",
283
+ "",
284
+ "",
285
+ "",
286
+ "",
287
+ "",
288
+ "",
289
+ ""
290
+ ]
248
291
  },
249
292
  "data": {
250
293
  "type": "array",
@@ -296,7 +339,15 @@
296
339
  },
297
340
  "mode": {
298
341
  "type": "string",
299
- "description": "The mode in which to attach this disk, either \"READ_WRITE\" or \"READ_ONLY\"."
342
+ "description": "The mode in which to attach this disk, either \"READ_WRITE\" or \"READ_ONLY\".",
343
+ "enum": [
344
+ "READ_ONLY",
345
+ "READ_WRITE"
346
+ ],
347
+ "enumDescriptions": [
348
+ "",
349
+ ""
350
+ ]
300
351
  },
301
352
  "source": {
302
353
  "type": "string",
@@ -305,6 +356,14 @@
305
356
  "type": {
306
357
  "type": "string",
307
358
  "description": "Type of the disk, either \"SCRATCH\" or \"PERSISTENT\". Note that persistent disks must be created before you can specify them here.",
359
+ "enum": [
360
+ "PERSISTENT",
361
+ "SCRATCH"
362
+ ],
363
+ "enumDescriptions": [
364
+ "",
365
+ ""
366
+ ],
308
367
  "annotations": {
309
368
  "required": [
310
369
  "compute.instances.insert"
@@ -336,7 +395,17 @@
336
395
  },
337
396
  "state": {
338
397
  "type": "string",
339
- "description": "The deprecation state. Can be \"DEPRECATED\", \"OBSOLETE\", or \"DELETED\". Operations which create a new resource using a \"DEPRECATED\" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of \"OBSOLETE\" or \"DELETED\" resources will result in an error."
398
+ "description": "The deprecation state. Can be \"DEPRECATED\", \"OBSOLETE\", or \"DELETED\". Operations which create a new resource using a \"DEPRECATED\" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of \"OBSOLETE\" or \"DELETED\" resources will result in an error.",
399
+ "enum": [
400
+ "DELETED",
401
+ "DEPRECATED",
402
+ "OBSOLETE"
403
+ ],
404
+ "enumDescriptions": [
405
+ "",
406
+ "",
407
+ ""
408
+ ]
340
409
  }
341
410
  }
342
411
  },
@@ -396,7 +465,19 @@
396
465
  },
397
466
  "status": {
398
467
  "type": "string",
399
- "description": "The status of disk creation (output only)."
468
+ "description": "The status of disk creation (output only).",
469
+ "enum": [
470
+ "CREATING",
471
+ "FAILED",
472
+ "READY",
473
+ "RESTORING"
474
+ ],
475
+ "enumDescriptions": [
476
+ "",
477
+ "",
478
+ "",
479
+ ""
480
+ ]
400
481
  },
401
482
  "zone": {
402
483
  "type": "string",
@@ -483,7 +564,31 @@
483
564
  "properties": {
484
565
  "code": {
485
566
  "type": "string",
486
- "description": "The warning type identifier for this warning."
567
+ "description": "The warning type identifier for this warning.",
568
+ "enum": [
569
+ "DEPRECATED_RESOURCE_USED",
570
+ "INJECTED_KERNELS_DEPRECATED",
571
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
572
+ "NEXT_HOP_CANNOT_IP_FORWARD",
573
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
574
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
575
+ "NEXT_HOP_NOT_RUNNING",
576
+ "NO_RESULTS_ON_PAGE",
577
+ "REQUIRED_TOS_AGREEMENT",
578
+ "UNREACHABLE"
579
+ ],
580
+ "enumDescriptions": [
581
+ "",
582
+ "",
583
+ "",
584
+ "",
585
+ "",
586
+ "",
587
+ "",
588
+ "",
589
+ "",
590
+ ""
591
+ ]
487
592
  },
488
593
  "data": {
489
594
  "type": "array",
@@ -523,7 +628,7 @@
523
628
  "properties": {
524
629
  "IPProtocol": {
525
630
  "type": "string",
526
- "description": "Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number."
631
+ "description": "Required; this is the IP protocol that is allowed for this rule. This can either be one of the following well known protocol strings [\"tcp\", \"udp\", \"icmp\", \"esp\", \"ah\", \"sctp\"], or the IP protocol number."
527
632
  },
528
633
  "ports": {
529
634
  "type": "array",
@@ -643,7 +748,21 @@
643
748
  },
644
749
  "IPProtocol": {
645
750
  "type": "string",
646
- "description": "The IP protocol to which this rule applies, can be either 'TCP' or 'UDP' (If left empty, will use TCP by default)."
751
+ "description": "The IP protocol to which this rule applies, valid options are 'TCP', 'UDP', 'ESP', 'AH' or 'SCTP'",
752
+ "enum": [
753
+ "AH",
754
+ "ESP",
755
+ "SCTP",
756
+ "TCP",
757
+ "UDP"
758
+ ],
759
+ "enumDescriptions": [
760
+ "",
761
+ "",
762
+ "",
763
+ "",
764
+ ""
765
+ ]
647
766
  },
648
767
  "creationTimestamp": {
649
768
  "type": "string",
@@ -670,7 +789,7 @@
670
789
  },
671
790
  "portRange": {
672
791
  "type": "string",
673
- "description": "If 'IPProtocol' is 'TCP' or 'UDP', only packets addressed to ports in the specified range will be forwarded to 'target'. If left empty (default value), all ports are forwarded. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges."
792
+ "description": "Applicable only when 'IPProtocol' is 'TCP', 'UDP' or 'SCTP', only packets addressed to ports in the specified range will be forwarded to 'target'. If 'portRange' is left empty (default value), all ports are forwarded. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. @pattern: \\d+(?:-\\d+)?"
674
793
  },
675
794
  "region": {
676
795
  "type": "string",
@@ -765,7 +884,31 @@
765
884
  "properties": {
766
885
  "code": {
767
886
  "type": "string",
768
- "description": "The warning type identifier for this warning."
887
+ "description": "The warning type identifier for this warning.",
888
+ "enum": [
889
+ "DEPRECATED_RESOURCE_USED",
890
+ "INJECTED_KERNELS_DEPRECATED",
891
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
892
+ "NEXT_HOP_CANNOT_IP_FORWARD",
893
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
894
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
895
+ "NEXT_HOP_NOT_RUNNING",
896
+ "NO_RESULTS_ON_PAGE",
897
+ "REQUIRED_TOS_AGREEMENT",
898
+ "UNREACHABLE"
899
+ ],
900
+ "enumDescriptions": [
901
+ "",
902
+ "",
903
+ "",
904
+ "",
905
+ "",
906
+ "",
907
+ "",
908
+ "",
909
+ "",
910
+ ""
911
+ ]
769
912
  },
770
913
  "data": {
771
914
  "type": "array",
@@ -807,7 +950,15 @@
807
950
  "properties": {
808
951
  "healthState": {
809
952
  "type": "string",
810
- "description": "Health state of the instance."
953
+ "description": "Health state of the instance.",
954
+ "enum": [
955
+ "HEALTHY",
956
+ "UNHEALTHY"
957
+ ],
958
+ "enumDescriptions": [
959
+ "",
960
+ ""
961
+ ]
811
962
  },
812
963
  "instance": {
813
964
  "type": "string",
@@ -922,6 +1073,11 @@
922
1073
  "type": "object",
923
1074
  "description": "A disk image resource.",
924
1075
  "properties": {
1076
+ "archiveSizeBytes": {
1077
+ "type": "string",
1078
+ "description": "Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).",
1079
+ "format": "int64"
1080
+ },
925
1081
  "creationTimestamp": {
926
1082
  "type": "string",
927
1083
  "description": "Creation timestamp in RFC3339 text format (output only)."
@@ -954,15 +1110,6 @@
954
1110
  ]
955
1111
  }
956
1112
  },
957
- "preferredKernel": {
958
- "type": "string",
959
- "description": "An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.",
960
- "annotations": {
961
- "required": [
962
- "compute.images.insert"
963
- ]
964
- }
965
- },
966
1113
  "rawDisk": {
967
1114
  "type": "object",
968
1115
  "description": "The raw disk image parameters.",
@@ -996,6 +1143,12 @@
996
1143
  "type": "string",
997
1144
  "description": "Must be \"RAW\"; provided by the client when the disk image is created.",
998
1145
  "default": "RAW",
1146
+ "enum": [
1147
+ "RAW"
1148
+ ],
1149
+ "enumDescriptions": [
1150
+ ""
1151
+ ],
999
1152
  "annotations": {
1000
1153
  "required": [
1001
1154
  "compute.images.insert"
@@ -1004,7 +1157,17 @@
1004
1157
  },
1005
1158
  "status": {
1006
1159
  "type": "string",
1007
- "description": "Status of the image (output only). It will be one of the following READY - after image has been successfully created and is ready for use FAILED - if creating the image fails for some reason PENDING - the image creation is in progress An image can be used to create other resources suck as instances only after the image has been successfully created and the status is set to READY."
1160
+ "description": "Status of the image (output only). It will be one of the following READY - after image has been successfully created and is ready for use FAILED - if creating the image fails for some reason PENDING - the image creation is in progress An image can be used to create other resources suck as instances only after the image has been successfully created and the status is set to READY.",
1161
+ "enum": [
1162
+ "FAILED",
1163
+ "PENDING",
1164
+ "READY"
1165
+ ],
1166
+ "enumDescriptions": [
1167
+ "",
1168
+ "",
1169
+ ""
1170
+ ]
1008
1171
  }
1009
1172
  }
1010
1173
  },
@@ -1068,14 +1231,6 @@
1068
1231
  "description": "Unique identifier for the resource; defined by the server (output only).",
1069
1232
  "format": "uint64"
1070
1233
  },
1071
- "image": {
1072
- "type": "string",
1073
- "description": "An optional URL of the disk image resource to be installed on this instance; provided by the client when the instance is created. Alternatively to passing the image, the client may choose to boot from a persistent disk, by setting boot=true flag on one of the entries in disks[] collection."
1074
- },
1075
- "kernel": {
1076
- "type": "string",
1077
- "description": "URL of the kernel resource to use when booting. In case of booting from persistent disk, this parameter is required. When booting from a disk image, it is optional, but may be provided to use a different kernel than the one associated with the image."
1078
- },
1079
1234
  "kind": {
1080
1235
  "type": "string",
1081
1236
  "description": "Type of the resource.",
@@ -1111,6 +1266,10 @@
1111
1266
  "$ref": "NetworkInterface"
1112
1267
  }
1113
1268
  },
1269
+ "scheduling": {
1270
+ "$ref": "Scheduling",
1271
+ "description": "Scheduling options for this instance."
1272
+ },
1114
1273
  "selfLink": {
1115
1274
  "type": "string",
1116
1275
  "description": "Server defined URL for this resource (output only)."
@@ -1124,7 +1283,23 @@
1124
1283
  },
1125
1284
  "status": {
1126
1285
  "type": "string",
1127
- "description": "Instance status. One of the following values: \"PROVISIONING\", \"STAGING\", \"RUNNING\", \"STOPPING\", \"STOPPED\", \"TERMINATED\" (output only)."
1286
+ "description": "Instance status. One of the following values: \"PROVISIONING\", \"STAGING\", \"RUNNING\", \"STOPPING\", \"STOPPED\", \"TERMINATED\" (output only).",
1287
+ "enum": [
1288
+ "PROVISIONING",
1289
+ "RUNNING",
1290
+ "STAGING",
1291
+ "STOPPED",
1292
+ "STOPPING",
1293
+ "TERMINATED"
1294
+ ],
1295
+ "enumDescriptions": [
1296
+ "",
1297
+ "",
1298
+ "",
1299
+ "",
1300
+ "",
1301
+ ""
1302
+ ]
1128
1303
  },
1129
1304
  "statusMessage": {
1130
1305
  "type": "string",
@@ -1228,7 +1403,31 @@
1228
1403
  "properties": {
1229
1404
  "code": {
1230
1405
  "type": "string",
1231
- "description": "The warning type identifier for this warning."
1406
+ "description": "The warning type identifier for this warning.",
1407
+ "enum": [
1408
+ "DEPRECATED_RESOURCE_USED",
1409
+ "INJECTED_KERNELS_DEPRECATED",
1410
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
1411
+ "NEXT_HOP_CANNOT_IP_FORWARD",
1412
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
1413
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
1414
+ "NEXT_HOP_NOT_RUNNING",
1415
+ "NO_RESULTS_ON_PAGE",
1416
+ "REQUIRED_TOS_AGREEMENT",
1417
+ "UNREACHABLE"
1418
+ ],
1419
+ "enumDescriptions": [
1420
+ "",
1421
+ "",
1422
+ "",
1423
+ "",
1424
+ "",
1425
+ "",
1426
+ "",
1427
+ "",
1428
+ "",
1429
+ ""
1430
+ ]
1232
1431
  },
1233
1432
  "data": {
1234
1433
  "type": "array",
@@ -1255,75 +1454,6 @@
1255
1454
  }
1256
1455
  }
1257
1456
  },
1258
- "Kernel": {
1259
- "id": "Kernel",
1260
- "type": "object",
1261
- "description": "A kernel resource.",
1262
- "properties": {
1263
- "creationTimestamp": {
1264
- "type": "string",
1265
- "description": "Creation timestamp in RFC3339 text format (output only)."
1266
- },
1267
- "deprecated": {
1268
- "$ref": "DeprecationStatus",
1269
- "description": "The deprecation status associated with this kernel."
1270
- },
1271
- "description": {
1272
- "type": "string",
1273
- "description": "An optional textual description of the resource."
1274
- },
1275
- "id": {
1276
- "type": "string",
1277
- "description": "Unique identifier for the resource; defined by the server (output only).",
1278
- "format": "uint64"
1279
- },
1280
- "kind": {
1281
- "type": "string",
1282
- "description": "Type of the resource.",
1283
- "default": "compute#kernel"
1284
- },
1285
- "name": {
1286
- "type": "string",
1287
- "description": "Name of the resource.",
1288
- "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
1289
- },
1290
- "selfLink": {
1291
- "type": "string",
1292
- "description": "Server defined URL for the resource (output only)."
1293
- }
1294
- }
1295
- },
1296
- "KernelList": {
1297
- "id": "KernelList",
1298
- "type": "object",
1299
- "description": "Contains a list of kernel resources.",
1300
- "properties": {
1301
- "id": {
1302
- "type": "string",
1303
- "description": "Unique identifier for the resource; defined by the server (output only)."
1304
- },
1305
- "items": {
1306
- "type": "array",
1307
- "description": "The kernel resources.",
1308
- "items": {
1309
- "$ref": "Kernel"
1310
- }
1311
- },
1312
- "kind": {
1313
- "type": "string",
1314
- "description": "Type of resource.",
1315
- "default": "compute#kernelList"
1316
- },
1317
- "nextPageToken": {
1318
- "type": "string",
1319
- "description": "A token used to continue a truncated list request (output only)."
1320
- },
1321
- "selfLink": {
1322
- "type": "string",
1323
- "description": "Server defined URL for this resource (output only)."
1324
- }
1325
- }
1326
- },
1327
1457
  "MachineType": {
1328
1458
  "id": "MachineType",
1329
1459
  "type": "object",
@@ -1484,7 +1614,31 @@
1484
1614
  "properties": {
1485
1615
  "code": {
1486
1616
  "type": "string",
1487
- "description": "The warning type identifier for this warning."
1617
+ "description": "The warning type identifier for this warning.",
1618
+ "enum": [
1619
+ "DEPRECATED_RESOURCE_USED",
1620
+ "INJECTED_KERNELS_DEPRECATED",
1621
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
1622
+ "NEXT_HOP_CANNOT_IP_FORWARD",
1623
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
1624
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
1625
+ "NEXT_HOP_NOT_RUNNING",
1626
+ "NO_RESULTS_ON_PAGE",
1627
+ "REQUIRED_TOS_AGREEMENT",
1628
+ "UNREACHABLE"
1629
+ ],
1630
+ "enumDescriptions": [
1631
+ "",
1632
+ "",
1633
+ "",
1634
+ "",
1635
+ "",
1636
+ "",
1637
+ "",
1638
+ "",
1639
+ "",
1640
+ ""
1641
+ ]
1488
1642
  },
1489
1643
  "data": {
1490
1644
  "type": "array",
@@ -1768,7 +1922,17 @@
1768
1922
  },
1769
1923
  "status": {
1770
1924
  "type": "string",
1771
- "description": "Status of the operation. Can be one of the following: \"PENDING\", \"RUNNING\", or \"DONE\" (output only)."
1925
+ "description": "Status of the operation. Can be one of the following: \"PENDING\", \"RUNNING\", or \"DONE\" (output only).",
1926
+ "enum": [
1927
+ "DONE",
1928
+ "PENDING",
1929
+ "RUNNING"
1930
+ ],
1931
+ "enumDescriptions": [
1932
+ "",
1933
+ "",
1934
+ ""
1935
+ ]
1772
1936
  },
1773
1937
  "statusMessage": {
1774
1938
  "type": "string",
@@ -1795,7 +1959,31 @@
1795
1959
  "properties": {
1796
1960
  "code": {
1797
1961
  "type": "string",
1798
- "description": "The warning type identifier for this warning."
1962
+ "description": "The warning type identifier for this warning.",
1963
+ "enum": [
1964
+ "DEPRECATED_RESOURCE_USED",
1965
+ "INJECTED_KERNELS_DEPRECATED",
1966
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
1967
+ "NEXT_HOP_CANNOT_IP_FORWARD",
1968
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
1969
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
1970
+ "NEXT_HOP_NOT_RUNNING",
1971
+ "NO_RESULTS_ON_PAGE",
1972
+ "REQUIRED_TOS_AGREEMENT",
1973
+ "UNREACHABLE"
1974
+ ],
1975
+ "enumDescriptions": [
1976
+ "",
1977
+ "",
1978
+ "",
1979
+ "",
1980
+ "",
1981
+ "",
1982
+ "",
1983
+ "",
1984
+ "",
1985
+ ""
1986
+ ]
1799
1987
  },
1800
1988
  "data": {
1801
1989
  "type": "array",
@@ -1906,7 +2094,31 @@
1906
2094
  "properties": {
1907
2095
  "code": {
1908
2096
  "type": "string",
1909
- "description": "The warning type identifier for this warning."
2097
+ "description": "The warning type identifier for this warning.",
2098
+ "enum": [
2099
+ "DEPRECATED_RESOURCE_USED",
2100
+ "INJECTED_KERNELS_DEPRECATED",
2101
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
2102
+ "NEXT_HOP_CANNOT_IP_FORWARD",
2103
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
2104
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
2105
+ "NEXT_HOP_NOT_RUNNING",
2106
+ "NO_RESULTS_ON_PAGE",
2107
+ "REQUIRED_TOS_AGREEMENT",
2108
+ "UNREACHABLE"
2109
+ ],
2110
+ "enumDescriptions": [
2111
+ "",
2112
+ "",
2113
+ "",
2114
+ "",
2115
+ "",
2116
+ "",
2117
+ "",
2118
+ "",
2119
+ "",
2120
+ ""
2121
+ ]
1910
2122
  },
1911
2123
  "data": {
1912
2124
  "type": "array",
@@ -1989,7 +2201,51 @@
1989
2201
  },
1990
2202
  "metric": {
1991
2203
  "type": "string",
1992
- "description": "Name of the quota metric."
2204
+ "description": "Name of the quota metric.",
2205
+ "enum": [
2206
+ "CPUS",
2207
+ "DISKS",
2208
+ "DISKS_TOTAL_GB",
2209
+ "EPHEMERAL_ADDRESSES",
2210
+ "FIREWALLS",
2211
+ "FORWARDING_RULES",
2212
+ "HEALTH_CHECKS",
2213
+ "IMAGES",
2214
+ "IMAGES_TOTAL_GB",
2215
+ "INSTANCES",
2216
+ "IN_USE_ADDRESSES",
2217
+ "KERNELS",
2218
+ "KERNELS_TOTAL_GB",
2219
+ "NETWORKS",
2220
+ "OPERATIONS",
2221
+ "ROUTES",
2222
+ "SNAPSHOTS",
2223
+ "STATIC_ADDRESSES",
2224
+ "TARGET_INSTANCES",
2225
+ "TARGET_POOLS"
2226
+ ],
2227
+ "enumDescriptions": [
2228
+ "",
2229
+ "",
2230
+ "",
2231
+ "",
2232
+ "",
2233
+ "",
2234
+ "",
2235
+ "",
2236
+ "",
2237
+ "",
2238
+ "",
2239
+ "",
2240
+ "",
2241
+ "",
2242
+ "",
2243
+ "",
2244
+ "",
2245
+ "",
2246
+ "",
2247
+ ""
2248
+ ]
1993
2249
  },
1994
2250
  "usage": {
1995
2251
  "type": "number",
@@ -2042,7 +2298,15 @@
2042
2298
  },
2043
2299
  "status": {
2044
2300
  "type": "string",
2045
- "description": "Status of the region, \"UP\" or \"DOWN\"."
2301
+ "description": "Status of the region, \"UP\" or \"DOWN\".",
2302
+ "enum": [
2303
+ "DOWN",
2304
+ "UP"
2305
+ ],
2306
+ "enumDescriptions": [
2307
+ "",
2308
+ ""
2309
+ ]
2046
2310
  },
2047
2311
  "zones": {
2048
2312
  "type": "array",
@@ -2185,7 +2449,31 @@
2185
2449
  "properties": {
2186
2450
  "code": {
2187
2451
  "type": "string",
2188
- "description": "The warning type identifier for this warning."
2452
+ "description": "The warning type identifier for this warning.",
2453
+ "enum": [
2454
+ "DEPRECATED_RESOURCE_USED",
2455
+ "INJECTED_KERNELS_DEPRECATED",
2456
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
2457
+ "NEXT_HOP_CANNOT_IP_FORWARD",
2458
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
2459
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
2460
+ "NEXT_HOP_NOT_RUNNING",
2461
+ "NO_RESULTS_ON_PAGE",
2462
+ "REQUIRED_TOS_AGREEMENT",
2463
+ "UNREACHABLE"
2464
+ ],
2465
+ "enumDescriptions": [
2466
+ "",
2467
+ "",
2468
+ "",
2469
+ "",
2470
+ "",
2471
+ "",
2472
+ "",
2473
+ "",
2474
+ "",
2475
+ ""
2476
+ ]
2189
2477
  },
2190
2478
  "data": {
2191
2479
  "type": "array",
@@ -2244,6 +2532,29 @@
2244
2532
  }
2245
2533
  }
2246
2534
  },
2535
+ "Scheduling": {
2536
+ "id": "Scheduling",
2537
+ "type": "object",
2538
+ "description": "Scheduling options for an Instance.",
2539
+ "properties": {
2540
+ "automaticRestart": {
2541
+ "type": "boolean",
2542
+ "description": "Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user)."
2543
+ },
2544
+ "onHostMaintenance": {
2545
+ "type": "string",
2546
+ "description": "How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.",
2547
+ "enum": [
2548
+ "MIGRATE",
2549
+ "TERMINATE"
2550
+ ],
2551
+ "enumDescriptions": [
2552
+ "",
2553
+ ""
2554
+ ]
2555
+ }
2556
+ }
2557
+ },
2247
2558
  "SerialPortOutput": {
2248
2559
  "id": "SerialPortOutput",
2249
2560
  "type": "object",
@@ -2329,7 +2640,38 @@
2329
2640
  },
2330
2641
  "status": {
2331
2642
  "type": "string",
2332
- "description": "The status of the persistent disk snapshot (output only)."
2643
+ "description": "The status of the persistent disk snapshot (output only).",
2644
+ "enum": [
2645
+ "CREATING",
2646
+ "DELETING",
2647
+ "FAILED",
2648
+ "READY",
2649
+ "UPLOADING"
2650
+ ],
2651
+ "enumDescriptions": [
2652
+ "",
2653
+ "",
2654
+ "",
2655
+ "",
2656
+ ""
2657
+ ]
2658
+ },
2659
+ "storageBytes": {
2660
+ "type": "string",
2661
+ "description": "A size of the the storage used by the snapshot. As snapshots share storage this number is expected to change with snapshot creation/deletion.",
2662
+ "format": "int64"
2663
+ },
2664
+ "storageBytesStatus": {
2665
+ "type": "string",
2666
+ "description": "An indicator whether storageBytes is in a stable state, or it is being adjusted as a result of shared storage reallocation.",
2667
+ "enum": [
2668
+ "UPDATING",
2669
+ "UP_TO_DATE"
2670
+ ],
2671
+ "enumDescriptions": [
2672
+ "",
2673
+ ""
2674
+ ]
2333
2675
  }
2334
2676
  }
2335
2677
  },
@@ -2386,8 +2728,12 @@
2386
2728
  "TargetPool": {
2387
2729
  "id": "TargetPool",
2388
2730
  "type": "object",
2389
- "description": "A TargetPool resource. This resource defines a pool of VMs and the associated HttpHealthCheck resources.",
2731
+ "description": "A TargetPool resource. This resource defines a pool of VMs, associated HttpHealthCheck resources, and the fallback TargetPool.",
2390
2732
  "properties": {
2733
+ "backupPool": {
2734
+ "type": "string",
2735
+ "description": "This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its 'failoverRatio' field is properly set to a value between [0, 1].\n\n'backupPool' and 'failoverRatio' together define the fallback behavior of the primary target pool: if the ratio of the healthy VMs in the primary pool is at or below 'failoverRatio', traffic arriving at the load-balanced IP will be directed to the backup pool.\n\nIn case where 'failoverRatio' and 'backupPool' are not set, or all the VMs in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy."
2736
+ },
2391
2737
  "creationTimestamp": {
2392
2738
  "type": "string",
2393
2739
  "description": "Creation timestamp in RFC3339 text format (output only)."
@@ -2396,6 +2742,11 @@
2396
2742
  "type": "string",
2397
2743
  "description": "An optional textual description of the resource; provided by the client when the resource is created."
2398
2744
  },
2745
+ "failoverRatio": {
2746
+ "type": "number",
2747
+ "description": "This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool (i.e., not as a backup pool to some other target pool). The value of the field must be in [0, 1].\n\nIf set, 'backupPool' must also be set. They together define the fallback behavior of the primary target pool: if the ratio of the healthy VMs in the primary pool is at or below this number, traffic arriving at the load-balanced IP will be directed to the backup pool.\n\nIn case where 'failoverRatio' is not set or all the VMs in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy.",
2748
+ "format": "float"
2749
+ },
2399
2750
  "healthChecks": {
2400
2751
  "type": "array",
2401
2752
  "description": "A list of URLs to the HttpHealthCheck resource. A member VM in this pool is considered healthy if and only if all specified health checks pass. An empty list means all member VMs will be considered healthy at all times.",
@@ -2432,6 +2783,20 @@
2432
2783
  "selfLink": {
2433
2784
  "type": "string",
2434
2785
  "description": "Server defined URL for the resource (output only)."
2786
+ },
2787
+ "sessionAffinity": {
2788
+ "type": "string",
2789
+ "description": "Sesssion affinity option, must be one of the following values: 'NONE': Connections from the same client IP may go to any VM in the pool; 'CLIENT_IP': Connections from the same client IP will go to the same VM in the pool while that VM remains healthy. 'CLIENT_IP_PROTO': Connections from the same client IP with the same IP protocol will go to the same VM in the pool while that VM remains healthy.",
2790
+ "enum": [
2791
+ "CLIENT_IP",
2792
+ "CLIENT_IP_PROTO",
2793
+ "NONE"
2794
+ ],
2795
+ "enumDescriptions": [
2796
+ "",
2797
+ "",
2798
+ ""
2799
+ ]
2435
2800
  }
2436
2801
  }
2437
2802
  },
@@ -2514,6 +2879,58 @@
2514
2879
  }
2515
2880
  }
2516
2881
  },
2882
+ "TargetPoolsAddHealthCheckRequest": {
2883
+ "id": "TargetPoolsAddHealthCheckRequest",
2884
+ "type": "object",
2885
+ "properties": {
2886
+ "healthChecks": {
2887
+ "type": "array",
2888
+ "description": "Health check URLs to be added to targetPool.",
2889
+ "items": {
2890
+ "$ref": "HealthCheckReference"
2891
+ }
2892
+ }
2893
+ }
2894
+ },
2895
+ "TargetPoolsAddInstanceRequest": {
2896
+ "id": "TargetPoolsAddInstanceRequest",
2897
+ "type": "object",
2898
+ "properties": {
2899
+ "instances": {
2900
+ "type": "array",
2901
+ "description": "URLs of the instances to be added to targetPool.",
2902
+ "items": {
2903
+ "$ref": "InstanceReference"
2904
+ }
2905
+ }
2906
+ }
2907
+ },
2908
+ "TargetPoolsRemoveHealthCheckRequest": {
2909
+ "id": "TargetPoolsRemoveHealthCheckRequest",
2910
+ "type": "object",
2911
+ "properties": {
2912
+ "healthChecks": {
2913
+ "type": "array",
2914
+ "description": "Health check URLs to be removed from targetPool.",
2915
+ "items": {
2916
+ "$ref": "HealthCheckReference"
2917
+ }
2918
+ }
2919
+ }
2920
+ },
2921
+ "TargetPoolsRemoveInstanceRequest": {
2922
+ "id": "TargetPoolsRemoveInstanceRequest",
2923
+ "type": "object",
2924
+ "properties": {
2925
+ "instances": {
2926
+ "type": "array",
2927
+ "description": "URLs of the instances to be removed from targetPool.",
2928
+ "items": {
2929
+ "$ref": "InstanceReference"
2930
+ }
2931
+ }
2932
+ }
2933
+ },
2517
2934
  "TargetPoolsScopedList": {
2518
2935
  "id": "TargetPoolsScopedList",
2519
2936
  "type": "object",
@@ -2531,7 +2948,31 @@
2531
2948
  "properties": {
2532
2949
  "code": {
2533
2950
  "type": "string",
2534
- "description": "The warning type identifier for this warning."
2951
+ "description": "The warning type identifier for this warning.",
2952
+ "enum": [
2953
+ "DEPRECATED_RESOURCE_USED",
2954
+ "INJECTED_KERNELS_DEPRECATED",
2955
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
2956
+ "NEXT_HOP_CANNOT_IP_FORWARD",
2957
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
2958
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
2959
+ "NEXT_HOP_NOT_RUNNING",
2960
+ "NO_RESULTS_ON_PAGE",
2961
+ "REQUIRED_TOS_AGREEMENT",
2962
+ "UNREACHABLE"
2963
+ ],
2964
+ "enumDescriptions": [
2965
+ "",
2966
+ "",
2967
+ "",
2968
+ "",
2969
+ "",
2970
+ "",
2971
+ "",
2972
+ "",
2973
+ "",
2974
+ ""
2975
+ ]
2535
2976
  },
2536
2977
  "data": {
2537
2978
  "type": "array",
@@ -2623,13 +3064,6 @@
2623
3064
  "type": "string",
2624
3065
  "description": "Name of the resource."
2625
3066
  },
2626
- "quotas": {
2627
- "type": "array",
2628
- "description": "Quotas assigned to this zone.",
2629
- "items": {
2630
- "$ref": "Quota"
2631
- }
2632
- },
2633
3067
  "region": {
2634
3068
  "type": "string",
2635
3069
  "description": "Full URL reference to the region which hosts the zone (output only)."
@@ -2640,7 +3074,15 @@
2640
3074
  },
2641
3075
  "status": {
2642
3076
  "type": "string",
2643
- "description": "Status of the zone. \"UP\" or \"DOWN\"."
3077
+ "description": "Status of the zone. \"UP\" or \"DOWN\".",
3078
+ "enum": [
3079
+ "DOWN",
3080
+ "UP"
3081
+ ],
3082
+ "enumDescriptions": [
3083
+ "",
3084
+ ""
3085
+ ]
2644
3086
  }
2645
3087
  }
2646
3088
  },
@@ -2692,11 +3134,11 @@
2692
3134
  },
2693
3135
  "maxResults": {
2694
3136
  "type": "integer",
2695
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
3137
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
2696
3138
  "default": "100",
2697
3139
  "format": "uint32",
2698
3140
  "minimum": "0",
2699
- "maximum": "100",
3141
+ "maximum": "500",
2700
3142
  "location": "query"
2701
3143
  },
2702
3144
  "pageToken": {
@@ -2852,11 +3294,11 @@
2852
3294
  },
2853
3295
  "maxResults": {
2854
3296
  "type": "integer",
2855
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
3297
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
2856
3298
  "default": "100",
2857
3299
  "format": "uint32",
2858
3300
  "minimum": "0",
2859
- "maximum": "100",
3301
+ "maximum": "500",
2860
3302
  "location": "query"
2861
3303
  },
2862
3304
  "pageToken": {
@@ -2908,11 +3350,11 @@
2908
3350
  },
2909
3351
  "maxResults": {
2910
3352
  "type": "integer",
2911
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
3353
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
2912
3354
  "default": "100",
2913
3355
  "format": "uint32",
2914
3356
  "minimum": "0",
2915
- "maximum": "100",
3357
+ "maximum": "500",
2916
3358
  "location": "query"
2917
3359
  },
2918
3360
  "pageToken": {
@@ -3115,11 +3557,11 @@
3115
3557
  },
3116
3558
  "maxResults": {
3117
3559
  "type": "integer",
3118
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
3560
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
3119
3561
  "default": "100",
3120
3562
  "format": "uint32",
3121
3563
  "minimum": "0",
3122
- "maximum": "100",
3564
+ "maximum": "500",
3123
3565
  "location": "query"
3124
3566
  },
3125
3567
  "pageToken": {
@@ -3263,11 +3705,11 @@
3263
3705
  },
3264
3706
  "maxResults": {
3265
3707
  "type": "integer",
3266
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
3708
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
3267
3709
  "default": "100",
3268
3710
  "format": "uint32",
3269
3711
  "minimum": "0",
3270
- "maximum": "100",
3712
+ "maximum": "500",
3271
3713
  "location": "query"
3272
3714
  },
3273
3715
  "pageToken": {
@@ -3381,11 +3823,11 @@
3381
3823
  },
3382
3824
  "maxResults": {
3383
3825
  "type": "integer",
3384
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
3826
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
3385
3827
  "default": "100",
3386
3828
  "format": "uint32",
3387
3829
  "minimum": "0",
3388
- "maximum": "100",
3830
+ "maximum": "500",
3389
3831
  "location": "query"
3390
3832
  },
3391
3833
  "pageToken": {
@@ -3541,11 +3983,11 @@
3541
3983
  },
3542
3984
  "maxResults": {
3543
3985
  "type": "integer",
3544
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
3986
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
3545
3987
  "default": "100",
3546
3988
  "format": "uint32",
3547
3989
  "minimum": "0",
3548
- "maximum": "100",
3990
+ "maximum": "500",
3549
3991
  "location": "query"
3550
3992
  },
3551
3993
  "pageToken": {
@@ -3640,11 +4082,11 @@
3640
4082
  },
3641
4083
  "maxResults": {
3642
4084
  "type": "integer",
3643
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
4085
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
3644
4086
  "default": "100",
3645
4087
  "format": "uint32",
3646
4088
  "minimum": "0",
3647
- "maximum": "100",
4089
+ "maximum": "500",
3648
4090
  "location": "query"
3649
4091
  },
3650
4092
  "pageToken": {
@@ -3746,11 +4188,11 @@
3746
4188
  },
3747
4189
  "maxResults": {
3748
4190
  "type": "integer",
3749
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
4191
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
3750
4192
  "default": "100",
3751
4193
  "format": "uint32",
3752
4194
  "minimum": "0",
3753
- "maximum": "100",
4195
+ "maximum": "500",
3754
4196
  "location": "query"
3755
4197
  },
3756
4198
  "pageToken": {
@@ -3886,11 +4328,11 @@
3886
4328
  },
3887
4329
  "maxResults": {
3888
4330
  "type": "integer",
3889
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
4331
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
3890
4332
  "default": "100",
3891
4333
  "format": "uint32",
3892
4334
  "minimum": "0",
3893
- "maximum": "100",
4335
+ "maximum": "500",
3894
4336
  "location": "query"
3895
4337
  },
3896
4338
  "pageToken": {
@@ -4116,6 +4558,7 @@
4116
4558
  },
4117
4559
  "scopes": [
4118
4560
  "https://www.googleapis.com/auth/compute",
4561
+ "https://www.googleapis.com/auth/devstorage.full_control",
4119
4562
  "https://www.googleapis.com/auth/devstorage.read_only",
4120
4563
  "https://www.googleapis.com/auth/devstorage.read_write"
4121
4564
  ]
@@ -4133,11 +4576,11 @@
4133
4576
  },
4134
4577
  "maxResults": {
4135
4578
  "type": "integer",
4136
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
4579
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
4137
4580
  "default": "100",
4138
4581
  "format": "uint32",
4139
4582
  "minimum": "0",
4140
- "maximum": "100",
4583
+ "maximum": "500",
4141
4584
  "location": "query"
4142
4585
  },
4143
4586
  "pageToken": {
@@ -4230,11 +4673,11 @@
4230
4673
  },
4231
4674
  "maxResults": {
4232
4675
  "type": "integer",
4233
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
4676
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
4234
4677
  "default": "100",
4235
4678
  "format": "uint32",
4236
4679
  "minimum": "0",
4237
- "maximum": "100",
4680
+ "maximum": "500",
4238
4681
  "location": "query"
4239
4682
  },
4240
4683
  "pageToken": {
@@ -4576,11 +5019,11 @@
4576
5019
  },
4577
5020
  "maxResults": {
4578
5021
  "type": "integer",
4579
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
5022
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
4580
5023
  "default": "100",
4581
5024
  "format": "uint32",
4582
5025
  "minimum": "0",
4583
- "maximum": "100",
5026
+ "maximum": "500",
4584
5027
  "location": "query"
4585
5028
  },
4586
5029
  "pageToken": {
@@ -4698,22 +5141,22 @@
4698
5141
  "https://www.googleapis.com/auth/compute"
4699
5142
  ]
4700
5143
  },
4701
- "setTags": {
4702
- "id": "compute.instances.setTags",
4703
- "path": "{project}/zones/{zone}/instances/{instance}/setTags",
5144
+ "setScheduling": {
5145
+ "id": "compute.instances.setScheduling",
5146
+ "path": "{project}/zones/{zone}/instances/{instance}/setScheduling",
4704
5147
  "httpMethod": "POST",
4705
- "description": "Sets tags for the specified instance to the data included in the request.",
5148
+ "description": "Sets an instance's scheduling options.",
4706
5149
  "parameters": {
4707
5150
  "instance": {
4708
5151
  "type": "string",
4709
- "description": "Name of the instance scoping this request.",
5152
+ "description": "Instance name.",
4710
5153
  "required": true,
4711
5154
  "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
4712
5155
  "location": "path"
4713
5156
  },
4714
5157
  "project": {
4715
5158
  "type": "string",
4716
- "description": "Name of the project scoping this request.",
5159
+ "description": "Project name.",
4717
5160
  "required": true,
4718
5161
  "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
4719
5162
  "location": "path"
@@ -4732,7 +5175,7 @@
4732
5175
  "instance"
4733
5176
  ],
4734
5177
  "request": {
4735
- "$ref": "Tags"
5178
+ "$ref": "Scheduling"
4736
5179
  },
4737
5180
  "response": {
4738
5181
  "$ref": "Operation"
@@ -4740,20 +5183,16 @@
4740
5183
  "scopes": [
4741
5184
  "https://www.googleapis.com/auth/compute"
4742
5185
  ]
4743
- }
4744
- }
4745
- },
4746
- "kernels": {
4747
- "methods": {
4748
- "get": {
4749
- "id": "compute.kernels.get",
4750
- "path": "{project}/global/kernels/{kernel}",
4751
- "httpMethod": "GET",
4752
- "description": "Returns the specified kernel resource.",
5186
+ },
5187
+ "setTags": {
5188
+ "id": "compute.instances.setTags",
5189
+ "path": "{project}/zones/{zone}/instances/{instance}/setTags",
5190
+ "httpMethod": "POST",
5191
+ "description": "Sets tags for the specified instance to the data included in the request.",
4753
5192
  "parameters": {
4754
- "kernel": {
5193
+ "instance": {
4755
5194
  "type": "string",
4756
- "description": "Name of the kernel resource to return.",
5195
+ "description": "Name of the instance scoping this request.",
4757
5196
  "required": true,
4758
5197
  "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
4759
5198
  "location": "path"
@@ -4764,62 +5203,28 @@
4764
5203
  "required": true,
4765
5204
  "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
4766
5205
  "location": "path"
4767
- }
4768
- },
4769
- "parameterOrder": [
4770
- "project",
4771
- "kernel"
4772
- ],
4773
- "response": {
4774
- "$ref": "Kernel"
4775
- },
4776
- "scopes": [
4777
- "https://www.googleapis.com/auth/compute",
4778
- "https://www.googleapis.com/auth/compute.readonly"
4779
- ]
4780
- },
4781
- "list": {
4782
- "id": "compute.kernels.list",
4783
- "path": "{project}/global/kernels",
4784
- "httpMethod": "GET",
4785
- "description": "Retrieves the list of kernel resources available to the specified project.",
4786
- "parameters": {
4787
- "filter": {
4788
- "type": "string",
4789
- "description": "Optional. Filter expression for filtering listed resources.",
4790
- "location": "query"
4791
- },
4792
- "maxResults": {
4793
- "type": "integer",
4794
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
4795
- "default": "100",
4796
- "format": "uint32",
4797
- "minimum": "0",
4798
- "maximum": "100",
4799
- "location": "query"
4800
5206
  },
4801
- "pageToken": {
4802
- "type": "string",
4803
- "description": "Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.",
4804
- "location": "query"
4805
- },
4806
- "project": {
5207
+ "zone": {
4807
5208
  "type": "string",
4808
- "description": "Name of the project scoping this request.",
5209
+ "description": "Name of the zone scoping this request.",
4809
5210
  "required": true,
4810
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
5211
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
4811
5212
  "location": "path"
4812
5213
  }
4813
5214
  },
4814
5215
  "parameterOrder": [
4815
- "project"
5216
+ "project",
5217
+ "zone",
5218
+ "instance"
4816
5219
  ],
5220
+ "request": {
5221
+ "$ref": "Tags"
5222
+ },
4817
5223
  "response": {
4818
- "$ref": "KernelList"
5224
+ "$ref": "Operation"
4819
5225
  },
4820
5226
  "scopes": [
4821
- "https://www.googleapis.com/auth/compute",
4822
- "https://www.googleapis.com/auth/compute.readonly"
5227
+ "https://www.googleapis.com/auth/compute"
4823
5228
  ]
4824
5229
  }
4825
5230
  }
@@ -4839,11 +5244,11 @@
4839
5244
  },
4840
5245
  "maxResults": {
4841
5246
  "type": "integer",
4842
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
5247
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
4843
5248
  "default": "100",
4844
5249
  "format": "uint32",
4845
5250
  "minimum": "0",
4846
- "maximum": "100",
5251
+ "maximum": "500",
4847
5252
  "location": "query"
4848
5253
  },
4849
5254
  "pageToken": {
@@ -4924,11 +5329,11 @@
4924
5329
  },
4925
5330
  "maxResults": {
4926
5331
  "type": "integer",
4927
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
5332
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
4928
5333
  "default": "100",
4929
5334
  "format": "uint32",
4930
5335
  "minimum": "0",
4931
- "maximum": "100",
5336
+ "maximum": "500",
4932
5337
  "location": "query"
4933
5338
  },
4934
5339
  "pageToken": {
@@ -5072,11 +5477,11 @@
5072
5477
  },
5073
5478
  "maxResults": {
5074
5479
  "type": "integer",
5075
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
5480
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
5076
5481
  "default": "100",
5077
5482
  "format": "uint32",
5078
5483
  "minimum": "0",
5079
- "maximum": "100",
5484
+ "maximum": "500",
5080
5485
  "location": "query"
5081
5486
  },
5082
5487
  "pageToken": {
@@ -5254,11 +5659,11 @@
5254
5659
  },
5255
5660
  "maxResults": {
5256
5661
  "type": "integer",
5257
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
5662
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
5258
5663
  "default": "100",
5259
5664
  "format": "uint32",
5260
5665
  "minimum": "0",
5261
- "maximum": "100",
5666
+ "maximum": "500",
5262
5667
  "location": "query"
5263
5668
  },
5264
5669
  "pageToken": {
@@ -5343,11 +5748,11 @@
5343
5748
  },
5344
5749
  "maxResults": {
5345
5750
  "type": "integer",
5346
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
5751
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
5347
5752
  "default": "100",
5348
5753
  "format": "uint32",
5349
5754
  "minimum": "0",
5350
- "maximum": "100",
5755
+ "maximum": "500",
5351
5756
  "location": "query"
5352
5757
  },
5353
5758
  "pageToken": {
@@ -5483,11 +5888,11 @@
5483
5888
  },
5484
5889
  "maxResults": {
5485
5890
  "type": "integer",
5486
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
5891
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
5487
5892
  "default": "100",
5488
5893
  "format": "uint32",
5489
5894
  "minimum": "0",
5490
- "maximum": "100",
5895
+ "maximum": "500",
5491
5896
  "location": "query"
5492
5897
  },
5493
5898
  "pageToken": {
@@ -5596,11 +6001,11 @@
5596
6001
  },
5597
6002
  "maxResults": {
5598
6003
  "type": "integer",
5599
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
6004
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
5600
6005
  "default": "100",
5601
6006
  "format": "uint32",
5602
6007
  "minimum": "0",
5603
- "maximum": "100",
6008
+ "maximum": "500",
5604
6009
  "location": "query"
5605
6010
  },
5606
6011
  "pageToken": {
@@ -5665,7 +6070,7 @@
5665
6070
  "targetPool"
5666
6071
  ],
5667
6072
  "request": {
5668
- "$ref": "HealthCheckReference"
6073
+ "$ref": "TargetPoolsAddHealthCheckRequest"
5669
6074
  },
5670
6075
  "response": {
5671
6076
  "$ref": "Operation"
@@ -5708,7 +6113,7 @@
5708
6113
  "targetPool"
5709
6114
  ],
5710
6115
  "request": {
5711
- "$ref": "InstanceReference"
6116
+ "$ref": "TargetPoolsAddInstanceRequest"
5712
6117
  },
5713
6118
  "response": {
5714
6119
  "$ref": "Operation"
@@ -5730,11 +6135,11 @@
5730
6135
  },
5731
6136
  "maxResults": {
5732
6137
  "type": "integer",
5733
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
6138
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
5734
6139
  "default": "100",
5735
6140
  "format": "uint32",
5736
6141
  "minimum": "0",
5737
- "maximum": "100",
6142
+ "maximum": "500",
5738
6143
  "location": "query"
5739
6144
  },
5740
6145
  "pageToken": {
@@ -5934,11 +6339,11 @@
5934
6339
  },
5935
6340
  "maxResults": {
5936
6341
  "type": "integer",
5937
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
6342
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
5938
6343
  "default": "100",
5939
6344
  "format": "uint32",
5940
6345
  "minimum": "0",
5941
- "maximum": "100",
6346
+ "maximum": "500",
5942
6347
  "location": "query"
5943
6348
  },
5944
6349
  "pageToken": {
@@ -6007,7 +6412,7 @@
6007
6412
  "targetPool"
6008
6413
  ],
6009
6414
  "request": {
6010
- "$ref": "HealthCheckReference"
6415
+ "$ref": "TargetPoolsRemoveHealthCheckRequest"
6011
6416
  },
6012
6417
  "response": {
6013
6418
  "$ref": "Operation"
@@ -6050,7 +6455,56 @@
6050
6455
  "targetPool"
6051
6456
  ],
6052
6457
  "request": {
6053
- "$ref": "InstanceReference"
6458
+ "$ref": "TargetPoolsRemoveInstanceRequest"
6459
+ },
6460
+ "response": {
6461
+ "$ref": "Operation"
6462
+ },
6463
+ "scopes": [
6464
+ "https://www.googleapis.com/auth/compute"
6465
+ ]
6466
+ },
6467
+ "setBackup": {
6468
+ "id": "compute.targetPools.setBackup",
6469
+ "path": "{project}/regions/{region}/targetPools/{targetPool}/setBackup",
6470
+ "httpMethod": "POST",
6471
+ "description": "Changes backup pool configurations.",
6472
+ "parameters": {
6473
+ "failoverRatio": {
6474
+ "type": "number",
6475
+ "description": "New failoverRatio value for the containing target pool.",
6476
+ "format": "float",
6477
+ "location": "query"
6478
+ },
6479
+ "project": {
6480
+ "type": "string",
6481
+ "description": "Name of the project scoping this request.",
6482
+ "required": true,
6483
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
6484
+ "location": "path"
6485
+ },
6486
+ "region": {
6487
+ "type": "string",
6488
+ "description": "Name of the region scoping this request.",
6489
+ "required": true,
6490
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
6491
+ "location": "path"
6492
+ },
6493
+ "targetPool": {
6494
+ "type": "string",
6495
+ "description": "Name of the TargetPool resource for which the backup is to be set.",
6496
+ "required": true,
6497
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
6498
+ "location": "path"
6499
+ }
6500
+ },
6501
+ "parameterOrder": [
6502
+ "project",
6503
+ "region",
6504
+ "targetPool"
6505
+ ],
6506
+ "request": {
6507
+ "$ref": "TargetReference"
6054
6508
  },
6055
6509
  "response": {
6056
6510
  "$ref": "Operation"
@@ -6154,11 +6608,11 @@
6154
6608
  },
6155
6609
  "maxResults": {
6156
6610
  "type": "integer",
6157
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
6611
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
6158
6612
  "default": "100",
6159
6613
  "format": "uint32",
6160
6614
  "minimum": "0",
6161
- "maximum": "100",
6615
+ "maximum": "500",
6162
6616
  "location": "query"
6163
6617
  },
6164
6618
  "pageToken": {
@@ -6243,11 +6697,11 @@
6243
6697
  },
6244
6698
  "maxResults": {
6245
6699
  "type": "integer",
6246
- "description": "Optional. Maximum count of results to be returned. Maximum and default value is 100.",
6700
+ "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 100.",
6247
6701
  "default": "100",
6248
6702
  "format": "uint32",
6249
6703
  "minimum": "0",
6250
- "maximum": "100",
6704
+ "maximum": "500",
6251
6705
  "location": "query"
6252
6706
  },
6253
6707
  "pageToken": {