terraconstructs 0.0.25 → 0.1.0
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 +83665 -54911
- package/.mise.toml +1 -1
- package/.nvmrc +1 -1
- package/LICENSE +202 -674
- package/lib/asset-manager.d.ts +23 -0
- package/lib/asset-manager.js +3 -0
- package/lib/asset-staging.d.ts +178 -0
- package/lib/asset-staging.js +589 -0
- package/lib/assets.d.ts +359 -0
- package/lib/assets.js +55 -0
- package/lib/aws/arn.js +16 -15
- package/lib/aws/aws-asset-manager.d.ts +91 -0
- package/lib/aws/aws-asset-manager.js +244 -0
- package/lib/aws/aws-construct.js +1 -1
- package/lib/aws/aws-stack.d.ts +37 -0
- package/lib/aws/aws-stack.js +30 -9
- package/lib/aws/aws-tags.js +2 -2
- package/lib/aws/cloudwatch/actions/appscaling.d.ts +15 -0
- package/lib/aws/cloudwatch/actions/appscaling.js +24 -0
- package/lib/aws/cloudwatch/actions/ec2.js +1 -1
- package/lib/aws/cloudwatch/actions/index.d.ts +3 -0
- package/lib/aws/cloudwatch/actions/index.js +4 -4
- package/lib/aws/cloudwatch/actions/lambda.js +1 -1
- package/lib/aws/cloudwatch/actions/sns.d.ts +14 -0
- package/lib/aws/cloudwatch/actions/sns.js +23 -0
- package/lib/aws/cloudwatch/actions/ssm.d.ts +72 -0
- package/lib/aws/cloudwatch/actions/ssm.js +104 -0
- 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.js +1 -1
- 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/query-definition.js +2 -2
- package/lib/aws/cloudwatch/stats.js +1 -1
- package/lib/aws/cloudwatch/subscription-filter.js +1 -1
- package/lib/aws/cloudwatch/text.js +1 -1
- package/lib/aws/cloudwatch/variable.js +3 -3
- package/lib/aws/cloudwatch/widget.js +1 -1
- package/lib/aws/compute/access-log.d.ts +478 -0
- package/lib/aws/compute/access-log.js +649 -0
- package/lib/aws/compute/activity.js +1 -1
- package/lib/aws/compute/alb/application-listener-action.js +1 -1
- package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
- package/lib/aws/compute/alb/application-listener-rule.js +1 -1
- package/lib/aws/compute/alb/application-listener.js +1 -1
- package/lib/aws/compute/alb/application-load-balancer.js +1 -1
- package/lib/aws/compute/alb/application-target-group.js +1 -1
- package/lib/aws/compute/alb/conditions.js +1 -1
- package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
- package/lib/aws/compute/alb/trust-store.js +1 -1
- package/lib/aws/compute/api-definition.d.ts +106 -0
- package/lib/aws/compute/api-definition.js +200 -0
- package/lib/aws/compute/api-key.d.ts +184 -0
- package/lib/aws/compute/api-key.js +197 -0
- package/lib/aws/compute/apigateway-canned-metrics.generated.d.ts +169 -0
- package/lib/aws/compute/apigateway-canned-metrics.generated.js +63 -0
- package/lib/aws/compute/apigateway-util.d.ts +31 -0
- package/lib/aws/compute/apigateway-util.js +152 -0
- package/lib/aws/compute/architecture.js +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
- package/lib/aws/compute/authorizer.d.ts +35 -0
- package/lib/aws/compute/authorizer.js +28 -0
- package/lib/aws/compute/authorizers/identity-source.d.ts +37 -0
- package/lib/aws/compute/authorizers/identity-source.js +61 -0
- package/lib/aws/compute/authorizers/index.d.ts +2 -0
- package/lib/aws/compute/authorizers/index.js +20 -0
- package/lib/aws/compute/authorizers/lambda.d.ts +140 -0
- package/lib/aws/compute/authorizers/lambda.js +208 -0
- package/lib/aws/compute/base-path-mapping.d.ts +49 -0
- package/lib/aws/compute/base-path-mapping.js +52 -0
- package/lib/aws/compute/base-scalable-attribute.js +3 -3
- package/lib/aws/compute/bastion-host.js +1 -1
- package/lib/aws/compute/chain.js +1 -1
- package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
- package/lib/aws/compute/client-vpn-endpoint.js +2 -2
- package/lib/aws/compute/client-vpn-route.js +2 -2
- package/lib/aws/compute/code.d.ts +415 -0
- package/lib/aws/compute/code.js +424 -0
- package/lib/aws/compute/condition.js +1 -1
- package/lib/aws/compute/connections.js +1 -1
- package/lib/aws/compute/cors.d.ts +102 -0
- package/lib/aws/compute/cors.js +33 -0
- package/lib/aws/compute/deployment.d.ts +83 -0
- package/lib/aws/compute/deployment.js +158 -0
- package/lib/aws/compute/domain-name.d.ts +153 -0
- package/lib/aws/compute/domain-name.js +158 -0
- package/lib/aws/compute/event-invoke-config.d.ts +2 -2
- package/lib/aws/compute/event-invoke-config.js +4 -4
- package/lib/aws/compute/event-source-filter.js +2 -2
- package/lib/aws/compute/event-source-mapping.d.ts +2 -2
- package/lib/aws/compute/event-source-mapping.js +9 -7
- 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 +3 -2
- package/lib/aws/compute/fields.js +4 -4
- package/lib/aws/compute/function-alias.d.ts +1 -0
- package/lib/aws/compute/function-alias.js +8 -2
- package/lib/aws/compute/function-base.d.ts +15 -0
- package/lib/aws/compute/function-base.js +4 -4
- 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/bundling.d.ts +75 -0
- package/lib/aws/compute/function-nodejs/bundling.js +405 -0
- package/lib/aws/compute/function-nodejs/function.d.ts +99 -0
- package/lib/aws/compute/function-nodejs/function.js +175 -0
- package/lib/aws/compute/function-nodejs/index.d.ts +2 -0
- package/lib/aws/compute/function-nodejs/index.js +19 -0
- package/lib/aws/compute/function-nodejs/package-installation.d.ts +8 -0
- package/lib/aws/compute/function-nodejs/package-installation.js +36 -0
- package/lib/aws/compute/function-nodejs/package-manager.d.ts +33 -0
- package/lib/aws/compute/function-nodejs/package-manager.js +99 -0
- package/lib/aws/compute/function-nodejs/types.d.ts +410 -0
- package/lib/aws/compute/function-nodejs/types.js +81 -0
- package/lib/aws/compute/function-nodejs/util.d.ts +60 -0
- package/lib/aws/compute/function-nodejs/util.js +202 -0
- package/lib/aws/compute/function-url.d.ts +2 -2
- package/lib/aws/compute/function-url.js +4 -4
- package/lib/aws/compute/function.d.ts +34 -4
- package/lib/aws/compute/function.js +91 -17
- package/lib/aws/compute/gateway-response.d.ts +157 -0
- package/lib/aws/compute/gateway-response.js +156 -0
- package/lib/aws/compute/handler.d.ts +10 -0
- package/lib/aws/compute/handler.js +20 -0
- package/lib/aws/compute/index.d.ts +27 -0
- package/lib/aws/compute/index.js +29 -1
- package/lib/aws/compute/instance-types.js +1 -1
- package/lib/aws/compute/instance.js +1 -1
- package/lib/aws/compute/integration.d.ts +311 -0
- package/lib/aws/compute/integration.js +165 -0
- package/lib/aws/compute/integrations/aws.d.ts +72 -0
- package/lib/aws/compute/integrations/aws.js +55 -0
- package/lib/aws/compute/integrations/http.d.ts +37 -0
- package/lib/aws/compute/integrations/http.js +35 -0
- package/lib/aws/compute/integrations/index.d.ts +6 -0
- package/lib/aws/compute/integrations/index.js +24 -0
- package/lib/aws/compute/integrations/lambda.d.ts +40 -0
- package/lib/aws/compute/integrations/lambda.js +73 -0
- package/lib/aws/compute/integrations/mock.d.ts +16 -0
- package/lib/aws/compute/integrations/mock.js +30 -0
- package/lib/aws/compute/integrations/request-context.d.ts +144 -0
- package/lib/aws/compute/integrations/request-context.js +3 -0
- package/lib/aws/compute/integrations/stepfunctions.d.ts +102 -0
- package/lib/aws/compute/integrations/stepfunctions.js +268 -0
- package/lib/aws/compute/ip-addresses.js +2 -2
- package/lib/aws/compute/ipam.js +1 -1
- package/lib/aws/compute/json-schema.d.ts +75 -0
- package/lib/aws/compute/json-schema.js +23 -0
- package/lib/aws/compute/key-pair.js +1 -1
- package/lib/aws/compute/lambda-api.d.ts +46 -0
- package/lib/aws/compute/lambda-api.js +64 -0
- package/lib/aws/compute/launch-template.js +2 -2
- package/lib/aws/compute/lb-shared/base-listener.js +1 -1
- package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
- package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
- package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
- package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
- package/lib/aws/compute/lb-targets/alb-target.js +3 -3
- package/lib/aws/compute/lb-targets/instance-target.js +2 -2
- package/lib/aws/compute/lb-targets/ip-target.js +1 -1
- package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
- package/lib/aws/compute/load-balancer.js +3 -3
- package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
- package/lib/aws/compute/machine-image/common.js +1 -1
- package/lib/aws/compute/machine-image/machine-image.js +8 -8
- package/lib/aws/compute/method.d.ts +219 -0
- package/lib/aws/compute/method.js +396 -0
- package/lib/aws/compute/methodresponse.d.ts +28 -0
- package/lib/aws/compute/methodresponse.js +3 -0
- package/lib/aws/compute/model.d.ts +143 -0
- package/lib/aws/compute/model.js +141 -0
- package/lib/aws/compute/nat.js +5 -5
- package/lib/aws/compute/network-acl-types.js +2 -2
- package/lib/aws/compute/network-acl.js +3 -3
- package/lib/aws/compute/nlb/network-listener-action.js +1 -1
- package/lib/aws/compute/nlb/network-listener.js +1 -1
- package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
- package/lib/aws/compute/nlb/network-target-group.js +1 -1
- package/lib/aws/compute/peer.js +1 -1
- package/lib/aws/compute/placement-group.js +1 -1
- package/lib/aws/compute/port.js +1 -1
- package/lib/aws/compute/prefix-list.js +1 -1
- package/lib/aws/compute/requestvalidator.d.ts +50 -0
- package/lib/aws/compute/requestvalidator.js +59 -0
- package/lib/aws/compute/resource.d.ts +223 -0
- package/lib/aws/compute/resource.js +316 -0
- package/lib/aws/compute/restapi.d.ts +510 -0
- package/lib/aws/compute/restapi.js +626 -0
- package/lib/aws/compute/route.js +8 -8
- package/lib/aws/compute/runtime.d.ts +282 -0
- package/lib/aws/compute/runtime.js +337 -0
- package/lib/aws/compute/scalable-target.js +3 -3
- package/lib/aws/compute/schedule.js +3 -3
- package/lib/aws/compute/security-group.js +1 -1
- package/lib/aws/compute/stage.d.ts +350 -0
- package/lib/aws/compute/stage.js +304 -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.js +4 -4
- 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 +1 -1
- 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/step-scaling-action.js +3 -3
- package/lib/aws/compute/step-scaling-policy.js +1 -1
- package/lib/aws/compute/stepfunctions-api.d.ts +103 -0
- package/lib/aws/compute/stepfunctions-api.js +39 -0
- package/lib/aws/compute/subnet-v2.js +2 -2
- package/lib/aws/compute/subnet.js +1 -1
- package/lib/aws/compute/target-tracking-scaling-policy.js +3 -3
- 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/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 +1 -1
- package/lib/aws/compute/usage-plan.d.ts +194 -0
- package/lib/aws/compute/usage-plan.js +174 -0
- package/lib/aws/compute/user-data.js +3 -3
- package/lib/aws/compute/volume.js +2 -2
- package/lib/aws/compute/vpc-endpoint-service.js +1 -1
- package/lib/aws/compute/vpc-endpoint.js +6 -6
- package/lib/aws/compute/vpc-flow-logs.js +4 -4
- package/lib/aws/compute/vpc-link.d.ts +104 -0
- package/lib/aws/compute/vpc-link.js +137 -0
- package/lib/aws/compute/vpc-v2-base.js +1 -1
- package/lib/aws/compute/vpc-v2.js +2 -2
- package/lib/aws/compute/vpc.js +4 -4
- package/lib/aws/compute/vpn.js +3 -3
- package/lib/aws/edge/certificate.js +1 -1
- package/lib/aws/edge/distribution.js +3 -3
- package/lib/aws/edge/dns-alias-record-targets.js +3 -3
- package/lib/aws/edge/dns-record.js +13 -13
- package/lib/aws/edge/dns-zone.js +1 -1
- package/lib/aws/edge/function.js +2 -2
- package/lib/aws/edge/key-value-store.js +4 -4
- package/lib/aws/edge/origin.js +3 -3
- 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/group.js +1 -1
- package/lib/aws/iam/instance-profile.js +1 -1
- package/lib/aws/iam/managed-policy.js +1 -1
- package/lib/aws/iam/oidc-provider.js +1 -1
- package/lib/aws/iam/policy-document.js +1 -1
- package/lib/aws/iam/policy-statement.js +1 -1
- package/lib/aws/iam/policy.js +1 -1
- package/lib/aws/iam/principals.js +20 -20
- package/lib/aws/iam/role.js +1 -1
- package/lib/aws/iam/saml-provider.js +2 -2
- package/lib/aws/iam/unknown-principal.js +1 -1
- package/lib/aws/iam/user.js +5 -5
- package/lib/aws/index.d.ts +1 -0
- package/lib/aws/index.js +4 -1
- package/lib/aws/network/simple-ipv4-vpc.js +1 -1
- package/lib/aws/network/subnet-group.js +3 -3
- package/lib/aws/network/subnet.js +4 -4
- package/lib/aws/notify/archive.js +1 -1
- package/lib/aws/notify/connection.js +3 -3
- package/lib/aws/notify/event-bus.js +3 -3
- package/lib/aws/notify/event-pattern.js +1 -1
- package/lib/aws/notify/input.js +2 -2
- package/lib/aws/notify/kinesis-stream.js +1 -1
- package/lib/aws/notify/notification-rule.d.ts +1 -1
- package/lib/aws/notify/notification-rule.js +5 -5
- package/lib/aws/notify/policy.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 +1 -1
- package/lib/aws/notify/schedule.js +1 -1
- package/lib/aws/notify/subscription-filter.js +1 -1
- package/lib/aws/notify/subscription.js +4 -4
- package/lib/aws/notify/subscriptions/email.js +1 -1
- package/lib/aws/notify/subscriptions/lambda.js +1 -1
- package/lib/aws/notify/subscriptions/sms.js +1 -1
- package/lib/aws/notify/subscriptions/sqs.js +1 -1
- package/lib/aws/notify/subscriptions/url.js +1 -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/topic-base.js +1 -1
- package/lib/aws/notify/topic.js +6 -5
- package/lib/aws/partition.d.ts +21 -0
- package/lib/aws/partition.js +42 -0
- package/lib/aws/storage/assets/image-asset.d.ts +379 -0
- package/lib/aws/storage/assets/image-asset.js +247 -0
- package/lib/aws/storage/assets/index.d.ts +2 -0
- package/lib/aws/storage/assets/index.js +21 -0
- package/lib/aws/storage/assets/s3.d.ts +125 -0
- package/lib/aws/storage/assets/s3.js +80 -0
- package/lib/aws/storage/auth-token.d.ts +25 -0
- package/lib/aws/storage/auth-token.js +54 -0
- package/lib/aws/storage/billing.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.d.ts +1 -1
- package/lib/aws/storage/bucket-source.js +4 -4
- package/lib/aws/storage/bucket.d.ts +14 -6
- package/lib/aws/storage/bucket.js +48 -40
- package/lib/aws/storage/capacity.js +1 -1
- package/lib/aws/storage/ecr-lifecycle.d.ts +88 -0
- package/lib/aws/storage/ecr-lifecycle.js +23 -0
- package/lib/aws/storage/ecr-repository.d.ts +446 -0
- package/lib/aws/storage/ecr-repository.js +685 -0
- package/lib/aws/storage/encryption.js +1 -1
- package/lib/aws/storage/index.d.ts +5 -0
- package/lib/aws/storage/index.js +10 -3
- package/lib/aws/storage/location.d.ts +17 -0
- package/lib/aws/storage/location.js +4 -0
- package/lib/aws/storage/notification-targets/function.js +1 -1
- package/lib/aws/storage/notification-targets/queue.js +1 -1
- package/lib/aws/storage/origin-access-identity.js +1 -1
- package/lib/aws/storage/parameter.js +2 -2
- package/lib/aws/storage/table.js +3 -3
- package/lib/aws/storage/util.d.ts +8 -20
- package/lib/aws/storage/util.js +56 -34
- package/lib/aws/util.d.ts +1 -0
- package/lib/aws/util.js +6 -1
- package/lib/bundling.d.ts +434 -0
- package/lib/bundling.js +368 -0
- package/lib/construct-base.js +2 -2
- package/lib/duration.js +1 -1
- package/lib/expiration.js +1 -1
- package/lib/fs/copy.d.ts +2 -0
- package/lib/fs/copy.js +57 -0
- package/lib/fs/fingerprint.d.ts +21 -0
- package/lib/fs/fingerprint.js +165 -0
- package/lib/fs/ignore.d.ts +107 -0
- package/lib/fs/ignore.js +190 -0
- package/lib/fs/index.d.ts +47 -0
- package/lib/fs/index.js +88 -0
- package/lib/fs/options.d.ts +110 -0
- package/lib/fs/options.js +60 -0
- package/lib/fs/utils.d.ts +11 -0
- package/lib/fs/utils.js +34 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.js +7 -1
- package/lib/private/asset-staging.d.ts +83 -0
- package/lib/private/asset-staging.js +205 -0
- package/lib/private/cache.d.ts +17 -0
- package/lib/private/cache.js +35 -0
- package/lib/private/jsii-deprecated.d.ts +2 -0
- package/lib/private/jsii-deprecated.js +19 -0
- package/lib/private/unique-resource-name.js +3 -2
- package/lib/size.js +1 -1
- package/lib/stack-base.js +1 -1
- package/lib/terra-func.js +2 -2
- package/lib/time-zone.js +1 -1
- package/node_modules/@balena/dockerignore/CHANGELOG.md +31 -0
- package/node_modules/@balena/dockerignore/LICENSE.md +206 -0
- package/node_modules/@balena/dockerignore/README.md +261 -0
- package/node_modules/@balena/dockerignore/ignore.js +363 -0
- package/node_modules/@balena/dockerignore/index.d.ts +45 -0
- package/node_modules/@balena/dockerignore/package.json +49 -0
- package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
- package/node_modules/balanced-match/LICENSE.md +21 -0
- package/node_modules/balanced-match/README.md +97 -0
- package/node_modules/balanced-match/index.js +62 -0
- package/node_modules/balanced-match/package.json +48 -0
- package/node_modules/concat-map/.travis.yml +4 -0
- package/node_modules/concat-map/LICENSE +18 -0
- package/node_modules/concat-map/README.markdown +62 -0
- package/node_modules/concat-map/example/map.js +6 -0
- package/node_modules/concat-map/index.js +13 -0
- package/node_modules/concat-map/package.json +43 -0
- package/node_modules/concat-map/test/map.js +39 -0
- package/node_modules/ignore/LICENSE-MIT +21 -0
- package/node_modules/ignore/README.md +412 -0
- package/node_modules/ignore/index.d.ts +61 -0
- package/node_modules/ignore/index.js +636 -0
- package/node_modules/ignore/legacy.js +559 -0
- package/node_modules/ignore/package.json +74 -0
- package/node_modules/minimatch/LICENSE +15 -0
- package/node_modules/minimatch/README.md +230 -0
- package/node_modules/minimatch/minimatch.js +947 -0
- package/node_modules/minimatch/node_modules/brace-expansion/LICENSE +21 -0
- package/node_modules/minimatch/node_modules/brace-expansion/README.md +129 -0
- package/node_modules/minimatch/node_modules/brace-expansion/index.js +201 -0
- package/node_modules/minimatch/node_modules/brace-expansion/package.json +47 -0
- package/node_modules/minimatch/package.json +33 -0
- package/package.json +14 -5
- package/lib/aws/compute/function-nodejs.d.ts +0 -55
- package/lib/aws/compute/function-nodejs.js +0 -70
package/lib/aws/storage/util.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ROUTE_53_BUCKET_WEBSITE_ZONE_IDS = exports.RedirectProtocol = exports.HttpMethods = void 0;
|
|
4
4
|
exports.parseBucketArn = parseBucketArn;
|
|
5
5
|
exports.parseBucketName = parseBucketName;
|
|
6
6
|
exports.normalPath = normalPath;
|
|
7
7
|
exports.s3StaticWebsiteEndpoint = s3StaticWebsiteEndpoint;
|
|
8
|
-
exports.
|
|
8
|
+
exports.s3StaticWebsiteHostedZoneId = s3StaticWebsiteHostedZoneId;
|
|
9
9
|
const cdktf_1 = require("cdktf");
|
|
10
10
|
const arn_1 = require("../arn");
|
|
11
11
|
const aws_stack_1 = require("../aws-stack");
|
|
12
|
+
const partition_1 = require("../partition");
|
|
12
13
|
function parseBucketArn(construct, props) {
|
|
13
14
|
// if we have an explicit bucket ARN, use it.
|
|
14
15
|
if (props.bucketArn) {
|
|
@@ -87,6 +88,7 @@ function normalPath(path) {
|
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
90
|
// https://github.com/aws/aws-cdk/blob/v2.181.1/packages/aws-cdk-lib/region-info/lib/aws-entities.ts#L27
|
|
91
|
+
// ref: AWS_REGIONS_AND_RULES > RULE_S3_WEBSITE_REGIONAL_SUBDOMAIN
|
|
90
92
|
/**
|
|
91
93
|
* regions introduced before s3 website started using a regional subdomain
|
|
92
94
|
* After this point, S3 website domains look like `s3-website.REGION.s3.amazonaws.com`
|
|
@@ -106,47 +108,67 @@ const BEFORE_S3_WEBSITE_REGIONAL_SUBDOMAIN = [
|
|
|
106
108
|
];
|
|
107
109
|
// https://github.com/aws/aws-cdk/blob/v2.181.1/packages/aws-cdk-lib/region-info/build-tools/generate-static-data.ts#L73
|
|
108
110
|
function s3StaticWebsiteEndpoint(region) {
|
|
109
|
-
// NOTE: This function is not used instead we use the s3 bucket datasource
|
|
110
111
|
if (cdktf_1.Token.isUnresolved(region)) {
|
|
111
112
|
throw new Error("Cannot determine S3 website endpoint for unresolved region");
|
|
112
113
|
}
|
|
113
|
-
const { domainSuffix } = partitionLookup(region);
|
|
114
|
+
const { domainSuffix } = (0, partition_1.partitionLookup)(region);
|
|
114
115
|
if (BEFORE_S3_WEBSITE_REGIONAL_SUBDOMAIN.includes(region)) {
|
|
115
116
|
return `s3-website-${region}.${domainSuffix}`;
|
|
116
117
|
}
|
|
117
118
|
return `s3-website.${region}.${domainSuffix}`;
|
|
118
119
|
}
|
|
119
|
-
|
|
120
|
+
// Replicated to avoid CDKTF Tokens
|
|
121
|
+
// https://github.com/hashicorp/terraform-provider-aws/blob/v6.0.0/internal/service/s3/hosted_zones.go#L55
|
|
122
|
+
// https://github.com/aws/aws-cdk/blob/v2.186.0/packages/aws-cdk-lib/region-info/build-tools/fact-tables.ts#L7
|
|
123
|
+
/**
|
|
124
|
+
* The hosted zone Id if using an alias record in Route53.
|
|
125
|
+
*
|
|
126
|
+
* @see https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region
|
|
127
|
+
*/
|
|
128
|
+
exports.ROUTE_53_BUCKET_WEBSITE_ZONE_IDS = {
|
|
129
|
+
"af-south-1": "Z11KHD8FBVPUYU",
|
|
130
|
+
"ap-east-1": "ZNB98KWMFR0R6",
|
|
131
|
+
"ap-northeast-1": "Z2M4EHUR26P7ZW",
|
|
132
|
+
"ap-northeast-2": "Z3W03O7B5YMIYP",
|
|
133
|
+
"ap-northeast-3": "Z2YQB5RD63NC85",
|
|
134
|
+
"ap-south-1": "Z11RGJOFQNVJUP",
|
|
135
|
+
"ap-south-2": "Z02976202B4EZMXIPMXF7",
|
|
136
|
+
"ap-southeast-1": "Z3O0J2DXBE1FTB",
|
|
137
|
+
"ap-southeast-2": "Z1WCIGYICN2BYD",
|
|
138
|
+
"ap-southeast-3": "Z01846753K324LI26A3VV",
|
|
139
|
+
"ap-southeast-4": "Z0312387243XT5FE14WFO",
|
|
140
|
+
"ap-southeast-5": "Z08660063OXLMA7F1FJHU",
|
|
141
|
+
"ca-central-1": "Z1QDHH18159H29",
|
|
142
|
+
"cn-north-1": "Z5CN8UMXT92WN",
|
|
143
|
+
"cn-northwest-1": "Z282HJ1KT0DH03",
|
|
144
|
+
"eu-central-1": "Z21DNDUVLTQW6Q",
|
|
145
|
+
"eu-central-2": "Z030506016YDQGETNASS",
|
|
146
|
+
"eu-north-1": "Z3BAZG2TWCNX0D",
|
|
147
|
+
"eu-south-1": "Z3IXVV8C73GIO3",
|
|
148
|
+
"eu-south-2": "Z0081959F7139GRJC19J",
|
|
149
|
+
"eu-west-1": "Z1BKCTXD74EZPE",
|
|
150
|
+
"eu-west-2": "Z3GKZC51ZF0DB4",
|
|
151
|
+
"eu-west-3": "Z3R1K369G5AVDG",
|
|
152
|
+
"il-central-1": "Z09640613K4A3MN55U7GU",
|
|
153
|
+
"me-central-1": "Z06143092I8HRXZRUZROF",
|
|
154
|
+
"me-south-1": "Z1MPMWCPA7YB62",
|
|
155
|
+
"sa-east-1": "Z7KQH4QJS55SO",
|
|
156
|
+
"us-east-1": "Z3AQBSTGFYJSTF",
|
|
157
|
+
"us-east-2": "Z2O1EMRO9K5GLX",
|
|
158
|
+
"us-gov-east-1": "Z2NIFVYYW2VKV1",
|
|
159
|
+
"us-gov-west-1": "Z31GFT0UA1I2HV",
|
|
160
|
+
"us-west-1": "Z2F56UZL2M1ACD",
|
|
161
|
+
"us-west-2": "Z3BJ6K6RIION7M",
|
|
162
|
+
};
|
|
163
|
+
// https://github.com/aws/aws-cdk/blob/v2.181.1/packages/aws-cdk-lib/region-info/build-tools/generate-static-data.ts#L77
|
|
164
|
+
function s3StaticWebsiteHostedZoneId(region) {
|
|
120
165
|
if (cdktf_1.Token.isUnresolved(region)) {
|
|
121
|
-
throw new Error("Cannot determine
|
|
166
|
+
throw new Error("Cannot determine S3 hosted ZoneId for unresolved region");
|
|
122
167
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
if (region.startsWith(key)) {
|
|
127
|
-
partition = exports.PARTITION_MAP[key].partition;
|
|
128
|
-
domainSuffix = exports.PARTITION_MAP[key].domainSuffix;
|
|
129
|
-
}
|
|
168
|
+
const hostedZoneId = exports.ROUTE_53_BUCKET_WEBSITE_ZONE_IDS[region];
|
|
169
|
+
if (!hostedZoneId) {
|
|
170
|
+
throw new Error(`No hosted zone ID found for S3 static website in region: ${region}`);
|
|
130
171
|
}
|
|
131
|
-
return
|
|
172
|
+
return hostedZoneId;
|
|
132
173
|
}
|
|
133
|
-
var Partition;
|
|
134
|
-
(function (Partition) {
|
|
135
|
-
Partition["Default"] = "aws";
|
|
136
|
-
Partition["Cn"] = "aws-cn";
|
|
137
|
-
Partition["UsGov"] = "aws-us-gov";
|
|
138
|
-
Partition["UsIso"] = "aws-iso";
|
|
139
|
-
Partition["UsIsoB"] = "aws-iso-b";
|
|
140
|
-
Partition["UsIsoF"] = "aws-iso-f";
|
|
141
|
-
Partition["EuIsoE"] = "aws-iso-e";
|
|
142
|
-
})(Partition || (Partition = {}));
|
|
143
|
-
exports.PARTITION_MAP = {
|
|
144
|
-
default: { partition: Partition.Default, domainSuffix: "amazonaws.com" },
|
|
145
|
-
"cn-": { partition: Partition.Cn, domainSuffix: "amazonaws.com.cn" },
|
|
146
|
-
"us-gov-": { partition: Partition.UsGov, domainSuffix: "amazonaws.com" },
|
|
147
|
-
"us-iso-": { partition: Partition.UsIso, domainSuffix: "c2s.ic.gov" },
|
|
148
|
-
"us-isob-": { partition: Partition.UsIsoB, domainSuffix: "sc2s.sgov.gov" },
|
|
149
|
-
"us-isof-": { partition: Partition.UsIsoF, domainSuffix: "csp.hci.ic.gov" },
|
|
150
|
-
"eu-isoe-": { partition: Partition.EuIsoE, domainSuffix: "cloud.adc-e.uk" },
|
|
151
|
-
};
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvc3RvcmFnZS91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLHdDQXVCQztBQUVELDBDQW1CQztBQXVDRCxnQ0FXQztBQXVCRCwwREFZQztBQUVELDBDQWlCQztBQTFKRCxpQ0FBOEI7QUFFOUIsZ0NBQW1DO0FBQ25DLDRDQUF3QztBQUd4QyxTQUFnQixjQUFjLENBQzVCLFNBQXFCLEVBQ3JCLEtBQXVCO0lBRXZCLDZDQUE2QztJQUM3QyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sb0JBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2xELHNEQUFzRDtZQUN0RCw2REFBNkQ7WUFDN0QsTUFBTSxFQUFFLEVBQUU7WUFDVixPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLEtBQUssQ0FBQyxVQUFVO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUNiLDZFQUE2RSxDQUM5RSxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FDN0IsU0FBcUIsRUFDckIsS0FBdUI7SUFFdkIsOENBQThDO0lBQzlDLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMxQixDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sb0JBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUNoRCxLQUFLLENBQUMsU0FBUyxFQUNmLGVBQVMs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Q3JDLENBQUM7QUFFRCxJQUFLLFNBUUo7QUFSRCxXQUFLLFNBQVM7SUFDWiw0QkFBZSxDQUFBO0lBQ2YsMEJBQWEsQ0FBQTtJQUNiLGlDQUFvQixDQUFBO0lBQ3BCLDhCQUFpQixDQUFBO0lBQ2pCLGlDQUFvQixDQUFBO0lBQ3BCLGlDQUFvQixDQUFBO0lBQ3BCLGlDQUFvQixDQUFBO0FBQ3RCLENBQUMsRUFSSSxTQUFTLEtBQVQsU0FBUyxRQVFiO0FBTVksUUFBQSxhQUFhLEdBQWlDO0lBQ3pELE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUU7SUFDeEUsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFO0lBQ3BFLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUU7SUFDeEUsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRTtJQUNyRSxVQUFVLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFO0lBQzFFLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRTtJQUMzRSxVQUFVLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUU7Q0FDNUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRva2VuIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFybkZvcm1hdCB9IGZyb20gXCIuLi9hcm5cIjtcbmltcG9ydCB7IEF3c1N0YWNrIH0gZnJvbSBcIi4uL2F3cy1zdGFja1wiO1xuaW1wb3J0IHsgQnVja2V0QXR0cmlidXRlcyB9IGZyb20gXCIuL2J1Y2tldFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VCdWNrZXRBcm4oXG4gIGNvbnN0cnVjdDogSUNvbnN0cnVjdCxcbiAgcHJvcHM6IEJ1Y2tldEF0dHJpYnV0ZXMsXG4pOiBzdHJpbmcge1xuICAvLyBpZiB3ZSBoYXZlIGFuIGV4cGxpY2l0IGJ1Y2tldCBBUk4sIHVzZSBpdC5cbiAgaWYgKHByb3BzLmJ1Y2tldEFybikge1xuICAgIHJldHVybiBwcm9wcy5idWNrZXRBcm47XG4gIH1cblxuICBpZiAocHJvcHMuYnVja2V0TmFtZSkge1xuICAgIHJldHVybiBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChjb25zdHJ1Y3QpLmZvcm1hdEFybih7XG4gICAgICAvLyBTMyBCdWNrZXQgbmFtZXMgYXJlIGdsb2JhbGx5IHVuaXF1ZSBpbiBhIHBhcnRpdGlvbixcbiAgICAgIC8vIGFuZCBzbyB0aGVpciBBUk5zIGhhdmUgZW1wdHkgcmVnaW9uIGFuZCBhY2NvdW50IGNvbXBvbmVudHNcbiAgICAgIHJlZ2lvbjogXCJcIixcbiAgICAgIGFjY291bnQ6IFwiXCIsXG4gICAgICBzZXJ2aWNlOiBcInMzXCIsXG4gICAgICByZXNvdXJjZTogcHJvcHMuYnVja2V0TmFtZSxcbiAgICB9KTtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihcbiAgICBcIkNhbm5vdCBkZXRlcm1pbmUgYnVja2V0IEFSTi4gQXQgbGVhc3QgYGJ1Y2tldEFybmAgb3IgYGJ1Y2tldE5hbWVgIGlzIG5lZWRlZFwiLFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VCdWNrZXROYW1lKFxuICBjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QsXG4gIHByb3BzOiBCdWNrZXRBdHRyaWJ1dGVzLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgLy8gaWYgd2UgaGF2ZSBhbiBleHBsaWNpdCBidWNrZXQgbmFtZSwgdXNlIGl0LlxuICBpZiAocHJvcHMuYnVja2V0TmFtZSkge1xuICAgIHJldHVybiBwcm9wcy5idWNrZXROYW1lO1xuICB9XG5cbiAgLy8gZXh0cmFjdCBidWNrZXQgbmFtZSBmcm9tIGJ1Y2tldCBhcm5cbiAgaWYgKHByb3BzLmJ1Y2tldEFybikge1xuICAgIHJldHVybiBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChjb25zdHJ1Y3QpLnNwbGl0QXJuKFxuICAgICAgcHJvcHMuYnVja2V0QXJuLFxuICAgICAgQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgKS5yZXNvdXJjZTtcbiAgfVxuXG4gIC8vIG5vIGJ1Y2tldCBuYW1lIGlzIG9rYXkgc2luY2UgaXQncyBvcHRpb25hbC5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBBbGwgaHR0cCByZXF1ZXN0IG1ldGhvZHNcbiAqL1xuZXhwb3J0IGVudW0gSHR0cE1ldGhvZHMge1xuICAvKipcbiAgICogVGhlIEdFVCBtZXRob2QgcmVxdWVzdHMgYSByZXByZXNlbnRhdGlvbiBvZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlLlxuICAgKi9cbiAgR0VUID0gXCJHRVRcIixcbiAgLyoqXG4gICAqIFRoZSBQVVQgbWV0aG9kIHJlcGxhY2VzIGFsbCBjdXJyZW50IHJlcHJlc2VudGF0aW9ucyBvZiB0aGUgdGFyZ2V0IHJlc291cmNlIHdpdGggdGhlIHJlcXVlc3QgcGF5bG9hZC5cbiAgICovXG4gIFBVVCA9IFwiUFVUXCIsXG4gIC8qKlxuICAgKiBUaGUgSEVBRCBtZXRob2QgYXNrcyBmb3IgYSByZXNwb25zZSBpZGVudGljYWwgdG8gdGhhdCBvZiBhIEdFVCByZXF1ZXN0LCBidXQgd2l0aG91dCB0aGUgcmVzcG9uc2UgYm9keS5cbiAgICovXG4gIEhFQUQgPSBcIkhFQURcIixcbiAgLyoqXG4gICAqIFRoZSBQT1NUIG1ldGhvZCBpcyB1c2VkIHRvIHN1Ym1pdCBhbiBlbnRpdHkgdG8gdGhlIHNwZWNpZmllZCByZXNvdXJjZSwgb2Z0ZW4gY2F1c2luZyBhIGNoYW5nZSBpbiBzdGF0ZSBvciBzaWRlIGVmZmVjdHMgb24gdGhlIHNlcnZlci5cbiAgICovXG4gIFBPU1QgPSBcIlBPU1RcIixcbiAgLyoqXG4gICAqIFRoZSBERUxFVEUgbWV0aG9kIGRlbGV0ZXMgdGhlIHNwZWNpZmllZCByZXNvdXJjZS5cbiAgICovXG4gIERFTEVURSA9IFwiREVMRVRFXCIsXG59XG5cbi8qKlxuICogQWxsIGh0dHAgcmVxdWVzdCBtZXRob2RzXG4gKi9cbmV4cG9ydCBlbnVtIFJlZGlyZWN0UHJvdG9jb2wge1xuICBIVFRQID0gXCJodHRwXCIsXG4gIEhUVFBTID0gXCJodHRwc1wiLFxufVxuXG4vKipcbiAqIE5vcm1hbGl6ZSB3aW5kb3dzIHBhdGhzIHRvIGJlIHBvc2l4LWxpa2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxQYXRoKHBhdGg6IHN0cmluZykge1xuICAvLyByZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS93aW5nbGFuZy93aW5nL2Jsb2IvdjAuODMuOC9saWJzL3dpbmdzZGsvc3JjL3NoYXJlZC9taXNjLnRzI0wxNVxuICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBhdGhcbiAgICAgICAgLy8gZm9yY2UgcG9zaXggcGF0aCBzZXBhcmF0b3JcbiAgICAgICAgLnJlcGxhY2UoL1xcXFwrL2csIFwiL1wiKVxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHBhdGg7XG4gIH1cbn1cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTgxLjEvcGFja2FnZXMvYXdzLWNkay1saWIvcmVnaW9uLWluZm8vbGliL2F3cy1lbnRpdGllcy50cyNMMjdcblxuLyoqXG4gKiByZWdpb25zIGludHJvZHVjZWQgYmVmb3JlIHMzIHdlYnNpdGUgc3RhcnRlZCB1c2luZyBhIHJlZ2lvbmFsIHN1YmRvbWFpblxuICogQWZ0ZXIgdGhpcyBwb2ludCwgUzMgd2Vic2l0ZSBkb21haW5zIGxvb2sgbGlrZSBgczMtd2Vic2l0ZS5SRUdJT04uczMuYW1hem9uYXdzLmNvbWBcbiAqXG4gKiBCZWZvcmUgdGhpcyBwb2ludCwgUzMgd2Vic2l0ZSBkb21haW5zIGxvb2sgbGlrZSBgczMtd2Vic2l0ZS1SRUdJT04uczMuYW1hem9uYXdzLmNvbWAuXG4gKi9cbmNvbnN0IEJFRk9SRV9TM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTjogc3RyaW5nW10gPSBbXG4gIFwidXMtZWFzdC0xXCIsIC8vIFVTIEVhc3QgKE4uIFZpcmdpbmlhKVxuICBcImV1LXdlc3QtMVwiLCAvLyBFdXJvcGUgKElyZWxhbmQpXG4gIFwidXMtd2VzdC0xXCIsIC8vIFVTIFdlc3QgKE4uIENhbGlmb3JuaWEpXG4gIFwiYXAtc291dGhlYXN0LTFcIiwgLy8gQXNpYSBQYWNpZmljIChTaW5nYXBvcmUpXG4gIFwiYXAtbm9ydGhlYXN0LTFcIiwgLy8gQXNpYSBQYWNpZmljIChUb2t5bylcbiAgXCJ1cy1nb3Ytd2VzdC0xXCIsIC8vIEFXUyBHb3ZDbG91ZCAoVVMtV2VzdClcbiAgXCJ1cy13ZXN0LTJcIiwgLy8gVVMgV2VzdCAoT3JlZ29uKVxuICBcInNhLWVhc3QtMVwiLCAvLyBTb3V0aCBBbWVyaWNhIChTw6NvIFBhdWxvKVxuICBcImFwLXNvdXRoZWFzdC0yXCIsIC8vIEFzaWEgUGFjaWZpYyAoU3lkbmV5KVxuXTtcblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTgxLjEvcGFja2FnZXMvYXdzLWNkay1saWIvcmVnaW9uLWluZm8vYnVpbGQtdG9vbHMvZ2VuZXJhdGUtc3RhdGljLWRhdGEudHMjTDczXG5leHBvcnQgZnVuY3Rpb24gczNTdGF0aWNXZWJzaXRlRW5kcG9pbnQocmVnaW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAvLyBOT1RFOiBUaGlzIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIGluc3RlYWQgd2UgdXNlIHRoZSBzMyBidWNrZXQgZGF0YXNvdXJjZVxuICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKHJlZ2lvbikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcIkNhbm5vdCBkZXRlcm1pbmUgUzMgd2Vic2l0ZSBlbmRwb2ludCBmb3IgdW5yZXNvbHZlZCByZWdpb25cIixcbiAgICApO1xuICB9XG4gIGNvbnN0IHsgZG9tYWluU3VmZml4IH0gPSBwYXJ0aXRpb25Mb29rdXAocmVnaW9uKTtcbiAgaWYgKEJFRk9SRV9TM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTi5pbmNsdWRlcyhyZWdpb24pKSB7XG4gICAgcmV0dXJuIGBzMy13ZWJzaXRlLSR7cmVnaW9ufS4ke2RvbWFpblN1ZmZpeH1gO1xuICB9XG4gIHJldHVybiBgczMtd2Vic2l0ZS4ke3JlZ2lvbn0uJHtkb21haW5TdWZmaXh9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnRpdGlvbkxvb2t1cChyZWdpb246IHN0cmluZyk6IHtcbiAgcGFydGl0aW9uOiBQYXJ0aXRpb247XG4gIGRvbWFpblN1ZmZpeDogc3RyaW5nO1xufSB7XG4gIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQocmVnaW9uKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBkZXRlcm1pbmUgcmVnaW9uIHBhcnRpdGlvbiBmb3IgdW5yZXNvbHZlZCByZWdpb25cIik7XG4gIH1cbiAgbGV0IHBhcnRpdGlvbiA9IFBBUlRJVElPTl9NQVAuZGVmYXVsdC5wYXJ0aXRpb247XG4gIGxldCBkb21haW5TdWZmaXggPSBQQVJUSVRJT05fTUFQLmRlZmF1bHQuZG9tYWluU3VmZml4O1xuXG4gIGZvciAoY29uc3Qga2V5IGluIFBBUlRJVElPTl9NQVApIHtcbiAgICBpZiAocmVnaW9uLnN0YXJ0c1dpdGgoa2V5KSkge1xuICAgICAgcGFydGl0aW9uID0gUEFSVElUSU9OX01BUFtrZXldLnBhcnRpdGlvbjtcbiAgICAgIGRvbWFpblN1ZmZpeCA9IFBBUlRJVElPTl9NQVBba2V5XS5kb21haW5TdWZmaXg7XG4gICAgfVxuICB9XG4gIHJldHVybiB7IHBhcnRpdGlvbiwgZG9tYWluU3VmZml4IH07XG59XG5cbmVudW0gUGFydGl0aW9uIHtcbiAgRGVmYXVsdCA9IFwiYXdzXCIsXG4gIENuID0gXCJhd3MtY25cIixcbiAgVXNHb3YgPSBcImF3cy11cy1nb3ZcIixcbiAgVXNJc28gPSBcImF3cy1pc29cIixcbiAgVXNJc29CID0gXCJhd3MtaXNvLWJcIixcbiAgVXNJc29GID0gXCJhd3MtaXNvLWZcIixcbiAgRXVJc29FID0gXCJhd3MtaXNvLWVcIixcbn1cblxuaW50ZXJmYWNlIFJlZ2lvbiB7XG4gIHBhcnRpdGlvbjogUGFydGl0aW9uO1xuICBkb21haW5TdWZmaXg6IHN0cmluZztcbn1cbmV4cG9ydCBjb25zdCBQQVJUSVRJT05fTUFQOiB7IFtyZWdpb246IHN0cmluZ106IFJlZ2lvbiB9ID0ge1xuICBkZWZhdWx0OiB7IHBhcnRpdGlvbjogUGFydGl0aW9uLkRlZmF1bHQsIGRvbWFpblN1ZmZpeDogXCJhbWF6b25hd3MuY29tXCIgfSxcbiAgXCJjbi1cIjogeyBwYXJ0aXRpb246IFBhcnRpdGlvbi5DbiwgZG9tYWluU3VmZml4OiBcImFtYXpvbmF3cy5jb20uY25cIiB9LFxuICBcInVzLWdvdi1cIjogeyBwYXJ0aXRpb246IFBhcnRpdGlvbi5Vc0dvdiwgZG9tYWluU3VmZml4OiBcImFtYXpvbmF3cy5jb21cIiB9LFxuICBcInVzLWlzby1cIjogeyBwYXJ0aXRpb246IFBhcnRpdGlvbi5Vc0lzbywgZG9tYWluU3VmZml4OiBcImMycy5pYy5nb3ZcIiB9LFxuICBcInVzLWlzb2ItXCI6IHsgcGFydGl0aW9uOiBQYXJ0aXRpb24uVXNJc29CLCBkb21haW5TdWZmaXg6IFwic2Mycy5zZ292LmdvdlwiIH0sXG4gIFwidXMtaXNvZi1cIjogeyBwYXJ0aXRpb246IFBhcnRpdGlvbi5Vc0lzb0YsIGRvbWFpblN1ZmZpeDogXCJjc3AuaGNpLmljLmdvdlwiIH0sXG4gIFwiZXUtaXNvZS1cIjogeyBwYXJ0aXRpb246IFBhcnRpdGlvbi5FdUlzb0UsIGRvbWFpblN1ZmZpeDogXCJjbG91ZC5hZGMtZS51a1wiIH0sXG59O1xuIl19
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvc3RvcmFnZS91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU9BLHdDQXVCQztBQUVELDBDQW1CQztBQXVDRCxnQ0FXQztBQXVCRCwwREFXQztBQWdERCxrRUFXQztBQWxNRCxpQ0FBOEI7QUFFOUIsZ0NBQW1DO0FBQ25DLDRDQUF3QztBQUV4Qyw0Q0FBK0M7QUFFL0MsU0FBZ0IsY0FBYyxDQUM1QixTQUFxQixFQUNyQixLQUF1QjtJQUV2Qiw2Q0FBNkM7SUFDN0MsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDcEIsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNyQixPQUFPLG9CQUFRLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNsRCxzREFBc0Q7WUFDdEQsNkRBQTZEO1lBQzdELE1BQU0sRUFBRSxFQUFFO1lBQ1YsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLEVBQUUsSUFBSTtZQUNiLFFBQVEsRUFBRSxLQUFLLENBQUMsVUFBVTtTQUMzQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FDYiw2RUFBNkUsQ0FDOUUsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixlQUFlLENBQzdCLFNBQXFCLEVBQ3JCLEtBQXVCO0lBRXZCLDhDQUE4QztJQUM5QyxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNyQixPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFDMUIsQ0FBQztJQUVELHNDQUFzQztJQUN0QyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNwQixPQUFPLG9CQUFRLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FDaEQsS0FBSyxDQUFDLFNB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QUFzQjtJQUN0QyxZQUFZLEVBQUUsZ0JBQWdCO0lBQzlCLFlBQVksRUFBRSxnQkFBZ0I7SUFDOUIsWUFBWSxFQUFFLHNCQUFzQjtJQUNwQyxXQUFXLEVBQUUsZ0JBQWdCO0lBQzdCLFdBQVcsRUFBRSxnQkFBZ0I7SUFDN0IsV0FBVyxFQUFFLGdCQUFnQjtJQUM3QixjQUFjLEVBQUUsdUJBQXVCO0lBQ3ZDLGNBQWMsRUFBRSx1QkFBdUI7SUFDdkMsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixXQUFXLEVBQUUsZUFBZTtJQUM1QixXQUFXLEVBQUUsZ0JBQWdCO0lBQzdCLFdBQVcsRUFBRSxnQkFBZ0I7SUFDN0IsZUFBZSxFQUFFLGdCQUFnQjtJQUNqQyxlQUFlLEVBQUUsZ0JBQWdCO0lBQ2pDLFdBQVcsRUFBRSxnQkFBZ0I7SUFDN0IsV0FBVyxFQUFFLGdCQUFnQjtDQUM5QixDQUFDO0FBRUYsd0hBQXdIO0FBQ3hILFNBQWdCLDJCQUEyQixDQUFDLE1BQWM7SUFDeEQsSUFBSSxhQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFDRCxNQUFNLFlBQVksR0FBRyx3Q0FBZ0MsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5RCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsTUFBTSxFQUFFLENBQ3JFLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRva2VuIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFybkZvcm1hdCB9IGZyb20gXCIuLi9hcm5cIjtcbmltcG9ydCB7IEF3c1N0YWNrIH0gZnJvbSBcIi4uL2F3cy1zdGFja1wiO1xuaW1wb3J0IHsgQnVja2V0QXR0cmlidXRlcyB9IGZyb20gXCIuL2J1Y2tldFwiO1xuaW1wb3J0IHsgcGFydGl0aW9uTG9va3VwIH0gZnJvbSBcIi4uL3BhcnRpdGlvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VCdWNrZXRBcm4oXG4gIGNvbnN0cnVjdDogSUNvbnN0cnVjdCxcbiAgcHJvcHM6IEJ1Y2tldEF0dHJpYnV0ZXMsXG4pOiBzdHJpbmcge1xuICAvLyBpZiB3ZSBoYXZlIGFuIGV4cGxpY2l0IGJ1Y2tldCBBUk4sIHVzZSBpdC5cbiAgaWYgKHByb3BzLmJ1Y2tldEFybikge1xuICAgIHJldHVybiBwcm9wcy5idWNrZXRBcm47XG4gIH1cblxuICBpZiAocHJvcHMuYnVja2V0TmFtZSkge1xuICAgIHJldHVybiBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChjb25zdHJ1Y3QpLmZvcm1hdEFybih7XG4gICAgICAvLyBTMyBCdWNrZXQgbmFtZXMgYXJlIGdsb2JhbGx5IHVuaXF1ZSBpbiBhIHBhcnRpdGlvbixcbiAgICAgIC8vIGFuZCBzbyB0aGVpciBBUk5zIGhhdmUgZW1wdHkgcmVnaW9uIGFuZCBhY2NvdW50IGNvbXBvbmVudHNcbiAgICAgIHJlZ2lvbjogXCJcIixcbiAgICAgIGFjY291bnQ6IFwiXCIsXG4gICAgICBzZXJ2aWNlOiBcInMzXCIsXG4gICAgICByZXNvdXJjZTogcHJvcHMuYnVja2V0TmFtZSxcbiAgICB9KTtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihcbiAgICBcIkNhbm5vdCBkZXRlcm1pbmUgYnVja2V0IEFSTi4gQXQgbGVhc3QgYGJ1Y2tldEFybmAgb3IgYGJ1Y2tldE5hbWVgIGlzIG5lZWRlZFwiLFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VCdWNrZXROYW1lKFxuICBjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QsXG4gIHByb3BzOiBCdWNrZXRBdHRyaWJ1dGVzLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgLy8gaWYgd2UgaGF2ZSBhbiBleHBsaWNpdCBidWNrZXQgbmFtZSwgdXNlIGl0LlxuICBpZiAocHJvcHMuYnVja2V0TmFtZSkge1xuICAgIHJldHVybiBwcm9wcy5idWNrZXROYW1lO1xuICB9XG5cbiAgLy8gZXh0cmFjdCBidWNrZXQgbmFtZSBmcm9tIGJ1Y2tldCBhcm5cbiAgaWYgKHByb3BzLmJ1Y2tldEFybikge1xuICAgIHJldHVybiBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChjb25zdHJ1Y3QpLnNwbGl0QXJuKFxuICAgICAgcHJvcHMuYnVja2V0QXJuLFxuICAgICAgQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgKS5yZXNvdXJjZTtcbiAgfVxuXG4gIC8vIG5vIGJ1Y2tldCBuYW1lIGlzIG9rYXkgc2luY2UgaXQncyBvcHRpb25hbC5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBBbGwgaHR0cCByZXF1ZXN0IG1ldGhvZHNcbiAqL1xuZXhwb3J0IGVudW0gSHR0cE1ldGhvZHMge1xuICAvKipcbiAgICogVGhlIEdFVCBtZXRob2QgcmVxdWVzdHMgYSByZXByZXNlbnRhdGlvbiBvZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlLlxuICAgKi9cbiAgR0VUID0gXCJHRVRcIixcbiAgLyoqXG4gICAqIFRoZSBQVVQgbWV0aG9kIHJlcGxhY2VzIGFsbCBjdXJyZW50IHJlcHJlc2VudGF0aW9ucyBvZiB0aGUgdGFyZ2V0IHJlc291cmNlIHdpdGggdGhlIHJlcXVlc3QgcGF5bG9hZC5cbiAgICovXG4gIFBVVCA9IFwiUFVUXCIsXG4gIC8qKlxuICAgKiBUaGUgSEVBRCBtZXRob2QgYXNrcyBmb3IgYSByZXNwb25zZSBpZGVudGljYWwgdG8gdGhhdCBvZiBhIEdFVCByZXF1ZXN0LCBidXQgd2l0aG91dCB0aGUgcmVzcG9uc2UgYm9keS5cbiAgICovXG4gIEhFQUQgPSBcIkhFQURcIixcbiAgLyoqXG4gICAqIFRoZSBQT1NUIG1ldGhvZCBpcyB1c2VkIHRvIHN1Ym1pdCBhbiBlbnRpdHkgdG8gdGhlIHNwZWNpZmllZCByZXNvdXJjZSwgb2Z0ZW4gY2F1c2luZyBhIGNoYW5nZSBpbiBzdGF0ZSBvciBzaWRlIGVmZmVjdHMgb24gdGhlIHNlcnZlci5cbiAgICovXG4gIFBPU1QgPSBcIlBPU1RcIixcbiAgLyoqXG4gICAqIFRoZSBERUxFVEUgbWV0aG9kIGRlbGV0ZXMgdGhlIHNwZWNpZmllZCByZXNvdXJjZS5cbiAgICovXG4gIERFTEVURSA9IFwiREVMRVRFXCIsXG59XG5cbi8qKlxuICogQWxsIGh0dHAgcmVxdWVzdCBtZXRob2RzXG4gKi9cbmV4cG9ydCBlbnVtIFJlZGlyZWN0UHJvdG9jb2wge1xuICBIVFRQID0gXCJodHRwXCIsXG4gIEhUVFBTID0gXCJodHRwc1wiLFxufVxuXG4vKipcbiAqIE5vcm1hbGl6ZSB3aW5kb3dzIHBhdGhzIHRvIGJlIHBvc2l4LWxpa2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxQYXRoKHBhdGg6IHN0cmluZykge1xuICAvLyByZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS93aW5nbGFuZy93aW5nL2Jsb2IvdjAuODMuOC9saWJzL3dpbmdzZGsvc3JjL3NoYXJlZC9taXNjLnRzI0wxNVxuICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBhdGhcbiAgICAgICAgLy8gZm9yY2UgcG9zaXggcGF0aCBzZXBhcmF0b3JcbiAgICAgICAgLnJlcGxhY2UoL1xcXFwrL2csIFwiL1wiKVxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHBhdGg7XG4gIH1cbn1cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTgxLjEvcGFja2FnZXMvYXdzLWNkay1saWIvcmVnaW9uLWluZm8vbGliL2F3cy1lbnRpdGllcy50cyNMMjdcbi8vIHJlZjogQVdTX1JFR0lPTlNfQU5EX1JVTEVTID4gUlVMRV9TM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTlxuLyoqXG4gKiByZWdpb25zIGludHJvZHVjZWQgYmVmb3JlIHMzIHdlYnNpdGUgc3RhcnRlZCB1c2luZyBhIHJlZ2lvbmFsIHN1YmRvbWFpblxuICogQWZ0ZXIgdGhpcyBwb2ludCwgUzMgd2Vic2l0ZSBkb21haW5zIGxvb2sgbGlrZSBgczMtd2Vic2l0ZS5SRUdJT04uczMuYW1hem9uYXdzLmNvbWBcbiAqXG4gKiBCZWZvcmUgdGhpcyBwb2ludCwgUzMgd2Vic2l0ZSBkb21haW5zIGxvb2sgbGlrZSBgczMtd2Vic2l0ZS1SRUdJT04uczMuYW1hem9uYXdzLmNvbWAuXG4gKi9cbmNvbnN0IEJFRk9SRV9TM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTjogc3RyaW5nW10gPSBbXG4gIFwidXMtZWFzdC0xXCIsIC8vIFVTIEVhc3QgKE4uIFZpcmdpbmlhKVxuICBcImV1LXdlc3QtMVwiLCAvLyBFdXJvcGUgKElyZWxhbmQpXG4gIFwidXMtd2VzdC0xXCIsIC8vIFVTIFdlc3QgKE4uIENhbGlmb3JuaWEpXG4gIFwiYXAtc291dGhlYXN0LTFcIiwgLy8gQXNpYSBQYWNpZmljIChTaW5nYXBvcmUpXG4gIFwiYXAtbm9ydGhlYXN0LTFcIiwgLy8gQXNpYSBQYWNpZmljIChUb2t5bylcbiAgXCJ1cy1nb3Ytd2VzdC0xXCIsIC8vIEFXUyBHb3ZDbG91ZCAoVVMtV2VzdClcbiAgXCJ1cy13ZXN0LTJcIiwgLy8gVVMgV2VzdCAoT3JlZ29uKVxuICBcInNhLWVhc3QtMVwiLCAvLyBTb3V0aCBBbWVyaWNhIChTw6NvIFBhdWxvKVxuICBcImFwLXNvdXRoZWFzdC0yXCIsIC8vIEFzaWEgUGFjaWZpYyAoU3lkbmV5KVxuXTtcblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTgxLjEvcGFja2FnZXMvYXdzLWNkay1saWIvcmVnaW9uLWluZm8vYnVpbGQtdG9vbHMvZ2VuZXJhdGUtc3RhdGljLWRhdGEudHMjTDczXG5leHBvcnQgZnVuY3Rpb24gczNTdGF0aWNXZWJzaXRlRW5kcG9pbnQocmVnaW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKHJlZ2lvbikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcIkNhbm5vdCBkZXRlcm1pbmUgUzMgd2Vic2l0ZSBlbmRwb2ludCBmb3IgdW5yZXNvbHZlZCByZWdpb25cIixcbiAgICApO1xuICB9XG4gIGNvbnN0IHsgZG9tYWluU3VmZml4IH0gPSBwYXJ0aXRpb25Mb29rdXAocmVnaW9uKTtcbiAgaWYgKEJFRk9SRV9TM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTi5pbmNsdWRlcyhyZWdpb24pKSB7XG4gICAgcmV0dXJuIGBzMy13ZWJzaXRlLSR7cmVnaW9ufS4ke2RvbWFpblN1ZmZpeH1gO1xuICB9XG4gIHJldHVybiBgczMtd2Vic2l0ZS4ke3JlZ2lvbn0uJHtkb21haW5TdWZmaXh9YDtcbn1cblxuLy8gUmVwbGljYXRlZCB0byBhdm9pZCBDREtURiBUb2tlbnNcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXNoaWNvcnAvdGVycmFmb3JtLXByb3ZpZGVyLWF3cy9ibG9iL3Y2LjAuMC9pbnRlcm5hbC9zZXJ2aWNlL3MzL2hvc3RlZF96b25lcy5nbyNMNTVcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE4Ni4wL3BhY2thZ2VzL2F3cy1jZGstbGliL3JlZ2lvbi1pbmZvL2J1aWxkLXRvb2xzL2ZhY3QtdGFibGVzLnRzI0w3XG5cbi8qKlxuICogVGhlIGhvc3RlZCB6b25lIElkIGlmIHVzaW5nIGFuIGFsaWFzIHJlY29yZCBpbiBSb3V0ZTUzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dlbmVyYWwvbGF0ZXN0L2dyL3MzLmh0bWwjczNfcmVnaW9uXG4gKi9cbmV4cG9ydCBjb25zdCBST1VURV81M19CVUNLRVRfV0VCU0lURV9aT05FX0lEUzogeyBbcmVnaW9uOiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgXCJhZi1zb3V0aC0xXCI6IFwiWjExS0hEOEZCVlBVWVVcIixcbiAgXCJhcC1lYXN0LTFcIjogXCJaTkI5OEtXTUZSMFI2XCIsXG4gIFwiYXAtbm9ydGhlYXN0LTFcIjogXCJaMk00RUhVUjI2UDdaV1wiLFxuICBcImFwLW5vcnRoZWFzdC0yXCI6IFwiWjNXMDNPN0I1WU1JWVBcIixcbiAgXCJhcC1ub3J0aGVhc3QtM1wiOiBcIloyWVFCNVJENjNOQzg1XCIsXG4gIFwiYXAtc291dGgtMVwiOiBcIloxMVJHSk9GUU5WSlVQXCIsXG4gIFwiYXAtc291dGgtMlwiOiBcIlowMjk3NjIwMkI0RVpNWElQTVhGN1wiLFxuICBcImFwLXNvdXRoZWFzdC0xXCI6IFwiWjNPMEoyRFhCRTFGVEJcIixcbiAgXCJhcC1zb3V0aGVhc3QtMlwiOiBcIloxV0NJR1lJQ04yQllEXCIsXG4gIFwiYXAtc291dGhlYXN0LTNcIjogXCJaMDE4NDY3NTNLMzI0TEkyNkEzVlZcIixcbiAgXCJhcC1zb3V0aGVhc3QtNFwiOiBcIlowMzEyMzg3MjQzWFQ1RkUxNFdGT1wiLFxuICBcImFwLXNvdXRoZWFzdC01XCI6IFwiWjA4NjYwMDYzT1hMTUE3RjFGSkhVXCIsXG4gIFwiY2EtY2VudHJhbC0xXCI6IFwiWjFRREhIMTgxNTlIMjlcIixcbiAgXCJjbi1ub3J0aC0xXCI6IFwiWjVDTjhVTVhUOTJXTlwiLFxuICBcImNuLW5vcnRod2VzdC0xXCI6IFwiWjI4MkhKMUtUMERIMDNcIixcbiAgXCJldS1jZW50cmFsLTFcIjogXCJaMjFETkRVVkxUUVc2UVwiLFxuICBcImV1LWNlbnRyYWwtMlwiOiBcIlowMzA1MDYwMTZZRFFHRVROQVNTXCIsXG4gIFwiZXUtbm9ydGgtMVwiOiBcIlozQkFaRzJUV0NOWDBEXCIsXG4gIFwiZXUtc291dGgtMVwiOiBcIlozSVhWVjhDNzNHSU8zXCIsXG4gIFwiZXUtc291dGgtMlwiOiBcIlowMDgxOTU5RjcxMzlHUkpDMTlKXCIsXG4gIFwiZXUtd2VzdC0xXCI6IFwiWjFCS0NUWEQ3NEVaUEVcIixcbiAgXCJldS13ZXN0LTJcIjogXCJaM0dLWkM1MVpGMERCNFwiLFxuICBcImV1LXdlc3QtM1wiOiBcIlozUjFLMzY5RzVBVkRHXCIsXG4gIFwiaWwtY2VudHJhbC0xXCI6IFwiWjA5NjQwNjEzSzRBM01ONTVVN0dVXCIsXG4gIFwibWUtY2VudHJhbC0xXCI6IFwiWjA2MTQzMDkySThIUlhaUlVaUk9GXCIsXG4gIFwibWUtc291dGgtMVwiOiBcIloxTVBNV0NQQTdZQjYyXCIsXG4gIFwic2EtZWFzdC0xXCI6IFwiWjdLUUg0UUpTNTVTT1wiLFxuICBcInVzLWVhc3QtMVwiOiBcIlozQVFCU1RHRllKU1RGXCIsXG4gIFwidXMtZWFzdC0yXCI6IFwiWjJPMUVNUk85SzVHTFhcIixcbiAgXCJ1cy1nb3YtZWFzdC0xXCI6IFwiWjJOSUZWWVlXMlZLVjFcIixcbiAgXCJ1cy1nb3Ytd2VzdC0xXCI6IFwiWjMxR0ZUMFVBMUkySFZcIixcbiAgXCJ1cy13ZXN0LTFcIjogXCJaMkY1NlVaTDJNMUFDRFwiLFxuICBcInVzLXdlc3QtMlwiOiBcIlozQko2SzZSSUlPTjdNXCIsXG59O1xuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xODEuMS9wYWNrYWdlcy9hd3MtY2RrLWxpYi9yZWdpb24taW5mby9idWlsZC10b29scy9nZW5lcmF0ZS1zdGF0aWMtZGF0YS50cyNMNzdcbmV4cG9ydCBmdW5jdGlvbiBzM1N0YXRpY1dlYnNpdGVIb3N0ZWRab25lSWQocmVnaW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKHJlZ2lvbikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgZGV0ZXJtaW5lIFMzIGhvc3RlZCBab25lSWQgZm9yIHVucmVzb2x2ZWQgcmVnaW9uXCIpO1xuICB9XG4gIGNvbnN0IGhvc3RlZFpvbmVJZCA9IFJPVVRFXzUzX0JVQ0tFVF9XRUJTSVRFX1pPTkVfSURTW3JlZ2lvbl07XG4gIGlmICghaG9zdGVkWm9uZUlkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYE5vIGhvc3RlZCB6b25lIElEIGZvdW5kIGZvciBTMyBzdGF0aWMgd2Vic2l0ZSBpbiByZWdpb246ICR7cmVnaW9ufWAsXG4gICAgKTtcbiAgfVxuICByZXR1cm4gaG9zdGVkWm9uZUlkO1xufVxuIl19
|
package/lib/aws/util.d.ts
CHANGED
package/lib/aws/util.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
// ref: https://github.com/aws/aws-cdk/blob/v2.150.0/packages/aws-cdk-lib/core/lib/util.ts
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.filterUndefined = filterUndefined;
|
|
5
|
+
exports.toTerraformIdentifier = toTerraformIdentifier;
|
|
6
|
+
const change_case_1 = require("change-case");
|
|
5
7
|
/**
|
|
6
8
|
* Returns a copy of `obj` without `undefined` (or `null`) values in maps or arrays.
|
|
7
9
|
*/
|
|
@@ -21,4 +23,7 @@ function filterUndefined(obj) {
|
|
|
21
23
|
}
|
|
22
24
|
return obj;
|
|
23
25
|
}
|
|
24
|
-
|
|
26
|
+
function toTerraformIdentifier(identifier) {
|
|
27
|
+
return (0, change_case_1.snakeCase)(identifier).replace(/-/g, "_");
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3MvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMEZBQTBGOztBQU8xRiwwQ0FpQkM7QUFFRCxzREFFQztBQTFCRCw2Q0FBd0M7QUFFeEM7O0dBRUc7QUFDSCxTQUFnQixlQUFlLENBQUMsR0FBUTtJQUN0QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9DLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNsQixTQUFTO1lBQ1gsQ0FBQztZQUNELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELFNBQWdCLHFCQUFxQixDQUFDLFVBQWtCO0lBQ3RELE9BQU8sSUFBQSx1QkFBUyxFQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJlZjogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTUwLjAvcGFja2FnZXMvYXdzLWNkay1saWIvY29yZS9saWIvdXRpbC50c1xuXG5pbXBvcnQgeyBzbmFrZUNhc2UgfSBmcm9tIFwiY2hhbmdlLWNhc2VcIjtcblxuLyoqXG4gKiBSZXR1cm5zIGEgY29weSBvZiBgb2JqYCB3aXRob3V0IGB1bmRlZmluZWRgIChvciBgbnVsbGApIHZhbHVlcyBpbiBtYXBzIG9yIGFycmF5cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclVuZGVmaW5lZChvYmo6IGFueSk6IGFueSB7XG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICByZXR1cm4gb2JqLmZpbHRlcigoeCkgPT4geCAhPSBudWxsKS5tYXAoKHgpID0+IGZpbHRlclVuZGVmaW5lZCh4KSk7XG4gIH1cblxuICBpZiAodHlwZW9mIG9iaiA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IHJldDogYW55ID0ge307XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2JqKSkge1xuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICByZXRba2V5XSA9IGZpbHRlclVuZGVmaW5lZCh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9UZXJyYWZvcm1JZGVudGlmaWVyKGlkZW50aWZpZXI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzbmFrZUNhc2UoaWRlbnRpZmllcikucmVwbGFjZSgvLS9nLCBcIl9cIik7XG59XG4iXX0=
|
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
import { DockerCacheOption } from "./assets";
|
|
2
|
+
/**
|
|
3
|
+
* Methods to build Docker CLI arguments for builds using secrets.
|
|
4
|
+
*
|
|
5
|
+
* Docker BuildKit must be enabled to use build secrets.
|
|
6
|
+
*
|
|
7
|
+
* @see https://docs.docker.com/build/buildkit/
|
|
8
|
+
*/
|
|
9
|
+
export declare class DockerBuildSecret {
|
|
10
|
+
/**
|
|
11
|
+
* A Docker build secret from a file source
|
|
12
|
+
* @param src The path to the source file, relative to the build directory.
|
|
13
|
+
* @returns The latter half required for `--secret`
|
|
14
|
+
*/
|
|
15
|
+
static fromSrc(src: string): string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Bundling options
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
export interface BundlingOptions {
|
|
22
|
+
/**
|
|
23
|
+
* The Docker image where the command will run.
|
|
24
|
+
*/
|
|
25
|
+
readonly image: DockerImage;
|
|
26
|
+
/**
|
|
27
|
+
* The entrypoint to run in the Docker container.
|
|
28
|
+
*
|
|
29
|
+
* Example value: `['/bin/sh', '-c']`
|
|
30
|
+
*
|
|
31
|
+
* @see https://docs.docker.com/engine/reference/builder/#entrypoint
|
|
32
|
+
*
|
|
33
|
+
* @default - run the entrypoint defined in the image
|
|
34
|
+
*/
|
|
35
|
+
readonly entrypoint?: string[];
|
|
36
|
+
/**
|
|
37
|
+
* The command to run in the Docker container.
|
|
38
|
+
*
|
|
39
|
+
* Example value: `['npm', 'install']`
|
|
40
|
+
*
|
|
41
|
+
* @see https://docs.docker.com/engine/reference/run/
|
|
42
|
+
*
|
|
43
|
+
* @default - run the command defined in the image
|
|
44
|
+
*/
|
|
45
|
+
readonly command?: string[];
|
|
46
|
+
/**
|
|
47
|
+
* Additional Docker volumes to mount.
|
|
48
|
+
*
|
|
49
|
+
* @default - no additional volumes are mounted
|
|
50
|
+
*/
|
|
51
|
+
readonly volumes?: DockerVolume[];
|
|
52
|
+
/**
|
|
53
|
+
* Where to mount the specified volumes from
|
|
54
|
+
* @see https://docs.docker.com/engine/reference/commandline/run/#mount-volumes-from-container---volumes-from
|
|
55
|
+
* @default - no containers are specified to mount volumes from
|
|
56
|
+
*/
|
|
57
|
+
readonly volumesFrom?: string[];
|
|
58
|
+
/**
|
|
59
|
+
* The environment variables to pass to the Docker container.
|
|
60
|
+
*
|
|
61
|
+
* @default - no environment variables.
|
|
62
|
+
*/
|
|
63
|
+
readonly environment?: {
|
|
64
|
+
[key: string]: string;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Working directory inside the Docker container.
|
|
68
|
+
*
|
|
69
|
+
* @default /asset-input
|
|
70
|
+
*/
|
|
71
|
+
readonly workingDirectory?: string;
|
|
72
|
+
/**
|
|
73
|
+
* The user to use when running the Docker container.
|
|
74
|
+
*
|
|
75
|
+
* user | user:group | uid | uid:gid | user:gid | uid:group
|
|
76
|
+
*
|
|
77
|
+
* @see https://docs.docker.com/engine/reference/run/#user
|
|
78
|
+
*
|
|
79
|
+
* @default - uid:gid of the current user or 1000:1000 on Windows
|
|
80
|
+
*/
|
|
81
|
+
readonly user?: string;
|
|
82
|
+
/**
|
|
83
|
+
* Local bundling provider.
|
|
84
|
+
*
|
|
85
|
+
* The provider implements a method `tryBundle()` which should return `true`
|
|
86
|
+
* if local bundling was performed. If `false` is returned, docker bundling
|
|
87
|
+
* will be done.
|
|
88
|
+
*
|
|
89
|
+
* @default - bundling will only be performed in a Docker container
|
|
90
|
+
*
|
|
91
|
+
*/
|
|
92
|
+
readonly local?: ILocalBundling;
|
|
93
|
+
/**
|
|
94
|
+
* The type of output that this bundling operation is producing.
|
|
95
|
+
*
|
|
96
|
+
* @default BundlingOutput.AUTO_DISCOVER
|
|
97
|
+
*
|
|
98
|
+
*/
|
|
99
|
+
readonly outputType?: BundlingOutput;
|
|
100
|
+
/**
|
|
101
|
+
* [Security configuration](https://docs.docker.com/engine/reference/run/#security-configuration)
|
|
102
|
+
* when running the docker container.
|
|
103
|
+
*
|
|
104
|
+
* @default - no security options
|
|
105
|
+
*/
|
|
106
|
+
readonly securityOpt?: string;
|
|
107
|
+
/**
|
|
108
|
+
* Docker [Networking options](https://docs.docker.com/engine/reference/commandline/run/#connect-a-container-to-a-network---network)
|
|
109
|
+
*
|
|
110
|
+
* @default - no networking options
|
|
111
|
+
*/
|
|
112
|
+
readonly network?: string;
|
|
113
|
+
/**
|
|
114
|
+
* The access mechanism used to make source files available to the bundling container and to return the bundling output back to the host.
|
|
115
|
+
* @default - BundlingFileAccess.BIND_MOUNT
|
|
116
|
+
*/
|
|
117
|
+
readonly bundlingFileAccess?: BundlingFileAccess;
|
|
118
|
+
/**
|
|
119
|
+
* Platform to build for. _Requires Docker Buildx_.
|
|
120
|
+
*
|
|
121
|
+
* Specify this property to build images on a specific platform.
|
|
122
|
+
*
|
|
123
|
+
* @default - no platform specified (the current machine architecture will be used)
|
|
124
|
+
*/
|
|
125
|
+
readonly platform?: string;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* The type of output that a bundling operation is producing.
|
|
129
|
+
*
|
|
130
|
+
*/
|
|
131
|
+
export declare enum BundlingOutput {
|
|
132
|
+
/**
|
|
133
|
+
* The bundling output directory includes a single .zip or .jar file which
|
|
134
|
+
* will be used as the final bundle. If the output directory does not
|
|
135
|
+
* include exactly a single archive, bundling will fail.
|
|
136
|
+
*/
|
|
137
|
+
ARCHIVED = "archived",
|
|
138
|
+
/**
|
|
139
|
+
* The bundling output directory contains one or more files which will be
|
|
140
|
+
* archived and uploaded as a .zip file to S3.
|
|
141
|
+
*/
|
|
142
|
+
NOT_ARCHIVED = "not-archived",
|
|
143
|
+
/**
|
|
144
|
+
* If the bundling output directory contains a single archive file (zip or jar)
|
|
145
|
+
* it will be used as the bundle output as-is. Otherwise, all the files in the bundling output directory will be zipped.
|
|
146
|
+
*/
|
|
147
|
+
AUTO_DISCOVER = "auto-discover",
|
|
148
|
+
/**
|
|
149
|
+
* The bundling output directory includes a single file which
|
|
150
|
+
* will be used as the final bundle. If the output directory does not
|
|
151
|
+
* include exactly a single file, bundling will fail.
|
|
152
|
+
*
|
|
153
|
+
* Similar to ARCHIVED but for non-archive files
|
|
154
|
+
*/
|
|
155
|
+
SINGLE_FILE = "single-file"
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Local bundling
|
|
159
|
+
*
|
|
160
|
+
*/
|
|
161
|
+
export interface ILocalBundling {
|
|
162
|
+
/**
|
|
163
|
+
* This method is called before attempting docker bundling to allow the
|
|
164
|
+
* bundler to be executed locally. If the local bundler exists, and bundling
|
|
165
|
+
* was performed locally, return `true`. Otherwise, return `false`.
|
|
166
|
+
*
|
|
167
|
+
* @param outputDir the directory where the bundled asset should be output
|
|
168
|
+
* @param options bundling options for this asset
|
|
169
|
+
*/
|
|
170
|
+
tryBundle(outputDir: string, options: BundlingOptions): boolean;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* The access mechanism used to make source files available to the bundling container and to return the bundling output back to the host
|
|
174
|
+
*/
|
|
175
|
+
export declare enum BundlingFileAccess {
|
|
176
|
+
/**
|
|
177
|
+
* Creates temporary volumes and containers to copy files from the host to the bundling container and back.
|
|
178
|
+
* This is slower, but works also in more complex situations with remote or shared docker sockets.
|
|
179
|
+
*/
|
|
180
|
+
VOLUME_COPY = "VOLUME_COPY",
|
|
181
|
+
/**
|
|
182
|
+
* The source and output folders will be mounted as bind mount from the host system
|
|
183
|
+
* This is faster and simpler, but less portable than `VOLUME_COPY`.
|
|
184
|
+
*/
|
|
185
|
+
BIND_MOUNT = "BIND_MOUNT"
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* A Docker image used for asset bundling
|
|
189
|
+
*
|
|
190
|
+
* @deprecated use DockerImage
|
|
191
|
+
*/
|
|
192
|
+
export declare class BundlingDockerImage {
|
|
193
|
+
readonly image: string;
|
|
194
|
+
private readonly _imageHash?;
|
|
195
|
+
/**
|
|
196
|
+
* Reference an image on DockerHub or another online registry.
|
|
197
|
+
*
|
|
198
|
+
* @param image the image name
|
|
199
|
+
*/
|
|
200
|
+
static fromRegistry(image: string): DockerImage;
|
|
201
|
+
/**
|
|
202
|
+
* Reference an image that's built directly from sources on disk.
|
|
203
|
+
*
|
|
204
|
+
* @param path The path to the directory containing the Docker file
|
|
205
|
+
* @param options Docker build options
|
|
206
|
+
*
|
|
207
|
+
* @deprecated use DockerImage.fromBuild()
|
|
208
|
+
*/
|
|
209
|
+
static fromAsset(path: string, options?: DockerBuildOptions): BundlingDockerImage;
|
|
210
|
+
/** @param image The Docker image */
|
|
211
|
+
protected constructor(image: string, _imageHash?: string | undefined);
|
|
212
|
+
/**
|
|
213
|
+
* Provides a stable representation of this image for JSON serialization.
|
|
214
|
+
*
|
|
215
|
+
* @return The overridden image name if set or image hash name in that order
|
|
216
|
+
*/
|
|
217
|
+
toJSON(): string;
|
|
218
|
+
/**
|
|
219
|
+
* Runs a Docker image
|
|
220
|
+
*/
|
|
221
|
+
run(options?: DockerRunOptions): void;
|
|
222
|
+
/**
|
|
223
|
+
* Copies a file or directory out of the Docker image to the local filesystem.
|
|
224
|
+
*
|
|
225
|
+
* If `outputPath` is omitted the destination path is a temporary directory.
|
|
226
|
+
*
|
|
227
|
+
* @param imagePath the path in the Docker image
|
|
228
|
+
* @param outputPath the destination path for the copy operation
|
|
229
|
+
* @returns the destination path
|
|
230
|
+
*/
|
|
231
|
+
cp(imagePath: string, outputPath?: string): string;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* A Docker image
|
|
235
|
+
*/
|
|
236
|
+
export declare class DockerImage extends BundlingDockerImage {
|
|
237
|
+
/**
|
|
238
|
+
* Builds a Docker image
|
|
239
|
+
*
|
|
240
|
+
* @param path The path to the directory containing the Docker file
|
|
241
|
+
* @param options Docker build options
|
|
242
|
+
*/
|
|
243
|
+
static fromBuild(path: string, options?: DockerBuildOptions): DockerImage;
|
|
244
|
+
/**
|
|
245
|
+
* Reference an image on DockerHub or another online registry.
|
|
246
|
+
*
|
|
247
|
+
* @param image the image name
|
|
248
|
+
*/
|
|
249
|
+
static fromRegistry(image: string): DockerImage;
|
|
250
|
+
private static cacheOptionToFlag;
|
|
251
|
+
/** The Docker image */
|
|
252
|
+
readonly image: string;
|
|
253
|
+
constructor(image: string, _imageHash?: string);
|
|
254
|
+
/**
|
|
255
|
+
* Provides a stable representation of this image for JSON serialization.
|
|
256
|
+
*
|
|
257
|
+
* @return The overridden image name if set or image hash name in that order
|
|
258
|
+
*/
|
|
259
|
+
toJSON(): string;
|
|
260
|
+
/**
|
|
261
|
+
* Runs a Docker image
|
|
262
|
+
*/
|
|
263
|
+
run(options?: DockerRunOptions): void;
|
|
264
|
+
/**
|
|
265
|
+
* Copies a file or directory out of the Docker image to the local filesystem.
|
|
266
|
+
*
|
|
267
|
+
* If `outputPath` is omitted the destination path is a temporary directory.
|
|
268
|
+
*
|
|
269
|
+
* @param imagePath the path in the Docker image
|
|
270
|
+
* @param outputPath the destination path for the copy operation
|
|
271
|
+
* @returns the destination path
|
|
272
|
+
*/
|
|
273
|
+
cp(imagePath: string, outputPath?: string): string;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* A Docker volume
|
|
277
|
+
*/
|
|
278
|
+
export interface DockerVolume {
|
|
279
|
+
/**
|
|
280
|
+
* The path to the file or directory on the host machine
|
|
281
|
+
*/
|
|
282
|
+
readonly hostPath: string;
|
|
283
|
+
/**
|
|
284
|
+
* The path where the file or directory is mounted in the container
|
|
285
|
+
*/
|
|
286
|
+
readonly containerPath: string;
|
|
287
|
+
/**
|
|
288
|
+
* Mount consistency. Only applicable for macOS
|
|
289
|
+
*
|
|
290
|
+
* @default DockerConsistency.DELEGATED
|
|
291
|
+
* @see https://docs.docker.com/storage/bind-mounts/#configure-mount-consistency-for-macos
|
|
292
|
+
*/
|
|
293
|
+
readonly consistency?: DockerVolumeConsistency;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Supported Docker volume consistency types. Only valid on macOS due to the way file storage works on Mac
|
|
297
|
+
*/
|
|
298
|
+
export declare enum DockerVolumeConsistency {
|
|
299
|
+
/**
|
|
300
|
+
* Read/write operations inside the Docker container are applied immediately on the mounted host machine volumes
|
|
301
|
+
*/
|
|
302
|
+
CONSISTENT = "consistent",
|
|
303
|
+
/**
|
|
304
|
+
* Read/write operations on mounted Docker volumes are first written inside the container and then synchronized to the host machine
|
|
305
|
+
*/
|
|
306
|
+
DELEGATED = "delegated",
|
|
307
|
+
/**
|
|
308
|
+
* Read/write operations on mounted Docker volumes are first applied on the host machine and then synchronized to the container
|
|
309
|
+
*/
|
|
310
|
+
CACHED = "cached"
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Docker run options
|
|
314
|
+
*/
|
|
315
|
+
export interface DockerRunOptions {
|
|
316
|
+
/**
|
|
317
|
+
* The entrypoint to run in the container.
|
|
318
|
+
*
|
|
319
|
+
* @default - run the entrypoint defined in the image
|
|
320
|
+
*/
|
|
321
|
+
readonly entrypoint?: string[];
|
|
322
|
+
/**
|
|
323
|
+
* The command to run in the container.
|
|
324
|
+
*
|
|
325
|
+
* @default - run the command defined in the image
|
|
326
|
+
*/
|
|
327
|
+
readonly command?: string[];
|
|
328
|
+
/**
|
|
329
|
+
* Docker volumes to mount.
|
|
330
|
+
*
|
|
331
|
+
* @default - no volumes are mounted
|
|
332
|
+
*/
|
|
333
|
+
readonly volumes?: DockerVolume[];
|
|
334
|
+
/**
|
|
335
|
+
* Where to mount the specified volumes from
|
|
336
|
+
* @see https://docs.docker.com/engine/reference/commandline/run/#mount-volumes-from-container---volumes-from
|
|
337
|
+
* @default - no containers are specified to mount volumes from
|
|
338
|
+
*/
|
|
339
|
+
readonly volumesFrom?: string[];
|
|
340
|
+
/**
|
|
341
|
+
* The environment variables to pass to the container.
|
|
342
|
+
*
|
|
343
|
+
* @default - no environment variables.
|
|
344
|
+
*/
|
|
345
|
+
readonly environment?: {
|
|
346
|
+
[key: string]: string;
|
|
347
|
+
};
|
|
348
|
+
/**
|
|
349
|
+
* Working directory inside the container.
|
|
350
|
+
*
|
|
351
|
+
* @default - image default
|
|
352
|
+
*/
|
|
353
|
+
readonly workingDirectory?: string;
|
|
354
|
+
/**
|
|
355
|
+
* The user to use when running the container.
|
|
356
|
+
*
|
|
357
|
+
* @default - root or image default
|
|
358
|
+
*/
|
|
359
|
+
readonly user?: string;
|
|
360
|
+
/**
|
|
361
|
+
* [Security configuration](https://docs.docker.com/engine/reference/run/#security-configuration)
|
|
362
|
+
* when running the docker container.
|
|
363
|
+
*
|
|
364
|
+
* @default - no security options
|
|
365
|
+
*/
|
|
366
|
+
readonly securityOpt?: string;
|
|
367
|
+
/**
|
|
368
|
+
* Docker [Networking options](https://docs.docker.com/engine/reference/commandline/run/#connect-a-container-to-a-network---network)
|
|
369
|
+
*
|
|
370
|
+
* @default - no networking options
|
|
371
|
+
*/
|
|
372
|
+
readonly network?: string;
|
|
373
|
+
/**
|
|
374
|
+
* Set platform if server is multi-platform capable. _Requires Docker Engine API v1.38+_.
|
|
375
|
+
*
|
|
376
|
+
* Example value: `linux/amd64`
|
|
377
|
+
*
|
|
378
|
+
* @default - no platform specified
|
|
379
|
+
*/
|
|
380
|
+
readonly platform?: string;
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* Docker build options
|
|
384
|
+
*/
|
|
385
|
+
export interface DockerBuildOptions {
|
|
386
|
+
/**
|
|
387
|
+
* Build args
|
|
388
|
+
*
|
|
389
|
+
* @default - no build args
|
|
390
|
+
*/
|
|
391
|
+
readonly buildArgs?: {
|
|
392
|
+
[key: string]: string;
|
|
393
|
+
};
|
|
394
|
+
/**
|
|
395
|
+
* Name of the Dockerfile, must relative to the docker build path.
|
|
396
|
+
*
|
|
397
|
+
* @default `Dockerfile`
|
|
398
|
+
*/
|
|
399
|
+
readonly file?: string;
|
|
400
|
+
/**
|
|
401
|
+
* Set platform if server is multi-platform capable. _Requires Docker Engine API v1.38+_.
|
|
402
|
+
*
|
|
403
|
+
* Example value: `linux/amd64`
|
|
404
|
+
*
|
|
405
|
+
* @default - no platform specified
|
|
406
|
+
*/
|
|
407
|
+
readonly platform?: string;
|
|
408
|
+
/**
|
|
409
|
+
* Set build target for multi-stage container builds. Any stage defined afterwards will be ignored.
|
|
410
|
+
*
|
|
411
|
+
* Example value: `build-env`
|
|
412
|
+
*
|
|
413
|
+
* @default - Build all stages defined in the Dockerfile
|
|
414
|
+
*/
|
|
415
|
+
readonly targetStage?: string;
|
|
416
|
+
/**
|
|
417
|
+
* Cache from options to pass to the `docker build` command.
|
|
418
|
+
*
|
|
419
|
+
* @default - no cache from args are passed
|
|
420
|
+
*/
|
|
421
|
+
readonly cacheFrom?: DockerCacheOption[];
|
|
422
|
+
/**
|
|
423
|
+
* Cache to options to pass to the `docker build` command.
|
|
424
|
+
*
|
|
425
|
+
* @default - no cache to args are passed
|
|
426
|
+
*/
|
|
427
|
+
readonly cacheTo?: DockerCacheOption;
|
|
428
|
+
/**
|
|
429
|
+
* Disable the cache and pass `--no-cache` to the `docker build` command.
|
|
430
|
+
*
|
|
431
|
+
* @default - cache is used
|
|
432
|
+
*/
|
|
433
|
+
readonly cacheDisabled?: boolean;
|
|
434
|
+
}
|