@kensio/yulin 0.40.0 → 0.41.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 (129) hide show
  1. package/README.md +1 -0
  2. package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
  3. package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
  4. package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
  5. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +8 -0
  6. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  7. package/dist/service/aws/factory/sim-aws-service-factory.js +14 -0
  8. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  9. package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
  10. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  11. package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
  12. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  13. package/dist/service/aws/sim-aws.d.ts +5 -0
  14. package/dist/service/aws/sim-aws.d.ts.map +1 -1
  15. package/dist/service/aws/sim-aws.js +6 -0
  16. package/dist/service/aws/sim-aws.js.map +1 -1
  17. package/dist/service/ssm/command/authorize/sim-ssm-authorizer.d.ts +44 -0
  18. package/dist/service/ssm/command/authorize/sim-ssm-authorizer.d.ts.map +1 -0
  19. package/dist/service/ssm/command/authorize/sim-ssm-authorizer.js +65 -0
  20. package/dist/service/ssm/command/authorize/sim-ssm-authorizer.js.map +1 -0
  21. package/dist/service/ssm/command/parameter/parameter.command.d.ts +98 -0
  22. package/dist/service/ssm/command/parameter/parameter.command.d.ts.map +1 -0
  23. package/dist/service/ssm/command/parameter/parameter.command.js +2 -0
  24. package/dist/service/ssm/command/parameter/parameter.command.js.map +1 -0
  25. package/dist/service/ssm/command/parameter/query.command.d.ts +85 -0
  26. package/dist/service/ssm/command/parameter/query.command.d.ts.map +1 -0
  27. package/dist/service/ssm/command/parameter/query.command.js +2 -0
  28. package/dist/service/ssm/command/parameter/query.command.js.map +1 -0
  29. package/dist/service/ssm/command/parameter/sim-ssm-delete-parameter-commands.d.ts +38 -0
  30. package/dist/service/ssm/command/parameter/sim-ssm-delete-parameter-commands.d.ts.map +1 -0
  31. package/dist/service/ssm/command/parameter/sim-ssm-delete-parameter-commands.js +62 -0
  32. package/dist/service/ssm/command/parameter/sim-ssm-delete-parameter-commands.js.map +1 -0
  33. package/dist/service/ssm/command/parameter/sim-ssm-describe-parameters.d.ts +43 -0
  34. package/dist/service/ssm/command/parameter/sim-ssm-describe-parameters.d.ts.map +1 -0
  35. package/dist/service/ssm/command/parameter/sim-ssm-describe-parameters.js +63 -0
  36. package/dist/service/ssm/command/parameter/sim-ssm-describe-parameters.js.map +1 -0
  37. package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.d.ts +37 -0
  38. package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.d.ts.map +1 -0
  39. package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.js +59 -0
  40. package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.js.map +1 -0
  41. package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.d.ts +34 -0
  42. package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.d.ts.map +1 -0
  43. package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.js +50 -0
  44. package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.js.map +1 -0
  45. package/dist/service/ssm/command/parameter/sim-ssm-parameter-names.d.ts +5 -0
  46. package/dist/service/ssm/command/parameter/sim-ssm-parameter-names.d.ts.map +1 -0
  47. package/dist/service/ssm/command/parameter/sim-ssm-parameter-names.js +22 -0
  48. package/dist/service/ssm/command/parameter/sim-ssm-parameter-names.js.map +1 -0
  49. package/dist/service/ssm/command/parameter/sim-ssm-parameter-page.d.ts +35 -0
  50. package/dist/service/ssm/command/parameter/sim-ssm-parameter-page.d.ts.map +1 -0
  51. package/dist/service/ssm/command/parameter/sim-ssm-parameter-page.js +51 -0
  52. package/dist/service/ssm/command/parameter/sim-ssm-parameter-page.js.map +1 -0
  53. package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.d.ts +49 -0
  54. package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.d.ts.map +1 -0
  55. package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.js +55 -0
  56. package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.js.map +1 -0
  57. package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.d.ts +33 -0
  58. package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.d.ts.map +1 -0
  59. package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.js +55 -0
  60. package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.js.map +1 -0
  61. package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.d.ts +34 -0
  62. package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.d.ts.map +1 -0
  63. package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.js +49 -0
  64. package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.js.map +1 -0
  65. package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.d.ts +19 -0
  66. package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.d.ts.map +1 -0
  67. package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.js +48 -0
  68. package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.js.map +1 -0
  69. package/dist/service/ssm/command/sim-ssm-command.types.d.ts +6 -0
  70. package/dist/service/ssm/command/sim-ssm-command.types.d.ts.map +1 -0
  71. package/dist/service/ssm/command/sim-ssm-command.types.js +2 -0
  72. package/dist/service/ssm/command/sim-ssm-command.types.js.map +1 -0
  73. package/dist/service/ssm/error/sim-ssm.error.d.ts +88 -0
  74. package/dist/service/ssm/error/sim-ssm.error.d.ts.map +1 -0
  75. package/dist/service/ssm/error/sim-ssm.error.js +101 -0
  76. package/dist/service/ssm/error/sim-ssm.error.js.map +1 -0
  77. package/dist/service/ssm/index.d.ts +10 -0
  78. package/dist/service/ssm/index.d.ts.map +1 -0
  79. package/dist/service/ssm/index.js +10 -0
  80. package/dist/service/ssm/index.js.map +1 -0
  81. package/dist/service/ssm/parameter/sim-ssm-parameter-arn.d.ts +33 -0
  82. package/dist/service/ssm/parameter/sim-ssm-parameter-arn.d.ts.map +1 -0
  83. package/dist/service/ssm/parameter/sim-ssm-parameter-arn.js +34 -0
  84. package/dist/service/ssm/parameter/sim-ssm-parameter-arn.js.map +1 -0
  85. package/dist/service/ssm/parameter/sim-ssm-parameter-name.d.ts +48 -0
  86. package/dist/service/ssm/parameter/sim-ssm-parameter-name.d.ts.map +1 -0
  87. package/dist/service/ssm/parameter/sim-ssm-parameter-name.js +117 -0
  88. package/dist/service/ssm/parameter/sim-ssm-parameter-name.js.map +1 -0
  89. package/dist/service/ssm/parameter/sim-ssm-parameter-path.d.ts +36 -0
  90. package/dist/service/ssm/parameter/sim-ssm-parameter-path.d.ts.map +1 -0
  91. package/dist/service/ssm/parameter/sim-ssm-parameter-path.js +56 -0
  92. package/dist/service/ssm/parameter/sim-ssm-parameter-path.js.map +1 -0
  93. package/dist/service/ssm/parameter/sim-ssm-parameter-selector.d.ts +34 -0
  94. package/dist/service/ssm/parameter/sim-ssm-parameter-selector.d.ts.map +1 -0
  95. package/dist/service/ssm/parameter/sim-ssm-parameter-selector.js +63 -0
  96. package/dist/service/ssm/parameter/sim-ssm-parameter-selector.js.map +1 -0
  97. package/dist/service/ssm/parameter/sim-ssm-parameter-store.d.ts +46 -0
  98. package/dist/service/ssm/parameter/sim-ssm-parameter-store.d.ts.map +1 -0
  99. package/dist/service/ssm/parameter/sim-ssm-parameter-store.js +66 -0
  100. package/dist/service/ssm/parameter/sim-ssm-parameter-store.js.map +1 -0
  101. package/dist/service/ssm/parameter/sim-ssm-parameter-type.d.ts +25 -0
  102. package/dist/service/ssm/parameter/sim-ssm-parameter-type.d.ts.map +1 -0
  103. package/dist/service/ssm/parameter/sim-ssm-parameter-type.js +42 -0
  104. package/dist/service/ssm/parameter/sim-ssm-parameter-type.js.map +1 -0
  105. package/dist/service/ssm/parameter/sim-ssm-parameter-value.d.ts +14 -0
  106. package/dist/service/ssm/parameter/sim-ssm-parameter-value.d.ts.map +1 -0
  107. package/dist/service/ssm/parameter/sim-ssm-parameter-value.js +36 -0
  108. package/dist/service/ssm/parameter/sim-ssm-parameter-value.js.map +1 -0
  109. package/dist/service/ssm/parameter/sim-ssm-parameter-version.d.ts +40 -0
  110. package/dist/service/ssm/parameter/sim-ssm-parameter-version.d.ts.map +1 -0
  111. package/dist/service/ssm/parameter/sim-ssm-parameter-version.js +32 -0
  112. package/dist/service/ssm/parameter/sim-ssm-parameter-version.js.map +1 -0
  113. package/dist/service/ssm/parameter/sim-ssm-parameter-writer.d.ts +52 -0
  114. package/dist/service/ssm/parameter/sim-ssm-parameter-writer.d.ts.map +1 -0
  115. package/dist/service/ssm/parameter/sim-ssm-parameter-writer.js +79 -0
  116. package/dist/service/ssm/parameter/sim-ssm-parameter-writer.js.map +1 -0
  117. package/dist/service/ssm/parameter/sim-ssm-parameter.d.ts +41 -0
  118. package/dist/service/ssm/parameter/sim-ssm-parameter.d.ts.map +1 -0
  119. package/dist/service/ssm/parameter/sim-ssm-parameter.js +57 -0
  120. package/dist/service/ssm/parameter/sim-ssm-parameter.js.map +1 -0
  121. package/dist/service/ssm/sdk/sim-ssm-sdk-command-router.d.ts +18 -0
  122. package/dist/service/ssm/sdk/sim-ssm-sdk-command-router.d.ts.map +1 -0
  123. package/dist/service/ssm/sdk/sim-ssm-sdk-command-router.js +52 -0
  124. package/dist/service/ssm/sdk/sim-ssm-sdk-command-router.js.map +1 -0
  125. package/dist/service/ssm/sim-ssm.d.ts +77 -0
  126. package/dist/service/ssm/sim-ssm.d.ts.map +1 -0
  127. package/dist/service/ssm/sim-ssm.js +129 -0
  128. package/dist/service/ssm/sim-ssm.js.map +1 -0
  129. package/package.json +6 -1
