@aws-sdk/client-rbin 3.216.0 → 3.218.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist-cjs/Rbin.js +30 -0
  2. package/dist-cjs/commands/LockRuleCommand.js +46 -0
  3. package/dist-cjs/commands/UnlockRuleCommand.js +46 -0
  4. package/dist-cjs/commands/index.js +2 -0
  5. package/dist-cjs/endpoint/ruleset.js +1 -1
  6. package/dist-cjs/models/models_0.js +54 -1
  7. package/dist-cjs/protocols/Aws_restJson1.js +246 -2
  8. package/dist-es/Rbin.js +30 -0
  9. package/dist-es/commands/LockRuleCommand.js +42 -0
  10. package/dist-es/commands/UnlockRuleCommand.js +42 -0
  11. package/dist-es/commands/index.js +2 -0
  12. package/dist-es/endpoint/ruleset.js +1 -1
  13. package/dist-es/models/models_0.js +46 -0
  14. package/dist-es/protocols/Aws_restJson1.js +243 -3
  15. package/dist-types/Rbin.d.ts +18 -1
  16. package/dist-types/RbinClient.d.ts +4 -2
  17. package/dist-types/commands/LockRuleCommand.d.ts +37 -0
  18. package/dist-types/commands/UnlockRuleCommand.d.ts +38 -0
  19. package/dist-types/commands/UpdateRuleCommand.d.ts +3 -1
  20. package/dist-types/commands/index.d.ts +2 -0
  21. package/dist-types/endpoint/EndpointParameters.d.ts +1 -1
  22. package/dist-types/models/models_0.d.ts +358 -3
  23. package/dist-types/protocols/Aws_restJson1.d.ts +6 -0
  24. package/dist-types/ts3.4/Rbin.d.ts +34 -0
  25. package/dist-types/ts3.4/RbinClient.d.ts +12 -0
  26. package/dist-types/ts3.4/commands/LockRuleCommand.d.ts +34 -0
  27. package/dist-types/ts3.4/commands/UnlockRuleCommand.d.ts +34 -0
  28. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  29. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +1 -1
  30. package/dist-types/ts3.4/models/models_0.d.ts +79 -0
  31. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +24 -0
  32. package/package.json +3 -3
package/dist-cjs/Rbin.js CHANGED
@@ -6,7 +6,9 @@ const DeleteRuleCommand_1 = require("./commands/DeleteRuleCommand");
6
6
  const GetRuleCommand_1 = require("./commands/GetRuleCommand");
7
7
  const ListRulesCommand_1 = require("./commands/ListRulesCommand");
8
8
  const ListTagsForResourceCommand_1 = require("./commands/ListTagsForResourceCommand");
9
+ const LockRuleCommand_1 = require("./commands/LockRuleCommand");
9
10
  const TagResourceCommand_1 = require("./commands/TagResourceCommand");
11
+ const UnlockRuleCommand_1 = require("./commands/UnlockRuleCommand");
10
12
  const UntagResourceCommand_1 = require("./commands/UntagResourceCommand");
11
13
  const UpdateRuleCommand_1 = require("./commands/UpdateRuleCommand");
12
14
  const RbinClient_1 = require("./RbinClient");
@@ -81,6 +83,20 @@ class Rbin extends RbinClient_1.RbinClient {
81
83
  return this.send(command, optionsOrCb);
82
84
  }
83
85
  }
