@kensio/yulin 1.3.0 → 1.4.1
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/README.md +1 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
- package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +10 -8
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +22 -23
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-s3-notification-destinations.d.ts +11 -0
- package/dist/service/aws/factory/sim-aws-s3-notification-destinations.d.ts.map +1 -0
- package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js +23 -0
- package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js.map +1 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -0
- package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.js +4 -0
- package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.d.ts +4 -0
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.js +19 -2
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts +20 -4
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js +28 -6
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js.map +1 -1
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.d.ts +26 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js +28 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts +26 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js +27 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.d.ts +17 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.js +62 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.js.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts +37 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js +88 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts +23 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js +151 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.d.ts +29 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.js +26 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.js.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts +15 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js +98 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts +48 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js +78 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.d.ts +53 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.js +46 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.js.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts +18 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js +41 -0
- package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js.map +1 -0
- package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-property-error.d.ts → property/sim-cfn-dynamodb-property-error.d.ts} +9 -5
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-property-error.js → property/sim-cfn-dynamodb-property-error.js} +11 -7
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.js.map +1 -0
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts +54 -0
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js +71 -0
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js.map +1 -0
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.d.ts +17 -0
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.js +35 -0
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.js.map +1 -0
- package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-values.d.ts → property/sim-cfn-dynamodb-property-values.d.ts} +23 -17
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-values.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-values.js → property/sim-cfn-dynamodb-property-values.js} +33 -30
- package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-values.js.map +1 -0
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +6 -4
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +15 -5
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js.map +1 -1
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.d.ts +14 -0
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.js +14 -0
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.js.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts +8 -26
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js +23 -59
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.d.ts +2 -2
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.d.ts +2 -2
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js +4 -2
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts +2 -3
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js +13 -18
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.d.ts +7 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.js +5 -2
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts +3 -15
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js +11 -33
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts +2 -2
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.d.ts +2 -2
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-time-to-live.d.ts +2 -2
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-time-to-live.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-time-to-live.js.map +1 -1
- package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.d.ts +26 -0
- package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.d.ts.map +1 -0
- package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.js +45 -0
- package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.js.map +1 -0
- package/dist/service/rekognition/command/detect-faces/detect-faces-request.d.ts +12 -0
- package/dist/service/rekognition/command/detect-faces/detect-faces-request.d.ts.map +1 -0
- package/dist/service/rekognition/command/detect-faces/detect-faces-request.js +18 -0
- package/dist/service/rekognition/command/detect-faces/detect-faces-request.js.map +1 -0
- package/dist/service/rekognition/command/detect-faces/detect-faces.command.d.ts +133 -0
- package/dist/service/rekognition/command/detect-faces/detect-faces.command.d.ts.map +1 -0
- package/dist/service/rekognition/command/detect-faces/detect-faces.command.js +2 -0
- package/dist/service/rekognition/command/detect-faces/detect-faces.command.js.map +1 -0
- package/dist/service/rekognition/command/detect-faces/detect-faces.handler.d.ts +35 -0
- package/dist/service/rekognition/command/detect-faces/detect-faces.handler.d.ts.map +1 -0
- package/dist/service/rekognition/command/detect-faces/detect-faces.handler.js +39 -0
- package/dist/service/rekognition/command/detect-faces/detect-faces.handler.js.map +1 -0
- package/dist/service/rekognition/command/detect-labels/detect-labels-request.d.ts +30 -0
- package/dist/service/rekognition/command/detect-labels/detect-labels-request.d.ts.map +1 -0
- package/dist/service/rekognition/command/detect-labels/detect-labels-request.js +71 -0
- package/dist/service/rekognition/command/detect-labels/detect-labels-request.js.map +1 -0
- package/dist/service/rekognition/command/detect-labels/detect-labels.command.d.ts +57 -0
- package/dist/service/rekognition/command/detect-labels/detect-labels.command.d.ts.map +1 -0
- package/dist/service/rekognition/command/detect-labels/detect-labels.command.js +2 -0
- package/dist/service/rekognition/command/detect-labels/detect-labels.command.js.map +1 -0
- package/dist/service/rekognition/command/detect-labels/detect-labels.handler.d.ts +35 -0
- package/dist/service/rekognition/command/detect-labels/detect-labels.handler.d.ts.map +1 -0
- package/dist/service/rekognition/command/detect-labels/detect-labels.handler.js +41 -0
- package/dist/service/rekognition/command/detect-labels/detect-labels.handler.js.map +1 -0
- package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.d.ts +17 -0
- package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.d.ts.map +1 -0
- package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.js +30 -0
- package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.js.map +1 -0
- package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.d.ts +42 -0
- package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.d.ts.map +1 -0
- package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.js +2 -0
- package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.js.map +1 -0
- package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.d.ts +36 -0
- package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.d.ts.map +1 -0
- package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.js +47 -0
- package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.js.map +1 -0
- package/dist/service/rekognition/command/sim-rekognition-min-confidence.d.ts +19 -0
- package/dist/service/rekognition/command/sim-rekognition-min-confidence.d.ts.map +1 -0
- package/dist/service/rekognition/command/sim-rekognition-min-confidence.js +34 -0
- package/dist/service/rekognition/command/sim-rekognition-min-confidence.js.map +1 -0
- package/dist/service/rekognition/command/sim-rekognition-request-options.d.ts +16 -0
- package/dist/service/rekognition/command/sim-rekognition-request-options.d.ts.map +1 -0
- package/dist/service/rekognition/command/sim-rekognition-request-options.js +2 -0
- package/dist/service/rekognition/command/sim-rekognition-request-options.js.map +1 -0
- package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.d.ts +19 -0
- package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.d.ts.map +1 -0
- package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.js +30 -0
- package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.js.map +1 -0
- package/dist/service/rekognition/error/sim-rekognition.error.d.ts +87 -0
- package/dist/service/rekognition/error/sim-rekognition.error.d.ts.map +1 -0
- package/dist/service/rekognition/error/sim-rekognition.error.js +95 -0
- package/dist/service/rekognition/error/sim-rekognition.error.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-declared-value.d.ts +26 -0
- package/dist/service/rekognition/face/sim-rekognition-declared-value.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-declared-value.js +28 -0
- package/dist/service/rekognition/face/sim-rekognition-declared-value.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-detected-face.d.ts +29 -0
- package/dist/service/rekognition/face/sim-rekognition-detected-face.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-detected-face.js +53 -0
- package/dist/service/rekognition/face/sim-rekognition-detected-face.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-emotion-name.d.ts +18 -0
- package/dist/service/rekognition/face/sim-rekognition-emotion-name.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-emotion-name.js +27 -0
- package/dist/service/rekognition/face/sim-rekognition-emotion-name.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.d.ts +24 -0
- package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.js +62 -0
- package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-attributes.d.ts +41 -0
- package/dist/service/rekognition/face/sim-rekognition-face-attributes.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-attributes.js +75 -0
- package/dist/service/rekognition/face/sim-rekognition-face-attributes.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-declaration.d.ts +116 -0
- package/dist/service/rekognition/face/sim-rekognition-face-declaration.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-declaration.js +2 -0
- package/dist/service/rekognition/face/sim-rekognition-face-declaration.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-defaults.d.ts +31 -0
- package/dist/service/rekognition/face/sim-rekognition-face-defaults.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-defaults.js +120 -0
- package/dist/service/rekognition/face/sim-rekognition-face-defaults.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.d.ts +31 -0
- package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.js +38 -0
- package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-detection.d.ts +21 -0
- package/dist/service/rekognition/face/sim-rekognition-face-detection.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-detection.js +33 -0
- package/dist/service/rekognition/face/sim-rekognition-face-detection.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-emotions.d.ts +23 -0
- package/dist/service/rekognition/face/sim-rekognition-face-emotions.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-emotions.js +55 -0
- package/dist/service/rekognition/face/sim-rekognition-face-emotions.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.d.ts +19 -0
- package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.js +31 -0
- package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-feature-members.d.ts +56 -0
- package/dist/service/rekognition/face/sim-rekognition-face-feature-members.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-feature-members.js +22 -0
- package/dist/service/rekognition/face/sim-rekognition-face-feature-members.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-features.d.ts +19 -0
- package/dist/service/rekognition/face/sim-rekognition-face-features.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-features.js +39 -0
- package/dist/service/rekognition/face/sim-rekognition-face-features.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-frame.d.ts +27 -0
- package/dist/service/rekognition/face/sim-rekognition-face-frame.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-frame.js +74 -0
- package/dist/service/rekognition/face/sim-rekognition-face-frame.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.d.ts +25 -0
- package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.js +89 -0
- package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-landmarks.d.ts +20 -0
- package/dist/service/rekognition/face/sim-rekognition-face-landmarks.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-landmarks.js +32 -0
- package/dist/service/rekognition/face/sim-rekognition-face-landmarks.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-measures.d.ts +27 -0
- package/dist/service/rekognition/face/sim-rekognition-face-measures.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-face-measures.js +49 -0
- package/dist/service/rekognition/face/sim-rekognition-face-measures.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-faces.d.ts +36 -0
- package/dist/service/rekognition/face/sim-rekognition-faces.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-faces.js +49 -0
- package/dist/service/rekognition/face/sim-rekognition-faces.js.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-landmark-name.d.ts +30 -0
- package/dist/service/rekognition/face/sim-rekognition-landmark-name.d.ts.map +1 -0
- package/dist/service/rekognition/face/sim-rekognition-landmark-name.js +66 -0
- package/dist/service/rekognition/face/sim-rekognition-landmark-name.js.map +1 -0
- package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.d.ts +48 -0
- package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.d.ts.map +1 -0
- package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.js +78 -0
- package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.js.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-bounding-box.d.ts +48 -0
- package/dist/service/rekognition/image/sim-rekognition-bounding-box.d.ts.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-bounding-box.js +50 -0
- package/dist/service/rekognition/image/sim-rekognition-bounding-box.js.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-image-format.d.ts +17 -0
- package/dist/service/rekognition/image/sim-rekognition-image-format.d.ts.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-image-format.js +28 -0
- package/dist/service/rekognition/image/sim-rekognition-image-format.js.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-image-hash.d.ts +15 -0
- package/dist/service/rekognition/image/sim-rekognition-image-hash.d.ts.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-image-hash.js +20 -0
- package/dist/service/rekognition/image/sim-rekognition-image-hash.js.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-image-input.d.ts +23 -0
- package/dist/service/rekognition/image/sim-rekognition-image-input.d.ts.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-image-input.js +2 -0
- package/dist/service/rekognition/image/sim-rekognition-image-input.js.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-image-objects.d.ts +35 -0
- package/dist/service/rekognition/image/sim-rekognition-image-objects.d.ts.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-image-objects.js +21 -0
- package/dist/service/rekognition/image/sim-rekognition-image-objects.js.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-image-request.d.ts +59 -0
- package/dist/service/rekognition/image/sim-rekognition-image-request.d.ts.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-image-request.js +88 -0
- package/dist/service/rekognition/image/sim-rekognition-image-request.js.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-image.d.ts +30 -0
- package/dist/service/rekognition/image/sim-rekognition-image.d.ts.map +1 -0
- package/dist/service/rekognition/image/sim-rekognition-image.js +36 -0
- package/dist/service/rekognition/image/sim-rekognition-image.js.map +1 -0
- package/dist/service/rekognition/index.d.ts +18 -0
- package/dist/service/rekognition/index.d.ts.map +1 -0
- package/dist/service/rekognition/index.js +13 -0
- package/dist/service/rekognition/index.js.map +1 -0
- package/dist/service/rekognition/label/sim-rekognition-detected-label.d.ts +11 -0
- package/dist/service/rekognition/label/sim-rekognition-detected-label.d.ts.map +1 -0
- package/dist/service/rekognition/label/sim-rekognition-detected-label.js +49 -0
- package/dist/service/rekognition/label/sim-rekognition-detected-label.js.map +1 -0
- package/dist/service/rekognition/label/sim-rekognition-label-declaration.d.ts +43 -0
- package/dist/service/rekognition/label/sim-rekognition-label-declaration.d.ts.map +1 -0
- package/dist/service/rekognition/label/sim-rekognition-label-declaration.js +10 -0
- package/dist/service/rekognition/label/sim-rekognition-label-declaration.js.map +1 -0
- package/dist/service/rekognition/label/sim-rekognition-label-defaults.d.ts +22 -0
- package/dist/service/rekognition/label/sim-rekognition-label-defaults.d.ts.map +1 -0
- package/dist/service/rekognition/label/sim-rekognition-label-defaults.js +42 -0
- package/dist/service/rekognition/label/sim-rekognition-label-defaults.js.map +1 -0
- package/dist/service/rekognition/label/sim-rekognition-label-detection.d.ts +32 -0
- package/dist/service/rekognition/label/sim-rekognition-label-detection.d.ts.map +1 -0
- package/dist/service/rekognition/label/sim-rekognition-label-detection.js +35 -0
- package/dist/service/rekognition/label/sim-rekognition-label-detection.js.map +1 -0
- package/dist/service/rekognition/label/sim-rekognition-label-instances.d.ts +19 -0
- package/dist/service/rekognition/label/sim-rekognition-label-instances.d.ts.map +1 -0
- package/dist/service/rekognition/label/sim-rekognition-label-instances.js +28 -0
- package/dist/service/rekognition/label/sim-rekognition-label-instances.js.map +1 -0
- package/dist/service/rekognition/label/sim-rekognition-labels.d.ts +30 -0
- package/dist/service/rekognition/label/sim-rekognition-labels.d.ts.map +1 -0
- package/dist/service/rekognition/label/sim-rekognition-labels.js +38 -0
- package/dist/service/rekognition/label/sim-rekognition-labels.js.map +1 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.d.ts +29 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.d.ts.map +1 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.js +85 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.js.map +1 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.d.ts +46 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.d.ts.map +1 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.js +79 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.js.map +1 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.d.ts +55 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.d.ts.map +1 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.js +87 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.js.map +1 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation.d.ts +35 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation.d.ts.map +1 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation.js +57 -0
- package/dist/service/rekognition/moderation/sim-rekognition-moderation.js.map +1 -0
- package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.d.ts +21 -0
- package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.d.ts.map +1 -0
- package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.js +34 -0
- package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.js.map +1 -0
- package/dist/service/rekognition/rule/sim-rekognition-result-rules.d.ts +51 -0
- package/dist/service/rekognition/rule/sim-rekognition-result-rules.d.ts.map +1 -0
- package/dist/service/rekognition/rule/sim-rekognition-result-rules.js +80 -0
- package/dist/service/rekognition/rule/sim-rekognition-result-rules.js.map +1 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.d.ts +27 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.d.ts.map +1 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.js +62 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.js.map +1 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-image.d.ts +26 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-image.d.ts.map +1 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-image.js +32 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-image.js.map +1 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-images.d.ts +52 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-images.d.ts.map +1 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-images.js +63 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-images.js.map +1 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-rules.d.ts +29 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-rules.d.ts.map +1 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-rules.js +31 -0
- package/dist/service/rekognition/sample/sim-rekognition-sample-rules.js.map +1 -0
- package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.d.ts +20 -0
- package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.d.ts.map +1 -0
- package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.js +38 -0
- package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.js.map +1 -0
- package/dist/service/rekognition/sim-rekognition.d.ts +95 -0
- package/dist/service/rekognition/sim-rekognition.d.ts.map +1 -0
- package/dist/service/rekognition/sim-rekognition.js +124 -0
- package/dist/service/rekognition/sim-rekognition.js.map +1 -0
- package/package.json +7 -2
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.d.ts.map +0 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.js.map +0 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.d.ts.map +0 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.js.map +0 -1
|
@@ -1,24 +1,29 @@
|
|
|
1
|
+
import { dynamoDbGlobalTableResourceTypeName } from "../../../../dynamodb/cfn/sim-cfn-dynamodb-resource-type.js";
|
|
1
2
|
/**
|
|
2
3
|
* CloudFormation-facing values for a simulated DynamoDB table.
|
|
3
4
|
*/
|
|
4
5
|
export class SimDynamoDbTableCfn {
|
|
5
6
|
table;
|
|
7
|
+
resourceTypeName;
|
|
6
8
|
constructor(properties) {
|
|
7
9
|
this.table = properties.table;
|
|
10
|
+
this.resourceTypeName = properties.resourceTypeName;
|
|
8
11
|
}
|
|
9
12
|
/**
|
|
10
|
-
*
|
|
11
|
-
* is what makes a Ref usable as a PutItem TableName. It is also what a
|
|
13
|
+
* Both Resource types answer a Ref with the table name rather than its ARN,
|
|
14
|
+
* which is what makes a Ref usable as a PutItem TableName. It is also what a
|
|
12
15
|
* template hands a function through its environment.
|
|
13
16
|
*/
|
|
14
17
|
refValue() {
|
|
15
18
|
return this.table.tableName;
|
|
16
19
|
}
|
|
17
20
|
/**
|
|
18
|
-
*
|
|
21
|
+
* The attributes a table Resource documents.
|
|
19
22
|
*
|
|
20
23
|
* `Arn` is what an IAM policy names the table by. `StreamArn` is the ARN of
|
|
21
|
-
* the stream the table's `StreamSpecification` gave it.
|
|
24
|
+
* the stream the table's `StreamSpecification` gave it. `TableId` is the
|
|
25
|
+
* table's unique ID, which only AWS::DynamoDB::GlobalTable has an attribute
|
|
26
|
+
* for.
|
|
22
27
|
*/
|
|
23
28
|
attributeValue(attributeName) {
|
|
24
29
|
switch (attributeName) {
|
|
@@ -28,8 +33,11 @@ export class SimDynamoDbTableCfn {
|
|
|
28
33
|
case "StreamArn": {
|
|
29
34
|
return this.streamArn();
|
|
30
35
|
}
|
|
36
|
+
case "TableId": {
|
|
37
|
+
return this.tableId();
|
|
38
|
+
}
|
|
31
39
|
default: {
|
|
32
|
-
throw
|
|
40
|
+
throw this.unsupported(attributeName);
|
|
33
41
|
}
|
|
34
42
|
}
|
|
35
43
|
}
|
|
@@ -44,11 +52,25 @@ export class SimDynamoDbTableCfn {
|
|
|
44
52
|
streamArn() {
|
|
45
53
|
const arn = this.table.stream.latest?.arn;
|
|
46
54
|
if (arn === undefined) {
|
|
47
|
-
throw new Error(`Unsupported
|
|
55
|
+
throw new Error(`Unsupported ${this.resourceTypeName} attribute StreamArn: table ` +
|
|
48
56
|
`${this.table.tableName} has no StreamSpecification, so it has no ` +
|
|
49
57
|
`stream and no stream ARN`);
|
|
50
58
|
}
|
|
51
59
|
return arn;
|
|
52
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* The table's unique ID, which AWS::DynamoDB::Table has no attribute for at
|
|
63
|
+
* all, so asking an ordinary table for one is refused as the unknown
|
|
64
|
+
* attribute it is.
|
|
65
|
+
*/
|
|
66
|
+
tableId() {
|
|
67
|
+
if (this.resourceTypeName !== dynamoDbGlobalTableResourceTypeName) {
|
|
68
|
+
throw this.unsupported("TableId");
|
|
69
|
+
}
|
|
70
|
+
return this.table.tableId;
|
|
71
|
+
}
|
|
72
|
+
unsupported(attributeName) {
|
|
73
|
+
return new Error(`Unsupported ${this.resourceTypeName} attribute ${attributeName}`);
|
|
74
|
+
}
|
|
53
75
|
}
|
|
54
76
|
//# sourceMappingURL=sim-dynamodb-table-cfn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-table-cfn.js","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-table-cfn.js","sourceRoot":"","sources":["../../../../../../src/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,4DAA4D,CAAC;AAgBjH;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACb,KAAK,CAAmB;IACxB,gBAAgB,CAAS;IAE1C,YAAY,UAAyC;QACnD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,aAAqB;QAClC,QAAQ,aAAa,EAAE,CAAC;YACtB,KAAK,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACxB,CAAC;YACD,KAAK,WAAW,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,SAAS;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QAE1C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,CAAC,gBAAgB,8BAA8B;gBAChE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,4CAA4C;gBACnE,0BAA0B,CAC7B,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACK,OAAO;QACb,IAAI,IAAI,CAAC,gBAAgB,KAAK,mCAAmC,EAAE,CAAC;YAClE,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;IAEO,WAAW,CAAC,aAAqB;QACvC,OAAO,IAAI,KAAK,CACd,eAAe,IAAI,CAAC,gBAAgB,cAAc,aAAa,EAAE,CAClE,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SimCfnDynamoDbPropertyValues } from "../property/sim-cfn-dynamodb-property-values.js";
|
|
3
|
+
interface SimCfnDynamoDbGlobalTableCapacitySources {
|
|
4
|
+
readonly read: SimCfnDynamoDbPropertyValues | undefined;
|
|
5
|
+
readonly write: SimCfnDynamoDbPropertyValues | undefined;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* The `ProvisionedThroughput` a global table's two capacity settings add up to.
|
|
9
|
+
*
|
|
10
|
+
* A global table splits the capacity an ordinary table states in one place:
|
|
11
|
+
* writes are the table's, since every replica takes the same writes, and reads
|
|
12
|
+
* belong to the replica doing them. One replica is one of each, so the two go
|
|
13
|
+
* back together into the property CreateTable takes.
|
|
14
|
+
*
|
|
15
|
+
* Each half is read here rather than passed through, so a capacity the template
|
|
16
|
+
* wrote as something other than a number is refused at the path a global table
|
|
17
|
+
* puts it at rather than at the one an ordinary table would have.
|
|
18
|
+
*
|
|
19
|
+
* A table that states neither half has no `ProvisionedThroughput` at all, which
|
|
20
|
+
* is what an on-demand table looks like. A table stating one of them keeps the
|
|
21
|
+
* gap, so CreateTable refuses it in its own words rather than being handed a
|
|
22
|
+
* capacity nothing asked for.
|
|
23
|
+
*/
|
|
24
|
+
export declare function simCfnDynamoDbGlobalTableCapacity(sources: SimCfnDynamoDbGlobalTableCapacitySources): SimCfnTemplateValueRecord | undefined;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=sim-cfn-dynamodb-global-table-capacity.d.ts.map
|
package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-global-table-capacity.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAGpG,UAAU,wCAAwC;IAChD,QAAQ,CAAC,IAAI,EAAE,4BAA4B,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,KAAK,EAAE,4BAA4B,GAAG,SAAS,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,wCAAwC,GAChD,yBAAyB,GAAG,SAAS,CAevC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { simCfnDynamoDbGlobalTableEntry } from "./sim-cfn-dynamodb-global-table-property.js";
|
|
2
|
+
/**
|
|
3
|
+
* The `ProvisionedThroughput` a global table's two capacity settings add up to.
|
|
4
|
+
*
|
|
5
|
+
* A global table splits the capacity an ordinary table states in one place:
|
|
6
|
+
* writes are the table's, since every replica takes the same writes, and reads
|
|
7
|
+
* belong to the replica doing them. One replica is one of each, so the two go
|
|
8
|
+
* back together into the property CreateTable takes.
|
|
9
|
+
*
|
|
10
|
+
* Each half is read here rather than passed through, so a capacity the template
|
|
11
|
+
* wrote as something other than a number is refused at the path a global table
|
|
12
|
+
* puts it at rather than at the one an ordinary table would have.
|
|
13
|
+
*
|
|
14
|
+
* A table that states neither half has no `ProvisionedThroughput` at all, which
|
|
15
|
+
* is what an on-demand table looks like. A table stating one of them keeps the
|
|
16
|
+
* gap, so CreateTable refuses it in its own words rather than being handed a
|
|
17
|
+
* capacity nothing asked for.
|
|
18
|
+
*/
|
|
19
|
+
export function simCfnDynamoDbGlobalTableCapacity(sources) {
|
|
20
|
+
if (sources.read === undefined && sources.write === undefined) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
return Object.fromEntries([
|
|
24
|
+
...simCfnDynamoDbGlobalTableEntry("ReadCapacityUnits", sources.read?.number("ReadCapacityUnits")),
|
|
25
|
+
...simCfnDynamoDbGlobalTableEntry("WriteCapacityUnits", sources.write?.number("WriteCapacityUnits")),
|
|
26
|
+
]);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=sim-cfn-dynamodb-global-table-capacity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-global-table-capacity.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAO7F;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iCAAiC,CAC/C,OAAiD;IAEjD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CAAC;QACxB,GAAG,8BAA8B,CAC/B,mBAAmB,EACnB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAC1C;QACD,GAAG,8BAA8B,CAC/B,oBAAoB,EACpB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAC5C;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import type { SimDynamoDbTable } from "../../table/sim-dynamodb-table.js";
|
|
4
|
+
import type { SimCfnDynamoDbTableCreator } from "../table/sim-cfn-dynamodb-table-creator.js";
|
|
5
|
+
interface SimCfnDynamoDbGlobalTableCreatorProperties {
|
|
6
|
+
readonly tableCreator: SimCfnDynamoDbTableCreator;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Creates simulated tables from AWS::DynamoDB::GlobalTable Resources.
|
|
10
|
+
*
|
|
11
|
+
* A global table naming one replica is turned into the AWS::DynamoDB::Table it
|
|
12
|
+
* is and created down the path an ordinary table already takes, so the table a
|
|
13
|
+
* `TableV2` stack deployed is the same thing a `Table` stack would have got:
|
|
14
|
+
* the same name generation, the same CreateTable rules, the same refusals for
|
|
15
|
+
* what this simulation does not model.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SimCfnDynamoDbGlobalTableCreator {
|
|
18
|
+
private readonly tableCreator;
|
|
19
|
+
constructor(properties: SimCfnDynamoDbGlobalTableCreatorProperties);
|
|
20
|
+
/**
|
|
21
|
+
* Create a table from an AWS::DynamoDB::GlobalTable Resource.
|
|
22
|
+
*/
|
|
23
|
+
create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimDynamoDbTable>;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=sim-cfn-dynamodb-global-table-creator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-global-table-creator.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.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,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAG7F,UAAU,0CAA0C;IAClD,QAAQ,CAAC,YAAY,EAAE,0BAA0B,CAAC;CACnD;AAED;;;;;;;;GAQG;AACH,qBAAa,gCAAgC;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAE1D,YAAY,UAAU,EAAE,0CAA0C,EAEjE;IAED;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,gBAAgB,CAAC,CAU3B;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { SimCfnDynamoDbGlobalTableProperties } from "./sim-cfn-dynamodb-global-table-properties.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates simulated tables from AWS::DynamoDB::GlobalTable Resources.
|
|
4
|
+
*
|
|
5
|
+
* A global table naming one replica is turned into the AWS::DynamoDB::Table it
|
|
6
|
+
* is and created down the path an ordinary table already takes, so the table a
|
|
7
|
+
* `TableV2` stack deployed is the same thing a `Table` stack would have got:
|
|
8
|
+
* the same name generation, the same CreateTable rules, the same refusals for
|
|
9
|
+
* what this simulation does not model.
|
|
10
|
+
*/
|
|
11
|
+
export class SimCfnDynamoDbGlobalTableCreator {
|
|
12
|
+
tableCreator;
|
|
13
|
+
constructor(properties) {
|
|
14
|
+
this.tableCreator = properties.tableCreator;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create a table from an AWS::DynamoDB::GlobalTable Resource.
|
|
18
|
+
*/
|
|
19
|
+
async create(resource, properties) {
|
|
20
|
+
const globalTable = new SimCfnDynamoDbGlobalTableProperties({
|
|
21
|
+
resource,
|
|
22
|
+
properties,
|
|
23
|
+
});
|
|
24
|
+
return await this.tableCreator.create(resource, globalTable.tableProperties());
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=sim-cfn-dynamodb-global-table-creator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-global-table-creator.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AAMpG;;;;;;;;GAQG;AACH,MAAM,OAAO,gCAAgC;IAC1B,YAAY,CAA6B;IAE1D,YAAY,UAAsD;QAChE,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,QAAwB,EACxB,UAAqC;QAErC,MAAM,WAAW,GAAG,IAAI,mCAAmC,CAAC;YAC1D,QAAQ;YACR,UAAU;SACX,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CACnC,QAAQ,EACR,WAAW,CAAC,eAAe,EAAE,CAC9B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SimCfnDynamoDbPropertyValues } from "../property/sim-cfn-dynamodb-property-values.js";
|
|
3
|
+
/**
|
|
4
|
+
* The `GlobalSecondaryIndexes` an AWS::DynamoDB::Table would carry, built from
|
|
5
|
+
* the two halves a global table splits each index into.
|
|
6
|
+
*
|
|
7
|
+
* The table names the index and what it projects, and provisions its writes.
|
|
8
|
+
* The replica provisions its reads, naming the index it is talking about rather
|
|
9
|
+
* than restating it. Putting them back together is what makes an index on a
|
|
10
|
+
* global table the index an ordinary table's template would have declared.
|
|
11
|
+
*
|
|
12
|
+
* A table declaring the property at all keeps it, even holding no indexes, so
|
|
13
|
+
* an empty list stays an empty list rather than becoming a table that never
|
|
14
|
+
* mentioned indexes.
|
|
15
|
+
*/
|
|
16
|
+
export declare function simCfnDynamoDbGlobalTableIndexes(values: SimCfnDynamoDbPropertyValues, replica: SimCfnDynamoDbPropertyValues): SimCfnTemplateValue | undefined;
|
|
17
|
+
//# sourceMappingURL=sim-cfn-dynamodb-global-table-indexes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-global-table-indexes.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EAEpB,MAAM,kEAAkE,CAAC;AAC1E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAQpG;;;;;;;;;;;;GAYG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,4BAA4B,EACpC,OAAO,EAAE,4BAA4B,GACpC,mBAAmB,GAAG,SAAS,CAejC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { simCfnDynamoDbGlobalTableCapacity } from "./sim-cfn-dynamodb-global-table-capacity.js";
|
|
2
|
+
import { simCfnDynamoDbGlobalTableEntry, simCfnDynamoDbGlobalTableProperty, } from "./sim-cfn-dynamodb-global-table-property.js";
|
|
3
|
+
/**
|
|
4
|
+
* The `GlobalSecondaryIndexes` an AWS::DynamoDB::Table would carry, built from
|
|
5
|
+
* the two halves a global table splits each index into.
|
|
6
|
+
*
|
|
7
|
+
* The table names the index and what it projects, and provisions its writes.
|
|
8
|
+
* The replica provisions its reads, naming the index it is talking about rather
|
|
9
|
+
* than restating it. Putting them back together is what makes an index on a
|
|
10
|
+
* global table the index an ordinary table's template would have declared.
|
|
11
|
+
*
|
|
12
|
+
* A table declaring the property at all keeps it, even holding no indexes, so
|
|
13
|
+
* an empty list stays an empty list rather than becoming a table that never
|
|
14
|
+
* mentioned indexes.
|
|
15
|
+
*/
|
|
16
|
+
export function simCfnDynamoDbGlobalTableIndexes(values, replica) {
|
|
17
|
+
if (values.value("GlobalSecondaryIndexes") === undefined) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
const readSettings = replicaReadSettings(replica);
|
|
21
|
+
return values.list("GlobalSecondaryIndexes").map((index) => {
|
|
22
|
+
const indexName = index.string("IndexName");
|
|
23
|
+
return tableIndex(index, indexName === undefined ? undefined : readSettings.get(indexName));
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* One index, as the table declared it and the replica provisioned it.
|
|
28
|
+
*/
|
|
29
|
+
function tableIndex(index, replicaIndex) {
|
|
30
|
+
return Object.fromEntries([
|
|
31
|
+
...simCfnDynamoDbGlobalTableProperty(index, [
|
|
32
|
+
"IndexName",
|
|
33
|
+
"KeySchema",
|
|
34
|
+
"Projection",
|
|
35
|
+
]),
|
|
36
|
+
...namedCapacity(index, replicaIndex),
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The `ProvisionedThroughput` entry an index gets, where either half of its
|
|
41
|
+
* capacity was stated.
|
|
42
|
+
*/
|
|
43
|
+
function namedCapacity(index, replicaIndex) {
|
|
44
|
+
return simCfnDynamoDbGlobalTableEntry("ProvisionedThroughput", simCfnDynamoDbGlobalTableCapacity({
|
|
45
|
+
read: replicaIndex?.object("ReadProvisionedThroughputSettings"),
|
|
46
|
+
write: index.object("WriteProvisionedThroughputSettings"),
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The replica's per-index read settings, by the index they name.
|
|
51
|
+
*
|
|
52
|
+
* An entry naming no index is left out rather than matched to something, since
|
|
53
|
+
* there is nothing it could be about. CreateTable is where an index with no
|
|
54
|
+
* name is refused.
|
|
55
|
+
*/
|
|
56
|
+
function replicaReadSettings(replica) {
|
|
57
|
+
return new Map(replica.list("GlobalSecondaryIndexes").flatMap((index) => {
|
|
58
|
+
const indexName = index.string("IndexName");
|
|
59
|
+
return indexName === undefined ? [] : [[indexName, index]];
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=sim-cfn-dynamodb-global-table-indexes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-global-table-indexes.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAEL,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,6CAA6C,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gCAAgC,CAC9C,MAAoC,EACpC,OAAqC;IAErC,IAAI,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE5C,OAAO,UAAU,CACf,KAAK,EACL,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAClE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CACjB,KAAmC,EACnC,YAAsD;IAEtD,OAAO,MAAM,CAAC,WAAW,CAAC;QACxB,GAAG,iCAAiC,CAAC,KAAK,EAAE;YAC1C,WAAW;YACX,WAAW;YACX,YAAY;SACb,CAAC;QACF,GAAG,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC;KACtC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CACpB,KAAmC,EACnC,YAAsD;IAEtD,OAAO,8BAA8B,CACnC,uBAAuB,EACvB,iCAAiC,CAAC;QAChC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,mCAAmC,CAAC;QAC/D,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,oCAAoC,CAAC;KAC1D,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAC1B,OAAqC;IAErC,OAAO,IAAI,GAAG,CACZ,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE5C,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAU,CAAC,CAAC;IACtE,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
interface SimCfnDynamoDbGlobalTablePropertiesProperties {
|
|
4
|
+
readonly resource: SimCfnResource;
|
|
5
|
+
readonly properties: SimCfnTemplateValueRecord;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Reads an AWS::DynamoDB::GlobalTable Resource into the AWS::DynamoDB::Table
|
|
9
|
+
* Resource it is.
|
|
10
|
+
*
|
|
11
|
+
* A global table with one replica is an ordinary table in that region, so it is
|
|
12
|
+
* turned into one and deployed down the path an ordinary table already takes.
|
|
13
|
+
* Nothing about what a key schema, a projection or a billing mode is allowed to
|
|
14
|
+
* be is decided here: most properties are handed on in the shape the template
|
|
15
|
+
* wrote them, and CreateTable is where they are checked.
|
|
16
|
+
*
|
|
17
|
+
* What is decided here is what a global table says differently. The replica
|
|
18
|
+
* carries the settings an ordinary table carries itself, capacity is split
|
|
19
|
+
* between the table's writes and the replica's reads, and there are properties
|
|
20
|
+
* about replication that have nothing to be true of on one table in one region.
|
|
21
|
+
*/
|
|
22
|
+
export declare class SimCfnDynamoDbGlobalTableProperties {
|
|
23
|
+
private readonly logicalId;
|
|
24
|
+
private readonly values;
|
|
25
|
+
private readonly replicas;
|
|
26
|
+
constructor(properties: SimCfnDynamoDbGlobalTablePropertiesProperties);
|
|
27
|
+
/**
|
|
28
|
+
* The AWS::DynamoDB::Table properties this global table is, refusing
|
|
29
|
+
* everything about it that is not simulated on the way.
|
|
30
|
+
*
|
|
31
|
+
* The replica is settled first, since a table replicating across regions is
|
|
32
|
+
* skipped whatever else it asks for.
|
|
33
|
+
*/
|
|
34
|
+
tableProperties(): SimCfnTemplateValueRecord;
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=sim-cfn-dynamodb-global-table-properties.d.ts.map
|
package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-global-table-properties.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAmClH,UAAU,6CAA6C;IACrD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,mCAAmC;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAE7D,YAAY,UAAU,EAAE,6CAA6C,EAYpE;IAED;;;;;;OAMG;IACH,eAAe,IAAI,yBAAyB,CAwB3C;CACF"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { SimCfnDynamoDbPropertyValues } from "../property/sim-cfn-dynamodb-property-values.js";
|
|
2
|
+
import { dynamoDbGlobalTableResourceTypeName } from "../sim-cfn-dynamodb-resource-type.js";
|
|
3
|
+
import { simCfnDynamoDbGlobalTableCapacity } from "./sim-cfn-dynamodb-global-table-capacity.js";
|
|
4
|
+
import { simCfnDynamoDbGlobalTableIndexes } from "./sim-cfn-dynamodb-global-table-indexes.js";
|
|
5
|
+
import { simCfnDynamoDbGlobalTableEntry, simCfnDynamoDbGlobalTableProperty, } from "./sim-cfn-dynamodb-global-table-property.js";
|
|
6
|
+
import { SimCfnDynamoDbGlobalTableReplicas } from "./sim-cfn-dynamodb-global-table-replicas.js";
|
|
7
|
+
import { assertSimCfnDynamoDbGlobalTableSimulated } from "./sim-cfn-dynamodb-global-table-simulated.js";
|
|
8
|
+
/**
|
|
9
|
+
* The properties a global table states the same way an ordinary table does.
|
|
10
|
+
*/
|
|
11
|
+
const tableWordedPropertyNames = [
|
|
12
|
+
"AttributeDefinitions",
|
|
13
|
+
"BillingMode",
|
|
14
|
+
"KeySchema",
|
|
15
|
+
"LocalSecondaryIndexes",
|
|
16
|
+
"StreamSpecification",
|
|
17
|
+
"TableName",
|
|
18
|
+
"TimeToLiveSpecification",
|
|
19
|
+
];
|
|
20
|
+
/**
|
|
21
|
+
* The properties a global table puts on its replica and an ordinary table puts
|
|
22
|
+
* on itself.
|
|
23
|
+
*/
|
|
24
|
+
const replicaWordedPropertyNames = [
|
|
25
|
+
"DeletionProtectionEnabled",
|
|
26
|
+
"TableClass",
|
|
27
|
+
"Tags",
|
|
28
|
+
];
|
|
29
|
+
/**
|
|
30
|
+
* Reads an AWS::DynamoDB::GlobalTable Resource into the AWS::DynamoDB::Table
|
|
31
|
+
* Resource it is.
|
|
32
|
+
*
|
|
33
|
+
* A global table with one replica is an ordinary table in that region, so it is
|
|
34
|
+
* turned into one and deployed down the path an ordinary table already takes.
|
|
35
|
+
* Nothing about what a key schema, a projection or a billing mode is allowed to
|
|
36
|
+
* be is decided here: most properties are handed on in the shape the template
|
|
37
|
+
* wrote them, and CreateTable is where they are checked.
|
|
38
|
+
*
|
|
39
|
+
* What is decided here is what a global table says differently. The replica
|
|
40
|
+
* carries the settings an ordinary table carries itself, capacity is split
|
|
41
|
+
* between the table's writes and the replica's reads, and there are properties
|
|
42
|
+
* about replication that have nothing to be true of on one table in one region.
|
|
43
|
+
*/
|
|
44
|
+
export class SimCfnDynamoDbGlobalTableProperties {
|
|
45
|
+
logicalId;
|
|
46
|
+
values;
|
|
47
|
+
replicas;
|
|
48
|
+
constructor(properties) {
|
|
49
|
+
this.logicalId = properties.resource.logicalId;
|
|
50
|
+
this.values = new SimCfnDynamoDbPropertyValues({
|
|
51
|
+
resourceTypeName: dynamoDbGlobalTableResourceTypeName,
|
|
52
|
+
logicalId: this.logicalId,
|
|
53
|
+
properties: properties.properties,
|
|
54
|
+
});
|
|
55
|
+
this.replicas = new SimCfnDynamoDbGlobalTableReplicas({
|
|
56
|
+
logicalId: this.logicalId,
|
|
57
|
+
regionName: properties.resource.accountRegionScope.regionName,
|
|
58
|
+
values: this.values,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The AWS::DynamoDB::Table properties this global table is, refusing
|
|
63
|
+
* everything about it that is not simulated on the way.
|
|
64
|
+
*
|
|
65
|
+
* The replica is settled first, since a table replicating across regions is
|
|
66
|
+
* skipped whatever else it asks for.
|
|
67
|
+
*/
|
|
68
|
+
tableProperties() {
|
|
69
|
+
const replica = this.replicas.single();
|
|
70
|
+
assertSimCfnDynamoDbGlobalTableSimulated({
|
|
71
|
+
logicalId: this.logicalId,
|
|
72
|
+
values: this.values,
|
|
73
|
+
replica,
|
|
74
|
+
});
|
|
75
|
+
const indexes = simCfnDynamoDbGlobalTableIndexes(this.values, replica);
|
|
76
|
+
const capacity = simCfnDynamoDbGlobalTableCapacity({
|
|
77
|
+
read: replica.object("ReadProvisionedThroughputSettings"),
|
|
78
|
+
write: this.values.object("WriteProvisionedThroughputSettings"),
|
|
79
|
+
});
|
|
80
|
+
return Object.fromEntries([
|
|
81
|
+
...simCfnDynamoDbGlobalTableProperty(this.values, tableWordedPropertyNames),
|
|
82
|
+
...simCfnDynamoDbGlobalTableProperty(replica, replicaWordedPropertyNames),
|
|
83
|
+
...simCfnDynamoDbGlobalTableEntry("GlobalSecondaryIndexes", indexes),
|
|
84
|
+
...simCfnDynamoDbGlobalTableEntry("ProvisionedThroughput", capacity),
|
|
85
|
+
]);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=sim-cfn-dynamodb-global-table-properties.js.map
|
package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-global-table-properties.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,wCAAwC,EAAE,MAAM,8CAA8C,CAAC;AAExG;;GAEG;AACH,MAAM,wBAAwB,GAAsB;IAClD,sBAAsB;IACtB,aAAa;IACb,WAAW;IACX,uBAAuB;IACvB,qBAAqB;IACrB,WAAW;IACX,yBAAyB;CAC1B,CAAC;AAEF;;;GAGG;AACH,MAAM,0BAA0B,GAAsB;IACpD,2BAA2B;IAC3B,YAAY;IACZ,MAAM;CACP,CAAC;AAOF;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,mCAAmC;IAC7B,SAAS,CAAS;IAClB,MAAM,CAA+B;IACrC,QAAQ,CAAoC;IAE7D,YAAY,UAAyD;QACnE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,4BAA4B,CAAC;YAC7C,gBAAgB,EAAE,mCAAmC;YACrD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,UAAU,CAAC,UAAU;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,iCAAiC,CAAC;YACpD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAU;YAC7D,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEvC,wCAAwC,CAAC;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO;SACR,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,gCAAgC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,iCAAiC,CAAC;YACjD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,mCAAmC,CAAC;YACzD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oCAAoC,CAAC;SAChE,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,WAAW,CAAC;YACxB,GAAG,iCAAiC,CAClC,IAAI,CAAC,MAAM,EACX,wBAAwB,CACzB;YACD,GAAG,iCAAiC,CAAC,OAAO,EAAE,0BAA0B,CAAC;YACzE,GAAG,8BAA8B,CAAC,wBAAwB,EAAE,OAAO,CAAC;YACpE,GAAG,8BAA8B,CAAC,uBAAuB,EAAE,QAAQ,CAAC;SACrE,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SimCfnDynamoDbPropertyRules } from "../property/sim-cfn-dynamodb-property-rules.js";
|
|
2
|
+
/**
|
|
3
|
+
* The rules the Resource's own properties are read under.
|
|
4
|
+
*/
|
|
5
|
+
export declare function simCfnDynamoDbGlobalTableRules(logicalId: string): SimCfnDynamoDbPropertyRules;
|
|
6
|
+
/**
|
|
7
|
+
* The rules a `GlobalSecondaryIndexes` entry on the table itself is read under.
|
|
8
|
+
*/
|
|
9
|
+
export declare function simCfnDynamoDbGlobalTableIndexRules(logicalId: string): SimCfnDynamoDbPropertyRules;
|
|
10
|
+
/**
|
|
11
|
+
* The rules a `LocalSecondaryIndexes` entry is read under.
|
|
12
|
+
*/
|
|
13
|
+
export declare function simCfnDynamoDbGlobalTableLocalIndexRules(logicalId: string): SimCfnDynamoDbPropertyRules;
|
|
14
|
+
/**
|
|
15
|
+
* The rules the `StreamSpecification` is read under.
|
|
16
|
+
*/
|
|
17
|
+
export declare function simCfnDynamoDbGlobalTableStreamRules(logicalId: string): SimCfnDynamoDbPropertyRules;
|
|
18
|
+
/**
|
|
19
|
+
* The rules a `WriteProvisionedThroughputSettings` is read under, on the table
|
|
20
|
+
* or on one of its global secondary indexes.
|
|
21
|
+
*/
|
|
22
|
+
export declare function simCfnDynamoDbGlobalTableWriteCapacityRules(logicalId: string): SimCfnDynamoDbPropertyRules;
|
|
23
|
+
//# sourceMappingURL=sim-cfn-dynamodb-global-table-property-rules.d.ts.map
|
package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-global-table-property-rules.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAqG7F;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,MAAM,GAChB,2BAA2B,CAO7B;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,SAAS,EAAE,MAAM,GAChB,2BAA2B,CAQ7B;AAED;;GAEG;AACH,wBAAgB,wCAAwC,CACtD,SAAS,EAAE,MAAM,GAChB,2BAA2B,CAO7B;AAED;;GAEG;AACH,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,MAAM,GAChB,2BAA2B,CAO7B;AAED;;;GAGG;AACH,wBAAgB,2CAA2C,CACzD,SAAS,EAAE,MAAM,GAChB,2BAA2B,CAQ7B"}
|
package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { SimCfnDynamoDbPropertyRules } from "../property/sim-cfn-dynamodb-property-rules.js";
|
|
2
|
+
import { dynamoDbGlobalTableResourceTypeName } from "../sim-cfn-dynamodb-resource-type.js";
|
|
3
|
+
/**
|
|
4
|
+
* The AWS::DynamoDB::GlobalTable properties this simulation acts on.
|
|
5
|
+
*
|
|
6
|
+
* Everything but `Replicas` is the table itself, and is handed on to the
|
|
7
|
+
* AWS::DynamoDB::Table path in the shape it already reads. `Replicas` is what
|
|
8
|
+
* decides whether there is a table here to create at all.
|
|
9
|
+
*/
|
|
10
|
+
const simulatedPropertyNames = new Set([
|
|
11
|
+
"AttributeDefinitions",
|
|
12
|
+
"BillingMode",
|
|
13
|
+
"GlobalSecondaryIndexes",
|
|
14
|
+
"KeySchema",
|
|
15
|
+
"LocalSecondaryIndexes",
|
|
16
|
+
"Replicas",
|
|
17
|
+
"StreamSpecification",
|
|
18
|
+
"TableName",
|
|
19
|
+
"TimeToLiveSpecification",
|
|
20
|
+
"WriteProvisionedThroughputSettings",
|
|
21
|
+
]);
|
|
22
|
+
/**
|
|
23
|
+
* Real AWS::DynamoDB::GlobalTable properties this simulation does not model.
|
|
24
|
+
*
|
|
25
|
+
* These are the ones the AWS::DynamoDB::Table path already skips, under the
|
|
26
|
+
* names a global table gives them, plus `MultiRegionConsistency`, which is a
|
|
27
|
+
* statement about replication and so has nothing to be true of here.
|
|
28
|
+
*/
|
|
29
|
+
const unsimulatedPropertyNames = new Set([
|
|
30
|
+
"MultiRegionConsistency",
|
|
31
|
+
"SSESpecification",
|
|
32
|
+
"WarmThroughput",
|
|
33
|
+
"WriteOnDemandThroughputSettings",
|
|
34
|
+
]);
|
|
35
|
+
/**
|
|
36
|
+
* The GlobalSecondaryIndex properties a global table's own index carries.
|
|
37
|
+
*
|
|
38
|
+
* A global table splits an index's capacity in two: the write capacity is the
|
|
39
|
+
* table's, since every replica takes the same writes, and the read capacity
|
|
40
|
+
* belongs to each replica. This is the writing half.
|
|
41
|
+
*/
|
|
42
|
+
const simulatedIndexPropertyNames = new Set([
|
|
43
|
+
"IndexName",
|
|
44
|
+
"KeySchema",
|
|
45
|
+
"Projection",
|
|
46
|
+
"WriteProvisionedThroughputSettings",
|
|
47
|
+
]);
|
|
48
|
+
/**
|
|
49
|
+
* Real GlobalSecondaryIndex properties of a global table this simulation does
|
|
50
|
+
* not model.
|
|
51
|
+
*/
|
|
52
|
+
const unsimulatedIndexPropertyNames = new Set([
|
|
53
|
+
"WarmThroughput",
|
|
54
|
+
"WriteOnDemandThroughputSettings",
|
|
55
|
+
]);
|
|
56
|
+
/**
|
|
57
|
+
* The LocalSecondaryIndex properties, which this simulation models all of.
|
|
58
|
+
*
|
|
59
|
+
* A local secondary index reads out of its table's capacity rather than having
|
|
60
|
+
* any of its own, on a global table as on an ordinary one, so there is nothing
|
|
61
|
+
* here that is real and unmodelled.
|
|
62
|
+
*/
|
|
63
|
+
const simulatedLocalIndexPropertyNames = new Set([
|
|
64
|
+
"IndexName",
|
|
65
|
+
"KeySchema",
|
|
66
|
+
"Projection",
|
|
67
|
+
]);
|
|
68
|
+
/**
|
|
69
|
+
* The StreamSpecification properties of a global table.
|
|
70
|
+
*
|
|
71
|
+
* A global table's stream is what replication reads from, so AWS gives it no
|
|
72
|
+
* `ResourcePolicy` and no choice of view type worth the name. `StreamViewType`
|
|
73
|
+
* is the whole of it.
|
|
74
|
+
*/
|
|
75
|
+
const simulatedStreamPropertyNames = new Set([
|
|
76
|
+
"StreamViewType",
|
|
77
|
+
]);
|
|
78
|
+
/**
|
|
79
|
+
* The write capacity settings this simulation acts on.
|
|
80
|
+
*
|
|
81
|
+
* A fixed `WriteCapacityUnits` is the capacity an ordinary table's
|
|
82
|
+
* `ProvisionedThroughput` states, so it is carried across.
|
|
83
|
+
* `WriteCapacityAutoScalingSettings` asks for capacity that changes with load,
|
|
84
|
+
* which nothing here changes, so it skips the table rather than being read as
|
|
85
|
+
* the capacity it starts at.
|
|
86
|
+
*/
|
|
87
|
+
const simulatedWriteCapacityPropertyNames = new Set([
|
|
88
|
+
"WriteCapacityUnits",
|
|
89
|
+
]);
|
|
90
|
+
const unsimulatedWriteCapacityPropertyNames = new Set([
|
|
91
|
+
"WriteCapacityAutoScalingSettings",
|
|
92
|
+
]);
|
|
93
|
+
/**
|
|
94
|
+
* The rules the Resource's own properties are read under.
|
|
95
|
+
*/
|
|
96
|
+
export function simCfnDynamoDbGlobalTableRules(logicalId) {
|
|
97
|
+
return new SimCfnDynamoDbPropertyRules({
|
|
98
|
+
resourceTypeName: dynamoDbGlobalTableResourceTypeName,
|
|
99
|
+
logicalId,
|
|
100
|
+
simulated: simulatedPropertyNames,
|
|
101
|
+
unsimulated: unsimulatedPropertyNames,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The rules a `GlobalSecondaryIndexes` entry on the table itself is read under.
|
|
106
|
+
*/
|
|
107
|
+
export function simCfnDynamoDbGlobalTableIndexRules(logicalId) {
|
|
108
|
+
return new SimCfnDynamoDbPropertyRules({
|
|
109
|
+
resourceTypeName: dynamoDbGlobalTableResourceTypeName,
|
|
110
|
+
logicalId,
|
|
111
|
+
kind: "GlobalSecondaryIndex",
|
|
112
|
+
simulated: simulatedIndexPropertyNames,
|
|
113
|
+
unsimulated: unsimulatedIndexPropertyNames,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* The rules a `LocalSecondaryIndexes` entry is read under.
|
|
118
|
+
*/
|
|
119
|
+
export function simCfnDynamoDbGlobalTableLocalIndexRules(logicalId) {
|
|
120
|
+
return new SimCfnDynamoDbPropertyRules({
|
|
121
|
+
resourceTypeName: dynamoDbGlobalTableResourceTypeName,
|
|
122
|
+
logicalId,
|
|
123
|
+
kind: "LocalSecondaryIndex",
|
|
124
|
+
simulated: simulatedLocalIndexPropertyNames,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* The rules the `StreamSpecification` is read under.
|
|
129
|
+
*/
|
|
130
|
+
export function simCfnDynamoDbGlobalTableStreamRules(logicalId) {
|
|
131
|
+
return new SimCfnDynamoDbPropertyRules({
|
|
132
|
+
resourceTypeName: dynamoDbGlobalTableResourceTypeName,
|
|
133
|
+
logicalId,
|
|
134
|
+
kind: "StreamSpecification",
|
|
135
|
+
simulated: simulatedStreamPropertyNames,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* The rules a `WriteProvisionedThroughputSettings` is read under, on the table
|
|
140
|
+
* or on one of its global secondary indexes.
|
|
141
|
+
*/
|
|
142
|
+
export function simCfnDynamoDbGlobalTableWriteCapacityRules(logicalId) {
|
|
143
|
+
return new SimCfnDynamoDbPropertyRules({
|
|
144
|
+
resourceTypeName: dynamoDbGlobalTableResourceTypeName,
|
|
145
|
+
logicalId,
|
|
146
|
+
kind: "WriteProvisionedThroughputSettings",
|
|
147
|
+
simulated: simulatedWriteCapacityPropertyNames,
|
|
148
|
+
unsimulated: unsimulatedWriteCapacityPropertyNames,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=sim-cfn-dynamodb-global-table-property-rules.js.map
|
package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-global-table-property-rules.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAE3F;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IAC1D,sBAAsB;IACtB,aAAa;IACb,wBAAwB;IACxB,WAAW;IACX,uBAAuB;IACvB,UAAU;IACV,qBAAqB;IACrB,WAAW;IACX,yBAAyB;IACzB,oCAAoC;CACrC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,wBAAwB;IACxB,kBAAkB;IAClB,gBAAgB;IAChB,iCAAiC;CAClC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,2BAA2B,GAAwB,IAAI,GAAG,CAAC;IAC/D,WAAW;IACX,WAAW;IACX,YAAY;IACZ,oCAAoC;CACrC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,6BAA6B,GAAwB,IAAI,GAAG,CAAC;IACjE,gBAAgB;IAChB,iCAAiC;CAClC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,gCAAgC,GAAwB,IAAI,GAAG,CAAC;IACpE,WAAW;IACX,WAAW;IACX,YAAY;CACb,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,4BAA4B,GAAwB,IAAI,GAAG,CAAC;IAChE,gBAAgB;CACjB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,mCAAmC,GAAwB,IAAI,GAAG,CAAC;IACvE,oBAAoB;CACrB,CAAC,CAAC;AAEH,MAAM,qCAAqC,GAAwB,IAAI,GAAG,CAAC;IACzE,kCAAkC;CACnC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC5C,SAAiB;IAEjB,OAAO,IAAI,2BAA2B,CAAC;QACrC,gBAAgB,EAAE,mCAAmC;QACrD,SAAS;QACT,SAAS,EAAE,sBAAsB;QACjC,WAAW,EAAE,wBAAwB;KACtC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mCAAmC,CACjD,SAAiB;IAEjB,OAAO,IAAI,2BAA2B,CAAC;QACrC,gBAAgB,EAAE,mCAAmC;QACrD,SAAS;QACT,IAAI,EAAE,sBAAsB;QAC5B,SAAS,EAAE,2BAA2B;QACtC,WAAW,EAAE,6BAA6B;KAC3C,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wCAAwC,CACtD,SAAiB;IAEjB,OAAO,IAAI,2BAA2B,CAAC;QACrC,gBAAgB,EAAE,mCAAmC;QACrD,SAAS;QACT,IAAI,EAAE,qBAAqB;QAC3B,SAAS,EAAE,gCAAgC;KAC5C,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oCAAoC,CAClD,SAAiB;IAEjB,OAAO,IAAI,2BAA2B,CAAC;QACrC,gBAAgB,EAAE,mCAAmC;QACrD,SAAS;QACT,IAAI,EAAE,qBAAqB;QAC3B,SAAS,EAAE,4BAA4B;KACxC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2CAA2C,CACzD,SAAiB;IAEjB,OAAO,IAAI,2BAA2B,CAAC;QACrC,gBAAgB,EAAE,mCAAmC;QACrD,SAAS;QACT,IAAI,EAAE,oCAAoC;QAC1C,SAAS,EAAE,mCAAmC;QAC9C,WAAW,EAAE,qCAAqC;KACnD,CAAC,CAAC;AACL,CAAC"}
|