@aws-sdk/client-rbin 3.215.0 → 3.217.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 +242 -1
  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 +239 -2
  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 +4 -4
@@ -0,0 +1,37 @@
1
+ import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint";
2
+ import { Command as $Command } from "@aws-sdk/smithy-client";
3
+ import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
4
+ import { LockRuleRequest, LockRuleResponse } from "../models/models_0";
5
+ import { RbinClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RbinClient";
6
+ export interface LockRuleCommandInput extends LockRuleRequest {
7
+ }
8
+ export interface LockRuleCommandOutput extends LockRuleResponse, __MetadataBearer {
9
+ }
10
+ /**
11
+ * <p>Locks a retention rule. A locked retention rule can't be modified or deleted.</p>
12
+ * @example
13
+ * Use a bare-bones client and the command you need to make an API call.
14
+ * ```javascript
15
+ * import { RbinClient, LockRuleCommand } from "@aws-sdk/client-rbin"; // ES Modules import
16
+ * // const { RbinClient, LockRuleCommand } = require("@aws-sdk/client-rbin"); // CommonJS import
17
+ * const client = new RbinClient(config);
18
+ * const command = new LockRuleCommand(input);
19
+ * const response = await client.send(command);
20
+ * ```
21
+ *
22
+ * @see {@link LockRuleCommandInput} for command's `input` shape.
23
+ * @see {@link LockRuleCommandOutput} for command's `response` shape.
24
+ * @see {@link RbinClientResolvedConfig | config} for RbinClient's `config` shape.
25
+ *
26
+ */
27
+ export declare class LockRuleCommand extends $Command<LockRuleCommandInput, LockRuleCommandOutput, RbinClientResolvedConfig> {
28
+ readonly input: LockRuleCommandInput;
29
+ static getEndpointParameterInstructions(): EndpointParameterInstructions;
30
+ constructor(input: LockRuleCommandInput);
31
+ /**
32
+ * @internal
33
+ */
34
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: RbinClientResolvedConfig, options?: __HttpHandlerOptions): Handler<LockRuleCommandInput, LockRuleCommandOutput>;
35
+ private serialize;
36
+ private deserialize;
37
+ }
@@ -0,0 +1,38 @@
1
+ import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint";
2
+ import { Command as $Command } from "@aws-sdk/smithy-client";
3
+ import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
4
+ import { UnlockRuleRequest, UnlockRuleResponse } from "../models/models_0";
5
+ import { RbinClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RbinClient";
6
+ export interface UnlockRuleCommandInput extends UnlockRuleRequest {
7
+ }
8
+ export interface UnlockRuleCommandOutput extends UnlockRuleResponse, __MetadataBearer {
9
+ }
10
+ /**
11
+ * <p>Unlocks a retention rule. After a retention rule is unlocked, it can be modified or deleted
12
+ * only after the unlock delay period expires.</p>
13
+ * @example
14
+ * Use a bare-bones client and the command you need to make an API call.
15
+ * ```javascript
16
+ * import { RbinClient, UnlockRuleCommand } from "@aws-sdk/client-rbin"; // ES Modules import
17
+ * // const { RbinClient, UnlockRuleCommand } = require("@aws-sdk/client-rbin"); // CommonJS import
18
+ * const client = new RbinClient(config);
19
+ * const command = new UnlockRuleCommand(input);
20
+ * const response = await client.send(command);
21
+ * ```
22
+ *
23
+ * @see {@link UnlockRuleCommandInput} for command's `input` shape.
24
+ * @see {@link UnlockRuleCommandOutput} for command's `response` shape.
25
+ * @see {@link RbinClientResolvedConfig | config} for RbinClient's `config` shape.
26
+ *
27
+ */
28
+ export declare class UnlockRuleCommand extends $Command<UnlockRuleCommandInput, UnlockRuleCommandOutput, RbinClientResolvedConfig> {
29
+ readonly input: UnlockRuleCommandInput;
30
+ static getEndpointParameterInstructions(): EndpointParameterInstructions;
31
+ constructor(input: UnlockRuleCommandInput);
32
+ /**
33
+ * @internal
34
+ */
35
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: RbinClientResolvedConfig, options?: __HttpHandlerOptions): Handler<UnlockRuleCommandInput, UnlockRuleCommandOutput>;
36
+ private serialize;
37
+ private deserialize;
38
+ }
@@ -8,7 +8,9 @@ export interface UpdateRuleCommandInput extends UpdateRuleRequest {
8
8
  export interface UpdateRuleCommandOutput extends UpdateRuleResponse, __MetadataBearer {
9
9
  }
10
10
  /**
11
- * <p>Updates an existing Recycle Bin retention rule. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin-working-with-rules.html#recycle-bin-update-rule">
11
+ * <p>Updates an existing Recycle Bin retention rule. You can update a retention rule's description,
12
+ * resource tags, and retention period at any time after creation. You can't update a retention rule's
13
+ * resource type after creation. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin-working-with-rules.html#recycle-bin-update-rule">
12
14
  * Update Recycle Bin retention rules</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
13
15
  * @example
14
16
  * Use a bare-bones client and the command you need to make an API call.
@@ -3,6 +3,8 @@ export * from "./DeleteRuleCommand";
3
3
  export * from "./GetRuleCommand";
4
4
  export * from "./ListRulesCommand";
5
5
  export * from "./ListTagsForResourceCommand";
6
+ export * from "./LockRuleCommand";
6
7
  export * from "./TagResourceCommand";
8
+ export * from "./UnlockRuleCommand";
7
9
  export * from "./UntagResourceCommand";
8
10
  export * from "./UpdateRuleCommand";
@@ -12,7 +12,7 @@ export declare const resolveClientEndpointParameters: <T>(options: T & ClientInp
12
12
  defaultSigningName: string;
13
13
  };
14
14
  export interface EndpointParameters extends __EndpointParameters {
15
- Region?: string;
15
+ Region: string;
16
16
  UseDualStack?: boolean;
17
17
  UseFIPS?: boolean;
18
18
  Endpoint?: string;
@@ -1,5 +1,34 @@
1
1
  import { ExceptionOptionType as __ExceptionOptionType } from "@aws-sdk/smithy-client";
2
2
  import { RbinServiceException as __BaseException } from "./RbinServiceException";
3
+ export declare enum UnlockDelayUnit {
4
+ DAYS = "DAYS"
5
+ }
6
+ /**
7
+ * <p>Information about the retention rule unlock delay. The unlock delay is the period after which
8
+ * a retention rule can be modified or edited after it has been unlocked by a user with the required
9
+ * permissions. The retention rule can't be modified or deleted during the unlock delay.</p>
10
+ */
11
+ export interface UnlockDelay {
12
+ /**
13
+ * <p>The unlock delay period, measured in the unit specified for <b>
14
+ * UnlockDelayUnit</b>.</p>
15
+ */
16
+ UnlockDelayValue: number | undefined;
17
+ /**
18
+ * <p>The unit of time in which to measure the unlock delay. Currently, the unlock delay can
19
+ * be measure only in days.</p>
20
+ */
21
+ UnlockDelayUnit: UnlockDelayUnit | string | undefined;
22
+ }
23
+ /**
24
+ * <p>Information about a retention rule lock configuration.</p>
25
+ */
26
+ export interface LockConfiguration {
27
+ /**
28
+ * <p>Information about the retention rule unlock delay.</p>
29
+ */
30
+ UnlockDelay: UnlockDelay | undefined;
31
+ }
3
32
  /**
4
33
  * <p>Information about the resource tags used to identify resources that are retained by the retention
5
34
  * rule.</p>
@@ -79,6 +108,15 @@ export interface CreateRuleRequest {
79
108
  * resource type in the Region in which the rule is created, even if the resources are not tagged.</p>
80
109
  */
81
110
  ResourceTags?: ResourceTag[];
111
+ /**
112
+ * <p>Information about the retention rule lock configuration.</p>
113
+ */
114
+ LockConfiguration?: LockConfiguration;
115
+ }
116
+ export declare enum LockState {
117
+ LOCKED = "locked",
118
+ PENDING_UNLOCK = "pending_unlock",
119
+ UNLOCKED = "unlocked"
82
120
  }