86
+ lockRule(args, optionsOrCb, cb) {
87
+ const command = new LockRuleCommand_1.LockRuleCommand(args);
88
+ if (typeof optionsOrCb === "function") {
89
+ this.send(command, optionsOrCb);
90
+ }
91
+ else if (typeof cb === "function") {
92
+ if (typeof optionsOrCb !== "object")
93
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
94
+ this.send(command, optionsOrCb || {}, cb);
95
+ }
96
+ else {
97
+ return this.send(command, optionsOrCb);
98
+ }
99
+ }
84
100
  tagResource(args, optionsOrCb, cb) {
85
101
  const command = new TagResourceCommand_1.TagResourceCommand(args);
86
102
  if (typeof optionsOrCb === "function") {
@@ -95,6 +111,20 @@ class Rbin extends RbinClient_1.RbinClient {
95
111
  return this.send(command, optionsOrCb);
96
112
  }
97
113
  }
114
+ unlockRule(args, optionsOrCb, cb) {
115
+ const command = new UnlockRuleCommand_1.UnlockRuleCommand(args);
116
+ if (typeof optionsOrCb === "function") {
117
+ this.send(command, optionsOrCb);
118
+ }
119
+ else if (typeof cb === "function") {
120
+ if (typeof optionsOrCb !== "object")
121
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
122
+ this.send(command, optionsOrCb || {}, cb);
123
+ }
124
+ else {
125
+ return this.send(command, optionsOrCb);
126
+ }
127
+ }
98
128
  untagResource(args, optionsOrCb, cb) {
99
129
  const command = new UntagResourceCommand_1.UntagResourceCommand(args);
100
130
  if (typeof optionsOrCb === "function") {
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LockRuleCommand = void 0;
4
+ const middleware_endpoint_1 = require("@aws-sdk/middleware-endpoint");
5
+ const middleware_serde_1 = require("@aws-sdk/middleware-serde");
6
+ const smithy_client_1 = require("@aws-sdk/smithy-client");
7
+ const models_0_1 = require("../models/models_0");
8
+ const Aws_restJson1_1 = require("../protocols/Aws_restJson1");
9
+ class LockRuleCommand extends smithy_client_1.Command {
10
+ constructor(input) {
11
+ super();
12
+ this.input = input;
13
+ }
14
+ static getEndpointParameterInstructions() {
15
+ return {
16
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
17
+ Endpoint: { type: "builtInParams", name: "endpoint" },
18
+ Region: { type: "builtInParams", name: "region" },
19
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
20
+ };
21
+ }
22
+ resolveMiddleware(clientStack, configuration, options) {
23
+ this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));
24
+ this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, LockRuleCommand.getEndpointParameterInstructions()));
25
+ const stack = clientStack.concat(this.middlewareStack);
26
+ const { logger } = configuration;
27
+ const clientName = "RbinClient";
28
+ const commandName = "LockRuleCommand";
29
+ const handlerExecutionContext = {
30
+ logger,
31
+ clientName,
32
+ commandName,
33
+ inputFilterSensitiveLog: models_0_1.LockRuleRequestFilterSensitiveLog,
34
+ outputFilterSensitiveLog: models_0_1.LockRuleResponseFilterSensitiveLog,
35
+ };
36
+ const { requestHandler } = configuration;
37
+ return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
38
+ }
39
+ serialize(input, context) {
40
+ return (0, Aws_restJson1_1.serializeAws_restJson1LockRuleCommand)(input, context);
41
+ }
42
+ deserialize(output, context) {
43
+ return (0, Aws_restJson1_1.deserializeAws_restJson1LockRuleCommand)(output, context);
44
+ }
45
+ }
46
+ exports.LockRuleCommand = LockRuleCommand;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnlockRuleCommand = void 0;
4
+ const middleware_endpoint_1 = require("@aws-sdk/middleware-endpoint");
5
+ const middleware_serde_1 = require("@aws-sdk/middleware-serde");
6
+ const smithy_client_1 = require("@aws-sdk/smithy-client");
7
+ const models_0_1 = require("../models/models_0");
8
+ const Aws_restJson1_1 = require("../protocols/Aws_restJson1");
9
+ class UnlockRuleCommand extends smithy_client_1.Command {
10
+ constructor(input) {
11
+ super();
12
+ this.input = input;
13
+ }
14
+ static getEndpointParameterInstructions() {
15
+ return {
16
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
17
+ Endpoint: { type: "builtInParams", name: "endpoint" },
18
+ Region: { type: "builtInParams", name: "region" },
19
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
20
+ };
21
+ }
22
+ resolveMiddleware(clientStack, configuration, options) {
23
+ this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));
24
+ this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, UnlockRuleCommand.getEndpointParameterInstructions()));
25
+ const stack = clientStack.concat(this.middlewareStack);
26
+ const { logger } = configuration;
27
+ const clientName = "RbinClient";
28
+ const commandName = "UnlockRuleCommand";
29
+ const handlerExecutionContext = {
30
+ logger,
31
+ clientName,
32
+ commandName,
33
+ inputFilterSensitiveLog: models_0_1.UnlockRuleRequestFilterSensitiveLog,
34
+ outputFilterSensitiveLog: models_0_1.UnlockRuleResponseFilterSensitiveLog,
35
+ };
36
+ const { requestHandler } = configuration;
37
+ return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
38
+ }
39
+ serialize(input, context) {
40
+ return (0, Aws_restJson1_1.serializeAws_restJson1UnlockRuleCommand)(input, context);
41
+ }
42
+ deserialize(output, context) {
43
+ return (0, Aws_restJson1_1.deserializeAws_restJson1UnlockRuleCommand)(output, context);
44
+ }
45
+ }
46
+ exports.UnlockRuleCommand = UnlockRuleCommand;
@@ -6,6 +6,8 @@ tslib_1.__exportStar(require("./DeleteRuleCommand"), exports);
6
6
  tslib_1.__exportStar(require("./GetRuleCommand"), exports);
7
7
  tslib_1.__exportStar(require("./ListRulesCommand"), exports);
8
8
  tslib_1.__exportStar(require("./ListTagsForResourceCommand"), exports);
9
+ tslib_1.__exportStar(require("./LockRuleCommand"), exports);
9
10
  tslib_1.__exportStar(require("./TagResourceCommand"), exports);
11
+ tslib_1.__exportStar(require("./UnlockRuleCommand"), exports);
10
12
  tslib_1.__exportStar(require("./UntagResourceCommand"), exports);
