@kensio/yulin 1.19.2 → 1.19.4
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 +12 -0
- package/dist/serve/http/local-server/sim-aws-local-server.d.ts +33 -0
- package/dist/serve/http/local-server/sim-aws-local-server.d.ts.map +1 -1
- package/dist/serve/http/local-server/sim-aws-local-server.js +15 -1
- package/dist/serve/http/local-server/sim-aws-local-server.js.map +1 -1
- package/dist/serve/index.d.ts +1 -0
- package/dist/serve/index.d.ts.map +1 -1
- package/dist/serve/index.js.map +1 -1
- package/dist/serve/message/sim-email-log-block.d.ts +35 -0
- package/dist/serve/message/sim-email-log-block.d.ts.map +1 -0
- package/dist/serve/message/sim-email-log-block.js +111 -0
- package/dist/serve/message/sim-email-log-block.js.map +1 -0
- package/dist/serve/message/sim-local-message-logging.d.ts +39 -0
- package/dist/serve/message/sim-local-message-logging.d.ts.map +1 -0
- package/dist/serve/message/sim-local-message-logging.js +48 -0
- package/dist/serve/message/sim-local-message-logging.js.map +1 -0
- package/dist/serve/message/sim-message-indent.d.ts +10 -0
- package/dist/serve/message/sim-message-indent.d.ts.map +1 -0
- package/dist/serve/message/sim-message-indent.js +12 -0
- package/dist/serve/message/sim-message-indent.js.map +1 -0
- package/dist/serve/message/sim-message-log-console.d.ts +59 -0
- package/dist/serve/message/sim-message-log-console.d.ts.map +1 -0
- package/dist/serve/message/sim-message-log-console.js +79 -0
- package/dist/serve/message/sim-message-log-console.js.map +1 -0
- package/dist/serve/message/sim-message-logging.d.ts +55 -0
- package/dist/serve/message/sim-message-logging.d.ts.map +1 -0
- package/dist/serve/message/sim-message-logging.js +52 -0
- package/dist/serve/message/sim-message-logging.js.map +1 -0
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +13 -0
- 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 +27 -1
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.d.ts +0 -9
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.js +0 -11
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +9 -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 +11 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/message/sim-aws-logged-message.d.ts +66 -0
- package/dist/service/aws/message/sim-aws-logged-message.d.ts.map +1 -0
- package/dist/service/aws/message/sim-aws-logged-message.js +2 -0
- package/dist/service/aws/message/sim-aws-logged-message.js.map +1 -0
- package/dist/service/aws/message/sim-aws-message-log.d.ts +40 -0
- package/dist/service/aws/message/sim-aws-message-log.d.ts.map +1 -0
- package/dist/service/aws/message/sim-aws-message-log.js +40 -0
- package/dist/service/aws/message/sim-aws-message-log.js.map +1 -0
- package/dist/service/cloudformation/bind/{sim-cfn-deploy-binding.d.ts → sim-cfn-binding.d.ts} +11 -4
- package/dist/service/cloudformation/bind/sim-cfn-binding.d.ts.map +1 -0
- package/dist/service/cloudformation/bind/{sim-cfn-deploy-binding.js → sim-cfn-binding.js} +1 -1
- package/dist/service/cloudformation/bind/sim-cfn-binding.js.map +1 -0
- package/dist/service/cloudformation/bind/sim-cfn-exec-binding.type.d.ts +32 -35
- package/dist/service/cloudformation/bind/sim-cfn-exec-binding.type.d.ts.map +1 -1
- package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-finder.d.ts +2 -2
- package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-finder.d.ts.map +1 -1
- package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-finder.js +1 -1
- package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-finder.js.map +1 -1
- package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-validator.d.ts +2 -2
- package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-validator.d.ts.map +1 -1
- package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-validator.js +1 -1
- package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-validator.js.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/property/sim-cdk-bucket-notification-properties.d.ts +4 -3
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/property/sim-cdk-bucket-notification-properties.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/property/sim-cdk-bucket-notification-properties.js +4 -3
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/property/sim-cdk-bucket-notification-properties.js.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.d.ts +5 -0
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.js +5 -0
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.js.map +1 -1
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +2 -2
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts.map +1 -1
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.js.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +2 -2
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +2 -2
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js.map +1 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +3 -3
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts.map +1 -1
- package/dist/service/cloudformation/index.d.ts +3 -0
- package/dist/service/cloudformation/index.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/ses/sim-ses-cfn-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/ses/sim-ses-cfn-value-adapter.js +8 -0
- package/dist/service/cloudformation/resource/cfn/ses/sim-ses-cfn-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.d.ts +30 -0
- package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.js +29 -0
- package/dist/service/cloudformation/resource/cfn/ses/sim-ses-configuration-set-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/ses/sim-ses-identity-cfn.js +1 -1
- package/dist/service/cloudformation/resource/cfn/ses/sim-ses-identity-cfn.js.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +2 -2
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts +2 -2
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js.map +1 -1
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts +2 -2
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +8 -0
- package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +2 -2
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +3 -10
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +13 -18
- package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +2 -2
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-binding-lookup.d.ts +2 -2
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-binding-lookup.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.d.ts +2 -2
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.js.map +1 -1
- package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.d.ts.map +1 -1
- package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js +2 -0
- package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js.map +1 -1
- package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts +7 -0
- package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts.map +1 -1
- package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js +14 -0
- package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js.map +1 -1
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.d.ts.map +1 -1
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js +10 -0
- package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js.map +1 -1
- package/dist/service/cognito/command/auth/sim-cognito-available-challenges.d.ts.map +1 -1
- package/dist/service/cognito/command/auth/sim-cognito-available-challenges.js +7 -6
- package/dist/service/cognito/command/auth/sim-cognito-available-challenges.js.map +1 -1
- package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts +20 -0
- package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts.map +1 -1
- package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js +24 -4
- package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js.map +1 -1
- package/dist/service/cognito/command/sim-cognito-commands.d.ts +4 -0
- package/dist/service/cognito/command/sim-cognito-commands.d.ts.map +1 -1
- package/dist/service/cognito/command/sim-cognito-commands.js +8 -2
- package/dist/service/cognito/command/sim-cognito-commands.js.map +1 -1
- package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts +9 -0
- package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts.map +1 -1
- package/dist/service/cognito/command/sim-cognito-unsimulated-input.js +13 -3
- package/dist/service/cognito/command/sim-cognito-unsimulated-input.js.map +1 -1
- package/dist/service/cognito/command/user/sim-cognito-user-mfa-commands.d.ts.map +1 -1
- package/dist/service/cognito/command/user/sim-cognito-user-mfa-commands.js +2 -1
- package/dist/service/cognito/command/user/sim-cognito-user-mfa-commands.js.map +1 -1
- package/dist/service/cognito/command/user/user-mfa.command.d.ts +4 -3
- package/dist/service/cognito/command/user/user-mfa.command.d.ts.map +1 -1
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts +22 -8
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts.map +1 -1
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js +24 -11
- package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js.map +1 -1
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.d.ts +3 -3
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.d.ts.map +1 -1
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.js +5 -4
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-mfa-commands.js.map +1 -1
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts +6 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts.map +1 -1
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js +7 -0
- package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js.map +1 -1
- package/dist/service/cognito/command/user-pool/user-pool-mfa.command.d.ts +7 -6
- package/dist/service/cognito/command/user-pool/user-pool-mfa.command.d.ts.map +1 -1
- package/dist/service/cognito/command/user-pool/user-pool.command.d.ts +4 -2
- package/dist/service/cognito/command/user-pool/user-pool.command.d.ts.map +1 -1
- package/dist/service/cognito/error/sim-cognito.error.d.ts +23 -0
- package/dist/service/cognito/error/sim-cognito.error.d.ts.map +1 -1
- package/dist/service/cognito/error/sim-cognito.error.js +27 -0
- package/dist/service/cognito/error/sim-cognito.error.js.map +1 -1
- package/dist/service/cognito/index.d.ts +4 -0
- package/dist/service/cognito/index.d.ts.map +1 -1
- package/dist/service/cognito/index.js +4 -0
- package/dist/service/cognito/index.js.map +1 -1
- package/dist/service/cognito/sim-cognito-identity-provider.d.ts +14 -0
- package/dist/service/cognito/sim-cognito-identity-provider.d.ts.map +1 -1
- package/dist/service/cognito/sim-cognito-identity-provider.js +5 -1
- package/dist/service/cognito/sim-cognito-identity-provider.js.map +1 -1
- package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.d.ts +42 -0
- package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.js +84 -0
- package/dist/service/cognito/user-pool/message/sim-aws-cognito-email-senders.js.map +1 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.d.ts +31 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.js +72 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration-reader.js.map +1 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.d.ts +85 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.js +117 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-configuration.js.map +1 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.d.ts +73 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.js +23 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-senders.js.map +1 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.d.ts +39 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.js +33 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-email-source-arn.js.map +1 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.d.ts +41 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.d.ts.map +1 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.js +66 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-pool-email-delivery.js.map +1 -0
- package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.d.ts +19 -4
- package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.d.ts.map +1 -1
- package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.js +30 -8
- package/dist/service/cognito/user-pool/message/sim-cognito-pool-messenger.js.map +1 -1
- package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.d.ts +9 -3
- package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.d.ts.map +1 -1
- package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.js +9 -3
- package/dist/service/cognito/user-pool/message/sim-cognito-sent-message.js.map +1 -1
- package/dist/service/cognito/user-pool/mfa/sim-cognito-user-pool-mfa.d.ts +2 -3
- package/dist/service/cognito/user-pool/mfa/sim-cognito-user-pool-mfa.d.ts.map +1 -1
- package/dist/service/cognito/user-pool/mfa/sim-cognito-user-pool-mfa.js.map +1 -1
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts +4 -2
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts.map +1 -1
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js +2 -1
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js.map +1 -1
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.d.ts +13 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.d.ts.map +1 -1
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.js +7 -0
- package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.js.map +1 -1
- package/dist/service/ecs/cfn/bind/sim-cfn-ecs-container-binding.type.d.ts +1 -1
- package/dist/service/ecs/cfn/bind/sim-cfn-ecs-container-bindings.d.ts +2 -2
- package/dist/service/ecs/cfn/bind/sim-cfn-ecs-container-bindings.d.ts.map +1 -1
- package/dist/service/ecs/cfn/bind/sim-cfn-ecs-container-bindings.js +1 -1
- package/dist/service/ecs/cfn/bind/sim-cfn-ecs-container-bindings.js.map +1 -1
- package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.d.ts +2 -2
- package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.d.ts.map +1 -1
- package/dist/service/ecs/cfn/task-definition/sim-cfn-ecs-task-definition-creator.js.map +1 -1
- package/dist/service/iam/index.d.ts +1 -0
- package/dist/service/iam/index.d.ts.map +1 -1
- package/dist/service/iam/index.js.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.d.ts +2 -2
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.d.ts.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts +2 -2
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js.map +1 -1
- package/dist/service/ses/account/sim-ses-account.d.ts +22 -0
- package/dist/service/ses/account/sim-ses-account.d.ts.map +1 -1
- package/dist/service/ses/account/sim-ses-account.js +31 -0
- package/dist/service/ses/account/sim-ses-account.js.map +1 -1
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts +30 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.d.ts.map +1 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js +47 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-creator.js.map +1 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.d.ts +23 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.d.ts.map +1 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.js +52 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-option-groups.js.map +1 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.d.ts +39 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.d.ts.map +1 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.js +71 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-properties.js.map +1 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.d.ts +17 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.d.ts.map +1 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.js +34 -0
- package/dist/service/ses/cfn/configuration-set/sim-cfn-ses-configuration-set-unsimulated-properties.js.map +1 -0
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts +5 -0
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.d.ts.map +1 -1
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js +7 -0
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-creator.js.map +1 -1
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.d.ts +13 -8
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.d.ts.map +1 -1
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.js +29 -14
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-properties.js.map +1 -1
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.d.ts +18 -0
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.d.ts.map +1 -0
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.js +77 -0
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-settings.js.map +1 -0
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.d.ts +25 -0
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.d.ts.map +1 -0
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.js +49 -0
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-values.js.map +1 -0
- package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.d.ts +25 -0
- package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.d.ts.map +1 -0
- package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.js +69 -0
- package/dist/service/ses/cfn/sim-cfn-ses-property-scalars.js.map +1 -0
- package/dist/service/ses/cfn/sim-cfn-ses-resource-types.d.ts +2 -0
- package/dist/service/ses/cfn/sim-cfn-ses-resource-types.d.ts.map +1 -1
- package/dist/service/ses/cfn/sim-cfn-ses-resource-types.js +2 -0
- package/dist/service/ses/cfn/sim-cfn-ses-resource-types.js.map +1 -1
- package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts +3 -2
- package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.d.ts.map +1 -1
- package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js +43 -40
- package/dist/service/ses/cfn/sim-ses-cfn-resource-factory.js.map +1 -1
- package/dist/service/ses/command/account/account.command.d.ts +22 -0
- package/dist/service/ses/command/account/account.command.d.ts.map +1 -1
- package/dist/service/ses/command/account/sim-ses-account-commands.d.ts +12 -4
- package/dist/service/ses/command/account/sim-ses-account-commands.d.ts.map +1 -1
- package/dist/service/ses/command/account/sim-ses-account-commands.js +16 -3
- package/dist/service/ses/command/account/sim-ses-account-commands.js.map +1 -1
- package/dist/service/ses/command/account/sim-ses-account-report.d.ts +3 -0
- package/dist/service/ses/command/account/sim-ses-account-report.d.ts.map +1 -1
- package/dist/service/ses/command/account/sim-ses-account-report.js +4 -0
- package/dist/service/ses/command/account/sim-ses-account-report.js.map +1 -1
- package/dist/service/ses/command/authorize/sim-ses-authorizer.d.ts +8 -0
- package/dist/service/ses/command/authorize/sim-ses-authorizer.d.ts.map +1 -1
- package/dist/service/ses/command/authorize/sim-ses-authorizer.js +11 -1
- package/dist/service/ses/command/authorize/sim-ses-authorizer.js.map +1 -1
- package/dist/service/ses/command/configuration-set/configuration-set.command.d.ts +100 -0
- package/dist/service/ses/command/configuration-set/configuration-set.command.d.ts.map +1 -0
- package/dist/service/ses/command/configuration-set/configuration-set.command.js +2 -0
- package/dist/service/ses/command/configuration-set/configuration-set.command.js.map +1 -0
- package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.d.ts +55 -0
- package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.d.ts.map +1 -0
- package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.js +105 -0
- package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-commands.js.map +1 -0
- package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.d.ts +11 -0
- package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.d.ts.map +1 -0
- package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.js +83 -0
- package/dist/service/ses/command/configuration-set/sim-ses-configuration-set-options.js.map +1 -0
- package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.d.ts +12 -0
- package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.d.ts.map +1 -0
- package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.js +27 -0
- package/dist/service/ses/command/configuration-set/sim-ses-unsimulated-configuration-set-input.js.map +1 -0
- package/dist/service/ses/command/identity/identity.command.d.ts +55 -2
- package/dist/service/ses/command/identity/identity.command.d.ts.map +1 -1
- package/dist/service/ses/command/identity/sim-ses-identity-attributes.d.ts +29 -0
- package/dist/service/ses/command/identity/sim-ses-identity-attributes.d.ts.map +1 -0
- package/dist/service/ses/command/identity/sim-ses-identity-attributes.js +60 -0
- package/dist/service/ses/command/identity/sim-ses-identity-attributes.js.map +1 -0
- package/dist/service/ses/command/identity/sim-ses-identity-commands.d.ts +6 -1
- package/dist/service/ses/command/identity/sim-ses-identity-commands.d.ts.map +1 -1
- package/dist/service/ses/command/identity/sim-ses-identity-commands.js +12 -12
- package/dist/service/ses/command/identity/sim-ses-identity-commands.js.map +1 -1
- package/dist/service/ses/command/identity/sim-ses-identity-input-settings.d.ts +16 -0
- package/dist/service/ses/command/identity/sim-ses-identity-input-settings.d.ts.map +1 -0
- package/dist/service/ses/command/identity/sim-ses-identity-input-settings.js +57 -0
- package/dist/service/ses/command/identity/sim-ses-identity-input-settings.js.map +1 -0
- package/dist/service/ses/command/send/sim-ses-configuration-set-check.d.ts +53 -0
- package/dist/service/ses/command/send/sim-ses-configuration-set-check.d.ts.map +1 -0
- package/dist/service/ses/command/send/sim-ses-configuration-set-check.js +70 -0
- package/dist/service/ses/command/send/sim-ses-configuration-set-check.js.map +1 -0
- package/dist/service/ses/command/send/sim-ses-send-email.d.ts +11 -3
- package/dist/service/ses/command/send/sim-ses-send-email.d.ts.map +1 -1
- package/dist/service/ses/command/send/sim-ses-send-email.js +18 -4
- package/dist/service/ses/command/send/sim-ses-send-email.js.map +1 -1
- package/dist/service/ses/command/send/sim-ses-service-send.d.ts +74 -0
- package/dist/service/ses/command/send/sim-ses-service-send.d.ts.map +1 -0
- package/dist/service/ses/command/send/sim-ses-service-send.js +76 -0
- package/dist/service/ses/command/send/sim-ses-service-send.js.map +1 -0
- package/dist/service/ses/command/send/sim-ses-suppression-check.d.ts +31 -0
- package/dist/service/ses/command/send/sim-ses-suppression-check.d.ts.map +1 -0
- package/dist/service/ses/command/send/sim-ses-suppression-check.js +37 -0
- package/dist/service/ses/command/send/sim-ses-suppression-check.js.map +1 -0
- package/dist/service/ses/command/send/sim-ses-verified-identities.d.ts +8 -0
- package/dist/service/ses/command/send/sim-ses-verified-identities.d.ts.map +1 -1
- package/dist/service/ses/command/send/sim-ses-verified-identities.js +15 -2
- package/dist/service/ses/command/send/sim-ses-verified-identities.js.map +1 -1
- package/dist/service/ses/command/sim-ses-command.types.d.ts +4 -2
- package/dist/service/ses/command/sim-ses-command.types.d.ts.map +1 -1
- package/dist/service/ses/command/suppression/sim-ses-suppression-commands.d.ts +44 -0
- package/dist/service/ses/command/suppression/sim-ses-suppression-commands.d.ts.map +1 -0
- package/dist/service/ses/command/suppression/sim-ses-suppression-commands.js +79 -0
- package/dist/service/ses/command/suppression/sim-ses-suppression-commands.js.map +1 -0
- package/dist/service/ses/command/suppression/sim-ses-suppression-listing.d.ts +15 -0
- package/dist/service/ses/command/suppression/sim-ses-suppression-listing.d.ts.map +1 -0
- package/dist/service/ses/command/suppression/sim-ses-suppression-listing.js +29 -0
- package/dist/service/ses/command/suppression/sim-ses-suppression-listing.js.map +1 -0
- package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.d.ts +9 -0
- package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.d.ts.map +1 -0
- package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.js +16 -0
- package/dist/service/ses/command/suppression/sim-ses-unsimulated-suppression-input.js.map +1 -0
- package/dist/service/ses/command/suppression/suppression.command.d.ts +90 -0
- package/dist/service/ses/command/suppression/suppression.command.d.ts.map +1 -0
- package/dist/service/ses/command/suppression/suppression.command.js +2 -0
- package/dist/service/ses/command/suppression/suppression.command.js.map +1 -0
- package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.d.ts +44 -0
- package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.d.ts.map +1 -0
- package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.js +91 -0
- package/dist/service/ses/configuration-set/sim-ses-configuration-set-store.js.map +1 -0
- package/dist/service/ses/configuration-set/sim-ses-configuration-set.d.ts +75 -0
- package/dist/service/ses/configuration-set/sim-ses-configuration-set.d.ts.map +1 -0
- package/dist/service/ses/configuration-set/sim-ses-configuration-set.js +44 -0
- package/dist/service/ses/configuration-set/sim-ses-configuration-set.js.map +1 -0
- package/dist/service/ses/email/sim-ses-sent-email-store.d.ts +14 -0
- package/dist/service/ses/email/sim-ses-sent-email-store.d.ts.map +1 -1
- package/dist/service/ses/email/sim-ses-sent-email-store.js +21 -0
- package/dist/service/ses/email/sim-ses-sent-email-store.js.map +1 -1
- package/dist/service/ses/email/sim-ses-sent-email.d.ts +29 -0
- package/dist/service/ses/email/sim-ses-sent-email.d.ts.map +1 -1
- package/dist/service/ses/email/sim-ses-sent-email.js +21 -0
- package/dist/service/ses/email/sim-ses-sent-email.js.map +1 -1
- package/dist/service/ses/error/sim-ses.error.d.ts +12 -0
- package/dist/service/ses/error/sim-ses.error.d.ts.map +1 -1
- package/dist/service/ses/error/sim-ses.error.js +14 -0
- package/dist/service/ses/error/sim-ses.error.js.map +1 -1
- package/dist/service/ses/identity/sim-ses-dkim-tokens.d.ts.map +1 -0
- package/dist/service/ses/identity/sim-ses-dkim-tokens.js.map +1 -0
- package/dist/service/ses/identity/sim-ses-identity-name.d.ts +5 -0
- package/dist/service/ses/identity/sim-ses-identity-name.d.ts.map +1 -1
- package/dist/service/ses/identity/sim-ses-identity-name.js +5 -1
- package/dist/service/ses/identity/sim-ses-identity-name.js.map +1 -1
- package/dist/service/ses/identity/sim-ses-identity-settings.d.ts +64 -0
- package/dist/service/ses/identity/sim-ses-identity-settings.d.ts.map +1 -0
- package/dist/service/ses/identity/sim-ses-identity-settings.js +21 -0
- package/dist/service/ses/identity/sim-ses-identity-settings.js.map +1 -0
- package/dist/service/ses/identity/sim-ses-identity-store.d.ts +2 -1
- package/dist/service/ses/identity/sim-ses-identity-store.d.ts.map +1 -1
- package/dist/service/ses/identity/sim-ses-identity-store.js +2 -1
- package/dist/service/ses/identity/sim-ses-identity-store.js.map +1 -1
- package/dist/service/ses/identity/sim-ses-identity.d.ts +38 -0
- package/dist/service/ses/identity/sim-ses-identity.d.ts.map +1 -1
- package/dist/service/ses/identity/sim-ses-identity.js +54 -0
- package/dist/service/ses/identity/sim-ses-identity.js.map +1 -1
- package/dist/service/ses/index.d.ts +11 -4
- package/dist/service/ses/index.d.ts.map +1 -1
- package/dist/service/ses/index.js +8 -2
- package/dist/service/ses/index.js.map +1 -1
- package/dist/service/ses/sdk/sim-ses-sdk-command-router.d.ts.map +1 -1
- package/dist/service/ses/sdk/sim-ses-sdk-command-router.js +36 -0
- package/dist/service/ses/sdk/sim-ses-sdk-command-router.js.map +1 -1
- package/dist/service/ses/sim-ses-arn.d.ts +7 -0
- package/dist/service/ses/sim-ses-arn.d.ts.map +1 -1
- package/dist/service/ses/sim-ses-arn.js +9 -0
- package/dist/service/ses/sim-ses-arn.js.map +1 -1
- package/dist/service/ses/sim-ses-commands.d.ts +19 -0
- package/dist/service/ses/sim-ses-commands.d.ts.map +1 -1
- package/dist/service/ses/sim-ses-commands.js +57 -7
- package/dist/service/ses/sim-ses-commands.js.map +1 -1
- package/dist/service/ses/sim-ses-configuration-sets.d.ts +47 -0
- package/dist/service/ses/sim-ses-configuration-sets.d.ts.map +1 -0
- package/dist/service/ses/sim-ses-configuration-sets.js +60 -0
- package/dist/service/ses/sim-ses-configuration-sets.js.map +1 -0
- package/dist/service/ses/sim-ses-suppression.d.ts +52 -0
- package/dist/service/ses/sim-ses-suppression.d.ts.map +1 -0
- package/dist/service/ses/sim-ses-suppression.js +63 -0
- package/dist/service/ses/sim-ses-suppression.js.map +1 -0
- package/dist/service/ses/sim-ses-v2.d.ts +14 -1
- package/dist/service/ses/sim-ses-v2.d.ts.map +1 -1
- package/dist/service/ses/sim-ses-v2.js +48 -35
- package/dist/service/ses/sim-ses-v2.js.map +1 -1
- package/dist/service/ses/suppression/sim-ses-suppressed-destination.d.ts +24 -0
- package/dist/service/ses/suppression/sim-ses-suppressed-destination.d.ts.map +1 -0
- package/dist/service/ses/suppression/sim-ses-suppressed-destination.js +21 -0
- package/dist/service/ses/suppression/sim-ses-suppressed-destination.js.map +1 -0
- package/dist/service/ses/suppression/sim-ses-suppression-address.d.ts +9 -0
- package/dist/service/ses/suppression/sim-ses-suppression-address.d.ts.map +1 -0
- package/dist/service/ses/suppression/sim-ses-suppression-address.js +21 -0
- package/dist/service/ses/suppression/sim-ses-suppression-address.js.map +1 -0
- package/dist/service/ses/suppression/sim-ses-suppression-list.d.ts +57 -0
- package/dist/service/ses/suppression/sim-ses-suppression-list.d.ts.map +1 -0
- package/dist/service/ses/suppression/sim-ses-suppression-list.js +82 -0
- package/dist/service/ses/suppression/sim-ses-suppression-list.js.map +1 -0
- package/dist/service/ses/suppression/sim-ses-suppression-reason.d.ts +20 -0
- package/dist/service/ses/suppression/sim-ses-suppression-reason.d.ts.map +1 -0
- package/dist/service/ses/suppression/sim-ses-suppression-reason.js +24 -0
- package/dist/service/ses/suppression/sim-ses-suppression-reason.js.map +1 -0
- package/dist/service/sns/command/sim-sns-commands.d.ts +2 -0
- package/dist/service/sns/command/sim-sns-commands.d.ts.map +1 -1
- package/dist/service/sns/command/sim-sns-commands.js +4 -1
- package/dist/service/sns/command/sim-sns-commands.js.map +1 -1
- package/dist/service/sns/sim-sns.d.ts +7 -0
- package/dist/service/sns/sim-sns.d.ts.map +1 -1
- package/dist/service/sns/sim-sns.js +3 -1
- package/dist/service/sns/sim-sns.js.map +1 -1
- package/dist/service/sns/sms/sim-sns-sent-sms-store.d.ts +13 -0
- package/dist/service/sns/sms/sim-sns-sent-sms-store.d.ts.map +1 -1
- package/dist/service/sns/sms/sim-sns-sent-sms-store.js +15 -0
- package/dist/service/sns/sms/sim-sns-sent-sms-store.js.map +1 -1
- package/dist/terraform/index.d.ts +6 -0
- package/dist/terraform/index.d.ts.map +1 -0
- package/dist/terraform/index.js +2 -0
- package/dist/terraform/index.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.d.ts +20 -0
- package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.js +36 -0
- package/dist/terraform/map/sim-tf-map-cloudwatch-dimensions.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-cloudwatch.d.ts +12 -0
- package/dist/terraform/map/sim-tf-map-cloudwatch.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-cloudwatch.js +69 -0
- package/dist/terraform/map/sim-tf-map-cloudwatch.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-cognito-client.d.ts +15 -0
- package/dist/terraform/map/sim-tf-map-cognito-client.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-cognito-client.js +37 -0
- package/dist/terraform/map/sim-tf-map-cognito-client.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-cognito-pool.d.ts +26 -0
- package/dist/terraform/map/sim-tf-map-cognito-pool.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-cognito-pool.js +70 -0
- package/dist/terraform/map/sim-tf-map-cognito-pool.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-cognito.d.ts +13 -0
- package/dist/terraform/map/sim-tf-map-cognito.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-cognito.js +39 -0
- package/dist/terraform/map/sim-tf-map-cognito.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-dynamodb-keys.d.ts +31 -0
- package/dist/terraform/map/sim-tf-map-dynamodb-keys.d.ts.map +1 -0
- package/dist/{service/cloudformation/terraform/sim-tf-map-dynamodb.js → terraform/map/sim-tf-map-dynamodb-keys.js} +27 -30
- package/dist/terraform/map/sim-tf-map-dynamodb-keys.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-dynamodb.d.ts +5 -0
- package/dist/terraform/map/sim-tf-map-dynamodb.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-dynamodb.js +31 -0
- package/dist/terraform/map/sim-tf-map-dynamodb.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-ecr.d.ts +12 -0
- package/dist/terraform/map/sim-tf-map-ecr.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-ecr.js +34 -0
- package/dist/terraform/map/sim-tf-map-ecr.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-events.d.ts +24 -0
- package/dist/terraform/map/sim-tf-map-events.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-events.js +151 -0
- package/dist/terraform/map/sim-tf-map-events.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-http-api-routes.d.ts +10 -0
- package/dist/terraform/map/sim-tf-map-http-api-routes.d.ts.map +1 -0
- package/dist/{service/cloudformation/terraform/sim-tf-map-http-api-route.js → terraform/map/sim-tf-map-http-api-routes.js} +19 -3
- package/dist/terraform/map/sim-tf-map-http-api-routes.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-http-api.d.ts +7 -0
- package/dist/terraform/map/sim-tf-map-http-api.d.ts.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-http-api.js +3 -17
- package/dist/terraform/map/sim-tf-map-http-api.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-iam-policy.d.ts +32 -0
- package/dist/terraform/map/sim-tf-map-iam-policy.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-iam-policy.js +85 -0
- package/dist/terraform/map/sim-tf-map-iam-policy.js.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-iam.d.ts +2 -4
- package/dist/terraform/map/sim-tf-map-iam.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-iam.js +37 -0
- package/dist/terraform/map/sim-tf-map-iam.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-kms.d.ts +25 -0
- package/dist/terraform/map/sim-tf-map-kms.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-kms.js +75 -0
- package/dist/terraform/map/sim-tf-map-kms.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-lambda-environment.d.ts +20 -0
- package/dist/terraform/map/sim-tf-map-lambda-environment.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-lambda-environment.js +52 -0
- package/dist/terraform/map/sim-tf-map-lambda-environment.js.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-lambda.d.ts +2 -2
- package/dist/terraform/map/sim-tf-map-lambda.d.ts.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-lambda.js +19 -36
- package/dist/terraform/map/sim-tf-map-lambda.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-logs.d.ts +12 -0
- package/dist/terraform/map/sim-tf-map-logs.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-logs.js +22 -0
- package/dist/terraform/map/sim-tf-map-logs.js.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-s3-folds.d.ts +1 -1
- package/dist/terraform/map/sim-tf-map-s3-folds.d.ts.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-s3-folds.js +2 -3
- package/dist/terraform/map/sim-tf-map-s3-folds.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-s3-lifecycle.d.ts +4 -0
- package/dist/terraform/map/sim-tf-map-s3-lifecycle.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-s3-lifecycle.js +92 -0
- package/dist/terraform/map/sim-tf-map-s3-lifecycle.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-s3-notification-destinations.d.ts +5 -0
- package/dist/terraform/map/sim-tf-map-s3-notification-destinations.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-s3-notification-destinations.js +30 -0
- package/dist/terraform/map/sim-tf-map-s3-notification-destinations.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-s3-notification-filter.d.ts +12 -0
- package/dist/terraform/map/sim-tf-map-s3-notification-filter.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-s3-notification-filter.js +21 -0
- package/dist/terraform/map/sim-tf-map-s3-notification-filter.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-s3-notification.d.ts +50 -0
- package/dist/terraform/map/sim-tf-map-s3-notification.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-s3-notification.js +80 -0
- package/dist/terraform/map/sim-tf-map-s3-notification.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-s3-rules.d.ts +7 -0
- package/dist/terraform/map/sim-tf-map-s3-rules.d.ts.map +1 -0
- package/dist/{service/cloudformation/terraform/sim-tf-map-s3-encryption.js → terraform/map/sim-tf-map-s3-rules.js} +20 -3
- package/dist/terraform/map/sim-tf-map-s3-rules.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-s3.d.ts +5 -0
- package/dist/terraform/map/sim-tf-map-s3.d.ts.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-s3.js +1 -1
- package/dist/terraform/map/sim-tf-map-s3.js.map +1 -0
- package/dist/{service/cloudformation/terraform/sim-tf-map-config.d.ts → terraform/map/sim-tf-map-secretsmanager.d.ts} +3 -5
- package/dist/terraform/map/sim-tf-map-secretsmanager.d.ts.map +1 -0
- package/dist/{service/cloudformation/terraform/sim-tf-map-config.js → terraform/map/sim-tf-map-secretsmanager.js} +2 -14
- package/dist/terraform/map/sim-tf-map-secretsmanager.js.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-sns.d.ts +2 -2
- package/dist/terraform/map/sim-tf-map-sns.d.ts.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform/map}/sim-tf-map-sns.js +1 -1
- package/dist/terraform/map/sim-tf-map-sns.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts +32 -0
- package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-sqs-redrive.js +68 -0
- package/dist/terraform/map/sim-tf-map-sqs-redrive.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-sqs.d.ts +11 -0
- package/dist/terraform/map/sim-tf-map-sqs.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-sqs.js +26 -0
- package/dist/terraform/map/sim-tf-map-sqs.js.map +1 -0
- package/dist/terraform/map/sim-tf-map-ssm.d.ts +13 -0
- package/dist/terraform/map/sim-tf-map-ssm.d.ts.map +1 -0
- package/dist/terraform/map/sim-tf-map-ssm.js +24 -0
- package/dist/terraform/map/sim-tf-map-ssm.js.map +1 -0
- package/dist/terraform/sim-tf-adapter.d.ts +80 -0
- package/dist/terraform/sim-tf-adapter.d.ts.map +1 -0
- package/dist/terraform/sim-tf-adapter.js +44 -0
- package/dist/terraform/sim-tf-adapter.js.map +1 -0
- package/dist/terraform/sim-tf-attribute-intrinsic.d.ts +13 -0
- package/dist/terraform/sim-tf-attribute-intrinsic.d.ts.map +1 -0
- package/dist/terraform/sim-tf-attribute-intrinsic.js +23 -0
- package/dist/terraform/sim-tf-attribute-intrinsic.js.map +1 -0
- package/dist/terraform/sim-tf-attribute-reads.d.ts.map +1 -0
- package/dist/terraform/sim-tf-attribute-reads.js.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform}/sim-tf-attributes.d.ts +13 -4
- package/dist/terraform/sim-tf-attributes.d.ts.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform}/sim-tf-attributes.js +2 -2
- package/dist/terraform/sim-tf-attributes.js.map +1 -0
- package/dist/terraform/sim-tf-declare.d.ts +17 -0
- package/dist/terraform/sim-tf-declare.d.ts.map +1 -0
- package/dist/terraform/sim-tf-declare.js +37 -0
- package/dist/terraform/sim-tf-declare.js.map +1 -0
- package/dist/{service/cloudformation/terraform/sim-tf-template-graph.d.ts → terraform/sim-tf-depends-on.d.ts} +4 -12
- package/dist/terraform/sim-tf-depends-on.d.ts.map +1 -0
- package/dist/terraform/sim-tf-depends-on.js +30 -0
- package/dist/terraform/sim-tf-depends-on.js.map +1 -0
- package/dist/terraform/sim-tf-expression-references.d.ts +11 -0
- package/dist/terraform/sim-tf-expression-references.d.ts.map +1 -0
- package/dist/terraform/sim-tf-expression-references.js +22 -0
- package/dist/terraform/sim-tf-expression-references.js.map +1 -0
- package/dist/terraform/sim-tf-fold.d.ts +26 -0
- package/dist/terraform/sim-tf-fold.d.ts.map +1 -0
- package/dist/terraform/sim-tf-fold.js +72 -0
- package/dist/terraform/sim-tf-fold.js.map +1 -0
- package/dist/terraform/sim-tf-import.d.ts +31 -0
- package/dist/terraform/sim-tf-import.d.ts.map +1 -0
- package/dist/terraform/sim-tf-import.js +38 -0
- package/dist/terraform/sim-tf-import.js.map +1 -0
- package/dist/terraform/sim-tf-logical-id.d.ts +27 -0
- package/dist/terraform/sim-tf-logical-id.d.ts.map +1 -0
- package/dist/terraform/sim-tf-logical-id.js +83 -0
- package/dist/terraform/sim-tf-logical-id.js.map +1 -0
- package/dist/terraform/sim-tf-mapping.type.d.ts +73 -0
- package/dist/terraform/sim-tf-mapping.type.d.ts.map +1 -0
- package/dist/terraform/sim-tf-mapping.type.js.map +1 -0
- package/dist/terraform/sim-tf-module-outputs.d.ts +50 -0
- package/dist/terraform/sim-tf-module-outputs.d.ts.map +1 -0
- package/dist/terraform/sim-tf-module-outputs.js +99 -0
- package/dist/terraform/sim-tf-module-outputs.js.map +1 -0
- package/dist/terraform/sim-tf-module-variables.d.ts +16 -0
- package/dist/terraform/sim-tf-module-variables.d.ts.map +1 -0
- package/dist/terraform/sim-tf-module-variables.js +37 -0
- package/dist/terraform/sim-tf-module-variables.js.map +1 -0
- package/dist/terraform/sim-tf-nested-attributes.d.ts +33 -0
- package/dist/terraform/sim-tf-nested-attributes.d.ts.map +1 -0
- package/dist/terraform/sim-tf-nested-attributes.js +97 -0
- package/dist/terraform/sim-tf-nested-attributes.js.map +1 -0
- package/dist/terraform/sim-tf-override.type.d.ts +36 -0
- package/dist/terraform/sim-tf-override.type.d.ts.map +1 -0
- package/dist/terraform/sim-tf-override.type.js +2 -0
- package/dist/terraform/sim-tf-override.type.js.map +1 -0
- package/dist/terraform/sim-tf-overrides.d.ts +21 -0
- package/dist/terraform/sim-tf-overrides.d.ts.map +1 -0
- package/dist/terraform/sim-tf-overrides.js +40 -0
- package/dist/terraform/sim-tf-overrides.js.map +1 -0
- package/dist/terraform/sim-tf-plan-file.d.ts +23 -0
- package/dist/terraform/sim-tf-plan-file.d.ts.map +1 -0
- package/dist/terraform/sim-tf-plan-file.js +58 -0
- package/dist/terraform/sim-tf-plan-file.js.map +1 -0
- package/dist/terraform/sim-tf-plan-resources.d.ts +18 -0
- package/dist/terraform/sim-tf-plan-resources.d.ts.map +1 -0
- package/dist/terraform/sim-tf-plan-resources.js +54 -0
- package/dist/terraform/sim-tf-plan-resources.js.map +1 -0
- package/dist/terraform/sim-tf-plan-sections.d.ts +31 -0
- package/dist/terraform/sim-tf-plan-sections.d.ts.map +1 -0
- package/dist/terraform/sim-tf-plan-sections.js +60 -0
- package/dist/terraform/sim-tf-plan-sections.js.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform}/sim-tf-plan.type.d.ts +25 -4
- package/dist/terraform/sim-tf-plan.type.d.ts.map +1 -0
- package/dist/terraform/sim-tf-plan.type.js.map +1 -0
- package/dist/terraform/sim-tf-reference-address.d.ts +52 -0
- package/dist/terraform/sim-tf-reference-address.d.ts.map +1 -0
- package/dist/terraform/sim-tf-reference-address.js +102 -0
- package/dist/terraform/sim-tf-reference-address.js.map +1 -0
- package/dist/terraform/sim-tf-reference-addresses.d.ts +45 -0
- package/dist/terraform/sim-tf-reference-addresses.d.ts.map +1 -0
- package/dist/terraform/sim-tf-reference-addresses.js +82 -0
- package/dist/terraform/sim-tf-reference-addresses.js.map +1 -0
- package/dist/terraform/sim-tf-reference-scope.d.ts +29 -0
- package/dist/terraform/sim-tf-reference-scope.d.ts.map +1 -0
- package/dist/terraform/sim-tf-reference-scope.js +71 -0
- package/dist/terraform/sim-tf-reference-scope.js.map +1 -0
- package/dist/terraform/sim-tf-reference.d.ts +84 -0
- package/dist/terraform/sim-tf-reference.d.ts.map +1 -0
- package/dist/terraform/sim-tf-reference.js +144 -0
- package/dist/terraform/sim-tf-reference.js.map +1 -0
- package/dist/terraform/sim-tf-referenced.d.ts +18 -0
- package/dist/terraform/sim-tf-referenced.d.ts.map +1 -0
- package/dist/terraform/sim-tf-referenced.js +40 -0
- package/dist/terraform/sim-tf-referenced.js.map +1 -0
- package/dist/terraform/sim-tf-refusal.d.ts +23 -0
- package/dist/terraform/sim-tf-refusal.d.ts.map +1 -0
- package/dist/terraform/sim-tf-refusal.js +44 -0
- package/dist/terraform/sim-tf-refusal.js.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform}/sim-tf-registry.d.ts +2 -1
- package/dist/terraform/sim-tf-registry.d.ts.map +1 -0
- package/dist/terraform/sim-tf-registry.js +67 -0
- package/dist/terraform/sim-tf-registry.js.map +1 -0
- package/dist/terraform/sim-tf-report.d.ts +21 -0
- package/dist/terraform/sim-tf-report.d.ts.map +1 -0
- package/dist/terraform/sim-tf-report.js +57 -0
- package/dist/terraform/sim-tf-report.js.map +1 -0
- package/dist/{service/cloudformation/terraform → terraform}/sim-tf-report.type.d.ts +10 -4
- package/dist/terraform/sim-tf-report.type.d.ts.map +1 -0
- package/dist/terraform/sim-tf-report.type.js.map +1 -0
- package/dist/{service/cloudformation/terraform/sim-tf-plan-resources.d.ts → terraform/sim-tf-resource.type.d.ts} +14 -12
- package/dist/terraform/sim-tf-resource.type.d.ts.map +1 -0
- package/dist/terraform/sim-tf-resource.type.js +3 -0
- package/dist/terraform/sim-tf-resource.type.js.map +1 -0
- package/dist/terraform/sim-tf-settle.d.ts +36 -0
- package/dist/terraform/sim-tf-settle.d.ts.map +1 -0
- package/dist/terraform/sim-tf-settle.js +65 -0
- package/dist/terraform/sim-tf-settle.js.map +1 -0
- package/dist/util/exactly-one.type.d.ts +14 -0
- package/dist/util/exactly-one.type.d.ts.map +1 -0
- package/dist/util/exactly-one.type.js +2 -0
- package/dist/util/exactly-one.type.js.map +1 -0
- package/dist/util/filesystem/test-terraform-project.d.ts +11 -0
- package/dist/util/filesystem/test-terraform-project.d.ts.map +1 -1
- package/dist/util/filesystem/test-terraform-project.js +30 -1
- package/dist/util/filesystem/test-terraform-project.js.map +1 -1
- package/package.json +5 -1
- package/dist/service/cloudformation/bind/sim-cfn-deploy-binding.d.ts.map +0 -1
- package/dist/service/cloudformation/bind/sim-cfn-deploy-binding.js.map +0 -1
- package/dist/service/cloudformation/resource/cfn/ses/sim-ses-dkim-tokens.d.ts.map +0 -1
- package/dist/service/cloudformation/resource/cfn/ses/sim-ses-dkim-tokens.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-attribute-reads.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-attribute-reads.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-attributes.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-attributes.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-config.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-config.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-dynamodb.d.ts +0 -15
- package/dist/service/cloudformation/terraform/sim-tf-map-dynamodb.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-dynamodb.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-http-api-route.d.ts +0 -5
- package/dist/service/cloudformation/terraform/sim-tf-map-http-api-route.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-http-api-route.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-http-api.d.ts +0 -12
- package/dist/service/cloudformation/terraform/sim-tf-map-http-api.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-http-api.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-iam.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-iam.js +0 -80
- package/dist/service/cloudformation/terraform/sim-tf-map-iam.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-lambda.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-lambda.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-s3-cors.d.ts +0 -5
- package/dist/service/cloudformation/terraform/sim-tf-map-s3-cors.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-s3-cors.js +0 -12
- package/dist/service/cloudformation/terraform/sim-tf-map-s3-cors.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-s3-encryption.d.ts +0 -5
- package/dist/service/cloudformation/terraform/sim-tf-map-s3-encryption.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-s3-encryption.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-s3-folds.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-s3-folds.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-s3.d.ts +0 -5
- package/dist/service/cloudformation/terraform/sim-tf-map-s3.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-s3.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-sns.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-sns.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-sqs.d.ts +0 -5
- package/dist/service/cloudformation/terraform/sim-tf-map-sqs.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-map-sqs.js +0 -56
- package/dist/service/cloudformation/terraform/sim-tf-map-sqs.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-mapping.type.d.ts +0 -41
- package/dist/service/cloudformation/terraform/sim-tf-mapping.type.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-mapping.type.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-module-outputs.d.ts +0 -19
- package/dist/service/cloudformation/terraform/sim-tf-module-outputs.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-module-outputs.js +0 -63
- package/dist/service/cloudformation/terraform/sim-tf-module-outputs.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-plan-index.d.ts +0 -26
- package/dist/service/cloudformation/terraform/sim-tf-plan-index.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-plan-index.js +0 -45
- package/dist/service/cloudformation/terraform/sim-tf-plan-index.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-plan-resources.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-plan-resources.js +0 -44
- package/dist/service/cloudformation/terraform/sim-tf-plan-resources.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-plan.type.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-plan.type.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-reference-address.d.ts +0 -27
- package/dist/service/cloudformation/terraform/sim-tf-reference-address.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-reference-address.js +0 -58
- package/dist/service/cloudformation/terraform/sim-tf-reference-address.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-reference.d.ts +0 -64
- package/dist/service/cloudformation/terraform/sim-tf-reference.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-reference.js +0 -122
- package/dist/service/cloudformation/terraform/sim-tf-reference.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-registry.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-registry.js +0 -40
- package/dist/service/cloudformation/terraform/sim-tf-registry.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-report.type.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-report.type.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-folds.d.ts +0 -20
- package/dist/service/cloudformation/terraform/sim-tf-template-folds.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-folds.js +0 -28
- package/dist/service/cloudformation/terraform/sim-tf-template-folds.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-graph.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-graph.js +0 -71
- package/dist/service/cloudformation/terraform/sim-tf-template-graph.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-mappings.d.ts +0 -23
- package/dist/service/cloudformation/terraform/sim-tf-template-mappings.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-mappings.js +0 -72
- package/dist/service/cloudformation/terraform/sim-tf-template-mappings.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-merge.d.ts +0 -21
- package/dist/service/cloudformation/terraform/sim-tf-template-merge.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-merge.js +0 -33
- package/dist/service/cloudformation/terraform/sim-tf-template-merge.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-prune.d.ts +0 -21
- package/dist/service/cloudformation/terraform/sim-tf-template-prune.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-prune.js +0 -51
- package/dist/service/cloudformation/terraform/sim-tf-template-prune.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-pruned.d.ts +0 -18
- package/dist/service/cloudformation/terraform/sim-tf-template-pruned.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-pruned.js +0 -23
- package/dist/service/cloudformation/terraform/sim-tf-template-pruned.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-references.d.ts +0 -10
- package/dist/service/cloudformation/terraform/sim-tf-template-references.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-references.js +0 -39
- package/dist/service/cloudformation/terraform/sim-tf-template-references.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-resolver.d.ts +0 -12
- package/dist/service/cloudformation/terraform/sim-tf-template-resolver.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template-resolver.js +0 -17
- package/dist/service/cloudformation/terraform/sim-tf-template-resolver.js.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template.d.ts +0 -26
- package/dist/service/cloudformation/terraform/sim-tf-template.d.ts.map +0 -1
- package/dist/service/cloudformation/terraform/sim-tf-template.js +0 -54
- package/dist/service/cloudformation/terraform/sim-tf-template.js.map +0 -1
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.d.ts +0 -17
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.d.ts.map +0 -1
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.js +0 -48
- package/dist/service/ses/cfn/identity/sim-cfn-ses-identity-unsimulated-properties.js.map +0 -1
- package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.d.ts +0 -12
- package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.d.ts.map +0 -1
- package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.js +0 -26
- package/dist/service/ses/command/identity/sim-ses-unsimulated-identity-input.js.map +0 -1
- /package/dist/service/{cloudformation/resource/cfn/ses → ses/identity}/sim-ses-dkim-tokens.d.ts +0 -0
- /package/dist/service/{cloudformation/resource/cfn/ses → ses/identity}/sim-ses-dkim-tokens.js +0 -0
- /package/dist/{service/cloudformation/terraform → terraform}/sim-tf-attribute-reads.d.ts +0 -0
- /package/dist/{service/cloudformation/terraform → terraform}/sim-tf-attribute-reads.js +0 -0
- /package/dist/{service/cloudformation/terraform → terraform}/sim-tf-mapping.type.js +0 -0
- /package/dist/{service/cloudformation/terraform → terraform}/sim-tf-plan.type.js +0 -0
- /package/dist/{service/cloudformation/terraform → terraform}/sim-tf-report.type.js +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { longestFirst, moduleOutputPath, qualifiedReference, withoutInstanceKeys, } from "./sim-tf-reference-address.js";
|
|
2
|
+
/**
|
|
3
|
+
* Every module output a plan declares, keyed by the address that reads it.
|
|
4
|
+
*
|
|
5
|
+
* A resource in one module reaching a resource in another goes through an
|
|
6
|
+
* output. `module.processor.lambda_function_arn` is not an address any resource
|
|
7
|
+
* has, and the plan resolves nothing for it, so following it means reading the
|
|
8
|
+
* output's own expression and continuing from the module that declares it.
|
|
9
|
+
*/
|
|
10
|
+
export function terraformModuleOutputs(plan) {
|
|
11
|
+
const outputs = new Map();
|
|
12
|
+
const root = plan.configuration?.root_module;
|
|
13
|
+
if (root !== undefined) {
|
|
14
|
+
collect(root, [], outputs);
|
|
15
|
+
}
|
|
16
|
+
return outputs;
|
|
17
|
+
}
|
|
18
|
+
function collect(config, modulePath, outputs) {
|
|
19
|
+
const calls = Object.entries(config.module_calls ?? {});
|
|
20
|
+
for (const [callName, call] of calls) {
|
|
21
|
+
const child = call.module;
|
|
22
|
+
if (child === undefined) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
const childPath = [...modulePath, callName];
|
|
26
|
+
const address = childPath.map((name) => `module.${name}`).join(".");
|
|
27
|
+
const declared = Object.entries(child.outputs ?? {});
|
|
28
|
+
for (const [name, output] of declared) {
|
|
29
|
+
outputs.set(`${address}.${name}`, output.expression?.references ?? []);
|
|
30
|
+
}
|
|
31
|
+
collect(child, childPath, outputs);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** How far a chain of outputs is followed before it is taken to be a loop. */
|
|
35
|
+
const outputLimit = 8;
|
|
36
|
+
/**
|
|
37
|
+
* Following a reference that names a module output.
|
|
38
|
+
*
|
|
39
|
+
* `module.processor.lambda_function_arn` is an address no resource has. The
|
|
40
|
+
* output's own expression names what it reads, in terms of the module
|
|
41
|
+
* declaring it, so following one is resolving that expression again a module
|
|
42
|
+
* down.
|
|
43
|
+
*/
|
|
44
|
+
export class TerraformModuleOutputWalk {
|
|
45
|
+
outputs;
|
|
46
|
+
resources;
|
|
47
|
+
constructor(outputs, resources) {
|
|
48
|
+
this.outputs = outputs;
|
|
49
|
+
this.resources = resources;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The resource a module output leads to.
|
|
53
|
+
*
|
|
54
|
+
* An output built out of several resources answers with the first that
|
|
55
|
+
* resolves, and the depth limit stops a module whose outputs refer to each
|
|
56
|
+
* other from looping.
|
|
57
|
+
*/
|
|
58
|
+
target(qualified, depth = 0) {
|
|
59
|
+
const output = this.references(qualified);
|
|
60
|
+
if (output === undefined || depth >= outputLimit) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
// The path the output was read through rather than the one it was
|
|
64
|
+
// declared under, so an output reached inside a `for_each` instance
|
|
65
|
+
// follows its own instance's resources.
|
|
66
|
+
const instance = moduleOutputPath(qualified);
|
|
67
|
+
for (const reference of longestFirst(output)) {
|
|
68
|
+
const nested = qualifiedReference(reference, instance);
|
|
69
|
+
const target = this.resources.longestMatch(nested) ?? this.target(nested, depth + 1);
|
|
70
|
+
if (target !== undefined) {
|
|
71
|
+
return target;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The attribute a reference through an output reads.
|
|
78
|
+
*
|
|
79
|
+
* The reference names the output, and the output's own expression is what
|
|
80
|
+
* says which attribute of the resource behind it was being read.
|
|
81
|
+
*/
|
|
82
|
+
attributeOf(qualified) {
|
|
83
|
+
const [longest] = longestFirst(this.references(qualified) ?? []);
|
|
84
|
+
return longest?.split(".").pop();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The references one output declares.
|
|
88
|
+
*
|
|
89
|
+
* The index is keyed by module call path, since a module declares its
|
|
90
|
+
* outputs once however many instances of the call there are. A reference
|
|
91
|
+
* made from inside one instance carries that instance's key, so the key
|
|
92
|
+
* comes off when the qualified form finds nothing.
|
|
93
|
+
*/
|
|
94
|
+
references(qualified) {
|
|
95
|
+
return (this.outputs.get(qualified) ??
|
|
96
|
+
this.outputs.get(withoutInstanceKeys(qualified)));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=sim-tf-module-outputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-module-outputs.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-module-outputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TerraformPlan } from "./sim-tf-plan.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* Every variable a module call sets, keyed by the address that names it.
|
|
4
|
+
*
|
|
5
|
+
* A resource inside a module reads its module's own variables, and the value
|
|
6
|
+
* behind one was written by the caller. `var.routes` is not an address any
|
|
7
|
+
* resource has and the plan resolves nothing for it, so following it means
|
|
8
|
+
* reading the call's own expression and continuing from the module that made
|
|
9
|
+
* the call.
|
|
10
|
+
*
|
|
11
|
+
* This is the mirror of `terraformModuleOutputs`. An output carries a value up
|
|
12
|
+
* out of a module and a variable carries one down into it, and the two are the
|
|
13
|
+
* only ways a plan lets a reference cross a module boundary.
|
|
14
|
+
*/
|
|
15
|
+
export declare function terraformModuleVariables(plan: TerraformPlan): ReadonlyMap<string, readonly string[]>;
|
|
16
|
+
//# sourceMappingURL=sim-tf-module-variables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-module-variables.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-module-variables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACd,MAAM,uBAAuB,CAAC;AAG/B;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,aAAa,GAClB,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CASxC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { terraformExpressionReferences } from "./sim-tf-expression-references.js";
|
|
2
|
+
/**
|
|
3
|
+
* Every variable a module call sets, keyed by the address that names it.
|
|
4
|
+
*
|
|
5
|
+
* A resource inside a module reads its module's own variables, and the value
|
|
6
|
+
* behind one was written by the caller. `var.routes` is not an address any
|
|
7
|
+
* resource has and the plan resolves nothing for it, so following it means
|
|
8
|
+
* reading the call's own expression and continuing from the module that made
|
|
9
|
+
* the call.
|
|
10
|
+
*
|
|
11
|
+
* This is the mirror of `terraformModuleOutputs`. An output carries a value up
|
|
12
|
+
* out of a module and a variable carries one down into it, and the two are the
|
|
13
|
+
* only ways a plan lets a reference cross a module boundary.
|
|
14
|
+
*/
|
|
15
|
+
export function terraformModuleVariables(plan) {
|
|
16
|
+
const variables = new Map();
|
|
17
|
+
const root = plan.configuration?.root_module;
|
|
18
|
+
if (root !== undefined) {
|
|
19
|
+
collect(root, [], variables);
|
|
20
|
+
}
|
|
21
|
+
return variables;
|
|
22
|
+
}
|
|
23
|
+
function collect(config, modulePath, variables) {
|
|
24
|
+
const calls = Object.entries(config.module_calls ?? {});
|
|
25
|
+
for (const [callName, call] of calls) {
|
|
26
|
+
const childPath = [...modulePath, callName];
|
|
27
|
+
const address = childPath.map((name) => `module.${name}`).join(".");
|
|
28
|
+
const set = Object.entries(call.expressions ?? {});
|
|
29
|
+
for (const [name, expression] of set) {
|
|
30
|
+
variables.set(`${address}.var.${name}`, terraformExpressionReferences(expression));
|
|
31
|
+
}
|
|
32
|
+
if (call.module !== undefined) {
|
|
33
|
+
collect(call.module, childPath, variables);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=sim-tf-module-variables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-module-variables.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-module-variables.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IAE7C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,OAAO,CACd,MAA6B,EAC7B,UAA6B,EAC7B,SAAyC;IAEzC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAExD,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAEnD,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;YACrC,SAAS,CAAC,GAAG,CACX,GAAG,OAAO,QAAQ,IAAI,EAAE,EACxB,6BAA6B,CAAC,UAAU,CAAC,CAC1C,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue } from "../service/cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
import { type TerraformMappingContext } from "./sim-tf-attributes.js";
|
|
3
|
+
/**
|
|
4
|
+
* A list attribute whose entries name other resources.
|
|
5
|
+
*
|
|
6
|
+
* An alarm's `alarm_actions` holding one topic ARN of the same plan is marked
|
|
7
|
+
* unknown as a whole list, and the entries are gone with it. What survives is
|
|
8
|
+
* the reference behind each entry, and Terraform lists both the attribute form
|
|
9
|
+
* and the bare resource form of one reference. Both forms of a topic resolve to
|
|
10
|
+
* the same `Ref`, so the resolved values are deduplicated rather than the
|
|
11
|
+
* references, which is the only place the two forms can be told apart.
|
|
12
|
+
*
|
|
13
|
+
* A list the plan resolved is carried across as it stands.
|
|
14
|
+
*/
|
|
15
|
+
export declare function attributeList(context: TerraformMappingContext, key: string): SimCfnTemplateValue | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* One attribute of one entry of a repeating nested block.
|
|
18
|
+
*
|
|
19
|
+
* A bucket notification names the function it calls inside a `lambda_function`
|
|
20
|
+
* block, and the function's ARN is unknown whenever the same plan creates it.
|
|
21
|
+
* The mark and the references both sit at the same position in a list mirroring
|
|
22
|
+
* the block, so the entry's index is what finds them.
|
|
23
|
+
*/
|
|
24
|
+
export declare function blockAttribute(context: TerraformMappingContext, key: string, index: number, name: string): SimCfnTemplateValue | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* The fields of one nested block, under the names CloudFormation gives them.
|
|
27
|
+
*
|
|
28
|
+
* The provider writes every field of a block that was declared, filling the
|
|
29
|
+
* ones the configuration left out with null, so the table says what each field
|
|
30
|
+
* is called on either side and `properties` takes the nulls back out.
|
|
31
|
+
*/
|
|
32
|
+
export declare function blockFields(record: Record<string, unknown>, names: Readonly<Record<string, string>>): Record<string, SimCfnTemplateValue>;
|
|
33
|
+
//# sourceMappingURL=sim-tf-nested-attributes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-nested-attributes.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-nested-attributes.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oEAAoE,CAAC;AAC9G,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAC;AAIhC;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,uBAAuB,EAChC,GAAG,EAAE,MAAM,GACV,mBAAmB,GAAG,SAAS,CAqBjC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,uBAAuB,EAChC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,mBAAmB,GAAG,SAAS,CAmBjC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CASrC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* The two attribute shapes `attribute()` cannot read: a list whose entries name
|
|
3
|
+
* other resources, and an attribute inside a repeating nested block.
|
|
4
|
+
*
|
|
5
|
+
* `after_unknown` mirrors the shape of the value it marks, so a list of ARNs
|
|
6
|
+
* built from one resource is marked `true` whole, and a block whose one field
|
|
7
|
+
* is unknown is marked as a list of records. `configuration` mirrors the same
|
|
8
|
+
* shape with its `references`, and reading the two together is what puts the
|
|
9
|
+
* intrinsic back where the value was.
|
|
10
|
+
*
|
|
11
|
+
* Reading a plan means reading records whose keys come from the document
|
|
12
|
+
* rather than from this code, so the object-injection rule fires on every
|
|
13
|
+
* lookup. The records are parsed JSON with no prototype of their own.
|
|
14
|
+
*/
|
|
15
|
+
// oxlint-disable security/detect-object-injection
|
|
16
|
+
import { isRecord } from "../util/type-guard/record.js";
|
|
17
|
+
import { properties, templateValue, } from "./sim-tf-attributes.js";
|
|
18
|
+
import { longestFirst } from "./sim-tf-reference-address.js";
|
|
19
|
+
/**
|
|
20
|
+
* A list attribute whose entries name other resources.
|
|
21
|
+
*
|
|
22
|
+
* An alarm's `alarm_actions` holding one topic ARN of the same plan is marked
|
|
23
|
+
* unknown as a whole list, and the entries are gone with it. What survives is
|
|
24
|
+
* the reference behind each entry, and Terraform lists both the attribute form
|
|
25
|
+
* and the bare resource form of one reference. Both forms of a topic resolve to
|
|
26
|
+
* the same `Ref`, so the resolved values are deduplicated rather than the
|
|
27
|
+
* references, which is the only place the two forms can be told apart.
|
|
28
|
+
*
|
|
29
|
+
* A list the plan resolved is carried across as it stands.
|
|
30
|
+
*/
|
|
31
|
+
export function attributeList(context, key) {
|
|
32
|
+
const { resource, resolver } = context;
|
|
33
|
+
if (resource.unknown[key] !== true) {
|
|
34
|
+
const value = resource.values[key];
|
|
35
|
+
return Array.isArray(value) ? templateValue(value) : undefined;
|
|
36
|
+
}
|
|
37
|
+
const resolved = new Map();
|
|
38
|
+
const declared = longestFirst(references(resource.expressions[key]));
|
|
39
|
+
for (const reference of declared) {
|
|
40
|
+
const value = resolver.resolve(reference, resource);
|
|
41
|
+
if (value !== undefined) {
|
|
42
|
+
resolved.set(JSON.stringify(value), value);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return resolved.size === 0 ? undefined : resolved.values().toArray();
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* One attribute of one entry of a repeating nested block.
|
|
49
|
+
*
|
|
50
|
+
* A bucket notification names the function it calls inside a `lambda_function`
|
|
51
|
+
* block, and the function's ARN is unknown whenever the same plan creates it.
|
|
52
|
+
* The mark and the references both sit at the same position in a list mirroring
|
|
53
|
+
* the block, so the entry's index is what finds them.
|
|
54
|
+
*/
|
|
55
|
+
export function blockAttribute(context, key, index, name) {
|
|
56
|
+
const { resource, resolver } = context;
|
|
57
|
+
if (entry(resource.unknown[key], index)?.[name] !== true) {
|
|
58
|
+
return templateValue(entry(resource.values[key], index)?.[name]);
|
|
59
|
+
}
|
|
60
|
+
const expression = entry(resource.expressions[key], index)?.[name];
|
|
61
|
+
const declared = longestFirst(references(expression));
|
|
62
|
+
for (const reference of declared) {
|
|
63
|
+
const value = resolver.resolve(reference, resource);
|
|
64
|
+
if (value !== undefined) {
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The fields of one nested block, under the names CloudFormation gives them.
|
|
72
|
+
*
|
|
73
|
+
* The provider writes every field of a block that was declared, filling the
|
|
74
|
+
* ones the configuration left out with null, so the table says what each field
|
|
75
|
+
* is called on either side and `properties` takes the nulls back out.
|
|
76
|
+
*/
|
|
77
|
+
export function blockFields(record, names) {
|
|
78
|
+
return properties(Object.fromEntries(Object.entries(names).map(([property, name]) => [
|
|
79
|
+
property,
|
|
80
|
+
templateValue(record[name]),
|
|
81
|
+
])));
|
|
82
|
+
}
|
|
83
|
+
/** One entry of a list mirroring a repeating block. */
|
|
84
|
+
function entry(value, index) {
|
|
85
|
+
if (!Array.isArray(value)) {
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
const found = value[index];
|
|
89
|
+
return isRecord(found) ? found : undefined;
|
|
90
|
+
}
|
|
91
|
+
/** The references one expression records, or none where it holds no expression. */
|
|
92
|
+
function references(expression) {
|
|
93
|
+
return isRecord(expression)
|
|
94
|
+
? (expression.references ?? [])
|
|
95
|
+
: [];
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=sim-tf-nested-attributes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-nested-attributes.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-nested-attributes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { SimIamPolicyDocument } from "../service/iam/policy/sim-iam-policy.js";
|
|
2
|
+
/**
|
|
3
|
+
* A value a deployment supplies because the plan could not carry it.
|
|
4
|
+
*
|
|
5
|
+
* Terraform resolves nothing inside a value it could not build, so an
|
|
6
|
+
* attribute holding one reference to a resource of the same plan arrives
|
|
7
|
+
* unknown along with everything around it. A Lambda `environment.variables`
|
|
8
|
+
* map loses its variable names, and an `aws_iam_role_policy` document built
|
|
9
|
+
* with `jsonencode` loses its statements.
|
|
10
|
+
*
|
|
11
|
+
* An override is matched the way a deploy binding is, on the name the plan
|
|
12
|
+
* carries. It fills a gap and never replaces what the plan resolved, so a
|
|
13
|
+
* configuration that later resolves the value on its own stops needing one.
|
|
14
|
+
*/
|
|
15
|
+
export type TerraformPlanOverride = TerraformFunctionEnvironmentOverride | TerraformRolePolicyOverride;
|
|
16
|
+
/** The environment variables of the function the plan names. */
|
|
17
|
+
export interface TerraformFunctionEnvironmentOverride {
|
|
18
|
+
readonly functionName: string;
|
|
19
|
+
readonly environment: Readonly<Record<string, string>>;
|
|
20
|
+
readonly roleName?: never;
|
|
21
|
+
readonly policy?: never;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The inline policy of the role the plan names.
|
|
25
|
+
*
|
|
26
|
+
* The name is the role's own `name`, which is what a plan resolves for a role
|
|
27
|
+
* declared with one, rather than the name of the `aws_iam_role_policy`
|
|
28
|
+
* resource holding the document.
|
|
29
|
+
*/
|
|
30
|
+
export interface TerraformRolePolicyOverride {
|
|
31
|
+
readonly roleName: string;
|
|
32
|
+
readonly policy: SimIamPolicyDocument;
|
|
33
|
+
readonly functionName?: never;
|
|
34
|
+
readonly environment?: never;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=sim-tf-override.type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-override.type.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-override.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAEpF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,qBAAqB,GAC7B,oCAAoC,GACpC,2BAA2B,CAAC;AAEhC,gEAAgE;AAChE,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-override.type.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-override.type.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SimIamPolicyDocument } from "../service/iam/policy/sim-iam-policy.js";
|
|
2
|
+
import type { TerraformPlanOverride } from "./sim-tf-override.type.js";
|
|
3
|
+
/**
|
|
4
|
+
* The values a deployment supplied for the gaps a plan left, by the name each
|
|
5
|
+
* one is matched on.
|
|
6
|
+
*
|
|
7
|
+
* A mapping asks this for the name the plan gave a resource and gets back what
|
|
8
|
+
* was supplied for it, or nothing. Asking with a name the plan itself could not
|
|
9
|
+
* resolve gets nothing back, which is the same answer as no override, so a
|
|
10
|
+
* mapping has one case to handle rather than two.
|
|
11
|
+
*/
|
|
12
|
+
export declare class TerraformPlanOverrides {
|
|
13
|
+
private readonly environments;
|
|
14
|
+
private readonly policies;
|
|
15
|
+
constructor(overrides?: readonly TerraformPlanOverride[]);
|
|
16
|
+
/** The environment variables supplied for one function name. */
|
|
17
|
+
environment(functionName: unknown): Readonly<Record<string, string>> | undefined;
|
|
18
|
+
/** The inline policy document supplied for one role name. */
|
|
19
|
+
policy(roleName: unknown): SimIamPolicyDocument | undefined;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=sim-tf-overrides.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-overrides.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-overrides.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,KAAK,EAEV,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;GAQG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAG3B;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4C;IAErE,YAAY,SAAS,GAAE,SAAS,qBAAqB,EAAO,EAW3D;IAED,gEAAgE;IACzD,WAAW,CAChB,YAAY,EAAE,OAAO,GACpB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAI9C;IAED,6DAA6D;IACtD,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,oBAAoB,GAAG,SAAS,CAIjE;CACF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The values a deployment supplied for the gaps a plan left, by the name each
|
|
3
|
+
* one is matched on.
|
|
4
|
+
*
|
|
5
|
+
* A mapping asks this for the name the plan gave a resource and gets back what
|
|
6
|
+
* was supplied for it, or nothing. Asking with a name the plan itself could not
|
|
7
|
+
* resolve gets nothing back, which is the same answer as no override, so a
|
|
8
|
+
* mapping has one case to handle rather than two.
|
|
9
|
+
*/
|
|
10
|
+
export class TerraformPlanOverrides {
|
|
11
|
+
environments;
|
|
12
|
+
policies;
|
|
13
|
+
constructor(overrides = []) {
|
|
14
|
+
this.environments = new Map(overrides
|
|
15
|
+
.filter(isEnvironmentOverride)
|
|
16
|
+
.map((override) => [override.functionName, override.environment]));
|
|
17
|
+
this.policies = new Map(overrides
|
|
18
|
+
.filter(isRolePolicyOverride)
|
|
19
|
+
.map((override) => [override.roleName, override.policy]));
|
|
20
|
+
}
|
|
21
|
+
/** The environment variables supplied for one function name. */
|
|
22
|
+
environment(functionName) {
|
|
23
|
+
return typeof functionName === "string"
|
|
24
|
+
? this.environments.get(functionName)
|
|
25
|
+
: undefined;
|
|
26
|
+
}
|
|
27
|
+
/** The inline policy document supplied for one role name. */
|
|
28
|
+
policy(roleName) {
|
|
29
|
+
return typeof roleName === "string"
|
|
30
|
+
? this.policies.get(roleName)
|
|
31
|
+
: undefined;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function isEnvironmentOverride(override) {
|
|
35
|
+
return override.functionName !== undefined;
|
|
36
|
+
}
|
|
37
|
+
function isRolePolicyOverride(override) {
|
|
38
|
+
return override.roleName !== undefined;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=sim-tf-overrides.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-overrides.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-overrides.ts"],"names":[],"mappings":"AAOA;;;;;;;;GAQG;AACH,MAAM,OAAO,sBAAsB;IAChB,YAAY,CAG3B;IAEe,QAAQ,CAA4C;IAErE,YAAY,SAAS,GAAqC,EAAE;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CACzB,SAAS;aACN,MAAM,CAAC,qBAAqB,CAAC;aAC7B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CACpE,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CACrB,SAAS;aACN,MAAM,CAAC,oBAAoB,CAAC;aAC5B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,gEAAgE;IACzD,WAAW,CAChB,YAAqB;QAErB,OAAO,OAAO,YAAY,KAAK,QAAQ;YACrC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;YACrC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,6DAA6D;IACtD,MAAM,CAAC,QAAiB;QAC7B,OAAO,OAAO,QAAQ,KAAK,QAAQ;YACjC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC7B,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF;AAED,SAAS,qBAAqB,CAC5B,QAA+B;IAE/B,OAAO,QAAQ,CAAC,YAAY,KAAK,SAAS,CAAC;AAC7C,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAA+B;IAE/B,OAAO,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { TerraformPlan } from "./sim-tf-plan.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* Read the plan JSON at a path.
|
|
4
|
+
*
|
|
5
|
+
* The two ways of getting this wrong are worth telling apart. A path with no
|
|
6
|
+
* file at it is named as resolved, and a file that is not the JSON form is met
|
|
7
|
+
* with the command that writes it, since `terraform plan -out` writes a binary
|
|
8
|
+
* file whose name looks like the right one.
|
|
9
|
+
*
|
|
10
|
+
* A document that parses but is not a plan is refused the same way. Every
|
|
11
|
+
* `terraform show -json` document carries `format_version`, and without that
|
|
12
|
+
* check a JSON file of anything at all reads as a plan that creates nothing
|
|
13
|
+
* and deploys as an empty Stack.
|
|
14
|
+
*/
|
|
15
|
+
export declare function readTerraformPlanFile(planPath: string): Promise<TerraformPlan>;
|
|
16
|
+
/**
|
|
17
|
+
* The Stack name a plan file gives, for a deployment that names none.
|
|
18
|
+
*
|
|
19
|
+
* `orders.tfplan.json` deploys as `orders`, the way a template file deployment
|
|
20
|
+
* is named after the template.
|
|
21
|
+
*/
|
|
22
|
+
export declare function terraformStackNameFromPlanPath(planPath: string): string;
|
|
23
|
+
//# sourceMappingURL=sim-tf-plan-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-plan-file.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan-file.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,CAAC,CAcxB;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { isRecord } from "../util/type-guard/record.js";
|
|
4
|
+
/**
|
|
5
|
+
* Read the plan JSON at a path.
|
|
6
|
+
*
|
|
7
|
+
* The two ways of getting this wrong are worth telling apart. A path with no
|
|
8
|
+
* file at it is named as resolved, and a file that is not the JSON form is met
|
|
9
|
+
* with the command that writes it, since `terraform plan -out` writes a binary
|
|
10
|
+
* file whose name looks like the right one.
|
|
11
|
+
*
|
|
12
|
+
* A document that parses but is not a plan is refused the same way. Every
|
|
13
|
+
* `terraform show -json` document carries `format_version`, and without that
|
|
14
|
+
* check a JSON file of anything at all reads as a plan that creates nothing
|
|
15
|
+
* and deploys as an empty Stack.
|
|
16
|
+
*/
|
|
17
|
+
export async function readTerraformPlanFile(planPath) {
|
|
18
|
+
const contents = await planFileContents(planPath);
|
|
19
|
+
try {
|
|
20
|
+
const parsed = JSON.parse(contents);
|
|
21
|
+
if (isPlanDocument(parsed)) {
|
|
22
|
+
return parsed;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
throw notPlanJson(planPath, error);
|
|
27
|
+
}
|
|
28
|
+
throw notPlanJson(planPath);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The Stack name a plan file gives, for a deployment that names none.
|
|
32
|
+
*
|
|
33
|
+
* `orders.tfplan.json` deploys as `orders`, the way a template file deployment
|
|
34
|
+
* is named after the template.
|
|
35
|
+
*/
|
|
36
|
+
export function terraformStackNameFromPlanPath(planPath) {
|
|
37
|
+
return path.basename(planPath).replace(/(?:\.tfplan|\.plan)?\.json$/u, "");
|
|
38
|
+
}
|
|
39
|
+
function isPlanDocument(parsed) {
|
|
40
|
+
return isRecord(parsed) && typeof parsed["format_version"] === "string";
|
|
41
|
+
}
|
|
42
|
+
async function planFileContents(planPath) {
|
|
43
|
+
try {
|
|
44
|
+
// oxlint-disable-next-line security/detect-non-literal-fs-filename
|
|
45
|
+
return await readFile(planPath, "utf8");
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
49
|
+
throw new Error(`No Terraform plan JSON file at ${path.resolve(planPath)}`, { cause: error });
|
|
50
|
+
}
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function notPlanJson(planPath, cause) {
|
|
55
|
+
return new Error(`${path.resolve(planPath)} is not Terraform plan JSON. ` +
|
|
56
|
+
`Write it with \`terraform show -json <planfile>\`.`, { cause });
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=sim-tf-plan-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-plan-file.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAGxD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,QAAgB;IAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,cAAc,CAAC,MAAe;IACrC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC9C,IAAI,CAAC;QACH,mEAAmE;QACnE,OAAO,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAC1D,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,KAAe;IACpD,OAAO,IAAI,KAAK,CACd,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,+BAA+B;QACtD,oDAAoD,EACtD,EAAE,KAAK,EAAE,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TerraformPlan } from "./sim-tf-plan.type.js";
|
|
2
|
+
import type { TerraformResource } from "./sim-tf-resource.type.js";
|
|
3
|
+
/**
|
|
4
|
+
* Every managed AWS resource a plan will create, in declaration order.
|
|
5
|
+
*
|
|
6
|
+
* The three sections a plan splits a resource across are walked together.
|
|
7
|
+
* `planned_values` and `configuration` are two trees of the same shape, and
|
|
8
|
+
* `configuration` addresses its resources relative to the module declaring
|
|
9
|
+
* them, so the two are joined per module rather than matched on address.
|
|
10
|
+
* `resource_changes` is a flat list keyed by the fully qualified address.
|
|
11
|
+
*
|
|
12
|
+
* Data sources are left out, because a data source reads infrastructure that
|
|
13
|
+
* already exists and creates nothing. Resources from another provider are left
|
|
14
|
+
* in, carrying their provider name, so the caller can report them rather than
|
|
15
|
+
* silently lose them.
|
|
16
|
+
*/
|
|
17
|
+
export declare function terraformPlanResources(plan: TerraformPlan): readonly TerraformResource[];
|
|
18
|
+
//# sourceMappingURL=sim-tf-plan-resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-plan-resources.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan-resources.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,aAAa,EAGd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAUnE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,GAClB,SAAS,iBAAiB,EAAE,CAa9B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { terraformExpressionReferences } from "./sim-tf-expression-references.js";
|
|
2
|
+
import { childModuleCallName, childModuleSegment, configResourcesByKey, providerShortName, unknownAttributesByAddress, } from "./sim-tf-plan-sections.js";
|
|
3
|
+
/**
|
|
4
|
+
* Every managed AWS resource a plan will create, in declaration order.
|
|
5
|
+
*
|
|
6
|
+
* The three sections a plan splits a resource across are walked together.
|
|
7
|
+
* `planned_values` and `configuration` are two trees of the same shape, and
|
|
8
|
+
* `configuration` addresses its resources relative to the module declaring
|
|
9
|
+
* them, so the two are joined per module rather than matched on address.
|
|
10
|
+
* `resource_changes` is a flat list keyed by the fully qualified address.
|
|
11
|
+
*
|
|
12
|
+
* Data sources are left out, because a data source reads infrastructure that
|
|
13
|
+
* already exists and creates nothing. Resources from another provider are left
|
|
14
|
+
* in, carrying their provider name, so the caller can report them rather than
|
|
15
|
+
* silently lose them.
|
|
16
|
+
*/
|
|
17
|
+
export function terraformPlanResources(plan) {
|
|
18
|
+
const rootValues = plan.planned_values?.root_module;
|
|
19
|
+
if (rootValues === undefined) {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
return collectModule(rootValues, plan.configuration?.root_module, [], unknownAttributesByAddress(plan));
|
|
23
|
+
}
|
|
24
|
+
function collectModule(values, config, modulePath, unknown) {
|
|
25
|
+
const declared = configResourcesByKey(config);
|
|
26
|
+
const own = (values.resources ?? [])
|
|
27
|
+
.filter((resource) => (resource.mode ?? "managed") === "managed")
|
|
28
|
+
.map((resource) => joined(resource, declared, modulePath, unknown));
|
|
29
|
+
const nested = (values.child_modules ?? []).flatMap((child) => {
|
|
30
|
+
// The configuration is filed under the call name and the resources are
|
|
31
|
+
// addressed by the instance, so the two parts of the walk take different
|
|
32
|
+
// halves of the same segment.
|
|
33
|
+
const callName = childModuleCallName(child.address, modulePath);
|
|
34
|
+
return collectModule(child, config?.module_calls?.[callName]?.module, [...modulePath, childModuleSegment(child.address, modulePath)], unknown);
|
|
35
|
+
});
|
|
36
|
+
return [...own, ...nested];
|
|
37
|
+
}
|
|
38
|
+
function joined(resource, declared, modulePath, unknown) {
|
|
39
|
+
const config = declared.get(`${resource.type}.${resource.name}`);
|
|
40
|
+
return {
|
|
41
|
+
address: resource.address,
|
|
42
|
+
type: resource.type,
|
|
43
|
+
name: resource.name,
|
|
44
|
+
index: resource.index,
|
|
45
|
+
provider: providerShortName(resource.provider_name),
|
|
46
|
+
values: resource.values ?? {},
|
|
47
|
+
unknown: unknown.get(resource.address) ?? {},
|
|
48
|
+
expressions: config?.expressions ?? {},
|
|
49
|
+
dependsOn: config?.depends_on ?? [],
|
|
50
|
+
forEach: terraformExpressionReferences(config?.for_each_expression),
|
|
51
|
+
modulePath,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=sim-tf-plan-resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-plan-resources.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan-resources.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAmB;IAEnB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC;IAEpD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,aAAa,CAClB,UAAU,EACV,IAAI,CAAC,aAAa,EAAE,WAAW,EAC/B,EAAE,EACF,0BAA0B,CAAC,IAAI,CAAC,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,MAA8B,EAC9B,MAAyC,EACzC,UAA6B,EAC7B,OAAqD;IAErD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;SACjC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,SAAS,CAAC;SAChE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5D,uEAAuE;QACvE,yEAAyE;QACzE,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEhE,OAAO,aAAa,CAClB,KAAK,EACL,MAAM,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EACxC,CAAC,GAAG,UAAU,EAAE,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,EAC9D,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,MAAM,CACb,QAAkC,EAClC,QAAsD,EACtD,UAA6B,EAC7B,OAAqD;IAErD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjE,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC;QACnD,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;QAC7B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;QAC5C,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,EAAE;QACtC,SAAS,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE;QACnC,OAAO,EAAE,6BAA6B,CAAC,MAAM,EAAE,mBAAmB,CAAC;QACnE,UAAU;KACX,CAAC;AACJ,CAAC"}
|