alchemy 2.0.0-beta.1 → 2.0.0-beta.2
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/bin/alchemy-effect.js +31 -16
- package/bin/alchemy-effect.js.map +1 -1
- package/bin/alchemy-effect.sh +2 -3
- package/bin/alchemy-effect.ts +3 -3
- package/lib/cli/index.d.ts +39 -36
- package/lib/cli/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/AWS/ACM/Certificate.ts +49 -46
- package/src/AWS/AutoScaling/AutoScalingGroup.ts +4 -1
- package/src/AWS/AutoScaling/LaunchTemplate.ts +3 -1
- package/src/AWS/AutoScaling/ScalingPolicy.ts +4 -1
- package/src/AWS/CloudFront/Distribution.ts +4 -1
- package/src/AWS/CloudFront/Function.ts +4 -1
- package/src/AWS/CloudFront/Invalidation.ts +4 -1
- package/src/AWS/CloudFront/KeyValueStore.ts +4 -1
- package/src/AWS/CloudFront/KvEntries.ts +4 -1
- package/src/AWS/CloudFront/KvRoutesUpdate.ts +4 -1
- package/src/AWS/CloudFront/OriginAccessControl.ts +4 -1
- package/src/AWS/CloudWatch/Alarm.ts +4 -1
- package/src/AWS/CloudWatch/AlarmMuteRule.ts +4 -1
- package/src/AWS/CloudWatch/AnomalyDetector.ts +4 -1
- package/src/AWS/CloudWatch/CompositeAlarm.ts +4 -1
- package/src/AWS/CloudWatch/Dashboard.ts +4 -1
- package/src/AWS/CloudWatch/InsightRule.ts +4 -1
- package/src/AWS/CloudWatch/MetricStream.ts +4 -1
- package/src/AWS/DynamoDB/Table.ts +3 -1
- package/src/AWS/EC2/EIP.ts +4 -1
- package/src/AWS/EC2/EgressOnlyInternetGateway.ts +4 -1
- package/src/AWS/EC2/Instance.ts +3 -1
- package/src/AWS/EC2/InternetGateway.ts +4 -1
- package/src/AWS/EC2/NatGateway.ts +4 -1
- package/src/AWS/EC2/NetworkAcl.ts +4 -1
- package/src/AWS/EC2/NetworkAclAssociation.ts +4 -1
- package/src/AWS/EC2/NetworkAclEntry.ts +4 -1
- package/src/AWS/EC2/Route.ts +4 -1
- package/src/AWS/EC2/RouteTable.ts +4 -1
- package/src/AWS/EC2/RouteTableAssociation.ts +4 -1
- package/src/AWS/EC2/SecurityGroup.ts +4 -1
- package/src/AWS/EC2/SecurityGroupRule.ts +4 -1
- package/src/AWS/EC2/Subnet.ts +4 -1
- package/src/AWS/EC2/Vpc.ts +4 -1
- package/src/AWS/EC2/VpcEndpoint.ts +4 -1
- package/src/AWS/ECR/Repository.ts +4 -1
- package/src/AWS/ECS/Cluster.ts +4 -1
- package/src/AWS/ECS/Service.ts +4 -1
- package/src/AWS/ECS/Task.ts +3 -1
- package/src/AWS/EKS/AccessEntry.ts +4 -1
- package/src/AWS/EKS/Addon.ts +4 -1
- package/src/AWS/EKS/Cluster.ts +3 -1
- package/src/AWS/EKS/PodIdentityAssociation.ts +4 -1
- package/src/AWS/ELBv2/Listener.ts +4 -1
- package/src/AWS/ELBv2/LoadBalancer.ts +4 -1
- package/src/AWS/ELBv2/TargetGroup.ts +4 -1
- package/src/AWS/EventBridge/EventBus.ts +4 -1
- package/src/AWS/EventBridge/Permission.ts +4 -1
- package/src/AWS/EventBridge/Rule.ts +4 -1
- package/src/AWS/IAM/AccessKey.ts +4 -1
- package/src/AWS/IAM/AccountAlias.ts +4 -1
- package/src/AWS/IAM/AccountPasswordPolicy.ts +4 -1
- package/src/AWS/IAM/Group.ts +4 -1
- package/src/AWS/IAM/GroupMembership.ts +4 -1
- package/src/AWS/IAM/InstanceProfile.ts +4 -1
- package/src/AWS/IAM/LoginProfile.ts +4 -1
- package/src/AWS/IAM/OpenIDConnectProvider.ts +4 -1
- package/src/AWS/IAM/Policy.ts +4 -1
- package/src/AWS/IAM/Role.ts +4 -1
- package/src/AWS/IAM/SAMLProvider.ts +4 -1
- package/src/AWS/IAM/SSHPublicKey.ts +4 -1
- package/src/AWS/IAM/ServerCertificate.ts +4 -1
- package/src/AWS/IAM/ServiceSpecificCredential.ts +4 -1
- package/src/AWS/IAM/SigningCertificate.ts +4 -1
- package/src/AWS/IAM/User.ts +4 -1
- package/src/AWS/IAM/VirtualMFADevice.ts +4 -1
- package/src/AWS/IdentityCenter/AccountAssignment.ts +4 -1
- package/src/AWS/IdentityCenter/Group.ts +4 -1
- package/src/AWS/IdentityCenter/Instance.ts +4 -1
- package/src/AWS/IdentityCenter/PermissionSet.ts +4 -1
- package/src/AWS/Kinesis/Stream.ts +4 -1
- package/src/AWS/Kinesis/StreamConsumer.ts +4 -1
- package/src/AWS/Lambda/EventSourceMapping.ts +4 -1
- package/src/AWS/Lambda/Function.ts +3 -1
- package/src/AWS/Lambda/Permission.ts +4 -1
- package/src/AWS/Logs/LogGroup.ts +4 -1
- package/src/AWS/Organizations/Account.ts +4 -1
- package/src/AWS/Organizations/DelegatedAdministrator.ts +4 -1
- package/src/AWS/Organizations/Organization.ts +4 -1
- package/src/AWS/Organizations/OrganizationResourcePolicy.ts +4 -1
- package/src/AWS/Organizations/OrganizationalUnit.ts +4 -1
- package/src/AWS/Organizations/Policy.ts +4 -1
- package/src/AWS/Organizations/PolicyAttachment.ts +4 -1
- package/src/AWS/Organizations/Root.ts +4 -1
- package/src/AWS/Organizations/RootPolicyType.ts +4 -1
- package/src/AWS/Organizations/TrustedServiceAccess.ts +4 -1
- package/src/AWS/Providers.ts +484 -438
- package/src/AWS/RDS/DBCluster.ts +4 -1
- package/src/AWS/RDS/DBClusterEndpoint.ts +4 -1
- package/src/AWS/RDS/DBClusterParameterGroup.ts +4 -1
- package/src/AWS/RDS/DBInstance.ts +4 -1
- package/src/AWS/RDS/DBParameterGroup.ts +4 -1
- package/src/AWS/RDS/DBProxy.ts +4 -1
- package/src/AWS/RDS/DBProxyEndpoint.ts +4 -1
- package/src/AWS/RDS/DBProxyTargetGroup.ts +4 -1
- package/src/AWS/RDS/DBSubnetGroup.ts +4 -1
- package/src/AWS/Route53/Record.ts +4 -1
- package/src/AWS/S3/Bucket.ts +3 -1
- package/src/AWS/SNS/Subscription.ts +4 -1
- package/src/AWS/SNS/Topic.ts +4 -1
- package/src/AWS/SQS/Queue.ts +3 -1
- package/src/AWS/Scheduler/Schedule.ts +4 -1
- package/src/AWS/Scheduler/ScheduleGroup.ts +4 -1
- package/src/AWS/SecretsManager/Secret.ts +4 -1
- package/src/AWS/Website/AssetDeployment.ts +4 -1
- package/src/Apply.ts +3 -3
- package/src/Binding.ts +18 -17
- package/src/Cloudflare/Container/ContainerApplication.ts +3 -1
- package/src/Cloudflare/D1/D1Database.ts +4 -1
- package/src/Cloudflare/KV/KVNamespace.ts +7 -4
- package/src/Cloudflare/Providers.ts +62 -60
- package/src/Cloudflare/R2/R2Bucket.ts +4 -1
- package/src/Cloudflare/R2/R2BucketBinding.ts +26 -31
- package/src/Cloudflare/Workers/Worker.ts +3 -1
- package/src/Cloudflare/Workers/Workflow.ts +3 -1
- package/src/Plan.ts +595 -596
- package/src/Platform.ts +9 -8
- package/src/Provider.ts +145 -23
- package/src/Resource.ts +10 -3
- package/src/Stack.ts +1 -1
- package/src/Util/service.ts +1 -1
- package/src/index.ts +10 -7
package/bin/alchemy-effect.sh
CHANGED
|
@@ -6,9 +6,8 @@ if [ -n "$link" ]; then
|
|
|
6
6
|
else
|
|
7
7
|
dir="$(cd "$(dirname "$0")" && pwd)"
|
|
8
8
|
fi
|
|
9
|
-
script="$dir/alchemy-effect.js"
|
|
10
9
|
if command -v bun >/dev/null 2>&1; then
|
|
11
|
-
exec bun "$
|
|
10
|
+
exec bun "$dir/alchemy-effect.ts" "$@"
|
|
12
11
|
else
|
|
13
|
-
exec node "$
|
|
12
|
+
exec node "$dir/alchemy-effect.js" "$@"
|
|
14
13
|
fi
|
package/bin/alchemy-effect.ts
CHANGED
|
@@ -28,7 +28,7 @@ import * as AWSRegion from "../src/AWS/Region.ts";
|
|
|
28
28
|
import * as CLI from "../src/Cli/index.ts";
|
|
29
29
|
import { dotAlchemy } from "../src/Config.ts";
|
|
30
30
|
import * as Plan from "../src/Plan.ts";
|
|
31
|
-
import {
|
|
31
|
+
import { findProviderByType, type LogLine } from "../src/Provider.ts";
|
|
32
32
|
import * as Stack from "../src/Stack.ts";
|
|
33
33
|
import { Stage } from "../src/Stage.ts";
|
|
34
34
|
import * as State from "../src/State/index.ts";
|
|
@@ -341,7 +341,7 @@ const tailCommand = Command.make(
|
|
|
341
341
|
});
|
|
342
342
|
if (!resourceState?.attr) continue;
|
|
343
343
|
|
|
344
|
-
const provider = yield*
|
|
344
|
+
const provider = yield* findProviderByType(resource.Type);
|
|
345
345
|
if (!provider.tail) continue;
|
|
346
346
|
|
|
347
347
|
tailable.push({
|
|
@@ -636,7 +636,7 @@ const logsCommand = Command.make(
|
|
|
636
636
|
});
|
|
637
637
|
if (!resourceState?.attr) continue;
|
|
638
638
|
|
|
639
|
-
const provider = yield*
|
|
639
|
+
const provider = yield* findProviderByType(resource.Type);
|
|
640
640
|
if (!provider.logs) continue;
|
|
641
641
|
|
|
642
642
|
const lines = yield* provider.logs({
|
package/lib/cli/index.d.ts
CHANGED
|
@@ -3,36 +3,45 @@ import * as Context from "effect/Context";
|
|
|
3
3
|
import * as Effect$1 from "effect/Effect";
|
|
4
4
|
import { Effect, Yieldable } from "effect/Effect";
|
|
5
5
|
import * as Layer from "effect/Layer";
|
|
6
|
+
import "effect/Option";
|
|
6
7
|
import * as Stream from "effect/Stream";
|
|
7
|
-
import * as S from "effect/Schema";
|
|
8
|
-
import { Pipeable } from "effect/Pipeable";
|
|
9
8
|
import "effect/Config";
|
|
10
9
|
import { Scope } from "effect/Scope";
|
|
11
10
|
import { HttpBodyError } from "effect/unstable/http/HttpBody";
|
|
12
11
|
import { HttpServerError } from "effect/unstable/http/HttpServerError";
|
|
13
12
|
import { HttpServerRequest } from "effect/unstable/http/HttpServerRequest";
|
|
14
13
|
import * as HttpServerResponse from "effect/unstable/http/HttpServerResponse";
|
|
14
|
+
import { Pipeable } from "effect/Pipeable";
|
|
15
|
+
import * as S from "effect/Schema";
|
|
15
16
|
import "effect/FileSystem";
|
|
16
17
|
import "effect/Path";
|
|
17
18
|
|
|
18
|
-
//#region src/Util/data.d.ts
|
|
19
|
-
type Primitive = never | undefined | null | boolean | number | string | bigint | symbol;
|
|
20
|
-
//#endregion
|
|
21
19
|
//#region src/Http.d.ts
|
|
22
20
|
type HttpEffect<Req$1 = never> = Effect$1.Effect<HttpServerResponse.HttpServerResponse, HttpServerError | HttpBodyError, HttpServerRequest | Scope | Req$1>;
|
|
23
21
|
//#endregion
|
|
24
|
-
//#region src/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
22
|
+
//#region src/Util/data.d.ts
|
|
23
|
+
type Primitive = never | undefined | null | boolean | number | string | bigint | symbol;
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/Input.d.ts
|
|
26
|
+
type Function = (...args: any[]) => any;
|
|
27
|
+
type Constructor = new (...args: any[]) => any;
|
|
28
|
+
type PolicyLike = {
|
|
29
|
+
kind: "alchemy/Policy";
|
|
30
|
+
};
|
|
31
|
+
type Input<T> = T | Output<T> | Effect<T, any, any> | (T extends S.Schema<any> ? never : Output<T, any> | (T extends Primitive ? never : T extends any[] ? number extends T["length"] ? Input<T[number]>[] : Inputs<T> : T extends object ? { [K in keyof T]: Input<T[K]> } : never));
|
|
32
|
+
declare namespace Input {
|
|
33
|
+
type Resolve<T> = T extends {
|
|
34
|
+
Type: string;
|
|
35
|
+
Attributes: infer Attributes;
|
|
36
|
+
} ? { [K in keyof Attributes]: Resolve<Attributes[K]> } : T extends Output<infer U> ? U : T extends Primitive | Constructor | Function | S.Schema<any> | PolicyLike ? T : T extends any[] ? ResolveArray<T> : T extends Record<string, any> ? { [k in keyof T]: Input.Resolve<T[k]> } : never;
|
|
37
|
+
type ResolveArray<T extends any[]> = number extends T["length"] ? Resolve<T[number]>[] : ResolveTuple<T>;
|
|
38
|
+
type ResolveTuple<T extends any[], Accum extends any[] = []> = T extends [infer H, ...infer Tail] ? ResolveTuple<Tail, [...Accum, Input.Resolve<H>]> : Accum;
|
|
39
|
+
type ResolveProps<Props$2 extends Record<string, any>> = { [k in keyof Props$2]: Input.Resolve<Props$2[k]> };
|
|
40
|
+
type ResolveOpaque<T> = true extends IsOut<T> ? ResolveOut<T> : Resolve<T>;
|
|
41
|
+
type IsOut<T> = T extends Output<infer _U> ? true : never;
|
|
42
|
+
type ResolveOut<T> = T extends Output<infer U> ? U : never;
|
|
33
43
|
}
|
|
34
|
-
|
|
35
|
-
declare const ExecutionContext: ExecutionContext<BaseExecutionContext> & (<Ctx extends BaseExecutionContext>(type: Ctx["Type"]) => ExecutionContext<Ctx>);
|
|
44
|
+
type Inputs<T extends any[], Out extends any[] = []> = T extends [infer H, ...infer T] ? Inputs<T, [...Out, Input<H>]> : Out;
|
|
36
45
|
//#endregion
|
|
37
46
|
//#region src/Namespace.d.ts
|
|
38
47
|
interface NamespaceNode {
|
|
@@ -50,7 +59,7 @@ interface ResourceBinding<Data = any> {
|
|
|
50
59
|
sid: string;
|
|
51
60
|
data: Data;
|
|
52
61
|
}
|
|
53
|
-
interface ResourceLike<Type extends string = string, Props$2 extends object | undefined = any, Attributes$1 extends object = object, Binding = any> {
|
|
62
|
+
interface ResourceLike<Type extends string = string, Props$2 extends object | undefined = any, Attributes$1 extends object = object, Binding = any, Providers = any> {
|
|
54
63
|
/**
|
|
55
64
|
* Namespace containing this Resource.
|
|
56
65
|
*/
|
|
@@ -80,6 +89,8 @@ interface ResourceLike<Type extends string = string, Props$2 extends object | un
|
|
|
80
89
|
Attributes: Attributes$1;
|
|
81
90
|
/** @internal phantom */
|
|
82
91
|
Binding: Binding;
|
|
92
|
+
/** @internal phantom */
|
|
93
|
+
Providers: Providers;
|
|
83
94
|
}
|
|
84
95
|
//#endregion
|
|
85
96
|
//#region src/State/ResourceState.d.ts
|
|
@@ -189,26 +200,18 @@ interface Output<A = any, Req$1 = any> extends Pipeable {
|
|
|
189
200
|
}
|
|
190
201
|
interface Accessor<A> extends Effect$1.Effect<A> {}
|
|
191
202
|
//#endregion
|
|
192
|
-
//#region src/
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
Type: string;
|
|
202
|
-
Attributes: infer Attributes;
|
|
203
|
-
} ? { [K in keyof Attributes]: Resolve<Attributes[K]> } : T extends Output<infer U> ? U : T extends Primitive | Constructor | Function | S.Schema<any> | PolicyLike ? T : T extends any[] ? ResolveArray<T> : T extends Record<string, any> ? { [k in keyof T]: Input.Resolve<T[k]> } : never;
|
|
204
|
-
type ResolveArray<T extends any[]> = number extends T["length"] ? Resolve<T[number]>[] : ResolveTuple<T>;
|
|
205
|
-
type ResolveTuple<T extends any[], Accum extends any[] = []> = T extends [infer H, ...infer Tail] ? ResolveTuple<Tail, [...Accum, Input.Resolve<H>]> : Accum;
|
|
206
|
-
type ResolveProps<Props$2 extends Record<string, any>> = { [k in keyof Props$2]: Input.Resolve<Props$2[k]> };
|
|
207
|
-
type ResolveOpaque<T> = true extends IsOut<T> ? ResolveOut<T> : Resolve<T>;
|
|
208
|
-
type IsOut<T> = T extends Output<infer _U> ? true : never;
|
|
209
|
-
type ResolveOut<T> = T extends Output<infer U> ? U : never;
|
|
203
|
+
//#region src/ExecutionContext.d.ts
|
|
204
|
+
interface BaseExecutionContext {
|
|
205
|
+
Type: string;
|
|
206
|
+
id: string;
|
|
207
|
+
env: Record<string, any>;
|
|
208
|
+
get<T>(key: string): Effect$1.Effect<T>;
|
|
209
|
+
set(id: string, output: Output): Effect$1.Effect<string>;
|
|
210
|
+
exports?: Effect$1.Effect<Record<string, any>>;
|
|
211
|
+
serve?<Req$1 = never>(handler: HttpEffect<Req$1>): Effect$1.Effect<void, never, Req$1>;
|
|
210
212
|
}
|
|
211
|
-
|
|
213
|
+
interface ExecutionContext<Ctx extends BaseExecutionContext = BaseExecutionContext> extends Context.Service<`ExecutionContext<${Ctx["Type"]}>`, Ctx> {}
|
|
214
|
+
declare const ExecutionContext: ExecutionContext<BaseExecutionContext> & (<Ctx extends BaseExecutionContext>(type: Ctx["Type"]) => ExecutionContext<Ctx>);
|
|
212
215
|
//#endregion
|
|
213
216
|
//#region src/Diff.d.ts
|
|
214
217
|
type Diff = NoopDiff | UpdateDiff | ReplaceDiff;
|
package/lib/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/Http.ts","../../src/Util/data.ts","../../src/Input.ts","../../src/Namespace.ts","../../src/RemovalPolicy.ts","../../src/Resource.ts","../../src/State/ResourceState.ts","../../src/Output.ts","../../src/ExecutionContext.ts","../../src/Diff.ts","../../src/Provider.ts","../../src/Plan.ts","../../src/Cli/Event.ts","../../src/Cli/Cli.ts","../../src/Cli/InkCLI.tsx"],"sourcesContent":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -6,6 +6,7 @@ import * as Schedule from "effect/Schedule";
|
|
|
6
6
|
import { deepEqual, isResolved } from "../../Diff.ts";
|
|
7
7
|
import * as Provider from "../../Provider.ts";
|
|
8
8
|
import { Resource } from "../../Resource.ts";
|
|
9
|
+
import type { Providers } from "../Providers.ts";
|
|
9
10
|
import {
|
|
10
11
|
createInternalTags,
|
|
11
12
|
createTagsList,
|
|
@@ -96,7 +97,9 @@ export interface Certificate extends Resource<
|
|
|
96
97
|
* Certificate expiration timestamp, when issued.
|
|
97
98
|
*/
|
|
98
99
|
notAfter: Date | undefined;
|
|
99
|
-
}
|
|
100
|
+
},
|
|
101
|
+
never,
|
|
102
|
+
Providers
|
|
100
103
|
> {}
|
|
101
104
|
|
|
102
105
|
/**
|
|
@@ -127,51 +130,6 @@ export interface Certificate extends Resource<
|
|
|
127
130
|
*/
|
|
128
131
|
export const Certificate = Resource<Certificate>("AWS.ACM.Certificate");
|
|
129
132
|
|
|
130
|
-
const ACM_REGION = "us-east-1" as const;
|
|
131
|
-
const defaultValidationMethod = "DNS" as const;
|
|
132
|
-
|
|
133
|
-
const withAcmRegion = <A, E, R>(effect: Effect.Effect<A, E, R>) =>
|
|
134
|
-
effect.pipe(Effect.provideService(AwsRegion, ACM_REGION as any));
|
|
135
|
-
|
|
136
|
-
const normalizeHostedZoneId = (hostedZoneId: string) =>
|
|
137
|
-
hostedZoneId.replace(/^\/hostedzone\//, "");
|
|
138
|
-
|
|
139
|
-
const normalizeSanList = (names: string[] | undefined) =>
|
|
140
|
-
[...(names ?? [])].sort((a, b) => a.localeCompare(b));
|
|
141
|
-
|
|
142
|
-
const toTagRecord = (tags: acm.Tag[] | undefined) =>
|
|
143
|
-
Object.fromEntries(
|
|
144
|
-
(tags ?? [])
|
|
145
|
-
.filter(
|
|
146
|
-
(tag): tag is { Key: string; Value: string } =>
|
|
147
|
-
typeof tag.Key === "string" && typeof tag.Value === "string",
|
|
148
|
-
)
|
|
149
|
-
.map((tag) => [tag.Key, tag.Value]),
|
|
150
|
-
);
|
|
151
|
-
|
|
152
|
-
const toAttrs = (
|
|
153
|
-
props: CertificateProps,
|
|
154
|
-
detail: acm.CertificateDetail,
|
|
155
|
-
tags: Record<string, string>,
|
|
156
|
-
) => ({
|
|
157
|
-
certificateArn: detail.CertificateArn!,
|
|
158
|
-
domainName: detail.DomainName ?? props.domainName,
|
|
159
|
-
subjectAlternativeNames: detail.SubjectAlternativeNames ?? [],
|
|
160
|
-
status: detail.Status,
|
|
161
|
-
domainValidationOptions: detail.DomainValidationOptions ?? [],
|
|
162
|
-
validationMethod: props.validationMethod ?? defaultValidationMethod,
|
|
163
|
-
keyAlgorithm: detail.KeyAlgorithm ?? props.keyAlgorithm,
|
|
164
|
-
hostedZoneId: props.hostedZoneId
|
|
165
|
-
? normalizeHostedZoneId(props.hostedZoneId)
|
|
166
|
-
: undefined,
|
|
167
|
-
tags,
|
|
168
|
-
issuedAt: detail.IssuedAt,
|
|
169
|
-
notAfter: detail.NotAfter,
|
|
170
|
-
});
|
|
171
|
-
|
|
172
|
-
const isTerminalFailure = (status: acm.CertificateStatus | undefined) =>
|
|
173
|
-
status === "FAILED" || status === "VALIDATION_TIMED_OUT";
|
|
174
|
-
|
|
175
133
|
export const CertificateProvider = () =>
|
|
176
134
|
Provider.effect(
|
|
177
135
|
Certificate,
|
|
@@ -502,3 +460,48 @@ export const CertificateProvider = () =>
|
|
|
502
460
|
};
|
|
503
461
|
}),
|
|
504
462
|
);
|
|
463
|
+
|
|
464
|
+
const ACM_REGION = "us-east-1" as const;
|
|
465
|
+
const defaultValidationMethod = "DNS" as const;
|
|
466
|
+
|
|
467
|
+
const withAcmRegion = <A, E, R>(effect: Effect.Effect<A, E, R>) =>
|
|
468
|
+
effect.pipe(Effect.provideService(AwsRegion, ACM_REGION as any));
|
|
469
|
+
|
|
470
|
+
const normalizeHostedZoneId = (hostedZoneId: string) =>
|
|
471
|
+
hostedZoneId.replace(/^\/hostedzone\//, "");
|
|
472
|
+
|
|
473
|
+
const normalizeSanList = (names: string[] | undefined) =>
|
|
474
|
+
[...(names ?? [])].sort((a, b) => a.localeCompare(b));
|
|
475
|
+
|
|
476
|
+
const toTagRecord = (tags: acm.Tag[] | undefined) =>
|
|
477
|
+
Object.fromEntries(
|
|
478
|
+
(tags ?? [])
|
|
479
|
+
.filter(
|
|
480
|
+
(tag): tag is { Key: string; Value: string } =>
|
|
481
|
+
typeof tag.Key === "string" && typeof tag.Value === "string",
|
|
482
|
+
)
|
|
483
|
+
.map((tag) => [tag.Key, tag.Value]),
|
|
484
|
+
);
|
|
485
|
+
|
|
486
|
+
const toAttrs = (
|
|
487
|
+
props: CertificateProps,
|
|
488
|
+
detail: acm.CertificateDetail,
|
|
489
|
+
tags: Record<string, string>,
|
|
490
|
+
) => ({
|
|
491
|
+
certificateArn: detail.CertificateArn!,
|
|
492
|
+
domainName: detail.DomainName ?? props.domainName,
|
|
493
|
+
subjectAlternativeNames: detail.SubjectAlternativeNames ?? [],
|
|
494
|
+
status: detail.Status,
|
|
495
|
+
domainValidationOptions: detail.DomainValidationOptions ?? [],
|
|
496
|
+
validationMethod: props.validationMethod ?? defaultValidationMethod,
|
|
497
|
+
keyAlgorithm: detail.KeyAlgorithm ?? props.keyAlgorithm,
|
|
498
|
+
hostedZoneId: props.hostedZoneId
|
|
499
|
+
? normalizeHostedZoneId(props.hostedZoneId)
|
|
500
|
+
: undefined,
|
|
501
|
+
tags,
|
|
502
|
+
issuedAt: detail.IssuedAt,
|
|
503
|
+
notAfter: detail.NotAfter,
|
|
504
|
+
});
|
|
505
|
+
|
|
506
|
+
const isTerminalFailure = (status: acm.CertificateStatus | undefined) =>
|
|
507
|
+
status === "FAILED" || status === "VALIDATION_TIMED_OUT";
|
|
@@ -6,6 +6,7 @@ import type { Input } from "../../Input.ts";
|
|
|
6
6
|
import { createPhysicalName } from "../../PhysicalName.ts";
|
|
7
7
|
import * as Provider from "../../Provider.ts";
|
|
8
8
|
import { Resource } from "../../Resource.ts";
|
|
9
|
+
import type { Providers } from "../Providers.ts";
|
|
9
10
|
import { createInternalTags, diffTags } from "../../Tags.ts";
|
|
10
11
|
import type { SubnetId } from "../EC2/Subnet.ts";
|
|
11
12
|
import type {
|
|
@@ -94,7 +95,9 @@ export interface AutoScalingGroup extends Resource<
|
|
|
94
95
|
defaultCooldown?: number;
|
|
95
96
|
terminationPolicies?: string[];
|
|
96
97
|
tags: Record<string, string>;
|
|
97
|
-
}
|
|
98
|
+
},
|
|
99
|
+
never,
|
|
100
|
+
Providers
|
|
98
101
|
> {}
|
|
99
102
|
|
|
100
103
|
/**
|
|
@@ -12,6 +12,7 @@ import { createPhysicalName } from "../../PhysicalName.ts";
|
|
|
12
12
|
import { Platform, type Main, type PlatformProps } from "../../Platform.ts";
|
|
13
13
|
import * as Provider from "../../Provider.ts";
|
|
14
14
|
import { Resource } from "../../Resource.ts";
|
|
15
|
+
import type { Providers } from "../Providers.ts";
|
|
15
16
|
import { Stack } from "../../Stack.ts";
|
|
16
17
|
import { Stage } from "../../Stage.ts";
|
|
17
18
|
import { createInternalTags, diffTags, hasTags } from "../../Tags.ts";
|
|
@@ -125,7 +126,8 @@ export interface LaunchTemplate extends Resource<
|
|
|
125
126
|
{
|
|
126
127
|
env?: Record<string, any>;
|
|
127
128
|
policyStatements?: PolicyStatement[];
|
|
128
|
-
}
|
|
129
|
+
},
|
|
130
|
+
Providers
|
|
129
131
|
> {}
|
|
130
132
|
|
|
131
133
|
export type LaunchTemplateServices = Credentials | Region;
|
|
@@ -5,6 +5,7 @@ import type { Input } from "../../Input.ts";
|
|
|
5
5
|
import { createPhysicalName } from "../../PhysicalName.ts";
|
|
6
6
|
import * as Provider from "../../Provider.ts";
|
|
7
7
|
import { Resource } from "../../Resource.ts";
|
|
8
|
+
import type { Providers } from "../Providers.ts";
|
|
8
9
|
import type { AutoScalingGroup as AutoScalingGroupResource } from "./AutoScalingGroup.ts";
|
|
9
10
|
|
|
10
11
|
export type ScalingPolicyName = string;
|
|
@@ -56,7 +57,9 @@ export interface ScalingPolicy extends Resource<
|
|
|
56
57
|
targetValue: number;
|
|
57
58
|
predefinedMetricType: string;
|
|
58
59
|
alarms: string[];
|
|
59
|
-
}
|
|
60
|
+
},
|
|
61
|
+
never,
|
|
62
|
+
Providers
|
|
60
63
|
> {}
|
|
61
64
|
|
|
62
65
|
/**
|
|
@@ -5,6 +5,7 @@ import * as Schedule from "effect/Schedule";
|
|
|
5
5
|
import type { Input } from "../../Input.ts";
|
|
6
6
|
import * as Provider from "../../Provider.ts";
|
|
7
7
|
import { Resource } from "../../Resource.ts";
|
|
8
|
+
import type { Providers } from "../Providers.ts";
|
|
8
9
|
import { createInternalTags, createTagsList, diffTags } from "../../Tags.ts";
|
|
9
10
|
|
|
10
11
|
const CLOUDFRONT_HOSTED_ZONE_ID = "Z2FDTNDATAQYW2" as const;
|
|
@@ -215,7 +216,9 @@ export interface Distribution extends Resource<
|
|
|
215
216
|
* Current tags on the distribution.
|
|
216
217
|
*/
|
|
217
218
|
tags: Record<string, string>;
|
|
218
|
-
}
|
|
219
|
+
},
|
|
220
|
+
never,
|
|
221
|
+
Providers
|
|
219
222
|
> {}
|
|
220
223
|
|
|
221
224
|
/**
|
|
@@ -6,6 +6,7 @@ import { isResolved } from "../../Diff.ts";
|
|
|
6
6
|
import { createPhysicalName } from "../../PhysicalName.ts";
|
|
7
7
|
import * as Provider from "../../Provider.ts";
|
|
8
8
|
import { Resource } from "../../Resource.ts";
|
|
9
|
+
import type { Providers } from "../Providers.ts";
|
|
9
10
|
|
|
10
11
|
export interface FunctionProps {
|
|
11
12
|
/**
|
|
@@ -71,7 +72,9 @@ export interface Function extends Resource<
|
|
|
71
72
|
* Associated KeyValueStore ARNs.
|
|
72
73
|
*/
|
|
73
74
|
keyValueStoreArns: string[];
|
|
74
|
-
}
|
|
75
|
+
},
|
|
76
|
+
never,
|
|
77
|
+
Providers
|
|
75
78
|
> {}
|
|
76
79
|
|
|
77
80
|
/**
|
|
@@ -5,6 +5,7 @@ import * as Schedule from "effect/Schedule";
|
|
|
5
5
|
import { isResolved } from "../../Diff.ts";
|
|
6
6
|
import * as Provider from "../../Provider.ts";
|
|
7
7
|
import { Resource } from "../../Resource.ts";
|
|
8
|
+
import type { Providers } from "../Providers.ts";
|
|
8
9
|
|
|
9
10
|
export interface InvalidationProps {
|
|
10
11
|
/**
|
|
@@ -38,7 +39,9 @@ export interface Invalidation extends Resource<
|
|
|
38
39
|
status: string;
|
|
39
40
|
paths: string[];
|
|
40
41
|
createTime: Date | undefined;
|
|
41
|
-
}
|
|
42
|
+
},
|
|
43
|
+
never,
|
|
44
|
+
Providers
|
|
42
45
|
> {}
|
|
43
46
|
|
|
44
47
|
/**
|
|
@@ -4,6 +4,7 @@ import { isResolved } from "../../Diff.ts";
|
|
|
4
4
|
import { createPhysicalName } from "../../PhysicalName.ts";
|
|
5
5
|
import * as Provider from "../../Provider.ts";
|
|
6
6
|
import { Resource } from "../../Resource.ts";
|
|
7
|
+
import type { Providers } from "../Providers.ts";
|
|
7
8
|
|
|
8
9
|
export interface KeyValueStoreProps {
|
|
9
10
|
/**
|
|
@@ -48,7 +49,9 @@ export interface KeyValueStore extends Resource<
|
|
|
48
49
|
* Latest entity tag for update/delete operations.
|
|
49
50
|
*/
|
|
50
51
|
etag: string | undefined;
|
|
51
|
-
}
|
|
52
|
+
},
|
|
53
|
+
never,
|
|
54
|
+
Providers
|
|
52
55
|
> {}
|
|
53
56
|
|
|
54
57
|
/**
|
|
@@ -4,6 +4,7 @@ import * as Schedule from "effect/Schedule";
|
|
|
4
4
|
import type { Input } from "../../Input.ts";
|
|
5
5
|
import * as Provider from "../../Provider.ts";
|
|
6
6
|
import { Resource } from "../../Resource.ts";
|
|
7
|
+
import type { Providers } from "../Providers.ts";
|
|
7
8
|
import {
|
|
8
9
|
extractValue,
|
|
9
10
|
getKvsEtag,
|
|
@@ -33,7 +34,9 @@ export interface KvEntries extends Resource<
|
|
|
33
34
|
namespace: string;
|
|
34
35
|
/** Current entries managed under the namespace. */
|
|
35
36
|
entries: Record<string, string>;
|
|
36
|
-
}
|
|
37
|
+
},
|
|
38
|
+
never,
|
|
39
|
+
Providers
|
|
37
40
|
> {}
|
|
38
41
|
|
|
39
42
|
/**
|
|
@@ -4,6 +4,7 @@ import * as Schedule from "effect/Schedule";
|
|
|
4
4
|
import type { HttpClient } from "effect/unstable/http/HttpClient";
|
|
5
5
|
import * as Provider from "../../Provider.ts";
|
|
6
6
|
import { Resource } from "../../Resource.ts";
|
|
7
|
+
import type { Providers } from "../Providers.ts";
|
|
7
8
|
import type { Credentials } from "../Credentials.ts";
|
|
8
9
|
import type { Region } from "../Region.ts";
|
|
9
10
|
import {
|
|
@@ -33,7 +34,9 @@ export interface KvRoutesUpdate extends Resource<
|
|
|
33
34
|
namespace: string;
|
|
34
35
|
key: string;
|
|
35
36
|
entry: string;
|
|
36
|
-
}
|
|
37
|
+
},
|
|
38
|
+
never,
|
|
39
|
+
Providers
|
|
37
40
|
> {}
|
|
38
41
|
|
|
39
42
|
/**
|
|
@@ -4,6 +4,7 @@ import { isResolved } from "../../Diff.ts";
|
|
|
4
4
|
import { createPhysicalName } from "../../PhysicalName.ts";
|
|
5
5
|
import * as Provider from "../../Provider.ts";
|
|
6
6
|
import { Resource } from "../../Resource.ts";
|
|
7
|
+
import type { Providers } from "../Providers.ts";
|
|
7
8
|
|
|
8
9
|
export interface OriginAccessControlProps {
|
|
9
10
|
/**
|
|
@@ -63,7 +64,9 @@ export interface OriginAccessControl extends Resource<
|
|
|
63
64
|
* Most recent entity tag for update/delete operations.
|
|
64
65
|
*/
|
|
65
66
|
etag: string | undefined;
|
|
66
|
-
}
|
|
67
|
+
},
|
|
68
|
+
never,
|
|
69
|
+
Providers
|
|
67
70
|
> {}
|
|
68
71
|
|
|
69
72
|
/**
|
|
@@ -4,6 +4,7 @@ import * as Effect from "effect/Effect";
|
|
|
4
4
|
import { isResolved } from "../../Diff.ts";
|
|
5
5
|
import * as Provider from "../../Provider.ts";
|
|
6
6
|
import { Resource } from "../../Resource.ts";
|
|
7
|
+
import type { Providers } from "../Providers.ts";
|
|
7
8
|
import { Account, type AccountID } from "../Account.ts";
|
|
8
9
|
import type { RegionID } from "../Region.ts";
|
|
9
10
|
import {
|
|
@@ -43,7 +44,9 @@ export interface Alarm extends Resource<
|
|
|
43
44
|
stateReason: string | undefined;
|
|
44
45
|
metricAlarm: cloudwatch.MetricAlarm;
|
|
45
46
|
tags: Record<string, string>;
|
|
46
|
-
}
|
|
47
|
+
},
|
|
48
|
+
never,
|
|
49
|
+
Providers
|
|
47
50
|
> {}
|
|
48
51
|
|
|
49
52
|
/**
|
|
@@ -4,6 +4,7 @@ import * as Effect from "effect/Effect";
|
|
|
4
4
|
import { isResolved } from "../../Diff.ts";
|
|
5
5
|
import * as Provider from "../../Provider.ts";
|
|
6
6
|
import { Resource } from "../../Resource.ts";
|
|
7
|
+
import type { Providers } from "../Providers.ts";
|
|
7
8
|
import { Account, type AccountID } from "../Account.ts";
|
|
8
9
|
import type { RegionID } from "../Region.ts";
|
|
9
10
|
import { createManagedTags, createName, retryConcurrent } from "./common.ts";
|
|
@@ -36,7 +37,9 @@ export interface AlarmMuteRule extends Resource<
|
|
|
36
37
|
muteType: string | undefined;
|
|
37
38
|
alarmMuteRule: cloudwatch.GetAlarmMuteRuleOutput;
|
|
38
39
|
tags: Record<string, string>;
|
|
39
|
-
}
|
|
40
|
+
},
|
|
41
|
+
never,
|
|
42
|
+
Providers
|
|
40
43
|
> {}
|
|
41
44
|
|
|
42
45
|
/**
|
|
@@ -5,6 +5,7 @@ import * as Schedule from "effect/Schedule";
|
|
|
5
5
|
import { isResolved } from "../../Diff.ts";
|
|
6
6
|
import * as Provider from "../../Provider.ts";
|
|
7
7
|
import { Resource } from "../../Resource.ts";
|
|
8
|
+
import type { Providers } from "../Providers.ts";
|
|
8
9
|
import {
|
|
9
10
|
detectorIdentity,
|
|
10
11
|
matchesDetectorIdentity,
|
|
@@ -26,7 +27,9 @@ export interface AnomalyDetector extends Resource<
|
|
|
26
27
|
{
|
|
27
28
|
detectorId: string;
|
|
28
29
|
anomalyDetector: cloudwatch.AnomalyDetector;
|
|
29
|
-
}
|
|
30
|
+
},
|
|
31
|
+
never,
|
|
32
|
+
Providers
|
|
30
33
|
> {}
|
|
31
34
|
|
|
32
35
|
/**
|
|
@@ -4,6 +4,7 @@ import * as Effect from "effect/Effect";
|
|
|
4
4
|
import { isResolved } from "../../Diff.ts";
|
|
5
5
|
import * as Provider from "../../Provider.ts";
|
|
6
6
|
import { Resource } from "../../Resource.ts";
|
|
7
|
+
import type { Providers } from "../Providers.ts";
|
|
7
8
|
import { Account } from "../Account.ts";
|
|
8
9
|
import type { AlarmArn } from "./Alarm.ts";
|
|
9
10
|
import {
|
|
@@ -40,7 +41,9 @@ export interface CompositeAlarm extends Resource<
|
|
|
40
41
|
stateReason: string | undefined;
|
|
41
42
|
compositeAlarm: cloudwatch.CompositeAlarm;
|
|
42
43
|
tags: Record<string, string>;
|
|
43
|
-
}
|
|
44
|
+
},
|
|
45
|
+
never,
|
|
46
|
+
Providers
|
|
44
47
|
> {}
|
|
45
48
|
|
|
46
49
|
/**
|