11
13
  tslib_1.__exportStar(require("./UpdateRuleCommand"), exports);
@@ -6,7 +6,7 @@ exports.ruleSet = {
6
6
  parameters: {
7
7
  Region: {
8
8
  builtIn: "AWS::Region",
9
- required: false,
9
+ required: true,
10
10
  documentation: "The AWS region used to dispatch the request.",
11
11
  type: "String",
12
12
  },
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateRuleResponseFilterSensitiveLog = exports.UpdateRuleRequestFilterSensitiveLog = exports.UntagResourceResponseFilterSensitiveLog = exports.UntagResourceRequestFilterSensitiveLog = exports.TagResourceResponseFilterSensitiveLog = exports.TagResourceRequestFilterSensitiveLog = exports.ListTagsForResourceResponseFilterSensitiveLog = exports.ListTagsForResourceRequestFilterSensitiveLog = exports.ListRulesResponseFilterSensitiveLog = exports.RuleSummaryFilterSensitiveLog = exports.ListRulesRequestFilterSensitiveLog = exports.GetRuleResponseFilterSensitiveLog = exports.GetRuleRequestFilterSensitiveLog = exports.DeleteRuleResponseFilterSensitiveLog = exports.DeleteRuleRequestFilterSensitiveLog = exports.CreateRuleResponseFilterSensitiveLog = exports.CreateRuleRequestFilterSensitiveLog = exports.TagFilterSensitiveLog = exports.RetentionPeriodFilterSensitiveLog = exports.ResourceTagFilterSensitiveLog = exports.ResourceNotFoundException = exports.ResourceNotFoundExceptionReason = exports.ValidationException = exports.ValidationExceptionReason = exports.ServiceQuotaExceededException = exports.ServiceQuotaExceededExceptionReason = exports.InternalServerException = exports.RuleStatus = exports.RetentionPeriodUnit = exports.ResourceType = void 0;
3
+ exports.UpdateRuleResponseFilterSensitiveLog = exports.UpdateRuleRequestFilterSensitiveLog = exports.UntagResourceResponseFilterSensitiveLog = exports.UntagResourceRequestFilterSensitiveLog = exports.UnlockRuleResponseFilterSensitiveLog = exports.UnlockRuleRequestFilterSensitiveLog = exports.TagResourceResponseFilterSensitiveLog = exports.TagResourceRequestFilterSensitiveLog = exports.LockRuleResponseFilterSensitiveLog = exports.LockRuleRequestFilterSensitiveLog = exports.ListTagsForResourceResponseFilterSensitiveLog = exports.ListTagsForResourceRequestFilterSensitiveLog = exports.ListRulesResponseFilterSensitiveLog = exports.RuleSummaryFilterSensitiveLog = exports.ListRulesRequestFilterSensitiveLog = exports.GetRuleResponseFilterSensitiveLog = exports.GetRuleRequestFilterSensitiveLog = exports.DeleteRuleResponseFilterSensitiveLog = exports.DeleteRuleRequestFilterSensitiveLog = exports.CreateRuleResponseFilterSensitiveLog = exports.CreateRuleRequestFilterSensitiveLog = exports.TagFilterSensitiveLog = exports.RetentionPeriodFilterSensitiveLog = exports.ResourceTagFilterSensitiveLog = exports.LockConfigurationFilterSensitiveLog = exports.UnlockDelayFilterSensitiveLog = exports.ResourceNotFoundException = exports.ResourceNotFoundExceptionReason = exports.ConflictException = exports.ConflictExceptionReason = exports.ValidationException = exports.ValidationExceptionReason = exports.ServiceQuotaExceededException = exports.ServiceQuotaExceededExceptionReason = exports.InternalServerException = exports.RuleStatus = exports.LockState = exports.RetentionPeriodUnit = exports.ResourceType = exports.UnlockDelayUnit = void 0;
4
4
  const RbinServiceException_1 = require("./RbinServiceException");
5
+ var UnlockDelayUnit;
6
+ (function (UnlockDelayUnit) {
7
+ UnlockDelayUnit["DAYS"] = "DAYS";
8
+ })(UnlockDelayUnit = exports.UnlockDelayUnit || (exports.UnlockDelayUnit = {}));
5
9
  var ResourceType;
6
10
  (function (ResourceType) {
7
11
  ResourceType["EBS_SNAPSHOT"] = "EBS_SNAPSHOT";
@@ -11,6 +15,12 @@ var RetentionPeriodUnit;
11
15
  (function (RetentionPeriodUnit) {
12
16
  RetentionPeriodUnit["DAYS"] = "DAYS";
13
17
  })(RetentionPeriodUnit = exports.RetentionPeriodUnit || (exports.RetentionPeriodUnit = {}));
18
+ var LockState;
19
+ (function (LockState) {
20
+ LockState["LOCKED"] = "locked";
21
+ LockState["PENDING_UNLOCK"] = "pending_unlock";
22
+ LockState["UNLOCKED"] = "unlocked";
23
+ })(LockState = exports.LockState || (exports.LockState = {}));
14
24
  var RuleStatus;
15
25
  (function (RuleStatus) {
16
26
  RuleStatus["AVAILABLE"] = "available";
@@ -69,6 +79,25 @@ class ValidationException extends RbinServiceException_1.RbinServiceException {
69
79
  }
70
80
  }
71
81
  exports.ValidationException = ValidationException;
82
+ var ConflictExceptionReason;
83
+ (function (ConflictExceptionReason) {
84
+ ConflictExceptionReason["INVALID_RULE_STATE"] = "INVALID_RULE_STATE";
85
+ })(ConflictExceptionReason = exports.ConflictExceptionReason || (exports.ConflictExceptionReason = {}));
86
+ class ConflictException extends RbinServiceException_1.RbinServiceException {
87
+ constructor(opts) {
88
+ super({
89
+ name: "ConflictException",
90
+ $fault: "client",
91
+ ...opts,
92
+ });
93
+ this.name = "ConflictException";
94
+ this.$fault = "client";
95
+ Object.setPrototypeOf(this, ConflictException.prototype);
96
+ this.Message = opts.Message;
97
+ this.Reason = opts.Reason;
98
+ }
99
+ }
100
+ exports.ConflictException = ConflictException;
72
101
  var ResourceNotFoundExceptionReason;
73
102
  (function (ResourceNotFoundExceptionReason) {
74
103
  ResourceNotFoundExceptionReason["RULE_NOT_FOUND"] = "RULE_NOT_FOUND";
@@ -88,6 +117,14 @@ class ResourceNotFoundException extends RbinServiceException_1.RbinServiceExcept
88
117
  }
89
118
  }
90
119
  exports.ResourceNotFoundException = ResourceNotFoundException;
120
+ const UnlockDelayFilterSensitiveLog = (obj) => ({
121
+ ...obj,
122
+ });
123
+ exports.UnlockDelayFilterSensitiveLog = UnlockDelayFilterSensitiveLog;
124
+ const LockConfigurationFilterSensitiveLog = (obj) => ({
125
+ ...obj,
126
+ });
127
+ exports.LockConfigurationFilterSensitiveLog = LockConfigurationFilterSensitiveLog;
91
128
  const ResourceTagFilterSensitiveLog = (obj) => ({
92
129
  ...obj,
93
130
  });
@@ -144,6 +181,14 @@ const ListTagsForResourceResponseFilterSensitiveLog = (obj) => ({
144
181
  ...obj,
145
182
  });
146
183
  exports.ListTagsForResourceResponseFilterSensitiveLog = ListTagsForResourceResponseFilterSensitiveLog;
184
+ const LockRuleRequestFilterSensitiveLog = (obj) => ({
185
+ ...obj,
186
+ });
187
+ exports.LockRuleRequestFilterSensitiveLog = LockRuleRequestFilterSensitiveLog;
188
+ const LockRuleResponseFilterSensitiveLog = (obj) => ({
189
+ ...obj,
190
+ });
191
+ exports.LockRuleResponseFilterSensitiveLog = LockRuleResponseFilterSensitiveLog;
147
192
  const TagResourceRequestFilterSensitiveLog = (obj) => ({
148
193
  ...obj,
149
194
  });
@@ -152,6 +197,14 @@ const TagResourceResponseFilterSensitiveLog = (obj) => ({
152
197
  ...obj,
153
198
  });
154
199
  exports.TagResourceResponseFilterSensitiveLog = TagResourceResponseFilterSensitiveLog;
200
+ const UnlockRuleRequestFilterSensitiveLog = (obj) => ({
201
+ ...obj,
202
+ });
203
+ exports.UnlockRuleRequestFilterSensitiveLog = UnlockRuleRequestFilterSensitiveLog;
204
+ const UnlockRuleResponseFilterSensitiveLog = (obj) => ({
205
+ ...obj,
206
+ });
207
+ exports.UnlockRuleResponseFilterSensitiveLog = UnlockRuleResponseFilterSensitiveLog;
155
208
  const UntagResourceRequestFilterSensitiveLog = (obj) => ({
156
209
  ...obj,
157
210
  });
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deserializeAws_restJson1UpdateRuleCommand = exports.deserializeAws_restJson1UntagResourceCommand = exports.deserializeAws_restJson1TagResourceCommand = exports.deserializeAws_restJson1ListTagsForResourceCommand = exports.deserializeAws_restJson1ListRulesCommand = exports.deserializeAws_restJson1GetRuleCommand = exports.deserializeAws_restJson1DeleteRuleCommand = exports.deserializeAws_restJson1CreateRuleCommand = exports.serializeAws_restJson1UpdateRuleCommand = exports.serializeAws_restJson1UntagResourceCommand = exports.serializeAws_restJson1TagResourceCommand = exports.serializeAws_restJson1ListTagsForResourceCommand = exports.serializeAws_restJson1ListRulesCommand = exports.serializeAws_restJson1GetRuleCommand = exports.serializeAws_restJson1DeleteRuleCommand = exports.serializeAws_restJson1CreateRuleCommand = void 0;
3
+ exports.deserializeAws_restJson1UpdateRuleCommand = exports.deserializeAws_restJson1UntagResourceCommand = exports.deserializeAws_restJson1UnlockRuleCommand = exports.deserializeAws_restJson1TagResourceCommand = exports.deserializeAws_restJson1LockRuleCommand = exports.deserializeAws_restJson1ListTagsForResourceCommand = exports.deserializeAws_restJson1ListRulesCommand = exports.deserializeAws_restJson1GetRuleCommand = exports.deserializeAws_restJson1DeleteRuleCommand = exports.deserializeAws_restJson1CreateRuleCommand = exports.serializeAws_restJson1UpdateRuleCommand = exports.serializeAws_restJson1UntagResourceCommand = exports.serializeAws_restJson1UnlockRuleCommand = exports.serializeAws_restJson1TagResourceCommand = exports.serializeAws_restJson1LockRuleCommand = exports.serializeAws_restJson1ListTagsForResourceCommand = exports.serializeAws_restJson1ListRulesCommand = exports.serializeAws_restJson1GetRuleCommand = exports.serializeAws_restJson1DeleteRuleCommand = exports.serializeAws_restJson1CreateRuleCommand = void 0;
4
4
  const protocol_http_1 = require("@aws-sdk/protocol-http");
5
5
  const smithy_client_1 = require("@aws-sdk/smithy-client");
6
6
  const models_0_1 = require("../models/models_0");
@@ -14,6 +14,9 @@ const serializeAws_restJson1CreateRuleCommand = async (input, context) => {
14
14
  let body;
15
15
  body = JSON.stringify({
16
16
  ...(input.Description != null && { Description: input.Description }),
17
+ ...(input.LockConfiguration != null && {
18
+ LockConfiguration: serializeAws_restJson1LockConfiguration(input.LockConfiguration, context),
19
+ }),
17
20
  ...(input.ResourceTags != null && {
18
21
  ResourceTags: serializeAws_restJson1ResourceTags(input.ResourceTags, context),
19
22
  }),
@@ -76,6 +79,7 @@ const serializeAws_restJson1ListRulesCommand = async (input, context) => {
76
79
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/list-rules";
77
80
  let body;
78
81
  body = JSON.stringify({
82
+ ...(input.LockState != null && { LockState: input.LockState }),
79
83
  ...(input.MaxResults != null && { MaxResults: input.MaxResults }),
80
84
  ...(input.NextToken != null && { NextToken: input.NextToken }),
81
85
  ...(input.ResourceTags != null && {
@@ -111,6 +115,30 @@ const serializeAws_restJson1ListTagsForResourceCommand = async (input, context)
111
115
  });
112
116
  };
113
117
  exports.serializeAws_restJson1ListTagsForResourceCommand = serializeAws_restJson1ListTagsForResourceCommand;
118
+ const serializeAws_restJson1LockRuleCommand = async (input, context) => {
119
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
120
+ const headers = {
121
+ "content-type": "application/json",
122
+ };
123
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/rules/{Identifier}/lock";
124
+ resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "Identifier", () => input.Identifier, "{Identifier}", false);
125
+ let body;
126
+ body = JSON.stringify({
127
+ ...(input.LockConfiguration != null && {
128
+ LockConfiguration: serializeAws_restJson1LockConfiguration(input.LockConfiguration, context),
129
+ }),
130
+ });
131
+ return new protocol_http_1.HttpRequest({
132
+ protocol,
133
+ hostname,
134
+ port,
135
+ method: "PATCH",
136
+ headers,
137
+ path: resolvedPath,
138
+ body,
139
+ });
140
+ };
141
+ exports.serializeAws_restJson1LockRuleCommand = serializeAws_restJson1LockRuleCommand;
114
142
  const serializeAws_restJson1TagResourceCommand = async (input, context) => {
115
143
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
116
144
  const headers = {
@@ -133,13 +161,33 @@ const serializeAws_restJson1TagResourceCommand = async (input, context) => {
133
161
  });
134
162
  };
135
163
  exports.serializeAws_restJson1TagResourceCommand = serializeAws_restJson1TagResourceCommand;
164
+ const serializeAws_restJson1UnlockRuleCommand = async (input, context) => {
165
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
166
+ const headers = {};
167
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/rules/{Identifier}/unlock";
168
+ resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "Identifier", () => input.Identifier, "{Identifier}", false);
169
+ let body;
170
+ return new protocol_http_1.HttpRequest({
171
+ protocol,
172
+ hostname,
173
+ port,
174
+ method: "PATCH",
175
+ headers,
176
+ path: resolvedPath,
177
+ body,
178
+ });
179
+ };
180
+ exports.serializeAws_restJson1UnlockRuleCommand = serializeAws_restJson1UnlockRuleCommand;
136
181
  const serializeAws_restJson1UntagResourceCommand = async (input, context) => {
137
182
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
138
183
  const headers = {};
139
184
  let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags/{ResourceArn}";
140
185
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ResourceArn", () => input.ResourceArn, "{ResourceArn}", false);
141
186
  const query = map({
142
- tagKeys: [() => input.TagKeys !== void 0, () => (input.TagKeys || []).map((_entry) => _entry)],
187
+ tagKeys: [
188
+ (0, smithy_client_1.expectNonNull)(input.TagKeys, `TagKeys`) != null,
189
+ () => (input.TagKeys || []).map((_entry) => _entry),
190
+ ],
143
191
  });
144
192
  let body;
145
193
  return new protocol_http_1.HttpRequest({
@@ -197,6 +245,12 @@ const deserializeAws_restJson1CreateRuleCommand = async (output, context) => {
197
245
  if (data.Identifier != null) {
198
246
  contents.Identifier = (0, smithy_client_1.expectString)(data.Identifier);
199
247
  }
248
+ if (data.LockConfiguration != null) {
249
+ contents.LockConfiguration = deserializeAws_restJson1LockConfiguration(data.LockConfiguration, context);
250
+ }
251
+ if (data.LockState != null) {
252
+ contents.LockState = (0, smithy_client_1.expectString)(data.LockState);
253
+ }
200
254
  if (data.ResourceTags != null) {
201
255
  contents.ResourceTags = deserializeAws_restJson1ResourceTags(data.ResourceTags, context);
202
256
  }
@@ -259,6 +313,9 @@ const deserializeAws_restJson1DeleteRuleCommandError = async (output, context) =
259
313
  };
260
314
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
261
315
  switch (errorCode) {
316
+ case "ConflictException":
317
+ case "com.amazonaws.rbin#ConflictException":
318
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
262
319
  case "InternalServerException":
263
320
  case "com.amazonaws.rbin#InternalServerException":
264
321
  throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);
@@ -292,6 +349,15 @@ const deserializeAws_restJson1GetRuleCommand = async (output, context) => {
292
349
  if (data.Identifier != null) {
293
350
  contents.Identifier = (0, smithy_client_1.expectString)(data.Identifier);
294
351
  }
352
+ if (data.LockConfiguration != null) {
353
+ contents.LockConfiguration = deserializeAws_restJson1LockConfiguration(data.LockConfiguration, context);
354
+ }
355
+ if (data.LockEndTime != null) {
356
+ contents.LockEndTime = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(data.LockEndTime)));
357
+ }
358
+ if (data.LockState != null) {
359
+ contents.LockState = (0, smithy_client_1.expectString)(data.LockState);
360
+ }
295
361
  if (data.ResourceTags != null) {
296
362
  contents.ResourceTags = deserializeAws_restJson1ResourceTags(data.ResourceTags, context);
297
363
  }
@@ -413,6 +479,70 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async (output, c
413
479
  });
414
480
  }
415
481
  };
482
+ const deserializeAws_restJson1LockRuleCommand = async (output, context) => {
483
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
484
+ return deserializeAws_restJson1LockRuleCommandError(output, context);
485
+ }
486
+ const contents = map({
487
+ $metadata: deserializeMetadata(output),
488
+ });
489
+ const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body");
490
+ if (data.Description != null) {
491
+ contents.Description = (0, smithy_client_1.expectString)(data.Description);
492
+ }
493
+ if (data.Identifier != null) {
494
+ contents.Identifier = (0, smithy_client_1.expectString)(data.Identifier);
495
+ }
496
+ if (data.LockConfiguration != null) {
497
+ contents.LockConfiguration = deserializeAws_restJson1LockConfiguration(data.LockConfiguration, context);
498
+ }
499
+ if (data.LockState != null) {
500
+ contents.LockState = (0, smithy_client_1.expectString)(data.LockState);
501
+ }
502
+ if (data.ResourceTags != null) {
503
+ contents.ResourceTags = deserializeAws_restJson1ResourceTags(data.ResourceTags, context);
504
+ }
505
+ if (data.ResourceType != null) {
506
+ contents.ResourceType = (0, smithy_client_1.expectString)(data.ResourceType);
507
+ }
508
+ if (data.RetentionPeriod != null) {
509
+ contents.RetentionPeriod = deserializeAws_restJson1RetentionPeriod(data.RetentionPeriod, context);
510
+ }
511
+ if (data.Status != null) {
512
+ contents.Status = (0, smithy_client_1.expectString)(data.Status);
513
+ }
514
+ return contents;
515
+ };
516
+ exports.deserializeAws_restJson1LockRuleCommand = deserializeAws_restJson1LockRuleCommand;
517
+ const deserializeAws_restJson1LockRuleCommandError = async (output, context) => {
518
+ const parsedOutput = {
519
+ ...output,
520
+ body: await parseErrorBody(output.body, context),
521
+ };
522
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
523
+ switch (errorCode) {
524
+ case "ConflictException":
525
+ case "com.amazonaws.rbin#ConflictException":
526
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
527
+ case "InternalServerException":
528
+ case "com.amazonaws.rbin#InternalServerException":
529
+ throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);
530
+ case "ResourceNotFoundException":
531
+ case "com.amazonaws.rbin#ResourceNotFoundException":
532
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
533
+ case "ValidationException":
534
+ case "com.amazonaws.rbin#ValidationException":
535
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
536
+ default:
537
+ const parsedBody = parsedOutput.body;
538
+ (0, smithy_client_1.throwDefaultError)({
539
+ output,
540
+ parsedBody,
541
+ exceptionCtor: RbinServiceException_1.RbinServiceException,
542
+ errorCode,
543
+ });
544
+ }
545
+ };
416
546
  const deserializeAws_restJson1TagResourceCommand = async (output, context) => {
417
547
  if (output.statusCode !== 201 && output.statusCode >= 300) {
418
548
  return deserializeAws_restJson1TagResourceCommandError(output, context);
@@ -453,6 +583,73 @@ const deserializeAws_restJson1TagResourceCommandError = async (output, context)
453
583
  });
454
584
  }
455
585
  };
586
+ const deserializeAws_restJson1UnlockRuleCommand = async (output, context) => {
587
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
588
+ return deserializeAws_restJson1UnlockRuleCommandError(output, context);
589
+ }
590
+ const contents = map({
591
+ $metadata: deserializeMetadata(output),
592
+ });
593
+ const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body");
594
+ if (data.Description != null) {
595
+ contents.Description = (0, smithy_client_1.expectString)(data.Description);
596
+ }
597
+ if (data.Identifier != null) {
598
+ contents.Identifier = (0, smithy_client_1.expectString)(data.Identifier);
599
+ }
600
+ if (data.LockConfiguration != null) {
601
+ contents.LockConfiguration = deserializeAws_restJson1LockConfiguration(data.LockConfiguration, context);
602
+ }
603
+ if (data.LockEndTime != null) {
604
+ contents.LockEndTime = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(data.LockEndTime)));
605
+ }
606
+ if (data.LockState != null) {
607
+ contents.LockState = (0, smithy_client_1.expectString)(data.LockState);
608
+ }
609
+ if (data.ResourceTags != null) {
610
+ contents.ResourceTags = deserializeAws_restJson1ResourceTags(data.ResourceTags, context);
611
+ }
612
+ if (data.ResourceType != null) {
613
+ contents.ResourceType = (0, smithy_client_1.expectString)(data.ResourceType);
614
+ }
615
+ if (data.RetentionPeriod != null) {
616
+ contents.RetentionPeriod = deserializeAws_restJson1RetentionPeriod(data.RetentionPeriod, context);
617
+ }
618
+ if (data.Status != null) {
619
+ contents.Status = (0, smithy_client_1.expectString)(data.Status);
620
+ }
621
+ return contents;
622
+ };
623
+ exports.deserializeAws_restJson1UnlockRuleCommand = deserializeAws_restJson1UnlockRuleCommand;
624
+ const deserializeAws_restJson1UnlockRuleCommandError = async (output, context) => {
625
+ const parsedOutput = {
626
+ ...output,
627
+ body: await parseErrorBody(output.body, context),
628
+ };
629
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
630
+ switch (errorCode) {
631
+ case "ConflictException":
632
+ case "com.amazonaws.rbin#ConflictException":
633
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
634
+ case "InternalServerException":
635
+ case "com.amazonaws.rbin#InternalServerException":
636
+ throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);
637
+ case "ResourceNotFoundException":
638
+ case "com.amazonaws.rbin#ResourceNotFoundException":
639
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
640
+ case "ValidationException":
641
+ case "com.amazonaws.rbin#ValidationException":
642
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
643
+ default:
644
+ const parsedBody = parsedOutput.body;
645
+ (0, smithy_client_1.throwDefaultError)({
646
+ output,
647
+ parsedBody,
648
+ exceptionCtor: RbinServiceException_1.RbinServiceException,
649
+ errorCode,
650
+ });
651
+ }
652
+ };
456
653
  const deserializeAws_restJson1UntagResourceCommand = async (output, context) => {
457
654
  if (output.statusCode !== 204 && output.statusCode >= 300) {
458
655
  return deserializeAws_restJson1UntagResourceCommandError(output, context);
@@ -504,6 +701,12 @@ const deserializeAws_restJson1UpdateRuleCommand = async (output, context) => {
504
701
  if (data.Identifier != null) {
505
702
  contents.Identifier = (0, smithy_client_1.expectString)(data.Identifier);
506
703
  }
704
+ if (data.LockEndTime != null) {
705
+ contents.LockEndTime = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(data.LockEndTime)));
706
+ }
707
+ if (data.LockState != null) {
708
+ contents.LockState = (0, smithy_client_1.expectString)(data.LockState);
709
+ }
507
710
  if (data.ResourceTags != null) {
508
711
  contents.ResourceTags = deserializeAws_restJson1ResourceTags(data.ResourceTags, context);
509
712
  }
@@ -526,6 +729,9 @@ const deserializeAws_restJson1UpdateRuleCommandError = async (output, context) =
526
729
  };
