@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
|
@@ -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.modulePath);
|
|
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.modulePath);
|
|
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;AASnE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,GAClB,SAAS,iBAAiB,EAAE,CAa9B"}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { childModuleCallName, childModuleSegment, configResourcesByKey, providerShortName, unknownAttributesByAddress, } from "./sim-tf-plan-sections.js";
|
|
2
2
|
/**
|
|
3
3
|
* Every managed AWS resource a plan will create, in declaration order.
|
|
4
4
|
*
|
|
5
|
+
* The three sections a plan splits a resource across are walked together.
|
|
6
|
+
* `planned_values` and `configuration` are two trees of the same shape, and
|
|
7
|
+
* `configuration` addresses its resources relative to the module declaring
|
|
8
|
+
* them, so the two are joined per module rather than matched on address.
|
|
9
|
+
* `resource_changes` is a flat list keyed by the fully qualified address.
|
|
10
|
+
*
|
|
5
11
|
* Data sources are left out, because a data source reads infrastructure that
|
|
6
12
|
* already exists and creates nothing. Resources from another provider are left
|
|
7
13
|
* in, carrying their provider name, so the caller can report them rather than
|
|
@@ -12,22 +18,24 @@ export function terraformPlanResources(plan) {
|
|
|
12
18
|
if (rootValues === undefined) {
|
|
13
19
|
return [];
|
|
14
20
|
}
|
|
15
|
-
return collectModule(rootValues, plan.configuration?.root_module, [],
|
|
21
|
+
return collectModule(rootValues, plan.configuration?.root_module, [], unknownAttributesByAddress(plan));
|
|
16
22
|
}
|
|
17
|
-
function collectModule(values, config, modulePath,
|
|
18
|
-
const
|
|
23
|
+
function collectModule(values, config, modulePath, unknown) {
|
|
24
|
+
const declared = configResourcesByKey(config);
|
|
19
25
|
const own = (values.resources ?? [])
|
|
20
26
|
.filter((resource) => (resource.mode ?? "managed") === "managed")
|
|
21
|
-
.map((resource) =>
|
|
27
|
+
.map((resource) => joined(resource, declared, modulePath, unknown));
|
|
22
28
|
const nested = (values.child_modules ?? []).flatMap((child) => {
|
|
29
|
+
// The configuration is filed under the call name and the resources are
|
|
30
|
+
// addressed by the instance, so the two parts of the walk take different
|
|
31
|
+
// halves of the same segment.
|
|
23
32
|
const callName = childModuleCallName(child.address, modulePath);
|
|
24
|
-
return collectModule(child, config?.module_calls?.[callName]?.module, [...modulePath,
|
|
33
|
+
return collectModule(child, config?.module_calls?.[callName]?.module, [...modulePath, childModuleSegment(child.address, modulePath)], unknown);
|
|
25
34
|
});
|
|
26
35
|
return [...own, ...nested];
|
|
27
36
|
}
|
|
28
|
-
function
|
|
29
|
-
const config =
|
|
30
|
-
const change = changes.get(resource.address);
|
|
37
|
+
function joined(resource, declared, modulePath, unknown) {
|
|
38
|
+
const config = declared.get(`${resource.type}.${resource.name}`);
|
|
31
39
|
return {
|
|
32
40
|
address: resource.address,
|
|
33
41
|
type: resource.type,
|
|
@@ -35,7 +43,7 @@ function joinedResource(resource, configResources, modulePath, changes) {
|
|
|
35
43
|
index: resource.index,
|
|
36
44
|
provider: providerShortName(resource.provider_name),
|
|
37
45
|
values: resource.values ?? {},
|
|
38
|
-
unknown:
|
|
46
|
+
unknown: unknown.get(resource.address) ?? {},
|
|
39
47
|
expressions: config?.expressions ?? {},
|
|
40
48
|
dependsOn: config?.depends_on ?? [],
|
|
41
49
|
modulePath,
|
|
@@ -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,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,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { TerraformConfigModule, TerraformConfigResource, TerraformPlan } from "./sim-tf-plan.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* Each resource's `after_unknown`, keyed by the address it belongs to.
|
|
4
|
+
*
|
|
5
|
+
* `planned_values` says what a value is and `resource_changes` says whether the
|
|
6
|
+
* plan knew it, so reading a resource means having both to hand.
|
|
7
|
+
*/
|
|
8
|
+
export declare function unknownAttributesByAddress(plan: TerraformPlan): ReadonlyMap<string, Record<string, unknown>>;
|
|
9
|
+
/** The declared configuration of one module's resources, by type and name. */
|
|
10
|
+
export declare function configResourcesByKey(config: TerraformConfigModule | undefined): ReadonlyMap<string, TerraformConfigResource>;
|
|
11
|
+
/**
|
|
12
|
+
* The child module segment of an address, as `planned_values` writes it.
|
|
13
|
+
*
|
|
14
|
+
* A child module address repeats its parents, so `module.a.module.b` under
|
|
15
|
+
* `["a"]` is `b`. A module called with `count` or `for_each` carries the
|
|
16
|
+
* instance key here, and `module.workers["blue"]` gives `workers["blue"]`.
|
|
17
|
+
* That is the form every address under the module is written with, so it is
|
|
18
|
+
* the form a reference from inside it has to be qualified against.
|
|
19
|
+
*/
|
|
20
|
+
export declare function childModuleSegment(address: string | undefined, modulePath: readonly string[]): string;
|
|
21
|
+
/**
|
|
22
|
+
* The call name of a child module, without any instance key.
|
|
23
|
+
*
|
|
24
|
+
* The configuration files a module under the name it was called by, once,
|
|
25
|
+
* however many instances the call has, so this is the form its `module_calls`
|
|
26
|
+
* are keyed on.
|
|
27
|
+
*/
|
|
28
|
+
export declare function childModuleCallName(address: string | undefined, modulePath: readonly string[]): string;
|
|
29
|
+
/** The provider that owns a resource type, without the registry it came from. */
|
|
30
|
+
export declare function providerShortName(providerName: string | undefined): string;
|
|
31
|
+
//# sourceMappingURL=sim-tf-plan-sections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-plan-sections.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan-sections.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,aAAa,GAClB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAO9C;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,qBAAqB,GAAG,SAAS,GACxC,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAO9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,MAAM,CAER;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAM1E"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How the three sections of a plan document address and key what they hold.
|
|
3
|
+
*
|
|
4
|
+
* Each section says something different about the same resource and none of
|
|
5
|
+
* them says it the same way. `resource_changes` is a flat list keyed by fully
|
|
6
|
+
* qualified address, `configuration` files a resource under the module that
|
|
7
|
+
* declares it, and both a child module address and a provider name carry more
|
|
8
|
+
* than the name being read out of them. This is that reading, kept away from
|
|
9
|
+
* the walk that uses it.
|
|
10
|
+
*/
|
|
11
|
+
import { addressSegments, withoutInstanceKeys, } from "./sim-tf-reference-address.js";
|
|
12
|
+
/**
|
|
13
|
+
* Each resource's `after_unknown`, keyed by the address it belongs to.
|
|
14
|
+
*
|
|
15
|
+
* `planned_values` says what a value is and `resource_changes` says whether the
|
|
16
|
+
* plan knew it, so reading a resource means having both to hand.
|
|
17
|
+
*/
|
|
18
|
+
export function unknownAttributesByAddress(plan) {
|
|
19
|
+
return new Map((plan.resource_changes ?? []).map((change) => [
|
|
20
|
+
change.address,
|
|
21
|
+
change.change?.after_unknown ?? {},
|
|
22
|
+
]));
|
|
23
|
+
}
|
|
24
|
+
/** The declared configuration of one module's resources, by type and name. */
|
|
25
|
+
export function configResourcesByKey(config) {
|
|
26
|
+
return new Map((config?.resources ?? []).map((resource) => [
|
|
27
|
+
`${resource.type}.${resource.name}`,
|
|
28
|
+
resource,
|
|
29
|
+
]));
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The child module segment of an address, as `planned_values` writes it.
|
|
33
|
+
*
|
|
34
|
+
* A child module address repeats its parents, so `module.a.module.b` under
|
|
35
|
+
* `["a"]` is `b`. A module called with `count` or `for_each` carries the
|
|
36
|
+
* instance key here, and `module.workers["blue"]` gives `workers["blue"]`.
|
|
37
|
+
* That is the form every address under the module is written with, so it is
|
|
38
|
+
* the form a reference from inside it has to be qualified against.
|
|
39
|
+
*/
|
|
40
|
+
export function childModuleSegment(address, modulePath) {
|
|
41
|
+
return addressSegments(address ?? "")[modulePath.length * 2 + 1] ?? "";
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The call name of a child module, without any instance key.
|
|
45
|
+
*
|
|
46
|
+
* The configuration files a module under the name it was called by, once,
|
|
47
|
+
* however many instances the call has, so this is the form its `module_calls`
|
|
48
|
+
* are keyed on.
|
|
49
|
+
*/
|
|
50
|
+
export function childModuleCallName(address, modulePath) {
|
|
51
|
+
return withoutInstanceKeys(childModuleSegment(address, modulePath));
|
|
52
|
+
}
|
|
53
|
+
/** The provider that owns a resource type, without the registry it came from. */
|
|
54
|
+
export function providerShortName(providerName) {
|
|
55
|
+
if (providerName === undefined) {
|
|
56
|
+
return "unknown";
|
|
57
|
+
}
|
|
58
|
+
return providerName.replace(/^registry\.terraform\.io\//u, "");
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=sim-tf-plan-sections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-plan-sections.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan-sections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,eAAe,EACf,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAOvC;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAAmB;IAEnB,OAAO,IAAI,GAAG,CACZ,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE;KACnC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAClC,MAAyC;IAEzC,OAAO,IAAI,GAAG,CACZ,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC1C,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;QACnC,QAAQ;KACT,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAA2B,EAC3B,UAA6B;IAE7B,OAAO,eAAe,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACzE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA2B,EAC3B,UAA6B;IAE7B,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,YAAgC;IAChE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,YAAY,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -35,7 +35,7 @@ export interface TerraformPlannedResource {
|
|
|
35
35
|
readonly mode?: string;
|
|
36
36
|
readonly type: string;
|
|
37
37
|
readonly name: string;
|
|
38
|
-
readonly index?: string | number;
|
|
38
|
+
readonly index?: string | number | undefined;
|
|
39
39
|
readonly provider_name?: string;
|
|
40
40
|
readonly values?: Record<string, unknown>;
|
|
41
41
|
}
|
|
@@ -67,6 +67,7 @@ export interface TerraformResourceChange {
|
|
|
67
67
|
*/
|
|
68
68
|
export interface TerraformConfigModule {
|
|
69
69
|
readonly resources?: readonly TerraformConfigResource[];
|
|
70
|
+
readonly outputs?: Record<string, TerraformConfigOutput>;
|
|
70
71
|
readonly module_calls?: Record<string, {
|
|
71
72
|
readonly module?: TerraformConfigModule;
|
|
72
73
|
}>;
|
|
@@ -79,6 +80,9 @@ export interface TerraformConfigResource {
|
|
|
79
80
|
readonly expressions?: Record<string, unknown>;
|
|
80
81
|
readonly depends_on?: readonly string[];
|
|
81
82
|
}
|
|
83
|
+
export interface TerraformConfigOutput {
|
|
84
|
+
readonly expression?: TerraformExpression;
|
|
85
|
+
}
|
|
82
86
|
/**
|
|
83
87
|
* A `references` entry, which is a resource address optionally followed by the
|
|
84
88
|
* attribute being read off it.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-plan.type.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan.type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-plan.type.js","sourceRoot":"","sources":["../../src/terraform/sim-tf-plan.type.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a Terraform reference string is read, before anything is looked up.
|
|
3
|
+
*
|
|
4
|
+
* A reference is text the configuration wrote, and two things about that text
|
|
5
|
+
* have to be settled before a resource can be found behind it. Which of the
|
|
6
|
+
* forms Terraform lists is the one to follow, and what the reference means
|
|
7
|
+
* from outside the module that wrote it.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* References ordered longest first.
|
|
11
|
+
*
|
|
12
|
+
* Terraform lists the attribute form and the bare resource form of one
|
|
13
|
+
* reference. The attribute form is longer, and it is the one that resolves to
|
|
14
|
+
* the value being read rather than to the resource as a whole.
|
|
15
|
+
*/
|
|
16
|
+
export declare function longestFirst(references: readonly string[]): readonly string[];
|
|
17
|
+
/**
|
|
18
|
+
* An address split on the dots between its segments.
|
|
19
|
+
*
|
|
20
|
+
* A `count` or `for_each` key can hold anything, including a dot, so the dots
|
|
21
|
+
* inside a bracketed key are not separators. `module.hosts["a.example.com"]`
|
|
22
|
+
* is two segments rather than four.
|
|
23
|
+
*/
|
|
24
|
+
export declare function addressSegments(address: string): readonly string[];
|
|
25
|
+
/**
|
|
26
|
+
* The module instance path a module output was read through.
|
|
27
|
+
*
|
|
28
|
+
* `module.workers["blue"].module.queue.queue_arn` is the output `queue_arn` of
|
|
29
|
+
* the call `queue` inside the instance `workers["blue"]`. The output's own
|
|
30
|
+
* references are relative to that path, keys and all, where the index the
|
|
31
|
+
* output was found in is keyed by call name alone.
|
|
32
|
+
*/
|
|
33
|
+
export declare function moduleOutputPath(qualified: string): readonly string[];
|
|
34
|
+
/**
|
|
35
|
+
* A reference with every `count` and `for_each` key taken out of it.
|
|
36
|
+
*
|
|
37
|
+
* A module declares its outputs once however many instances of the call there
|
|
38
|
+
* are, so the output index is keyed by call path. A reference made from inside
|
|
39
|
+
* one instance carries that instance's key, and this is what it is looked up
|
|
40
|
+
* by.
|
|
41
|
+
*/
|
|
42
|
+
export declare function withoutInstanceKeys(reference: string): string;
|
|
43
|
+
/**
|
|
44
|
+
* A module-relative reference turned into a plan-wide address.
|
|
45
|
+
*
|
|
46
|
+
* References inside a module name their own module's resources without the
|
|
47
|
+
* module prefix that `planned_values` puts on them. A reference to another
|
|
48
|
+
* module's output is qualified the same way, because the output index is keyed
|
|
49
|
+
* by the full call path and a nested call would otherwise miss it.
|
|
50
|
+
*/
|
|
51
|
+
export declare function qualifiedReference(reference: string, modulePath: readonly string[]): string;
|
|
52
|
+
//# sourceMappingURL=sim-tf-reference-address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-tf-reference-address.d.ts","sourceRoot":"","sources":["../../src/terraform/sim-tf-reference-address.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAE7E;AAoBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAsBlE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAIrE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,MAAM,CASR"}
|