terraconstructs 0.2.2 → 0.2.4
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 +899 -409
- package/lib/asset-staging.js +1 -1
- package/lib/aws/arn.js +1 -1
- package/lib/aws/aws-asset-manager.js +1 -1
- package/lib/aws/aws-construct.js +1 -1
- package/lib/aws/aws-stack.d.ts +16 -0
- package/lib/aws/aws-stack.js +14 -2
- package/lib/aws/aws-tags.js +2 -2
- package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
- package/lib/aws/cloudwatch/actions/ec2.js +1 -1
- package/lib/aws/cloudwatch/actions/lambda.js +1 -1
- package/lib/aws/cloudwatch/actions/sns.js +1 -1
- package/lib/aws/cloudwatch/actions/ssm.js +2 -2
- 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.js +4 -4
- 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.js +3 -3
- package/lib/aws/compute/api-key.js +2 -2
- package/lib/aws/compute/architecture.js +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
- package/lib/aws/compute/authorizer.js +1 -1
- package/lib/aws/compute/authorizers/identity-source.js +1 -1
- package/lib/aws/compute/authorizers/lambda.js +2 -2
- package/lib/aws/compute/base-path-mapping.js +1 -1
- package/lib/aws/compute/base-scalable-attribute.js +1 -1
- 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.js +8 -8
- package/lib/aws/compute/condition.js +1 -1
- package/lib/aws/compute/connections.js +1 -1
- package/lib/aws/compute/cors.js +1 -1
- package/lib/aws/compute/deployment.js +1 -1
- package/lib/aws/compute/domain-name.js +1 -1
- 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/function.js +1 -1
- package/lib/aws/compute/function-url.js +1 -1
- package/lib/aws/compute/function.js +1 -1
- package/lib/aws/compute/gateway-response.js +2 -2
- package/lib/aws/compute/handler.js +1 -1
- package/lib/aws/compute/instance-types.js +1 -1
- package/lib/aws/compute/instance.js +1 -1
- package/lib/aws/compute/integration.js +1 -1
- package/lib/aws/compute/integrations/aws.js +1 -1
- package/lib/aws/compute/integrations/http.js +1 -1
- package/lib/aws/compute/integrations/lambda.js +1 -1
- package/lib/aws/compute/integrations/mock.js +1 -1
- package/lib/aws/compute/integrations/stepfunctions.js +1 -1
- package/lib/aws/compute/ip-addresses.js +2 -2
- package/lib/aws/compute/ipam.js +1 -1
- package/lib/aws/compute/key-pair.js +1 -1
- package/lib/aws/compute/lambda-api.js +1 -1
- 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.js +1 -1
- package/lib/aws/compute/model.js +3 -3
- 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.js +1 -1
- package/lib/aws/compute/resource.js +3 -3
- package/lib/aws/compute/restapi.js +3 -3
- package/lib/aws/compute/route.js +10 -9
- package/lib/aws/compute/runtime.js +1 -1
- package/lib/aws/compute/scalable-target.js +1 -1
- package/lib/aws/compute/schedule.js +1 -1
- package/lib/aws/compute/security-group.js +39 -13
- package/lib/aws/compute/stage.js +2 -2
- 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 +1 -1
- package/lib/aws/compute/step-scaling-policy.js +1 -1
- package/lib/aws/compute/stepfunctions-api.js +1 -1
- 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 +1 -1
- 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.js +1 -1
- 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.js +1 -1
- package/lib/aws/compute/vpc-v2-base.js +1 -1
- package/lib/aws/compute/vpc-v2.js +2 -2
- package/lib/aws/compute/vpc.d.ts +47 -4
- package/lib/aws/compute/vpc.js +304 -148
- package/lib/aws/compute/vpn.js +3 -3
- package/lib/aws/context-provider.d.ts +117 -0
- package/lib/aws/context-provider.js +141 -0
- package/lib/aws/cx-api.d.ts +171 -0
- package/lib/aws/cx-api.js +23 -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 +6 -6
- 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 +3 -3
- 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 +1 -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/index.d.ts +1 -0
- package/lib/aws/notify/index.js +3 -1
- package/lib/aws/notify/input.js +2 -2
- package/lib/aws/notify/kinesis-stream.js +1 -1
- package/lib/aws/notify/notification-rule.js +1 -1
- package/lib/aws/notify/policy.js +1 -1
- package/lib/aws/notify/queue-base.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/sns-grants.generated.d.ts +39 -0
- package/lib/aws/notify/sns-grants.generated.js +77 -0
- package/lib/aws/notify/sqs-grants.generated.js +1 -1
- package/lib/aws/notify/subscription-filter.js +1 -1
- package/lib/aws/notify/subscription.d.ts +8 -2
- package/lib/aws/notify/subscription.js +6 -7
- 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.d.ts +6 -0
- package/lib/aws/notify/topic-base.js +16 -19
- package/lib/aws/notify/topic.d.ts +29 -6
- package/lib/aws/notify/topic.js +50 -47
- package/lib/aws/storage/assets/image-asset.js +3 -3
- package/lib/aws/storage/assets/s3.js +1 -1
- package/lib/aws/storage/auth-token.js +2 -2
- 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.js +1 -1
- package/lib/aws/storage/bucket.js +2 -2
- package/lib/aws/storage/capacity.js +1 -1
- package/lib/aws/storage/ecr-repository.js +3 -3
- package/lib/aws/storage/encryption.js +1 -1
- 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/stream-grants.js +1 -1
- package/lib/aws/storage/table-grants.js +1 -1
- package/lib/aws/storage/table.js +3 -3
- package/lib/bundling.js +3 -3
- package/lib/construct-base.js +2 -2
- package/lib/duration.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/expiration.js +1 -1
- package/lib/fs/ignore.js +4 -4
- package/lib/fs/index.js +1 -1
- package/lib/size.js +1 -1
- package/lib/stack-base.js +1 -1
- package/lib/terra-func.js +1 -1
- package/lib/time-zone.js +1 -1
- package/package.json +3 -1
package/lib/aws/compute/vpn.js
CHANGED
|
@@ -57,7 +57,7 @@ class VpnGateway extends aws_construct_1.AwsConstructBase {
|
|
|
57
57
|
}
|
|
58
58
|
exports.VpnGateway = VpnGateway;
|
|
59
59
|
_a = JSII_RTTI_SYMBOL_1;
|
|
60
|
-
VpnGateway[_a] = { fqn: "terraconstructs.aws.compute.VpnGateway", version: "0.2.
|
|
60
|
+
VpnGateway[_a] = { fqn: "terraconstructs.aws.compute.VpnGateway", version: "0.2.4" };
|
|
61
61
|
/**
|
|
62
62
|
* Base class for Vpn connections.
|
|
63
63
|
*/
|
|
@@ -76,7 +76,7 @@ class VpnConnectionBase extends aws_construct_1.AwsConstructBase {
|
|
|
76
76
|
}
|
|
77
77
|
exports.VpnConnectionBase = VpnConnectionBase;
|
|
78
78
|
_b = JSII_RTTI_SYMBOL_1;
|
|
79
|
-
VpnConnectionBase[_b] = { fqn: "terraconstructs.aws.compute.VpnConnectionBase", version: "0.2.
|
|
79
|
+
VpnConnectionBase[_b] = { fqn: "terraconstructs.aws.compute.VpnConnectionBase", version: "0.2.4" };
|
|
80
80
|
/**
|
|
81
81
|
* Define a VPN Connection
|
|
82
82
|
*
|
|
@@ -254,7 +254,7 @@ class VpnConnection extends VpnConnectionBase {
|
|
|
254
254
|
}
|
|
255
255
|
exports.VpnConnection = VpnConnection;
|
|
256
256
|
_c = JSII_RTTI_SYMBOL_1;
|
|
257
|
-
VpnConnection[_c] = { fqn: "terraconstructs.aws.compute.VpnConnection", version: "0.2.
|
|
257
|
+
VpnConnection[_c] = { fqn: "terraconstructs.aws.compute.VpnConnection", version: "0.2.4" };
|
|
258
258
|
exports.RESERVED_TUNNEL_INSIDE_CIDR = [
|
|
259
259
|
"169.254.0.0/30",
|
|
260
260
|
"169.254.1.0/30",
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
/**
|
|
3
|
+
*/
|
|
4
|
+
export interface GetContextKeyOptions {
|
|
5
|
+
/**
|
|
6
|
+
* The context provider to query.
|
|
7
|
+
*/
|
|
8
|
+
readonly provider: string;
|
|
9
|
+
/**
|
|
10
|
+
* Provider-specific properties.
|
|
11
|
+
*/
|
|
12
|
+
readonly props?: {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Whether to include the stack's account and region automatically.
|
|
17
|
+
*
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
readonly includeEnvironment?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Adds an additional discriminator to the `cdk.context.json` cache key.
|
|
23
|
+
*
|
|
24
|
+
* @default - no additional cache key
|
|
25
|
+
*/
|
|
26
|
+
readonly additionalCacheKey?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
*/
|
|
30
|
+
export interface GetContextValueOptions extends GetContextKeyOptions {
|
|
31
|
+
/**
|
|
32
|
+
* The value to return if the lookup has not yet been performed.
|
|
33
|
+
*
|
|
34
|
+
* Upon first synthesis, the lookups has not yet been performed. The
|
|
35
|
+
* `getValue()` operation returns this value instead, so that synthesis can
|
|
36
|
+
* proceed. After synthesis completes the first time, the actual lookup will
|
|
37
|
+
* be performed and synthesis will run again with the *real* value.
|
|
38
|
+
*
|
|
39
|
+
* Dummy values should preferably have valid shapes so that downstream
|
|
40
|
+
* consumers of lookup values don't throw validation exceptions if they
|
|
41
|
+
* encounter a dummy value (or all possible downstream consumers need to
|
|
42
|
+
* effectively check for the well-known shape of the dummy value); throwing an
|
|
43
|
+
* exception would error out the synthesis operation and prevent the lookup
|
|
44
|
+
* and the second, real, synthesis from happening.
|
|
45
|
+
*
|
|
46
|
+
* ## Connection to mustExist
|
|
47
|
+
*
|
|
48
|
+
* `dummyValue` is also used as the official value to return if the lookup has
|
|
49
|
+
* failed and `mustExist == false`.
|
|
50
|
+
*/
|
|
51
|
+
readonly dummyValue: any;
|
|
52
|
+
/**
|
|
53
|
+
* Whether the resource must exist
|
|
54
|
+
*
|
|
55
|
+
* If this is set (the default), the query fails if the value or resource we
|
|
56
|
+
* tried to look up doesn't exist.
|
|
57
|
+
*
|
|
58
|
+
* If this is `false` and the value we tried to look up could not be found, the
|
|
59
|
+
* failure is suppressed and `dummyValue` is officially returned instead.
|
|
60
|
+
*
|
|
61
|
+
* When this happens, `dummyValue` is encoded into cached context and it will
|
|
62
|
+
* never be refreshed anymore until the user runs `cdk context --reset <key>`.
|
|
63
|
+
*
|
|
64
|
+
* Note that it is not possible for the CDK app code to make a distinction
|
|
65
|
+
* between "the lookup has not been performed yet" and "the lookup didn't
|
|
66
|
+
* find anything and we returned a default value instead".
|
|
67
|
+
*
|
|
68
|
+
* ## Context providers
|
|
69
|
+
*
|
|
70
|
+
* This feature must explicitly be supported by context providers. It is
|
|
71
|
+
* currently supported by:
|
|
72
|
+
*
|
|
73
|
+
* - KMS key provider
|
|
74
|
+
* - SSM parameter provider
|
|
75
|
+
*
|
|
76
|
+
* ## Note to implementors
|
|
77
|
+
*
|
|
78
|
+
* The dummy value should not be returned for all SDK lookup failures. For
|
|
79
|
+
* example, "no network" or "no credentials" or "malformed query" should
|
|
80
|
+
* not lead to the dummy value being returned. Only the case of "no such
|
|
81
|
+
* resource" should.
|
|
82
|
+
*
|
|
83
|
+
* @default true
|
|
84
|
+
*/
|
|
85
|
+
readonly mustExist?: boolean;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
*/
|
|
89
|
+
export interface GetContextKeyResult {
|
|
90
|
+
readonly key: string;
|
|
91
|
+
readonly props: {
|
|
92
|
+
[key: string]: any;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
*/
|
|
97
|
+
export interface GetContextValueResult {
|
|
98
|
+
readonly value?: any;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Base class for the model side of context providers
|
|
102
|
+
*
|
|
103
|
+
* Instances of this class communicate with context provider plugins in the 'cdk
|
|
104
|
+
* toolkit' via context variables (input), outputting specialized queries for
|
|
105
|
+
* more context variables (output).
|
|
106
|
+
*
|
|
107
|
+
* ContextProvider needs access to a Construct to hook into the context mechanism.
|
|
108
|
+
*
|
|
109
|
+
*/
|
|
110
|
+
export declare class ContextProvider {
|
|
111
|
+
/**
|
|
112
|
+
* @returns the context key or undefined if a key cannot be rendered (due to tokens used in any of the props)
|
|
113
|
+
*/
|
|
114
|
+
static getKey(scope: Construct, options: GetContextKeyOptions): GetContextKeyResult;
|
|
115
|
+
static getValue(scope: Construct, options: GetContextValueOptions): GetContextValueResult;
|
|
116
|
+
private constructor();
|
|
117
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContextProvider = void 0;
|
|
4
|
+
const cdktf_1 = require("cdktf");
|
|
5
|
+
const constructs_1 = require("constructs");
|
|
6
|
+
const errors_1 = require("../errors");
|
|
7
|
+
const aws_stack_1 = require("./aws-stack");
|
|
8
|
+
const cxapi = require("./cx-api");
|
|
9
|
+
/**
|
|
10
|
+
* Base class for the model side of context providers
|
|
11
|
+
*
|
|
12
|
+
* Instances of this class communicate with context provider plugins in the 'cdk
|
|
13
|
+
* toolkit' via context variables (input), outputting specialized queries for
|
|
14
|
+
* more context variables (output).
|
|
15
|
+
*
|
|
16
|
+
* ContextProvider needs access to a Construct to hook into the context mechanism.
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
class ContextProvider {
|
|
20
|
+
/**
|
|
21
|
+
* @returns the context key or undefined if a key cannot be rendered (due to tokens used in any of the props)
|
|
22
|
+
*/
|
|
23
|
+
static getKey(scope, options) {
|
|
24
|
+
const stack = aws_stack_1.AwsStack.ofAwsConstruct(scope);
|
|
25
|
+
const props = {
|
|
26
|
+
// Defaults to false because we do not support static value for account
|
|
27
|
+
...((options.includeEnvironment ?? false)
|
|
28
|
+
? { account: stack.account, region: stack.region }
|
|
29
|
+
: {}),
|
|
30
|
+
...(options.additionalCacheKey
|
|
31
|
+
? { additionalCacheKey: options.additionalCacheKey }
|
|
32
|
+
: {}),
|
|
33
|
+
...options.props,
|
|
34
|
+
};
|
|
35
|
+
if (Object.values(props).find((x) => cdktf_1.Token.isUnresolved(x))) {
|
|
36
|
+
throw new errors_1.ValidationError(`Cannot determine scope for context provider ${options.provider}.\n` +
|
|
37
|
+
"This usually happens when one or more of the provider props have unresolved tokens", scope);
|
|
38
|
+
}
|
|
39
|
+
const propStrings = propsToArray(props);
|
|
40
|
+
return {
|
|
41
|
+
key: `${options.provider}:${propStrings.join(":")}`,
|
|
42
|
+
props,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
static getValue(scope, options) {
|
|
46
|
+
if (options.mustExist !== undefined) {
|
|
47
|
+
throw new errors_1.ValidationError("Only supply one of 'mustExist' and 'ignoreErrorOnMissingContext'", scope);
|
|
48
|
+
}
|
|
49
|
+
const stack = aws_stack_1.AwsStack.ofAwsConstruct(scope);
|
|
50
|
+
// TODO: re-enable whenever environment details can be set directly
|
|
51
|
+
// if (Token.isUnresolved(stack.account) || Token.isUnresolved(stack.region)) {
|
|
52
|
+
// throw new ValidationError(
|
|
53
|
+
// `Cannot retrieve value from context provider ${options.provider} since account/region ` +
|
|
54
|
+
// 'are not specified at the stack level. Configure "env" with an account and region when ' +
|
|
55
|
+
// "you define your stack." +
|
|
56
|
+
// "See https://docs.aws.amazon.com/cdk/latest/guide/environments.html for more details.",
|
|
57
|
+
// scope,
|
|
58
|
+
// );
|
|
59
|
+
// }
|
|
60
|
+
const { key, props } = this.getKey(scope, options);
|
|
61
|
+
const value = constructs_1.Node.of(scope).tryGetContext(key);
|
|
62
|
+
const providerError = extractProviderError(value);
|
|
63
|
+
// if context is missing or an error occurred during context retrieval,
|
|
64
|
+
// report and return a dummy value.
|
|
65
|
+
if (value === undefined || providerError !== undefined) {
|
|
66
|
+
// Render 'ignoreErrorOnMissingContext' iff one of the parameters is supplied.
|
|
67
|
+
const ignoreErrorOnMissingContext = options.mustExist !== undefined ? !options.mustExist : undefined;
|
|
68
|
+
// build a version of the props which includes the dummyValue and ignoreError flag
|
|
69
|
+
const extendedProps = {
|
|
70
|
+
dummyValue: options.dummyValue,
|
|
71
|
+
// Even though we renamed the user-facing property, the field in the
|
|
72
|
+
// cloud assembly still has the original name, which is somewhat wrong
|
|
73
|
+
// because it's not about missing context.
|
|
74
|
+
ignoreErrorOnMissingContext,
|
|
75
|
+
...(options.additionalCacheKey
|
|
76
|
+
? { additionalCacheKey: options.additionalCacheKey }
|
|
77
|
+
: {}),
|
|
78
|
+
...props,
|
|
79
|
+
};
|
|
80
|
+
// We'll store the extendedProps in the missingContextKey report
|
|
81
|
+
// so that we can retrieve the dummyValue and ignoreError flag
|
|
82
|
+
// in the aws-cdk's ssm-context and kms key provider
|
|
83
|
+
stack.reportMissingContextKey({
|
|
84
|
+
key,
|
|
85
|
+
provider: options.provider,
|
|
86
|
+
props: extendedProps,
|
|
87
|
+
});
|
|
88
|
+
if (providerError !== undefined) {
|
|
89
|
+
cdktf_1.Annotations.of(scope).addError(providerError);
|
|
90
|
+
}
|
|
91
|
+
return { value: options.dummyValue };
|
|
92
|
+
}
|
|
93
|
+
return { value };
|
|
94
|
+
}
|
|
95
|
+
constructor() { }
|
|
96
|
+
}
|
|
97
|
+
exports.ContextProvider = ContextProvider;
|
|
98
|
+
/**
|
|
99
|
+
* If the context value represents an error, return the error message
|
|
100
|
+
*/
|
|
101
|
+
function extractProviderError(value) {
|
|
102
|
+
if (typeof value === "object" && value !== null) {
|
|
103
|
+
return value[cxapi.PROVIDER_ERROR_KEY];
|
|
104
|
+
}
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Quote colons in all strings so that we can undo the quoting at a later point
|
|
109
|
+
*
|
|
110
|
+
* We'll use $ as a quoting character, for no particularly good reason other
|
|
111
|
+
* than that \ is going to lead to quoting hell when the keys are stored in JSON.
|
|
112
|
+
*/
|
|
113
|
+
function colonQuote(xs) {
|
|
114
|
+
return xs.replace(/\$/g, "$$").replace(/:/g, "$:");
|
|
115
|
+
}
|
|
116
|
+
function propsToArray(props, keyPrefix = "") {
|
|
117
|
+
const ret = [];
|
|
118
|
+
for (const key of Object.keys(props)) {
|
|
119
|
+
// skip undefined values
|
|
120
|
+
if (props[key] === undefined) {
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
switch (typeof props[key]) {
|
|
124
|
+
case "object": {
|
|
125
|
+
ret.push(...propsToArray(props[key], `${keyPrefix}${key}.`));
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
case "string": {
|
|
129
|
+
ret.push(`${keyPrefix}${key}=${colonQuote(props[key])}`);
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
default: {
|
|
133
|
+
ret.push(`${keyPrefix}${key}=${JSON.stringify(props[key])}`);
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
ret.sort();
|
|
139
|
+
return ret;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3MvY29udGV4dC1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpQ0FBMkM7QUFDM0MsMkNBQTZDO0FBQzdDLHNDQUE0QztBQUM1QywyQ0FBdUM7QUFDdkMsa0NBQWtDO0FBd0dsQzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLGVBQWU7SUFDMUI7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUNsQixLQUFnQixFQUNoQixPQUE2QjtRQUU3QixNQUFNLEtBQUssR0FBRyxvQkFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QyxNQUFNLEtBQUssR0FBRztZQUNaLHVFQUF1RTtZQUN2RSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLElBQUksS0FBSyxDQUFDO2dCQUN2QyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDbEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNQLEdBQUcsQ0FBQyxPQUFPLENBQUMsa0JBQWtCO2dCQUM1QixDQUFDLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLENBQUMsa0JBQWtCLEVBQUU7Z0JBQ3BELENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxHQUFHLE9BQU8sQ0FBQyxLQUFLO1NBQ2pCLENBQUM7UUFFRixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxhQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1RCxNQUFNLElBQUksd0JBQWUsQ0FDdkIsK0NBQStDLE9BQU8sQ0FBQyxRQUFRLEtBQUs7Z0JBQ2xFLG9GQUFvRixFQUN0RixLQUFLLENBQ04s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Q0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNYLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGN4c2NoZW1hIGZyb20gXCJAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWFcIjtcbmltcG9ydCB7IEFubm90YXRpb25zLCBUb2tlbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBOb2RlIH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gXCIuLi9lcnJvcnNcIjtcbmltcG9ydCB7IEF3c1N0YWNrIH0gZnJvbSBcIi4vYXdzLXN0YWNrXCI7XG5pbXBvcnQgKiBhcyBjeGFwaSBmcm9tIFwiLi9jeC1hcGlcIjtcblxuLyoqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udGV4dEtleU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGNvbnRleHQgcHJvdmlkZXIgdG8gcXVlcnkuXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlci1zcGVjaWZpYyBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvcHM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGluY2x1ZGUgdGhlIHN0YWNrJ3MgYWNjb3VudCBhbmQgcmVnaW9uIGF1dG9tYXRpY2FsbHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBpbmNsdWRlRW52aXJvbm1lbnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGRzIGFuIGFkZGl0aW9uYWwgZGlzY3JpbWluYXRvciB0byB0aGUgYGNkay5jb250ZXh0Lmpzb25gIGNhY2hlIGtleS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGNhY2hlIGtleVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbENhY2hlS2V5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRDb250ZXh0VmFsdWVPcHRpb25zIGV4dGVuZHMgR2V0Q29udGV4dEtleU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHZhbHVlIHRvIHJldHVybiBpZiB0aGUgbG9va3VwIGhhcyBub3QgeWV0IGJlZW4gcGVyZm9ybWVkLlxuICAgKlxuICAgKiBVcG9uIGZpcnN0IHN5bnRoZXNpcywgdGhlIGxvb2t1cHMgaGFzIG5vdCB5ZXQgYmVlbiBwZXJmb3JtZWQuIFRoZVxuICAgKiBgZ2V0VmFsdWUoKWAgb3BlcmF0aW9uIHJldHVybnMgdGhpcyB2YWx1ZSBpbnN0ZWFkLCBzbyB0aGF0IHN5bnRoZXNpcyBjYW5cbiAgICogcHJvY2VlZC4gQWZ0ZXIgc3ludGhlc2lzIGNvbXBsZXRlcyB0aGUgZmlyc3QgdGltZSwgdGhlIGFjdHVhbCBsb29rdXAgd2lsbFxuICAgKiBiZSBwZXJmb3JtZWQgYW5kIHN5bnRoZXNpcyB3aWxsIHJ1biBhZ2FpbiB3aXRoIHRoZSAqcmVhbCogdmFsdWUuXG4gICAqXG4gICAqIER1bW15IHZhbHVlcyBzaG91bGQgcHJlZmVyYWJseSBoYXZlIHZhbGlkIHNoYXBlcyBzbyB0aGF0IGRvd25zdHJlYW1cbiAgICogY29uc3VtZXJzIG9mIGxvb2t1cCB2YWx1ZXMgZG9uJ3QgdGhyb3cgdmFsaWRhdGlvbiBleGNlcHRpb25zIGlmIHRoZXlcbiAgICogZW5jb3VudGVyIGEgZHVtbXkgdmFsdWUgKG9yIGFsbCBwb3NzaWJsZSBkb3duc3RyZWFtIGNvbnN1bWVycyBuZWVkIHRvXG4gICAqIGVmZmVjdGl2ZWx5IGNoZWNrIGZvciB0aGUgd2VsbC1rbm93biBzaGFwZSBvZiB0aGUgZHVtbXkgdmFsdWUpOyB0aHJvd2luZyBhblxuICAgKiBleGNlcHRpb24gd291bGQgZXJyb3Igb3V0IHRoZSBzeW50aGVzaXMgb3BlcmF0aW9uIGFuZCBwcmV2ZW50IHRoZSBsb29rdXBcbiAgICogYW5kIHRoZSBzZWNvbmQsIHJlYWwsIHN5bnRoZXNpcyBmcm9tIGhhcHBlbmluZy5cbiAgICpcbiAgICogIyMgQ29ubmVjdGlvbiB0byBtdXN0RXhpc3RcbiAgICpcbiAgICogYGR1bW15VmFsdWVgIGlzIGFsc28gdXNlZCBhcyB0aGUgb2ZmaWNpYWwgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBsb29rdXAgaGFzXG4gICAqIGZhaWxlZCBhbmQgYG11c3RFeGlzdCA9PSBmYWxzZWAuXG4gICAqL1xuICByZWFkb25seSBkdW1teVZhbHVlOiBhbnk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJlc291cmNlIG11c3QgZXhpc3RcbiAgICpcbiAgICogSWYgdGhpcyBpcyBzZXQgKHRoZSBkZWZhdWx0KSwgdGhlIHF1ZXJ5IGZhaWxzIGlmIHRoZSB2YWx1ZSBvciByZXNvdXJjZSB3ZVxuICAgKiB0cmllZCB0byBsb29rIHVwIGRvZXNuJ3QgZXhpc3QuXG4gICAqXG4gICAqIElmIHRoaXMgaXMgYGZhbHNlYCBhbmQgdGhlIHZhbHVlIHdlIHRyaWVkIHRvIGxvb2sgdXAgY291bGQgbm90IGJlIGZvdW5kLCB0aGVcbiAgICogZmFpbHVyZSBpcyBzdXBwcmVzc2VkIGFuZCBgZHVtbXlWYWx1ZWAgaXMgb2ZmaWNpYWxseSByZXR1cm5lZCBpbnN0ZWFkLlxuICAgKlxuICAgKiBXaGVuIHRoaXMgaGFwcGVucywgYGR1bW15VmFsdWVgIGlzIGVuY29kZWQgaW50byBjYWNoZWQgY29udGV4dCBhbmQgaXQgd2lsbFxuICAgKiBuZXZlciBiZSByZWZyZXNoZWQgYW55bW9yZSB1bnRpbCB0aGUgdXNlciBydW5zIGBjZGsgY29udGV4dCAtLXJlc2V0IDxrZXk+YC5cbiAgICpcbiAgICogTm90ZSB0aGF0IGl0IGlzIG5vdCBwb3NzaWJsZSBmb3IgdGhlIENESyBhcHAgY29kZSB0byBtYWtlIGEgZGlzdGluY3Rpb25cbiAgICogYmV0d2VlbiBcInRoZSBsb29rdXAgaGFzIG5vdCBiZWVuIHBlcmZvcm1lZCB5ZXRcIiBhbmQgXCJ0aGUgbG9va3VwIGRpZG4ndFxuICAgKiBmaW5kIGFueXRoaW5nIGFuZCB3ZSByZXR1cm5lZCBhIGRlZmF1bHQgdmFsdWUgaW5zdGVhZFwiLlxuICAgKlxuICAgKiAjIyBDb250ZXh0IHByb3ZpZGVyc1xuICAgKlxuICAgKiBUaGlzIGZlYXR1cmUgbXVzdCBleHBsaWNpdGx5IGJlIHN1cHBvcnRlZCBieSBjb250ZXh0IHByb3ZpZGVycy4gSXQgaXNcbiAgICogY3VycmVudGx5IHN1cHBvcnRlZCBieTpcbiAgICpcbiAgICogLSBLTVMga2V5IHByb3ZpZGVyXG4gICAqIC0gU1NNIHBhcmFtZXRlciBwcm92aWRlclxuICAgKlxuICAgKiAjIyBOb3RlIHRvIGltcGxlbWVudG9yc1xuICAgKlxuICAgKiBUaGUgZHVtbXkgdmFsdWUgc2hvdWxkIG5vdCBiZSByZXR1cm5lZCBmb3IgYWxsIFNESyBsb29rdXAgZmFpbHVyZXMuIEZvclxuICAgKiBleGFtcGxlLCBcIm5vIG5ldHdvcmtcIiBvciBcIm5vIGNyZWRlbnRpYWxzXCIgb3IgXCJtYWxmb3JtZWQgcXVlcnlcIiBzaG91bGRcbiAgICogbm90IGxlYWQgdG8gdGhlIGR1bW15IHZhbHVlIGJlaW5nIHJldHVybmVkLiBPbmx5IHRoZSBjYXNlIG9mIFwibm8gc3VjaFxuICAgKiByZXNvdXJjZVwiIHNob3VsZC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbXVzdEV4aXN0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udGV4dEtleVJlc3VsdCB7XG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuICByZWFkb25seSBwcm9wczogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbn1cblxuLyoqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udGV4dFZhbHVlUmVzdWx0IHtcbiAgcmVhZG9ubHkgdmFsdWU/OiBhbnk7XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgdGhlIG1vZGVsIHNpZGUgb2YgY29udGV4dCBwcm92aWRlcnNcbiAqXG4gKiBJbnN0YW5jZXMgb2YgdGhpcyBjbGFzcyBjb21tdW5pY2F0ZSB3aXRoIGNvbnRleHQgcHJvdmlkZXIgcGx1Z2lucyBpbiB0aGUgJ2Nka1xuICogdG9vbGtpdCcgdmlhIGNvbnRleHQgdmFyaWFibGVzIChpbnB1dCksIG91dHB1dHRpbmcgc3BlY2lhbGl6ZWQgcXVlcmllcyBmb3JcbiAqIG1vcmUgY29udGV4dCB2YXJpYWJsZXMgKG91dHB1dCkuXG4gKlxuICogQ29udGV4dFByb3ZpZGVyIG5lZWRzIGFjY2VzcyB0byBhIENvbnN0cnVjdCB0byBob29rIGludG8gdGhlIGNvbnRleHQgbWVjaGFuaXNtLlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIENvbnRleHRQcm92aWRlciB7XG4gIC8qKlxuICAgKiBAcmV0dXJucyB0aGUgY29udGV4dCBrZXkgb3IgdW5kZWZpbmVkIGlmIGEga2V5IGNhbm5vdCBiZSByZW5kZXJlZCAoZHVlIHRvIHRva2VucyB1c2VkIGluIGFueSBvZiB0aGUgcHJvcHMpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldEtleShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIG9wdGlvbnM6IEdldENvbnRleHRLZXlPcHRpb25zLFxuICApOiBHZXRDb250ZXh0S2V5UmVzdWx0IHtcbiAgICBjb25zdCBzdGFjayA9IEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHNjb3BlKTtcblxuICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgLy8gRGVmYXVsdHMgdG8gZmFsc2UgYmVjYXVzZSB3ZSBkbyBub3Qgc3VwcG9ydCBzdGF0aWMgdmFsdWUgZm9yIGFjY291bnRcbiAgICAgIC4uLigob3B0aW9ucy5pbmNsdWRlRW52aXJvbm1lbnQgPz8gZmFsc2UpXG4gICAgICAgID8geyBhY2NvdW50OiBzdGFjay5hY2NvdW50LCByZWdpb246IHN0YWNrLnJlZ2lvbiB9XG4gICAgICAgIDoge30pLFxuICAgICAgLi4uKG9wdGlvbnMuYWRkaXRpb25hbENhY2hlS2V5XG4gICAgICAgID8geyBhZGRpdGlvbmFsQ2FjaGVLZXk6IG9wdGlvbnMuYWRkaXRpb25hbENhY2hlS2V5IH1cbiAgICAgICAgOiB7fSksXG4gICAgICAuLi5vcHRpb25zLnByb3BzLFxuICAgIH07XG5cbiAgICBpZiAoT2JqZWN0LnZhbHVlcyhwcm9wcykuZmluZCgoeCkgPT4gVG9rZW4uaXNVbnJlc29sdmVkKHgpKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYENhbm5vdCBkZXRlcm1pbmUgc2NvcGUgZm9yIGNvbnRleHQgcHJvdmlkZXIgJHtvcHRpb25zLnByb3ZpZGVyfS5cXG5gICtcbiAgICAgICAgICBcIlRoaXMgdXN1YWxseSBoYXBwZW5zIHdoZW4gb25lIG9yIG1vcmUgb2YgdGhlIHByb3ZpZGVyIHByb3BzIGhhdmUgdW5yZXNvbHZlZCB0b2tlbnNcIixcbiAgICAgICAgc2NvcGUsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHByb3BTdHJpbmdzID0gcHJvcHNUb0FycmF5KHByb3BzKTtcbiAgICByZXR1cm4ge1xuICAgICAga2V5OiBgJHtvcHRpb25zLnByb3ZpZGVyfToke3Byb3BTdHJpbmdzLmpvaW4oXCI6XCIpfWAsXG4gICAgICBwcm9wcyxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRWYWx1ZShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIG9wdGlvbnM6IEdldENvbnRleHRWYWx1ZU9wdGlvbnMsXG4gICk6IEdldENvbnRleHRWYWx1ZVJlc3VsdCB7XG4gICAgaWYgKG9wdGlvbnMubXVzdEV4aXN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIFwiT25seSBzdXBwbHkgb25lIG9mICdtdXN0RXhpc3QnIGFuZCAnaWdub3JlRXJyb3JPbk1pc3NpbmdDb250ZXh0J1wiLFxuICAgICAgICBzY29wZSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhY2sgPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChzY29wZSk7XG5cbiAgICAvLyBUT0RPOiByZS1lbmFibGUgd2hlbmV2ZXIgZW52aXJvbm1lbnQgZGV0YWlscyBjYW4gYmUgc2V0IGRpcmVjdGx5XG4gICAgLy8gaWYgKFRva2VuLmlzVW5yZXNvbHZlZChzdGFjay5hY2NvdW50KSB8fCBUb2tlbi5pc1VucmVzb2x2ZWQoc3RhY2sucmVnaW9uKSkge1xuICAgIC8vICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAvLyAgICAgYENhbm5vdCByZXRyaWV2ZSB2YWx1ZSBmcm9tIGNvbnRleHQgcHJvdmlkZXIgJHtvcHRpb25zLnByb3ZpZGVyfSBzaW5jZSBhY2NvdW50L3JlZ2lvbiBgICtcbiAgICAvLyAgICAgICAnYXJlIG5vdCBzcGVjaWZpZWQgYXQgdGhlIHN0YWNrIGxldmVsLiBDb25maWd1cmUgXCJlbnZcIiB3aXRoIGFuIGFjY291bnQgYW5kIHJlZ2lvbiB3aGVuICcgK1xuICAgIC8vICAgICAgIFwieW91IGRlZmluZSB5b3VyIHN0YWNrLlwiICtcbiAgICAvLyAgICAgICBcIlNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2RrL2xhdGVzdC9ndWlkZS9lbnZpcm9ubWVudHMuaHRtbCBmb3IgbW9yZSBkZXRhaWxzLlwiLFxuICAgIC8vICAgICBzY29wZSxcbiAgICAvLyAgICk7XG4gICAgLy8gfVxuXG4gICAgY29uc3QgeyBrZXksIHByb3BzIH0gPSB0aGlzLmdldEtleShzY29wZSwgb3B0aW9ucyk7XG4gICAgY29uc3QgdmFsdWUgPSBOb2RlLm9mKHNjb3BlKS50cnlHZXRDb250ZXh0KGtleSk7XG4gICAgY29uc3QgcHJvdmlkZXJFcnJvciA9IGV4dHJhY3RQcm92aWRlckVycm9yKHZhbHVlKTtcblxuICAgIC8vIGlmIGNvbnRleHQgaXMgbWlzc2luZyBvciBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgY29udGV4dCByZXRyaWV2YWwsXG4gICAgLy8gcmVwb3J0IGFuZCByZXR1cm4gYSBkdW1teSB2YWx1ZS5cbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCBwcm92aWRlckVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIFJlbmRlciAnaWdub3JlRXJyb3JPbk1pc3NpbmdDb250ZXh0JyBpZmYgb25lIG9mIHRoZSBwYXJhbWV0ZXJzIGlzIHN1cHBsaWVkLlxuICAgICAgY29uc3QgaWdub3JlRXJyb3JPbk1pc3NpbmdDb250ZXh0ID1cbiAgICAgICAgb3B0aW9ucy5tdXN0RXhpc3QgIT09IHVuZGVmaW5lZCA/ICFvcHRpb25zLm11c3RFeGlzdCA6IHVuZGVmaW5lZDtcblxuICAgICAgLy8gYnVpbGQgYSB2ZXJzaW9uIG9mIHRoZSBwcm9wcyB3aGljaCBpbmNsdWRlcyB0aGUgZHVtbXlWYWx1ZSBhbmQgaWdub3JlRXJyb3IgZmxhZ1xuICAgICAgY29uc3QgZXh0ZW5kZWRQcm9wczogeyBbcDogc3RyaW5nXTogYW55IH0gPSB7XG4gICAgICAgIGR1bW15VmFsdWU6IG9wdGlvbnMuZHVtbXlWYWx1ZSxcblxuICAgICAgICAvLyBFdmVuIHRob3VnaCB3ZSByZW5hbWVkIHRoZSB1c2VyLWZhY2luZyBwcm9wZXJ0eSwgdGhlIGZpZWxkIGluIHRoZVxuICAgICAgICAvLyBjbG91ZCBhc3NlbWJseSBzdGlsbCBoYXMgdGhlIG9yaWdpbmFsIG5hbWUsIHdoaWNoIGlzIHNvbWV3aGF0IHdyb25nXG4gICAgICAgIC8vIGJlY2F1c2UgaXQncyBub3QgYWJvdXQgbWlzc2luZyBjb250ZXh0LlxuICAgICAgICBpZ25vcmVFcnJvck9uTWlzc2luZ0NvbnRleHQsXG4gICAgICAgIC4uLihvcHRpb25zLmFkZGl0aW9uYWxDYWNoZUtleVxuICAgICAgICAgID8geyBhZGRpdGlvbmFsQ2FjaGVLZXk6IG9wdGlvbnMuYWRkaXRpb25hbENhY2hlS2V5IH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICB9O1xuXG4gICAgICAvLyBXZSdsbCBzdG9yZSB0aGUgZXh0ZW5kZWRQcm9wcyBpbiB0aGUgbWlzc2luZ0NvbnRleHRLZXkgcmVwb3J0XG4gICAgICAvLyBzbyB0aGF0IHdlIGNhbiByZXRyaWV2ZSB0aGUgZHVtbXlWYWx1ZSBhbmQgaWdub3JlRXJyb3IgZmxhZ1xuICAgICAgLy8gaW4gdGhlIGF3cy1jZGsncyBzc20tY29udGV4dCBhbmQga21zIGtleSBwcm92aWRlclxuICAgICAgc3RhY2sucmVwb3J0TWlzc2luZ0NvbnRleHRLZXkoe1xuICAgICAgICBrZXksXG4gICAgICAgIHByb3ZpZGVyOiBvcHRpb25zLnByb3ZpZGVyIGFzIGN4c2NoZW1hLkNvbnRleHRQcm92aWRlcixcbiAgICAgICAgcHJvcHM6IGV4dGVuZGVkUHJvcHMgYXMgY3hzY2hlbWEuQ29udGV4dFF1ZXJ5UHJvcGVydGllcyxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAocHJvdmlkZXJFcnJvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIEFubm90YXRpb25zLm9mKHNjb3BlKS5hZGRFcnJvcihwcm92aWRlckVycm9yKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHsgdmFsdWU6IG9wdGlvbnMuZHVtbXlWYWx1ZSB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IHZhbHVlIH07XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cbn1cblxuLyoqXG4gKiBJZiB0aGUgY29udGV4dCB2YWx1ZSByZXByZXNlbnRzIGFuIGVycm9yLCByZXR1cm4gdGhlIGVycm9yIG1lc3NhZ2VcbiAqL1xuZnVuY3Rpb24gZXh0cmFjdFByb3ZpZGVyRXJyb3IodmFsdWU6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICByZXR1cm4gdmFsdWVbY3hhcGkuUFJPVklERVJfRVJST1JfS0VZXTtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFF1b3RlIGNvbG9ucyBpbiBhbGwgc3RyaW5ncyBzbyB0aGF0IHdlIGNhbiB1bmRvIHRoZSBxdW90aW5nIGF0IGEgbGF0ZXIgcG9pbnRcbiAqXG4gKiBXZSdsbCB1c2UgJCBhcyBhIHF1b3RpbmcgY2hhcmFjdGVyLCBmb3Igbm8gcGFydGljdWxhcmx5IGdvb2QgcmVhc29uIG90aGVyXG4gKiB0aGFuIHRoYXQgXFwgaXMgZ29pbmcgdG8gbGVhZCB0byBxdW90aW5nIGhlbGwgd2hlbiB0aGUga2V5cyBhcmUgc3RvcmVkIGluIEpTT04uXG4gKi9cbmZ1bmN0aW9uIGNvbG9uUXVvdGUoeHM6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB4cy5yZXBsYWNlKC9cXCQvZywgXCIkJFwiKS5yZXBsYWNlKC86L2csIFwiJDpcIik7XG59XG5cbmZ1bmN0aW9uIHByb3BzVG9BcnJheShwcm9wczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwga2V5UHJlZml4ID0gXCJcIik6IHN0cmluZ1tdIHtcbiAgY29uc3QgcmV0OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHByb3BzKSkge1xuICAgIC8vIHNraXAgdW5kZWZpbmVkIHZhbHVlc1xuICAgIGlmIChwcm9wc1trZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZW9mIHByb3BzW2tleV0pIHtcbiAgICAgIGNhc2UgXCJvYmplY3RcIjoge1xuICAgICAgICByZXQucHVzaCguLi5wcm9wc1RvQXJyYXkocHJvcHNba2V5XSwgYCR7a2V5UHJlZml4fSR7a2V5fS5gKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBcInN0cmluZ1wiOiB7XG4gICAgICAgIHJldC5wdXNoKGAke2tleVByZWZpeH0ke2tleX09JHtjb2xvblF1b3RlKHByb3BzW2tleV0pfWApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0LnB1c2goYCR7a2V5UHJlZml4fSR7a2V5fT0ke0pTT04uc3RyaW5naWZ5KHByb3BzW2tleV0pfWApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXQuc29ydCgpO1xuICByZXR1cm4gcmV0O1xufVxuIl19
|
package/lib/aws/cx-api.d.ts
CHANGED
|
@@ -1 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* If a context value is an object with this key, it indicates an error
|
|
3
|
+
*/
|
|
4
|
+
export declare const PROVIDER_ERROR_KEY = "$providerError";
|
|
1
5
|
export declare const TARGET_PARTITIONS = "terraconstructs/core:target-partitions";
|
|
6
|
+
/**
|
|
7
|
+
* The type of subnet group.
|
|
8
|
+
* Same as SubnetType in the aws-cdk-lib/aws-ec2 package,
|
|
9
|
+
* but we can't use that because of cyclical dependencies.
|
|
10
|
+
*/
|
|
11
|
+
export declare enum VpcSubnetGroupType {
|
|
12
|
+
/** Public subnet group type. */
|
|
13
|
+
PUBLIC = "Public",
|
|
14
|
+
/** Private subnet group type. */
|
|
15
|
+
PRIVATE = "Private",
|
|
16
|
+
/** Isolated subnet group type. */
|
|
17
|
+
ISOLATED = "Isolated"
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A subnet representation that the VPC provider uses.
|
|
21
|
+
*/
|
|
22
|
+
export interface VpcSubnet {
|
|
23
|
+
/** The identifier of the subnet. */
|
|
24
|
+
readonly subnetId: string;
|
|
25
|
+
/**
|
|
26
|
+
* The code of the availability zone this subnet is in
|
|
27
|
+
* (for example, 'us-west-2a').
|
|
28
|
+
*/
|
|
29
|
+
readonly availabilityZone: string;
|
|
30
|
+
/** The identifier of the route table for this subnet. */
|
|
31
|
+
readonly routeTableId: string;
|
|
32
|
+
/**
|
|
33
|
+
* CIDR range of the subnet
|
|
34
|
+
*
|
|
35
|
+
* @default - CIDR information not available
|
|
36
|
+
*/
|
|
37
|
+
readonly cidr?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A group of subnets returned by the VPC provider.
|
|
41
|
+
* The included subnets do NOT have to be symmetric!
|
|
42
|
+
*/
|
|
43
|
+
export interface VpcSubnetGroup {
|
|
44
|
+
/**
|
|
45
|
+
* The name of the subnet group,
|
|
46
|
+
* determined by looking at the tags of of the subnets
|
|
47
|
+
* that belong to it.
|
|
48
|
+
*/
|
|
49
|
+
readonly name: string;
|
|
50
|
+
/** The type of the subnet group. */
|
|
51
|
+
readonly type: VpcSubnetGroupType;
|
|
52
|
+
/**
|
|
53
|
+
* The subnets that are part of this group.
|
|
54
|
+
* There is no condition that the subnets have to be symmetric
|
|
55
|
+
* in the group.
|
|
56
|
+
*/
|
|
57
|
+
readonly subnets: VpcSubnet[];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Properties of a discovered VPC
|
|
61
|
+
*/
|
|
62
|
+
export interface VpcContextResponse {
|
|
63
|
+
/**
|
|
64
|
+
* VPC id
|
|
65
|
+
*/
|
|
66
|
+
readonly vpcId: string;
|
|
67
|
+
/**
|
|
68
|
+
* VPC cidr
|
|
69
|
+
*
|
|
70
|
+
* @default - CIDR information not available
|
|
71
|
+
*/
|
|
72
|
+
readonly vpcCidrBlock?: string;
|
|
73
|
+
/**
|
|
74
|
+
* AZs
|
|
75
|
+
*/
|
|
76
|
+
readonly availabilityZones: string[];
|
|
77
|
+
/**
|
|
78
|
+
* IDs of all public subnets
|
|
79
|
+
*
|
|
80
|
+
* Element count: #(availabilityZones) · #(publicGroups)
|
|
81
|
+
*/
|
|
82
|
+
readonly publicSubnetIds?: string[];
|
|
83
|
+
/**
|
|
84
|
+
* Name of public subnet groups
|
|
85
|
+
*
|
|
86
|
+
* Element count: #(publicGroups)
|
|
87
|
+
*/
|
|
88
|
+
readonly publicSubnetNames?: string[];
|
|
89
|
+
/**
|
|
90
|
+
* Route Table IDs of public subnet groups.
|
|
91
|
+
*
|
|
92
|
+
* Element count: #(availabilityZones) · #(publicGroups)
|
|
93
|
+
*/
|
|
94
|
+
readonly publicSubnetRouteTableIds?: string[];
|
|
95
|
+
/**
|
|
96
|
+
* IDs of all private subnets
|
|
97
|
+
*
|
|
98
|
+
* Element count: #(availabilityZones) · #(privateGroups)
|
|
99
|
+
*/
|
|
100
|
+
readonly privateSubnetIds?: string[];
|
|
101
|
+
/**
|
|
102
|
+
* Name of private subnet groups
|
|
103
|
+
*
|
|
104
|
+
* Element count: #(privateGroups)
|
|
105
|
+
*/
|
|
106
|
+
readonly privateSubnetNames?: string[];
|
|
107
|
+
/**
|
|
108
|
+
* Route Table IDs of private subnet groups.
|
|
109
|
+
*
|
|
110
|
+
* Element count: #(availabilityZones) · #(privateGroups)
|
|
111
|
+
*/
|
|
112
|
+
readonly privateSubnetRouteTableIds?: string[];
|
|
113
|
+
/**
|
|
114
|
+
* IDs of all isolated subnets
|
|
115
|
+
*
|
|
116
|
+
* Element count: #(availabilityZones) · #(isolatedGroups)
|
|
117
|
+
*/
|
|
118
|
+
readonly isolatedSubnetIds?: string[];
|
|
119
|
+
/**
|
|
120
|
+
* Name of isolated subnet groups
|
|
121
|
+
*
|
|
122
|
+
* Element count: #(isolatedGroups)
|
|
123
|
+
*/
|
|
124
|
+
readonly isolatedSubnetNames?: string[];
|
|
125
|
+
/**
|
|
126
|
+
* Route Table IDs of isolated subnet groups.
|
|
127
|
+
*
|
|
128
|
+
* Element count: #(availabilityZones) · #(isolatedGroups)
|
|
129
|
+
*/
|
|
130
|
+
readonly isolatedSubnetRouteTableIds?: string[];
|
|
131
|
+
/**
|
|
132
|
+
* The VPN gateway ID
|
|
133
|
+
*/
|
|
134
|
+
readonly vpnGatewayId?: string;
|
|
135
|
+
/**
|
|
136
|
+
* The subnet groups discovered for the given VPC.
|
|
137
|
+
* Unlike the above properties, this will include asymmetric subnets,
|
|
138
|
+
* if the VPC has any.
|
|
139
|
+
* This property will only be populated if `VpcContextQuery.returnAsymmetricSubnets`
|
|
140
|
+
* is true.
|
|
141
|
+
*
|
|
142
|
+
* @default - no subnet groups will be returned unless `VpcContextQuery.returnAsymmetricSubnets` is true
|
|
143
|
+
*/
|
|
144
|
+
readonly subnetGroups?: VpcSubnetGroup[];
|
|
145
|
+
/**
|
|
146
|
+
* The region in which the VPC is in.
|
|
147
|
+
*
|
|
148
|
+
* @default - Region of the parent stack
|
|
149
|
+
*/
|
|
150
|
+
readonly region?: string;
|
|
151
|
+
/**
|
|
152
|
+
* The ID of the AWS account that owns the VPC.
|
|
153
|
+
*
|
|
154
|
+
* @default the account id of the parent stack
|
|
155
|
+
*/
|
|
156
|
+
readonly ownerAccountId?: string;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Properties of a discovered SecurityGroup.
|
|
160
|
+
*/
|
|
161
|
+
export interface SecurityGroupContextResponse {
|
|
162
|
+
/**
|
|
163
|
+
* The security group's id.
|
|
164
|
+
*/
|
|
165
|
+
readonly securityGroupId: string;
|
|
166
|
+
/**
|
|
167
|
+
* Whether the security group allows all outbound traffic. This will be true
|
|
168
|
+
* when the security group has all-protocol egress permissions to access both
|
|
169
|
+
* `0.0.0.0/0` and `::/0`.
|
|
170
|
+
*/
|
|
171
|
+
readonly allowAllOutbound: boolean;
|
|
172
|
+
}
|
package/lib/aws/cx-api.js
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// https://github.com/aws/aws-cdk/blob/v2.
|
|
2
|
+
// https://github.com/aws/aws-cdk/blob/v2.233.0/packages/aws-cdk-lib/cx-api/lib/cxapi.ts
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.TARGET_PARTITIONS = void 0;
|
|
4
|
+
exports.VpcSubnetGroupType = exports.TARGET_PARTITIONS = exports.PROVIDER_ERROR_KEY = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* If a context value is an object with this key, it indicates an error
|
|
7
|
+
*/
|
|
8
|
+
exports.PROVIDER_ERROR_KEY = "$providerError";
|
|
9
|
+
// Ref: https://github.com/aws/aws-cdk/blob/v2.232.2/packages/aws-cdk-lib/cx-api/lib/features.ts
|
|
5
10
|
exports.TARGET_PARTITIONS = "terraconstructs/core:target-partitions";
|
|
6
|
-
|
|
11
|
+
// Ref: https://github.com/aws/aws-cdk/blob/v2.232.2/packages/aws-cdk-lib/cx-api/lib/context/vpc.ts
|
|
12
|
+
/**
|
|
13
|
+
* The type of subnet group.
|
|
14
|
+
* Same as SubnetType in the aws-cdk-lib/aws-ec2 package,
|
|
15
|
+
* but we can't use that because of cyclical dependencies.
|
|
16
|
+
*/
|
|
17
|
+
var VpcSubnetGroupType;
|
|
18
|
+
(function (VpcSubnetGroupType) {
|
|
19
|
+
/** Public subnet group type. */
|
|
20
|
+
VpcSubnetGroupType["PUBLIC"] = "Public";
|
|
21
|
+
/** Private subnet group type. */
|
|
22
|
+
VpcSubnetGroupType["PRIVATE"] = "Private";
|
|
23
|
+
/** Isolated subnet group type. */
|
|
24
|
+
VpcSubnetGroupType["ISOLATED"] = "Isolated";
|
|
25
|
+
})(VpcSubnetGroupType || (exports.VpcSubnetGroupType = VpcSubnetGroupType = {}));
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3gtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3cy9jeC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdGQUF3Rjs7O0FBRXhGOztHQUVHO0FBQ1UsUUFBQSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUVuRCxnR0FBZ0c7QUFFbkYsUUFBQSxpQkFBaUIsR0FBRyx3Q0FBd0MsQ0FBQztBQUUxRSxtR0FBbUc7QUFFbkc7Ozs7R0FJRztBQUNILElBQVksa0JBU1g7QUFURCxXQUFZLGtCQUFrQjtJQUM1QixnQ0FBZ0M7SUFDaEMsdUNBQWlCLENBQUE7SUFFakIsaUNBQWlDO0lBQ2pDLHlDQUFtQixDQUFBO0lBRW5CLGtDQUFrQztJQUNsQywyQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBVFcsa0JBQWtCLGtDQUFsQixrQkFBa0IsUUFTN0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4yMzMuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9jeC1hcGkvbGliL2N4YXBpLnRzXG5cbi8qKlxuICogSWYgYSBjb250ZXh0IHZhbHVlIGlzIGFuIG9iamVjdCB3aXRoIHRoaXMga2V5LCBpdCBpbmRpY2F0ZXMgYW4gZXJyb3JcbiAqL1xuZXhwb3J0IGNvbnN0IFBST1ZJREVSX0VSUk9SX0tFWSA9IFwiJHByb3ZpZGVyRXJyb3JcIjtcblxuLy8gUmVmOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4yMzIuMi9wYWNrYWdlcy9hd3MtY2RrLWxpYi9jeC1hcGkvbGliL2ZlYXR1cmVzLnRzXG5cbmV4cG9ydCBjb25zdCBUQVJHRVRfUEFSVElUSU9OUyA9IFwidGVycmFjb25zdHJ1Y3RzL2NvcmU6dGFyZ2V0LXBhcnRpdGlvbnNcIjtcblxuLy8gUmVmOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4yMzIuMi9wYWNrYWdlcy9hd3MtY2RrLWxpYi9jeC1hcGkvbGliL2NvbnRleHQvdnBjLnRzXG5cbi8qKlxuICogVGhlIHR5cGUgb2Ygc3VibmV0IGdyb3VwLlxuICogU2FtZSBhcyBTdWJuZXRUeXBlIGluIHRoZSBhd3MtY2RrLWxpYi9hd3MtZWMyIHBhY2thZ2UsXG4gKiBidXQgd2UgY2FuJ3QgdXNlIHRoYXQgYmVjYXVzZSBvZiBjeWNsaWNhbCBkZXBlbmRlbmNpZXMuXG4gKi9cbmV4cG9ydCBlbnVtIFZwY1N1Ym5ldEdyb3VwVHlwZSB7XG4gIC8qKiBQdWJsaWMgc3VibmV0IGdyb3VwIHR5cGUuICovXG4gIFBVQkxJQyA9IFwiUHVibGljXCIsXG5cbiAgLyoqIFByaXZhdGUgc3VibmV0IGdyb3VwIHR5cGUuICovXG4gIFBSSVZBVEUgPSBcIlByaXZhdGVcIixcblxuICAvKiogSXNvbGF0ZWQgc3VibmV0IGdyb3VwIHR5cGUuICovXG4gIElTT0xBVEVEID0gXCJJc29sYXRlZFwiLFxufVxuXG4vKipcbiAqIEEgc3VibmV0IHJlcHJlc2VudGF0aW9uIHRoYXQgdGhlIFZQQyBwcm92aWRlciB1c2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY1N1Ym5ldCB7XG4gIC8qKiBUaGUgaWRlbnRpZmllciBvZiB0aGUgc3VibmV0LiAqL1xuICByZWFkb25seSBzdWJuZXRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29kZSBvZiB0aGUgYXZhaWxhYmlsaXR5IHpvbmUgdGhpcyBzdWJuZXQgaXMgaW5cbiAgICogKGZvciBleGFtcGxlLCAndXMtd2VzdC0yYScpLlxuICAgKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nO1xuXG4gIC8qKiBUaGUgaWRlbnRpZmllciBvZiB0aGUgcm91dGUgdGFibGUgZm9yIHRoaXMgc3VibmV0LiAqL1xuICByZWFkb25seSByb3V0ZVRhYmxlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQ0lEUiByYW5nZSBvZiB0aGUgc3VibmV0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ0lEUiBpbmZvcm1hdGlvbiBub3QgYXZhaWxhYmxlXG4gICAqL1xuICByZWFkb25seSBjaWRyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgZ3JvdXAgb2Ygc3VibmV0cyByZXR1cm5lZCBieSB0aGUgVlBDIHByb3ZpZGVyLlxuICogVGhlIGluY2x1ZGVkIHN1Ym5ldHMgZG8gTk9UIGhhdmUgdG8gYmUgc3ltbWV0cmljIVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY1N1Ym5ldEdyb3VwIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzdWJuZXQgZ3JvdXAsXG4gICAqIGRldGVybWluZWQgYnkgbG9va2luZyBhdCB0aGUgdGFncyBvZiBvZiB0aGUgc3VibmV0c1xuICAgKiB0aGF0IGJlbG9uZyB0byBpdC5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKiogVGhlIHR5cGUgb2YgdGhlIHN1Ym5ldCBncm91cC4gKi9cbiAgcmVhZG9ubHkgdHlwZTogVnBjU3VibmV0R3JvdXBUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgc3VibmV0cyB0aGF0IGFyZSBwYXJ0IG9mIHRoaXMgZ3JvdXAuXG4gICAqIFRoZXJlIGlzIG5vIGNvbmRpdGlvbiB0aGF0IHRoZSBzdWJuZXRzIGhhdmUgdG8gYmUgc3ltbWV0cmljXG4gICAqIGluIHRoZSBncm91cC5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldHM6IFZwY1N1Ym5ldFtdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgb2YgYSBkaXNjb3ZlcmVkIFZQQ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY0NvbnRleHRSZXNwb25zZSB7XG4gIC8qKlxuICAgKiBWUEMgaWRcbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZQQyBjaWRyXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ0lEUiBpbmZvcm1hdGlvbiBub3QgYXZhaWxhYmxlXG4gICAqL1xuICByZWFkb25seSB2cGNDaWRyQmxvY2s/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFac1xuICAgKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJRHMgb2YgYWxsIHB1YmxpYyBzdWJuZXRzXG4gICAqXG4gICAqIEVsZW1lbnQgY291bnQ6ICMoYXZhaWxhYmlsaXR5Wm9uZXMpIMK3ICMocHVibGljR3JvdXBzKVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgcHVibGljIHN1Ym5ldCBncm91cHNcbiAgICpcbiAgICogRWxlbWVudCBjb3VudDogIyhwdWJsaWNHcm91cHMpXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNTdWJuZXROYW1lcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSb3V0ZSBUYWJsZSBJRHMgb2YgcHVibGljIHN1Ym5ldCBncm91cHMuXG4gICAqXG4gICAqIEVsZW1lbnQgY291bnQ6ICMoYXZhaWxhYmlsaXR5Wm9uZXMpIMK3ICMocHVibGljR3JvdXBzKVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljU3VibmV0Um91dGVUYWJsZUlkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJRHMgb2YgYWxsIHByaXZhdGUgc3VibmV0c1xuICAgKlxuICAgKiBFbGVtZW50IGNvdW50OiAjKGF2YWlsYWJpbGl0eVpvbmVzKSDCtyAjKHByaXZhdGVHcm91cHMpXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgcHJpdmF0ZSBzdWJuZXQgZ3JvdXBzXG4gICAqXG4gICAqIEVsZW1lbnQgY291bnQ6ICMocHJpdmF0ZUdyb3VwcylcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVTdWJuZXROYW1lcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSb3V0ZSBUYWJsZSBJRHMgb2YgcHJpdmF0ZSBzdWJuZXQgZ3JvdXBzLlxuICAgKlxuICAgKiBFbGVtZW50IGNvdW50OiAjKGF2YWlsYWJpbGl0eVpvbmVzKSDCtyAjKHByaXZhdGVHcm91cHMpXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlU3VibmV0Um91dGVUYWJsZUlkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJRHMgb2YgYWxsIGlzb2xhdGVkIHN1Ym5ldHNcbiAgICpcbiAgICogRWxlbWVudCBjb3VudDogIyhhdmFpbGFiaWxpdHlab25lcykgwrcgIyhpc29sYXRlZEdyb3VwcylcbiAgICovXG4gIHJlYWRvbmx5IGlzb2xhdGVkU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgaXNvbGF0ZWQgc3VibmV0IGdyb3Vwc1xuICAgKlxuICAgKiBFbGVtZW50IGNvdW50OiAjKGlzb2xhdGVkR3JvdXBzKVxuICAgKi9cbiAgcmVhZG9ubHkgaXNvbGF0ZWRTdWJuZXROYW1lcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSb3V0ZSBUYWJsZSBJRHMgb2YgaXNvbGF0ZWQgc3VibmV0IGdyb3Vwcy5cbiAgICpcbiAgICogRWxlbWVudCBjb3VudDogIyhhdmFpbGFiaWxpdHlab25lcykgwrcgIyhpc29sYXRlZEdyb3VwcylcbiAgICovXG4gIHJlYWRvbmx5IGlzb2xhdGVkU3VibmV0Um91dGVUYWJsZUlkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBOIGdhdGV3YXkgSURcbiAgICovXG4gIHJlYWRvbmx5IHZwbkdhdGV3YXlJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN1Ym5ldCBncm91cHMgZGlzY292ZXJlZCBmb3IgdGhlIGdpdmVuIFZQQy5cbiAgICogVW5saWtlIHRoZSBhYm92ZSBwcm9wZXJ0aWVzLCB0aGlzIHdpbGwgaW5jbHVkZSBhc3ltbWV0cmljIHN1Ym5ldHMsXG4gICAqIGlmIHRoZSBWUEMgaGFzIGFueS5cbiAgICogVGhpcyBwcm9wZXJ0eSB3aWxsIG9ubHkgYmUgcG9wdWxhdGVkIGlmIGBWcGNDb250ZXh0UXVlcnkucmV0dXJuQXN5bW1ldHJpY1N1Ym5ldHNgXG4gICAqIGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gc3VibmV0IGdyb3VwcyB3aWxsIGJlIHJldHVybmVkIHVubGVzcyBgVnBjQ29udGV4dFF1ZXJ5LnJldHVybkFzeW1tZXRyaWNTdWJuZXRzYCBpcyB0cnVlXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRHcm91cHM/OiBWcGNTdWJuZXRHcm91cFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uIGluIHdoaWNoIHRoZSBWUEMgaXMgaW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gUmVnaW9uIG9mIHRoZSBwYXJlbnQgc3RhY2tcbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBBV1MgYWNjb3VudCB0aGF0IG93bnMgdGhlIFZQQy5cbiAgICpcbiAgICogQGRlZmF1bHQgdGhlIGFjY291bnQgaWQgb2YgdGhlIHBhcmVudCBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgb3duZXJBY2NvdW50SWQ/OiBzdHJpbmc7XG59XG5cbi8vIFJlZjogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMjMyLjIvcGFja2FnZXMvYXdzLWNkay1saWIvY3gtYXBpL2xpYi9jb250ZXh0L3NlY3VyaXR5LWdyb3VwLnRzXG5cbi8qKlxuICogUHJvcGVydGllcyBvZiBhIGRpc2NvdmVyZWQgU2VjdXJpdHlHcm91cC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUdyb3VwQ29udGV4dFJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIFRoZSBzZWN1cml0eSBncm91cCdzIGlkLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNlY3VyaXR5IGdyb3VwIGFsbG93cyBhbGwgb3V0Ym91bmQgdHJhZmZpYy4gVGhpcyB3aWxsIGJlIHRydWVcbiAgICogd2hlbiB0aGUgc2VjdXJpdHkgZ3JvdXAgaGFzIGFsbC1wcm90b2NvbCBlZ3Jlc3MgcGVybWlzc2lvbnMgdG8gYWNjZXNzIGJvdGhcbiAgICogYDAuMC4wLjAvMGAgYW5kIGA6Oi8wYC5cbiAgICovXG4gIHJlYWRvbmx5IGFsbG93QWxsT3V0Ym91bmQ6IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -154,7 +154,7 @@ class PublicCertificate extends certificate_base_1.CertificateBase {
|
|
|
154
154
|
}
|
|
155
155
|
exports.PublicCertificate = PublicCertificate;
|
|
156
156
|
_a = JSII_RTTI_SYMBOL_1;
|
|
157
|
-
PublicCertificate[_a] = { fqn: "terraconstructs.aws.edge.PublicCertificate", version: "0.2.
|
|
157
|
+
PublicCertificate[_a] = { fqn: "terraconstructs.aws.edge.PublicCertificate", version: "0.2.4" };
|
|
158
158
|
/**
|
|
159
159
|
* Method used to assert ownership of the domain
|
|
160
160
|
*/
|
|
@@ -242,7 +242,7 @@ class Distribution extends aws_construct_1.AwsConstructBase {
|
|
|
242
242
|
}
|
|
243
243
|
exports.Distribution = Distribution;
|
|
244
244
|
_a = JSII_RTTI_SYMBOL_1;
|
|
245
|
-
Distribution[_a] = { fqn: "terraconstructs.aws.edge.Distribution", version: "0.2.
|
|
245
|
+
Distribution[_a] = { fqn: "terraconstructs.aws.edge.Distribution", version: "0.2.4" };
|
|
246
246
|
var GeoRestrictionType;
|
|
247
247
|
(function (GeoRestrictionType) {
|
|
248
248
|
GeoRestrictionType["NONE"] = "none";
|
|
@@ -320,7 +320,7 @@ class AllowedMethods {
|
|
|
320
320
|
}
|
|
321
321
|
exports.AllowedMethods = AllowedMethods;
|
|
322
322
|
_b = JSII_RTTI_SYMBOL_1;
|
|
323
|
-
AllowedMethods[_b] = { fqn: "terraconstructs.aws.edge.AllowedMethods", version: "0.2.
|
|
323
|
+
AllowedMethods[_b] = { fqn: "terraconstructs.aws.edge.AllowedMethods", version: "0.2.4" };
|
|
324
324
|
/** HEAD and GET */
|
|
325
325
|
AllowedMethods.ALLOW_GET_HEAD = new AllowedMethods(["GET", "HEAD"]);
|
|
326
326
|
/** HEAD, GET, and OPTIONS */
|
|
@@ -349,7 +349,7 @@ class CachedMethods {
|
|
|
349
349
|
}
|
|
350
350
|
exports.CachedMethods = CachedMethods;
|
|
351
351
|
_c = JSII_RTTI_SYMBOL_1;
|
|
352
|
-
CachedMethods[_c] = { fqn: "terraconstructs.aws.edge.CachedMethods", version: "0.2.
|
|
352
|
+
CachedMethods[_c] = { fqn: "terraconstructs.aws.edge.CachedMethods", version: "0.2.4" };
|
|
353
353
|
/** HEAD and GET */
|
|
354
354
|
CachedMethods.CACHE_GET_HEAD = new CachedMethods(["GET", "HEAD"]);
|
|
355
355
|
/** HEAD, GET, and OPTIONS */
|
|
@@ -21,7 +21,7 @@ class DistributionTarget {
|
|
|
21
21
|
}
|
|
22
22
|
exports.DistributionTarget = DistributionTarget;
|
|
23
23
|
_a = JSII_RTTI_SYMBOL_1;
|
|
24
|
-
DistributionTarget[_a] = { fqn: "terraconstructs.aws.edge.DistributionTarget", version: "0.2.
|
|
24
|
+
DistributionTarget[_a] = { fqn: "terraconstructs.aws.edge.DistributionTarget", version: "0.2.4" };
|
|
25
25
|
/**
|
|
26
26
|
* Use Bucket as an alias record target
|
|
27
27
|
*/
|
|
@@ -43,7 +43,7 @@ class BucketWebsiteTarget {
|
|
|
43
43
|
}
|
|
44
44
|
exports.BucketWebsiteTarget = BucketWebsiteTarget;
|
|
45
45
|
_b = JSII_RTTI_SYMBOL_1;
|
|
46
|
-
BucketWebsiteTarget[_b] = { fqn: "terraconstructs.aws.edge.BucketWebsiteTarget", version: "0.2.
|
|
46
|
+
BucketWebsiteTarget[_b] = { fqn: "terraconstructs.aws.edge.BucketWebsiteTarget", version: "0.2.4" };
|
|
47
47
|
/**
|
|
48
48
|
* Use an ELBv2 as an alias record target
|
|
49
49
|
*/
|
|
@@ -65,7 +65,7 @@ class LoadBalancerTarget {
|
|
|
65
65
|
}
|
|
66
66
|
exports.LoadBalancerTarget = LoadBalancerTarget;
|
|
67
67
|
_c = JSII_RTTI_SYMBOL_1;
|
|
68
|
-
LoadBalancerTarget[_c] = { fqn: "terraconstructs.aws.edge.LoadBalancerTarget", version: "0.2.
|
|
68
|
+
LoadBalancerTarget[_c] = { fqn: "terraconstructs.aws.edge.LoadBalancerTarget", version: "0.2.4" };
|
|
69
69
|
/**
|
|
70
70
|
* Defines an API Gateway domain name as the alias target.
|
|
71
71
|
*
|
|
@@ -86,7 +86,7 @@ class ApiGatewayDomain {
|
|
|
86
86
|
}
|
|
87
87
|
exports.ApiGatewayDomain = ApiGatewayDomain;
|
|
88
88
|
_d = JSII_RTTI_SYMBOL_1;
|
|
89
|
-
ApiGatewayDomain[_d] = { fqn: "terraconstructs.aws.edge.ApiGatewayDomain", version: "0.2.
|
|
89
|
+
ApiGatewayDomain[_d] = { fqn: "terraconstructs.aws.edge.ApiGatewayDomain", version: "0.2.4" };
|
|
90
90
|
/**
|
|
91
91
|
* Defines an API Gateway REST API as the alias target. Requires that the domain
|
|
92
92
|
* name will be defined through `RestApiProps.domainName`.
|
|
@@ -104,7 +104,7 @@ class ApiGatewayTarget extends ApiGatewayDomain {
|
|
|
104
104
|
}
|
|
105
105
|
exports.ApiGatewayTarget = ApiGatewayTarget;
|
|
106
106
|
_e = JSII_RTTI_SYMBOL_1;
|
|
107
|
-
ApiGatewayTarget[_e] = { fqn: "terraconstructs.aws.edge.ApiGatewayTarget", version: "0.2.
|
|
107
|
+
ApiGatewayTarget[_e] = { fqn: "terraconstructs.aws.edge.ApiGatewayTarget", version: "0.2.4" };
|
|
108
108
|
/**
|
|
109
109
|
* Defines an API Gateway V2 domain name as the alias target.
|
|
110
110
|
*/
|
|
@@ -127,5 +127,5 @@ class ApiGatewayv2DomainProperties {
|
|
|
127
127
|
}
|
|
128
128
|
exports.ApiGatewayv2DomainProperties = ApiGatewayv2DomainProperties;
|
|
129
129
|
_f = JSII_RTTI_SYMBOL_1;
|
|
130
|
-
ApiGatewayv2DomainProperties[_f] = { fqn: "terraconstructs.aws.edge.ApiGatewayv2DomainProperties", version: "0.2.
|
|
130
|
+
ApiGatewayv2DomainProperties[_f] = { fqn: "terraconstructs.aws.edge.ApiGatewayv2DomainProperties", version: "0.2.4" };
|
|
131
131
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLWFsaWFzLXJlY29yZC10YXJnZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9lZGdlL2Rucy1hbGlhcy1yZWNvcmQtdGFyZ2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLGdGQUdpRDtBQWVqRDs7R0FFRztBQUNILE1BQWEsa0JBQWtCO0lBQzdCLFlBQTZCLFlBQTJCO1FBQTNCLGlCQUFZLEdBQVosWUFBWSxDQUFlO0lBQUcsQ0FBQztJQUVyRCxJQUFJLENBQ1QsT0FBbUIsRUFDbkIsS0FBZ0I7UUFFaEIsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVk7WUFDdEMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVTtZQUNsQyxvQkFBb0IsRUFBRSxLQUFLO1NBQzVCLENBQUM7SUFDSixDQUFDOztBQVpILGdEQWFDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsbUJBQW1CO0lBQzlCLFlBQTZCLE1BQWU7UUFBZixXQUFNLEdBQU4sTUFBTSxDQUFTO0lBQUcsQ0FBQztJQUV6QyxJQUFJLENBQ1QsT0FBbUIsRUFDbkIsS0FBZ0I7UUFFaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLDJEQUEyRCxDQUM1RCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDO1FBRTVDLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjtZQUNuQyxvQkFBb0IsRUFBRSxJQUFJO1NBQzNCLENBQUM7SUFDSixDQUFDOztBQW5CSCxrREFvQkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxrQkFBa0I7SUFDdEIsTUFBTSxDQUFDLGNBQWMsQ0FDMUIsaUNBQXlDLEVBQ3pDLG1CQUEyQjtRQUUzQixNQUFNLFFBQVEsR0FBRyxJQUFJLHlDQUFvQixDQUN2QyxpQ0FBaUMsRUFDakMsbUJBQW1CLENBQ3BCLENBQUM7UUFDRixPQUFPLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELFlBQTZCLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtJQUFHLENBQUM7SUFFM0QsSUFBSSxDQUNULE9BQW1CLEVBQ25CLEtBQWdCO1FBRWhCLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQ0FBaUM7WUFDM0QsSUFBSSxFQUFFLGFBQWEsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxRCxvQkFBb0IsRUFBRSxJQUFJO1NBQzNCLENBQUM7SUFDSixDQUFDOztBQXRCSCxnREF1QkM7OztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBYSxnQkFBZ0I7SUFDM0IsWUFBNkIsVUFBdUI7UUFBdkIsZUFBVSxHQUFWLFVBQVUsQ0FBYTtJQUFHLENBQUM7SUFFakQsSUFBSSxDQUNULE9BQW1CLEVBQ25CLEtBQWdCO1FBRWhCLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkI7WUFDbkQsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMseUJBQXlCO1lBQy9DLG9CQUFvQixFQUFFLElBQUk7U0FDM0IsQ0FBQztJQUNKLENBQUM7O0FBWkgsNENBYUM7OztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsZ0JBQWdCO0lBQ3BELFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7O0FBUEgsNENBUUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSw0QkFBNEI7SUFDdkM7OztPQUdHO0lBQ0gsWUFDbUIsa0JBQTBCLEVBQzFCLG9CQUE0QjtRQUQ1Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQVE7UUFDMUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFRO0lBQzVDLENBQUM7SUFFRyxJQUFJLENBQ1QsT0FBbUIsRUFDbkIsS0FBZ0I7UUFFaEIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQ2pDLG9CQUFvQixFQUFFLElBQUk7U0FDM0IsQ0FBQztJQUNKLENBQUM7O0FBbkJILG9FQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJvdXRlNTNSZWNvcmQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgSVJlY29yZFNldCwgSURuc1pvbmUsIElEaXN0cmlidXRpb24gfSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgSURvbWFpbk5hbWUgfSBmcm9tIFwiLi4vY29tcHV0ZS9kb21haW4tbmFtZVwiO1xuaW1wb3J0IHtcbiAgSUxvYWRCYWxhbmNlckJhc2VWMixcbiAgSW1wb3J0ZWRMb2FkQmFsYW5jZXIsXG59IGZyb20gXCIuLi9jb21wdXRlL2xiLXNoYXJlZC9iYXNlLWxvYWQtYmFsYW5jZXJcIjtcbmltcG9ydCB7IFJlc3RBcGlCYXNlIH0gZnJvbSBcIi4uL2NvbXB1dGUvcmVzdGFwaVwiO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gXCIuLi9zdG9yYWdlXCI7XG5cbi8qKlxuICogQ2xhc3NlcyB0aGF0IGFyZSB2YWxpZCBhbGlhcyByZWNvcmQgdGFyZ2V0cywgbGlrZSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvbnMgbG9hZFxuICogYmFsYW5jZXJzLCBzaG91bGQgaW1wbGVtZW50IHRoaXMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBbGlhc1JlY29yZFRhcmdldCB7XG4gIC8qKlxuICAgKiBSZXR1cm4gaG9zdGVkIHpvbmUgSUQgYW5kIEROUyBuYW1lLCB1c2FibGUgZm9yIFJvdXRlNTMgYWxpYXMgdGFyZ2V0c1xuICAgKi9cbiAgYmluZChyZWNvcmQ6IElSZWNvcmRTZXQsIHpvbmU/OiBJRG5zWm9uZSk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzO1xufVxuXG4vKipcbiAqIFVzZSBhIENsb3VkRnJvbnQgRGlzdHJpYnV0aW9uIGFzIGFuIGFsaWFzIHJlY29yZCB0YXJnZXRcbiAqL1xuZXhwb3J0IGNsYXNzIERpc3RyaWJ1dGlvblRhcmdldCBpbXBsZW1lbnRzIElBbGlhc1JlY29yZFRhcmdldCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlzdHJpYnV0aW9uOiBJRGlzdHJpYnV0aW9uKSB7fVxuXG4gIHB1YmxpYyBiaW5kKFxuICAgIF9yZWNvcmQ6IElSZWNvcmRTZXQsXG4gICAgX3pvbmU/OiBJRG5zWm9uZSxcbiAgKTogcm91dGU1M1JlY29yZC5Sb3V0ZTUzUmVjb3JkQWxpYXMge1xuICAgIHJldHVybiB7XG4gICAgICB6b25lSWQ6IHRoaXMuZGlzdHJpYnV0aW9uLmhvc3RlZFpvbmVJZCxcbiAgICAgIG5hbWU6IHRoaXMuZGlzdHJpYnV0aW9uLmRvbWFpbk5hbWUsXG4gICAgICBldmFsdWF0ZVRhcmdldEhlYWx0aDogZmFsc2UsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIFVzZSBCdWNrZXQgYXMgYW4gYWxpYXMgcmVjb3JkIHRhcmdldFxuICovXG5leHBvcnQgY2xhc3MgQnVja2V0V2Vic2l0ZVRhcmdldCBpbXBsZW1lbnRzIElBbGlhc1JlY29yZFRhcmdldCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0KSB7fVxuXG4gIHB1YmxpYyBiaW5kKFxuICAgIF9yZWNvcmQ6IElSZWNvcmRTZXQsXG4gICAgX3pvbmU/OiBJRG5zWm9uZSxcbiAgKTogcm91dGU1M1JlY29yZC5Sb3V0ZTUzUmVjb3JkQWxpYXMge1xuICAgIGlmICghdGhpcy5idWNrZXQuaXNXZWJzaXRlKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDYW5ub3QgdXNlIGEgbm9uLXdlYnNpdGUgYnVja2V0IGFzIGFuIGFsaWFzIHJlY29yZCB0YXJnZXRcIixcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuYnVja2V0LmJ1Y2tldE91dHB1dHMud2Vic2l0ZURvbWFpbk5hbWU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgem9uZUlkOiB0aGlzLmJ1Y2tldC5ob3N0ZWRab25lSWQsXG4gICAgICBuYW1lOiB0aGlzLmJ1Y2tldC53ZWJzaXRlRG9tYWluTmFtZSxcbiAgICAgIGV2YWx1YXRlVGFyZ2V0SGVhbHRoOiB0cnVlLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBVc2UgYW4gRUxCdjIgYXMgYW4gYWxpYXMgcmVjb3JkIHRhcmdldFxuICovXG5leHBvcnQgY2xhc3MgTG9hZEJhbGFuY2VyVGFyZ2V0IGltcGxlbWVudHMgSUFsaWFzUmVjb3JkVGFyZ2V0IHtcbiAgcHVibGljIHN0YXRpYyBmcm9tQXR0cmlidXRlcyhcbiAgICBsb2FkQmFsYW5jZXJDYW5vbmljYWxIb3N0ZWRab25lSWQ6IHN0cmluZyxcbiAgICBsb2FkQmFsYW5jZXJEbnNOYW1lOiBzdHJpbmcsXG4gICkge1xuICAgIGNvbnN0IGltcG9ydGVkID0gbmV3IEltcG9ydGVkTG9hZEJhbGFuY2VyKFxuICAgICAgbG9hZEJhbGFuY2VyQ2Fub25pY2FsSG9zdGVkWm9uZUlkLFxuICAgICAgbG9hZEJhbGFuY2VyRG5zTmFtZSxcbiAgICApO1xuICAgIHJldHVybiBuZXcgTG9hZEJhbGFuY2VyVGFyZ2V0KGltcG9ydGVkKTtcbiAgfVxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxvYWRCYWxhbmNlcjogSUxvYWRCYWxhbmNlckJhc2VWMikge31cblxuICBwdWJsaWMgYmluZChcbiAgICBfcmVjb3JkOiBJUmVjb3JkU2V0LFxuICAgIF96b25lPzogSURuc1pvbmUsXG4gICk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzIHtcbiAgICByZXR1cm4ge1xuICAgICAgem9uZUlkOiB0aGlzLmxvYWRCYWxhbmNlci5sb2FkQmFsYW5jZXJDYW5vbmljYWxIb3N0ZWRab25lSWQsXG4gICAgICBuYW1lOiBgZHVhbHN0YWNrLiR7dGhpcy5sb2FkQmFsYW5jZXIubG9hZEJhbGFuY2VyRG5zTmFtZX1gLFxuICAgICAgZXZhbHVhdGVUYXJnZXRIZWFsdGg6IHRydWUsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIERlZmluZXMgYW4gQVBJIEdhdGV3YXkgZG9tYWluIG5hbWUgYXMgdGhlIGFsaWFzIHRhcmdldC5cbiAqXG4gKiBVc2UgdGhlIGBBcGlHYXRld2F5VGFyZ2V0YCBjbGFzcyBpZiB5b3Ugd2lzaCB0byBtYXAgdGhlIGFsaWFzIHRvIGFuIFJFU1QgQVBJIHdpdGggYVxuICogZG9tYWluIG5hbWUgZGVmaW5lZCB0aHJvdWdoIHRoZSBgUmVzdEFwaVByb3BzLmRvbWFpbk5hbWVgIHByb3AuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcGlHYXRld2F5RG9tYWluIGltcGxlbWVudHMgSUFsaWFzUmVjb3JkVGFyZ2V0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkb21haW5OYW1lOiBJRG9tYWluTmFtZSkge31cblxuICBwdWJsaWMgYmluZChcbiAgICBfcmVjb3JkOiBJUmVjb3JkU2V0LFxuICAgIF96b25lPzogSURuc1pvbmUsXG4gICk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzIHtcbiAgICByZXR1cm4ge1xuICAgICAgem9uZUlkOiB0aGlzLmRvbWFpbk5hbWUuZG9tYWluTmFtZUFsaWFzSG9zdGVkWm9uZUlkLFxuICAgICAgbmFtZTogdGhpcy5kb21haW5OYW1lLmRvbWFpbk5hbWVBbGlhc0RvbWFpbk5hbWUsXG4gICAgICBldmFsdWF0ZVRhcmdldEhlYWx0aDogdHJ1ZSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogRGVmaW5lcyBhbiBBUEkgR2F0ZXdheSBSRVNUIEFQSSBhcyB0aGUgYWxpYXMgdGFyZ2V0LiBSZXF1aXJlcyB0aGF0IHRoZSBkb21haW5cbiAqIG5hbWUgd2lsbCBiZSBkZWZpbmVkIHRocm91Z2ggYFJlc3RBcGlQcm9wcy5kb21haW5OYW1lYC5cbiAqXG4gKiBZb3UgY2FuIGRpcmVjdCB0aGUgYWxpYXMgdG8gYW55IGBhcGlnYXRld2F5LkRvbWFpbk5hbWVgIHJlc291cmNlIHRocm91Z2ggdGhlXG4gKiBgQXBpR2F0ZXdheURvbWFpbmAgY2xhc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcGlHYXRld2F5VGFyZ2V0IGV4dGVuZHMgQXBpR2F0ZXdheURvbWFpbiB7XG4gIGNvbnN0cnVjdG9yKGFwaTogUmVzdEFwaUJhc2UpIHtcbiAgICBpZiAoIWFwaS5kb21haW5OYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFQSSBkb2VzIG5vdCBkZWZpbmUgYSBkZWZhdWx0IGRvbWFpbiBuYW1lOiAke2FwaX1gKTtcbiAgICB9XG5cbiAgICBzdXBlcihhcGkuZG9tYWluTmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBEZWZpbmVzIGFuIEFQSSBHYXRld2F5IFYyIGRvbWFpbiBuYW1lIGFzIHRoZSBhbGlhcyB0YXJnZXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcGlHYXRld2F5djJEb21haW5Qcm9wZXJ0aWVzIGltcGxlbWVudHMgSUFsaWFzUmVjb3JkVGFyZ2V0IHtcbiAgLyoqXG4gICAqIEBwYXJhbSByZWdpb25hbERvbWFpbk5hbWUgdGhlIGRvbWFpbiBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVnaW9uYWwgZW5kcG9pbnQgZm9yIHRoaXMgY3VzdG9tIGRvbWFpbiBuYW1lLlxuICAgKiBAcGFyYW0gcmVnaW9uYWxIb3N0ZWRab25lSWQgdGhlIHJlZ2lvbi1zcGVjaWZpYyBBbWF6b24gUm91dGUgNTMgSG9zdGVkIFpvbmUgSUQgb2YgdGhlIHJlZ2lvbmFsIGVuZHBvaW50LlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByZWdpb25hbERvbWFpbk5hbWU6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZ2lvbmFsSG9zdGVkWm9uZUlkOiBzdHJpbmcsXG4gICkge31cblxuICBwdWJsaWMgYmluZChcbiAgICBfcmVjb3JkOiBJUmVjb3JkU2V0LFxuICAgIF96b25lPzogSURuc1pvbmUsXG4gICk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogdGhpcy5yZWdpb25hbERvbWFpbk5hbWUsXG4gICAgICB6b25lSWQ6IHRoaXMucmVnaW9uYWxIb3N0ZWRab25lSWQsXG4gICAgICBldmFsdWF0ZVRhcmdldEhlYWx0aDogdHJ1ZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|