Updated generated files
diff --git a/generated/googleapis/test/accesscontextmanager/v1_test.dart b/generated/googleapis/test/accesscontextmanager/v1_test.dart
index 561cc42..99db9b4 100644
--- a/generated/googleapis/test/accesscontextmanager/v1_test.dart
+++ b/generated/googleapis/test/accesscontextmanager/v1_test.dart
@@ -56,11 +56,10 @@
   buildCounterAccessLevel++;
   if (buildCounterAccessLevel < 3) {
     o.basic = buildBasicLevel();
-    o.createTime = "foo";
+    o.custom = buildCustomLevel();
     o.description = "foo";
     o.name = "foo";
     o.title = "foo";
-    o.updateTime = "foo";
   }
   buildCounterAccessLevel--;
   return o;
@@ -70,11 +69,10 @@
   buildCounterAccessLevel++;
   if (buildCounterAccessLevel < 3) {
     checkBasicLevel(o.basic);
-    unittest.expect(o.createTime, unittest.equals('foo'));
+    checkCustomLevel(o.custom);
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.title, unittest.equals('foo'));
-    unittest.expect(o.updateTime, unittest.equals('foo'));
   }
   buildCounterAccessLevel--;
 }
@@ -84,11 +82,10 @@
   var o = new api.AccessPolicy();
   buildCounterAccessPolicy++;
   if (buildCounterAccessPolicy < 3) {
-    o.createTime = "foo";
+    o.etag = "foo";
     o.name = "foo";
     o.parent = "foo";
     o.title = "foo";
-    o.updateTime = "foo";
   }
   buildCounterAccessPolicy--;
   return o;
@@ -97,23 +94,22 @@
 checkAccessPolicy(api.AccessPolicy o) {
   buildCounterAccessPolicy++;
   if (buildCounterAccessPolicy < 3) {
-    unittest.expect(o.createTime, unittest.equals('foo'));
+    unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.parent, unittest.equals('foo'));
     unittest.expect(o.title, unittest.equals('foo'));
-    unittest.expect(o.updateTime, unittest.equals('foo'));
   }
   buildCounterAccessPolicy--;
 }
 
