@mstuercke/pulumi-modules 0.0.5 → 0.0.6

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.
Files changed (52) hide show
  1. package/dist/auth0/Auth0.d.ts +29 -0
  2. package/dist/auth0/index.d.ts +5 -0
  3. package/dist/domain/getDomain.d.ts +13 -0
  4. package/dist/domain/index.d.ts +4 -0
  5. package/dist/iam/SimpleIamRolePolicy.d.ts +6 -0
  6. package/dist/iam/SimpleIamRolePolicyConfig.d.ts +57 -0
  7. package/dist/iam/index.d.ts +6 -0
  8. package/dist/index.d.ts +40 -0
  9. package/dist/lambda/NodeLambdaFunction.d.ts +20 -0
  10. package/dist/lambda/WithInputs.d.ts +4 -0
  11. package/dist/lambda/index.d.ts +5 -0
  12. package/dist/mongodb/MongoDB.d.ts +13 -0
  13. package/dist/mongodb/MongoDBCustomInstance.d.ts +12 -0
  14. package/dist/mongodb/MongoDBDefaultInstance.d.ts +12 -0
  15. package/dist/mongodb/MongoDBUser.d.ts +12 -0
  16. package/dist/mongodb/index.d.ts +11 -0
  17. package/dist/rest/RestApi.d.ts +19 -0
  18. package/dist/rest/index.d.ts +5 -0
  19. package/dist/s3/PublicS3Bucket.d.ts +11 -0
  20. package/dist/s3/index.d.ts +5 -0
  21. package/dist/website/StaticWebsite.d.ts +17 -0
  22. package/dist/website/index.d.ts +5 -0
  23. package/dist/website/readFilesRecursive.d.ts +8 -0
  24. package/dist/websocket/WebsocketApi.d.ts +22 -0
  25. package/dist/websocket/index.d.ts +5 -0
  26. package/package.json +4 -4
  27. package/src/auth0/Auth0.ts +0 -162
  28. package/src/auth0/index.ts +0 -7
  29. package/src/domain/getDomain.ts +0 -32
  30. package/src/domain/index.ts +0 -7
  31. package/src/iam/SimpleIamRolePolicy.ts +0 -164
  32. package/src/iam/SimpleIamRolePolicyConfig.ts +0 -75
  33. package/src/iam/index.ts +0 -8
  34. package/src/index.ts +0 -31
  35. package/src/lambda/NodeLambdaFunction.ts +0 -119
  36. package/src/lambda/WithInputs.ts +0 -5
  37. package/src/lambda/index.ts +0 -7
  38. package/src/mongodb/MongoDB.ts +0 -86
  39. package/src/mongodb/MongoDBCustomInstance.ts +0 -56
  40. package/src/mongodb/MongoDBDefaultInstance.ts +0 -34
  41. package/src/mongodb/MongoDBUser.ts +0 -48
  42. package/src/mongodb/index.ts +0 -13
  43. package/src/rest/RestApi.ts +0 -227
  44. package/src/rest/index.ts +0 -7
  45. package/src/s3/PublicS3Bucket.ts +0 -92
  46. package/src/s3/index.ts +0 -7
  47. package/src/website/StaticWebsite.ts +0 -175
  48. package/src/website/index.ts +0 -7
  49. package/src/website/readFilesRecursive.ts +0 -33
  50. package/src/websocket/WebsocketApi.ts +0 -219
  51. package/src/websocket/index.ts +0 -7
  52. package/tsconfig.json +0 -6
