terraconstructs 0.0.8
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/.envrc +5 -0
- package/.jsii +79780 -0
- package/.mise.toml +8 -0
- package/.nvmrc +1 -0
- package/.terraform-version +1 -0
- package/.terraform.d/plugin-cache/.gitignore +5 -0
- package/LICENSE +674 -0
- package/NOTICE.txt +12 -0
- package/README.md +42 -0
- package/bun.lockb +0 -0
- package/go.mod +158 -0
- package/go.sum +1206 -0
- package/lib/aws/arn.d.ts +187 -0
- package/lib/aws/arn.js +383 -0
- package/lib/aws/aws-construct.d.ts +76 -0
- package/lib/aws/aws-construct.js +38 -0
- package/lib/aws/aws-stack.d.ts +201 -0
- package/lib/aws/aws-stack.js +303 -0
- package/lib/aws/cloudwatch/actions/ec2.d.ts +35 -0
- package/lib/aws/cloudwatch/actions/ec2.js +48 -0
- package/lib/aws/cloudwatch/actions/index.d.ts +2 -0
- package/lib/aws/cloudwatch/actions/index.js +24 -0
- package/lib/aws/cloudwatch/actions/lambda.d.ts +16 -0
- package/lib/aws/cloudwatch/actions/lambda.js +48 -0
- package/lib/aws/cloudwatch/alarm-action.d.ts +23 -0
- package/lib/aws/cloudwatch/alarm-action.js +4 -0
- package/lib/aws/cloudwatch/alarm-base.d.ts +84 -0
- package/lib/aws/cloudwatch/alarm-base.js +64 -0
- package/lib/aws/cloudwatch/alarm-rule.d.ts +61 -0
- package/lib/aws/cloudwatch/alarm-rule.js +116 -0
- package/lib/aws/cloudwatch/alarm-status-widget.d.ts +77 -0
- package/lib/aws/cloudwatch/alarm-status-widget.js +62 -0
- package/lib/aws/cloudwatch/alarm.d.ts +158 -0
- package/lib/aws/cloudwatch/alarm.js +410 -0
- package/lib/aws/cloudwatch/composite-alarm.d.ts +88 -0
- package/lib/aws/cloudwatch/composite-alarm.js +98 -0
- package/lib/aws/cloudwatch/dashboard.d.ts +137 -0
- package/lib/aws/cloudwatch/dashboard.js +141 -0
- package/lib/aws/cloudwatch/data-protection-policy.d.ts +184 -0
- package/lib/aws/cloudwatch/data-protection-policy.js +246 -0
- package/lib/aws/cloudwatch/graph.d.ts +792 -0
- package/lib/aws/cloudwatch/graph.js +537 -0
- package/lib/aws/cloudwatch/index.d.ts +26 -0
- package/lib/aws/cloudwatch/index.js +49 -0
- package/lib/aws/cloudwatch/layout.d.ts +89 -0
- package/lib/aws/cloudwatch/layout.js +147 -0
- package/lib/aws/cloudwatch/log-destinations/index.d.ts +2 -0
- package/lib/aws/cloudwatch/log-destinations/index.js +20 -0
- package/lib/aws/cloudwatch/log-destinations/kinesis.d.ts +29 -0
- package/lib/aws/cloudwatch/log-destinations/kinesis.js +52 -0
- package/lib/aws/cloudwatch/log-destinations/lambda.d.ts +22 -0
- package/lib/aws/cloudwatch/log-destinations/lambda.js +46 -0
- package/lib/aws/cloudwatch/log-group.d.ts +453 -0
- package/lib/aws/cloudwatch/log-group.js +350 -0
- package/lib/aws/cloudwatch/log-query.d.ts +91 -0
- package/lib/aws/cloudwatch/log-query.js +85 -0
- package/lib/aws/cloudwatch/log-stream.d.ts +57 -0
- package/lib/aws/cloudwatch/log-stream.js +57 -0
- package/lib/aws/cloudwatch/metric-filter.d.ts +30 -0
- package/lib/aws/cloudwatch/metric-filter.js +69 -0
- package/lib/aws/cloudwatch/metric-types.d.ts +407 -0
- package/lib/aws/cloudwatch/metric-types.js +151 -0
- package/lib/aws/cloudwatch/metric.d.ts +492 -0
- package/lib/aws/cloudwatch/metric.js +493 -0
- package/lib/aws/cloudwatch/pattern.d.ts +195 -0
- package/lib/aws/cloudwatch/pattern.js +412 -0
- package/lib/aws/cloudwatch/policy.d.ts +43 -0
- package/lib/aws/cloudwatch/policy.js +50 -0
- package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.d.ts +14 -0
- package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.js +37 -0
- package/lib/aws/cloudwatch/private/env-tokens.d.ts +8 -0
- package/lib/aws/cloudwatch/private/env-tokens.js +48 -0
- package/lib/aws/cloudwatch/private/metric-util.d.ts +60 -0
- package/lib/aws/cloudwatch/private/metric-util.js +132 -0
- package/lib/aws/cloudwatch/private/object.d.ts +1 -0
- package/lib/aws/cloudwatch/private/object.js +18 -0
- package/lib/aws/cloudwatch/private/rendering.d.ts +60 -0
- package/lib/aws/cloudwatch/private/rendering.js +181 -0
- package/lib/aws/cloudwatch/private/statistic.d.ts +51 -0
- package/lib/aws/cloudwatch/private/statistic.js +176 -0
- package/lib/aws/cloudwatch/query-definition.d.ts +150 -0
- package/lib/aws/cloudwatch/query-definition.js +114 -0
- package/lib/aws/cloudwatch/stats.d.ts +150 -0
- package/lib/aws/cloudwatch/stats.js +207 -0
- package/lib/aws/cloudwatch/subscription-filter.d.ts +75 -0
- package/lib/aws/cloudwatch/subscription-filter.js +51 -0
- package/lib/aws/cloudwatch/text.d.ts +52 -0
- package/lib/aws/cloudwatch/text.js +53 -0
- package/lib/aws/cloudwatch/variable.d.ts +156 -0
- package/lib/aws/cloudwatch/variable.js +156 -0
- package/lib/aws/cloudwatch/widget.d.ts +62 -0
- package/lib/aws/cloudwatch/widget.js +45 -0
- package/lib/aws/compute/activity.d.ts +81 -0
- package/lib/aws/compute/activity.js +132 -0
- package/lib/aws/compute/architecture.d.ts +33 -0
- package/lib/aws/compute/architecture.js +42 -0
- package/lib/aws/compute/chain.d.ts +52 -0
- package/lib/aws/compute/chain.js +68 -0
- package/lib/aws/compute/condition.d.ts +202 -0
- package/lib/aws/compute/condition.js +409 -0
- package/lib/aws/compute/event-invoke-config.d.ts +74 -0
- package/lib/aws/compute/event-invoke-config.js +63 -0
- package/lib/aws/compute/event-source-filter.d.ts +64 -0
- package/lib/aws/compute/event-source-filter.js +86 -0
- package/lib/aws/compute/event-source-mapping.d.ts +310 -0
- package/lib/aws/compute/event-source-mapping.js +267 -0
- package/lib/aws/compute/event-sources/index.d.ts +4 -0
- package/lib/aws/compute/event-sources/index.js +28 -0
- package/lib/aws/compute/event-sources/s3-onfailure-destination.d.ts +13 -0
- package/lib/aws/compute/event-sources/s3-onfailure-destination.js +26 -0
- package/lib/aws/compute/event-sources/s3.d.ts +24 -0
- package/lib/aws/compute/event-sources/s3.js +25 -0
- package/lib/aws/compute/event-sources/sqs-dlq.d.ts +13 -0
- package/lib/aws/compute/event-sources/sqs-dlq.js +26 -0
- package/lib/aws/compute/event-sources/sqs.d.ts +75 -0
- package/lib/aws/compute/event-sources/sqs.js +84 -0
- package/lib/aws/compute/fields.d.ts +367 -0
- package/lib/aws/compute/fields.js +546 -0
- package/lib/aws/compute/function-alias.d.ts +148 -0
- package/lib/aws/compute/function-alias.js +176 -0
- package/lib/aws/compute/function-base.d.ts +314 -0
- package/lib/aws/compute/function-base.js +421 -0
- package/lib/aws/compute/function-destination.d.ts +42 -0
- package/lib/aws/compute/function-destination.js +18 -0
- package/lib/aws/compute/function-destinations/event-bridge.d.ts +19 -0
- package/lib/aws/compute/function-destinations/event-bridge.js +46 -0
- package/lib/aws/compute/function-destinations/function.d.ts +34 -0
- package/lib/aws/compute/function-destinations/function.js +55 -0
- package/lib/aws/compute/function-destinations/index.d.ts +3 -0
- package/lib/aws/compute/function-destinations/index.js +22 -0
- package/lib/aws/compute/function-destinations/sqs.d.ts +14 -0
- package/lib/aws/compute/function-destinations/sqs.js +27 -0
- package/lib/aws/compute/function-nodejs.d.ts +55 -0
- package/lib/aws/compute/function-nodejs.js +70 -0
- package/lib/aws/compute/function-permission.d.ts +83 -0
- package/lib/aws/compute/function-permission.js +3 -0
- package/lib/aws/compute/function-url.d.ts +210 -0
- package/lib/aws/compute/function-url.js +148 -0
- package/lib/aws/compute/function-vpc-config.generated.d.ts +36 -0
- package/lib/aws/compute/function-vpc-config.generated.js +3 -0
- package/lib/aws/compute/function.d.ts +492 -0
- package/lib/aws/compute/function.js +692 -0
- package/lib/aws/compute/index.d.ts +42 -0
- package/lib/aws/compute/index.js +64 -0
- package/lib/aws/compute/private/intrinstics.d.ts +86 -0
- package/lib/aws/compute/private/intrinstics.js +220 -0
- package/lib/aws/compute/private/json-path.d.ts +57 -0
- package/lib/aws/compute/private/json-path.js +351 -0
- package/lib/aws/compute/private/util.d.ts +1 -0
- package/lib/aws/compute/private/util.js +38 -0
- package/lib/aws/compute/state-graph.d.ts +100 -0
- package/lib/aws/compute/state-graph.js +177 -0
- package/lib/aws/compute/state-machine-fragment.d.ts +61 -0
- package/lib/aws/compute/state-machine-fragment.js +56 -0
- package/lib/aws/compute/state-machine.d.ts +323 -0
- package/lib/aws/compute/state-machine.js +392 -0
- package/lib/aws/compute/states/choice.d.ts +94 -0
- package/lib/aws/compute/states/choice.js +81 -0
- package/lib/aws/compute/states/custom-state.d.ts +55 -0
- package/lib/aws/compute/states/custom-state.js +114 -0
- package/lib/aws/compute/states/distributed-map/item-batcher.d.ts +64 -0
- package/lib/aws/compute/states/distributed-map/item-batcher.js +58 -0
- package/lib/aws/compute/states/distributed-map/item-reader.d.ts +256 -0
- package/lib/aws/compute/states/distributed-map/item-reader.js +253 -0
- package/lib/aws/compute/states/distributed-map/result-writer.d.ts +41 -0
- package/lib/aws/compute/states/distributed-map/result-writer.js +66 -0
- package/lib/aws/compute/states/distributed-map.d.ts +153 -0
- package/lib/aws/compute/states/distributed-map.js +207 -0
- package/lib/aws/compute/states/fail.d.ts +74 -0
- package/lib/aws/compute/states/fail.js +83 -0
- package/lib/aws/compute/states/map-base.d.ts +145 -0
- package/lib/aws/compute/states/map-base.js +109 -0
- package/lib/aws/compute/states/map.d.ts +76 -0
- package/lib/aws/compute/states/map.js +110 -0
- package/lib/aws/compute/states/parallel.d.ts +113 -0
- package/lib/aws/compute/states/parallel.js +100 -0
- package/lib/aws/compute/states/pass.d.ts +122 -0
- package/lib/aws/compute/states/pass.js +99 -0
- package/lib/aws/compute/states/private/state-type.d.ts +13 -0
- package/lib/aws/compute/states/private/state-type.js +19 -0
- package/lib/aws/compute/states/state.d.ts +276 -0
- package/lib/aws/compute/states/state.js +482 -0
- package/lib/aws/compute/states/succeed.d.ts +51 -0
- package/lib/aws/compute/states/succeed.js +32 -0
- package/lib/aws/compute/states/task-base.d.ts +225 -0
- package/lib/aws/compute/states/task-base.js +160 -0
- package/lib/aws/compute/states/task.d.ts +127 -0
- package/lib/aws/compute/states/task.js +92 -0
- package/lib/aws/compute/states/wait.d.ts +78 -0
- package/lib/aws/compute/states/wait.js +90 -0
- package/lib/aws/compute/step-functions-task.d.ts +78 -0
- package/lib/aws/compute/step-functions-task.js +27 -0
- package/lib/aws/compute/task-credentials.d.ts +45 -0
- package/lib/aws/compute/task-credentials.js +52 -0
- package/lib/aws/compute/task-input.d.ts +86 -0
- package/lib/aws/compute/task-input.js +107 -0
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.d.ts +73 -0
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +69 -0
- package/lib/aws/compute/tasks/eventbridge/put-events.d.ts +74 -0
- package/lib/aws/compute/tasks/eventbridge/put-events.js +94 -0
- package/lib/aws/compute/tasks/http/invoke.d.ts +104 -0
- package/lib/aws/compute/tasks/http/invoke.js +117 -0
- package/lib/aws/compute/tasks/index.d.ts +7 -0
- package/lib/aws/compute/tasks/index.js +42 -0
- package/lib/aws/compute/tasks/lambda/invoke.d.ts +106 -0
- package/lib/aws/compute/tasks/lambda/invoke.js +125 -0
- package/lib/aws/compute/tasks/private/task-utils.d.ts +8 -0
- package/lib/aws/compute/tasks/private/task-utils.js +36 -0
- package/lib/aws/compute/tasks/resource-arn-suffix.d.ts +3 -0
- package/lib/aws/compute/tasks/resource-arn-suffix.js +25 -0
- package/lib/aws/compute/tasks/sqs/send-message.d.ts +62 -0
- package/lib/aws/compute/tasks/sqs/send-message.js +70 -0
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.d.ts +36 -0
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +45 -0
- package/lib/aws/compute/tasks/stepfunctions/start-execution.d.ts +63 -0
- package/lib/aws/compute/tasks/stepfunctions/start-execution.js +123 -0
- package/lib/aws/compute/types.d.ts +214 -0
- package/lib/aws/compute/types.js +103 -0
- package/lib/aws/compute/util.d.ts +12 -0
- package/lib/aws/compute/util.js +29 -0
- package/lib/aws/edge/certificate.d.ts +144 -0
- package/lib/aws/edge/certificate.js +191 -0
- package/lib/aws/edge/distribution.d.ts +505 -0
- package/lib/aws/edge/distribution.js +444 -0
- package/lib/aws/edge/dns-alias-record-targets.d.ts +29 -0
- package/lib/aws/edge/dns-alias-record-targets.js +46 -0
- package/lib/aws/edge/dns-record.d.ts +536 -0
- package/lib/aws/edge/dns-record.js +532 -0
- package/lib/aws/edge/dns-zone.d.ts +169 -0
- package/lib/aws/edge/dns-zone.js +149 -0
- package/lib/aws/edge/function.d.ts +185 -0
- package/lib/aws/edge/function.js +141 -0
- package/lib/aws/edge/index.d.ts +8 -0
- package/lib/aws/edge/index.js +25 -0
- package/lib/aws/edge/key-value-store.d.ts +162 -0
- package/lib/aws/edge/key-value-store.js +163 -0
- package/lib/aws/edge/origin.d.ts +160 -0
- package/lib/aws/edge/origin.js +245 -0
- package/lib/aws/encryption/alias.d.ts +137 -0
- package/lib/aws/encryption/alias.js +216 -0
- package/lib/aws/encryption/index.d.ts +4 -0
- package/lib/aws/encryption/index.js +21 -0
- package/lib/aws/encryption/key-lookup.d.ts +11 -0
- package/lib/aws/encryption/key-lookup.js +4 -0
- package/lib/aws/encryption/key.d.ts +461 -0
- package/lib/aws/encryption/key.js +586 -0
- package/lib/aws/encryption/private/perms.d.ts +5 -0
- package/lib/aws/encryption/private/perms.js +30 -0
- package/lib/aws/encryption/via-service-principal.d.ts +11 -0
- package/lib/aws/encryption/via-service-principal.js +39 -0
- package/lib/aws/iam/grant.d.ts +221 -0
- package/lib/aws/iam/grant.js +239 -0
- package/lib/aws/iam/identity-base.d.ts +20 -0
- package/lib/aws/iam/identity-base.js +3 -0
- package/lib/aws/iam/index.d.ts +16 -0
- package/lib/aws/iam/index.js +34 -0
- package/lib/aws/iam/managed-policy.d.ts +227 -0
- package/lib/aws/iam/managed-policy.js +237 -0
- package/lib/aws/iam/oidc-provider.d.ts +120 -0
- package/lib/aws/iam/oidc-provider.js +82 -0
- package/lib/aws/iam/policy-document-config.generated.d.ts +78 -0
- package/lib/aws/iam/policy-document-config.generated.js +3 -0
- package/lib/aws/iam/policy-document.d.ts +150 -0
- package/lib/aws/iam/policy-document.js +172 -0
- package/lib/aws/iam/policy-statement-props.generated.d.ts +55 -0
- package/lib/aws/iam/policy-statement-props.generated.js +3 -0
- package/lib/aws/iam/policy-statement.d.ts +451 -0
- package/lib/aws/iam/policy-statement.js +947 -0
- package/lib/aws/iam/policy.d.ts +122 -0
- package/lib/aws/iam/policy.js +192 -0
- package/lib/aws/iam/principals.d.ts +668 -0
- package/lib/aws/iam/principals.js +1032 -0
- package/lib/aws/iam/private/adapter.d.ts +21 -0
- package/lib/aws/iam/private/adapter.js +51 -0
- package/lib/aws/iam/private/assume-role-policy.d.ts +8 -0
- package/lib/aws/iam/private/assume-role-policy.js +27 -0
- package/lib/aws/iam/private/comparable-principal.d.ts +6 -0
- package/lib/aws/iam/private/comparable-principal.js +20 -0
- package/lib/aws/iam/private/immutable-role.d.ts +43 -0
- package/lib/aws/iam/private/immutable-role.js +76 -0
- package/lib/aws/iam/private/imported-role.d.ts +49 -0
- package/lib/aws/iam/private/imported-role.js +103 -0
- package/lib/aws/iam/private/merge-statements.d.ts +44 -0
- package/lib/aws/iam/private/merge-statements.js +214 -0
- package/lib/aws/iam/private/postprocess-policy-document.d.ts +15 -0
- package/lib/aws/iam/private/postprocess-policy-document.js +102 -0
- package/lib/aws/iam/private/util.d.ts +37 -0
- package/lib/aws/iam/private/util.js +87 -0
- package/lib/aws/iam/role.d.ts +425 -0
- package/lib/aws/iam/role.js +407 -0
- package/lib/aws/iam/saml-provider.d.ts +79 -0
- package/lib/aws/iam/saml-provider.js +79 -0
- package/lib/aws/iam/unknown-principal.d.ts +32 -0
- package/lib/aws/iam/unknown-principal.js +45 -0
- package/lib/aws/iam/utils.d.ts +12 -0
- package/lib/aws/iam/utils.js +41 -0
- package/lib/aws/index.d.ts +13 -0
- package/lib/aws/index.js +34 -0
- package/lib/aws/log-retention.d.ts +97 -0
- package/lib/aws/log-retention.js +103 -0
- package/lib/aws/network/index.d.ts +4 -0
- package/lib/aws/network/index.js +21 -0
- package/lib/aws/network/network.d.ts +77 -0
- package/lib/aws/network/network.js +3 -0
- package/lib/aws/network/simple-ipv4-vpc.d.ts +84 -0
- package/lib/aws/network/simple-ipv4-vpc.js +236 -0
- package/lib/aws/network/subnet-group.d.ts +42 -0
- package/lib/aws/network/subnet-group.js +72 -0
- package/lib/aws/network/subnet.d.ts +95 -0
- package/lib/aws/network/subnet.js +123 -0
- package/lib/aws/notify/archive.d.ts +77 -0
- package/lib/aws/notify/archive.js +62 -0
- package/lib/aws/notify/connection.d.ts +276 -0
- package/lib/aws/notify/connection.js +261 -0
- package/lib/aws/notify/event-bus.d.ts +298 -0
- package/lib/aws/notify/event-bus.js +326 -0
- package/lib/aws/notify/event-pattern.d.ts +220 -0
- package/lib/aws/notify/event-pattern.js +197 -0
- package/lib/aws/notify/index.d.ts +15 -0
- package/lib/aws/notify/index.js +35 -0
- package/lib/aws/notify/input.d.ts +126 -0
- package/lib/aws/notify/input.js +282 -0
- package/lib/aws/notify/kinesis-canned-metrics.generated.d.ts +68 -0
- package/lib/aws/notify/kinesis-canned-metrics.generated.js +103 -0
- package/lib/aws/notify/kinesis-fixed-canned-metrics.d.ts +195 -0
- package/lib/aws/notify/kinesis-fixed-canned-metrics.js +155 -0
- package/lib/aws/notify/kinesis-stream.d.ts +705 -0
- package/lib/aws/notify/kinesis-stream.js +541 -0
- package/lib/aws/notify/on-event-options.d.ts +54 -0
- package/lib/aws/notify/on-event-options.js +3 -0
- package/lib/aws/notify/queue-config.generated.d.ts +85 -0
- package/lib/aws/notify/queue-config.generated.js +3 -0
- package/lib/aws/notify/queue-policy.d.ts +35 -0
- package/lib/aws/notify/queue-policy.js +39 -0
- package/lib/aws/notify/queue.d.ts +355 -0
- package/lib/aws/notify/queue.js +305 -0
- package/lib/aws/notify/resource-policy.d.ts +41 -0
- package/lib/aws/notify/resource-policy.js +43 -0
- package/lib/aws/notify/rule.d.ts +153 -0
- package/lib/aws/notify/rule.js +227 -0
- package/lib/aws/notify/schedule.d.ts +83 -0
- package/lib/aws/notify/schedule.js +116 -0
- package/lib/aws/notify/target.d.ts +102 -0
- package/lib/aws/notify/target.js +3 -0
- package/lib/aws/notify/targets/event-bus.d.ts +39 -0
- package/lib/aws/notify/targets/event-bus.js +40 -0
- package/lib/aws/notify/targets/function.d.ts +31 -0
- package/lib/aws/notify/targets/function.js +36 -0
- package/lib/aws/notify/targets/index.d.ts +6 -0
- package/lib/aws/notify/targets/index.js +37 -0
- package/lib/aws/notify/targets/log-group.d.ts +89 -0
- package/lib/aws/notify/targets/log-group.js +110 -0
- package/lib/aws/notify/targets/sqs.d.ts +45 -0
- package/lib/aws/notify/targets/sqs.js +73 -0
- package/lib/aws/notify/targets/state-machine.d.ts +36 -0
- package/lib/aws/notify/targets/state-machine.js +39 -0
- package/lib/aws/notify/targets/util.d.ts +71 -0
- package/lib/aws/notify/targets/util.js +130 -0
- package/lib/aws/notify/util.d.ts +13 -0
- package/lib/aws/notify/util.js +69 -0
- package/lib/aws/provider-config.generated.d.ts +220 -0
- package/lib/aws/provider-config.generated.js +3 -0
- package/lib/aws/storage/bucket-destination.d.ts +41 -0
- package/lib/aws/storage/bucket-destination.js +13 -0
- package/lib/aws/storage/bucket-notifications.d.ts +58 -0
- package/lib/aws/storage/bucket-notifications.js +169 -0
- package/lib/aws/storage/bucket-perms.d.ts +9 -0
- package/lib/aws/storage/bucket-perms.js +33 -0
- package/lib/aws/storage/bucket-policy.d.ts +51 -0
- package/lib/aws/storage/bucket-policy.js +53 -0
- package/lib/aws/storage/bucket-source.d.ts +41 -0
- package/lib/aws/storage/bucket-source.js +79 -0
- package/lib/aws/storage/bucket.d.ts +941 -0
- package/lib/aws/storage/bucket.js +869 -0
- package/lib/aws/storage/cors-config.generated.d.ts +57 -0
- package/lib/aws/storage/cors-config.generated.js +3 -0
- package/lib/aws/storage/cors-rule-config.generated.d.ts +38 -0
- package/lib/aws/storage/cors-rule-config.generated.js +3 -0
- package/lib/aws/storage/index.d.ts +12 -0
- package/lib/aws/storage/index.js +31 -0
- package/lib/aws/storage/lifecycle-config.generated.d.ts +55 -0
- package/lib/aws/storage/lifecycle-config.generated.js +3 -0
- package/lib/aws/storage/notification-targets/function.d.ts +11 -0
- package/lib/aws/storage/notification-targets/function.js +48 -0
- package/lib/aws/storage/notification-targets/index.d.ts +2 -0
- package/lib/aws/storage/notification-targets/index.js +21 -0
- package/lib/aws/storage/notification-targets/queue.d.ts +15 -0
- package/lib/aws/storage/notification-targets/queue.js +58 -0
- package/lib/aws/storage/origin-access-identity.d.ts +91 -0
- package/lib/aws/storage/origin-access-identity.js +76 -0
- package/lib/aws/storage/util.d.ts +40 -0
- package/lib/aws/storage/util.js +85 -0
- package/lib/aws/storage/website-config.generated.d.ts +73 -0
- package/lib/aws/storage/website-config.generated.js +3 -0
- package/lib/aws/util.d.ts +4 -0
- package/lib/aws/util.js +25 -0
- package/lib/construct-base.d.ts +69 -0
- package/lib/construct-base.js +89 -0
- package/lib/duration.d.ts +160 -0
- package/lib/duration.js +327 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.js +24 -0
- package/lib/private/index.d.ts +2 -0
- package/lib/private/index.js +19 -0
- package/lib/private/terraform-dependables-aspect.d.ts +20 -0
- package/lib/private/terraform-dependables-aspect.js +95 -0
- package/lib/private/unique-resource-name.d.ts +9 -0
- package/lib/private/unique-resource-name.js +145 -0
- package/lib/size.d.ts +146 -0
- package/lib/size.js +220 -0
- package/lib/stack-base.d.ts +188 -0
- package/lib/stack-base.js +183 -0
- package/lib/token.d.ts +32 -0
- package/lib/token.js +54 -0
- package/node_modules/camel-case/LICENSE +21 -0
- package/node_modules/camel-case/README.md +47 -0
- package/node_modules/camel-case/dist/index.d.ts +5 -0
- package/node_modules/camel-case/dist/index.js +23 -0
- package/node_modules/camel-case/dist/index.js.map +1 -0
- package/node_modules/camel-case/dist/index.spec.d.ts +1 -0
- package/node_modules/camel-case/dist/index.spec.js +26 -0
- package/node_modules/camel-case/dist/index.spec.js.map +1 -0
- package/node_modules/camel-case/dist.es2015/index.d.ts +5 -0
- package/node_modules/camel-case/dist.es2015/index.js +17 -0
- package/node_modules/camel-case/dist.es2015/index.js.map +1 -0
- package/node_modules/camel-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/camel-case/dist.es2015/index.spec.js +24 -0
- package/node_modules/camel-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/camel-case/package.json +89 -0
- package/node_modules/capital-case/LICENSE +21 -0
- package/node_modules/capital-case/README.md +37 -0
- package/node_modules/capital-case/dist/index.d.ts +4 -0
- package/node_modules/capital-case/dist/index.js +16 -0
- package/node_modules/capital-case/dist/index.js.map +1 -0
- package/node_modules/capital-case/dist/index.spec.d.ts +1 -0
- package/node_modules/capital-case/dist/index.spec.js +24 -0
- package/node_modules/capital-case/dist/index.spec.js.map +1 -0
- package/node_modules/capital-case/dist.es2015/index.d.ts +4 -0
- package/node_modules/capital-case/dist.es2015/index.js +11 -0
- package/node_modules/capital-case/dist.es2015/index.js.map +1 -0
- package/node_modules/capital-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/capital-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/capital-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/capital-case/package.json +90 -0
- package/node_modules/change-case/LICENSE +21 -0
- package/node_modules/change-case/README.md +44 -0
- package/node_modules/change-case/dist/index.d.ts +11 -0
- package/node_modules/change-case/dist/index.js +15 -0
- package/node_modules/change-case/dist/index.js.map +1 -0
- package/node_modules/change-case/dist/index.spec.d.ts +1 -0
- package/node_modules/change-case/dist/index.spec.js +9 -0
- package/node_modules/change-case/dist/index.spec.js.map +1 -0
- package/node_modules/change-case/dist.es2015/index.d.ts +11 -0
- package/node_modules/change-case/dist.es2015/index.js +12 -0
- package/node_modules/change-case/dist.es2015/index.js.map +1 -0
- package/node_modules/change-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/change-case/dist.es2015/index.spec.js +7 -0
- package/node_modules/change-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/change-case/package.json +101 -0
- package/node_modules/constant-case/LICENSE +21 -0
- package/node_modules/constant-case/README.md +37 -0
- package/node_modules/constant-case/dist/index.d.ts +3 -0
- package/node_modules/constant-case/dist/index.js +12 -0
- package/node_modules/constant-case/dist/index.js.map +1 -0
- package/node_modules/constant-case/dist/index.spec.d.ts +1 -0
- package/node_modules/constant-case/dist/index.spec.js +26 -0
- package/node_modules/constant-case/dist/index.spec.js.map +1 -0
- package/node_modules/constant-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/constant-case/dist.es2015/index.js +8 -0
- package/node_modules/constant-case/dist.es2015/index.js.map +1 -0
- package/node_modules/constant-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/constant-case/dist.es2015/index.spec.js +24 -0
- package/node_modules/constant-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/constant-case/package.json +90 -0
- package/node_modules/dot-case/LICENSE +21 -0
- package/node_modules/dot-case/README.md +37 -0
- package/node_modules/dot-case/dist/index.d.ts +3 -0
- package/node_modules/dot-case/dist/index.js +11 -0
- package/node_modules/dot-case/dist/index.js.map +1 -0
- package/node_modules/dot-case/dist/index.spec.d.ts +1 -0
- package/node_modules/dot-case/dist/index.spec.js +26 -0
- package/node_modules/dot-case/dist/index.spec.js.map +1 -0
- package/node_modules/dot-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/dot-case/dist.es2015/index.js +7 -0
- package/node_modules/dot-case/dist.es2015/index.js.map +1 -0
- package/node_modules/dot-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/dot-case/dist.es2015/index.spec.js +24 -0
- package/node_modules/dot-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/dot-case/package.json +89 -0
- package/node_modules/esbuild-wasm/LICENSE.md +21 -0
- package/node_modules/esbuild-wasm/README.md +3 -0
- package/node_modules/esbuild-wasm/bin/esbuild +91 -0
- package/node_modules/esbuild-wasm/esbuild.wasm +0 -0
- package/node_modules/esbuild-wasm/esm/browser.d.ts +705 -0
- package/node_modules/esbuild-wasm/esm/browser.js +2370 -0
- package/node_modules/esbuild-wasm/esm/browser.min.js +20 -0
- package/node_modules/esbuild-wasm/lib/browser.d.ts +705 -0
- package/node_modules/esbuild-wasm/lib/browser.js +2415 -0
- package/node_modules/esbuild-wasm/lib/browser.min.js +22 -0
- package/node_modules/esbuild-wasm/lib/main.d.ts +705 -0
- package/node_modules/esbuild-wasm/lib/main.js +2051 -0
- package/node_modules/esbuild-wasm/package.json +19 -0
- package/node_modules/esbuild-wasm/wasm_exec.js +561 -0
- package/node_modules/esbuild-wasm/wasm_exec_node.js +39 -0
- package/node_modules/header-case/LICENSE +21 -0
- package/node_modules/header-case/README.md +37 -0
- package/node_modules/header-case/dist/index.d.ts +3 -0
- package/node_modules/header-case/dist/index.js +11 -0
- package/node_modules/header-case/dist/index.js.map +1 -0
- package/node_modules/header-case/dist/index.spec.d.ts +1 -0
- package/node_modules/header-case/dist/index.spec.js +24 -0
- package/node_modules/header-case/dist/index.spec.js.map +1 -0
- package/node_modules/header-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/header-case/dist.es2015/index.js +7 -0
- package/node_modules/header-case/dist.es2015/index.js.map +1 -0
- package/node_modules/header-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/header-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/header-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/header-case/package.json +89 -0
- package/node_modules/lower-case/LICENSE +21 -0
- package/node_modules/lower-case/README.md +35 -0
- package/node_modules/lower-case/dist/index.d.ts +8 -0
- package/node_modules/lower-case/dist/index.js +53 -0
- package/node_modules/lower-case/dist/index.js.map +1 -0
- package/node_modules/lower-case/dist/index.spec.d.ts +1 -0
- package/node_modules/lower-case/dist/index.spec.js +36 -0
- package/node_modules/lower-case/dist/index.spec.js.map +1 -0
- package/node_modules/lower-case/dist.es2015/index.d.ts +8 -0
- package/node_modules/lower-case/dist.es2015/index.js +48 -0
- package/node_modules/lower-case/dist.es2015/index.js.map +1 -0
- package/node_modules/lower-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/lower-case/dist.es2015/index.spec.js +34 -0
- package/node_modules/lower-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/lower-case/package.json +87 -0
- package/node_modules/mime-db/HISTORY.md +507 -0
- package/node_modules/mime-db/LICENSE +23 -0
- package/node_modules/mime-db/README.md +100 -0
- package/node_modules/mime-db/db.json +8519 -0
- package/node_modules/mime-db/index.js +12 -0
- package/node_modules/mime-db/package.json +60 -0
- package/node_modules/mime-types/HISTORY.md +397 -0
- package/node_modules/mime-types/LICENSE +23 -0
- package/node_modules/mime-types/README.md +113 -0
- package/node_modules/mime-types/index.js +188 -0
- package/node_modules/mime-types/package.json +44 -0
- package/node_modules/no-case/LICENSE +21 -0
- package/node_modules/no-case/README.md +37 -0
- package/node_modules/no-case/dist/index.d.ts +10 -0
- package/node_modules/no-case/dist/index.js +35 -0
- package/node_modules/no-case/dist/index.js.map +1 -0
- package/node_modules/no-case/dist/index.spec.d.ts +1 -0
- package/node_modules/no-case/dist/index.spec.js +59 -0
- package/node_modules/no-case/dist/index.spec.js.map +1 -0
- package/node_modules/no-case/dist.es2015/index.d.ts +10 -0
- package/node_modules/no-case/dist.es2015/index.js +31 -0
- package/node_modules/no-case/dist.es2015/index.js.map +1 -0
- package/node_modules/no-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/no-case/dist.es2015/index.spec.js +57 -0
- package/node_modules/no-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/no-case/package.json +85 -0
- package/node_modules/param-case/LICENSE +21 -0
- package/node_modules/param-case/README.md +37 -0
- package/node_modules/param-case/dist/index.d.ts +3 -0
- package/node_modules/param-case/dist/index.js +11 -0
- package/node_modules/param-case/dist/index.js.map +1 -0
- package/node_modules/param-case/dist/index.spec.d.ts +1 -0
- package/node_modules/param-case/dist/index.spec.js +24 -0
- package/node_modules/param-case/dist/index.spec.js.map +1 -0
- package/node_modules/param-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/param-case/dist.es2015/index.js +7 -0
- package/node_modules/param-case/dist.es2015/index.js.map +1 -0
- package/node_modules/param-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/param-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/param-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/param-case/package.json +91 -0
- package/node_modules/pascal-case/LICENSE +21 -0
- package/node_modules/pascal-case/README.md +47 -0
- package/node_modules/pascal-case/dist/index.d.ts +5 -0
- package/node_modules/pascal-case/dist/index.js +24 -0
- package/node_modules/pascal-case/dist/index.js.map +1 -0
- package/node_modules/pascal-case/dist/index.spec.d.ts +1 -0
- package/node_modules/pascal-case/dist/index.spec.js +25 -0
- package/node_modules/pascal-case/dist/index.spec.js.map +1 -0
- package/node_modules/pascal-case/dist.es2015/index.d.ts +5 -0
- package/node_modules/pascal-case/dist.es2015/index.js +18 -0
- package/node_modules/pascal-case/dist.es2015/index.js.map +1 -0
- package/node_modules/pascal-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/pascal-case/dist.es2015/index.spec.js +23 -0
- package/node_modules/pascal-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/pascal-case/package.json +90 -0
- package/node_modules/path-case/LICENSE +21 -0
- package/node_modules/path-case/README.md +37 -0
- package/node_modules/path-case/dist/index.d.ts +3 -0
- package/node_modules/path-case/dist/index.js +11 -0
- package/node_modules/path-case/dist/index.js.map +1 -0
- package/node_modules/path-case/dist/index.spec.d.ts +1 -0
- package/node_modules/path-case/dist/index.spec.js +24 -0
- package/node_modules/path-case/dist/index.spec.js.map +1 -0
- package/node_modules/path-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/path-case/dist.es2015/index.js +7 -0
- package/node_modules/path-case/dist.es2015/index.js.map +1 -0
- package/node_modules/path-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/path-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/path-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/path-case/package.json +88 -0
- package/node_modules/sentence-case/LICENSE +21 -0
- package/node_modules/sentence-case/README.md +37 -0
- package/node_modules/sentence-case/dist/index.d.ts +4 -0
- package/node_modules/sentence-case/dist/index.js +19 -0
- package/node_modules/sentence-case/dist/index.js.map +1 -0
- package/node_modules/sentence-case/dist/index.spec.d.ts +1 -0
- package/node_modules/sentence-case/dist/index.spec.js +24 -0
- package/node_modules/sentence-case/dist/index.spec.js.map +1 -0
- package/node_modules/sentence-case/dist.es2015/index.d.ts +4 -0
- package/node_modules/sentence-case/dist.es2015/index.js +14 -0
- package/node_modules/sentence-case/dist.es2015/index.js.map +1 -0
- package/node_modules/sentence-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/sentence-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/sentence-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/sentence-case/package.json +89 -0
- package/node_modules/snake-case/LICENSE +21 -0
- package/node_modules/snake-case/README.md +37 -0
- package/node_modules/snake-case/dist/index.d.ts +3 -0
- package/node_modules/snake-case/dist/index.js +11 -0
- package/node_modules/snake-case/dist/index.js.map +1 -0
- package/node_modules/snake-case/dist/index.spec.d.ts +1 -0
- package/node_modules/snake-case/dist/index.spec.js +25 -0
- package/node_modules/snake-case/dist/index.spec.js.map +1 -0
- package/node_modules/snake-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/snake-case/dist.es2015/index.js +7 -0
- package/node_modules/snake-case/dist.es2015/index.js.map +1 -0
- package/node_modules/snake-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/snake-case/dist.es2015/index.spec.js +23 -0
- package/node_modules/snake-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/snake-case/package.json +90 -0
- package/node_modules/tslib/CopyrightNotice.txt +15 -0
- package/node_modules/tslib/LICENSE.txt +12 -0
- package/node_modules/tslib/README.md +164 -0
- package/node_modules/tslib/SECURITY.md +41 -0
- package/node_modules/tslib/modules/index.d.ts +37 -0
- package/node_modules/tslib/modules/index.js +68 -0
- package/node_modules/tslib/modules/package.json +3 -0
- package/node_modules/tslib/package.json +47 -0
- package/node_modules/tslib/tslib.d.ts +453 -0
- package/node_modules/tslib/tslib.es6.html +1 -0
- package/node_modules/tslib/tslib.es6.js +374 -0
- package/node_modules/tslib/tslib.es6.mjs +373 -0
- package/node_modules/tslib/tslib.html +1 -0
- package/node_modules/tslib/tslib.js +424 -0
- package/node_modules/upper-case/README.md +34 -0
- package/node_modules/upper-case/dist/index.d.ts +8 -0
- package/node_modules/upper-case/dist/index.js +49 -0
- package/node_modules/upper-case/dist/index.js.map +1 -0
- package/node_modules/upper-case/dist/index.spec.d.ts +1 -0
- package/node_modules/upper-case/dist/index.spec.js +34 -0
- package/node_modules/upper-case/dist/index.spec.js.map +1 -0
- package/node_modules/upper-case/dist.es2015/index.d.ts +8 -0
- package/node_modules/upper-case/dist.es2015/index.js +44 -0
- package/node_modules/upper-case/dist.es2015/index.js.map +1 -0
- package/node_modules/upper-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/upper-case/dist.es2015/index.spec.js +32 -0
- package/node_modules/upper-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/upper-case/package.json +86 -0
- package/node_modules/upper-case-first/LICENSE +21 -0
- package/node_modules/upper-case-first/README.md +32 -0
- package/node_modules/upper-case-first/dist/index.d.ts +4 -0
- package/node_modules/upper-case-first/dist/index.js +11 -0
- package/node_modules/upper-case-first/dist/index.js.map +1 -0
- package/node_modules/upper-case-first/dist/index.spec.d.ts +1 -0
- package/node_modules/upper-case-first/dist/index.spec.js +20 -0
- package/node_modules/upper-case-first/dist/index.spec.js.map +1 -0
- package/node_modules/upper-case-first/dist.es2015/index.d.ts +4 -0
- package/node_modules/upper-case-first/dist.es2015/index.js +7 -0
- package/node_modules/upper-case-first/dist.es2015/index.js.map +1 -0
- package/node_modules/upper-case-first/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/upper-case-first/dist.es2015/index.spec.js +18 -0
- package/node_modules/upper-case-first/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/upper-case-first/package.json +87 -0
- package/package.json +152 -0
- package/setup.js +2 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { AwsStack } from "./aws-stack";
|
|
3
|
+
import { TerraConstructBase, TerraConstructProps, ITerraConstruct } from "../construct-base";
|
|
4
|
+
/**
|
|
5
|
+
* Represents the environment a given AwsConstruct lives in.
|
|
6
|
+
* Used as the return value for the `IResource.env` property.
|
|
7
|
+
*/
|
|
8
|
+
export interface AwsEnvironment {
|
|
9
|
+
/**
|
|
10
|
+
* The AWS partition that this resource belongs to.
|
|
11
|
+
*/
|
|
12
|
+
readonly partition: string;
|
|
13
|
+
/**
|
|
14
|
+
* The AWS account ID that this resource belongs to.
|
|
15
|
+
*/
|
|
16
|
+
readonly account: string;
|
|
17
|
+
/**
|
|
18
|
+
* The AWS region that this resource belongs to.
|
|
19
|
+
*/
|
|
20
|
+
readonly region: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Represents an AWS resource similar to the AWS CDK `Resource` class but backed by CDKTF.
|
|
24
|
+
*/
|
|
25
|
+
export interface IAwsConstruct extends ITerraConstruct {
|
|
26
|
+
/**
|
|
27
|
+
* The stack into which this resource is contructed by the TerraConstruct.
|
|
28
|
+
*/
|
|
29
|
+
readonly stack: AwsStack;
|
|
30
|
+
/**
|
|
31
|
+
* The environment this resource belongs to.
|
|
32
|
+
* For resources that are created and managed by the CDKTF
|
|
33
|
+
* (generally, those created by creating new class instances like Environment, EcsDeployment, etc.),
|
|
34
|
+
* this is always the same as the environment of the stack they belong to;
|
|
35
|
+
* however, for imported resources
|
|
36
|
+
* (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
|
|
37
|
+
* that might be different than the stack they were imported into.
|
|
38
|
+
*/
|
|
39
|
+
readonly env: AwsEnvironment;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Construction properties for `Resource`.
|
|
43
|
+
*/
|
|
44
|
+
export interface AwsConstructProps extends TerraConstructProps {
|
|
45
|
+
/**
|
|
46
|
+
* The AWS account ID this resource belongs to.
|
|
47
|
+
*
|
|
48
|
+
* @default - the resource is in the same account as the stack it belongs to
|
|
49
|
+
*/
|
|
50
|
+
readonly account?: string;
|
|
51
|
+
/**
|
|
52
|
+
* The AWS region this resource belongs to.
|
|
53
|
+
*
|
|
54
|
+
* @default - the resource is in the same region as the stack it belongs to
|
|
55
|
+
*/
|
|
56
|
+
readonly region?: string;
|
|
57
|
+
/**
|
|
58
|
+
* ARN to deduce region and account from
|
|
59
|
+
*
|
|
60
|
+
* The ARN is parsed and the account and region are taken from the ARN.
|
|
61
|
+
* This should be used for imported resources.
|
|
62
|
+
*
|
|
63
|
+
* Cannot be supplied together with either `account` or `region`.
|
|
64
|
+
*
|
|
65
|
+
* @default - take environment from `account`, `region` parameters, or use Stack environment.
|
|
66
|
+
*/
|
|
67
|
+
readonly environmentFromArn?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Represents an AWS resource similar to the AWS CDK `Resource` class but backed by CDKTF.
|
|
71
|
+
*/
|
|
72
|
+
export declare abstract class AwsConstructBase extends TerraConstructBase implements IAwsConstruct {
|
|
73
|
+
readonly stack: AwsStack;
|
|
74
|
+
readonly env: AwsEnvironment;
|
|
75
|
+
constructor(scope: Construct, id: string, props?: AwsConstructProps);
|
|
76
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.AwsConstructBase = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const arn_1 = require("./arn");
|
|
7
|
+
const aws_stack_1 = require("./aws-stack");
|
|
8
|
+
const construct_base_1 = require("../construct-base");
|
|
9
|
+
// ref: https://github.com/aws/aws-cdk/blob/v2.150.0/packages/aws-cdk-lib/core/lib/resource.ts#L15
|
|
10
|
+
const RESOURCE_SYMBOL = Symbol.for("terraconstructs/lib/aws.AwsConstruct");
|
|
11
|
+
// ref: https://github.com/aws/aws-cdk/blob/v2.150.0/packages/aws-cdk-lib/core/lib/resource.ts#L122
|
|
12
|
+
/**
|
|
13
|
+
* Represents an AWS resource similar to the AWS CDK `Resource` class but backed by CDKTF.
|
|
14
|
+
*/
|
|
15
|
+
class AwsConstructBase extends construct_base_1.TerraConstructBase {
|
|
16
|
+
constructor(scope, id, props = {}) {
|
|
17
|
+
super(scope, id, props);
|
|
18
|
+
if ((props.account !== undefined || props.region !== undefined) &&
|
|
19
|
+
props.environmentFromArn !== undefined) {
|
|
20
|
+
throw new Error(`Supply at most one of 'account'/'region' (${props.account}/${props.region}) and 'environmentFromArn' (${props.environmentFromArn})`);
|
|
21
|
+
}
|
|
22
|
+
Object.defineProperty(this, RESOURCE_SYMBOL, { value: true });
|
|
23
|
+
this.stack = aws_stack_1.AwsStack.ofAwsConstruct(this);
|
|
24
|
+
const parsedArn = props.environmentFromArn
|
|
25
|
+
? // Since we only want the region and account, NO_RESOURCE_NAME is good enough
|
|
26
|
+
this.stack.splitArn(props.environmentFromArn, arn_1.ArnFormat.NO_RESOURCE_NAME)
|
|
27
|
+
: undefined;
|
|
28
|
+
this.env = {
|
|
29
|
+
partition: parsedArn?.partition ?? this.stack.partition,
|
|
30
|
+
account: props.account ?? parsedArn?.account ?? this.stack.account,
|
|
31
|
+
region: props.region ?? parsedArn?.region ?? this.stack.region,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.AwsConstructBase = AwsConstructBase;
|
|
36
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
37
|
+
AwsConstructBase[_a] = { fqn: "terraconstructs.aws.AwsConstructBase", version: "0.0.8" };
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWNvbnN0cnVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3MvYXdzLWNvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLCtCQUFrQztBQUNsQywyQ0FBdUM7QUFDdkMsc0RBSTJCO0FBRTNCLGtHQUFrRztBQUNsRyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7QUFpRjNFLG1HQUFtRztBQUVuRzs7R0FFRztBQUNILE1BQXNCLGdCQUNwQixTQUFRLG1DQUFrQjtJQU0xQixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQTJCLEVBQUU7UUFDckUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFDRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDO1lBQzNELEtBQUssQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLEVBQ3RDLENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLDZDQUE2QyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxNQUFNLCtCQUErQixLQUFLLENBQUMsa0JBQWtCLEdBQUcsQ0FDckksQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsS0FBSyxHQUFHLG9CQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxrQkFBa0I7WUFDeEMsQ0FBQyxDQUFDLDZFQUE2RTtnQkFDN0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLEtBQUssQ0FBQyxrQkFBa0IsRUFDeEIsZUFBUyxDQUFDLGdCQUFnQixDQUMzQjtZQUNILENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDZCxJQUFJLENBQUMsR0FBRyxHQUFHO1lBQ1QsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO1lBQ3ZELE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLFNBQVMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO1lBQ2xFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxJQUFJLFNBQVMsRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO1NBQy9ELENBQUM7SUFDSixDQUFDOztBQW5DSCw0Q0FvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXJuRm9ybWF0IH0gZnJvbSBcIi4vYXJuXCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuL2F3cy1zdGFja1wiO1xuaW1wb3J0IHtcbiAgVGVycmFDb25zdHJ1Y3RCYXNlLFxuICBUZXJyYUNvbnN0cnVjdFByb3BzLFxuICBJVGVycmFDb25zdHJ1Y3QsXG59IGZyb20gXCIuLi9jb25zdHJ1Y3QtYmFzZVwiO1xuXG4vLyByZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE1MC4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2NvcmUvbGliL3Jlc291cmNlLnRzI0wxNVxuY29uc3QgUkVTT1VSQ0VfU1lNQk9MID0gU3ltYm9sLmZvcihcInRlcnJhY29uc3RydWN0cy9saWIvYXdzLkF3c0NvbnN0cnVjdFwiKTtcblxuLy8gcmVmOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNTAuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9jb3JlL2xpYi9yZXNvdXJjZS50cyNMMjFcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBlbnZpcm9ubWVudCBhIGdpdmVuIEF3c0NvbnN0cnVjdCBsaXZlcyBpbi5cbiAqIFVzZWQgYXMgdGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIGBJUmVzb3VyY2UuZW52YCBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3NFbnZpcm9ubWVudCB7XG4gIC8qKlxuICAgKiBUaGUgQVdTIHBhcnRpdGlvbiB0aGF0IHRoaXMgcmVzb3VyY2UgYmVsb25ncyB0by5cbiAgICovXG4gIHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIGFjY291bnQgSUQgdGhhdCB0aGlzIHJlc291cmNlIGJlbG9uZ3MgdG8uXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgcmVnaW9uIHRoYXQgdGhpcyByZXNvdXJjZSBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG59XG5cbi8vIHJlZjogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTUwLjAvcGFja2FnZXMvYXdzLWNkay1saWIvY29yZS9saWIvcmVzb3VyY2UudHMjTDQ0XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBBV1MgcmVzb3VyY2Ugc2ltaWxhciB0byB0aGUgQVdTIENESyBgUmVzb3VyY2VgIGNsYXNzIGJ1dCBiYWNrZWQgYnkgQ0RLVEYuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUF3c0NvbnN0cnVjdCBleHRlbmRzIElUZXJyYUNvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgaW50byB3aGljaCB0aGlzIHJlc291cmNlIGlzIGNvbnRydWN0ZWQgYnkgdGhlIFRlcnJhQ29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2s6IEF3c1N0YWNrO1xuXG4gIC8qKlxuICAgKiBUaGUgZW52aXJvbm1lbnQgdGhpcyByZXNvdXJjZSBiZWxvbmdzIHRvLlxuICAgKiBGb3IgcmVzb3VyY2VzIHRoYXQgYXJlIGNyZWF0ZWQgYW5kIG1hbmFnZWQgYnkgdGhlIENES1RGXG4gICAqIChnZW5lcmFsbHksIHRob3NlIGNyZWF0ZWQgYnkgY3JlYXRpbmcgbmV3IGNsYXNzIGluc3RhbmNlcyBsaWtlIEVudmlyb25tZW50LCBFY3NEZXBsb3ltZW50LCBldGMuKSxcbiAgICogdGhpcyBpcyBhbHdheXMgdGhlIHNhbWUgYXMgdGhlIGVudmlyb25tZW50IG9mIHRoZSBzdGFjayB0aGV5IGJlbG9uZyB0bztcbiAgICogaG93ZXZlciwgZm9yIGltcG9ydGVkIHJlc291cmNlc1xuICAgKiAodGhvc2Ugb2J0YWluZWQgZnJvbSBzdGF0aWMgbWV0aG9kcyBsaWtlIGZyb21Sb2xlQXJuLCBmcm9tQnVja2V0TmFtZSwgZXRjLiksXG4gICAqIHRoYXQgbWlnaHQgYmUgZGlmZmVyZW50IHRoYW4gdGhlIHN0YWNrIHRoZXkgd2VyZSBpbXBvcnRlZCBpbnRvLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52OiBBd3NFbnZpcm9ubWVudDtcbn1cblxuLy8gcmVmOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNTAuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9jb3JlL2xpYi9yZXNvdXJjZS50cyNMNzhcblxuLyoqXG4gKiBDb25zdHJ1Y3Rpb24gcHJvcGVydGllcyBmb3IgYFJlc291cmNlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3NDb25zdHJ1Y3RQcm9wcyBleHRlbmRzIFRlcnJhQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIEFXUyBhY2NvdW50IElEIHRoaXMgcmVzb3VyY2UgYmVsb25ncyB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgcmVzb3VyY2UgaXMgaW4gdGhlIHNhbWUgYWNjb3VudCBhcyB0aGUgc3RhY2sgaXQgYmVsb25ncyB0b1xuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFXUyByZWdpb24gdGhpcyByZXNvdXJjZSBiZWxvbmdzIHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSByZXNvdXJjZSBpcyBpbiB0aGUgc2FtZSByZWdpb24gYXMgdGhlIHN0YWNrIGl0IGJlbG9uZ3MgdG9cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQVJOIHRvIGRlZHVjZSByZWdpb24gYW5kIGFjY291bnQgZnJvbVxuICAgKlxuICAgKiBUaGUgQVJOIGlzIHBhcnNlZCBhbmQgdGhlIGFjY291bnQgYW5kIHJlZ2lvbiBhcmUgdGFrZW4gZnJvbSB0aGUgQVJOLlxuICAgKiBUaGlzIHNob3VsZCBiZSB1c2VkIGZvciBpbXBvcnRlZCByZXNvdXJjZXMuXG4gICAqXG4gICAqIENhbm5vdCBiZSBzdXBwbGllZCB0b2dldGhlciB3aXRoIGVpdGhlciBgYWNjb3VudGAgb3IgYHJlZ2lvbmAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGFrZSBlbnZpcm9ubWVudCBmcm9tIGBhY2NvdW50YCwgYHJlZ2lvbmAgcGFyYW1ldGVycywgb3IgdXNlIFN0YWNrIGVudmlyb25tZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRGcm9tQXJuPzogc3RyaW5nO1xufVxuXG4vLyByZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE1MC4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2NvcmUvbGliL3Jlc291cmNlLnRzI0wxMjJcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIEFXUyByZXNvdXJjZSBzaW1pbGFyIHRvIHRoZSBBV1MgQ0RLIGBSZXNvdXJjZWAgY2xhc3MgYnV0IGJhY2tlZCBieSBDREtURi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF3c0NvbnN0cnVjdEJhc2VcbiAgZXh0ZW5kcyBUZXJyYUNvbnN0cnVjdEJhc2VcbiAgaW1wbGVtZW50cyBJQXdzQ29uc3RydWN0XG57XG4gIHB1YmxpYyByZWFkb25seSBzdGFjazogQXdzU3RhY2s7XG4gIHB1YmxpYyByZWFkb25seSBlbnY6IEF3c0Vudmlyb25tZW50O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBd3NDb25zdHJ1Y3RQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBpZiAoXG4gICAgICAocHJvcHMuYWNjb3VudCAhPT0gdW5kZWZpbmVkIHx8IHByb3BzLnJlZ2lvbiAhPT0gdW5kZWZpbmVkKSAmJlxuICAgICAgcHJvcHMuZW52aXJvbm1lbnRGcm9tQXJuICE9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFN1cHBseSBhdCBtb3N0IG9uZSBvZiAnYWNjb3VudCcvJ3JlZ2lvbicgKCR7cHJvcHMuYWNjb3VudH0vJHtwcm9wcy5yZWdpb259KSBhbmQgJ2Vudmlyb25tZW50RnJvbUFybicgKCR7cHJvcHMuZW52aXJvbm1lbnRGcm9tQXJufSlgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgUkVTT1VSQ0VfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuXG4gICAgdGhpcy5zdGFjayA9IEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHRoaXMpO1xuXG4gICAgY29uc3QgcGFyc2VkQXJuID0gcHJvcHMuZW52aXJvbm1lbnRGcm9tQXJuXG4gICAgICA/IC8vIFNpbmNlIHdlIG9ubHkgd2FudCB0aGUgcmVnaW9uIGFuZCBhY2NvdW50LCBOT19SRVNPVVJDRV9OQU1FIGlzIGdvb2QgZW5vdWdoXG4gICAgICAgIHRoaXMuc3RhY2suc3BsaXRBcm4oXG4gICAgICAgICAgcHJvcHMuZW52aXJvbm1lbnRGcm9tQXJuLFxuICAgICAgICAgIEFybkZvcm1hdC5OT19SRVNPVVJDRV9OQU1FLFxuICAgICAgICApXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLmVudiA9IHtcbiAgICAgIHBhcnRpdGlvbjogcGFyc2VkQXJuPy5wYXJ0aXRpb24gPz8gdGhpcy5zdGFjay5wYXJ0aXRpb24sXG4gICAgICBhY2NvdW50OiBwcm9wcy5hY2NvdW50ID8/IHBhcnNlZEFybj8uYWNjb3VudCA/PyB0aGlzLnN0YWNrLmFjY291bnQsXG4gICAgICByZWdpb246IHByb3BzLnJlZ2lvbiA/PyBwYXJzZWRBcm4/LnJlZ2lvbiA/PyB0aGlzLnN0YWNrLnJlZ2lvbixcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { provider } from "@cdktf/provider-aws";
|
|
2
|
+
import { ResourceTerraformIterator } from "cdktf";
|
|
3
|
+
import { Construct, IConstruct } from "constructs";
|
|
4
|
+
import { ArnComponents, ArnFormat } from "./arn";
|
|
5
|
+
import { AwsProviderConfig } from "./provider-config.generated";
|
|
6
|
+
import { StackBaseProps, StackBase, IStack } from "../stack-base";
|
|
7
|
+
export interface AwsStackProps extends StackBaseProps {
|
|
8
|
+
/**
|
|
9
|
+
* The AWS Provider configuration (without the alias field)
|
|
10
|
+
*/
|
|
11
|
+
readonly providerConfig: AwsProviderConfig;
|
|
12
|
+
}
|
|
13
|
+
export interface IAwsStack extends IStack {
|
|
14
|
+
/**
|
|
15
|
+
* The AWS Region for the TerraConstruct
|
|
16
|
+
*/
|
|
17
|
+
readonly region: string;
|
|
18
|
+
/**
|
|
19
|
+
* The AWS Account for the TerraConstruct
|
|
20
|
+
*/
|
|
21
|
+
readonly account: string;
|
|
22
|
+
/**
|
|
23
|
+
* The AWS Partition for the TerraConstruct
|
|
24
|
+
*/
|
|
25
|
+
readonly partition: string;
|
|
26
|
+
/**
|
|
27
|
+
* The service Principal Id for a specific service
|
|
28
|
+
*
|
|
29
|
+
* @param serviceName The service name to get the service principal ID for
|
|
30
|
+
* @param region The region to get the service principal ID for
|
|
31
|
+
*/
|
|
32
|
+
servicePrincipalName(serviceName: string, region?: string): string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A Terraform stack constrained to a single AWS Account/Region to simulate CFN behavior.
|
|
36
|
+
*/
|
|
37
|
+
export declare class AwsStack extends StackBase implements IAwsStack {
|
|
38
|
+
/**
|
|
39
|
+
* Return whether the given object is a Stack.
|
|
40
|
+
*
|
|
41
|
+
* attribute detection since as 'instanceof' potentially fails across Library releases.
|
|
42
|
+
*/
|
|
43
|
+
static isAwsStack(x: any): x is AwsStack;
|
|
44
|
+
/**
|
|
45
|
+
* Looks up the first stack scope in which `construct` is defined. Fails if there is no stack up the tree or the stack is not an AwsStack.
|
|
46
|
+
* @param construct The construct to start the search from.
|
|
47
|
+
*/
|
|
48
|
+
static ofAwsConstruct(construct: IConstruct): AwsStack;
|
|
49
|
+
private readonly lookup;
|
|
50
|
+
private regionalAwsProviders;
|
|
51
|
+
/**
|
|
52
|
+
* Cache these tokens for reliable comparisons.
|
|
53
|
+
*
|
|
54
|
+
* Every call for the same Token will produce a new unique string, no
|
|
55
|
+
* attempt is made to deduplicate. Token objects should cache the
|
|
56
|
+
* value themselves, if required.
|
|
57
|
+
*
|
|
58
|
+
* dataSource.getSTringattribute -> Token.asString -> tokenMap.registerString
|
|
59
|
+
* ref:
|
|
60
|
+
* - https://github.com/hashicorp/terraform-cdk/blob/v0.20.10/packages/cdktf/lib/terraform-data-source.ts#L68
|
|
61
|
+
* - https://github.com/hashicorp/terraform-cdk/blob/v0.20.10/packages/cdktf/lib/tokens/private/token-map.ts#L50-L66
|
|
62
|
+
*/
|
|
63
|
+
private _accountIdToken;
|
|
64
|
+
private _paritionToken;
|
|
65
|
+
private _urlSuffixToken;
|
|
66
|
+
constructor(scope: Construct, id: string, props: AwsStackProps);
|
|
67
|
+
get provider(): provider.AwsProvider;
|
|
68
|
+
/**
|
|
69
|
+
* Get the Region of the AWS Stack
|
|
70
|
+
*/
|
|
71
|
+
get region(): string;
|
|
72
|
+
private get dataAwsCallerIdentity();
|
|
73
|
+
private get dataAwsAvailabilityZones();
|
|
74
|
+
private get dataAwsPartition();
|
|
75
|
+
private getRegionalAwsProvider;
|
|
76
|
+
/**
|
|
77
|
+
* Get the Account of the AWS Stack
|
|
78
|
+
*/
|
|
79
|
+
get account(): string;
|
|
80
|
+
/**
|
|
81
|
+
* Get the Partition of the AWS Stack
|
|
82
|
+
*/
|
|
83
|
+
get partition(): string;
|
|
84
|
+
/**
|
|
85
|
+
* Base DNS domain name for the current partition (e.g., amazonaws.com in AWS Commercial, amazonaws.com.cn in AWS China).
|
|
86
|
+
*/
|
|
87
|
+
get urlSuffix(): string;
|
|
88
|
+
/**
|
|
89
|
+
* Return the service principal name based on the region it's used in.
|
|
90
|
+
*
|
|
91
|
+
* Some service principal names used to be different for different partitions,
|
|
92
|
+
* and some were not.
|
|
93
|
+
*
|
|
94
|
+
* These days all service principal names are standardized, and they are all
|
|
95
|
+
* of the form `<servicename>.amazonaws.com`.
|
|
96
|
+
*
|
|
97
|
+
* To avoid breaking changes, handling is provided for services added with the formats below,
|
|
98
|
+
* however, no additional handling will be added for new regions or partitions.
|
|
99
|
+
* - s3
|
|
100
|
+
* - s3.amazonaws.com
|
|
101
|
+
* - s3.amazonaws.com.cn
|
|
102
|
+
* - s3.c2s.ic.gov
|
|
103
|
+
* - s3.sc2s.sgov.gov
|
|
104
|
+
*
|
|
105
|
+
* @param service The service name to get the service principal ID for
|
|
106
|
+
* @param region The region to get the service principal ID for
|
|
107
|
+
*/
|
|
108
|
+
servicePrincipalName(service: string, region?: string): string;
|
|
109
|
+
/**
|
|
110
|
+
* Creates an ARN from components.
|
|
111
|
+
*
|
|
112
|
+
* If `partition`, `region` or `account` are not specified, the stack's
|
|
113
|
+
* partition, region and account will be used.
|
|
114
|
+
*
|
|
115
|
+
* If any component is the empty string, an empty string will be inserted
|
|
116
|
+
* into the generated ARN at the location that component corresponds to.
|
|
117
|
+
*
|
|
118
|
+
* The ARN will be formatted as follows:
|
|
119
|
+
*
|
|
120
|
+
* arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
|
|
121
|
+
*
|
|
122
|
+
* The required ARN pieces that are omitted will be taken from the stack that
|
|
123
|
+
* the 'scope' is attached to. If all ARN pieces are supplied, the supplied scope
|
|
124
|
+
* can be 'undefined'.
|
|
125
|
+
*/
|
|
126
|
+
formatArn(components: ArnComponents): string;
|
|
127
|
+
/**
|
|
128
|
+
* Given an ARN, parses it and returns components.
|
|
129
|
+
*
|
|
130
|
+
* IF THE ARN IS A CONCRETE STRING...
|
|
131
|
+
*
|
|
132
|
+
* ...it will be parsed and validated. The separator (`sep`) will be set to '/'
|
|
133
|
+
* if the 6th component includes a '/', in which case, `resource` will be set
|
|
134
|
+
* to the value before the '/' and `resourceName` will be the rest. In case
|
|
135
|
+
* there is no '/', `resource` will be set to the 6th components and
|
|
136
|
+
* `resourceName` will be set to the rest of the string.
|
|
137
|
+
*
|
|
138
|
+
* IF THE ARN IS A TOKEN...
|
|
139
|
+
*
|
|
140
|
+
* ...it cannot be validated, since we don't have the actual value yet at the
|
|
141
|
+
* time of this function call. You will have to supply `sepIfToken` and
|
|
142
|
+
* whether or not ARNs of the expected format usually have resource names
|
|
143
|
+
* in order to parse it properly. The resulting `ArnComponents` object will
|
|
144
|
+
* contain tokens for the subexpressions of the ARN, not string literals.
|
|
145
|
+
*
|
|
146
|
+
* If the resource name could possibly contain the separator char, the actual
|
|
147
|
+
* resource name cannot be properly parsed. This only occurs if the separator
|
|
148
|
+
* char is '/', and happens for example for S3 object ARNs, IAM Role ARNs,
|
|
149
|
+
* IAM OIDC Provider ARNs, etc. To properly extract the resource name from a
|
|
150
|
+
* Tokenized ARN, you must know the resource type and call
|
|
151
|
+
* `Arn.extractResourceName`.
|
|
152
|
+
*
|
|
153
|
+
* @param arn The ARN string to parse
|
|
154
|
+
* @param sepIfToken The separator used to separate resource from resourceName
|
|
155
|
+
* @param hasName Whether there is a name component in the ARN at all. For
|
|
156
|
+
* example, SNS Topics ARNs have the 'resource' component contain the topic
|
|
157
|
+
* name, and no 'resourceName' component.
|
|
158
|
+
*
|
|
159
|
+
* @returns an ArnComponents object which allows access to the various
|
|
160
|
+
* components of the ARN.
|
|
161
|
+
*
|
|
162
|
+
* @returns an ArnComponents object which allows access to the various
|
|
163
|
+
* components of the ARN.
|
|
164
|
+
*
|
|
165
|
+
* @deprecated use splitArn instead
|
|
166
|
+
*/
|
|
167
|
+
parseArn(arn: string, sepIfToken?: string, hasName?: boolean): ArnComponents;
|
|
168
|
+
/**
|
|
169
|
+
* Splits the provided ARN into its components.
|
|
170
|
+
* Works both if 'arn' is a string like 'arn:aws:s3:::bucket',
|
|
171
|
+
* and a Token representing a dynamic CloudFormation expression
|
|
172
|
+
* (in which case the returned components will also be dynamic CloudFormation expressions,
|
|
173
|
+
* encoded as Tokens).
|
|
174
|
+
*
|
|
175
|
+
* @param arn the ARN to split into its components
|
|
176
|
+
* @param arnFormat the expected format of 'arn' - depends on what format the service 'arn' represents uses
|
|
177
|
+
*/
|
|
178
|
+
splitArn(arn: string, arnFormat: ArnFormat): ArnComponents;
|
|
179
|
+
/**
|
|
180
|
+
* Returns iterator for all AZs that are available in the AWS environment
|
|
181
|
+
* (account/region) associated with this stack (default or aliased provider).
|
|
182
|
+
*
|
|
183
|
+
* this will return a cdktf iterator
|
|
184
|
+
*
|
|
185
|
+
* https://developer.hashicorp.com/terraform/cdktf/concepts/iterators#define-iterators
|
|
186
|
+
*
|
|
187
|
+
* To specify a different strategy for selecting availability zones override this method.
|
|
188
|
+
*/
|
|
189
|
+
get availabilityZoneIterator(): ResourceTerraformIterator;
|
|
190
|
+
/**
|
|
191
|
+
* Returns a Token as List of AZ names that are available in the stack's
|
|
192
|
+
* AWS environment (account/region).
|
|
193
|
+
*
|
|
194
|
+
* The list is slized by `maxCount` which defaults to 2.
|
|
195
|
+
*
|
|
196
|
+
* Note: Must use `Fn.element` to access the AZ names.
|
|
197
|
+
*
|
|
198
|
+
* @param maxCount the maximum number of AZs to return
|
|
199
|
+
*/
|
|
200
|
+
availabilityZones(maxCount?: number): string[];
|
|
201
|
+
}
|