83
121
  export declare enum RuleStatus {
84
122
  AVAILABLE = "available",
@@ -115,6 +153,37 @@ export interface CreateRuleResponse {
115
153
  * state retain resources.</p>
116
154
  */
117
155
  Status?: RuleStatus | string;
156
+ /**
157
+ * <p>Information about the retention rule lock configuration.</p>
158
+ */
159
+ LockConfiguration?: LockConfiguration;
160
+ /**
161
+ * <p>The lock state for the retention rule.</p>
162
+ * <ul>
163
+ * <li>
164
+ * <p>
165
+ * <code>locked</code> - The retention rule is locked and can't be modified or deleted.</p>
166
+ * </li>
167
+ * <li>
168
+ * <p>
169
+ * <code>pending_unlock</code> - The retention rule has been unlocked but it is still within
170
+ * the unlock delay period. The retention rule can be modified or deleted only after the unlock
171
+ * delay period has expired.</p>
172
+ * </li>
173
+ * <li>
174
+ * <p>
175
+ * <code>unlocked</code> - The retention rule is unlocked and it can be modified or deleted by
176
+ * any user with the required permissions.</p>
177
+ * </li>
178
+ * <li>
179
+ * <p>
180
+ * <code>null</code> - The retention rule has never been locked. Once a retention rule has
181
+ * been locked, it can transition between the <code>locked</code> and <code>unlocked</code> states
182
+ * only; it can never transition back to <code>null</code>.</p>
183
+ * </li>
184
+ * </ul>
185
+ */
186
+ LockState?: LockState | string;
118
187
  }
119
188
  /**
120
189
  * <p>The service could not respond to the request due to an internal problem.</p>
@@ -167,6 +236,25 @@ export declare class ValidationException extends __BaseException {
167
236
  */
168
237
  constructor(opts: __ExceptionOptionType<ValidationException, __BaseException>);
169
238
  }