527
730
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
528
731
  switch (errorCode) {
732
+ case "ConflictException":
733
+ case "com.amazonaws.rbin#ConflictException":
734
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
529
735
  case "InternalServerException":
530
736
  case "com.amazonaws.rbin#InternalServerException":
531
737
  throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);
@@ -546,6 +752,21 @@ const deserializeAws_restJson1UpdateRuleCommandError = async (output, context) =
546
752
  }
547
753
  };
548
754
  const map = smithy_client_1.map;
755
+ const deserializeAws_restJson1ConflictExceptionResponse = async (parsedOutput, context) => {
756
+ const contents = map({});
757
+ const data = parsedOutput.body;
758
+ if (data.Message != null) {
759
+ contents.Message = (0, smithy_client_1.expectString)(data.Message);
760
+ }
761
+ if (data.Reason != null) {
762
+ contents.Reason = (0, smithy_client_1.expectString)(data.Reason);
763
+ }
764
+ const exception = new models_0_1.ConflictException({
765
+ $metadata: deserializeMetadata(parsedOutput),
766
+ ...contents,
767
+ });
768
+ return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);
769
+ };
549
770
  const deserializeAws_restJson1InternalServerExceptionResponse = async (parsedOutput, context) => {
550
771
  const contents = map({});
551
772
  const data = parsedOutput.body;
@@ -603,6 +824,11 @@ const deserializeAws_restJson1ValidationExceptionResponse = async (parsedOutput,
603
824
  });