@@ -0,0 +1,36 @@
1
+ import { SimSsmValidationException } from "../error/sim-ssm.error.js";
2
+ /**
3
+ * The content size a standard tier parameter may hold.
4
+ *
5
+ * This is the limit people actually hit, usually by putting a whole JSON
6
+ * configuration blob in one parameter. The advanced tier's 8KB is not
7
+ * simulated, so this is the only limit here.
8
+ */
9
+ const maxValueBytes = 4096;
10
+ /**
11
+ * The value held by one version of a simulated parameter.
12
+ *
13
+ * A `StringList` value is a single comma-separated string here, as it is on
14
+ * real Parameter Store. It is stored and returned that way rather than split
15
+ * into an array, so handler code that splits it on commas is exercising the
16
+ * same shape it would get from AWS.
17
+ */
18
+ export class SimSsmParameterValue {
19
+ value;
20
+ constructor(value) {
21
+ this.value = SimSsmParameterValue.validated(value);
22
+ }
23
+ static validated(value) {
24
+ if (value === undefined || value === "") {
25
+ throw new SimSsmValidationException("A parameter Value is required and cannot be empty");
26
+ }
27
+ const byteLength = Buffer.byteLength(value, "utf8");
28
+ if (byteLength > maxValueBytes) {
29
+ throw new SimSsmValidationException(`Parameter value is ${String(byteLength)} bytes; a standard tier ` +
30
+ `parameter holds at most ${String(maxValueBytes)} bytes. The ` +
31
+ `advanced tier is not simulated.`);
32
+ }
33
+ return value;
34
+ }
35
+ }
36
+ //# sourceMappingURL=sim-ssm-parameter-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-ssm-parameter-value.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAoB;IACf,KAAK,CAAS;IAE9B,YAAY,KAAyB;QACnC,IAAI,CAAC,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,KAAyB;QAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,yBAAyB,CACjC,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEpD,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;YAC/B,MAAM,IAAI,yBAAyB,CACjC,sBAAsB,MAAM,CAAC,UAAU,CAAC,0BAA0B;gBAChE,2BAA2B,MAAM,CAAC,aAAa,CAAC,cAAc;gBAC9D,iCAAiC,CACpC,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,40 @@
1
+ import type { SimSsmParameterValue } from "./sim-ssm-parameter-value.js";
2
+ /**
3
+ * The data type of a parameter's value.
4
+ *
5
+ * Only plain text is simulated. `aws:ec2:image` and `aws:ssm:integration` are
6
+ * validated against other services by real Parameter Store, which this
7
+ * simulation does not do.
8
+ */
9
+ export declare const ssmTextDataType = "text";
10
+ /**
11
+ * The details one write of a parameter carries, beyond its value.
12
+ */
13
+ export interface SimSsmParameterVersionDetails {
14
+ readonly description?: string | undefined;
15
+ readonly dataType?: string | undefined;
16
+ readonly lastModifiedUser?: string | undefined;
17
+ }
18
+ interface SimSsmParameterVersionProperties extends SimSsmParameterVersionDetails {
19
+ readonly version: number;
20
+ readonly value: SimSsmParameterValue;
21
+ readonly lastModifiedDate: Date;
22
+ }
23
+ /**
24
+ * One version of a simulated parameter.
25
+ *
26
+ * Every write makes a new version rather than replacing the value, because
27
+ * that is what makes the `name:version` selector mean anything: a caller can
28
+ * still read what the parameter said two deployments ago.
29
+ */
30
+ export declare class SimSsmParameterVersion {
31
+ readonly version: number;
32
+ readonly value: SimSsmParameterValue;
33
+ readonly lastModifiedDate: Date;
34
+ readonly lastModifiedUser: string | undefined;
35
+ readonly description: string | undefined;
36
+ readonly dataType: string;
37
+ constructor(properties: SimSsmParameterVersionProperties);
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=sim-ssm-parameter-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-ssm-parameter-version.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,SAAS,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAED,UAAU,gCAAiC,SAAQ,6BAA6B;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC;CACjC;AAED;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACjC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,KAAK,EAAE,oBAAoB,CAAC;IAC5C,SAAgB,gBAAgB,EAAE,IAAI,CAAC;IACvC,SAAgB,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrD,SAAgB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC,YAAY,UAAU,EAAE,gCAAgC,EAOvD;CACF"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The data type of a parameter's value.
3
+ *
4
+ * Only plain text is simulated. `aws:ec2:image` and `aws:ssm:integration` are
5
+ * validated against other services by real Parameter Store, which this
6
+ * simulation does not do.
7
+ */
8
+ export const ssmTextDataType = "text";
9
+ /**
10
+ * One version of a simulated parameter.
11
+ *
12
+ * Every write makes a new version rather than replacing the value, because
13
+ * that is what makes the `name:version` selector mean anything: a caller can
14
+ * still read what the parameter said two deployments ago.
15
+ */
16
+ export class SimSsmParameterVersion {
17
+ version;
18
+ value;
19
+ lastModifiedDate;
20
+ lastModifiedUser;
21
+ description;
22
+ dataType;
23
+ constructor(properties) {
24
+ this.version = properties.version;
25
+ this.value = properties.value;
26
+ this.lastModifiedDate = properties.lastModifiedDate;
27
+ this.lastModifiedUser = properties.lastModifiedUser;
28
+ this.description = properties.description;
29
+ this.dataType = properties.dataType ?? ssmTextDataType;
30
+ }
31
+ }
32
+ //# sourceMappingURL=sim-ssm-parameter-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-ssm-parameter-version.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-version.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAiBtC;;;;;;GAMG;AACH,MAAM,OAAO,sBAAsB;IACjB,OAAO,CAAS;IAChB,KAAK,CAAuB;IAC5B,gBAAgB,CAAO;IACvB,gBAAgB,CAAqB;IACrC,WAAW,CAAqB;IAChC,QAAQ,CAAS;IAEjC,YAAY,UAA4C;QACtD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,eAAe,CAAC;IACzD,CAAC;CACF"}
@@ -0,0 +1,52 @@
1
+ import type { SimClock } from "../../../util/clock/sim-clock.js";
2
+ import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
3
+ import type { SimSsmParameterName } from "./sim-ssm-parameter-name.js";
4
+ import type { SimSsmParameterStore } from "./sim-ssm-parameter-store.js";
5
+ import type { SimSsmParameterVersion, SimSsmParameterVersionDetails } from "./sim-ssm-parameter-version.js";
6
+ /**
7
+ * One write of a parameter, as PutParameter describes it.
8
+ */
9
+ export interface SimSsmParameterWrite extends SimSsmParameterVersionDetails {
10
+ readonly name: SimSsmParameterName;
11
+ readonly value: string | undefined;
12
+ readonly type: string | undefined;
13
+ readonly overwrite: boolean | undefined;
14
+ }
15
+ interface SimSsmParameterWriterProperties {
16
+ readonly parameters: SimSsmParameterStore;
17
+ readonly accountRegionScope: SimAwsAccountRegionScope;
18
+ readonly clock: SimClock;
19
+ }
20
+ /**
21
+ * The single path by which a simulated parameter is created or updated.
22
+ *
23
+ * Keeping creation and overwrite in one collaborator is what stops the two
24
+ * drifting apart on the rules that only show up when they meet: a name that is
25
+ * already taken, and a type that cannot change once the parameter exists.
26
+ */
27
+ export declare class SimSsmParameterWriter {
28
+ private readonly parameters;
29
+ private readonly accountRegionScope;
30
+ private readonly clock;
31
+ constructor(properties: SimSsmParameterWriterProperties);
32
+ /**
33
+ * Write a new version of a parameter, creating it if it is new.
34
+ *
35
+ * Everything is validated before anything is stored, so a request refused
36
+ * for its value leaves no half-made parameter behind.
37
+ */
38
+ write(request: SimSsmParameterWrite): SimSsmParameterVersion;
39
+ private parameterFor;
40
+ private created;
41
+ /**
42
+ * Refuse an overwrite that real Parameter Store refuses.
43
+ *
44
+ * A request that leaves out Overwrite is a create, so a name already in use
45
+ * fails rather than quietly replacing what is there. A request naming a
46
+ * different type fails too: Parameter Store has no way to convert a stored
47
+ * parameter, so the caller has to delete it and make a new one.
48
+ */
49
+ private requireOverwriteAllowed;
50
+ }
51
+ export {};
52
+ //# sourceMappingURL=sim-ssm-parameter-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-ssm-parameter-writer.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAM1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGzE,OAAO,KAAK,EACV,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,6BAA6B;IACzE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;CACzC;AAED,UAAU,+BAA+B;IACvC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IAEjC,YAAY,UAAU,EAAE,+BAA+B,EAItD;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,oBAAoB,GAAG,sBAAsB,CAS3D;IAED,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,OAAO;IAYf;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;CA4BhC"}
@@ -0,0 +1,79 @@
1
+ import { SimSsmHierarchyTypeMismatchException, SimSsmParameterAlreadyExists, } from "../error/sim-ssm.error.js";
2
+ import { SimSsmParameter } from "./sim-ssm-parameter.js";
3
+ import { SimSsmParameterType } from "./sim-ssm-parameter-type.js";
4
+ import { SimSsmParameterValue } from "./sim-ssm-parameter-value.js";
5
+ /**
6
+ * The single path by which a simulated parameter is created or updated.
7
+ *
8
+ * Keeping creation and overwrite in one collaborator is what stops the two
9
+ * drifting apart on the rules that only show up when they meet: a name that is
10
+ * already taken, and a type that cannot change once the parameter exists.
11
+ */
12
+ export class SimSsmParameterWriter {
13
+ parameters;
14
+ accountRegionScope;
15
+ clock;
16
+ constructor(properties) {
17
+ this.parameters = properties.parameters;
18
+ this.accountRegionScope = properties.accountRegionScope;
19
+ this.clock = properties.clock;
20
+ }
21
+ /**
22
+ * Write a new version of a parameter, creating it if it is new.
23
+ *
24
+ * Everything is validated before anything is stored, so a request refused
25
+ * for its value leaves no half-made parameter behind.
26
+ */
27
+ write(request) {
28
+ const value = new SimSsmParameterValue(request.value);
29
+ const parameter = this.parameterFor(request);
30
+ return parameter.addVersion(value, this.clock.now(), {
31
+ description: request.description,
32
+ dataType: request.dataType,
33
+ lastModifiedUser: request.lastModifiedUser,
34
+ });
35
+ }
36
+ parameterFor(request) {
37
+ const existing = this.parameters.find(request.name.value);
38
+ if (existing === undefined) {
39
+ return this.created(request);
40
+ }
41
+ this.requireOverwriteAllowed(request, existing);
42
+ return existing;
43
+ }
44
+ created(request) {
45
+ const parameter = new SimSsmParameter({
46
+ name: request.name,
47
+ type: SimSsmParameterType.forNewParameter(request.type),
48
+ accountRegionScope: this.accountRegionScope,
49
+ });
50
+ this.parameters.add(parameter);
51
+ return parameter;
52
+ }
53
+ /**
54
+ * Refuse an overwrite that real Parameter Store refuses.
55
+ *
56
+ * A request that leaves out Overwrite is a create, so a name already in use
57
+ * fails rather than quietly replacing what is there. A request naming a
58
+ * different type fails too: Parameter Store has no way to convert a stored
59
+ * parameter, so the caller has to delete it and make a new one.
60
+ */
61
+ requireOverwriteAllowed(request, existing) {
62
+ if (request.overwrite !== true) {
63
+ throw new SimSsmParameterAlreadyExists(`The parameter '${existing.name.value}' already exists. To overwrite ` +
64
+ `this value, set the Overwrite option in the request to true.`);
65
+ }
66
+ if (request.type === undefined) {
67
+ return;
68
+ }
69
+ const requested = new SimSsmParameterType(request.type);
70
+ if (requested.value === existing.type.value) {
71
+ return;
72
+ }
73
+ throw new SimSsmHierarchyTypeMismatchException(`Parameter '${existing.name.value}' is a ${existing.type.value} ` +
74
+ `parameter and cannot be changed to ${requested.value}. Parameter ` +
75
+ `Store does not support changing a parameter type: create a new, ` +
76
+ `unique parameter instead.`);
77
+ }
78
+ }
79
+ //# sourceMappingURL=sim-ssm-parameter-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-ssm-parameter-writer.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-writer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oCAAoC,EACpC,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAsBpE;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IACf,UAAU,CAAuB;IACjC,kBAAkB,CAA2B;IAC7C,KAAK,CAAW;IAEjC,YAAY,UAA2C;QACrD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAA6B;QACjC,MAAM,KAAK,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE7C,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE;YACnD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,OAA6B;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEhD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,OAAO,CAAC,OAA6B;QAC3C,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,mBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;YACvD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACK,uBAAuB,CAC7B,OAA6B,EAC7B,QAAyB;QAEzB,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,4BAA4B,CACpC,kBAAkB,QAAQ,CAAC,IAAI,CAAC,KAAK,iCAAiC;gBACpE,8DAA8D,CACjE,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,oCAAoC,CAC5C,cAAc,QAAQ,CAAC,IAAI,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG;YAC/D,sCAAsC,SAAS,CAAC,KAAK,cAAc;YACnE,kEAAkE;YAClE,2BAA2B,CAC9B,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,41 @@
1
+ import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
2
+ import { SimSsmParameterArn } from "./sim-ssm-parameter-arn.js";
3
+ import type { SimSsmParameterName } from "./sim-ssm-parameter-name.js";
4
+ import type { SimSsmParameterType } from "./sim-ssm-parameter-type.js";
5
+ import type { SimSsmParameterValue } from "./sim-ssm-parameter-value.js";
6
+ import { SimSsmParameterVersion, type SimSsmParameterVersionDetails } from "./sim-ssm-parameter-version.js";
7
+ interface SimSsmParameterProperties {
8
+ readonly name: SimSsmParameterName;
9
+ readonly type: SimSsmParameterType;
10
+ readonly accountRegionScope: SimAwsAccountRegionScope;
11
+ }
12
+ /**
13
+ * One simulated parameter and its versions.
14
+ *
15
+ * The type belongs to the parameter rather than to a version because real
16
+ * Parameter Store refuses to change it: a `String` parameter cannot be
17
+ * overwritten as a `StringList`, and the caller has to delete it and make a
18
+ * new one.
19
+ */
20
+ export declare class SimSsmParameter {
21
+ readonly name: SimSsmParameterName;
22
+ readonly type: SimSsmParameterType;
23
+ readonly arn: SimSsmParameterArn;
24
+ private readonly versions;
25
+ private latest;
26
+ constructor(properties: SimSsmParameterProperties);
27
+ /**
28
+ * The version a request that names no version reads.
29
+ */
30
+ get currentVersion(): SimSsmParameterVersion;
31
+ /**
32
+ * Add a version holding a new value, and make it the current one.
33
+ */
34
+ addVersion(value: SimSsmParameterValue, lastModifiedDate: Date, details?: SimSsmParameterVersionDetails): SimSsmParameterVersion;
35
+ /**
36
+ * Read one numbered version of this parameter, or refuse.
37
+ */
38
+ versionNumbered(version: number): SimSsmParameterVersion;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=sim-ssm-parameter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-ssm-parameter.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAE1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EACL,sBAAsB,EACtB,KAAK,6BAA6B,EACnC,MAAM,gCAAgC,CAAC;AAExC,UAAU,yBAAyB;IACjC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,SAAgB,IAAI,EAAE,mBAAmB,CAAC;IAC1C,SAAgB,IAAI,EAAE,mBAAmB,CAAC;IAC1C,SAAgB,GAAG,EAAE,kBAAkB,CAAC;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6C;IACtE,OAAO,CAAC,MAAM,CAAK;IAEnB,YAAY,UAAU,EAAE,yBAAyB,EAOhD;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,sBAAsB,CAE3C;IAED;;OAEG;IACH,UAAU,CACR,KAAK,EAAE,oBAAoB,EAC3B,gBAAgB,EAAE,IAAI,EACtB,OAAO,GAAE,6BAAkC,GAC1C,sBAAsB,CAaxB;IAED;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CAUvD;CACF"}
@@ -0,0 +1,57 @@
1
+ import { SimSsmParameterVersionNotFound } from "../error/sim-ssm.error.js";
2
+ import { SimSsmParameterArn } from "./sim-ssm-parameter-arn.js";
3
+ import { SimSsmParameterVersion, } from "./sim-ssm-parameter-version.js";
4
+ /**
5
+ * One simulated parameter and its versions.
6
+ *
7
+ * The type belongs to the parameter rather than to a version because real
8
+ * Parameter Store refuses to change it: a `String` parameter cannot be
9
+ * overwritten as a `StringList`, and the caller has to delete it and make a
10
+ * new one.
11
+ */
12
+ export class SimSsmParameter {
13
+ name;
14
+ type;
15
+ arn;
16
+ versions = new Map();
17
+ latest = 0;
18
+ constructor(properties) {
19
+ this.name = properties.name;
20
+ this.type = properties.type;
21
+ this.arn = new SimSsmParameterArn({
22
+ resource: properties.name.resource,
23
+ accountRegionScope: properties.accountRegionScope,
24
+ });
25
+ }
26
+ /**
27
+ * The version a request that names no version reads.
28
+ */
29
+ get currentVersion() {
30
+ return this.versionNumbered(this.latest);
31
+ }
32
+ /**
33
+ * Add a version holding a new value, and make it the current one.
34
+ */
35
+ addVersion(value, lastModifiedDate, details = {}) {
36
+ this.latest += 1;
37
+ const version = new SimSsmParameterVersion({
38
+ ...details,
39
+ version: this.latest,
40
+ value,
41
+ lastModifiedDate,
42
+ });
43
+ this.versions.set(version.version, version);
44
+ return version;
45
+ }
46
+ /**
47
+ * Read one numbered version of this parameter, or refuse.
48
+ */
49
+ versionNumbered(version) {
50
+ const found = this.versions.get(version);
51
+ if (found === undefined) {
52
+ throw new SimSsmParameterVersionNotFound(`Parameter '${this.name.value}' has no version ${String(version)}`);
53
+ }
54
+ return found;
55
+ }
56
+ }
57
+ //# sourceMappingURL=sim-ssm-parameter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-ssm-parameter.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIhE,OAAO,EACL,sBAAsB,GAEvB,MAAM,gCAAgC,CAAC;AAQxC;;;;;;;GAOG;AACH,MAAM,OAAO,eAAe;IACV,IAAI,CAAsB;IAC1B,IAAI,CAAsB;IAC1B,GAAG,CAAqB;IAEvB,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC9D,MAAM,GAAG,CAAC,CAAC;IAEnB,YAAY,UAAqC;QAC/C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC;YAChC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ;YAClC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;SAClD,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,UAAU,CACR,KAA2B,EAC3B,gBAAsB,EACtB,OAAO,GAAkC,EAAE;QAE3C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAEjB,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC;YACzC,GAAG,OAAO;YACV,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,KAAK;YACL,gBAAgB;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE5C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAe;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,8BAA8B,CACtC,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,oBAAoB,MAAM,CAAC,OAAO,CAAC,EAAE,CACnE,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ import { type SimSdkCommandRoute, type SimSdkCommandRouter } from "../../../sdk/index.js";
2
+ import type { SimSsm } from "../sim-ssm.js";
3
+ /**
4
+ * Routes intercepted SDK Commands to one scoped simulated SSM.
5
+ */
6
+ export declare class SimSsmSdkCommandRouter implements SimSdkCommandRouter {
7
+ private readonly routes;
8
+ constructor(simSsm: SimSsm);
9
+ /**
10
+ * The SDK Command names simulated SSM can handle.
11
+ */
12
+ supportedCommandNames(): readonly string[];
13
+ /**
14
+ * Get the route for an SDK Command name, if simulated SSM supports it.
15
+ */
16
+ route(commandName: string): SimSdkCommandRoute | undefined;
17
+ }
18
+ //# sourceMappingURL=sim-ssm-sdk-command-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-ssm-sdk-command-router.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/sdk/sim-ssm-sdk-command-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;AAY/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IAEjE,YAAY,MAAM,EAAE,MAAM,EA2DzB;IAED;;OAEG;IACH,qBAAqB,IAAI,SAAS,MAAM,EAAE,CAEzC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEzD;CACF"}
@@ -0,0 +1,52 @@
1
+ import { simSdkCallerOptions, } from "../../../sdk/index.js";
2
+ /**
3
+ * Routes intercepted SDK Commands to one scoped simulated SSM.
4
+ */
5
+ export class SimSsmSdkCommandRouter {
6
+ routes;
7
+ constructor(simSsm) {
8
+ this.routes = new Map([
9
+ [
10
+ "PutParameterCommand",
11
+ async (command, context) => await simSsm.putParameter(command, simSdkCallerOptions(context)),
12
+ ],
13
+ [
14
+ "GetParameterCommand",
15
+ async (command, context) => await simSsm.getParameter(command, simSdkCallerOptions(context)),
16
+ ],
17
+ [
18
+ "GetParametersCommand",
19
+ async (command, context) => await simSsm.getParameters(command, simSdkCallerOptions(context)),
20
+ ],
21
+ [
22
+ "GetParametersByPathCommand",
23
+ async (command, context) => await simSsm.getParametersByPath(command, simSdkCallerOptions(context)),
24
+ ],
25
+ [
26
+ "DeleteParameterCommand",
27
+ async (command, context) => await simSsm.deleteParameter(command, simSdkCallerOptions(context)),
28
+ ],
29
+ [
30
+ "DeleteParametersCommand",
31
+ async (command, context) => await simSsm.deleteParameters(command, simSdkCallerOptions(context)),
32
+ ],
33
+ [
34
+ "DescribeParametersCommand",
35
+ async (command, context) => await simSsm.describeParameters(command, simSdkCallerOptions(context)),
36
+ ],
37
+ ]);
38
+ }
39
+ /**
40
+ * The SDK Command names simulated SSM can handle.
41
+ */
42
+ supportedCommandNames() {
43
+ return this.routes.keys().toArray();
44
+ }
45
+ /**
46
+ * Get the route for an SDK Command name, if simulated SSM supports it.
47
+ */
48
+ route(commandName) {
49
+ return this.routes.get(commandName);
50
+ }
51
+ }
52
+ //# sourceMappingURL=sim-ssm-sdk-command-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-ssm-sdk-command-router.js","sourceRoot":"","sources":["../../../../src/service/ssm/sdk/sim-ssm-sdk-command-router.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAGpB,MAAM,uBAAuB,CAAC;AAc/B;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAChB,MAAM,CAA0C;IAEjE,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAA6B;YAChD;gBACE,qBAAqB;gBACrB,KAAK,EAAE,OAAO,EAAE,OAAO,EAAoB,EAAE,CAC3C,MAAM,MAAM,CAAC,YAAY,CACvB,OAAiC,EACjC,mBAAmB,CAAC,OAAO,CAAC,CAC7B;aACJ;YACD;gBACE,qBAAqB;gBACrB,KAAK,EAAE,OAAO,EAAE,OAAO,EAAoB,EAAE,CAC3C,MAAM,MAAM,CAAC,YAAY,CACvB,OAAiC,EACjC,mBAAmB,CAAC,OAAO,CAAC,CAC7B;aACJ;YACD;gBACE,sBAAsB;gBACtB,KAAK,EAAE,OAAO,EAAE,OAAO,EAAoB,EAAE,CAC3C,MAAM,MAAM,CAAC,aAAa,CACxB,OAAkC,EAClC,mBAAmB,CAAC,OAAO,CAAC,CAC7B;aACJ;YACD;gBACE,4BAA4B;gBAC5B,KAAK,EAAE,OAAO,EAAE,OAAO,EAAoB,EAAE,CAC3C,MAAM,MAAM,CAAC,mBAAmB,CAC9B,OAAwC,EACxC,mBAAmB,CAAC,OAAO,CAAC,CAC7B;aACJ;YACD;gBACE,wBAAwB;gBACxB,KAAK,EAAE,OAAO,EAAE,OAAO,EAAoB,EAAE,CAC3C,MAAM,MAAM,CAAC,eAAe,CAC1B,OAAoC,EACpC,mBAAmB,CAAC,OAAO,CAAC,CAC7B;aACJ;YACD;gBACE,yBAAyB;gBACzB,KAAK,EAAE,OAAO,EAAE,OAAO,EAAoB,EAAE,CAC3C,MAAM,MAAM,CAAC,gBAAgB,CAC3B,OAAqC,EACrC,mBAAmB,CAAC,OAAO,CAAC,CAC7B;aACJ;YACD;gBACE,2BAA2B;gBAC3B,KAAK,EAAE,OAAO,EAAE,OAAO,EAAoB,EAAE,CAC3C,MAAM,MAAM,CAAC,kBAAkB,CAC7B,OAAuC,EACvC,mBAAmB,CAAC,OAAO,CAAC,CAC7B;aACJ;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAmB;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,77 @@
1
+ import { type BackgroundScheduler } from "../../util/background/background.js";
2
+ import type { SimSdkCommandRouter } from "../../sdk/router/sim-sdk-command-router.type.js";
3
+ import type { SimAwsCaller } from "../aws/caller/sim-aws-caller.js";
4
+ import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
5
+ import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
6
+ import type * as simSsmCommands from "./command/sim-ssm-command.types.js";
7
+ import type { SimSsmParameter } from "./parameter/sim-ssm-parameter.js";
8
+ export interface SimSsmRequestOptions {
9
+ readonly caller?: SimAwsCaller;
10
+ }
11
+ interface SimSsmProperties {
12
+ readonly accountRegionScope?: SimAwsAccountRegionScope;
13
+ readonly iam?: SimIamInterServiceAuthZ;
14
+ readonly background?: BackgroundScheduler;
15
+ }
16
+ /**
17
+ * Simulated SSM Parameter Store. Handles SDK commands. Emulates AWS behaviour
18
+ * and state.
19
+ *
20
+ * Parameters are scoped to an account and region, as they are on real AWS: a
21
+ * parameter name is unique within one of those scopes and its ARN names the
22
+ * region.
23
+ *
24
+ * Only Parameter Store is simulated. Nothing else in Systems Manager is.
25
+ */
26
+ export declare class SimSsm {
27
+ private readonly parameters;
28
+ private readonly putParameterCommand;
29
+ private readonly readCommands;
30
+ private readonly pathCommand;
31
+ private readonly deletionCommands;
32
+ private readonly describeParametersCommand;
33
+ private readonly background;
34
+ private readonly sdkRouter;
35
+ constructor(properties?: SimSsmProperties);
36
+ /**
37
+ * Find a parameter by name, with or without its leading slash.
38
+ *
39
+ * This is the simulator's own accessor, for tests seeding or inspecting
40
+ * parameter state without going through a Command and its authorization.
41
+ */
42
+ findParameter(name: string): SimSsmParameter | undefined;
43
+ /**
44
+ * Handle a PutParameter Command from the SDK.
45
+ */
46
+ putParameter(command: simSsmCommands.SimPutParameterCommand, options?: SimSsmRequestOptions): Promise<simSsmCommands.SimPutParameterCommandOutput>;
47
+ /**
48
+ * Handle a GetParameter Command from the SDK.
49
+ */
50
+ getParameter(command: simSsmCommands.SimGetParameterCommand, options?: SimSsmRequestOptions): Promise<simSsmCommands.SimGetParameterCommandOutput>;
51
+ /**
52
+ * Handle a GetParameters Command from the SDK.
53
+ */
54
+ getParameters(command: simSsmCommands.SimGetParametersCommand, options?: SimSsmRequestOptions): Promise<simSsmCommands.SimGetParametersCommandOutput>;
55
+ /**
56
+ * Handle a GetParametersByPath Command from the SDK.
57
+ */
58
+ getParametersByPath(command: simSsmCommands.SimGetParametersByPathCommand, options?: SimSsmRequestOptions): Promise<simSsmCommands.SimGetParametersByPathCommandOutput>;
59
+ /**
60
+ * Handle a DeleteParameter Command from the SDK.
61
+ */
62
+ deleteParameter(command: simSsmCommands.SimDeleteParameterCommand, options?: SimSsmRequestOptions): Promise<simSsmCommands.SimDeleteParameterCommandOutput>;
63
+ /**
64
+ * Handle a DeleteParameters Command from the SDK.
65
+ */
66
+ deleteParameters(command: simSsmCommands.SimDeleteParametersCommand, options?: SimSsmRequestOptions): Promise<simSsmCommands.SimDeleteParametersCommandOutput>;
67
+ /**
68
+ * Handle a DescribeParameters Command from the SDK.
69
+ */
70
+ describeParameters(command: simSsmCommands.SimDescribeParametersCommand, options?: SimSsmRequestOptions): Promise<simSsmCommands.SimDescribeParametersCommandOutput>;
71
+ /**
72
+ * Get this service's SDK Command router for SDK client interception.
73
+ */
74
+ sdkCommandRouter(): SimSdkCommandRouter;
75
+ }
76
+ export {};
77
+ //# sourceMappingURL=sim-ssm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-ssm.d.ts","sourceRoot":"","sources":["../../../src/service/ssm/sim-ssm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAEvF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kDAAkD,CAAC;AAO1D,OAAO,KAAK,KAAK,cAAc,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAKxE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED,UAAU,gBAAgB;IACxB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;;;GASG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IACjE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA2B;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAE9D,YAAY,UAAU,GAAE,gBAAqB,EAqC5C;IAED;;;;;OAKG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEvD;IAED;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,cAAc,CAAC,sBAAsB,EAC9C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAGtD;IAED;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,cAAc,CAAC,sBAAsB,EAC9C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAGtD;IAED;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,cAAc,CAAC,uBAAuB,EAC/C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAGvD;IAED;;OAEG;IACG,mBAAmB,CACvB,OAAO,EAAE,cAAc,CAAC,6BAA6B,EACrD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAG7D;IAED;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,cAAc,CAAC,yBAAyB,EACjD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAGzD;IAED;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,cAAc,CAAC,0BAA0B,EAClD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAG1D;IAED;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,cAAc,CAAC,4BAA4B,EACpD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,kCAAkC,CAAC,CAG5D;IAED;;OAEG;IACH,gBAAgB,IAAI,mBAAmB,CAEtC;CACF"}