terraconstructs 0.0.11 → 0.0.13
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/.jsii +105205 -35113
- package/lib/aws/arn.js +1 -1
- package/lib/aws/aws-construct.d.ts +1 -1
- package/lib/aws/aws-construct.js +28 -2
- package/lib/aws/aws-stack.d.ts +2 -4
- package/lib/aws/aws-stack.js +21 -8
- package/lib/aws/aws-tags.d.ts +58 -0
- package/lib/aws/aws-tags.js +77 -0
- package/lib/aws/cloudwatch/actions/ec2.js +1 -1
- package/lib/aws/cloudwatch/actions/lambda.js +1 -1
- package/lib/aws/cloudwatch/alarm-base.js +1 -1
- package/lib/aws/cloudwatch/alarm-rule.js +1 -1
- package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
- package/lib/aws/cloudwatch/alarm.js +1 -1
- package/lib/aws/cloudwatch/composite-alarm.js +1 -1
- package/lib/aws/cloudwatch/dashboard.js +1 -1
- package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
- package/lib/aws/cloudwatch/graph.js +8 -8
- package/lib/aws/cloudwatch/layout.js +3 -3
- package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
- package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
- package/lib/aws/cloudwatch/log-group.js +1 -1
- package/lib/aws/cloudwatch/log-query.js +1 -1
- package/lib/aws/cloudwatch/log-stream.js +1 -1
- package/lib/aws/cloudwatch/metric-filter.d.ts +1 -1
- package/lib/aws/cloudwatch/metric-filter.js +4 -4
- package/lib/aws/cloudwatch/metric.js +2 -2
- package/lib/aws/cloudwatch/pattern.js +3 -3
- package/lib/aws/cloudwatch/policy.js +1 -1
- package/lib/aws/cloudwatch/private/env-tokens.js +5 -6
- package/lib/aws/cloudwatch/private/metric-util.js +4 -5
- package/lib/aws/cloudwatch/private/object.js +2 -3
- package/lib/aws/cloudwatch/private/rendering.js +3 -3
- package/lib/aws/cloudwatch/private/statistic.js +6 -7
- package/lib/aws/cloudwatch/query-definition.js +2 -2
- package/lib/aws/cloudwatch/stats.js +1 -1
- package/lib/aws/cloudwatch/subscription-filter.d.ts +1 -1
- package/lib/aws/cloudwatch/subscription-filter.js +4 -4
- package/lib/aws/cloudwatch/text.js +1 -1
- package/lib/aws/cloudwatch/variable.js +3 -3
- package/lib/aws/cloudwatch/widget.d.ts +1 -1
- package/lib/aws/cloudwatch/widget.js +4 -4
- package/lib/aws/compute/activity.js +3 -2
- package/lib/aws/compute/alb/application-listener-action.d.ts +334 -0
- package/lib/aws/compute/alb/application-listener-action.js +281 -0
- package/lib/aws/compute/alb/application-listener-certificate.d.ts +35 -0
- package/lib/aws/compute/alb/application-listener-certificate.js +35 -0
- package/lib/aws/compute/alb/application-listener-rule.d.ts +233 -0
- package/lib/aws/compute/alb/application-listener-rule.js +220 -0
- package/lib/aws/compute/alb/application-listener.d.ts +574 -0
- package/lib/aws/compute/alb/application-listener.js +538 -0
- package/lib/aws/compute/alb/application-load-balancer.d.ts +715 -0
- package/lib/aws/compute/alb/application-load-balancer.js +780 -0
- package/lib/aws/compute/alb/application-target-group.d.ts +339 -0
- package/lib/aws/compute/alb/application-target-group.js +427 -0
- package/lib/aws/compute/alb/conditions.d.ts +61 -0
- package/lib/aws/compute/alb/conditions.js +164 -0
- package/lib/aws/compute/alb/trust-store-revocation.d.ts +59 -0
- package/lib/aws/compute/alb/trust-store-revocation.js +46 -0
- package/lib/aws/compute/alb/trust-store.d.ts +86 -0
- package/lib/aws/compute/alb/trust-store.js +79 -0
- package/lib/aws/compute/architecture.js +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.d.ts +75 -0
- package/lib/aws/compute/aspects/require-imdsv2-aspect.js +106 -0
- package/lib/aws/compute/bastion-host.d.ts +172 -0
- package/lib/aws/compute/bastion-host.js +114 -0
- package/lib/aws/compute/chain.js +1 -1
- package/lib/aws/compute/cidr-splits.d.ts +49 -0
- package/lib/aws/compute/cidr-splits.js +59 -0
- package/lib/aws/compute/client-vpn-authorization-rule.d.ts +43 -0
- package/lib/aws/compute/client-vpn-authorization-rule.js +30 -0
- package/lib/aws/compute/client-vpn-endpoint-types.d.ts +62 -0
- package/lib/aws/compute/client-vpn-endpoint-types.js +25 -0
- package/lib/aws/compute/client-vpn-endpoint.d.ts +239 -0
- package/lib/aws/compute/client-vpn-endpoint.js +259 -0
- package/lib/aws/compute/client-vpn-route.d.ts +67 -0
- package/lib/aws/compute/client-vpn-route.js +57 -0
- package/lib/aws/compute/condition.js +1 -1
- package/lib/aws/compute/connections.d.ts +137 -0
- package/lib/aws/compute/connections.js +208 -0
- package/lib/aws/compute/ec2-augmentations.generated.d.ts +53 -0
- package/lib/aws/compute/ec2-augmentations.generated.js +35 -0
- package/lib/aws/compute/ec2-canned-metrics.generated.d.ts +555 -0
- package/lib/aws/compute/ec2-canned-metrics.generated.js +681 -0
- package/lib/aws/compute/ec2-util-v2.d.ts +141 -0
- package/lib/aws/compute/ec2-util-v2.js +286 -0
- package/lib/aws/compute/ec2-util.d.ts +52 -0
- package/lib/aws/compute/ec2-util.js +138 -0
- package/lib/aws/compute/elasticloadbalancing-canned-metrics.generated.d.ts +176 -0
- package/lib/aws/compute/elasticloadbalancing-canned-metrics.generated.js +119 -0
- package/lib/aws/compute/elasticloadbalancingv2-canned-metrics.generated.d.ts +860 -0
- package/lib/aws/compute/elasticloadbalancingv2-canned-metrics.generated.js +597 -0
- package/lib/aws/compute/event-invoke-config.js +1 -1
- package/lib/aws/compute/event-source-filter.js +2 -2
- package/lib/aws/compute/event-source-mapping.js +1 -1
- package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
- package/lib/aws/compute/event-sources/s3.js +1 -1
- package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
- package/lib/aws/compute/event-sources/sqs.js +1 -1
- package/lib/aws/compute/fields.js +4 -4
- package/lib/aws/compute/function-alias.js +1 -1
- package/lib/aws/compute/function-base.js +2 -2
- package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
- package/lib/aws/compute/function-destinations/function.js +1 -1
- package/lib/aws/compute/function-destinations/sqs.js +1 -1
- package/lib/aws/compute/function-nodejs.js +1 -1
- package/lib/aws/compute/function-url.js +1 -1
- package/lib/aws/compute/function-vpc-config.generated.d.ts +3 -3
- package/lib/aws/compute/function-vpc-config.generated.js +1 -1
- package/lib/aws/compute/function.d.ts +1 -1
- package/lib/aws/compute/function.js +5 -5
- package/lib/aws/compute/index-alpha.d.ts +5 -0
- package/lib/aws/compute/index-alpha.js +22 -0
- package/lib/aws/compute/index.d.ts +60 -0
- package/lib/aws/compute/index.js +70 -2
- package/lib/aws/compute/instance-types.d.ts +1354 -0
- package/lib/aws/compute/instance-types.js +1683 -0
- package/lib/aws/compute/instance.d.ts +436 -0
- package/lib/aws/compute/instance.js +262 -0
- package/lib/aws/compute/ip-addresses.d.ts +249 -0
- package/lib/aws/compute/ip-addresses.js +248 -0
- package/lib/aws/compute/ipam.d.ts +309 -0
- package/lib/aws/compute/ipam.js +306 -0
- package/lib/aws/compute/key-pair.d.ts +178 -0
- package/lib/aws/compute/key-pair.js +194 -0
- package/lib/aws/compute/lambda-augmentations.generated.d.ts +65 -0
- package/lib/aws/compute/lambda-augmentations.generated.js +41 -0
- package/lib/aws/compute/lambda-canned-metrics.generated.d.ts +316 -0
- package/lib/aws/compute/lambda-canned-metrics.generated.js +119 -0
- package/lib/aws/compute/launch-template.d.ts +540 -0
- package/lib/aws/compute/launch-template.js +468 -0
- package/lib/aws/compute/lb-shared/access-logs-accounts.d.ts +7 -0
- package/lib/aws/compute/lb-shared/access-logs-accounts.js +46 -0
- package/lib/aws/compute/lb-shared/base-listener.d.ts +113 -0
- package/lib/aws/compute/lb-shared/base-listener.js +181 -0
- package/lib/aws/compute/lb-shared/base-load-balancer.d.ts +212 -0
- package/lib/aws/compute/lb-shared/base-load-balancer.js +290 -0
- package/lib/aws/compute/lb-shared/base-target-group.d.ts +382 -0
- package/lib/aws/compute/lb-shared/base-target-group.js +364 -0
- package/lib/aws/compute/lb-shared/enums.d.ts +282 -0
- package/lib/aws/compute/lb-shared/enums.js +301 -0
- package/lib/aws/compute/lb-shared/grid-lookup-types.d.ts +42 -0
- package/lib/aws/compute/lb-shared/grid-lookup-types.js +53 -0
- package/lib/aws/compute/lb-shared/imported.d.ts +24 -0
- package/lib/aws/compute/lb-shared/imported.js +27 -0
- package/lib/aws/compute/lb-shared/lb-listener-config.generated.d.ts +194 -0
- package/lib/aws/compute/lb-shared/lb-listener-config.generated.js +3 -0
- package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.d.ts +56 -0
- package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.js +3 -0
- package/lib/aws/compute/lb-shared/listener-action.d.ts +14 -0
- package/lib/aws/compute/lb-shared/listener-action.js +4 -0
- package/lib/aws/compute/lb-shared/listener-certificate.d.ts +28 -0
- package/lib/aws/compute/lb-shared/listener-certificate.js +29 -0
- package/lib/aws/compute/lb-shared/load-balancer-targets.d.ts +93 -0
- package/lib/aws/compute/lb-shared/load-balancer-targets.js +127 -0
- package/lib/aws/compute/lb-shared/util.d.ts +113 -0
- package/lib/aws/compute/lb-shared/util.js +264 -0
- package/lib/aws/compute/lb-targets/alb-target.d.ts +67 -0
- package/lib/aws/compute/lb-targets/alb-target.js +100 -0
- package/lib/aws/compute/lb-targets/index.d.ts +4 -0
- package/lib/aws/compute/lb-targets/index.js +22 -0
- package/lib/aws/compute/lb-targets/instance-target.d.ts +42 -0
- package/lib/aws/compute/lb-targets/instance-target.js +67 -0
- package/lib/aws/compute/lb-targets/ip-target.d.ts +55 -0
- package/lib/aws/compute/lb-targets/ip-target.js +79 -0
- package/lib/aws/compute/lb-targets/lambda-target.d.ts +25 -0
- package/lib/aws/compute/lb-targets/lambda-target.js +50 -0
- package/lib/aws/compute/load-balancer.d.ts +336 -0
- package/lib/aws/compute/load-balancer.js +287 -0
- package/lib/aws/compute/machine-image/amazon-linux-2022.d.ts +63 -0
- package/lib/aws/compute/machine-image/amazon-linux-2022.js +84 -0
- package/lib/aws/compute/machine-image/amazon-linux-2023.d.ts +63 -0
- package/lib/aws/compute/machine-image/amazon-linux-2023.js +84 -0
- package/lib/aws/compute/machine-image/amazon-linux2.d.ts +76 -0
- package/lib/aws/compute/machine-image/amazon-linux2.js +87 -0
- package/lib/aws/compute/machine-image/common.d.ts +181 -0
- package/lib/aws/compute/machine-image/common.js +122 -0
- package/lib/aws/compute/machine-image/index.d.ts +5 -0
- package/lib/aws/compute/machine-image/index.js +22 -0
- package/lib/aws/compute/machine-image/machine-image.d.ts +463 -0
- package/lib/aws/compute/machine-image/machine-image.js +566 -0
- package/lib/aws/compute/machine-image/utils.d.ts +2 -0
- package/lib/aws/compute/machine-image/utils.js +17 -0
- package/lib/aws/compute/nat.d.ts +325 -0
- package/lib/aws/compute/nat.js +455 -0
- package/lib/aws/compute/network-acl-types.d.ts +152 -0
- package/lib/aws/compute/network-acl-types.js +156 -0
- package/lib/aws/compute/network-acl.d.ts +285 -0
- package/lib/aws/compute/network-acl.js +207 -0
- package/lib/aws/compute/network-util.d.ts +116 -0
- package/lib/aws/compute/network-util.js +241 -0
- package/lib/aws/compute/nlb/network-listener-action.d.ts +92 -0
- package/lib/aws/compute/nlb/network-listener-action.js +146 -0
- package/lib/aws/compute/nlb/network-listener-certificate.d.ts +24 -0
- package/lib/aws/compute/nlb/network-listener-certificate.js +25 -0
- package/lib/aws/compute/nlb/network-listener.d.ts +248 -0
- package/lib/aws/compute/nlb/network-listener.js +217 -0
- package/lib/aws/compute/nlb/network-load-balancer.d.ts +315 -0
- package/lib/aws/compute/nlb/network-load-balancer.js +360 -0
- package/lib/aws/compute/nlb/network-target-group.d.ts +153 -0
- package/lib/aws/compute/nlb/network-target-group.js +223 -0
- package/lib/aws/compute/peer.d.ts +64 -0
- package/lib/aws/compute/peer.js +235 -0
- package/lib/aws/compute/placement-group.d.ts +161 -0
- package/lib/aws/compute/placement-group.js +133 -0
- package/lib/aws/compute/port.d.ts +287 -0
- package/lib/aws/compute/port.js +390 -0
- package/lib/aws/compute/prefix-list.d.ts +131 -0
- package/lib/aws/compute/prefix-list.js +114 -0
- package/lib/aws/compute/private/context-stub.d.ts +7 -0
- package/lib/aws/compute/private/context-stub.js +43 -0
- package/lib/aws/compute/private/ebs-util.d.ts +14 -0
- package/lib/aws/compute/private/ebs-util.js +145 -0
- package/lib/aws/compute/private/intrinstics.js +2 -1
- package/lib/aws/compute/private/json-path.js +8 -8
- package/lib/aws/compute/private/util.js +2 -3
- package/lib/aws/compute/route.d.ts +547 -0
- package/lib/aws/compute/route.js +469 -0
- package/lib/aws/compute/security-group.d.ts +414 -0
- package/lib/aws/compute/security-group.js +538 -0
- package/lib/aws/compute/state-graph.js +1 -1
- package/lib/aws/compute/state-machine-fragment.js +1 -1
- package/lib/aws/compute/state-machine.d.ts +2 -2
- package/lib/aws/compute/state-machine.js +14 -12
- package/lib/aws/compute/states/choice.js +1 -1
- package/lib/aws/compute/states/custom-state.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
- package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
- package/lib/aws/compute/states/distributed-map.js +1 -1
- package/lib/aws/compute/states/fail.js +1 -1
- package/lib/aws/compute/states/map-base.js +1 -1
- package/lib/aws/compute/states/map.js +1 -1
- package/lib/aws/compute/states/parallel.js +1 -1
- package/lib/aws/compute/states/pass.js +2 -2
- package/lib/aws/compute/states/state.js +5 -5
- package/lib/aws/compute/states/succeed.js +1 -1
- package/lib/aws/compute/states/task-base.js +2 -2
- package/lib/aws/compute/states/task.js +1 -1
- package/lib/aws/compute/states/wait.js +2 -2
- package/lib/aws/compute/stepfunctions-canned-metrics.generated.d.ts +83 -0
- package/lib/aws/compute/stepfunctions-canned-metrics.generated.js +127 -0
- package/lib/aws/compute/subnet-v2.d.ts +213 -0
- package/lib/aws/compute/subnet-v2.js +405 -0
- package/lib/aws/compute/subnet.d.ts +37 -0
- package/lib/aws/compute/subnet.js +181 -0
- package/lib/aws/compute/task-credentials.js +1 -1
- package/lib/aws/compute/task-input.js +1 -1
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
- package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
- package/lib/aws/compute/tasks/http/invoke.js +1 -1
- package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
- package/lib/aws/compute/tasks/private/task-utils.js +3 -4
- package/lib/aws/compute/tasks/resource-arn-suffix.js +2 -3
- package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
- package/lib/aws/compute/types.js +2 -2
- package/lib/aws/compute/user-data.d.ts +270 -0
- package/lib/aws/compute/user-data.js +487 -0
- package/lib/aws/compute/util.d.ts +1 -1
- package/lib/aws/compute/util.js +4 -5
- package/lib/aws/compute/volume.d.ts +480 -0
- package/lib/aws/compute/volume.js +426 -0
- package/lib/aws/compute/vpc-endpoint-service.d.ts +149 -0
- package/lib/aws/compute/vpc-endpoint-service.js +90 -0
- package/lib/aws/compute/vpc-endpoint.d.ts +742 -0
- package/lib/aws/compute/vpc-endpoint.js +811 -0
- package/lib/aws/compute/vpc-flow-logs.d.ts +551 -0
- package/lib/aws/compute/vpc-flow-logs.js +693 -0
- package/lib/aws/compute/vpc-lookup.d.ts +73 -0
- package/lib/aws/compute/vpc-lookup.js +3 -0
- package/lib/aws/compute/vpc-v2-base.d.ts +353 -0
- package/lib/aws/compute/vpc-v2-base.js +493 -0
- package/lib/aws/compute/vpc-v2.d.ts +385 -0
- package/lib/aws/compute/vpc-v2.js +408 -0
- package/lib/aws/compute/vpc.d.ts +1448 -0
- package/lib/aws/compute/vpc.js +1495 -0
- package/lib/aws/compute/vpn.d.ts +443 -0
- package/lib/aws/compute/vpn.js +397 -0
- package/lib/aws/compute/windows-versions.d.ts +418 -0
- package/lib/aws/compute/windows-versions.js +426 -0
- package/lib/aws/edge/certificate-base.d.ts +20 -0
- package/lib/aws/edge/certificate-base.js +28 -0
- package/lib/aws/edge/certificate.d.ts +23 -2
- package/lib/aws/edge/certificate.js +54 -4
- package/lib/aws/edge/distribution.js +3 -3
- package/lib/aws/edge/dns-alias-record-targets.js +2 -2
- package/lib/aws/edge/dns-record.js +16 -16
- package/lib/aws/edge/dns-zone.d.ts +20 -2
- package/lib/aws/edge/dns-zone.js +25 -10
- package/lib/aws/edge/function.js +2 -2
- package/lib/aws/edge/index.d.ts +1 -0
- package/lib/aws/edge/index.js +2 -1
- package/lib/aws/edge/key-value-store.js +4 -4
- package/lib/aws/edge/origin.js +7 -5
- package/lib/aws/edge/response-headers-policy.js +1 -1
- package/lib/aws/encryption/alias.js +1 -1
- package/lib/aws/encryption/key.js +1 -1
- package/lib/aws/encryption/via-service-principal.js +1 -1
- package/lib/aws/iam/grant.js +2 -2
- package/lib/aws/iam/index.d.ts +1 -0
- package/lib/aws/iam/index.js +2 -1
- package/lib/aws/iam/instance-profile.d.ts +155 -0
- package/lib/aws/iam/instance-profile.js +124 -0
- package/lib/aws/iam/managed-policy.js +1 -1
- package/lib/aws/iam/oidc-provider.js +1 -1
- package/lib/aws/iam/policy-document-config.generated.d.ts +8 -8
- package/lib/aws/iam/policy-document-config.generated.js +1 -1
- package/lib/aws/iam/policy-document.js +1 -1
- package/lib/aws/iam/policy-statement-props.generated.d.ts +8 -8
- package/lib/aws/iam/policy-statement-props.generated.js +1 -1
- package/lib/aws/iam/policy-statement.js +9 -9
- package/lib/aws/iam/policy.js +1 -1
- package/lib/aws/iam/principals.js +26 -26
- package/lib/aws/iam/private/assume-role-policy.js +2 -3
- package/lib/aws/iam/private/comparable-principal.js +2 -3
- package/lib/aws/iam/private/immutable-role.d.ts +2 -1
- package/lib/aws/iam/private/immutable-role.js +3 -3
- package/lib/aws/iam/private/imported-role.d.ts +1 -1
- package/lib/aws/iam/private/imported-role.js +3 -3
- package/lib/aws/iam/private/merge-statements.js +2 -3
- package/lib/aws/iam/private/util.js +4 -4
- package/lib/aws/iam/role.js +1 -1
- package/lib/aws/iam/saml-provider.d.ts +1 -1
- package/lib/aws/iam/saml-provider.js +6 -6
- package/lib/aws/iam/unknown-principal.js +1 -1
- package/lib/aws/iam/utils.js +2 -3
- package/lib/aws/index.d.ts +1 -0
- package/lib/aws/index.js +4 -1
- package/lib/aws/network/simple-ipv4-vpc.js +5 -5
- package/lib/aws/network/subnet-group.js +3 -3
- package/lib/aws/network/subnet.d.ts +1 -1
- package/lib/aws/network/subnet.js +7 -7
- package/lib/aws/notify/archive.js +3 -2
- package/lib/aws/notify/connection.js +5 -4
- package/lib/aws/notify/event-bus.js +5 -4
- package/lib/aws/notify/event-pattern.d.ts +26 -1
- package/lib/aws/notify/event-pattern.js +49 -5
- package/lib/aws/notify/index.js +3 -1
- package/lib/aws/notify/input.js +4 -3
- package/lib/aws/notify/kinesis-stream.js +3 -2
- package/lib/aws/notify/on-event-options.js +2 -1
- package/lib/aws/notify/queue-config.generated.d.ts +18 -11
- package/lib/aws/notify/queue-config.generated.js +1 -1
- package/lib/aws/notify/queue-policy.js +1 -1
- package/lib/aws/notify/queue.js +1 -1
- package/lib/aws/notify/resource-policy.js +1 -1
- package/lib/aws/notify/rule.js +3 -2
- package/lib/aws/notify/schedule.js +2 -2
- package/lib/aws/notify/sqs-augmentations.generated.d.ts +125 -0
- package/lib/aws/notify/sqs-augmentations.generated.js +74 -0
- package/lib/aws/notify/target.js +2 -1
- package/lib/aws/notify/targets/event-bus.js +1 -1
- package/lib/aws/notify/targets/function.js +1 -1
- package/lib/aws/notify/targets/log-group.js +2 -2
- package/lib/aws/notify/targets/sqs.js +1 -1
- package/lib/aws/notify/targets/state-machine.js +1 -1
- package/lib/aws/notify/targets/util.d.ts +1 -1
- package/lib/aws/notify/targets/util.js +10 -11
- package/lib/aws/notify/util.js +4 -4
- package/lib/aws/provider-config.generated.d.ts +33 -33
- package/lib/aws/provider-config.generated.js +1 -1
- package/lib/aws/storage/bucket-notifications.js +1 -1
- package/lib/aws/storage/bucket-policy.js +1 -1
- package/lib/aws/storage/bucket-source.js +1 -1
- package/lib/aws/storage/bucket.d.ts +298 -65
- package/lib/aws/storage/bucket.js +548 -225
- package/lib/aws/storage/cors-config.generated.d.ts +3 -3
- package/lib/aws/storage/cors-config.generated.js +1 -1
- package/lib/aws/storage/cors-rule-config.generated.d.ts +5 -5
- package/lib/aws/storage/cors-rule-config.generated.js +1 -1
- package/lib/aws/storage/index.d.ts +1 -0
- package/lib/aws/storage/index.js +2 -1
- package/lib/aws/storage/lifecycle-config.generated.d.ts +11 -11
- package/lib/aws/storage/lifecycle-config.generated.js +1 -1
- package/lib/aws/storage/notification-targets/function.js +6 -6
- package/lib/aws/storage/notification-targets/queue.js +1 -1
- package/lib/aws/storage/origin-access-identity.d.ts +1 -1
- package/lib/aws/storage/origin-access-identity.js +5 -4
- package/lib/aws/storage/parameter-util.d.ts +12 -0
- package/lib/aws/storage/parameter-util.js +65 -0
- package/lib/aws/storage/parameter.d.ts +526 -0
- package/lib/aws/storage/parameter.js +606 -0
- package/lib/aws/storage/s3-canned-metrics.generated.d.ts +22 -0
- package/lib/aws/storage/s3-canned-metrics.generated.js +23 -0
- package/lib/aws/storage/util.d.ts +25 -3
- package/lib/aws/storage/util.js +84 -17
- package/lib/aws/storage/website-config.generated.d.ts +5 -5
- package/lib/aws/storage/website-config.generated.js +1 -1
- package/lib/aws/util.js +2 -3
- package/lib/construct-base.d.ts +10 -1
- package/lib/construct-base.js +9 -6
- package/lib/duration.js +1 -1
- package/lib/expiration.d.ts +48 -0
- package/lib/expiration.js +68 -0
- package/lib/helpers-internal/index.d.ts +1 -0
- package/lib/helpers-internal/index.js +7 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/private/md5.d.ts +4 -0
- package/lib/private/md5.js +14 -0
- package/lib/private/unique-resource-name.js +3 -4
- package/lib/size.js +2 -2
- package/lib/stack-base.d.ts +4 -23
- package/lib/stack-base.js +9 -30
- package/lib/terra-func.d.ts +103 -0
- package/lib/terra-func.js +170 -0
- package/lib/token.js +5 -5
- package/package.json +15 -8
- package/bun.lockb +0 -0
|
@@ -0,0 +1,540 @@
|
|
|
1
|
+
import { launchTemplate as tfLaunchTemplate } from "@cdktf/provider-aws";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { Connections, IConnectable } from "./connections";
|
|
4
|
+
import { InstanceType } from "./instance-types";
|
|
5
|
+
import { IKeyPair } from "./key-pair";
|
|
6
|
+
import { IMachineImage, OperatingSystemType } from "./machine-image";
|
|
7
|
+
import { ISecurityGroup } from "./security-group";
|
|
8
|
+
import { UserData } from "./user-data";
|
|
9
|
+
import { BlockDevice } from "./volume";
|
|
10
|
+
import { Duration } from "../../duration";
|
|
11
|
+
import { Expiration } from "../../expiration";
|
|
12
|
+
import { IAwsConstruct, AwsConstructBase } from "../aws-construct";
|
|
13
|
+
import * as iam from "../iam";
|
|
14
|
+
/**
|
|
15
|
+
* Provides the options for specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc).
|
|
16
|
+
*
|
|
17
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-how-to.html
|
|
18
|
+
*/
|
|
19
|
+
export declare enum CpuCredits {
|
|
20
|
+
/**
|
|
21
|
+
* Standard bursting mode.
|
|
22
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-standard-mode.html
|
|
23
|
+
*/
|
|
24
|
+
STANDARD = "standard",
|
|
25
|
+
/**
|
|
26
|
+
* Unlimited bursting mode.
|
|
27
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode.html
|
|
28
|
+
*/
|
|
29
|
+
UNLIMITED = "unlimited"
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Provides the options for specifying the instance initiated shutdown behavior.
|
|
33
|
+
*
|
|
34
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior
|
|
35
|
+
*/
|
|
36
|
+
export declare enum InstanceInitiatedShutdownBehavior {
|
|
37
|
+
/**
|
|
38
|
+
* The instance will stop when it initiates a shutdown.
|
|
39
|
+
*/
|
|
40
|
+
STOP = "stop",
|
|
41
|
+
/**
|
|
42
|
+
* The instance will be terminated when it initiates a shutdown.
|
|
43
|
+
*/
|
|
44
|
+
TERMINATE = "terminate"
|
|
45
|
+
}
|
|
46
|
+
export interface LaunchTemplateOutputs {
|
|
47
|
+
/**
|
|
48
|
+
* The version number of this launch template to use
|
|
49
|
+
*
|
|
50
|
+
* @attribute
|
|
51
|
+
*/
|
|
52
|
+
readonly versionNumber: string;
|
|
53
|
+
/**
|
|
54
|
+
* The identifier of the Launch Template
|
|
55
|
+
*
|
|
56
|
+
* Exactly one of `launchTemplateId` and `launchTemplateName` will be set.
|
|
57
|
+
*
|
|
58
|
+
* @attribute
|
|
59
|
+
*/
|
|
60
|
+
readonly launchTemplateId?: string;
|
|
61
|
+
/**
|
|
62
|
+
* The name of the Launch Template
|
|
63
|
+
*
|
|
64
|
+
* Exactly one of `launchTemplateId` and `launchTemplateName` will be set.
|
|
65
|
+
*
|
|
66
|
+
* @attribute
|
|
67
|
+
*/
|
|
68
|
+
readonly launchTemplateName?: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Interface for LaunchTemplate-like objects.
|
|
72
|
+
*/
|
|
73
|
+
export interface ILaunchTemplate extends IAwsConstruct {
|
|
74
|
+
/** strongly typed outputs */
|
|
75
|
+
readonly launchTemplateOutputs: LaunchTemplateOutputs;
|
|
76
|
+
/**
|
|
77
|
+
* The version number of this launch template to use
|
|
78
|
+
*
|
|
79
|
+
* @attribute
|
|
80
|
+
*/
|
|
81
|
+
readonly versionNumber: string;
|
|
82
|
+
/**
|
|
83
|
+
* The identifier of the Launch Template
|
|
84
|
+
*
|
|
85
|
+
* Exactly one of `launchTemplateId` and `launchTemplateName` will be set.
|
|
86
|
+
*
|
|
87
|
+
* @attribute
|
|
88
|
+
*/
|
|
89
|
+
readonly launchTemplateId?: string;
|
|
90
|
+
/**
|
|
91
|
+
* The name of the Launch Template
|
|
92
|
+
*
|
|
93
|
+
* Exactly one of `launchTemplateId` and `launchTemplateName` will be set.
|
|
94
|
+
*
|
|
95
|
+
* @attribute
|
|
96
|
+
*/
|
|
97
|
+
readonly launchTemplateName?: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Provides the options for the types of interruption for spot instances.
|
|
101
|
+
*/
|
|
102
|
+
export declare enum SpotInstanceInterruption {
|
|
103
|
+
/**
|
|
104
|
+
* The instance will stop when interrupted.
|
|
105
|
+
*/
|
|
106
|
+
STOP = "stop",
|
|
107
|
+
/**
|
|
108
|
+
* The instance will be terminated when interrupted.
|
|
109
|
+
*/
|
|
110
|
+
TERMINATE = "terminate",
|
|
111
|
+
/**
|
|
112
|
+
* The instance will hibernate when interrupted.
|
|
113
|
+
*/
|
|
114
|
+
HIBERNATE = "hibernate"
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* The Spot Instance request type.
|
|
118
|
+
*
|
|
119
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html
|
|
120
|
+
*/
|
|
121
|
+
export declare enum SpotRequestType {
|
|
122
|
+
/**
|
|
123
|
+
* A one-time Spot Instance request remains active until Amazon EC2 launches the Spot Instance,
|
|
124
|
+
* the request expires, or you cancel the request. If the Spot price exceeds your maximum price
|
|
125
|
+
* or capacity is not available, your Spot Instance is terminated and the Spot Instance request
|
|
126
|
+
* is closed.
|
|
127
|
+
*/
|
|
128
|
+
ONE_TIME = "one-time",
|
|
129
|
+
/**
|
|
130
|
+
* A persistent Spot Instance request remains active until it expires or you cancel it, even if
|
|
131
|
+
* the request is fulfilled. If the Spot price exceeds your maximum price or capacity is not available,
|
|
132
|
+
* your Spot Instance is interrupted. After your instance is interrupted, when your maximum price exceeds
|
|
133
|
+
* the Spot price or capacity becomes available again, the Spot Instance is started if stopped or resumed
|
|
134
|
+
* if hibernated.
|
|
135
|
+
*/
|
|
136
|
+
PERSISTENT = "persistent"
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Interface for the Spot market instance options provided in a LaunchTemplate.
|
|
140
|
+
*/
|
|
141
|
+
export interface LaunchTemplateSpotOptions {
|
|
142
|
+
/**
|
|
143
|
+
* Spot Instances with a defined duration (also known as Spot blocks) are designed not to be interrupted and will run continuously for the duration you select.
|
|
144
|
+
* You can use a duration of 1, 2, 3, 4, 5, or 6 hours.
|
|
145
|
+
*
|
|
146
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#fixed-duration-spot-instances
|
|
147
|
+
*
|
|
148
|
+
* @default Requested spot instances do not have a pre-defined duration.
|
|
149
|
+
*/
|
|
150
|
+
readonly blockDuration?: Duration;
|
|
151
|
+
/**
|
|
152
|
+
* The behavior when a Spot Instance is interrupted.
|
|
153
|
+
*
|
|
154
|
+
* @default Spot instances will terminate when interrupted.
|
|
155
|
+
*/
|
|
156
|
+
readonly interruptionBehavior?: SpotInstanceInterruption;
|
|
157
|
+
/**
|
|
158
|
+
* Maximum hourly price you're willing to pay for each Spot instance. The value is given
|
|
159
|
+
* in dollars. ex: 0.01 for 1 cent per hour, or 0.001 for one-tenth of a cent per hour.
|
|
160
|
+
*
|
|
161
|
+
* @default Maximum hourly price will default to the on-demand price for the instance type.
|
|
162
|
+
*/
|
|
163
|
+
readonly maxPrice?: number;
|
|
164
|
+
/**
|
|
165
|
+
* The Spot Instance request type.
|
|
166
|
+
*
|
|
167
|
+
* If you are using Spot Instances with an Auto Scaling group, use one-time requests, as the
|
|
168
|
+
* Amazon EC2 Auto Scaling service handles requesting new Spot Instances whenever the group is
|
|
169
|
+
* below its desired capacity.
|
|
170
|
+
*
|
|
171
|
+
* @default One-time spot request.
|
|
172
|
+
*/
|
|
173
|
+
readonly requestType?: SpotRequestType;
|
|
174
|
+
/**
|
|
175
|
+
* The end date of the request. For a one-time request, the request remains active until all instances
|
|
176
|
+
* launch, the request is canceled, or this date is reached. If the request is persistent, it remains
|
|
177
|
+
* active until it is canceled or this date and time is reached.
|
|
178
|
+
*
|
|
179
|
+
* @default The default end date is 7 days from the current date.
|
|
180
|
+
*/
|
|
181
|
+
readonly validUntil?: Expiration;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* The state of token usage for your instance metadata requests.
|
|
185
|
+
*
|
|
186
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-httptokens
|
|
187
|
+
*/
|
|
188
|
+
export declare enum LaunchTemplateHttpTokens {
|
|
189
|
+
/**
|
|
190
|
+
* If the state is optional, you can choose to retrieve instance metadata with or without a signed token header on your request.
|
|
191
|
+
*/
|
|
192
|
+
OPTIONAL = "optional",
|
|
193
|
+
/**
|
|
194
|
+
* If the state is required, you must send a signed token header with any instance metadata retrieval requests. In this state,
|
|
195
|
+
* retrieving the IAM role credentials always returns the version 2.0 credentials; the version 1.0 credentials are not available.
|
|
196
|
+
*/
|
|
197
|
+
REQUIRED = "required"
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Properties of a LaunchTemplate.
|
|
201
|
+
*/
|
|
202
|
+
export interface LaunchTemplateProps {
|
|
203
|
+
/**
|
|
204
|
+
* Name for this launch template.
|
|
205
|
+
*
|
|
206
|
+
* @default Automatically generated name
|
|
207
|
+
*/
|
|
208
|
+
readonly launchTemplateName?: string;
|
|
209
|
+
/**
|
|
210
|
+
* A description for the first version of the launch template.
|
|
211
|
+
*
|
|
212
|
+
* The version description must be maximum 255 characters long.
|
|
213
|
+
*
|
|
214
|
+
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-versiondescription
|
|
215
|
+
*
|
|
216
|
+
* @default - No description
|
|
217
|
+
*/
|
|
218
|
+
readonly versionDescription?: string;
|
|
219
|
+
/**
|
|
220
|
+
* Type of instance to launch.
|
|
221
|
+
*
|
|
222
|
+
* @default - This Launch Template does not specify a default Instance Type.
|
|
223
|
+
*/
|
|
224
|
+
readonly instanceType?: InstanceType;
|
|
225
|
+
/**
|
|
226
|
+
* The AMI that will be used by instances.
|
|
227
|
+
*
|
|
228
|
+
* @default - This Launch Template does not specify a default AMI.
|
|
229
|
+
*/
|
|
230
|
+
readonly machineImage?: IMachineImage;
|
|
231
|
+
/**
|
|
232
|
+
* The AMI that will be used by instances.
|
|
233
|
+
*
|
|
234
|
+
* @default - This Launch Template creates a UserData based on the type of provided
|
|
235
|
+
* machineImage; no UserData is created if a machineImage is not provided
|
|
236
|
+
*/
|
|
237
|
+
readonly userData?: UserData;
|
|
238
|
+
/**
|
|
239
|
+
* An IAM role to associate with the instance profile that is used by instances.
|
|
240
|
+
*
|
|
241
|
+
* The role must be assumable by the service principal `ec2.amazonaws.com`.
|
|
242
|
+
* Note: You can provide an instanceProfile or a role, but not both.
|
|
243
|
+
*
|
|
244
|
+
* @example
|
|
245
|
+
* const role = new iam.Role(this, 'MyRole', {
|
|
246
|
+
* assumedBy: new iam.ServicePrincipal('ec2.amazonaws.com')
|
|
247
|
+
* });
|
|
248
|
+
*
|
|
249
|
+
* @default - No new role is created.
|
|
250
|
+
*/
|
|
251
|
+
readonly role?: iam.IRole;
|
|
252
|
+
/**
|
|
253
|
+
* Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.
|
|
254
|
+
*
|
|
255
|
+
* Each instance that is launched has an associated root device volume,
|
|
256
|
+
* either an Amazon EBS volume or an instance store volume.
|
|
257
|
+
* You can use block device mappings to specify additional EBS volumes or
|
|
258
|
+
* instance store volumes to attach to an instance when it is launched.
|
|
259
|
+
*
|
|
260
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html
|
|
261
|
+
*
|
|
262
|
+
* @default - Uses the block device mapping of the AMI
|
|
263
|
+
*/
|
|
264
|
+
readonly blockDevices?: BlockDevice[];
|
|
265
|
+
/**
|
|
266
|
+
* CPU credit type for burstable EC2 instance types.
|
|
267
|
+
*
|
|
268
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html
|
|
269
|
+
*
|
|
270
|
+
* @default - No credit type is specified in the Launch Template.
|
|
271
|
+
*/
|
|
272
|
+
readonly cpuCredits?: CpuCredits;
|
|
273
|
+
/**
|
|
274
|
+
* If you set this parameter to true, you cannot terminate the instances launched with this launch template
|
|
275
|
+
* using the Amazon EC2 console, CLI, or API; otherwise, you can.
|
|
276
|
+
*
|
|
277
|
+
* @default - The API termination setting is not specified in the Launch Template.
|
|
278
|
+
*/
|
|
279
|
+
readonly disableApiTermination?: boolean;
|
|
280
|
+
/**
|
|
281
|
+
* Indicates whether the instances are optimized for Amazon EBS I/O. This optimization provides dedicated throughput
|
|
282
|
+
* to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization
|
|
283
|
+
* isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.
|
|
284
|
+
*
|
|
285
|
+
* @default - EBS optimization is not specified in the launch template.
|
|
286
|
+
*/
|
|
287
|
+
readonly ebsOptimized?: boolean;
|
|
288
|
+
/**
|
|
289
|
+
* If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.
|
|
290
|
+
*
|
|
291
|
+
* @default - Enablement of Nitro enclaves is not specified in the launch template; defaulting to false.
|
|
292
|
+
*/
|
|
293
|
+
readonly nitroEnclaveEnabled?: boolean;
|
|
294
|
+
/**
|
|
295
|
+
* If you set this parameter to true, the instance is enabled for hibernation.
|
|
296
|
+
*
|
|
297
|
+
* @default - Hibernation configuration is not specified in the launch template; defaulting to false.
|
|
298
|
+
*/
|
|
299
|
+
readonly hibernationConfigured?: boolean;
|
|
300
|
+
/**
|
|
301
|
+
* Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).
|
|
302
|
+
*
|
|
303
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior
|
|
304
|
+
*
|
|
305
|
+
* @default - Shutdown behavior is not specified in the launch template; defaults to STOP.
|
|
306
|
+
*/
|
|
307
|
+
readonly instanceInitiatedShutdownBehavior?: InstanceInitiatedShutdownBehavior;
|
|
308
|
+
/**
|
|
309
|
+
* If this property is defined, then the Launch Template's InstanceMarketOptions will be
|
|
310
|
+
* set to use Spot instances, and the options for the Spot instances will be as defined.
|
|
311
|
+
*
|
|
312
|
+
* @default - Instance launched with this template will not be spot instances.
|
|
313
|
+
*/
|
|
314
|
+
readonly spotOptions?: LaunchTemplateSpotOptions;
|
|
315
|
+
/**
|
|
316
|
+
* Name of SSH keypair to grant access to instance
|
|
317
|
+
*
|
|
318
|
+
* @default - No SSH access will be possible.
|
|
319
|
+
* @deprecated - Use `keyPair` instead - https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2-readme.html#using-an-existing-ec2-key-pair
|
|
320
|
+
*/
|
|
321
|
+
readonly keyName?: string;
|
|
322
|
+
/**
|
|
323
|
+
* The SSH keypair to grant access to the instance.
|
|
324
|
+
*
|
|
325
|
+
* @default - No SSH access will be possible.
|
|
326
|
+
*/
|
|
327
|
+
readonly keyPair?: IKeyPair;
|
|
328
|
+
/**
|
|
329
|
+
* If set to true, then detailed monitoring will be enabled on instances created with this
|
|
330
|
+
* launch template.
|
|
331
|
+
*
|
|
332
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html
|
|
333
|
+
*
|
|
334
|
+
* @default False - Detailed monitoring is disabled.
|
|
335
|
+
*/
|
|
336
|
+
readonly detailedMonitoring?: boolean;
|
|
337
|
+
/**
|
|
338
|
+
* Security group to assign to instances created with the launch template.
|
|
339
|
+
*
|
|
340
|
+
* @default No security group is assigned.
|
|
341
|
+
*/
|
|
342
|
+
readonly securityGroup?: ISecurityGroup;
|
|
343
|
+
/**
|
|
344
|
+
* Whether IMDSv2 should be required on launched instances.
|
|
345
|
+
*
|
|
346
|
+
* @default - false
|
|
347
|
+
*/
|
|
348
|
+
readonly requireImdsv2?: boolean;
|
|
349
|
+
/**
|
|
350
|
+
* Enables or disables the HTTP metadata endpoint on your instances.
|
|
351
|
+
*
|
|
352
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-httpendpoint
|
|
353
|
+
*
|
|
354
|
+
* @default true
|
|
355
|
+
*/
|
|
356
|
+
readonly httpEndpoint?: boolean;
|
|
357
|
+
/**
|
|
358
|
+
* Enables or disables the IPv6 endpoint for the instance metadata service.
|
|
359
|
+
*
|
|
360
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-httpprotocolipv6
|
|
361
|
+
*
|
|
362
|
+
* @default true
|
|
363
|
+
*/
|
|
364
|
+
readonly httpProtocolIpv6?: boolean;
|
|
365
|
+
/**
|
|
366
|
+
* The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.
|
|
367
|
+
*
|
|
368
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-httpputresponsehoplimit
|
|
369
|
+
*
|
|
370
|
+
* @default 1
|
|
371
|
+
*/
|
|
372
|
+
readonly httpPutResponseHopLimit?: number;
|
|
373
|
+
/**
|
|
374
|
+
* The state of token usage for your instance metadata requests. The default state is `optional` if not specified. However,
|
|
375
|
+
* if requireImdsv2 is true, the state must be `required`.
|
|
376
|
+
*
|
|
377
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-httptokens
|
|
378
|
+
*
|
|
379
|
+
* @default LaunchTemplateHttpTokens.OPTIONAL
|
|
380
|
+
*/
|
|
381
|
+
readonly httpTokens?: LaunchTemplateHttpTokens;
|
|
382
|
+
/**
|
|
383
|
+
* Set to enabled to allow access to instance tags from the instance metadata. Set to disabled to turn off access to instance tags from the instance metadata.
|
|
384
|
+
*
|
|
385
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-instancemetadatatags
|
|
386
|
+
*
|
|
387
|
+
* @default false
|
|
388
|
+
*/
|
|
389
|
+
readonly instanceMetadataTags?: boolean;
|
|
390
|
+
/**
|
|
391
|
+
* Whether instances should have a public IP addresses associated with them.
|
|
392
|
+
*
|
|
393
|
+
* @default - Use subnet settings
|
|
394
|
+
*/
|
|
395
|
+
readonly associatePublicIpAddress?: boolean;
|
|
396
|
+
/**
|
|
397
|
+
* The instance profile used to pass role information to EC2 instances.
|
|
398
|
+
*
|
|
399
|
+
* Note: You can provide an instanceProfile or a role, but not both.
|
|
400
|
+
*
|
|
401
|
+
* @default - No instance profile
|
|
402
|
+
*/
|
|
403
|
+
readonly instanceProfile?: iam.IInstanceProfile;
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* A class that provides convenient access to special version tokens for LaunchTemplate
|
|
407
|
+
* versions.
|
|
408
|
+
*/
|
|
409
|
+
export declare class LaunchTemplateSpecialVersions {
|
|
410
|
+
/**
|
|
411
|
+
* The special value that denotes that users of a Launch Template should
|
|
412
|
+
* reference the LATEST version of the template.
|
|
413
|
+
*/
|
|
414
|
+
static readonly LATEST_VERSION: string;
|
|
415
|
+
/**
|
|
416
|
+
* The special value that denotes that users of a Launch Template should
|
|
417
|
+
* reference the DEFAULT version of the template.
|
|
418
|
+
*/
|
|
419
|
+
static readonly DEFAULT_VERSION: string;
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Attributes for an imported LaunchTemplate.
|
|
423
|
+
*/
|
|
424
|
+
export interface LaunchTemplateAttributes {
|
|
425
|
+
/**
|
|
426
|
+
* The version number of this launch template to use
|
|
427
|
+
*
|
|
428
|
+
* @default Version: "$Default"
|
|
429
|
+
*/
|
|
430
|
+
readonly versionNumber?: string;
|
|
431
|
+
/**
|
|
432
|
+
* The identifier of the Launch Template
|
|
433
|
+
*
|
|
434
|
+
* Exactly one of `launchTemplateId` and `launchTemplateName` may be set.
|
|
435
|
+
*
|
|
436
|
+
* @default None
|
|
437
|
+
*/
|
|
438
|
+
readonly launchTemplateId?: string;
|
|
439
|
+
/**
|
|
440
|
+
* The name of the Launch Template
|
|
441
|
+
*
|
|
442
|
+
* Exactly one of `launchTemplateId` and `launchTemplateName` may be set.
|
|
443
|
+
*
|
|
444
|
+
* @default None
|
|
445
|
+
*/
|
|
446
|
+
readonly launchTemplateName?: string;
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* This represents an EC2 LaunchTemplate.
|
|
450
|
+
*
|
|
451
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html
|
|
452
|
+
*/
|
|
453
|
+
export declare class LaunchTemplate extends AwsConstructBase implements ILaunchTemplate, iam.IGrantable, IConnectable {
|
|
454
|
+
/**
|
|
455
|
+
* Import an existing LaunchTemplate.
|
|
456
|
+
*/
|
|
457
|
+
static fromLaunchTemplateAttributes(scope: Construct, id: string, attrs: LaunchTemplateAttributes): ILaunchTemplate;
|
|
458
|
+
get launchTemplateOutputs(): LaunchTemplateOutputs;
|
|
459
|
+
get outputs(): Record<string, any>;
|
|
460
|
+
readonly versionNumber: string;
|
|
461
|
+
readonly launchTemplateId?: string;
|
|
462
|
+
readonly launchTemplateName?: string;
|
|
463
|
+
/**
|
|
464
|
+
* The default version for the launch template.
|
|
465
|
+
*
|
|
466
|
+
* @attribute
|
|
467
|
+
*/
|
|
468
|
+
readonly defaultVersionNumber: string;
|
|
469
|
+
/**
|
|
470
|
+
* The latest version of the launch template.
|
|
471
|
+
*
|
|
472
|
+
* @attribute
|
|
473
|
+
*/
|
|
474
|
+
readonly latestVersionNumber: string;
|
|
475
|
+
/**
|
|
476
|
+
* The type of OS the instance is running.
|
|
477
|
+
*
|
|
478
|
+
* @attribute
|
|
479
|
+
*/
|
|
480
|
+
readonly osType?: OperatingSystemType;
|
|
481
|
+
/**
|
|
482
|
+
* The AMI ID of the image to use
|
|
483
|
+
*
|
|
484
|
+
* @attribute
|
|
485
|
+
*/
|
|
486
|
+
readonly imageId?: string;
|
|
487
|
+
/**
|
|
488
|
+
* IAM Role assumed by instances that are launched from this template.
|
|
489
|
+
*
|
|
490
|
+
* @attribute
|
|
491
|
+
*/
|
|
492
|
+
readonly role?: iam.IRole;
|
|
493
|
+
/**
|
|
494
|
+
* UserData executed by instances that are launched from this template.
|
|
495
|
+
*
|
|
496
|
+
* @attribute
|
|
497
|
+
*/
|
|
498
|
+
readonly userData?: UserData;
|
|
499
|
+
/**
|
|
500
|
+
* Type of instance to launch.
|
|
501
|
+
*
|
|
502
|
+
* @attribute
|
|
503
|
+
*/
|
|
504
|
+
readonly instanceType?: InstanceType;
|
|
505
|
+
readonly resource: tfLaunchTemplate.LaunchTemplate;
|
|
506
|
+
/**
|
|
507
|
+
* Principal to grant permissions to.
|
|
508
|
+
* @internal
|
|
509
|
+
*/
|
|
510
|
+
protected readonly _grantPrincipal?: iam.IPrincipal;
|
|
511
|
+
/**
|
|
512
|
+
* Allows specifying security group connections for the instance.
|
|
513
|
+
* @internal
|
|
514
|
+
*/
|
|
515
|
+
protected readonly _connections?: Connections;
|
|
516
|
+
private _tags;
|
|
517
|
+
set tags(value: Record<string, string>);
|
|
518
|
+
get tags(): Record<string, string>;
|
|
519
|
+
get tagsInput(): Record<string, string> | undefined;
|
|
520
|
+
constructor(scope: Construct, id: string, props?: LaunchTemplateProps);
|
|
521
|
+
private renderMetadataOptions;
|
|
522
|
+
/**
|
|
523
|
+
* Add the security group to the instance.
|
|
524
|
+
*
|
|
525
|
+
* @param securityGroup: The security group to add
|
|
526
|
+
*/
|
|
527
|
+
addSecurityGroup(securityGroup: ISecurityGroup): void;
|
|
528
|
+
/**
|
|
529
|
+
* Allows specifying security group connections for the instance.
|
|
530
|
+
*
|
|
531
|
+
* @note Only available if you provide a securityGroup when constructing the LaunchTemplate.
|
|
532
|
+
*/
|
|
533
|
+
get connections(): Connections;
|
|
534
|
+
/**
|
|
535
|
+
* Principal to grant permissions to.
|
|
536
|
+
*
|
|
537
|
+
* @note Only available if you provide a role when constructing the LaunchTemplate.
|
|
538
|
+
*/
|
|
539
|
+
get grantPrincipal(): iam.IPrincipal;
|
|
540
|
+
}
|