239
+ export declare enum ConflictExceptionReason {
240
+ INVALID_RULE_STATE = "INVALID_RULE_STATE"
241
+ }
242
+ /**
243
+ * <p>The specified retention rule lock request can't be completed.</p>
244
+ */
245
+ export declare class ConflictException extends __BaseException {
246
+ readonly name: "ConflictException";
247
+ readonly $fault: "client";
248
+ Message?: string;
249
+ /**
250
+ * <p>The reason for the exception.</p>
251
+ */
252
+ Reason?: ConflictExceptionReason | string;
253
+ /**
254
+ * @internal
255
+ */
256
+ constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
257
+ }
170
258
  export interface DeleteRuleRequest {
171
259
  /**
172
260
  * <p>The unique ID of the retention rule.</p>
@@ -227,6 +315,43 @@ export interface GetRuleResponse {
227
315
  * state retain resources.</p>
228
316
  */
229
317
  Status?: RuleStatus | string;
318
+ /**
319
+ * <p>Information about the retention rule lock configuration.</p>
320
+ */
321
+ LockConfiguration?: LockConfiguration;
322
+ /**
323
+ * <p>The lock state for the retention rule.</p>
324
+ * <ul>
325
+ * <li>
326
+ * <p>
327
+ * <code>locked</code> - The retention rule is locked and can't be modified or deleted.</p>
328
+ * </li>
329
+ * <li>
330
+ * <p>
331
+ * <code>pending_unlock</code> - The retention rule has been unlocked but it is still within
332
+ * the unlock delay period. The retention rule can be modified or deleted only after the unlock
333
+ * delay period has expired.</p>
334
+ * </li>
335
+ * <li>
336
+ * <p>
337
+ * <code>unlocked</code> - The retention rule is unlocked and it can be modified or deleted by
338
+ * any user with the required permissions.</p>
339
+ * </li>
340
+ * <li>
341
+ * <p>
342
+ * <code>null</code> - The retention rule has never been locked. Once a retention rule has
343
+ * been locked, it can transition between the <code>locked</code> and <code>unlocked</code> states
344
+ * only; it can never transition back to <code>null</code>.</p>
345
+ * </li>
346
+ * </ul>
347
+ */
348
+ LockState?: LockState | string;
349
+ /**
350
+ * <p>The date and time at which the unlock delay is set to expire. Only returned
351
+ * for retention rules that have been unlocked and that are still within the unlock
352
+ * delay period.</p>
353
+ */
354
+ LockEndTime?: Date;
230
355
  }
231
356
  export interface ListRulesRequest {
232
357
  /**
@@ -251,6 +376,11 @@ export interface ListRulesRequest {
251
376
  * rule.</p>
252
377
  */
253
378
  ResourceTags?: ResourceTag[];
379
+ /**
380
+ * <p>The lock state of the retention rules to list. Only retention rules with the specified
381
+ * lock state are returned.</p>
382
+ */
383
+ LockState?: LockState | string;
254
384
  }
