@kensio/yulin 1.20.5 → 1.20.7
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.
- package/dist/service/aws/factory/sim-aws-logs-collaborators.d.ts +6 -0
- package/dist/service/aws/factory/sim-aws-logs-collaborators.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-logs-collaborators.js +9 -0
- package/dist/service/aws/factory/sim-aws-logs-collaborators.js.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +9 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js.map +1 -1
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts +5 -1
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts.map +1 -1
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js +10 -1
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js.map +1 -1
- package/dist/service/logs/delivery/cloudfront/sim-aws-logs-delivery-distributions.d.ts +34 -0
- package/dist/service/logs/delivery/cloudfront/sim-aws-logs-delivery-distributions.d.ts.map +1 -0
- package/dist/service/logs/delivery/cloudfront/sim-aws-logs-delivery-distributions.js +54 -0
- package/dist/service/logs/delivery/cloudfront/sim-aws-logs-delivery-distributions.js.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-resources.d.ts +28 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-resources.d.ts.map +1 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-resources.js +14 -0
- package/dist/service/logs/delivery/sim-logs-delivery-source-resources.js.map +1 -0
- package/dist/service/logs/sim-logs-commands.d.ts +7 -0
- package/dist/service/logs/sim-logs-commands.d.ts.map +1 -1
- package/dist/service/logs/sim-logs-commands.js +3 -1
- package/dist/service/logs/sim-logs-commands.js.map +1 -1
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +83 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts.map +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +87 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js.map +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +24 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts.map +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +42 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js.map +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts +24 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts.map +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js +51 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js.map +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +38 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts.map +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +66 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js.map +1 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +34 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.js +43 -4
- package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.d.ts +31 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.d.ts.map +1 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +69 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js.map +1 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +31 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts.map +1 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +50 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js.map +1 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-transitions.d.ts +19 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-transitions.d.ts.map +1 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-transitions.js +28 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-transitions.js.map +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts.map +1 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +11 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js.map +1 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts.map +1 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +1 -4
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
- package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.d.ts +20 -0
- package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.d.ts.map +1 -0
- package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.js +2 -0
- package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.js.map +1 -0
- package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.d.ts +29 -0
- package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.d.ts.map +1 -0
- package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.js +37 -0
- package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.js.map +1 -0
- package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.command.d.ts +26 -0
- package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.command.d.ts.map +1 -0
- package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.command.js +2 -0
- package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.command.js.map +1 -0
- package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.handler.d.ts +30 -0
- package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.handler.d.ts.map +1 -0
- package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.handler.js +43 -0
- package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.handler.js.map +1 -0
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.d.ts +32 -0
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.js +51 -0
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.js.map +1 -0
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-commands.d.ts +23 -0
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-commands.d.ts.map +1 -0
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-commands.js +31 -0
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-commands.js.map +1 -0
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.d.ts +12 -0
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.d.ts.map +1 -0
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js +53 -0
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js.map +1 -0
- package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.command.d.ts +111 -0
- package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.command.d.ts.map +1 -0
- package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.command.js +2 -0
- package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.command.js.map +1 -0
- package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.handler.d.ts +30 -0
- package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.handler.d.ts.map +1 -0
- package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.handler.js +43 -0
- package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.handler.js.map +1 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts +3 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -1
- package/dist/service/s3/error/sim-s3.error.d.ts +11 -0
- package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
- package/dist/service/s3/error/sim-s3.error.js +13 -0
- package/dist/service/s3/error/sim-s3.error.js.map +1 -1
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +12 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
- package/dist/service/s3/sim-s3-commands.d.ts +2 -0
- package/dist/service/s3/sim-s3-commands.d.ts.map +1 -1
- package/dist/service/s3/sim-s3-commands.js +3 -0
- package/dist/service/s3/sim-s3-commands.js.map +1 -1
- package/dist/service/s3/sim-s3-operations.d.ts +6 -0
- package/dist/service/s3/sim-s3-operations.d.ts.map +1 -1
- package/dist/service/s3/sim-s3-operations.js +12 -0
- package/dist/service/s3/sim-s3-operations.js.map +1 -1
- package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +9 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts.map +1 -1
- package/dist/service/s3/upload/sim-s3-multipart-uploads.js +15 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.js.map +1 -1
- package/dist/terraform/map/sim-tf-map-s3-lifecycle.d.ts.map +1 -1
- package/dist/terraform/map/sim-tf-map-s3-lifecycle.js +4 -5
- package/dist/terraform/map/sim-tf-map-s3-lifecycle.js.map +1 -1
- package/dist/util/clock/sim-clock-control.d.ts +8 -0
- package/dist/util/clock/sim-clock-control.d.ts.map +1 -1
- package/dist/util/clock/sim-clock-control.js +10 -0
- package/dist/util/clock/sim-clock-control.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue, SimCfnTemplateValueRecord } from "../../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
/**
|
|
3
|
+
* The rule fields CloudFormation and the SDK spell differently.
|
|
4
|
+
*
|
|
5
|
+
* CloudFormation flattens an expiry onto the rule and names a transition's
|
|
6
|
+
* timing after it, where the request nests both. Everything absent from here,
|
|
7
|
+
* `Status`, `Prefix`, `AbortIncompleteMultipartUpload`, `TagFilters` and the
|
|
8
|
+
* object size bounds among them, is spelled the same way in both and goes
|
|
9
|
+
* through untouched.
|
|
10
|
+
*/
|
|
11
|
+
export declare const simCfnS3TranslatedLifecycleFields: ReadonlySet<string>;
|
|
12
|
+
/**
|
|
13
|
+
* A timestamp as the request wants it. CloudFormation states one as a string,
|
|
14
|
+
* and anything else is left as it came so the shape check that follows sees
|
|
15
|
+
* what the template actually said.
|
|
16
|
+
*/
|
|
17
|
+
export declare function simCfnS3LifecycleDate(value: SimCfnTemplateValue | undefined): SimCfnTemplateValue | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* The fields that were stated, or nothing at all when none of them were.
|
|
20
|
+
*/
|
|
21
|
+
export declare function simCfnS3StatedFields(fields: Record<string, SimCfnTemplateValue | undefined>): SimCfnTemplateValueRecord | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* The fields of a rule this reader has no translation for.
|
|
24
|
+
*
|
|
25
|
+
* Carried across unchanged rather than dropped or refused. Dropping one would
|
|
26
|
+
* deploy a Bucket whose rules read back shorter than the template asked for,
|
|
27
|
+
* and refusing one would fail a Stack over a field nothing in the simulation
|
|
28
|
+
* acts on anyway.
|
|
29
|
+
*/
|
|
30
|
+
export declare function simCfnS3CarriedRuleFields(rule: SimCfnTemplateValueRecord): SimCfnTemplateValueRecord;
|
|
31
|
+
//# sourceMappingURL=sim-cfn-s3-bucket-lifecycle-fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-lifecycle-fields.d.ts","sourceRoot":"","sources":["../../../../../../src/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,qEAAqE,CAAC;AAE7E;;;;;;;;GAQG;AACH,eAAO,MAAM,iCAAiC,EAAE,WAAW,CAAC,MAAM,CAOhE,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACrC,mBAAmB,GAAG,SAAS,CAMjC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC,GACtD,yBAAyB,GAAG,SAAS,CAUvC;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,yBAAyB,GAC9B,yBAAyB,CAM3B"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The rule fields CloudFormation and the SDK spell differently.
|
|
3
|
+
*
|
|
4
|
+
* CloudFormation flattens an expiry onto the rule and names a transition's
|
|
5
|
+
* timing after it, where the request nests both. Everything absent from here,
|
|
6
|
+
* `Status`, `Prefix`, `AbortIncompleteMultipartUpload`, `TagFilters` and the
|
|
7
|
+
* object size bounds among them, is spelled the same way in both and goes
|
|
8
|
+
* through untouched.
|
|
9
|
+
*/
|
|
10
|
+
export const simCfnS3TranslatedLifecycleFields = new Set([
|
|
11
|
+
"Id",
|
|
12
|
+
"ExpirationDate",
|
|
13
|
+
"ExpirationInDays",
|
|
14
|
+
"ExpiredObjectDeleteMarker",
|
|
15
|
+
"Transition",
|
|
16
|
+
"Transitions",
|
|
17
|
+
]);
|
|
18
|
+
/**
|
|
19
|
+
* A timestamp as the request wants it. CloudFormation states one as a string,
|
|
20
|
+
* and anything else is left as it came so the shape check that follows sees
|
|
21
|
+
* what the template actually said.
|
|
22
|
+
*/
|
|
23
|
+
export function simCfnS3LifecycleDate(value) {
|
|
24
|
+
if (typeof value !== "string") {
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
return new Date(value);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The fields that were stated, or nothing at all when none of them were.
|
|
31
|
+
*/
|
|
32
|
+
export function simCfnS3StatedFields(fields) {
|
|
33
|
+
const stated = Object.entries(fields).filter(([, value]) => value !== undefined);
|
|
34
|
+
if (stated.length === 0) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
return Object.fromEntries(stated);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The fields of a rule this reader has no translation for.
|
|
41
|
+
*
|
|
42
|
+
* Carried across unchanged rather than dropped or refused. Dropping one would
|
|
43
|
+
* deploy a Bucket whose rules read back shorter than the template asked for,
|
|
44
|
+
* and refusing one would fail a Stack over a field nothing in the simulation
|
|
45
|
+
* acts on anyway.
|
|
46
|
+
*/
|
|
47
|
+
export function simCfnS3CarriedRuleFields(rule) {
|
|
48
|
+
return Object.fromEntries(Object.entries(rule).filter(([name]) => !simCfnS3TranslatedLifecycleFields.has(name)));
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=sim-cfn-s3-bucket-lifecycle-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-lifecycle-fields.js","sourceRoot":"","sources":["../../../../../../src/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAwB,IAAI,GAAG,CAAC;IAC5E,IAAI;IACJ,gBAAgB;IAChB,kBAAkB;IAClB,2BAA2B;IAC3B,YAAY;IACZ,aAAa;CACd,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAsC;IAEtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,IAAI,CAAC,KAAK,CAAmC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAuD;IAEvD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CACnC,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAA8B,CAAC;AACjE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAA+B;IAE/B,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CACzB,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,iCAAiC,CAAC,GAAG,CAAC,IAAI,CAAC,CACzD,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue } from "../../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SimCfnValueShape } from "../../../../cloudformation/template/value/sim-cfn-value-shape.js";
|
|
3
|
+
interface SimCfnS3LifecycleTransitionsProperties {
|
|
4
|
+
readonly shape: SimCfnValueShape;
|
|
5
|
+
readonly listed: SimCfnTemplateValue | undefined;
|
|
6
|
+
readonly singular: SimCfnTemplateValue | undefined;
|
|
7
|
+
readonly path: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Reads the storage class transitions of one AWS::S3::Bucket lifecycle rule.
|
|
11
|
+
*
|
|
12
|
+
* A template may state them as a `Transitions` list, as a singular
|
|
13
|
+
* `Transition`, or as both, and CloudFormation accepts all three. They arrive
|
|
14
|
+
* as the one list the request carries. Each one is timed by `Days` or `Date`
|
|
15
|
+
* where the template says `TransitionInDays` or `TransitionDate`.
|
|
16
|
+
*/
|
|
17
|
+
export declare function readSimCfnS3LifecycleTransitions(properties: SimCfnS3LifecycleTransitionsProperties): SimCfnTemplateValue[] | undefined;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=sim-cfn-s3-bucket-lifecycle-transitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-lifecycle-transitions.d.ts","sourceRoot":"","sources":["../../../../../../src/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-transitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qEAAqE,CAAC;AAC/G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kEAAkE,CAAC;AAMzG,UAAU,sCAAsC;IAC9C,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,sCAAsC,GACjD,mBAAmB,EAAE,GAAG,SAAS,CAwBnC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { simCfnS3LifecycleDate, simCfnS3StatedFields, } from "./sim-cfn-s3-bucket-lifecycle-fields.js";
|
|
2
|
+
/**
|
|
3
|
+
* Reads the storage class transitions of one AWS::S3::Bucket lifecycle rule.
|
|
4
|
+
*
|
|
5
|
+
* A template may state them as a `Transitions` list, as a singular
|
|
6
|
+
* `Transition`, or as both, and CloudFormation accepts all three. They arrive
|
|
7
|
+
* as the one list the request carries. Each one is timed by `Days` or `Date`
|
|
8
|
+
* where the template says `TransitionInDays` or `TransitionDate`.
|
|
9
|
+
*/
|
|
10
|
+
export function readSimCfnS3LifecycleTransitions(properties) {
|
|
11
|
+
const { shape, listed, singular, path } = properties;
|
|
12
|
+
const declared = listed === undefined ? [] : shape.list(listed, `${path} Transitions`);
|
|
13
|
+
const all = singular === undefined ? declared : [...declared, singular];
|
|
14
|
+
if (all.length === 0) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
return all.map((transition, position) => {
|
|
18
|
+
const { TransitionDate, TransitionInDays, ...carried } = shape.record(transition, `${path} Transitions[${position}]`);
|
|
19
|
+
return {
|
|
20
|
+
...carried,
|
|
21
|
+
...simCfnS3StatedFields({
|
|
22
|
+
Date: simCfnS3LifecycleDate(TransitionDate),
|
|
23
|
+
Days: TransitionInDays,
|
|
24
|
+
}),
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=sim-cfn-s3-bucket-lifecycle-transitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-lifecycle-transitions.js","sourceRoot":"","sources":["../../../../../../src/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-transitions.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,yCAAyC,CAAC;AASjD;;;;;;;GAOG;AACH,MAAM,UAAU,gCAAgC,CAC9C,UAAkD;IAElD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IACrD,MAAM,QAAQ,GACZ,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAExE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE;QACtC,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CACnE,UAAU,EACV,GAAG,IAAI,gBAAgB,QAAQ,GAAG,CACnC,CAAC;QAEF,OAAO;YACL,GAAG,OAAO;YACV,GAAG,oBAAoB,CAAC;gBACtB,IAAI,EAAE,qBAAqB,CAAC,cAAc,CAAC;gBAC3C,IAAI,EAAE,gBAAgB;aACvB,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-s3-bucket-configurator.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-configurator.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAM7C,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,YAAY,UAAU,EAAE,oCAAoC,EAK3D;IAED;;;;;;OAMG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAK/B;YAEa,gBAAgB;YAehB,qBAAqB;YAkBrB,kBAAkB;YAelB,sBAAsB;CAkBrC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SimCfnS3BucketLifecycleConfiguration } from "./lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js";
|
|
1
2
|
import { SimCfnS3BucketNotificationConfiguration } from "./notification/sim-cfn-s3-bucket-notification-configuration.js";
|
|
2
3
|
import { SimCfnS3BucketPublicAccessConfiguration } from "./public-access/sim-cfn-s3-bucket-public-access-configuration.js";
|
|
3
4
|
import { SimCfnS3BucketWebsiteConfiguration } from "./website/sim-cfn-s3-bucket-website-configuration.js";
|
|
@@ -29,6 +30,7 @@ export class SimCfnS3BucketConfigurator {
|
|
|
29
30
|
async configure() {
|
|
30
31
|
await this.configureWebsite();
|
|
31
32
|
await this.configurePublicAccess();
|
|
33
|
+
await this.configureLifecycle();
|
|
32
34
|
await this.configureNotifications();
|
|
33
35
|
}
|
|
34
36
|
async configureWebsite() {
|
|
@@ -52,6 +54,15 @@ export class SimCfnS3BucketConfigurator {
|
|
|
52
54
|
},
|
|
53
55
|
});
|
|
54
56
|
}
|
|
57
|
+
async configureLifecycle() {
|
|
58
|
+
const config = new SimCfnS3BucketLifecycleConfiguration(this.resource.logicalId, this.properties).read();
|
|
59
|
+
if (config === undefined) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
await this.simS3.putBucketLifecycleConfiguration({
|
|
63
|
+
input: { Bucket: this.bucketName, LifecycleConfiguration: config },
|
|
64
|
+
});
|
|
65
|
+
}
|
|
55
66
|
async configureNotifications() {
|
|
56
67
|
const declared = this.properties["NotificationConfiguration"];
|
|
57
68
|
if (declared === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-s3-bucket-configurator.js","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uCAAuC,EAAE,MAAM,gEAAgE,CAAC;AACzH,OAAO,EAAE,uCAAuC,EAAE,MAAM,kEAAkE,CAAC;AAC3H,OAAO,EAAE,kCAAkC,EAAE,MAAM,sDAAsD,CAAC;AAS1G;;;;;;GAMG;AACH,MAAM,OAAO,0BAA0B;IACpB,KAAK,CAAQ;IACb,QAAQ,CAAiB;IACzB,UAAU,CAA4B;IACtC,UAAU,CAAS;IAEpC,YAAY,UAAgD;QAC1D,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,MAAM,GAAG,IAAI,kCAAkC,CACnD,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,IAAI,CAAC,UAAU,CAChB,CAAC,IAAI,EAAE,CAAC;QAET,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAChC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,oBAAoB,EAAE,MAAM,EAAE;SACjE,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,MAAM,MAAM,GAAG,IAAI,uCAAuC,CACxD,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,IAAI,CAAC,UAAU,CAChB,CAAC,IAAI,EAAE,CAAC;QAET,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;YACpC,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,8BAA8B,EAAE,MAAM;aACvC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;QAE9D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,uCAAuC,CACxD,IAAI,CAAC,QAAQ,CAAC,SAAS,CACxB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEjB,MAAM,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC;YAClD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,yBAAyB,EAAE,MAAM;aAClC;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-configurator.js","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-s3-bucket-property-names.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-property-names.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAMrD,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAGjD,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAuCjE,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const simulatedPropertyNames = new Set([
|
|
5
5
|
"BucketName",
|
|
6
|
+
"LifecycleConfiguration",
|
|
6
7
|
"NotificationConfiguration",
|
|
7
8
|
"PublicAccessBlockConfiguration",
|
|
8
9
|
"WebsiteConfiguration",
|
|
@@ -50,10 +51,6 @@ export const unsimulatedPropertyReasons = new Map([
|
|
|
50
51
|
"storage classes are not simulated, so nothing transitions between them",
|
|
51
52
|
],
|
|
52
53
|
["InventoryConfigurations", "Bucket inventory reports are not simulated"],
|
|
53
|
-
[
|
|
54
|
-
"LifecycleConfiguration",
|
|
55
|
-
"simulated S3 does not expire or transition Objects on a schedule",
|
|
56
|
-
],
|
|
57
54
|
["LoggingConfiguration", "server access logging is not simulated"],
|
|
58
55
|
["MetadataConfiguration", "Bucket metadata tables are not simulated"],
|
|
59
56
|
["MetadataTableConfiguration", "Bucket metadata tables are not simulated"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-s3-bucket-property-names.js","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IACjE,YAAY;IACZ,2BAA2B;IAC3B,gCAAgC;IAChC,sBAAsB;CACvB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IAC7D,kBAAkB;IAClB,MAAM;CACP,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAgC,IAAI,GAAG,CAAC;IAC7E,CAAC,YAAY,EAAE,iDAAiD,CAAC;IACjE,CAAC,yBAAyB,EAAE,wCAAwC,CAAC;IACrE;QACE,eAAe;QACf,oEAAoE;YAClE,2CAA2C;KAC9C;IACD,CAAC,yBAAyB,EAAE,0CAA0C,CAAC;IACvE,CAAC,kBAAkB,EAAE,0CAA0C,CAAC;IAChE,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;IAC1D;QACE,mBAAmB;QACnB,wEAAwE;KACzE;IACD;QACE,kCAAkC;QAClC,wEAAwE;KACzE;IACD,CAAC,yBAAyB,EAAE,4CAA4C,CAAC;IACzE
|
|
1
|
+
{"version":3,"file":"sim-cfn-s3-bucket-property-names.js","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IACjE,YAAY;IACZ,wBAAwB;IACxB,2BAA2B;IAC3B,gCAAgC;IAChC,sBAAsB;CACvB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IAC7D,kBAAkB;IAClB,MAAM;CACP,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAgC,IAAI,GAAG,CAAC;IAC7E,CAAC,YAAY,EAAE,iDAAiD,CAAC;IACjE,CAAC,yBAAyB,EAAE,wCAAwC,CAAC;IACrE;QACE,eAAe;QACf,oEAAoE;YAClE,2CAA2C;KAC9C;IACD,CAAC,yBAAyB,EAAE,0CAA0C,CAAC;IACvE,CAAC,kBAAkB,EAAE,0CAA0C,CAAC;IAChE,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;IAC1D;QACE,mBAAmB;QACnB,wEAAwE;KACzE;IACD;QACE,kCAAkC;QAClC,wEAAwE;KACzE;IACD,CAAC,yBAAyB,EAAE,4CAA4C,CAAC;IACzE,CAAC,sBAAsB,EAAE,wCAAwC,CAAC;IAClE,CAAC,uBAAuB,EAAE,0CAA0C,CAAC;IACrE,CAAC,4BAA4B,EAAE,0CAA0C,CAAC;IAC1E,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;IACzE;QACE,yBAAyB;QACzB,yEAAyE;KAC1E;IACD;QACE,mBAAmB;QACnB,yEAAyE;KAC1E;IACD,CAAC,mBAAmB,EAAE,6CAA6C,CAAC;IACpE,CAAC,0BAA0B,EAAE,qCAAqC,CAAC;IACnE;QACE,yBAAyB;QACzB,wEAAwE;YACtE,kEAAkE;KACrE;CACF,CAAC,CAAC"}
|
|
@@ -57,7 +57,7 @@ export class CreateBucketCommandHandler {
|
|
|
57
57
|
const bucket = new SimS3Bucket({
|
|
58
58
|
bucketName,
|
|
59
59
|
accountRegionScope: this.accountRegionScope,
|
|
60
|
-
|
|
60
|
+
clock: this.background,
|
|
61
61
|
});
|
|
62
62
|
this.buckets.set(bucketName, bucket);
|
|
63
63
|
this.s3GlobalRegistry.registerBucket(bucketName, this.accountRegionScope);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-bucket.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/create-bucket/create-bucket.handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAGvE,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mEAAmE,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EACL,kBAAkB,GAEnB,MAAM,wDAAwD,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAUjF;;;;GAIG;AACH,MAAM,OAAO,0BAA0B;IAIpB,kBAAkB,CAA2B;IAC7C,OAAO,CAA2B;IAClC,gBAAgB,CAAsB;IACtC,GAAG,CAA0B;IAC7B,UAAU,CAAsB;IAEjD,YAAY,UAAgD;QAC1D,MAAM,EACJ,kBAAkB,EAClB,OAAO,EACP,gBAAgB,EAChB,GAAG,GAAG,IAAI,kBAAkB,EAAE,EAC9B,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,UAAU,CAAC;QACf,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAA+B,EAC/B,OAA6B;QAE7B,aAAa,CACX,OAAO,CAAC,KAAK,CAAC,MAAM,EACpB,2CAA2C,CAC5C,CAAC;QAEF,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QACxC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,gBAAgB,UAAU,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAClC,MAAM,EAAE,iBAAiB;YACzB,QAAQ;YACR,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,gBAAgB,EAAE,qBAAqB,CAAC,OAAO,CAAC;SACjD,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,kBAAkB,CAAC;gBAC3B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;gBACpC,MAAM,EAAE,iBAAiB;gBACzB,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAED,MAAM,2BAA2B,GAAG,IAAI,2BAA2B,CAAC;YAClE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC,CAAC;QACH,2BAA2B,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;QAEnE,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC;YAC7B,UAAU;YACV,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,
|
|
1
|
+
{"version":3,"file":"create-bucket.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/create-bucket/create-bucket.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* Minimal structural sim S3 DeleteBucketLifecycle command.
|
|
4
|
+
*/
|
|
5
|
+
export interface SimDeleteBucketLifecycleCommand {
|
|
6
|
+
readonly input: SimDeleteBucketLifecycleCommandInput;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Minimal structural sim S3 DeleteBucketLifecycle input.
|
|
10
|
+
*/
|
|
11
|
+
export interface SimDeleteBucketLifecycleCommandInput {
|
|
12
|
+
readonly Bucket?: string | undefined;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Minimal structural sim S3 DeleteBucketLifecycle output.
|
|
16
|
+
*/
|
|
17
|
+
export interface SimDeleteBucketLifecycleCommandOutput {
|
|
18
|
+
readonly $metadata: SimResponseMetadata;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=delete-bucket-lifecycle.command.d.ts.map
|
package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-bucket-lifecycle.command.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,KAAK,EAAE,oCAAoC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC"}
|
package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-bucket-lifecycle.command.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
|
+
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
3
|
+
import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
|
|
4
|
+
import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
5
|
+
import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
|
|
6
|
+
import type { SimDeleteBucketLifecycleCommand, SimDeleteBucketLifecycleCommandOutput } from "./delete-bucket-lifecycle.command.js";
|
|
7
|
+
interface DeleteBucketLifecycleHandlerProperties {
|
|
8
|
+
readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
|
|
9
|
+
readonly iam?: SimIamInterServiceAuthZ;
|
|
10
|
+
readonly background?: BackgroundScheduler;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Simulated S3 DeleteBucketLifecycleCommand handler.
|
|
14
|
+
*/
|
|
15
|
+
export declare class DeleteBucketLifecycleCommandHandler implements CommandHandler<SimDeleteBucketLifecycleCommand, SimDeleteBucketLifecycleCommandOutput> {
|
|
16
|
+
private readonly buckets;
|
|
17
|
+
private readonly authorizer;
|
|
18
|
+
private readonly background;
|
|
19
|
+
constructor(properties: DeleteBucketLifecycleHandlerProperties);
|
|
20
|
+
/**
|
|
21
|
+
* Authorize and remove a Bucket's lifecycle rules.
|
|
22
|
+
*
|
|
23
|
+
* Real S3 DeleteBucketLifecycle is idempotent, so a Bucket that had no rules
|
|
24
|
+
* to remove is answered the same way as one that did.
|
|
25
|
+
*/
|
|
26
|
+
handle(command: SimDeleteBucketLifecycleCommand, options?: SimS3RequestOptions): Promise<SimDeleteBucketLifecycleCommandOutput>;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=delete-bucket-lifecycle.handler.d.ts.map
|
package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-bucket-lifecycle.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAEtG,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EACV,+BAA+B,EAC/B,qCAAqC,EACtC,MAAM,sCAAsC,CAAC;AAE9C,UAAU,sCAAsC;IAC9C,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;GAEG;AACH,qBAAa,mCAAoC,YAAW,cAAc,CACxE,+BAA+B,EAC/B,qCAAqC,CACtC;IACC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,sCAAsC,EAU7D;IAED;;;;;OAKG;IACG,MAAM,CACV,OAAO,EAAE,+BAA+B,EACxC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,qCAAqC,CAAC,CAkBhD;CACF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
2
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
3
|
+
import { SimIamAllowAllAuth } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
4
|
+
import { SimS3LifecycleAuthorizer } from "../lifecycle/sim-s3-lifecycle-authorizer.js";
|
|
5
|
+
import { requireSimS3Bucket } from "../require-sim-s3-bucket.js";
|
|
6
|
+
/**
|
|
7
|
+
* Simulated S3 DeleteBucketLifecycleCommand handler.
|
|
8
|
+
*/
|
|
9
|
+
export class DeleteBucketLifecycleCommandHandler {
|
|
10
|
+
buckets;
|
|
11
|
+
authorizer;
|
|
12
|
+
background;
|
|
13
|
+
constructor(properties) {
|
|
14
|
+
const { buckets, iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
|
|
15
|
+
this.buckets = buckets;
|
|
16
|
+
this.authorizer = new SimS3LifecycleAuthorizer({ iam });
|
|
17
|
+
this.background = background;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Authorize and remove a Bucket's lifecycle rules.
|
|
21
|
+
*
|
|
22
|
+
* Real S3 DeleteBucketLifecycle is idempotent, so a Bucket that had no rules
|
|
23
|
+
* to remove is answered the same way as one that did.
|
|
24
|
+
*/
|
|
25
|
+
async handle(command, options) {
|
|
26
|
+
assertDefined(command.input.Bucket, "DeleteBucketLifecycleCommand.input.Bucket");
|
|
27
|
+
const bucketName = command.input.Bucket;
|
|
28
|
+
const bucket = requireSimS3Bucket(this.buckets, bucketName);
|
|
29
|
+
await this.background.sequence();
|
|
30
|
+
this.authorizer.authorizeWrite(bucket, options);
|
|
31
|
+
bucket.deleteLifecycle();
|
|
32
|
+
return {
|
|
33
|
+
$metadata: {},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=delete-bucket-lifecycle.handler.js.map
|
package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-bucket-lifecycle.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAGvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAK5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAYjE;;GAEG;AACH,MAAM,OAAO,mCAAmC;IAI7B,OAAO,CAAoC;IAC3C,UAAU,CAA2B;IACrC,UAAU,CAAsB;IAEjD,YAAY,UAAkD;QAC5D,MAAM,EACJ,OAAO,EACP,GAAG,GAAG,IAAI,kBAAkB,EAAE,EAC9B,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,UAAU,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAwB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,OAAwC,EACxC,OAA6B;QAE7B,aAAa,CACX,OAAO,CAAC,KAAK,CAAC,MAAM,EACpB,2CAA2C,CAC5C,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,MAAyB,CAAC;QAC3D,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEhD,MAAM,CAAC,eAAe,EAAE,CAAC;QAEzB,OAAO;YACL,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
|
|
2
|
+
import type { SimS3LifecycleRule } from "../put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.command.js";
|
|
3
|
+
/**
|
|
4
|
+
* Minimal structural sim S3 GetBucketLifecycleConfiguration command.
|
|
5
|
+
*/
|
|
6
|
+
export interface SimGetBucketLifecycleConfigurationCommand {
|
|
7
|
+
readonly input: SimGetBucketLifecycleConfigurationCommandInput;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Minimal structural sim S3 GetBucketLifecycleConfiguration input.
|
|
11
|
+
*/
|
|
12
|
+
export interface SimGetBucketLifecycleConfigurationCommandInput {
|
|
13
|
+
readonly Bucket?: string | undefined;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Minimal structural sim S3 GetBucketLifecycleConfiguration output.
|
|
17
|
+
*
|
|
18
|
+
* The rules come back at the top level rather than under a
|
|
19
|
+
* `LifecycleConfiguration`, which is the asymmetry real S3 has between putting
|
|
20
|
+
* a configuration and reading one.
|
|
21
|
+
*/
|
|
22
|
+
export interface SimGetBucketLifecycleConfigurationCommandOutput {
|
|
23
|
+
readonly Rules: readonly SimS3LifecycleRule[];
|
|
24
|
+
readonly $metadata: SimResponseMetadata;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=get-bucket-lifecycle-configuration.command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-bucket-lifecycle-configuration.command.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qFAAqF,CAAC;AAE9H;;GAEG;AACH,MAAM,WAAW,yCAAyC;IACxD,QAAQ,CAAC,KAAK,EAAE,8CAA8C,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,8CAA8C;IAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,+CAA+C;IAC9D,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-bucket-lifecycle-configuration.command.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.command.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
|
+
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
3
|
+
import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
|
|
4
|
+
import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
5
|
+
import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
|
|
6
|
+
import type { SimGetBucketLifecycleConfigurationCommand, SimGetBucketLifecycleConfigurationCommandOutput } from "./get-bucket-lifecycle-configuration.command.js";
|
|
7
|
+
interface GetBucketLifecycleConfigurationHandlerProperties {
|
|
8
|
+
readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
|
|
9
|
+
readonly iam?: SimIamInterServiceAuthZ;
|
|
10
|
+
readonly background?: BackgroundScheduler;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Simulated S3 GetBucketLifecycleConfigurationCommand handler.
|
|
14
|
+
*/
|
|
15
|
+
export declare class GetBucketLifecycleConfigurationCommandHandler implements CommandHandler<SimGetBucketLifecycleConfigurationCommand, SimGetBucketLifecycleConfigurationCommandOutput> {
|
|
16
|
+
private readonly buckets;
|
|
17
|
+
private readonly authorizer;
|
|
18
|
+
private readonly background;
|
|
19
|
+
constructor(properties: GetBucketLifecycleConfigurationHandlerProperties);
|
|
20
|
+
/**
|
|
21
|
+
* Authorize and return a Bucket's lifecycle rules.
|
|
22
|
+
*
|
|
23
|
+
* A Bucket carrying no rules is reported as NoSuchLifecycleConfiguration
|
|
24
|
+
* rather than an empty list, which is how real S3 separates a Bucket nobody
|
|
25
|
+
* configured from one configured to do nothing.
|
|
26
|
+
*/
|
|
27
|
+
handle(command: SimGetBucketLifecycleConfigurationCommand, options?: SimS3RequestOptions): Promise<SimGetBucketLifecycleConfigurationCommandOutput>;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=get-bucket-lifecycle-configuration.handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-bucket-lifecycle-configuration.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAEtG,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,KAAK,EACV,yCAAyC,EACzC,+CAA+C,EAChD,MAAM,iDAAiD,CAAC;AAEzD,UAAU,gDAAgD;IACxD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;GAEG;AACH,qBAAa,6CAA8C,YAAW,cAAc,CAClF,yCAAyC,EACzC,+CAA+C,CAChD;IACC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,gDAAgD,EAUvE;IAED;;;;;;OAMG;IACG,MAAM,CACV,OAAO,EAAE,yCAAyC,EAClD,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,+CAA+C,CAAC,CAwB1D;CACF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
2
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
3
|
+
import { SimIamAllowAllAuth } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
4
|
+
import { SimS3NoSuchLifecycleConfiguration } from "../../error/sim-s3.error.js";
|
|
5
|
+
import { SimS3LifecycleAuthorizer } from "../lifecycle/sim-s3-lifecycle-authorizer.js";
|
|
6
|
+
import { requireSimS3Bucket } from "../require-sim-s3-bucket.js";
|
|
7
|
+
/**
|
|
8
|
+
* Simulated S3 GetBucketLifecycleConfigurationCommand handler.
|
|
9
|
+
*/
|
|
10
|
+
export class GetBucketLifecycleConfigurationCommandHandler {
|
|
11
|
+
buckets;
|
|
12
|
+
authorizer;
|
|
13
|
+
background;
|
|
14
|
+
constructor(properties) {
|
|
15
|
+
const { buckets, iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
|
|
16
|
+
this.buckets = buckets;
|
|
17
|
+
this.authorizer = new SimS3LifecycleAuthorizer({ iam });
|
|
18
|
+
this.background = background;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Authorize and return a Bucket's lifecycle rules.
|
|
22
|
+
*
|
|
23
|
+
* A Bucket carrying no rules is reported as NoSuchLifecycleConfiguration
|
|
24
|
+
* rather than an empty list, which is how real S3 separates a Bucket nobody
|
|
25
|
+
* configured from one configured to do nothing.
|
|
26
|
+
*/
|
|
27
|
+
async handle(command, options) {
|
|
28
|
+
assertDefined(command.input.Bucket, "GetBucketLifecycleConfigurationCommand.input.Bucket");
|
|
29
|
+
const bucketName = command.input.Bucket;
|
|
30
|
+
const bucket = requireSimS3Bucket(this.buckets, bucketName);
|
|
31
|
+
await this.background.sequence();
|
|
32
|
+
this.authorizer.authorizeRead(bucket, options);
|
|
33
|
+
const lifecycle = bucket.getLifecycle();
|
|
34
|
+
if (lifecycle.isEmpty) {
|
|
35
|
+
throw new SimS3NoSuchLifecycleConfiguration(`No lifecycle configuration on S3 Bucket ${bucketName}`);
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
Rules: lifecycle.rules,
|
|
39
|
+
$metadata: {},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=get-bucket-lifecycle-configuration.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-bucket-lifecycle-configuration.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAGvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAK5F,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAYjE;;GAEG;AACH,MAAM,OAAO,6CAA6C;IAIvC,OAAO,CAAoC;IAC3C,UAAU,CAA2B;IACrC,UAAU,CAAsB;IAEjD,YAAY,UAA4D;QACtE,MAAM,EACJ,OAAO,EACP,GAAG,GAAG,IAAI,kBAAkB,EAAE,EAC9B,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,UAAU,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAwB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,OAAkD,EAClD,OAA6B;QAE7B,aAAa,CACX,OAAO,CAAC,KAAK,CAAC,MAAM,EACpB,qDAAqD,CACtD,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,MAAyB,CAAC;QAC3D,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,iCAAiC,CACzC,2CAA2C,UAAU,EAAE,CACxD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
2
|
+
import type { SimS3Bucket } from "../../bucket/sim-s3-bucket.js";
|
|
3
|
+
import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
|
|
4
|
+
interface SimS3LifecycleAuthorizerProperties {
|
|
5
|
+
readonly iam: SimIamInterServiceAuthZ;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Applies IAM authorization to the S3 lifecycle configuration commands.
|
|
9
|
+
*
|
|
10
|
+
* Reading is governed by s3:GetLifecycleConfiguration. Both replacing and
|
|
11
|
+
* removing the configuration are governed by s3:PutLifecycleConfiguration:
|
|
12
|
+
* real S3 has no separate delete permission, so removing the rules needs
|
|
13
|
+
* exactly what setting them needs. Neither action name carries "Bucket", which
|
|
14
|
+
* is where they differ from the rest of the Bucket configuration actions.
|
|
15
|
+
*/
|
|
16
|
+
export declare class SimS3LifecycleAuthorizer {
|
|
17
|
+
private static readonly readAction;
|
|
18
|
+
private static readonly writeAction;
|
|
19
|
+
private readonly iam;
|
|
20
|
+
constructor(properties: SimS3LifecycleAuthorizerProperties);
|
|
21
|
+
/**
|
|
22
|
+
* Ensure the caller may read the Bucket's lifecycle rules.
|
|
23
|
+
*/
|
|
24
|
+
authorizeRead(bucket: SimS3Bucket, options?: SimS3RequestOptions): void;
|
|
25
|
+
/**
|
|
26
|
+
* Ensure the caller may replace or remove the Bucket's lifecycle rules.
|
|
27
|
+
*/
|
|
28
|
+
authorizeWrite(bucket: SimS3Bucket, options?: SimS3RequestOptions): void;
|
|
29
|
+
private authorize;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=sim-s3-lifecycle-authorizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-s3-lifecycle-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAGtG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAkC;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAErE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAE9C,YAAY,UAAU,EAAE,kCAAkC,EAEzD;IAED;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAEtE;IAED;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAEvE;IAED,OAAO,CAAC,SAAS;CAsBlB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { SimIamAccessDenied } from "../../../iam/error/sim-iam.error.js";
|
|
2
|
+
import { simS3BucketArn } from "../../bucket/sim-s3-bucket-arn.js";
|
|
3
|
+
import { simS3BucketResourcePolicies } from "../authorize/sim-s3-bucket-resource-policies.js";
|
|
4
|
+
import { simS3ConditionContext } from "../authorize/sim-s3-condition-context.js";
|
|
5
|
+
/**
|
|
6
|
+
* Applies IAM authorization to the S3 lifecycle configuration commands.
|
|
7
|
+
*
|
|
8
|
+
* Reading is governed by s3:GetLifecycleConfiguration. Both replacing and
|
|
9
|
+
* removing the configuration are governed by s3:PutLifecycleConfiguration:
|
|
10
|
+
* real S3 has no separate delete permission, so removing the rules needs
|
|
11
|
+
* exactly what setting them needs. Neither action name carries "Bucket", which
|
|
12
|
+
* is where they differ from the rest of the Bucket configuration actions.
|
|
13
|
+
*/
|
|
14
|
+
export class SimS3LifecycleAuthorizer {
|
|
15
|
+
static readAction = "s3:GetLifecycleConfiguration";
|
|
16
|
+
static writeAction = "s3:PutLifecycleConfiguration";
|
|
17
|
+
iam;
|
|
18
|
+
constructor(properties) {
|
|
19
|
+
this.iam = properties.iam;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Ensure the caller may read the Bucket's lifecycle rules.
|
|
23
|
+
*/
|
|
24
|
+
authorizeRead(bucket, options) {
|
|
25
|
+
this.authorize(SimS3LifecycleAuthorizer.readAction, bucket, options);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Ensure the caller may replace or remove the Bucket's lifecycle rules.
|
|
29
|
+
*/
|
|
30
|
+
authorizeWrite(bucket, options) {
|
|
31
|
+
this.authorize(SimS3LifecycleAuthorizer.writeAction, bucket, options);
|
|
32
|
+
}
|
|
33
|
+
authorize(action, bucket, options) {
|
|
34
|
+
const resource = simS3BucketArn(bucket.bucketName);
|
|
35
|
+
const decision = this.iam.authorize({
|
|
36
|
+
action,
|
|
37
|
+
resource,
|
|
38
|
+
caller: options?.caller,
|
|
39
|
+
conditionContext: simS3ConditionContext(options),
|
|
40
|
+
resourcePolicies: simS3BucketResourcePolicies(bucket),
|
|
41
|
+
});
|
|
42
|
+
if (decision.isDenied) {
|
|
43
|
+
throw new SimIamAccessDenied({
|
|
44
|
+
principal: decision.caller.principal,
|
|
45
|
+
action,
|
|
46
|
+
resource,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=sim-s3-lifecycle-authorizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-s3-lifecycle-authorizer.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAOjF;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAC3B,MAAM,CAAU,UAAU,GAAG,8BAA8B,CAAC;IAC5D,MAAM,CAAU,WAAW,GAAG,8BAA8B,CAAC;IAEpD,GAAG,CAA0B;IAE9C,YAAY,UAA8C;QACxD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAmB,EAAE,OAA6B;QAC9D,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAmB,EAAE,OAA6B;QAC/D,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAEO,SAAS,CACf,MAAc,EACd,MAAmB,EACnB,OAA6B;QAE7B,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAClC,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,gBAAgB,EAAE,qBAAqB,CAAC,OAAO,CAAC;YAChD,gBAAgB,EAAE,2BAA2B,CAAC,MAAM,CAAC;SACtD,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,kBAAkB,CAAC;gBAC3B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;gBACpC,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
|