-buildUnnamed3450() {
+buildUnnamed3658() {
   var o = new core.List<api.Condition>();
   o.add(buildCondition());
   o.add(buildCondition());
   return o;
 }
 
-checkUnnamed3450(core.List<api.Condition> o) {
+checkUnnamed3658(core.List<api.Condition> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCondition(o[0]);
   checkCondition(o[1]);
@@ -125,7 +121,7 @@
   buildCounterBasicLevel++;
   if (buildCounterBasicLevel < 3) {
     o.combiningFunction = "foo";
-    o.conditions = buildUnnamed3450();
+    o.conditions = buildUnnamed3658();
   }
   buildCounterBasicLevel--;
   return o;
@@ -135,7 +131,7 @@
   buildCounterBasicLevel++;
   if (buildCounterBasicLevel < 3) {
     unittest.expect(o.combiningFunction, unittest.equals('foo'));
-    checkUnnamed3450(o.conditions);
+    checkUnnamed3658(o.conditions);
   }
   buildCounterBasicLevel--;
 }
@@ -155,53 +151,104 @@
   buildCounterCancelOperationRequest--;
 }
 
-buildUnnamed3451() {
+core.int buildCounterCommitServicePerimetersRequest = 0;
+buildCommitServicePerimetersRequest() {
+  var o = new api.CommitServicePerimetersRequest();
+  buildCounterCommitServicePerimetersRequest++;
+  if (buildCounterCommitServicePerimetersRequest < 3) {
+    o.etag = "foo";
+  }
+  buildCounterCommitServicePerimetersRequest--;
+  return o;
+}
+
+checkCommitServicePerimetersRequest(api.CommitServicePerimetersRequest o) {
+  buildCounterCommitServicePerimetersRequest++;
+  if (buildCounterCommitServicePerimetersRequest < 3) {
+    unittest.expect(o.etag, unittest.equals('foo'));
+  }
+  buildCounterCommitServicePerimetersRequest--;
+}
+
+buildUnnamed3659() {
+  var o = new core.List<api.ServicePerimeter>();
+  o.add(buildServicePerimeter());
+  o.add(buildServicePerimeter());
+  return o;
+}
+
+checkUnnamed3659(core.List<api.ServicePerimeter> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkServicePerimeter(o[0]);
+  checkServicePerimeter(o[1]);
+}
+
+core.int buildCounterCommitServicePerimetersResponse = 0;
+buildCommitServicePerimetersResponse() {
+  var o = new api.CommitServicePerimetersResponse();
+  buildCounterCommitServicePerimetersResponse++;
+  if (buildCounterCommitServicePerimetersResponse < 3) {
+    o.servicePerimeters = buildUnnamed3659();
+  }
+  buildCounterCommitServicePerimetersResponse--;
+  return o;
+}
+
+checkCommitServicePerimetersResponse(api.CommitServicePerimetersResponse o) {
+  buildCounterCommitServicePerimetersResponse++;
+  if (buildCounterCommitServicePerimetersResponse < 3) {
+    checkUnnamed3659(o.servicePerimeters);
+  }
+  buildCounterCommitServicePerimetersResponse--;
+}
+
+buildUnnamed3660() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed3451(core.List<core.String> o) {
+checkUnnamed3660(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'));
 }
 
-buildUnnamed3452() {
+buildUnnamed3661() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed3452(core.List<core.String> o) {
+checkUnnamed3661(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'));
 }
 
-buildUnnamed3453() {
+buildUnnamed3662() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed3453(core.List<core.String> o) {
+checkUnnamed3662(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'));
 }
 
-buildUnnamed3454() {
+buildUnnamed3663() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed3454(core.List<core.String> o) {
+checkUnnamed3663(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'));
@@ -213,11 +260,11 @@
   buildCounterCondition++;
   if (buildCounterCondition < 3) {
     o.devicePolicy = buildDevicePolicy();
-    o.ipSubnetworks = buildUnnamed3451();
-    o.members = buildUnnamed3452();
+    o.ipSubnetworks = buildUnnamed3660();
+    o.members = buildUnnamed3661();
     o.negate = true;
-    o.regions = buildUnnamed3453();
-    o.requiredAccessLevels = buildUnnamed3454();
+    o.regions = buildUnnamed3662();
+    o.requiredAccessLevels = buildUnnamed3663();
   }
   buildCounterCondition--;
   return o;
@@ -227,49 +274,68 @@
   buildCounterCondition++;
   if (buildCounterCondition < 3) {
     checkDevicePolicy(o.devicePolicy);
-    checkUnnamed3451(o.ipSubnetworks);
-    checkUnnamed3452(o.members);
+    checkUnnamed3660(o.ipSubnetworks);
+    checkUnnamed3661(o.members);
     unittest.expect(o.negate, unittest.isTrue);
-    checkUnnamed3453(o.regions);
-    checkUnnamed3454(o.requiredAccessLevels);
+    checkUnnamed3662(o.regions);
+    checkUnnamed3663(o.requiredAccessLevels);
   }
   buildCounterCondition--;
 }
 
-buildUnnamed3455() {
+core.int buildCounterCustomLevel = 0;
+buildCustomLevel() {
+  var o = new api.CustomLevel();
+  buildCounterCustomLevel++;
+  if (buildCounterCustomLevel < 3) {
+    o.expr = buildExpr();
+  }
+  buildCounterCustomLevel--;
+  return o;
+}
+
+checkCustomLevel(api.CustomLevel o) {
+  buildCounterCustomLevel++;
+  if (buildCounterCustomLevel < 3) {
+    checkExpr(o.expr);
+  }
+  buildCounterCustomLevel--;
+}
+
+buildUnnamed3664() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed3455(core.List<core.String> o) {
+checkUnnamed3664(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'));
 }
 
-buildUnnamed3456() {
+buildUnnamed3665() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed3456(core.List<core.String> o) {
+checkUnnamed3665(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'));
 }
 
-buildUnnamed3457() {
+buildUnnamed3666() {
   var o = new core.List<api.OsConstraint>();
   o.add(buildOsConstraint());
   o.add(buildOsConstraint());
   return o;
 }
 
-checkUnnamed3457(core.List<api.OsConstraint> o) {
+checkUnnamed3666(core.List<api.OsConstraint> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOsConstraint(o[0]);
   checkOsConstraint(o[1]);
@@ -280,9 +346,9 @@
   var o = new api.DevicePolicy();
   buildCounterDevicePolicy++;
   if (buildCounterDevicePolicy < 3) {
-    o.allowedDeviceManagementLevels = buildUnnamed3455();
-    o.allowedEncryptionStatuses = buildUnnamed3456();
-    o.osConstraints = buildUnnamed3457();
+    o.allowedDeviceManagementLevels = buildUnnamed3664();
+    o.allowedEncryptionStatuses = buildUnnamed3665();
+    o.osConstraints = buildUnnamed3666();
     o.requireAdminApproval = true;
     o.requireCorpOwned = true;
     o.requireScreenlock = true;
@@ -294,9 +360,9 @@
 checkDevicePolicy(api.DevicePolicy o) {
   buildCounterDevicePolicy++;
   if (buildCounterDevicePolicy < 3) {
-    checkUnnamed3455(o.allowedDeviceManagementLevels);
-    checkUnnamed3456(o.allowedEncryptionStatuses);
-    checkUnnamed3457(o.osConstraints);
+    checkUnnamed3664(o.allowedDeviceManagementLevels);
+    checkUnnamed3665(o.allowedEncryptionStatuses);
+    checkUnnamed3666(o.osConstraints);
     unittest.expect(o.requireAdminApproval, unittest.isTrue);
     unittest.expect(o.requireCorpOwned, unittest.isTrue);
     unittest.expect(o.requireScreenlock, unittest.isTrue);
@@ -319,14 +385,39 @@
   buildCounterEmpty--;
 }
 
-buildUnnamed3458() {
+core.int buildCounterExpr = 0;
+buildExpr() {
+  var o = new api.Expr();
+  buildCounterExpr++;
+  if (buildCounterExpr < 3) {
+    o.description = "foo";
+    o.expression = "foo";
+    o.location = "foo";
+    o.title = "foo";
+  }
+  buildCounterExpr--;
+  return o;
+}
+
+checkExpr(api.Expr o) {
+  buildCounterExpr++;
+  if (buildCounterExpr < 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'));
+  }
+  buildCounterExpr--;
+}
+
+buildUnnamed3667() {
   var o = new core.List<api.AccessLevel>();
   o.add(buildAccessLevel());
   o.add(buildAccessLevel());
   return o;
 }
 
-checkUnnamed3458(core.List<api.AccessLevel> o) {
+checkUnnamed3667(core.List<api.AccessLevel> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccessLevel(o[0]);
   checkAccessLevel(o[1]);
@@ -337,7 +428,7 @@
   var o = new api.ListAccessLevelsResponse();
   buildCounterListAccessLevelsResponse++;
   if (buildCounterListAccessLevelsResponse < 3) {
-    o.accessLevels = buildUnnamed3458();
+    o.accessLevels = buildUnnamed3667();
     o.nextPageToken = "foo";
   }
   buildCounterListAccessLevelsResponse--;
@@ -347,20 +438,20 @@
 checkListAccessLevelsResponse(api.ListAccessLevelsResponse o) {
   buildCounterListAccessLevelsResponse++;
   if (buildCounterListAccessLevelsResponse < 3) {
-    checkUnnamed3458(o.accessLevels);
+    checkUnnamed3667(o.accessLevels);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterListAccessLevelsResponse--;
 }
 
-buildUnnamed3459() {
+buildUnnamed3668() {
   var o = new core.List<api.AccessPolicy>();
   o.add(buildAccessPolicy());
   o.add(buildAccessPolicy());
   return o;
 }
 
-checkUnnamed3459(core.List<api.AccessPolicy> o) {
+checkUnnamed3668(core.List<api.AccessPolicy> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccessPolicy(o[0]);
   checkAccessPolicy(o[1]);
@@ -371,7 +462,7 @@
   var o = new api.ListAccessPoliciesResponse();
   buildCounterListAccessPoliciesResponse++;
   if (buildCounterListAccessPoliciesResponse < 3) {
-    o.accessPolicies = buildUnnamed3459();
+    o.accessPolicies = buildUnnamed3668();
     o.nextPageToken = "foo";
   }
   buildCounterListAccessPoliciesResponse--;
@@ -381,20 +472,20 @@
 checkListAccessPoliciesResponse(api.ListAccessPoliciesResponse o) {
   buildCounterListAccessPoliciesResponse++;
   if (buildCounterListAccessPoliciesResponse < 3) {
-    checkUnnamed3459(o.accessPolicies);
+    checkUnnamed3668(o.accessPolicies);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterListAccessPoliciesResponse--;
 }
 
-buildUnnamed3460() {
+buildUnnamed3669() {
   var o = new core.List<api.Operation>();
   o.add(buildOperation());
   o.add(buildOperation());
   return o;
 }
 
-checkUnnamed3460(core.List<api.Operation> o) {
+checkUnnamed3669(core.List<api.Operation> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOperation(o[0]);
   checkOperation(o[1]);
@@ -406,7 +497,7 @@
   buildCounterListOperationsResponse++;
   if (buildCounterListOperationsResponse < 3) {
     o.nextPageToken = "foo";
-    o.operations = buildUnnamed3460();
+    o.operations = buildUnnamed3669();
   }
   buildCounterListOperationsResponse--;
   return o;
@@ -416,19 +507,19 @@
   buildCounterListOperationsResponse++;
   if (buildCounterListOperationsResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed3460(o.operations);
+    checkUnnamed3669(o.operations);
   }
   buildCounterListOperationsResponse--;
 }
 
-buildUnnamed3461() {
+buildUnnamed3670() {
   var o = new core.List<api.ServicePerimeter>();
   o.add(buildServicePerimeter());
   o.add(buildServicePerimeter());
   return o;
 }
 
-checkUnnamed3461(core.List<api.ServicePerimeter> o) {
+checkUnnamed3670(core.List<api.ServicePerimeter> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkServicePerimeter(o[0]);
   checkServicePerimeter(o[1]);
@@ -440,7 +531,7 @@
   buildCounterListServicePerimetersResponse++;
   if (buildCounterListServicePerimetersResponse < 3) {
     o.nextPageToken = "foo";
-    o.servicePerimeters = buildUnnamed3461();
+    o.servicePerimeters = buildUnnamed3670();
   }
   buildCounterListServicePerimetersResponse--;
   return o;
@@ -450,12 +541,12 @@
   buildCounterListServicePerimetersResponse++;
   if (buildCounterListServicePerimetersResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed3461(o.servicePerimeters);
+    checkUnnamed3670(o.servicePerimeters);
   }
   buildCounterListServicePerimetersResponse--;
 }
 
-buildUnnamed3462() {
+buildUnnamed3671() {
   var o = new core.Map<core.String, core.Object>();
   o["x"] = {
     'list': [1, 2, 3],
@@ -470,7 +561,7 @@
   return o;
 }
 
-checkUnnamed3462(core.Map<core.String, core.Object> o) {
+checkUnnamed3671(core.Map<core.String, core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted1 = (o["x"]) as core.Map;
   unittest.expect(casted1, unittest.hasLength(3));
@@ -484,7 +575,7 @@
   unittest.expect(casted2["string"], unittest.equals('foo'));
 }
 
-buildUnnamed3463() {
+buildUnnamed3672() {
   var o = new core.Map<core.String, core.Object>();
   o["x"] = {
     'list': [1, 2, 3],
@@ -499,7 +590,7 @@
   return o;
 }
 
-checkUnnamed3463(core.Map<core.String, core.Object> o) {
+checkUnnamed3672(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));
@@ -520,9 +611,9 @@
   if (buildCounterOperation < 3) {
     o.done = true;
     o.error = buildStatus();
-    o.metadata = buildUnnamed3462();
+    o.metadata = buildUnnamed3671();
     o.name = "foo";
-    o.response = buildUnnamed3463();
+    o.response = buildUnnamed3672();
   }
   buildCounterOperation--;
   return o;
@@ -533,9 +624,9 @@
   if (buildCounterOperation < 3) {
     unittest.expect(o.done, unittest.isTrue);
     checkStatus(o.error);
-    checkUnnamed3462(o.metadata);
+    checkUnnamed3671(o.metadata);
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed3463(o.response);
+    checkUnnamed3672(o.response);
   }
   buildCounterOperation--;
 }
@@ -563,18 +654,150 @@
   buildCounterOsConstraint--;
 }
 
+buildUnnamed3673() {
+  var o = new core.List<api.AccessLevel>();
+  o.add(buildAccessLevel());
+  o.add(buildAccessLevel());
+  return o;
+}
+
+checkUnnamed3673(core.List<api.AccessLevel> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkAccessLevel(o[0]);
+  checkAccessLevel(o[1]);
+}
+
+core.int buildCounterReplaceAccessLevelsRequest = 0;
+buildReplaceAccessLevelsRequest() {
+  var o = new api.ReplaceAccessLevelsRequest();
+  buildCounterReplaceAccessLevelsRequest++;
+  if (buildCounterReplaceAccessLevelsRequest < 3) {
+    o.accessLevels = buildUnnamed3673();
+    o.etag = "foo";
+  }
+  buildCounterReplaceAccessLevelsRequest--;
+  return o;
+}
+
+checkReplaceAccessLevelsRequest(api.ReplaceAccessLevelsRequest o) {
+  buildCounterReplaceAccessLevelsRequest++;
+  if (buildCounterReplaceAccessLevelsRequest < 3) {
+    checkUnnamed3673(o.accessLevels);
+    unittest.expect(o.etag, unittest.equals('foo'));
+  }
+  buildCounterReplaceAccessLevelsRequest--;
+}
+
+buildUnnamed3674() {
+  var o = new core.List<api.AccessLevel>();
+  o.add(buildAccessLevel());
+  o.add(buildAccessLevel());
+  return o;
+}
+
+checkUnnamed3674(core.List<api.AccessLevel> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkAccessLevel(o[0]);
+  checkAccessLevel(o[1]);
+}
+
+core.int buildCounterReplaceAccessLevelsResponse = 0;
+buildReplaceAccessLevelsResponse() {
+  var o = new api.ReplaceAccessLevelsResponse();
+  buildCounterReplaceAccessLevelsResponse++;
+  if (buildCounterReplaceAccessLevelsResponse < 3) {
+    o.accessLevels = buildUnnamed3674();
+  }
+  buildCounterReplaceAccessLevelsResponse--;
+  return o;
+}
+
+checkReplaceAccessLevelsResponse(api.ReplaceAccessLevelsResponse o) {
+  buildCounterReplaceAccessLevelsResponse++;
+  if (buildCounterReplaceAccessLevelsResponse < 3) {
+    checkUnnamed3674(o.accessLevels);
+  }
+  buildCounterReplaceAccessLevelsResponse--;
+}
+
+buildUnnamed3675() {
+  var o = new core.List<api.ServicePerimeter>();
+  o.add(buildServicePerimeter());
+  o.add(buildServicePerimeter());
+  return o;
+}
+
+checkUnnamed3675(core.List<api.ServicePerimeter> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkServicePerimeter(o[0]);
+  checkServicePerimeter(o[1]);
+}
+
+core.int buildCounterReplaceServicePerimetersRequest = 0;
+buildReplaceServicePerimetersRequest() {
+  var o = new api.ReplaceServicePerimetersRequest();
+  buildCounterReplaceServicePerimetersRequest++;
+  if (buildCounterReplaceServicePerimetersRequest < 3) {
+    o.etag = "foo";
+    o.servicePerimeters = buildUnnamed3675();
+  }
+  buildCounterReplaceServicePerimetersRequest--;
+  return o;
+}
+
+checkReplaceServicePerimetersRequest(api.ReplaceServicePerimetersRequest o) {
+  buildCounterReplaceServicePerimetersRequest++;
+  if (buildCounterReplaceServicePerimetersRequest < 3) {
+    unittest.expect(o.etag, unittest.equals('foo'));
+    checkUnnamed3675(o.servicePerimeters);
+  }
+  buildCounterReplaceServicePerimetersRequest--;
+}
+
+buildUnnamed3676() {
+  var o = new core.List<api.ServicePerimeter>();
+  o.add(buildServicePerimeter());
+  o.add(buildServicePerimeter());
+  return o;
+}
+
+checkUnnamed3676(core.List<api.ServicePerimeter> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkServicePerimeter(o[0]);
+  checkServicePerimeter(o[1]);
+}
+
+core.int buildCounterReplaceServicePerimetersResponse = 0;
+buildReplaceServicePerimetersResponse() {
+  var o = new api.ReplaceServicePerimetersResponse();
+  buildCounterReplaceServicePerimetersResponse++;
+  if (buildCounterReplaceServicePerimetersResponse < 3) {
+    o.servicePerimeters = buildUnnamed3676();
+  }
+  buildCounterReplaceServicePerimetersResponse--;
+  return o;
+}
+
+checkReplaceServicePerimetersResponse(api.ReplaceServicePerimetersResponse o) {
+  buildCounterReplaceServicePerimetersResponse++;
+  if (buildCounterReplaceServicePerimetersResponse < 3) {
+    checkUnnamed3676(o.servicePerimeters);
+  }
+  buildCounterReplaceServicePerimetersResponse--;
+}
+
 core.int buildCounterServicePerimeter = 0;
 buildServicePerimeter() {
   var o = new api.ServicePerimeter();
   buildCounterServicePerimeter++;
   if (buildCounterServicePerimeter < 3) {
-    o.createTime = "foo";
     o.description = "foo";
     o.name = "foo";
     o.perimeterType = "foo";
+    o.spec = buildServicePerimeterConfig();
     o.status = buildServicePerimeterConfig();
     o.title = "foo";
-    o.updateTime = "foo";
+    o.useExplicitDryRunSpec = true;
   }
   buildCounterServicePerimeter--;
   return o;
@@ -583,51 +806,51 @@
 checkServicePerimeter(api.ServicePerimeter o) {
   buildCounterServicePerimeter++;
   if (buildCounterServicePerimeter < 3) {
-    unittest.expect(o.createTime, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.perimeterType, unittest.equals('foo'));
+    checkServicePerimeterConfig(o.spec);
     checkServicePerimeterConfig(o.status);
     unittest.expect(o.title, unittest.equals('foo'));
-    unittest.expect(o.updateTime, unittest.equals('foo'));
+    unittest.expect(o.useExplicitDryRunSpec, unittest.isTrue);
   }
   buildCounterServicePerimeter--;
 }
 
-buildUnnamed3464() {
+buildUnnamed3677() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed3464(core.List<core.String> o) {
+checkUnnamed3677(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'));
 }
 
-buildUnnamed3465() {
+buildUnnamed3678() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed3465(core.List<core.String> o) {
+checkUnnamed3678(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'));
 }
 
-buildUnnamed3466() {
+buildUnnamed3679() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed3466(core.List<core.String> o) {
+checkUnnamed3679(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'));
@@ -638,9 +861,10 @@
   var o = new api.ServicePerimeterConfig();
   buildCounterServicePerimeterConfig++;
   if (buildCounterServicePerimeterConfig < 3) {
-    o.accessLevels = buildUnnamed3464();
-    o.resources = buildUnnamed3465();
-    o.restrictedServices = buildUnnamed3466();
+    o.accessLevels = buildUnnamed3677();
+    o.resources = buildUnnamed3678();
+    o.restrictedServices = buildUnnamed3679();
+    o.vpcAccessibleServices = buildVpcAccessibleServices();
   }
   buildCounterServicePerimeterConfig--;
   return o;
@@ -649,14 +873,15 @@
 checkServicePerimeterConfig(api.ServicePerimeterConfig o) {
   buildCounterServicePerimeterConfig++;
   if (buildCounterServicePerimeterConfig < 3) {
-    checkUnnamed3464(o.accessLevels);
-    checkUnnamed3465(o.resources);
-    checkUnnamed3466(o.restrictedServices);
+    checkUnnamed3677(o.accessLevels);
+    checkUnnamed3678(o.resources);
+    checkUnnamed3679(o.restrictedServices);
+    checkVpcAccessibleServices(o.vpcAccessibleServices);
   }
   buildCounterServicePerimeterConfig--;
 }
 
-buildUnnamed3467() {
+buildUnnamed3680() {
   var o = new core.Map<core.String, core.Object>();
   o["x"] = {
     'list': [1, 2, 3],
@@ -671,7 +896,7 @@
   return o;
 }
 
-checkUnnamed3467(core.Map<core.String, core.Object> o) {
+checkUnnamed3680(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));
@@ -685,17 +910,17 @@
   unittest.expect(casted6["string"], unittest.equals('foo'));
 }
 
-buildUnnamed3468() {
+buildUnnamed3681() {
   var o = new core.List<core.Map<core.String, core.Object>>();
-  o.add(buildUnnamed3467());
-  o.add(buildUnnamed3467());
+  o.add(buildUnnamed3680());
+  o.add(buildUnnamed3680());
   return o;
 }
 
-checkUnnamed3468(core.List<core.Map<core.String, core.Object>> o) {
+checkUnnamed3681(core.List<core.Map<core.String, core.Object>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed3467(o[0]);
-  checkUnnamed3467(o[1]);
+  checkUnnamed3680(o[0]);
+  checkUnnamed3680(o[1]);
 }
 
 core.int buildCounterStatus = 0;
@@ -704,7 +929,7 @@
   buildCounterStatus++;
   if (buildCounterStatus < 3) {
     o.code = 42;
-    o.details = buildUnnamed3468();
+    o.details = buildUnnamed3681();
     o.message = "foo";
   }
   buildCounterStatus--;
@@ -715,12 +940,46 @@
   buildCounterStatus++;
   if (buildCounterStatus < 3) {
     unittest.expect(o.code, unittest.equals(42));
-    checkUnnamed3468(o.details);
+    checkUnnamed3681(o.details);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterStatus--;
 }
 
+buildUnnamed3682() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed3682(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 buildCounterVpcAccessibleServices = 0;
+buildVpcAccessibleServices() {
+  var o = new api.VpcAccessibleServices();
+  buildCounterVpcAccessibleServices++;
+  if (buildCounterVpcAccessibleServices < 3) {
+    o.allowedServices = buildUnnamed3682();
+    o.enableRestriction = true;
+  }
+  buildCounterVpcAccessibleServices--;
+  return o;
+}
+
+checkVpcAccessibleServices(api.VpcAccessibleServices o) {
+  buildCounterVpcAccessibleServices++;
+  if (buildCounterVpcAccessibleServices < 3) {
+    checkUnnamed3682(o.allowedServices);
+    unittest.expect(o.enableRestriction, unittest.isTrue);
+  }
+  buildCounterVpcAccessibleServices--;
+}
+
 main() {
   unittest.group("obj-schema-AccessLevel", () {
     unittest.test("to-json--from-json", () {
@@ -754,6 +1013,22 @@
     });
   });
 
+  unittest.group("obj-schema-CommitServicePerimetersRequest", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildCommitServicePerimetersRequest();
+      var od = new api.CommitServicePerimetersRequest.fromJson(o.toJson());
+      checkCommitServicePerimetersRequest(od);
+    });
+  });
+
+  unittest.group("obj-schema-CommitServicePerimetersResponse", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildCommitServicePerimetersResponse();
+      var od = new api.CommitServicePerimetersResponse.fromJson(o.toJson());
+      checkCommitServicePerimetersResponse(od);
+    });
+  });
+
   unittest.group("obj-schema-Condition", () {
     unittest.test("to-json--from-json", () {
       var o = buildCondition();
@@ -762,6 +1037,14 @@
     });
   });
 
+  unittest.group("obj-schema-CustomLevel", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildCustomLevel();
+      var od = new api.CustomLevel.fromJson(o.toJson());
+      checkCustomLevel(od);
+    });
+  });
+
   unittest.group("obj-schema-DevicePolicy", () {
     unittest.test("to-json--from-json", () {
       var o = buildDevicePolicy();
@@ -778,6 +1061,14 @@
     });
   });
 
+  unittest.group("obj-schema-Expr", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildExpr();
+      var od = new api.Expr.fromJson(o.toJson());
+      checkExpr(od);
+    });
+  });
+
   unittest.group("obj-schema-ListAccessLevelsResponse", () {
     unittest.test("to-json--from-json", () {
       var o = buildListAccessLevelsResponse();
@@ -826,6 +1117,38 @@
     });
   });
 
+  unittest.group("obj-schema-ReplaceAccessLevelsRequest", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildReplaceAccessLevelsRequest();
+      var od = new api.ReplaceAccessLevelsRequest.fromJson(o.toJson());
+      checkReplaceAccessLevelsRequest(od);
+    });
+  });
+
+  unittest.group("obj-schema-ReplaceAccessLevelsResponse", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildReplaceAccessLevelsResponse();
+      var od = new api.ReplaceAccessLevelsResponse.fromJson(o.toJson());
+      checkReplaceAccessLevelsResponse(od);
+    });
+  });
+
+  unittest.group("obj-schema-ReplaceServicePerimetersRequest", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildReplaceServicePerimetersRequest();
+      var od = new api.ReplaceServicePerimetersRequest.fromJson(o.toJson());
+      checkReplaceServicePerimetersRequest(od);
+    });
+  });
+
+  unittest.group("obj-schema-ReplaceServicePerimetersResponse", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildReplaceServicePerimetersResponse();
+      var od = new api.ReplaceServicePerimetersResponse.fromJson(o.toJson());
+      checkReplaceServicePerimetersResponse(od);
+    });
+  });
+
   unittest.group("obj-schema-ServicePerimeter", () {
     unittest.test("to-json--from-json", () {
       var o = buildServicePerimeter();
@@ -850,6 +1173,14 @@
     });
   });
 
+  unittest.group("obj-schema-VpcAccessibleServices", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildVpcAccessibleServices();
+      var od = new api.VpcAccessibleServices.fromJson(o.toJson());
+      checkVpcAccessibleServices(od);
+    });
+  });
+
   unittest.group("resource-AccessPoliciesResourceApi", () {
     unittest.test("method--create", () {
       var mock = new HttpServerMock();
@@ -1302,9 +1633,9 @@
       api.AccessPoliciesAccessLevelsResourceApi res =
           new api.AccesscontextmanagerApi(mock).accessPolicies.accessLevels;
       var arg_parent = "foo";
-      var arg_accessLevelFormat = "foo";
       var arg_pageToken = "foo";
       var arg_pageSize = 42;
+      var arg_accessLevelFormat = "foo";
       var arg_$fields = "foo";
       mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
         var path = (req.url).path;
@@ -1337,12 +1668,12 @@
                 core.Uri.decodeQueryComponent(keyvalue[1]));
           }
         }
-        unittest.expect(queryMap["accessLevelFormat"].first,
-            unittest.equals(arg_accessLevelFormat));
         unittest.expect(
             queryMap["pageToken"].first, unittest.equals(arg_pageToken));
         unittest.expect(core.int.parse(queryMap["pageSize"].first),
             unittest.equals(arg_pageSize));
+        unittest.expect(queryMap["accessLevelFormat"].first,
+            unittest.equals(arg_accessLevelFormat));
         unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
 
         var h = {
@@ -1353,9 +1684,9 @@
       }), true);
       res
           .list(arg_parent,
-              accessLevelFormat: arg_accessLevelFormat,
               pageToken: arg_pageToken,
               pageSize: arg_pageSize,
+              accessLevelFormat: arg_accessLevelFormat,
               $fields: arg_$fields)
           .then(unittest.expectAsync1(((response) {
         checkListAccessLevelsResponse(response);
@@ -1421,9 +1752,123 @@
         checkOperation(response);
       })));
     });
+
+    unittest.test("method--replaceAll", () {
+      var mock = new HttpServerMock();
+      api.AccessPoliciesAccessLevelsResourceApi res =
+          new api.AccesscontextmanagerApi(mock).accessPolicies.accessLevels;
+      var arg_request = buildReplaceAccessLevelsRequest();
+      var arg_parent = "foo";
+      var arg_$fields = "foo";
+      mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
+        var obj = new api.ReplaceAccessLevelsRequest.fromJson(json);
+        checkReplaceAccessLevelsRequest(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 = <core.String, core.List<core.String>>{};
+        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]));
+          }
+        }
+        unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
+
+        var h = {
+          "content-type": "application/json; charset=utf-8",
+        };
+        var resp = convert.json.encode(buildOperation());
+        return new async.Future.value(stringResponse(200, h, resp));
+      }), true);
+      res
+          .replaceAll(arg_request, arg_parent, $fields: arg_$fields)
+          .then(unittest.expectAsync1(((response) {
+        checkOperation(response);
+      })));
+    });
   });
 
   unittest.group("resource-AccessPoliciesServicePerimetersResourceApi", () {
+    unittest.test("method--commit", () {
+      var mock = new HttpServerMock();
+      api.AccessPoliciesServicePerimetersResourceApi res =
+          new api.AccesscontextmanagerApi(mock)
+              .accessPolicies
+              .servicePerimeters;
+      var arg_request = buildCommitServicePerimetersRequest();
+      var arg_parent = "foo";
+      var arg_$fields = "foo";
+      mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
+        var obj = new api.CommitServicePerimetersRequest.fromJson(json);
+        checkCommitServicePerimetersRequest(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 = <core.String, core.List<core.String>>{};
+        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]));
+          }
+        }
+        unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
+
+        var h = {
+          "content-type": "application/json; charset=utf-8",
+        };
+        var resp = convert.json.encode(buildOperation());
+        return new async.Future.value(stringResponse(200, h, resp));
+      }), true);
+      res
+          .commit(arg_request, arg_parent, $fields: arg_$fields)
+          .then(unittest.expectAsync1(((response) {
+        checkOperation(response);
+      })));
+    });
+
     unittest.test("method--create", () {
       var mock = new HttpServerMock();
       api.AccessPoliciesServicePerimetersResourceApi res =
@@ -1714,6 +2159,64 @@
         checkOperation(response);
       })));
     });
+
+    unittest.test("method--replaceAll", () {
+      var mock = new HttpServerMock();
+      api.AccessPoliciesServicePerimetersResourceApi res =
+          new api.AccesscontextmanagerApi(mock)
+              .accessPolicies
+              .servicePerimeters;
+      var arg_request = buildReplaceServicePerimetersRequest();
+      var arg_parent = "foo";
+      var arg_$fields = "foo";
+      mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
+        var obj = new api.ReplaceServicePerimetersRequest.fromJson(json);
+        checkReplaceServicePerimetersRequest(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 = <core.String, core.List<core.String>>{};
+        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]));
+          }
+        }
+        unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
+
+        var h = {
+          "content-type": "application/json; charset=utf-8",
+        };
+        var resp = convert.json.encode(buildOperation());
+        return new async.Future.value(stringResponse(200, h, resp));
+      }), true);
+      res
+          .replaceAll(arg_request, arg_parent, $fields: arg_$fields)
+          .then(unittest.expectAsync1(((response) {
+        checkOperation(response);
+      })));
+    });
   });
 
   unittest.group("resource-OperationsResourceApi", () {