255
385
  /**
256
386
  * <p>Information about a Recycle Bin retention rule.</p>
@@ -268,6 +398,33 @@ export interface RuleSummary {
268
398
  * <p>Information about the retention period for which the retention rule is to retain resources.</p>
269
399
  */
270
400
  RetentionPeriod?: RetentionPeriod;
401
+ /**
402
+ * <p>The lock state for the retention rule.</p>
403
+ * <ul>
404
+ * <li>
405
+ * <p>
406
+ * <code>locked</code> - The retention rule is locked and can't be modified or deleted.</p>
407
+ * </li>
408
+ * <li>
409
+ * <p>
410
+ * <code>pending_unlock</code> - The retention rule has been unlocked but it is still within
411
+ * the unlock delay period. The retention rule can be modified or deleted only after the unlock
412
+ * delay period has expired.</p>
413
+ * </li>
414
+ * <li>
415
+ * <p>
416
+ * <code>unlocked</code> - The retention rule is unlocked and it can be modified or deleted by
417
+ * any user with the required permissions.</p>
418
+ * </li>
419
+ * <li>
420
+ * <p>
421
+ * <code>null</code> - The retention rule has never been locked. Once a retention rule has
422
+ * been locked, it can transition between the <code>locked</code> and <code>unlocked</code> states
423
+ * only; it can never transition back to <code>null</code>.</p>
424
+ * </li>
425
+ * </ul>
426
+ */
427
+ LockState?: LockState | string;
271
428
  }
272
429
  export interface ListRulesResponse {
273
430
  /**
@@ -291,6 +448,75 @@ export interface ListTagsForResourceResponse {
291
448
  */
292
449
  Tags?: Tag[];
293
450
  }