@@ -0,0 +1,29 @@
1
+ import { type CustomResourceOptions, type Output, Resource } from '@pulumi/pulumi';
2
+ export type Auth0Domain = `${string}.auth0.com`;
3
+ export type Auth0URL = `http://${string}` | `https://${string}`;
4
+ export interface Auth0User {
5
+ name: string;
6
+ email: string;
7
+ password: string;
8
+ emailVerified: boolean;
9
+ appMetadata?: Record<string, unknown>;
10
+ }
11
+ export interface Auth0Args {
12
+ projectId: string;
13
+ environmentName: string;
14
+ tenantDisplayName: string;
15
+ clientDisplayName: string;
16
+ domain: Auth0Domain;
17
+ m2mClientId: string;
18
+ allowedUrls: Auth0URL[];
19
+ allowedLoginCallbackUrls?: Auth0URL[];
20
+ allowedLogoutCallbackUrls?: Auth0URL[];
21
+ nativeAppId?: `com.${string}`;
22
+ defaultUsers?: Auth0User[];
23
+ disableSignup?: boolean;
24
+ }
25
+ export declare class Auth0 extends Resource {
26
+ domain: string;
27
+ clientId: Output<string>;
28
+ constructor(id: string, args: Auth0Args, opts?: CustomResourceOptions);
29
+ }
@@ -0,0 +1,5 @@
1
+ import { Auth0 } from './Auth0';
2
+ export * from './Auth0';
3
+ export declare const auth0: {
4
+ Auth0: typeof Auth0;
5
+ };
@@ -0,0 +1,13 @@
1
+ import { type Provider } from '@pulumi/aws';
2
+ export interface DataDomainOptions {
3
+ usEast1Provider: Provider;
4
+ name: `${string}.${string}`;
5
+ }
6
+ export type DomainResult = {
7
+ name: string;
8
+ zoneId: string;
9
+ nameServers: string[];
10
+ usEast1CertificateArn: string;
11
+ euCentral1CertificateArn: string;
12
+ };
13
+ export declare const getDomain: (options: DataDomainOptions) => Promise<DomainResult>;
@@ -0,0 +1,4 @@
1
+ export * from './getDomain';
2
+ export declare const domain: {
3
+ getDomain: (options: import("./getDomain").DataDomainOptions) => Promise<import("./getDomain").DomainResult>;
4
+ };
@@ -0,0 +1,6 @@
1
+ import { iam } from '@pulumi/aws';
2
+ import type { SimpleIamRolePolicyConfig } from './SimpleIamRolePolicyConfig.js';
3
+ import { type CustomResourceOptions } from '@pulumi/pulumi';
4
+ export declare class SimpleIamRolePolicy extends iam.RolePolicy {
5
+ constructor(iamRoleId: string, config: SimpleIamRolePolicyConfig, opts?: CustomResourceOptions);
6
+ }
@@ -0,0 +1,57 @@
1
+ import type { Input } from '@pulumi/pulumi';
2
+ import type { PolicyStatement } from '@pulumi/aws/iam';
3
+ export type SimpleIamRolePolicyConfig = CustomPolicyConfig | DynamoDbPolicyConfig | TimestreamPolicyConfig | S3PolicyConfig | CognitoPolicyConfig | WebsocketPolicyConfig | ExecuteLambdaConfig | SnsPolicyConfig | EventBridgeConfig;
4
+ interface CustomPolicyConfig {
5
+ type: 'custom';
6
+ name: string;
7
+ statements: PolicyStatement[];
8
+ }
9
+ interface DynamoDbPolicyConfig {
10
+ type: 'dynamodb';
11
+ level: 'full-access';
12
+ name: string;
13
+ tableArn: Input<string>;
14
+ }
15
+ interface TimestreamPolicyConfig {
16
+ type: 'timestream';
17
+ level: 'full-access';
18
+ name: string;
19
+ dbArn: Input<string>;
20
+ tableArn: Input<string>;
21
+ }
22
+ interface S3PolicyConfig {
23
+ type: 's3';
24
+ level: 'full-access';
25
+ name: string;
26
+ bucketArn: Input<string>;
27
+ }
28
+ interface CognitoPolicyConfig {
29
+ type: 'cognito';
30
+ level: 'full-access';
31
+ name: string;
32
+ userPoolArn: Input<string>;
33
+ }
34
+ interface WebsocketPolicyConfig {
35
+ type: 'websocket';
36
+ level: 'full-access';
37
+ name: string;
38
+ apiArn: '*';
39
+ }
40
+ interface SnsPolicyConfig {
41
+ type: 'sns';
42
+ level: 'publish-message';
43
+ name: string;
44
+ snsTopicArn: Input<string>;
45
+ }
46
+ interface ExecuteLambdaConfig {
47
+ type: 'execute-lambda';
48
+ name: string;
49
+ lambdaArn: Input<string>;
50
+ }
51
+ interface EventBridgeConfig {
52
+ type: 'event-bridge';
53
+ level: 'enable-disable-rule';
54
+ name: string;
55
+ ruleArn: Input<string>;
56
+ }
57
+ export {};
@@ -0,0 +1,6 @@
1
+ import { SimpleIamRolePolicy } from './SimpleIamRolePolicy';
2
+ export * from './SimpleIamRolePolicy';
3
+ export * from './SimpleIamRolePolicyConfig';
4
+ export declare const iam: {
5
+ SimpleIamRolePolicy: typeof SimpleIamRolePolicy;
6
+ };
@@ -0,0 +1,40 @@
1
+ export * from './auth0';
2
+ export * from './domain';
3
+ export * from './iam';
4
+ export * from './lambda';
5
+ export * from './mongodb';
6
+ export * from './rest';
7
+ export * from './s3';
8
+ export * from './website';
9
+ export * from './websocket';
10
+ export declare const mstuercke: {
11
+ auth0: {
12
+ Auth0: typeof import("./auth0").Auth0;
13
+ };
14
+ domain: {
15
+ getDomain: (options: import("./domain").DataDomainOptions) => Promise<import("./domain").DomainResult>;
16
+ };
17
+ iam: {
18
+ SimpleIamRolePolicy: typeof import("./iam").SimpleIamRolePolicy;
19
+ };
20
+ lambda: {
21
+ NodeLambdaFunction: typeof import("./lambda").NodeLambdaFunction;
22
+ };
23
+ mongodb: {
24
+ MongoDBCustomInstance: typeof import("./mongodb").MongoDBCustomInstance;
25
+ MongoDBDefaultInstance: typeof import("./mongodb").MongoDBDefaultInstance;
26
+ MongoDBUser: typeof import("./mongodb").MongoDBUser;
27
+ };
28
+ rest: {
29
+ RestApi: typeof import("./rest").RestApi;
30
+ };
31
+ s3: {
32
+ PublicS3Bucket: typeof import("./s3").PublicS3Bucket;
33
+ };
34
+ website: {
35
+ StaticWebsite: typeof import("./website").StaticWebsite;
36
+ };
37
+ websocket: {
38
+ WebsocketApi: typeof import("./websocket").WebsocketApi;
39
+ };
40
+ };
@@ -0,0 +1,20 @@
1
+ import { type CustomResourceOptions, type Output, Resource } from '@pulumi/pulumi';
2
+ import { type SimpleIamRolePolicyConfig } from '../iam';
3
+ import type { WithInputs } from './WithInputs.js';
4
+ export type NodeLambdaFunctionArgs<EnvironmentVariables> = {
5
+ name: string;
6
+ runtime?: string;
7
+ functionHandler?: string;
8
+ memorySize?: number;
9
+ timeoutSeconds?: number;
10
+ lambdaPath: string;
11
+ additionalIamRolePolicies?: SimpleIamRolePolicyConfig[];
12
+ environmentVariables?: WithInputs<EnvironmentVariables>;
13
+ projectId: string;
14
+ };
15
+ export declare class NodeLambdaFunction<EnvironmentVariables extends Record<string, string> = Record<string, string>> extends Resource {
16
+ name: string;
17
+ arn: Output<string>;
18
+ invokeArn: Output<string>;
19
+ constructor(args: NodeLambdaFunctionArgs<EnvironmentVariables>, opts?: CustomResourceOptions);
20
+ }
@@ -0,0 +1,4 @@
1
+ import type { Input } from '@pulumi/pulumi';
2
+ export type WithInputs<T> = {
3
+ [key in keyof T]: Input<T[key]>;
4
+ };
@@ -0,0 +1,5 @@
1
+ import { NodeLambdaFunction } from './NodeLambdaFunction';
2
+ export * from './NodeLambdaFunction';
3
+ export declare const lambda: {
4
+ NodeLambdaFunction: typeof NodeLambdaFunction;
5
+ };
@@ -0,0 +1,13 @@
1
+ import { type CustomResourceOptions, type Output, Resource } from '@pulumi/pulumi';
2
+ export type MongoDBArgs = {
3
+ organizationId: string;
4
+ projectId: string;
5
+ environmentName: string;
6
+ };
7
+ export declare class MongoDB extends Resource {
8
+ readonly connectionString: Output<string>;
9
+ readonly databaseName: string;
10
+ readonly username: string;
11
+ readonly password: Output<string>;
12
+ constructor(args: MongoDBArgs, opts?: CustomResourceOptions);
13
+ }
@@ -0,0 +1,12 @@
1
+ import { type CustomResourceOptions, type Output, Resource } from '@pulumi/pulumi';
2
+ export type MongoDBCustomInstanceArgs = {
3
+ organizationId: string;
4
+ projectId: string;
5
+ environmentName: string;
6
+ };
7
+ export declare class MongoDBCustomInstance extends Resource {
8
+ readonly mongoProjectId: Output<string>;
9
+ readonly connectionString: Output<string>;
10
+ readonly databaseName: string;
11
+ constructor(args: MongoDBCustomInstanceArgs, opts?: CustomResourceOptions);
12
+ }
@@ -0,0 +1,12 @@
1
+ import { type CustomResourceOptions, type Output, Resource } from '@pulumi/pulumi';
2
+ export type MongoDBDefaultInstanceArgs = {
3
+ organizationId: string;
4
+ projectId: string;
5
+ environmentName: string;
6
+ };
7
+ export declare class MongoDBDefaultInstance extends Resource {
8
+ readonly mongoProjectId: Output<string>;
9
+ readonly connectionString: Output<string>;
10
+ readonly databaseName: string;
11
+ constructor(args: MongoDBDefaultInstanceArgs, opts?: CustomResourceOptions);
12
+ }
@@ -0,0 +1,12 @@
1
+ import { type CustomResourceOptions, type Input, type Output, Resource } from '@pulumi/pulumi';
2
+ export type MongoDBUserArgs = {
3
+ mongoProjectId: Input<string>;
4
+ databaseName: string;
5
+ projectId: string;
6
+ environmentName: string;
7
+ };
8
+ export declare class MongoDBUser extends Resource {
9
+ readonly username: string;
10
+ readonly password: Output<string>;
11
+ constructor(args: MongoDBUserArgs, opts?: CustomResourceOptions);
12
+ }
@@ -0,0 +1,11 @@
1
+ import { MongoDBCustomInstance } from './MongoDBCustomInstance';
2
+ import { MongoDBDefaultInstance } from './MongoDBDefaultInstance';
3
+ import { MongoDBUser } from './MongoDBUser';
4
+ export * from './MongoDBCustomInstance';
5
+ export * from './MongoDBDefaultInstance';
6
+ export * from './MongoDBUser';
7
+ export declare const mongodb: {
8
+ MongoDBCustomInstance: typeof MongoDBCustomInstance;
9
+ MongoDBDefaultInstance: typeof MongoDBDefaultInstance;
10
+ MongoDBUser: typeof MongoDBUser;
11
+ };
@@ -0,0 +1,19 @@
1
+ import * as aws from '@pulumi/aws';
2
+ import type { CustomResourceOptions, Input } from '@pulumi/pulumi';
3
+ import type { NodeLambdaFunction } from '../lambda';
4
+ export interface RestApiArgs {
5
+ name: string;
6
+ projectId: string;
7
+ lambdaFunction: NodeLambdaFunction;
8
+ timeoutSeconds?: number;
9
+ stageName?: string;
10
+ domain: {
11
+ zoneId: Input<string>;
12
+ fullName: Input<string>;
13
+ usEast1CertificateArn: Input<string>;
14
+ };
15
+ }
16
+ export declare class RestApi extends aws.apigateway.RestApi {
17
+ readonly url: string;
18
+ constructor(id: string, args: RestApiArgs, opts?: CustomResourceOptions);
19
+ }
@@ -0,0 +1,5 @@
1
+ import { RestApi } from './RestApi';
2
+ export * from './RestApi';
3
+ export declare const rest: {
4
+ RestApi: typeof RestApi;
5
+ };
@@ -0,0 +1,11 @@
1
+ import { Bucket, type BucketArgs } from '@pulumi/aws/s3';
2
+ import type { CustomResourceOptions } from '@pulumi/pulumi';
3
+ type PublicS3BucketArgs = {
4
+ name: string;
5
+ allowPresignedPost?: boolean;
6
+ tags?: BucketArgs['tags'];
7
+ };
8
+ export declare class PublicS3Bucket extends Bucket {
9
+ constructor(id: string, args: PublicS3BucketArgs, opts?: CustomResourceOptions);
10
+ }
11
+ export {};
@@ -0,0 +1,5 @@
1
+ import { PublicS3Bucket } from './PublicS3Bucket';
2
+ export * from './PublicS3Bucket';
3
+ export declare const s3: {
4
+ PublicS3Bucket: typeof PublicS3Bucket;
5
+ };
@@ -0,0 +1,17 @@
1
+ import { type CustomResourceOptions, type Input, Resource } from '@pulumi/pulumi';
2
+ import { type PublicS3Bucket } from '../s3';
3
+ export interface StaticWebsiteArgs {
4
+ projectId: string;
5
+ environmentName: string;
6
+ filesPath: string;
7
+ customDomain?: {
8
+ fullName: Input<string>;
9
+ zoneId: Input<string>;
10
+ usEast1CertificateArn: Input<string>;
11
+ };
12
+ }
13
+ export declare class StaticWebsite extends Resource {
14
+ url: string;
15
+ bucket: PublicS3Bucket;
16
+ constructor(id: string, args: StaticWebsiteArgs, opts?: CustomResourceOptions);
17
+ }
@@ -0,0 +1,5 @@
1
+ import { StaticWebsite } from './StaticWebsite';
2
+ export * from './StaticWebsite';
3
+ export declare const website: {
4
+ StaticWebsite: typeof StaticWebsite;
5
+ };
@@ -0,0 +1,8 @@
1
+ interface File {
2
+ absolutePath: string;
3
+ relativePath: string;
4
+ md5: string;
5
+ mimeType: string;
6
+ }
7
+ export declare function readFilesRecursive(dir: string): File[];
8
+ export {};
@@ -0,0 +1,22 @@
1
+ import { type CustomResourceOptions, type Input, type Output, Resource } from '@pulumi/pulumi';
2
+ import type { NodeLambdaFunction } from '../lambda';
3
+ export interface WebsocketApiArgs {
4
+ name: string;
5
+ lambdaFunction: NodeLambdaFunction;
6
+ routeThrottling?: {
7
+ rateLimit?: number;
8
+ burstLimit?: number;
9
+ };
10
+ stageName?: string;
11
+ domain: {
12
+ zoneId: Input<string>;
13
+ fullName: Input<string>;
14
+ euCentral1CertificateArn: Input<string>;
15
+ };
16
+ projectId: string;
17
+ }
18
+ export declare class WebsocketApi extends Resource {
19
+ id: Output<string>;
20
+ url: string;
21
+ constructor(id: string, args: WebsocketApiArgs, opts?: CustomResourceOptions);
22
+ }
@@ -0,0 +1,5 @@
1
+ import { WebsocketApi } from './WebsocketApi';
2
+ export * from './WebsocketApi';
3
+ export declare const websocket: {
4
+ WebsocketApi: typeof WebsocketApi;
5
+ };
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@mstuercke/pulumi-modules",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "files": [
5
- "src/**/!(*.test|*.fixture).ts",
6
- "tsconfig.json",
5
+ "dist/**/!(*.test|*.fixture).ts",
7
6
  "README.md"
