@kensio/yulin 1.19.2 → 1.19.3
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 +31 -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-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 +45 -0
- package/dist/serve/message/sim-local-message-logging.js.map +1 -0
- package/dist/serve/message/sim-message-log-console.d.ts +43 -0
- package/dist/serve/message/sim-message-log-console.d.ts.map +1 -0
- package/dist/serve/message/sim-message-log-console.js +71 -0
- package/dist/serve/message/sim-message-log-console.js.map +1 -0
- package/dist/serve/message/sim-message-logging.d.ts +42 -0
- package/dist/serve/message/sim-message-logging.d.ts.map +1 -0
- package/dist/serve/message/sim-message-logging.js +31 -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 +3 -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 +12 -1
- package/dist/service/aws/factory/sim-aws-account-region-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 +10 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/message/sim-aws-logged-message.d.ts +46 -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/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/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/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/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/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-send-email.d.ts +6 -0
- 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 +7 -0
- 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 +68 -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 +69 -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.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/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 +10 -3
- package/dist/service/ses/index.d.ts.map +1 -1
- package/dist/service/ses/index.js +7 -1
- 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 +14 -0
- package/dist/service/ses/sim-ses-commands.d.ts.map +1 -1
- package/dist/service/ses/sim-ses-commands.js +47 -5
- 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-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 +1 -1
- package/dist/terraform/sim-tf-attributes.js.map +1 -0
- package/dist/terraform/sim-tf-declare.d.ts +37 -0
- package/dist/terraform/sim-tf-declare.d.ts.map +1 -0
- package/dist/{service/cloudformation/terraform/sim-tf-template-graph.js → terraform/sim-tf-declare.js} +35 -23
- package/dist/terraform/sim-tf-declare.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/{service/cloudformation/terraform → terraform}/sim-tf-module-outputs.d.ts +1 -9
- package/dist/terraform/sim-tf-module-outputs.d.ts.map +1 -0
- package/dist/terraform/sim-tf-module-outputs.js +33 -0
- package/dist/terraform/sim-tf-module-outputs.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/{service/cloudformation/terraform → terraform}/sim-tf-plan-resources.js +18 -10
- 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 +5 -1
- 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.d.ts +82 -0
- package/dist/terraform/sim-tf-reference.d.ts.map +1 -0
- package/dist/terraform/sim-tf-reference.js +153 -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} +6 -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 +63 -0
- package/dist/terraform/sim-tf-settle.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/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.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.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 +0 -29
- package/dist/service/cloudformation/terraform/sim-tf-template-graph.d.ts.map +0 -1
- 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
|
@@ -4,29 +4,41 @@
|
|
|
4
4
|
* lookup. The records are parsed JSON with no prototype of their own.
|
|
5
5
|
*/
|
|
6
6
|
// oxlint-disable security/detect-object-injection
|
|
7
|
-
import { isRecord } from "
|
|
8
|
-
import { terraformLogicalId, } from "./sim-tf-reference.js";
|
|
9
|
-
import { longestFirst } from "./sim-tf-reference-address.js";
|
|
7
|
+
import { isRecord } from "../util/type-guard/record.js";
|
|
10
8
|
/**
|
|
11
|
-
*
|
|
9
|
+
* Build one CloudFormation Resource for each resource the plan settled on.
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* The reference names the resource directly, which is what a fold needs.
|
|
11
|
+
* Every reference resolves against that same settled set, so this runs once
|
|
12
|
+
* and nothing it produces is taken back afterwards.
|
|
16
13
|
*/
|
|
17
|
-
export function
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
export function terraformDeclaredResources(settled) {
|
|
15
|
+
const templates = new Map();
|
|
16
|
+
const mapped = [];
|
|
17
|
+
const lost = [];
|
|
18
|
+
for (const { resource, mapping } of settled.declared) {
|
|
19
|
+
const built = mapping({
|
|
20
|
+
resource,
|
|
21
|
+
resolver: settled.resolver,
|
|
22
|
+
overrides: settled.overrides,
|
|
23
|
+
});
|
|
24
|
+
const logicalId = settled.resolver.logicalId(resource.address);
|
|
25
|
+
templates.set(logicalId, {
|
|
26
|
+
Type: built.Type,
|
|
27
|
+
Properties: built.Properties,
|
|
28
|
+
...terraformDependsOn(resource, settled.resolver),
|
|
29
|
+
});
|
|
30
|
+
mapped.push({
|
|
31
|
+
address: resource.address,
|
|
32
|
+
type: resource.type,
|
|
33
|
+
cfnType: built.Type,
|
|
34
|
+
logicalId,
|
|
35
|
+
});
|
|
36
|
+
lost.push(...(built.lost ?? []).map((attribute) => ({
|
|
37
|
+
address: resource.address,
|
|
38
|
+
attribute,
|
|
39
|
+
})));
|
|
21
40
|
}
|
|
22
|
-
|
|
23
|
-
for (const reference of references) {
|
|
24
|
-
const address = resolver.targetAddress(reference, resource.modulePath);
|
|
25
|
-
if (address !== undefined) {
|
|
26
|
-
return terraformLogicalId(address);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return undefined;
|
|
41
|
+
return { templates, mapped, lost };
|
|
30
42
|
}
|
|
31
43
|
/**
|
|
32
44
|
* The Resources one Resource has to be created after.
|
|
@@ -43,15 +55,15 @@ export function foldTargetLogicalId(resource, parentAttribute, resolver) {
|
|
|
43
55
|
* into `DependsOn` gives the Stack the graph it would have read off a template
|
|
44
56
|
* written by hand.
|
|
45
57
|
*/
|
|
46
|
-
export function
|
|
47
|
-
const own =
|
|
58
|
+
export function terraformDependsOn(resource, resolver) {
|
|
59
|
+
const own = resolver.logicalId(resource.address);
|
|
48
60
|
const referenced = [
|
|
49
61
|
...resource.dependsOn,
|
|
50
62
|
...expressionReferences(resource.expressions),
|
|
51
63
|
]
|
|
52
64
|
.map((reference) => resolver.targetAddress(reference, resource.modulePath))
|
|
53
65
|
.filter((address) => address !== undefined)
|
|
54
|
-
.map((address) =>
|
|
66
|
+
.map((address) => resolver.logicalId(address))
|
|
55
67
|
.filter((logicalId) => logicalId !== own);
|
|
56
68
|
const declared = [...new Set(referenced)];
|
|
57
69
|
return declared.length === 0 ? {} : { DependsOn: declared };
|
|
@@ -68,4 +80,4 @@ function expressionReferences(value) {
|
|
|
68
80
|
? nested.filter((entry) => typeof entry === "string")
|
|
69
81
|
: expressionReferences(nested));
|
|
70
82
|
}
|
|
71
|
-
//# sourceMappingURL=sim-tf-
|
|
83
|
+
//# sourceMappingURL=sim-tf-declare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-declare.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-declare.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SimCfnTemplateValueRecord } from "../service/cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
import { type TerraformResource } from "./sim-tf-resource.type.js";
|
|
3
|
+
import type { TerraformReferenceResolver } from "./sim-tf-reference.js";
|
|
4
|
+
import type { TerraformPlanOverrides } from "./sim-tf-overrides.js";
|
|
5
|
+
import type { TerraformImportedResource, TerraformLostAttribute, TerraformSkippedResource } from "./sim-tf-report.type.js";
|
|
6
|
+
/** The template with every folding resource merged into what it configures. */
|
|
7
|
+
export interface TerraformFoldedResources {
|
|
8
|
+
readonly templates: ReadonlyMap<string, SimCfnTemplateValueRecord>;
|
|
9
|
+
readonly folded: readonly TerraformImportedResource[];
|
|
10
|
+
readonly skipped: readonly TerraformSkippedResource[];
|
|
11
|
+
readonly lost: readonly TerraformLostAttribute[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Merge every folding resource into the Resource it configures.
|
|
15
|
+
*
|
|
16
|
+
* The AWS provider splits one CloudFormation Resource across several Terraform
|
|
17
|
+
* resources. Six `aws_s3_bucket_*` resources configure one bucket, and
|
|
18
|
+
* CloudFormation carries all six as properties of one `AWS::S3::Bucket`.
|
|
19
|
+
*
|
|
20
|
+
* This runs after the Resources are declared, because a fold has nothing to
|
|
21
|
+
* merge into until its parent is in the template. A fold whose parent is not
|
|
22
|
+
* there is recorded rather than dropped, so the report still adds up to the
|
|
23
|
+
* plan.
|
|
24
|
+
*/
|
|
25
|
+
export declare function terraformFoldedResources(resources: readonly TerraformResource[], templates: ReadonlyMap<string, SimCfnTemplateValueRecord>, resolver: TerraformReferenceResolver, overrides: TerraformPlanOverrides): TerraformFoldedResources;
|
|
26
|
+
//# sourceMappingURL=sim-tf-fold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-fold.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-fold.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oEAAoE,CAAC;AACpH,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,KAAK,EACV,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AAEjC,+EAA+E;AAC/E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACnE,QAAQ,CAAC,MAAM,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,SAAS,sBAAsB,EAAE,CAAC;CAClD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,iBAAiB,EAAE,EACvC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,EACzD,QAAQ,EAAE,0BAA0B,EACpC,SAAS,EAAE,sBAAsB,GAChC,wBAAwB,CA8C1B"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Reading a plan means reading records whose keys come from the document
|
|
3
|
+
* rather than from this code, so the object-injection rule fires on every
|
|
4
|
+
* lookup. The records are parsed JSON with no prototype of their own.
|
|
5
|
+
*/
|
|
6
|
+
// oxlint-disable security/detect-object-injection
|
|
7
|
+
import { isRecord } from "../util/type-guard/record.js";
|
|
8
|
+
import { terraformAwsProvider, } from "./sim-tf-resource.type.js";
|
|
9
|
+
import { terraformReferencedAddress } from "./sim-tf-referenced.js";
|
|
10
|
+
import { terraformResourceFolds } from "./sim-tf-registry.js";
|
|
11
|
+
/**
|
|
12
|
+
* Merge every folding resource into the Resource it configures.
|
|
13
|
+
*
|
|
14
|
+
* The AWS provider splits one CloudFormation Resource across several Terraform
|
|
15
|
+
* resources. Six `aws_s3_bucket_*` resources configure one bucket, and
|
|
16
|
+
* CloudFormation carries all six as properties of one `AWS::S3::Bucket`.
|
|
17
|
+
*
|
|
18
|
+
* This runs after the Resources are declared, because a fold has nothing to
|
|
19
|
+
* merge into until its parent is in the template. A fold whose parent is not
|
|
20
|
+
* there is recorded rather than dropped, so the report still adds up to the
|
|
21
|
+
* plan.
|
|
22
|
+
*/
|
|
23
|
+
export function terraformFoldedResources(resources, templates, resolver, overrides) {
|
|
24
|
+
const merged = new Map(templates);
|
|
25
|
+
const folded = [];
|
|
26
|
+
const skipped = [];
|
|
27
|
+
const lost = [];
|
|
28
|
+
for (const resource of resources) {
|
|
29
|
+
const fold = terraformResourceFolds.get(resource.type);
|
|
30
|
+
if (fold === undefined || resource.provider !== terraformAwsProvider) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
const address = terraformReferencedAddress(resource, fold.parentAttribute, resolver);
|
|
34
|
+
const parentId = address === undefined ? undefined : resolver.logicalId(address);
|
|
35
|
+
const parent = parentId === undefined ? undefined : merged.get(parentId);
|
|
36
|
+
if (parentId === undefined || parent === undefined) {
|
|
37
|
+
skipped.push({
|
|
38
|
+
address: resource.address,
|
|
39
|
+
type: resource.type,
|
|
40
|
+
reason: "fold target not found",
|
|
41
|
+
});
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const context = { resource, resolver, overrides };
|
|
45
|
+
const existing = parent["Properties"];
|
|
46
|
+
const added = fold.properties(context, isRecord(existing) ? existing : {});
|
|
47
|
+
merged.set(parentId, mergedParent(parent, added));
|
|
48
|
+
folded.push({ address: resource.address, type: resource.type });
|
|
49
|
+
lost.push(...(fold.lost?.(context) ?? []).map((attribute) => ({
|
|
50
|
+
address: resource.address,
|
|
51
|
+
attribute,
|
|
52
|
+
})));
|
|
53
|
+
}
|
|
54
|
+
return { templates: merged, folded, skipped, lost };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* A resource template with a fold's properties merged into it.
|
|
58
|
+
*
|
|
59
|
+
* The fold contributes whole CloudFormation properties, so a later fold on the
|
|
60
|
+
* same parent replaces a property an earlier one set rather than merging into
|
|
61
|
+
* it. Two folds writing the same property are two of one Terraform type, and a
|
|
62
|
+
* fold whose property is a list is handed what the parent already carries so
|
|
63
|
+
* it can add to it.
|
|
64
|
+
*/
|
|
65
|
+
function mergedParent(parent, added) {
|
|
66
|
+
const existing = parent["Properties"];
|
|
67
|
+
return {
|
|
68
|
+
...parent,
|
|
69
|
+
Properties: { ...(isRecord(existing) && existing), ...added },
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=sim-tf-fold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-fold.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-fold.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CfnTemplateBodyRecord } from "../service/cloudformation/template/sim-cfn-template.js";
|
|
2
|
+
import type { TerraformPlan } from "./sim-tf-plan.type.js";
|
|
3
|
+
import type { TerraformPlanOverride } from "./sim-tf-override.type.js";
|
|
4
|
+
import type { TerraformImportReport } from "./sim-tf-report.type.js";
|
|
5
|
+
/** A CloudFormation template built from a plan, and what building it did. */
|
|
6
|
+
export interface TerraformImportResult {
|
|
7
|
+
readonly template: CfnTemplateBodyRecord;
|
|
8
|
+
readonly report: TerraformImportReport;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A CloudFormation template body built from a Terraform plan.
|
|
12
|
+
*
|
|
13
|
+
* The plan is the JSON `terraform show -json` writes for a saved plan file.
|
|
14
|
+
* What comes back is the body `deployTemplate` takes, so everything below the
|
|
15
|
+
* template is the machinery a CloudFormation, CDK or SAM deployment already
|
|
16
|
+
* goes through.
|
|
17
|
+
*
|
|
18
|
+
* It is read in three passes. Settling decides which resources the template
|
|
19
|
+
* will declare, and it is what makes the two after it single passes. Every
|
|
20
|
+
* reference then resolves against a set that has stopped changing, so no
|
|
21
|
+
* Resource is built and then taken back, and no property is left naming a
|
|
22
|
+
* logical ID the template does not hold. Declaring builds those Resources.
|
|
23
|
+
* Folding merges in the resources that configure another resource.
|
|
24
|
+
*
|
|
25
|
+
* The report alongside the template says what happened to every resource of
|
|
26
|
+
* the plan. A type with no mapping is skipped and named, in the same spirit as
|
|
27
|
+
* the skipped Resources a Stack records for a CloudFormation type no simulated
|
|
28
|
+
* service models.
|
|
29
|
+
*/
|
|
30
|
+
export declare function cfnTemplateFromTerraformPlan(plan: TerraformPlan, supplied?: readonly TerraformPlanOverride[]): TerraformImportResult;
|
|
31
|
+
//# sourceMappingURL=sim-tf-import.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-import.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-import.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAO3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,aAAa,EACnB,QAAQ,GAAE,SAAS,qBAAqB,EAAO,GAC9C,qBAAqB,CAgBvB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { terraformPlanResources } from "./sim-tf-plan-resources.js";
|
|
2
|
+
import { settledTerraformPlan } from "./sim-tf-settle.js";
|
|
3
|
+
import { terraformDeclaredResources } from "./sim-tf-declare.js";
|
|
4
|
+
import { terraformFoldedResources } from "./sim-tf-fold.js";
|
|
5
|
+
import { terraformImportReport } from "./sim-tf-report.js";
|
|
6
|
+
import { TerraformPlanOverrides } from "./sim-tf-overrides.js";
|
|
7
|
+
/**
|
|
8
|
+
* A CloudFormation template body built from a Terraform plan.
|
|
9
|
+
*
|
|
10
|
+
* The plan is the JSON `terraform show -json` writes for a saved plan file.
|
|
11
|
+
* What comes back is the body `deployTemplate` takes, so everything below the
|
|
12
|
+
* template is the machinery a CloudFormation, CDK or SAM deployment already
|
|
13
|
+
* goes through.
|
|
14
|
+
*
|
|
15
|
+
* It is read in three passes. Settling decides which resources the template
|
|
16
|
+
* will declare, and it is what makes the two after it single passes. Every
|
|
17
|
+
* reference then resolves against a set that has stopped changing, so no
|
|
18
|
+
* Resource is built and then taken back, and no property is left naming a
|
|
19
|
+
* logical ID the template does not hold. Declaring builds those Resources.
|
|
20
|
+
* Folding merges in the resources that configure another resource.
|
|
21
|
+
*
|
|
22
|
+
* The report alongside the template says what happened to every resource of
|
|
23
|
+
* the plan. A type with no mapping is skipped and named, in the same spirit as
|
|
24
|
+
* the skipped Resources a Stack records for a CloudFormation type no simulated
|
|
25
|
+
* service models.
|
|
26
|
+
*/
|
|
27
|
+
export function cfnTemplateFromTerraformPlan(plan, supplied = []) {
|
|
28
|
+
const overrides = new TerraformPlanOverrides(supplied);
|
|
29
|
+
const resources = terraformPlanResources(plan);
|
|
30
|
+
const settled = settledTerraformPlan(plan, resources, overrides);
|
|
31
|
+
const declared = terraformDeclaredResources(settled);
|
|
32
|
+
const folded = terraformFoldedResources(resources, declared.templates, settled.resolver, overrides);
|
|
33
|
+
return {
|
|
34
|
+
template: { Resources: Object.fromEntries(folded.templates) },
|
|
35
|
+
report: terraformImportReport({ resources, settled, declared, folded }),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=sim-tf-import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-import.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-import.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAU/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAmB,EACnB,QAAQ,GAAqC,EAAE;IAE/C,MAAM,SAAS,GAAG,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,wBAAwB,CACrC,SAAS,EACT,QAAQ,CAAC,SAAS,EAClB,OAAO,CAAC,QAAQ,EAChB,SAAS,CACV,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC7D,MAAM,EAAE,qBAAqB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The CloudFormation logical IDs standing for the addresses of one plan.
|
|
3
|
+
*
|
|
4
|
+
* A logical ID is alphanumeric, so the module path, the resource type, the
|
|
5
|
+
* name and any `count` or `for_each` key are folded into one camel-run.
|
|
6
|
+
* Folding loses the separators, and two addresses can therefore arrive at the
|
|
7
|
+
* same run. `aws_s3_bucket.foo_bar` and `aws_s3_bucket.fooBar` both give
|
|
8
|
+
* `AwsS3BucketFooBar`, and so do the `for_each` keys `a-b` and `a_b`.
|
|
9
|
+
*
|
|
10
|
+
* The addresses of a plan are named together rather than one at a time, so a
|
|
11
|
+
* collision can be given a number instead of refusing the plan. Addresses are
|
|
12
|
+
* sorted before they are named, so which of a colliding pair keeps the plain
|
|
13
|
+
* ID is decided by the plan rather than by the order the resources were read
|
|
14
|
+
* in.
|
|
15
|
+
*/
|
|
16
|
+
export declare class TerraformLogicalIds {
|
|
17
|
+
private readonly byAddress;
|
|
18
|
+
constructor(addresses: Iterable<string>);
|
|
19
|
+
/**
|
|
20
|
+
* The logical ID standing for one address.
|
|
21
|
+
*
|
|
22
|
+
* An address this was not built with is named as though it stood alone,
|
|
23
|
+
* which is what a caller asking about a resource outside the template wants.
|
|
24
|
+
*/
|
|
25
|
+
of(address: string): string;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=sim-tf-logical-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-logical-id.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-logical-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD,YAAY,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAEtC;IAED;;;;;OAKG;IACI,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjC;CACF"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The CloudFormation logical IDs standing for the addresses of one plan.
|
|
3
|
+
*
|
|
4
|
+
* A logical ID is alphanumeric, so the module path, the resource type, the
|
|
5
|
+
* name and any `count` or `for_each` key are folded into one camel-run.
|
|
6
|
+
* Folding loses the separators, and two addresses can therefore arrive at the
|
|
7
|
+
* same run. `aws_s3_bucket.foo_bar` and `aws_s3_bucket.fooBar` both give
|
|
8
|
+
* `AwsS3BucketFooBar`, and so do the `for_each` keys `a-b` and `a_b`.
|
|
9
|
+
*
|
|
10
|
+
* The addresses of a plan are named together rather than one at a time, so a
|
|
11
|
+
* collision can be given a number instead of refusing the plan. Addresses are
|
|
12
|
+
* sorted before they are named, so which of a colliding pair keeps the plain
|
|
13
|
+
* ID is decided by the plan rather than by the order the resources were read
|
|
14
|
+
* in.
|
|
15
|
+
*/
|
|
16
|
+
export class TerraformLogicalIds {
|
|
17
|
+
byAddress;
|
|
18
|
+
constructor(addresses) {
|
|
19
|
+
this.byAddress = namedAddresses([...addresses].toSorted(byCodeUnit));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The logical ID standing for one address.
|
|
23
|
+
*
|
|
24
|
+
* An address this was not built with is named as though it stood alone,
|
|
25
|
+
* which is what a caller asking about a resource outside the template wants.
|
|
26
|
+
*/
|
|
27
|
+
of(address) {
|
|
28
|
+
return this.byAddress.get(address) ?? camelRun(address);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Address order by code unit, over addresses that are already distinct.
|
|
33
|
+
*
|
|
34
|
+
* Which of a colliding pair keeps the plain logical ID follows from this, so
|
|
35
|
+
* it has to be the same everywhere. `localeCompare` orders by the collation
|
|
36
|
+
* rules of whatever locale the process is running under, and a template whose
|
|
37
|
+
* logical IDs move with the machine is one a test cannot name a Resource in.
|
|
38
|
+
*/
|
|
39
|
+
function byCodeUnit(a, b) {
|
|
40
|
+
return a < b ? -1 : 1;
|
|
41
|
+
}
|
|
42
|
+
function namedAddresses(addresses) {
|
|
43
|
+
const groups = new Map();
|
|
44
|
+
for (const address of addresses) {
|
|
45
|
+
const base = camelRun(address);
|
|
46
|
+
groups.set(base, [...(groups.get(base) ?? []), address]);
|
|
47
|
+
}
|
|
48
|
+
const taken = new Set(groups.keys());
|
|
49
|
+
const named = new Map();
|
|
50
|
+
for (const [base, group] of groups) {
|
|
51
|
+
for (const [position, address] of group.entries()) {
|
|
52
|
+
named.set(address, position === 0 ? base : numbered(base, taken));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return named;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The next free numbered form of a logical ID.
|
|
59
|
+
*
|
|
60
|
+
* Numbering starts at two, so the first of a colliding group keeps the name
|
|
61
|
+
* the address gives and the second reads as the second of that name. The
|
|
62
|
+
* search steps past a number already taken, since a numbered ID can collide
|
|
63
|
+
* with one an address arrived at on its own.
|
|
64
|
+
*/
|
|
65
|
+
function numbered(base, taken) {
|
|
66
|
+
for (let suffix = 2;; suffix += 1) {
|
|
67
|
+
const candidate = `${base}${suffix}`;
|
|
68
|
+
if (!taken.has(candidate)) {
|
|
69
|
+
taken.add(candidate);
|
|
70
|
+
return candidate;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/** One address as a single alphanumeric camel-run. */
|
|
75
|
+
function camelRun(address) {
|
|
76
|
+
const alphanumeric = address
|
|
77
|
+
.split(/[^A-Za-z0-9]+/)
|
|
78
|
+
.filter((part) => part.length > 0)
|
|
79
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
|
80
|
+
.join("");
|
|
81
|
+
return alphanumeric.length > 0 ? alphanumeric : "Resource";
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=sim-tf-logical-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-logical-id.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-logical-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,mBAAmB;IACb,SAAS,CAA8B;IAExD,YAAY,SAA2B;QACrC,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACI,EAAE,CAAC,OAAe;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;CACF;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,CAAS,EAAE,CAAS;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,cAAc,CAAC,SAA4B;IAClD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE3C,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE/B,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAkB;IAChD,KAAK,IAAI,MAAM,GAAG,CAAC,GAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC;QAErC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAErB,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,SAAS,QAAQ,CAAC,OAAe;IAC/B,MAAM,YAAY,GAAG,OAAO;SACzB,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue } from "../service/cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { TerraformMappingContext } from "./sim-tf-attributes.js";
|
|
3
|
+
import type { TerraformResource } from "./sim-tf-resource.type.js";
|
|
4
|
+
import type { TerraformSkipReason } from "./sim-tf-report.type.js";
|
|
5
|
+
/**
|
|
6
|
+
* One CloudFormation Resource built from one Terraform resource.
|
|
7
|
+
*
|
|
8
|
+
* `lost` names the Terraform attributes the mapping could not carry across.
|
|
9
|
+
* A mapping records them rather than dropping them quietly, because an
|
|
10
|
+
* attribute that goes missing without a word is the kind of gap that only turns
|
|
11
|
+
* up later as a test passing for the wrong reason.
|
|
12
|
+
*/
|
|
13
|
+
export interface TerraformMappedResource {
|
|
14
|
+
readonly Type: string;
|
|
15
|
+
readonly Properties: Record<string, SimCfnTemplateValue>;
|
|
16
|
+
readonly lost?: readonly string[];
|
|
17
|
+
/**
|
|
18
|
+
* Properties the simulated service will refuse the Resource without.
|
|
19
|
+
*
|
|
20
|
+
* A plan can leave a required value unresolvable, and a Resource built
|
|
21
|
+
* without it fails and takes the Stack's other Resources with it. Naming the
|
|
22
|
+
* properties here lets the import drop that one Resource and record it,
|
|
23
|
+
* which is what sim CloudFormation already does with a Resource type it
|
|
24
|
+
* cannot create.
|
|
25
|
+
*/
|
|
26
|
+
readonly requires?: readonly string[];
|
|
27
|
+
/**
|
|
28
|
+
* Why this Resource is one the simulated service would refuse whatever the
|
|
29
|
+
* plan resolved.
|
|
30
|
+
*
|
|
31
|
+
* `requires` covers a property the service needs and the plan could not
|
|
32
|
+
* fill. This covers the other shape, where every property is there and one
|
|
33
|
+
* of them holds a value the target refuses. Terraform's `SecureString`
|
|
34
|
+
* parameter is the example. Real CloudFormation refuses that type on an
|
|
35
|
+
* `AWS::SSM::Parameter` because the plaintext would sit in the template, and
|
|
36
|
+
* so does the simulation, so a Resource built for one fails the Stack around
|
|
37
|
+
* it rather than only itself.
|
|
38
|
+
*/
|
|
39
|
+
readonly refused?: TerraformSkipReason | undefined;
|
|
40
|
+
}
|
|
41
|
+
export type TerraformResourceMapping = (context: TerraformMappingContext) => TerraformMappedResource;
|
|
42
|
+
/** One resource of a plan, with the mapping that will build its Resource. */
|
|
43
|
+
export interface TerraformDeclaration {
|
|
44
|
+
readonly resource: TerraformResource;
|
|
45
|
+
readonly mapping: TerraformResourceMapping;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* How one Terraform resource contributes to another resource's properties.
|
|
49
|
+
*
|
|
50
|
+
* The AWS provider splits a single CloudFormation Resource across several
|
|
51
|
+
* Terraform resources. Six `aws_s3_bucket_*` resources configure one bucket,
|
|
52
|
+
* and CloudFormation carries all six as properties of one `AWS::S3::Bucket`.
|
|
53
|
+
* A fold names the attribute holding the parent's address, and returns the
|
|
54
|
+
* properties to merge into the parent.
|
|
55
|
+
*
|
|
56
|
+
* The properties the parent already carries are given along with the resource,
|
|
57
|
+
* for the fold that adds to a list rather than setting a property outright. An
|
|
58
|
+
* EventBridge rule's targets are one Terraform resource each and one `Targets`
|
|
59
|
+
* list on the Resource, so the second target of a rule has to find the first.
|
|
60
|
+
* A fold writing a property of its own ignores them.
|
|
61
|
+
*/
|
|
62
|
+
export interface TerraformResourceFold {
|
|
63
|
+
/** The attribute naming the resource these properties belong to. */
|
|
64
|
+
readonly parentAttribute: string;
|
|
65
|
+
readonly properties: (context: TerraformMappingContext, parent?: Record<string, SimCfnTemplateValue>) => Record<string, SimCfnTemplateValue>;
|
|
66
|
+
/**
|
|
67
|
+
* The Terraform attributes this fold could not carry across, as a mapping's
|
|
68
|
+
* own `lost` names them. A fold that carries everything it was given
|
|
69
|
+
* declares none.
|
|
70
|
+
*/
|
|
71
|
+
readonly lost?: (context: TerraformMappingContext) => readonly string[];
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=sim-tf-mapping.type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-mapping.type.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-mapping.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oEAAoE,CAAC;AAC9G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEtC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACpD;AAED,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,uBAAuB,KAC7B,uBAAuB,CAAC;AAE7B,6EAA6E;AAC7E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;CAC5C;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,CACnB,OAAO,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,KACzC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAEzC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,SAAS,MAAM,EAAE,CAAC;CACzE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-mapping.type.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-mapping.type.ts"],"names":[],"mappings":""}
|
|
@@ -1,12 +1,4 @@
|
|
|
1
1
|
import type { TerraformPlan } from "./sim-tf-plan.type.js";
|
|
2
|
-
/**
|
|
3
|
-
* What one module output is, in terms of the module that declares it.
|
|
4
|
-
*/
|
|
5
|
-
export interface TerraformModuleOutput {
|
|
6
|
-
/** The module path the output's references are relative to. */
|
|
7
|
-
readonly modulePath: readonly string[];
|
|
8
|
-
readonly references: readonly string[];
|
|
9
|
-
}
|
|
10
2
|
/**
|
|
11
3
|
* Every module output a plan declares, keyed by the address that reads it.
|
|
12
4
|
*
|
|
@@ -15,5 +7,5 @@ export interface TerraformModuleOutput {
|
|
|
15
7
|
* has, and the plan resolves nothing for it, so following it means reading the
|
|
16
8
|
* output's own expression and continuing from the module that declares it.
|
|
17
9
|
*/
|
|
18
|
-
export declare function terraformModuleOutputs(plan: TerraformPlan): ReadonlyMap<string,
|
|
10
|
+
export declare function terraformModuleOutputs(plan: TerraformPlan): ReadonlyMap<string, readonly string[]>;
|
|
19
11
|
//# sourceMappingURL=sim-tf-module-outputs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-module-outputs.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-module-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,GAClB,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CASxC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every module output a plan declares, keyed by the address that reads it.
|
|
3
|
+
*
|
|
4
|
+
* A resource in one module reaching a resource in another goes through an
|
|
5
|
+
* output. `module.processor.lambda_function_arn` is not an address any resource
|
|
6
|
+
* has, and the plan resolves nothing for it, so following it means reading the
|
|
7
|
+
* output's own expression and continuing from the module that declares it.
|
|
8
|
+
*/
|
|
9
|
+
export function terraformModuleOutputs(plan) {
|
|
10
|
+
const outputs = new Map();
|
|
11
|
+
const root = plan.configuration?.root_module;
|
|
12
|
+
if (root !== undefined) {
|
|
13
|
+
collect(root, [], outputs);
|
|
14
|
+
}
|
|
15
|
+
return outputs;
|
|
16
|
+
}
|
|
17
|
+
function collect(config, modulePath, outputs) {
|
|
18
|
+
const calls = Object.entries(config.module_calls ?? {});
|
|
19
|
+
for (const [callName, call] of calls) {
|
|
20
|
+
const child = call.module;
|
|
21
|
+
if (child === undefined) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
const childPath = [...modulePath, callName];
|
|
25
|
+
const address = childPath.map((name) => `module.${name}`).join(".");
|
|
26
|
+
const declared = Object.entries(child.outputs ?? {});
|
|
27
|
+
for (const [name, output] of declared) {
|
|
28
|
+
outputs.set(`${address}.${name}`, output.expression?.references ?? []);
|
|
29
|
+
}
|
|
30
|
+
collect(child, childPath, outputs);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# 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":"AAKA;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAmB;IAEnB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IAE7C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,OAAO,CACd,MAA6B,EAC7B,UAA6B,EAC7B,OAAuC;IAEvC,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,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,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,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAErD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACrC,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"}
|