451
+ export interface LockRuleRequest {
452
+ /**
453
+ * <p>The unique ID of the retention rule.</p>
454
+ */
455
+ Identifier: string | undefined;
456
+ /**
457
+ * <p>Information about the retention rule lock configuration.</p>
458
+ */
459
+ LockConfiguration: LockConfiguration | undefined;
460
+ }
461
+ export interface LockRuleResponse {
462
+ /**
463
+ * <p>The unique ID of the retention rule.</p>
464
+ */
465
+ Identifier?: string;
466
+ /**
467
+ * <p>The retention rule description.</p>
468
+ */
469
+ Description?: string;
470
+ /**
471
+ * <p>The resource type retained by the retention rule.</p>
472
+ */
473
+ ResourceType?: ResourceType | string;
474
+ /**
475
+ * <p>Information about the retention period for which the retention rule is to retain resources.</p>
476
+ */
477
+ RetentionPeriod?: RetentionPeriod;
478
+ /**
479
+ * <p>Information about the resource tags used to identify resources that are retained by the retention
480
+ * rule.</p>
481
+ */
482
+ ResourceTags?: ResourceTag[];
483
+ /**
484
+ * <p>The state of the retention rule. Only retention rules that are in the <code>available</code>
485
+ * state retain resources.</p>
486
+ */
487
+ Status?: RuleStatus | string;
488
+ /**
489
+ * <p>Information about the retention rule lock configuration.</p>
490
+ */
491
+ LockConfiguration?: LockConfiguration;
492
+ /**
493
+ * <p>The lock state for the retention rule.</p>
494
+ * <ul>
495
+ * <li>
496
+ * <p>
497
+ * <code>locked</code> - The retention rule is locked and can't be modified or deleted.</p>
498
+ * </li>
499
+ * <li>
500
+ * <p>
501
+ * <code>pending_unlock</code> - The retention rule has been unlocked but it is still within
502
+ * the unlock delay period. The retention rule can be modified or deleted only after the unlock
503
+ * delay period has expired.</p>
504
+ * </li>
505
+ * <li>
506
+ * <p>
507
+ * <code>unlocked</code> - The retention rule is unlocked and it can be modified or deleted by
508
+ * any user with the required permissions.</p>
509
+ * </li>
510
+ * <li>
511
+ * <p>
512
+ * <code>null</code> - The retention rule has never been locked. Once a retention rule has
513
+ * been locked, it can transition between the <code>locked</code> and <code>unlocked</code> states
514
+ * only; it can never transition back to <code>null</code>.</p>
515
+ * </li>
516
+ * </ul>
517
+ */
518
+ LockState?: LockState | string;
519
+ }
294
520
  export interface TagResourceRequest {
295
521
  /**
296
522
  * <p>The Amazon Resource Name (ARN) of the retention rule.</p>
@@ -303,6 +529,77 @@ export interface TagResourceRequest {
303
529
  }
304
530
  export interface TagResourceResponse {
305
531
  }
532
+ export interface UnlockRuleRequest {
533
+ /**
534
+ * <p>The unique ID of the retention rule.</p>
535
+ */
536
+ Identifier: string | undefined;
537
+ }
538
+ export interface UnlockRuleResponse {
539
+ /**
540
+ * <p>The unique ID of the retention rule.</p>
541
+ */
542
+ Identifier?: string;
543
+ /**
544
+ * <p>The retention rule description.</p>
545
+ */
546
+ Description?: string;
547
+ /**
548
+ * <p>The resource type retained by the retention rule.</p>
549
+ */
550
+ ResourceType?: ResourceType | string;
551
+ /**
552
+ * <p>Information about the retention period for which the retention rule is to retain resources.</p>
553
+ */
554
+ RetentionPeriod?: RetentionPeriod;
555
+ /**
556
+ * <p>Information about the resource tags used to identify resources that are retained by the retention
557
+ * rule.</p>
558
+ */
559
+ ResourceTags?: ResourceTag[];
560
+ /**
561
+ * <p>The state of the retention rule. Only retention rules that are in the <code>available</code>
562
+ * state retain resources.</p>
563
+ */
564
+ Status?: RuleStatus | string;
565
+ /**
566
+ * <p>Information about the retention rule lock configuration.</p>
567
+ */
568
+ LockConfiguration?: LockConfiguration;
569
+ /**
570
+ * <p>The lock state for the retention rule.</p>
571
+ * <ul>
572
+ * <li>
573
+ * <p>
574
+ * <code>locked</code> - The retention rule is locked and can't be modified or deleted.</p>
575
+ * </li>
576
+ * <li>
577
+ * <p>
578
+ * <code>pending_unlock</code> - The retention rule has been unlocked but it is still within
579
+ * the unlock delay period. The retention rule can be modified or deleted only after the unlock
580
+ * delay period has expired.</p>
581
+ * </li>
582
+ * <li>
583
+ * <p>
584
+ * <code>unlocked</code> - The retention rule is unlocked and it can be modified or deleted by
585
+ * any user with the required permissions.</p>
586
+ * </li>
587
+ * <li>
588
+ * <p>
589
+ * <code>null</code> - The retention rule has never been locked. Once a retention rule has
590
+ * been locked, it can transition between the <code>locked</code> and <code>unlocked</code> states
591
+ * only; it can never transition back to <code>null</code>.</p>
592
+ * </li>
593
+ * </ul>
594
+ */
595
+ LockState?: LockState | string;
596
+ /**
597
+ * <p>The date and time at which the unlock delay is set to expire. Only returned
598
+ * for retention rules that have been unlocked and that are still within the unlock
599
+ * delay period.</p>
600
+ */
601
+ LockEndTime?: Date;
602
+ }
306
603
  export interface UntagResourceRequest {
307
604
  /**
308
605
  * <p>The Amazon Resource Name (ARN) of the retention rule.</p>
@@ -329,9 +626,10 @@ export interface UpdateRuleRequest {
329
626
  */
330
627
  Description?: string;
331
628
  /**
332
- * <p>The resource type to be retained by the retention rule. Currently, only Amazon EBS snapshots
333
- * and EBS-backed AMIs are supported. To retain snapshots, specify <code>EBS_SNAPSHOT</code>. To
334
- * retain EBS-backed AMIs, specify <code>EC2_IMAGE</code>.</p>
629
+ * <note>
630
+ * <p>This parameter is currently not supported. You can't update a retention rule's resource type
631
+ * after creation.</p>
632
+ * </note>
335
633
  */
336
634
  ResourceType?: ResourceType | string;
337
635
  /**
@@ -373,7 +671,48 @@ export interface UpdateRuleResponse {
373
671
  * state retain resources.</p>
374
672
  */
375
673
  Status?: RuleStatus | string;
674
+ /**
675
+ * <p>The lock state for the retention rule.</p>
676
+ * <ul>
677
+ * <li>
678
+ * <p>
679
+ * <code>locked</code> - The retention rule is locked and can't be modified or deleted.</p>
680
+ * </li>
681
+ * <li>
682
+ * <p>
683
+ * <code>pending_unlock</code> - The retention rule has been unlocked but it is still within
684
+ * the unlock delay period. The retention rule can be modified or deleted only after the unlock
685
+ * delay period has expired.</p>
686
+ * </li>
687
+ * <li>
688
+ * <p>
689
+ * <code>unlocked</code> - The retention rule is unlocked and it can be modified or deleted by
690
+ * any user with the required permissions.</p>
691
+ * </li>
692
+ * <li>
693
+ * <p>
694
+ * <code>null</code> - The retention rule has never been locked. Once a retention rule has
695
+ * been locked, it can transition between the <code>locked</code> and <code>unlocked</code> states
696
+ * only; it can never transition back to <code>null</code>.</p>
697
+ * </li>
698
+ * </ul>
699
+ */
700
+ LockState?: LockState | string;
701
+ /**
702
+ * <p>The date and time at which the unlock delay is set to expire. Only returned
703
+ * for retention rules that have been unlocked and that are still within the unlock
704
+ * delay period.</p>
705
+ */
706
+ LockEndTime?: Date;
376
707
  }