8
7
  ],
9
- "exports": "./src/index.ts",
8
+ "exports": "./dist/index.js",
10
9
  "type": "module",
11
10
  "scripts": {
12
11
  "typeCheck": "tsc --noEmit",
12
+ "build": "tsc",
13
13
  "bump:major": "npm version major --git-tag-version false",
14
14
  "bump:minor": "npm version minor --git-tag-version false",
15
15
  "bump:patch": "npm version patch --git-tag-version false",
@@ -1,162 +0,0 @@
1
- import {type CustomResourceOptions, type Output, Resource} from '@pulumi/pulumi'
2
- import {Client, ClientCredentials, Connection, ConnectionClient, Provider, Tenant, User} from '@pulumi/auth0'
3
-
4
- export type Auth0Domain = `${string}.auth0.com`
5
- export type Auth0URL = `http://${string}` | `https://${string}`
6
-
7
- export interface Auth0User {
8
- name: string
9
- email: string
10
- password: string
11
- emailVerified: boolean
12
- appMetadata?: Record<string, unknown>
13
- }
14
-
15
- export interface Auth0Args {
16
- projectId: string
17
- environmentName: string
18
- tenantDisplayName: string
19
- clientDisplayName: string
20
- domain: Auth0Domain
21
- m2mClientId: string
22
- allowedUrls: Auth0URL[]
23
- allowedLoginCallbackUrls?: Auth0URL[]
24
- allowedLogoutCallbackUrls?: Auth0URL[]
25
- nativeAppId?: `com.${string}`
26
- defaultUsers?: Auth0User[]
27
- disableSignup?: boolean
28
- }
29
-
30
- export class Auth0 extends Resource {
31
- domain: string
32
- clientId: Output<string>
33
-
34
- constructor(id: string, args: Auth0Args, opts?: CustomResourceOptions) {
35
- super('mstuercke:auth0:Auth0', id, false, undefined, opts)
36
-
37
- const {
38
- projectId,
39
- environmentName,
40
- tenantDisplayName,
41
- clientDisplayName,
42
- domain,
43
- m2mClientId,
44
- allowedUrls,
45
- allowedLoginCallbackUrls,
46
- allowedLogoutCallbackUrls,
47
- nativeAppId,
48
- defaultUsers = [],
49
- disableSignup = false,
50
- } = args
51
-
52
- new Provider('provider', {}, {parent: this})
53
-
54
- new Tenant(
55
- 'tenant',
56
- {
57
- friendlyName: tenantDisplayName,
58
- flags: {
59
- enableClientConnections: false,
60
- },
61
- },
62
- {parent: this},
63
- )
64
-
65
- const nativeAppCallbackUrls = nativeAppId
66
- ? [
67
- `${nativeAppId}.auth0://${domain}/ios/${nativeAppId}/callback`,
68
- `${nativeAppId}.auth0://${domain}/android/${nativeAppId}/callback`,
69
- ]
70
- : []
71
- const client = new Client(
72
- 'client',
73
- {
74
- name: clientDisplayName,
75
- appType: 'spa',
76
- callbacks: [...(allowedLoginCallbackUrls || allowedUrls), ...nativeAppCallbackUrls],
77
- webOrigins: allowedUrls,
78
- allowedLogoutUrls: [...(allowedLogoutCallbackUrls || allowedUrls), ...nativeAppCallbackUrls],
79
- jwtConfiguration: {
80
- alg: 'RS256',
81
- },
82
- addons: {},
83
- },
84
- {parent: this},
85
- )
86
-
87
- const connection = new Connection(
88
- 'password-authentication',
89
- {
90
- name: `${projectId}-${environmentName}`,
91
- strategy: 'auth0',
92
- options: {
93
- disableSignup: disableSignup,
94
- bruteForceProtection: true,
95
- },
96
- },
97
- {parent: this},
98
- )
99
-
100
- const m2mClientConnection = new ConnectionClient(
101
- 'password-authentication-m2m-client',
102
- {
103
- clientId: m2mClientId,
104
- connectionId: connection.id,
105
- },
106
- {parent: client},
107
- )
108
-
109
- const clientConnection = new ConnectionClient(
110
- 'password-authentication-client',
111
- {
112
- clientId: client.id,
113
- connectionId: connection.id,
114
- },
115
- {parent: client},
116
- )
117
-
118
- // TODO: Implement disabling of google-oauth2 (If possible, also disable "Username-Password-Authentication")
119
- // // disable google-oauth2 on all clients
120
- // const googleOauth2Connection = output(getConnection({name: 'google-oauth2'}))
121
- // new ConnectionClients(
122
- // 'google-oauth2-clients',
123
- // {
124
- // connectionId: googleOauth2Connection.id,
125
- // enabledClients: [],
126
- // },
127
- // {parent: client, dependsOn: [client]},
128
- // )
129
-
130
- new ClientCredentials(
131
- 'credentials',
132
- {
133
- clientId: client.id,
134
- authenticationMethod: 'none',
135
- },
136
- {parent: this},
137
- )
138
-
139
- for (const defaultUser of defaultUsers) {
140
- const {name, email, emailVerified, password, appMetadata} = defaultUser
141
-
142
- new User(
143
- `default-user-${defaultUser.email}`,
144
- {
145
- connectionName: connection.name,
146
- name: name,
147
- email: email,
148
- emailVerified: emailVerified,
149
- password: password,
150
- appMetadata: appMetadata ? JSON.stringify(appMetadata) : undefined,
151
- },
152
- {
153
- dependsOn: [m2mClientConnection, clientConnection],
154
- parent: connection,
155
- },
156
- )
157
- }
158
-
159
- this.domain = domain
160
- this.clientId = client.id
161
- }
162
- }
@@ -1,7 +0,0 @@
1
- import {Auth0} from './Auth0.ts'
2
-
3
- export * from './Auth0.ts'
4
-
5
- export const auth0 = {
6
- Auth0,
7
- }
@@ -1,32 +0,0 @@
1
- import {acm, type Provider, route53} from '@pulumi/aws'
2
-
3
- export interface DataDomainOptions {
4
- usEast1Provider: Provider
5
- name: `${string}.${string}`
6
- }
7
-
8
- export type DomainResult = {
9
- name: string
10
- zoneId: string
11
- nameServers: string[]
12
- usEast1CertificateArn: string
13
- euCentral1CertificateArn: string
14
- }
15
-
16
- export const getDomain = async (options: DataDomainOptions): Promise<DomainResult> => {
17
- const {usEast1Provider, name} = options
18
-
19
- const zone = await route53.getZone({name})
20
-
21
- const euCentral1Certificate = await acm.getCertificate({domain: name})
22
-
23
- const usEast1Certificate = await acm.getCertificate({domain: name}, {provider: usEast1Provider})
24
-
25
- return {
26
- name: zone.name,
27
- zoneId: zone.zoneId,
28
- nameServers: zone.nameServers,
29
- usEast1CertificateArn: usEast1Certificate.arn,
30
- euCentral1CertificateArn: euCentral1Certificate.arn,
31
- }
32
- }
@@ -1,7 +0,0 @@
1
- import {getDomain} from './getDomain.ts'
2
-
3
- export * from './getDomain.ts'
4
-
5
- export const domain = {
6
- getDomain,
7
- }