Api-Roll 51: 2017-07-10

R=vegorov@google.com

Review-Url: https://codereview.chromium.org//2973303002 .
diff --git a/generated/googleapis/test/ml/v1_test.dart b/generated/googleapis/test/ml/v1_test.dart
index 1e2523d..2e01e62 100644
--- a/generated/googleapis/test/ml/v1_test.dart
+++ b/generated/googleapis/test/ml/v1_test.dart
@@ -780,11 +780,13 @@
     o.createTime = "foo";
     o.deploymentUri = "foo";
     o.description = "foo";
+    o.errorMessage = "foo";
     o.isDefault = true;
     o.lastUseTime = "foo";
     o.manualScaling = buildGoogleCloudMlV1ManualScaling();
     o.name = "foo";
     o.runtimeVersion = "foo";
+    o.state = "foo";
   }
   buildCounterGoogleCloudMlV1Version--;
   return o;
@@ -797,11 +799,13 @@
     unittest.expect(o.createTime, unittest.equals('foo'));
     unittest.expect(o.deploymentUri, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
+    unittest.expect(o.errorMessage, unittest.equals('foo'));
     unittest.expect(o.isDefault, unittest.isTrue);
     unittest.expect(o.lastUseTime, unittest.equals('foo'));
     checkGoogleCloudMlV1ManualScaling(o.manualScaling);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.runtimeVersion, unittest.equals('foo'));
+    unittest.expect(o.state, unittest.equals('foo'));
   }
   buildCounterGoogleCloudMlV1Version--;
 }
@@ -884,11 +888,13 @@
     o.createTime = "foo";
     o.deploymentUri = "foo";
     o.description = "foo";
+    o.errorMessage = "foo";
     o.isDefault = true;
     o.lastUseTime = "foo";
     o.manualScaling = buildGoogleCloudMlV1beta1ManualScaling();
     o.name = "foo";
     o.runtimeVersion = "foo";
+    o.state = "foo";
   }
   buildCounterGoogleCloudMlV1beta1Version--;
   return o;
@@ -901,23 +907,515 @@
     unittest.expect(o.createTime, unittest.equals('foo'));
     unittest.expect(o.deploymentUri, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
+    unittest.expect(o.errorMessage, unittest.equals('foo'));
     unittest.expect(o.isDefault, unittest.isTrue);
     unittest.expect(o.lastUseTime, unittest.equals('foo'));
     checkGoogleCloudMlV1beta1ManualScaling(o.manualScaling);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.runtimeVersion, unittest.equals('foo'));
+    unittest.expect(o.state, unittest.equals('foo'));
   }
   buildCounterGoogleCloudMlV1beta1Version--;
 }
 