708
+ /**
709
+ * @internal
710
+ */
711
+ export declare const UnlockDelayFilterSensitiveLog: (obj: UnlockDelay) => any;
712
+ /**
713
+ * @internal
714
+ */
715
+ export declare const LockConfigurationFilterSensitiveLog: (obj: LockConfiguration) => any;
377
716
  /**
378
717
  * @internal
379
718
  */
@@ -430,6 +769,14 @@ export declare const ListTagsForResourceRequestFilterSensitiveLog: (obj: ListTag
430
769
  * @internal
431
770
  */
432
771
  export declare const ListTagsForResourceResponseFilterSensitiveLog: (obj: ListTagsForResourceResponse) => any;
772
+ /**
773
+ * @internal
774
+ */
775
+ export declare const LockRuleRequestFilterSensitiveLog: (obj: LockRuleRequest) => any;
776
+ /**
777
+ * @internal
778
+ */
779
+ export declare const LockRuleResponseFilterSensitiveLog: (obj: LockRuleResponse) => any;
433
780
  /**
434
781
  * @internal
435
782
  */
@@ -438,6 +785,14 @@ export declare const TagResourceRequestFilterSensitiveLog: (obj: TagResourceRequ
438
785
  * @internal
439
786
  */
440
787
  export declare const TagResourceResponseFilterSensitiveLog: (obj: TagResourceResponse) => any;
788
+ /**
789
+ * @internal
790
+ */
791
+ export declare const UnlockRuleRequestFilterSensitiveLog: (obj: UnlockRuleRequest) => any;
792
+ /**
793
+ * @internal
794
+ */
795
+ export declare const UnlockRuleResponseFilterSensitiveLog: (obj: UnlockRuleResponse) => any;
441
796
  /**
442
797
  * @internal
443
798
  */
@@ -5,7 +5,9 @@ import { DeleteRuleCommandInput, DeleteRuleCommandOutput } from "../commands/Del
5
5
  import { GetRuleCommandInput, GetRuleCommandOutput } from "../commands/GetRuleCommand";
6
6
  import { ListRulesCommandInput, ListRulesCommandOutput } from "../commands/ListRulesCommand";
7
7
  import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "../commands/ListTagsForResourceCommand";
8
+ import { LockRuleCommandInput, LockRuleCommandOutput } from "../commands/LockRuleCommand";
8
9
  import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand";
10
+ import { UnlockRuleCommandInput, UnlockRuleCommandOutput } from "../commands/UnlockRuleCommand";
9
11
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand";
10
12
  import { UpdateRuleCommandInput, UpdateRuleCommandOutput } from "../commands/UpdateRuleCommand";
11
13
  export declare const serializeAws_restJson1CreateRuleCommand: (input: CreateRuleCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
@@ -13,7 +15,9 @@ export declare const serializeAws_restJson1DeleteRuleCommand: (input: DeleteRule
13
15
  export declare const serializeAws_restJson1GetRuleCommand: (input: GetRuleCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
14
16
  export declare const serializeAws_restJson1ListRulesCommand: (input: ListRulesCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
15
17
  export declare const serializeAws_restJson1ListTagsForResourceCommand: (input: ListTagsForResourceCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
18
+ export declare const serializeAws_restJson1LockRuleCommand: (input: LockRuleCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
16
19
  export declare const serializeAws_restJson1TagResourceCommand: (input: TagResourceCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
20
+ export declare const serializeAws_restJson1UnlockRuleCommand: (input: UnlockRuleCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
17
21
  export declare const serializeAws_restJson1UntagResourceCommand: (input: UntagResourceCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
18
22
  export declare const serializeAws_restJson1UpdateRuleCommand: (input: UpdateRuleCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
19
23
  export declare const deserializeAws_restJson1CreateRuleCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<CreateRuleCommandOutput>;
@@ -21,6 +25,8 @@ export declare const deserializeAws_restJson1DeleteRuleCommand: (output: __HttpR
21
25
  export declare const deserializeAws_restJson1GetRuleCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetRuleCommandOutput>;
22
26
  export declare const deserializeAws_restJson1ListRulesCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ListRulesCommandOutput>;
23
27
  export declare const deserializeAws_restJson1ListTagsForResourceCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ListTagsForResourceCommandOutput>;
28
+ export declare const deserializeAws_restJson1LockRuleCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<LockRuleCommandOutput>;
24
29
  export declare const deserializeAws_restJson1TagResourceCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<TagResourceCommandOutput>;
30
+ export declare const deserializeAws_restJson1UnlockRuleCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<UnlockRuleCommandOutput>;
25
31
  export declare const deserializeAws_restJson1UntagResourceCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<UntagResourceCommandOutput>;
26
32
  export declare const deserializeAws_restJson1UpdateRuleCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<UpdateRuleCommandOutput>;
@@ -19,10 +19,18 @@ import {
19
19
  ListTagsForResourceCommandInput,
20
20
  ListTagsForResourceCommandOutput,
21
21
  } from "./commands/ListTagsForResourceCommand";
22
+ import {
23
+ LockRuleCommandInput,
24
+ LockRuleCommandOutput,
25
+ } from "./commands/LockRuleCommand";
22
26
  import {
23
27
  TagResourceCommandInput,
24
28
  TagResourceCommandOutput,
25
29
  } from "./commands/TagResourceCommand";
30
+ import {
31
+ UnlockRuleCommandInput,
32
+ UnlockRuleCommandOutput,
33
+ } from "./commands/UnlockRuleCommand";
26
34
  import {
27
35
  UntagResourceCommandInput,
28
36
  UntagResourceCommandOutput,
@@ -98,6 +106,19 @@ export declare class Rbin extends RbinClient {
98
106
  options: __HttpHandlerOptions,
99
107
  cb: (err: any, data?: ListTagsForResourceCommandOutput) => void
100
108
  ): void;
109
+ lockRule(
110
+ args: LockRuleCommandInput,
111
+ options?: __HttpHandlerOptions
112
+ ): Promise<LockRuleCommandOutput>;
113
+ lockRule(
114
+ args: LockRuleCommandInput,
115
+ cb: (err: any, data?: LockRuleCommandOutput) => void
116
+ ): void;
117
+ lockRule(
118
+ args: LockRuleCommandInput,
119
+ options: __HttpHandlerOptions,
120
+ cb: (err: any, data?: LockRuleCommandOutput) => void
121
+ ): void;
101
122
  tagResource(
102
123
  args: TagResourceCommandInput,
103
124
  options?: __HttpHandlerOptions
@@ -111,6 +132,19 @@ export declare class Rbin extends RbinClient {
111
132
  options: __HttpHandlerOptions,
112
133
  cb: (err: any, data?: TagResourceCommandOutput) => void
113
134
  ): void;
135
+ unlockRule(
136
+ args: UnlockRuleCommandInput,
137
+ options?: __HttpHandlerOptions
138
+ ): Promise<UnlockRuleCommandOutput>;
139
+ unlockRule(
140
+ args: UnlockRuleCommandInput,
141
+ cb: (err: any, data?: UnlockRuleCommandOutput) => void
142
+ ): void;
143
+ unlockRule(
144
+ args: UnlockRuleCommandInput,
145
+ options: __HttpHandlerOptions,
146
+ cb: (err: any, data?: UnlockRuleCommandOutput) => void
147
+ ): void;
114
148
  untagResource(
115
149
  args: UntagResourceCommandInput,
116
150
  options?: __HttpHandlerOptions