604
825
  return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);
605
826
  };
827
+ const serializeAws_restJson1LockConfiguration = (input, context) => {
828
+ return {
829
+ ...(input.UnlockDelay != null && { UnlockDelay: serializeAws_restJson1UnlockDelay(input.UnlockDelay, context) }),
830
+ };
831
+ };
606
832
  const serializeAws_restJson1ResourceTag = (input, context) => {
607
833
  return {
608
834
  ...(input.ResourceTagKey != null && { ResourceTagKey: input.ResourceTagKey }),
@@ -635,6 +861,17 @@ const serializeAws_restJson1TagList = (input, context) => {
635
861
  return serializeAws_restJson1Tag(entry, context);
636
862
  });
637
863
  };
864
+ const serializeAws_restJson1UnlockDelay = (input, context) => {
865
+ return {
866
+ ...(input.UnlockDelayUnit != null && { UnlockDelayUnit: input.UnlockDelayUnit }),
867
+ ...(input.UnlockDelayValue != null && { UnlockDelayValue: input.UnlockDelayValue }),
868
+ };
869
+ };
870
+ const deserializeAws_restJson1LockConfiguration = (output, context) => {
871
+ return {
872
+ UnlockDelay: output.UnlockDelay != null ? deserializeAws_restJson1UnlockDelay(output.UnlockDelay, context) : undefined,
873
+ };
874
+ };
638
875
  const deserializeAws_restJson1ResourceTag = (output, context) => {
639
876
  return {
640
877
  ResourceTagKey: (0, smithy_client_1.expectString)(output.ResourceTagKey),
@@ -662,6 +899,7 @@ const deserializeAws_restJson1RuleSummary = (output, context) => {
662
899
  return {
663
900
  Description: (0, smithy_client_1.expectString)(output.Description),
664
901
  Identifier: (0, smithy_client_1.expectString)(output.Identifier),
902
+ LockState: (0, smithy_client_1.expectString)(output.LockState),
665
903
  RetentionPeriod: output.RetentionPeriod != null
666
904
  ? deserializeAws_restJson1RetentionPeriod(output.RetentionPeriod, context)
667
905
  : undefined,
@@ -695,6 +933,12 @@ const deserializeAws_restJson1TagList = (output, context) => {
695
933
  });
696
934
  return retVal;
697
935
  };
936
+ const deserializeAws_restJson1UnlockDelay = (output, context) => {
937
+ return {
938
+ UnlockDelayUnit: (0, smithy_client_1.expectString)(output.UnlockDelayUnit),
939
+ UnlockDelayValue: (0, smithy_client_1.expectInt32)(output.UnlockDelayValue),
940
+ };
941
+ };
698
942
  const deserializeMetadata = (output) => ({
699
943
  httpStatusCode: output.statusCode,
700
944
  requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],