+core.int buildCounterGoogleIamV1LogConfigCloudAuditOptions = 0;
+buildGoogleIamV1LogConfigCloudAuditOptions() {
+  var o = new api.GoogleIamV1LogConfigCloudAuditOptions();
+  buildCounterGoogleIamV1LogConfigCloudAuditOptions++;
+  if (buildCounterGoogleIamV1LogConfigCloudAuditOptions < 3) {
+    o.logName = "foo";
+  }
+  buildCounterGoogleIamV1LogConfigCloudAuditOptions--;
+  return o;
+}
+
+checkGoogleIamV1LogConfigCloudAuditOptions(api.GoogleIamV1LogConfigCloudAuditOptions o) {
+  buildCounterGoogleIamV1LogConfigCloudAuditOptions++;
+  if (buildCounterGoogleIamV1LogConfigCloudAuditOptions < 3) {
+    unittest.expect(o.logName, unittest.equals('foo'));
+  }
+  buildCounterGoogleIamV1LogConfigCloudAuditOptions--;
+}
+
+core.int buildCounterGoogleIamV1LogConfigCounterOptions = 0;
+buildGoogleIamV1LogConfigCounterOptions() {
+  var o = new api.GoogleIamV1LogConfigCounterOptions();
+  buildCounterGoogleIamV1LogConfigCounterOptions++;
+  if (buildCounterGoogleIamV1LogConfigCounterOptions < 3) {
+    o.field = "foo";
+    o.metric = "foo";
+  }
+  buildCounterGoogleIamV1LogConfigCounterOptions--;
+  return o;
+}
+
+checkGoogleIamV1LogConfigCounterOptions(api.GoogleIamV1LogConfigCounterOptions o) {
+  buildCounterGoogleIamV1LogConfigCounterOptions++;
+  if (buildCounterGoogleIamV1LogConfigCounterOptions < 3) {
+    unittest.expect(o.field, unittest.equals('foo'));
+    unittest.expect(o.metric, unittest.equals('foo'));
+  }
+  buildCounterGoogleIamV1LogConfigCounterOptions--;
+}
+
+core.int buildCounterGoogleIamV1LogConfigDataAccessOptions = 0;
+buildGoogleIamV1LogConfigDataAccessOptions() {
+  var o = new api.GoogleIamV1LogConfigDataAccessOptions();
+  buildCounterGoogleIamV1LogConfigDataAccessOptions++;
+  if (buildCounterGoogleIamV1LogConfigDataAccessOptions < 3) {
+  }
+  buildCounterGoogleIamV1LogConfigDataAccessOptions--;
+  return o;
+}
+
+checkGoogleIamV1LogConfigDataAccessOptions(api.GoogleIamV1LogConfigDataAccessOptions o) {
+  buildCounterGoogleIamV1LogConfigDataAccessOptions++;
+  if (buildCounterGoogleIamV1LogConfigDataAccessOptions < 3) {
+  }
+  buildCounterGoogleIamV1LogConfigDataAccessOptions--;
+}
+
 buildUnnamed15() {
+  var o = new core.List<api.GoogleIamV1AuditLogConfig>();
+  o.add(buildGoogleIamV1AuditLogConfig());
+  o.add(buildGoogleIamV1AuditLogConfig());
+  return o;
+}
+
+checkUnnamed15(core.List<api.GoogleIamV1AuditLogConfig> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkGoogleIamV1AuditLogConfig(o[0]);
+  checkGoogleIamV1AuditLogConfig(o[1]);
+}
+
+buildUnnamed16() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed16(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+core.int buildCounterGoogleIamV1AuditConfig = 0;
+buildGoogleIamV1AuditConfig() {
+  var o = new api.GoogleIamV1AuditConfig();
+  buildCounterGoogleIamV1AuditConfig++;
+  if (buildCounterGoogleIamV1AuditConfig < 3) {
+    o.auditLogConfigs = buildUnnamed15();
+    o.exemptedMembers = buildUnnamed16();
+    o.service = "foo";
+  }
+  buildCounterGoogleIamV1AuditConfig--;
+  return o;
+}
+
+checkGoogleIamV1AuditConfig(api.GoogleIamV1AuditConfig o) {
+  buildCounterGoogleIamV1AuditConfig++;
+  if (buildCounterGoogleIamV1AuditConfig < 3) {
+    checkUnnamed15(o.auditLogConfigs);
+    checkUnnamed16(o.exemptedMembers);
+    unittest.expect(o.service, unittest.equals('foo'));
+  }
+  buildCounterGoogleIamV1AuditConfig--;
+}
+
+buildUnnamed17() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed17(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+core.int buildCounterGoogleIamV1AuditLogConfig = 0;
+buildGoogleIamV1AuditLogConfig() {
+  var o = new api.GoogleIamV1AuditLogConfig();
+  buildCounterGoogleIamV1AuditLogConfig++;
+  if (buildCounterGoogleIamV1AuditLogConfig < 3) {
+    o.exemptedMembers = buildUnnamed17();
+    o.logType = "foo";
+  }
+  buildCounterGoogleIamV1AuditLogConfig--;
+  return o;
+}
+
+checkGoogleIamV1AuditLogConfig(api.GoogleIamV1AuditLogConfig o) {
+  buildCounterGoogleIamV1AuditLogConfig++;
+  if (buildCounterGoogleIamV1AuditLogConfig < 3) {
+    checkUnnamed17(o.exemptedMembers);
+    unittest.expect(o.logType, unittest.equals('foo'));
+  }
+  buildCounterGoogleIamV1AuditLogConfig--;
+}
+
+buildUnnamed18() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed18(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+core.int buildCounterGoogleIamV1Binding = 0;
+buildGoogleIamV1Binding() {
+  var o = new api.GoogleIamV1Binding();
+  buildCounterGoogleIamV1Binding++;
+  if (buildCounterGoogleIamV1Binding < 3) {
+    o.condition = buildGoogleTypeExpr();
+    o.members = buildUnnamed18();
+    o.role = "foo";
+  }
+  buildCounterGoogleIamV1Binding--;
+  return o;
+}
+
+checkGoogleIamV1Binding(api.GoogleIamV1Binding o) {
+  buildCounterGoogleIamV1Binding++;
+  if (buildCounterGoogleIamV1Binding < 3) {
+    checkGoogleTypeExpr(o.condition);
+    checkUnnamed18(o.members);
+    unittest.expect(o.role, unittest.equals('foo'));
+  }
+  buildCounterGoogleIamV1Binding--;
+}
+
+buildUnnamed19() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed19(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+core.int buildCounterGoogleIamV1Condition = 0;
+buildGoogleIamV1Condition() {
+  var o = new api.GoogleIamV1Condition();
+  buildCounterGoogleIamV1Condition++;
+  if (buildCounterGoogleIamV1Condition < 3) {
+    o.iam = "foo";
+    o.op = "foo";
+    o.svc = "foo";
+    o.sys = "foo";
+    o.value = "foo";
+    o.values = buildUnnamed19();
+  }
+  buildCounterGoogleIamV1Condition--;
+  return o;
+}
+
+checkGoogleIamV1Condition(api.GoogleIamV1Condition o) {
+  buildCounterGoogleIamV1Condition++;
+  if (buildCounterGoogleIamV1Condition < 3) {
+    unittest.expect(o.iam, unittest.equals('foo'));
+    unittest.expect(o.op, unittest.equals('foo'));
+    unittest.expect(o.svc, unittest.equals('foo'));
+    unittest.expect(o.sys, unittest.equals('foo'));
+    unittest.expect(o.value, unittest.equals('foo'));
+    checkUnnamed19(o.values);
+  }
+  buildCounterGoogleIamV1Condition--;
+}
+
+core.int buildCounterGoogleIamV1LogConfig = 0;
+buildGoogleIamV1LogConfig() {
+  var o = new api.GoogleIamV1LogConfig();
+  buildCounterGoogleIamV1LogConfig++;
+  if (buildCounterGoogleIamV1LogConfig < 3) {
+    o.cloudAudit = buildGoogleIamV1LogConfigCloudAuditOptions();
+    o.counter = buildGoogleIamV1LogConfigCounterOptions();
+    o.dataAccess = buildGoogleIamV1LogConfigDataAccessOptions();
+  }
+  buildCounterGoogleIamV1LogConfig--;
+  return o;
+}
+
+checkGoogleIamV1LogConfig(api.GoogleIamV1LogConfig o) {
+  buildCounterGoogleIamV1LogConfig++;
+  if (buildCounterGoogleIamV1LogConfig < 3) {
+    checkGoogleIamV1LogConfigCloudAuditOptions(o.cloudAudit);
+    checkGoogleIamV1LogConfigCounterOptions(o.counter);
+    checkGoogleIamV1LogConfigDataAccessOptions(o.dataAccess);
+  }
+  buildCounterGoogleIamV1LogConfig--;
+}
+
+buildUnnamed20() {
+  var o = new core.List<api.GoogleIamV1AuditConfig>();
+  o.add(buildGoogleIamV1AuditConfig());
+  o.add(buildGoogleIamV1AuditConfig());
+  return o;
+}
+
+checkUnnamed20(core.List<api.GoogleIamV1AuditConfig> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkGoogleIamV1AuditConfig(o[0]);
+  checkGoogleIamV1AuditConfig(o[1]);
+}
+
+buildUnnamed21() {
+  var o = new core.List<api.GoogleIamV1Binding>();
+  o.add(buildGoogleIamV1Binding());
+  o.add(buildGoogleIamV1Binding());
+  return o;
+}
+
+checkUnnamed21(core.List<api.GoogleIamV1Binding> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkGoogleIamV1Binding(o[0]);
+  checkGoogleIamV1Binding(o[1]);
+}
+
+buildUnnamed22() {
+  var o = new core.List<api.GoogleIamV1Rule>();
+  o.add(buildGoogleIamV1Rule());
+  o.add(buildGoogleIamV1Rule());
+  return o;
+}
+
+checkUnnamed22(core.List<api.GoogleIamV1Rule> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkGoogleIamV1Rule(o[0]);
+  checkGoogleIamV1Rule(o[1]);
+}
+
+core.int buildCounterGoogleIamV1Policy = 0;
+buildGoogleIamV1Policy() {
+  var o = new api.GoogleIamV1Policy();
+  buildCounterGoogleIamV1Policy++;
+  if (buildCounterGoogleIamV1Policy < 3) {
+    o.auditConfigs = buildUnnamed20();
+    o.bindings = buildUnnamed21();
+    o.etag = "foo";
+    o.iamOwned = true;
+    o.rules = buildUnnamed22();
+    o.version = 42;
+  }
+  buildCounterGoogleIamV1Policy--;
+  return o;
+}
+
+checkGoogleIamV1Policy(api.GoogleIamV1Policy o) {
+  buildCounterGoogleIamV1Policy++;
+  if (buildCounterGoogleIamV1Policy < 3) {
+    checkUnnamed20(o.auditConfigs);
+    checkUnnamed21(o.bindings);
+    unittest.expect(o.etag, unittest.equals('foo'));
+    unittest.expect(o.iamOwned, unittest.isTrue);
+    checkUnnamed22(o.rules);
+    unittest.expect(o.version, unittest.equals(42));
+  }
+  buildCounterGoogleIamV1Policy--;
+}
+
+buildUnnamed23() {
+  var o = new core.List<api.GoogleIamV1Condition>();
+  o.add(buildGoogleIamV1Condition());
+  o.add(buildGoogleIamV1Condition());
+  return o;
+}
+
+checkUnnamed23(core.List<api.GoogleIamV1Condition> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkGoogleIamV1Condition(o[0]);
+  checkGoogleIamV1Condition(o[1]);
+}
+
+buildUnnamed24() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed24(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+buildUnnamed25() {
+  var o = new core.List<api.GoogleIamV1LogConfig>();
+  o.add(buildGoogleIamV1LogConfig());
+  o.add(buildGoogleIamV1LogConfig());
+  return o;
+}
+
+checkUnnamed25(core.List<api.GoogleIamV1LogConfig> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkGoogleIamV1LogConfig(o[0]);
+  checkGoogleIamV1LogConfig(o[1]);
+}
+
+buildUnnamed26() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed26(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+buildUnnamed27() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed27(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+core.int buildCounterGoogleIamV1Rule = 0;
+buildGoogleIamV1Rule() {
+  var o = new api.GoogleIamV1Rule();
+  buildCounterGoogleIamV1Rule++;
+  if (buildCounterGoogleIamV1Rule < 3) {
+    o.action = "foo";
+    o.conditions = buildUnnamed23();
+    o.description = "foo";
+    o.in_ = buildUnnamed24();
+    o.logConfig = buildUnnamed25();
+    o.notIn = buildUnnamed26();
+    o.permissions = buildUnnamed27();
+  }
+  buildCounterGoogleIamV1Rule--;
+  return o;
+}
+
+checkGoogleIamV1Rule(api.GoogleIamV1Rule o) {
+  buildCounterGoogleIamV1Rule++;
+  if (buildCounterGoogleIamV1Rule < 3) {
+    unittest.expect(o.action, unittest.equals('foo'));
+    checkUnnamed23(o.conditions);
+    unittest.expect(o.description, unittest.equals('foo'));
+    checkUnnamed24(o.in_);
+    checkUnnamed25(o.logConfig);
+    checkUnnamed26(o.notIn);
+    checkUnnamed27(o.permissions);
+  }
+  buildCounterGoogleIamV1Rule--;
+}
+
+core.int buildCounterGoogleIamV1SetIamPolicyRequest = 0;
+buildGoogleIamV1SetIamPolicyRequest() {
+  var o = new api.GoogleIamV1SetIamPolicyRequest();
+  buildCounterGoogleIamV1SetIamPolicyRequest++;
+  if (buildCounterGoogleIamV1SetIamPolicyRequest < 3) {
+    o.policy = buildGoogleIamV1Policy();
+    o.updateMask = "foo";
+  }
+  buildCounterGoogleIamV1SetIamPolicyRequest--;
+  return o;
+}
+
+checkGoogleIamV1SetIamPolicyRequest(api.GoogleIamV1SetIamPolicyRequest o) {
+  buildCounterGoogleIamV1SetIamPolicyRequest++;
+  if (buildCounterGoogleIamV1SetIamPolicyRequest < 3) {
+    checkGoogleIamV1Policy(o.policy);
+    unittest.expect(o.updateMask, unittest.equals('foo'));
+  }
+  buildCounterGoogleIamV1SetIamPolicyRequest--;
+}
+
+buildUnnamed28() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed28(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+core.int buildCounterGoogleIamV1TestIamPermissionsRequest = 0;
+buildGoogleIamV1TestIamPermissionsRequest() {
+  var o = new api.GoogleIamV1TestIamPermissionsRequest();
+  buildCounterGoogleIamV1TestIamPermissionsRequest++;
+  if (buildCounterGoogleIamV1TestIamPermissionsRequest < 3) {
+    o.permissions = buildUnnamed28();
+  }
+  buildCounterGoogleIamV1TestIamPermissionsRequest--;
+  return o;
+}
+
+checkGoogleIamV1TestIamPermissionsRequest(api.GoogleIamV1TestIamPermissionsRequest o) {
+  buildCounterGoogleIamV1TestIamPermissionsRequest++;
+  if (buildCounterGoogleIamV1TestIamPermissionsRequest < 3) {
+    checkUnnamed28(o.permissions);
+  }
+  buildCounterGoogleIamV1TestIamPermissionsRequest--;
+}
+
+buildUnnamed29() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed29(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+core.int buildCounterGoogleIamV1TestIamPermissionsResponse = 0;
+buildGoogleIamV1TestIamPermissionsResponse() {
+  var o = new api.GoogleIamV1TestIamPermissionsResponse();
+  buildCounterGoogleIamV1TestIamPermissionsResponse++;
+  if (buildCounterGoogleIamV1TestIamPermissionsResponse < 3) {
+    o.permissions = buildUnnamed29();
+  }
+  buildCounterGoogleIamV1TestIamPermissionsResponse--;
+  return o;
+}
+
+checkGoogleIamV1TestIamPermissionsResponse(api.GoogleIamV1TestIamPermissionsResponse o) {
+  buildCounterGoogleIamV1TestIamPermissionsResponse++;
+  if (buildCounterGoogleIamV1TestIamPermissionsResponse < 3) {
+    checkUnnamed29(o.permissions);
+  }
+  buildCounterGoogleIamV1TestIamPermissionsResponse--;
+}
+
+buildUnnamed30() {
   var o = new core.List<api.GoogleLongrunningOperation>();
   o.add(buildGoogleLongrunningOperation());
   o.add(buildGoogleLongrunningOperation());
   return o;
 }
 
-checkUnnamed15(core.List<api.GoogleLongrunningOperation> o) {
+checkUnnamed30(core.List<api.GoogleLongrunningOperation> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGoogleLongrunningOperation(o[0]);
   checkGoogleLongrunningOperation(o[1]);
@@ -929,7 +1427,7 @@
   buildCounterGoogleLongrunningListOperationsResponse++;
   if (buildCounterGoogleLongrunningListOperationsResponse < 3) {
     o.nextPageToken = "foo";
-    o.operations = buildUnnamed15();
+    o.operations = buildUnnamed30();
   }
   buildCounterGoogleLongrunningListOperationsResponse--;
   return o;
@@ -939,32 +1437,32 @@
   buildCounterGoogleLongrunningListOperationsResponse++;
   if (buildCounterGoogleLongrunningListOperationsResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed15(o.operations);
+    checkUnnamed30(o.operations);
   }
   buildCounterGoogleLongrunningListOperationsResponse--;
 }
 
-buildUnnamed16() {
+buildUnnamed31() {
   var o = new core.Map<core.String, core.Object>();
   o["x"] = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
   o["y"] = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
   return o;
 }
 
-checkUnnamed16(core.Map<core.String, core.Object> o) {
+checkUnnamed31(core.Map<core.String, core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted3 = (o["x"]) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); unittest.expect(casted3["list"], unittest.equals([1, 2, 3])); unittest.expect(casted3["bool"], unittest.equals(true)); unittest.expect(casted3["string"], unittest.equals('foo')); 
   var casted4 = (o["y"]) as core.Map; unittest.expect(casted4, unittest.hasLength(3)); unittest.expect(casted4["list"], unittest.equals([1, 2, 3])); unittest.expect(casted4["bool"], unittest.equals(true)); unittest.expect(casted4["string"], unittest.equals('foo')); 
 }
 
-buildUnnamed17() {
+buildUnnamed32() {
   var o = new core.Map<core.String, core.Object>();
   o["x"] = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
   o["y"] = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
   return o;
 }
 
-checkUnnamed17(core.Map<core.String, core.Object> o) {
+checkUnnamed32(core.Map<core.String, core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted5 = (o["x"]) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); unittest.expect(casted5["list"], unittest.equals([1, 2, 3])); unittest.expect(casted5["bool"], unittest.equals(true)); unittest.expect(casted5["string"], unittest.equals('foo')); 
   var casted6 = (o["y"]) as core.Map; unittest.expect(casted6, unittest.hasLength(3)); unittest.expect(casted6["list"], unittest.equals([1, 2, 3])); unittest.expect(casted6["bool"], unittest.equals(true)); unittest.expect(casted6["string"], unittest.equals('foo')); 
@@ -977,9 +1475,9 @@
   if (buildCounterGoogleLongrunningOperation < 3) {
     o.done = true;
     o.error = buildGoogleRpcStatus();
-    o.metadata = buildUnnamed16();
+    o.metadata = buildUnnamed31();
     o.name = "foo";
-    o.response = buildUnnamed17();
+    o.response = buildUnnamed32();
   }
   buildCounterGoogleLongrunningOperation--;
   return o;
@@ -990,9 +1488,9 @@
   if (buildCounterGoogleLongrunningOperation < 3) {
     unittest.expect(o.done, unittest.isTrue);
     checkGoogleRpcStatus(o.error);
-    checkUnnamed16(o.metadata);
+    checkUnnamed31(o.metadata);
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed17(o.response);
+    checkUnnamed32(o.response);
   }
   buildCounterGoogleLongrunningOperation--;
 }
@@ -1014,30 +1512,30 @@
   buildCounterGoogleProtobufEmpty--;
 }
 
-buildUnnamed18() {
+buildUnnamed33() {
   var o = new core.Map<core.String, core.Object>();
   o["x"] = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
   o["y"] = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
   return o;
 }
 
-checkUnnamed18(core.Map<core.String, core.Object> o) {
+checkUnnamed33(core.Map<core.String, core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted7 = (o["x"]) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); unittest.expect(casted7["list"], unittest.equals([1, 2, 3])); unittest.expect(casted7["bool"], unittest.equals(true)); unittest.expect(casted7["string"], unittest.equals('foo')); 
   var casted8 = (o["y"]) as core.Map; unittest.expect(casted8, unittest.hasLength(3)); unittest.expect(casted8["list"], unittest.equals([1, 2, 3])); unittest.expect(casted8["bool"], unittest.equals(true)); unittest.expect(casted8["string"], unittest.equals('foo')); 
 }
 
-buildUnnamed19() {
+buildUnnamed34() {
   var o = new core.List<core.Map<core.String, core.Object>>();
-  o.add(buildUnnamed18());
-  o.add(buildUnnamed18());
+  o.add(buildUnnamed33());
+  o.add(buildUnnamed33());
   return o;
 }
 
-checkUnnamed19(core.List<core.Map<core.String, core.Object>> o) {
+checkUnnamed34(core.List<core.Map<core.String, core.Object>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed18(o[0]);
-  checkUnnamed18(o[1]);
+  checkUnnamed33(o[0]);
+  checkUnnamed33(o[1]);
 }
 
 core.int buildCounterGoogleRpcStatus = 0;
@@ -1046,7 +1544,7 @@
   buildCounterGoogleRpcStatus++;
   if (buildCounterGoogleRpcStatus < 3) {
     o.code = 42;
-    o.details = buildUnnamed19();
+    o.details = buildUnnamed34();
     o.message = "foo";
   }
   buildCounterGoogleRpcStatus--;
@@ -1057,12 +1555,37 @@
   buildCounterGoogleRpcStatus++;
   if (buildCounterGoogleRpcStatus < 3) {
     unittest.expect(o.code, unittest.equals(42));
-    checkUnnamed19(o.details);
+    checkUnnamed34(o.details);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterGoogleRpcStatus--;
 }
 
+core.int buildCounterGoogleTypeExpr = 0;
+buildGoogleTypeExpr() {
+  var o = new api.GoogleTypeExpr();
+  buildCounterGoogleTypeExpr++;
+  if (buildCounterGoogleTypeExpr < 3) {
+    o.description = "foo";
+    o.expression = "foo";
+    o.location = "foo";
+    o.title = "foo";
+  }
+  buildCounterGoogleTypeExpr--;
+  return o;
+}
+
+checkGoogleTypeExpr(api.GoogleTypeExpr o) {
+  buildCounterGoogleTypeExpr++;
+  if (buildCounterGoogleTypeExpr < 3) {
+    unittest.expect(o.description, unittest.equals('foo'));
+    unittest.expect(o.expression, unittest.equals('foo'));
+    unittest.expect(o.location, unittest.equals('foo'));
+    unittest.expect(o.title, unittest.equals('foo'));
+  }
+  buildCounterGoogleTypeExpr--;
+}
+
 
 main() {
   unittest.group("obj-schema-GoogleApiHttpBody", () {
@@ -1299,6 +1822,123 @@
   });
 
 
+  unittest.group("obj-schema-GoogleIamV1LogConfigCloudAuditOptions", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleIamV1LogConfigCloudAuditOptions();
+      var od = new api.GoogleIamV1LogConfigCloudAuditOptions.fromJson(o.toJson());
+      checkGoogleIamV1LogConfigCloudAuditOptions(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-GoogleIamV1LogConfigCounterOptions", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleIamV1LogConfigCounterOptions();
+      var od = new api.GoogleIamV1LogConfigCounterOptions.fromJson(o.toJson());
+      checkGoogleIamV1LogConfigCounterOptions(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-GoogleIamV1LogConfigDataAccessOptions", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleIamV1LogConfigDataAccessOptions();
+      var od = new api.GoogleIamV1LogConfigDataAccessOptions.fromJson(o.toJson());
+      checkGoogleIamV1LogConfigDataAccessOptions(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-GoogleIamV1AuditConfig", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleIamV1AuditConfig();
+      var od = new api.GoogleIamV1AuditConfig.fromJson(o.toJson());
+      checkGoogleIamV1AuditConfig(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-GoogleIamV1AuditLogConfig", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleIamV1AuditLogConfig();
+      var od = new api.GoogleIamV1AuditLogConfig.fromJson(o.toJson());
+      checkGoogleIamV1AuditLogConfig(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-GoogleIamV1Binding", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleIamV1Binding();
+      var od = new api.GoogleIamV1Binding.fromJson(o.toJson());
+      checkGoogleIamV1Binding(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-GoogleIamV1Condition", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleIamV1Condition();
+      var od = new api.GoogleIamV1Condition.fromJson(o.toJson());
+      checkGoogleIamV1Condition(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-GoogleIamV1LogConfig", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleIamV1LogConfig();
+      var od = new api.GoogleIamV1LogConfig.fromJson(o.toJson());
+      checkGoogleIamV1LogConfig(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-GoogleIamV1Policy", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleIamV1Policy();
+      var od = new api.GoogleIamV1Policy.fromJson(o.toJson());
+      checkGoogleIamV1Policy(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-GoogleIamV1Rule", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleIamV1Rule();
+      var od = new api.GoogleIamV1Rule.fromJson(o.toJson());
+      checkGoogleIamV1Rule(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-GoogleIamV1SetIamPolicyRequest", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleIamV1SetIamPolicyRequest();
+      var od = new api.GoogleIamV1SetIamPolicyRequest.fromJson(o.toJson());
+      checkGoogleIamV1SetIamPolicyRequest(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-GoogleIamV1TestIamPermissionsRequest", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleIamV1TestIamPermissionsRequest();
+      var od = new api.GoogleIamV1TestIamPermissionsRequest.fromJson(o.toJson());
+      checkGoogleIamV1TestIamPermissionsRequest(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-GoogleIamV1TestIamPermissionsResponse", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleIamV1TestIamPermissionsResponse();
+      var od = new api.GoogleIamV1TestIamPermissionsResponse.fromJson(o.toJson());
+      checkGoogleIamV1TestIamPermissionsResponse(od);
+    });
+  });
+
+
   unittest.group("obj-schema-GoogleLongrunningListOperationsResponse", () {
     unittest.test("to-json--from-json", () {
       var o = buildGoogleLongrunningListOperationsResponse();
@@ -1335,6 +1975,15 @@
   });
 
 
+  unittest.group("obj-schema-GoogleTypeExpr", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildGoogleTypeExpr();
+      var od = new api.GoogleTypeExpr.fromJson(o.toJson());
+      checkGoogleTypeExpr(od);
+    });
+  });
+
+
   unittest.group("resource-ProjectsResourceApi", () {
     unittest.test("method--getConfig", () {
 
@@ -1582,9 +2231,9 @@
       var mock = new HttpServerMock();
       api.ProjectsJobsResourceApi res = new api.MlApi(mock).projects.jobs;
       var arg_parent = "foo";
-      var arg_filter = "foo";
       var arg_pageToken = "foo";
       var arg_pageSize = 42;
+      var arg_filter = "foo";
       mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
@@ -1612,9 +2261,9 @@
             addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
           }
         }
-        unittest.expect(queryMap["filter"].first, unittest.equals(arg_filter));
         unittest.expect(queryMap["pageToken"].first, unittest.equals(arg_pageToken));
         unittest.expect(core.int.parse(queryMap["pageSize"].first), unittest.equals(arg_pageSize));
+        unittest.expect(queryMap["filter"].first, unittest.equals(arg_filter));
 
 
         var h = {
@@ -1623,7 +2272,7 @@
         var resp = convert.JSON.encode(buildGoogleCloudMlV1ListJobsResponse());
         return new async.Future.value(stringResponse(200, h, resp));
       }), true);
-      res.list(arg_parent, filter: arg_filter, pageToken: arg_pageToken, pageSize: arg_pageSize).then(unittest.expectAsync1(((api.GoogleCloudMlV1ListJobsResponse response) {
+      res.list(arg_parent, pageToken: arg_pageToken, pageSize: arg_pageSize, filter: arg_filter).then(unittest.expectAsync1(((api.GoogleCloudMlV1ListJobsResponse response) {
         checkGoogleCloudMlV1ListJobsResponse(response);
       })));
     });
@@ -1771,6 +2420,51 @@
       })));
     });
 
+    unittest.test("method--getIamPolicy", () {
+
+      var mock = new HttpServerMock();
+      api.ProjectsModelsResourceApi res = new api.MlApi(mock).projects.models;
+      var arg_resource = "foo";
+      mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
+        pathOffset += 3;
+        // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildGoogleIamV1Policy());
+        return new async.Future.value(stringResponse(200, h, resp));
+      }), true);
+      res.getIamPolicy(arg_resource).then(unittest.expectAsync1(((api.GoogleIamV1Policy response) {
+        checkGoogleIamV1Policy(response);
+      })));
+    });
+
     unittest.test("method--list", () {
 
       var mock = new HttpServerMock();
@@ -1820,6 +2514,104 @@
       })));
     });
 
+    unittest.test("method--setIamPolicy", () {
+
+      var mock = new HttpServerMock();
+      api.ProjectsModelsResourceApi res = new api.MlApi(mock).projects.models;
+      var arg_request = buildGoogleIamV1SetIamPolicyRequest();
+      var arg_resource = "foo";
+      mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
+        var obj = new api.GoogleIamV1SetIamPolicyRequest.fromJson(json);
+        checkGoogleIamV1SetIamPolicyRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
+        pathOffset += 3;
+        // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildGoogleIamV1Policy());
+        return new async.Future.value(stringResponse(200, h, resp));
+      }), true);
+      res.setIamPolicy(arg_request, arg_resource).then(unittest.expectAsync1(((api.GoogleIamV1Policy response) {
+        checkGoogleIamV1Policy(response);
+      })));
+    });
+
+    unittest.test("method--testIamPermissions", () {
+
+      var mock = new HttpServerMock();
+      api.ProjectsModelsResourceApi res = new api.MlApi(mock).projects.models;
+      var arg_request = buildGoogleIamV1TestIamPermissionsRequest();
+      var arg_resource = "foo";
+      mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
+        var obj = new api.GoogleIamV1TestIamPermissionsRequest.fromJson(json);
+        checkGoogleIamV1TestIamPermissionsRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
+        pathOffset += 3;
+        // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildGoogleIamV1TestIamPermissionsResponse());
+        return new async.Future.value(stringResponse(200, h, resp));
+      }), true);
+      res.testIamPermissions(arg_request, arg_resource).then(unittest.expectAsync1(((api.GoogleIamV1TestIamPermissionsResponse response) {
+        checkGoogleIamV1TestIamPermissionsResponse(response);
+      })));
+    });
+
   });