@reventlessdev/rescript-pulumi-aws 2.4.0-alpha.43
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/CHANGELOG.md +366 -0
- package/LICENSE +202 -0
- package/README.md +19 -0
- package/package.json +52 -0
- package/rescript.json +27 -0
- package/scripts/bundle-resolvers.mjs +77 -0
- package/src/AWS/Aws_AvailabilityZone.res +9 -0
- package/src/AWS/Aws_AvailabilityZone.res.mjs +9 -0
- package/src/AWS/Aws_AvailabilityZone.resi +9 -0
- package/src/AWS/Aws_Aws.res +29 -0
- package/src/AWS/Aws_Aws.res.mjs +32 -0
- package/src/AWS/Aws_Common.res +2 -0
- package/src/AWS/Aws_Common.res.mjs +2 -0
- package/src/AWS/Aws_Provider.res +10 -0
- package/src/AWS/Aws_Provider.res.mjs +2 -0
- package/src/Acm/Acm.res +5 -0
- package/src/Acm/Acm.res.mjs +12 -0
- package/src/Acm/Acm_Certificate.res +27 -0
- package/src/Acm/Acm_Certificate.res.mjs +2 -0
- package/src/Acm/Acm_CertificateValidation.res +22 -0
- package/src/Acm/Acm_CertificateValidation.res.mjs +2 -0
- package/src/AppSync/AppSync.res +7 -0
- package/src/AppSync/AppSync.res.mjs +18 -0
- package/src/AppSync/AppSync_DataSource.res +93 -0
- package/src/AppSync/AppSync_DataSource.res.mjs +42 -0
- package/src/AppSync/AppSync_Function.res +75 -0
- package/src/AppSync/AppSync_Function.res.mjs +36 -0
- package/src/AppSync/AppSync_GraphQLApi.res +65 -0
- package/src/AppSync/AppSync_GraphQLApi.res.mjs +20 -0
- package/src/AppSync/AppSync_Resolver.res +229 -0
- package/src/AppSync/AppSync_Resolver.res.mjs +113 -0
- package/src/AppSync/AppSync_ResolverRuntime.res +214 -0
- package/src/AppSync/AppSync_ResolverRuntime.res.mjs +15 -0
- package/src/AppSync/AppSync_Resolver_Functions.res +998 -0
- package/src/AppSync/AppSync_Resolver_Functions.res.mjs +913 -0
- package/src/Aws.res +5 -0
- package/src/Aws.res.mjs +16 -0
- package/src/AwsNative/AppSync/AwsNative_AppSync_Api.res +92 -0
- package/src/AwsNative/AppSync/AwsNative_AppSync_Api.res.mjs +12 -0
- package/src/AwsNative/AppSync/AwsNative_AppSync_ChannelNamespace.res +81 -0
- package/src/AwsNative/AppSync/AwsNative_AppSync_ChannelNamespace.res.mjs +18 -0
- package/src/AwsNative/AppSync/AwsNative_AppSync_Resolver.res +39 -0
- package/src/AwsNative/AppSync/AwsNative_AppSync_Resolver.res.mjs +12 -0
- package/src/AwsNative/AwsNative.res +10 -0
- package/src/AwsNative/AwsNative.res.mjs +13 -0
- package/src/CloudFront/CloudFront.res +5 -0
- package/src/CloudFront/CloudFront.res.mjs +12 -0
- package/src/CloudFront/CloudFront_Distribution.res +81 -0
- package/src/CloudFront/CloudFront_Distribution.res.mjs +2 -0
- package/src/CloudFront/CloudFront_OriginAccessControl.res +20 -0
- package/src/CloudFront/CloudFront_OriginAccessControl.res.mjs +2 -0
- package/src/Cloudwatch/Cloudwatch.res +7 -0
- package/src/Cloudwatch/Cloudwatch.res.mjs +18 -0
- package/src/Cloudwatch/Cloudwatch_EventRule.res +52 -0
- package/src/Cloudwatch/Cloudwatch_EventRule.res.mjs +37 -0
- package/src/Cloudwatch/Cloudwatch_EventTarget.res +28 -0
- package/src/Cloudwatch/Cloudwatch_EventTarget.res.mjs +25 -0
- package/src/Cloudwatch/Cloudwatch_LogGroup.res +14 -0
- package/src/Cloudwatch/Cloudwatch_LogGroup.res.mjs +2 -0
- package/src/Cloudwatch/Cloudwatch_LogMetricFilter.res +28 -0
- package/src/Cloudwatch/Cloudwatch_LogMetricFilter.res.mjs +2 -0
- package/src/Cognito/Cognito.res +8 -0
- package/src/Cognito/Cognito.res.mjs +21 -0
- package/src/Cognito/Cognito_IdentityPool.res +148 -0
- package/src/Cognito/Cognito_IdentityPool.res.mjs +65 -0
- package/src/Cognito/Cognito_IdentityPoolRoleAttachment.res +18 -0
- package/src/Cognito/Cognito_IdentityPoolRoleAttachment.res.mjs +2 -0
- package/src/Cognito/Cognito_UserGroup.res +16 -0
- package/src/Cognito/Cognito_UserGroup.res.mjs +2 -0
- package/src/Cognito/Cognito_UserPool.res +125 -0
- package/src/Cognito/Cognito_UserPool.res.mjs +44 -0
- package/src/Cognito/Cognito_UserPoolClient.res +33 -0
- package/src/Cognito/Cognito_UserPoolClient.res.mjs +2 -0
- package/src/DynamoDb/DynamoDb.res +5 -0
- package/src/DynamoDb/DynamoDb.res.mjs +12 -0
- package/src/DynamoDb/DynamoDb_Stream.res +41 -0
- package/src/DynamoDb/DynamoDb_Stream.res.mjs +2 -0
- package/src/DynamoDb/DynamoDb_Table.res +66 -0
- package/src/DynamoDb/DynamoDb_Table.res.mjs +2 -0
- package/src/EC2/EC2.res +13 -0
- package/src/EC2/EC2.res.mjs +36 -0
- package/src/EC2/EC2_Common.res +13 -0
- package/src/EC2/EC2_Common.res.mjs +22 -0
- package/src/EC2/EC2_DefaultSecurityGroup.res +22 -0
- package/src/EC2/EC2_DefaultSecurityGroup.res.mjs +19 -0
- package/src/EC2/EC2_Eip.res +24 -0
- package/src/EC2/EC2_Eip.res.mjs +18 -0
- package/src/EC2/EC2_InternetGateway.res +25 -0
- package/src/EC2/EC2_InternetGateway.res.mjs +18 -0
- package/src/EC2/EC2_NatGateway.res +30 -0
- package/src/EC2/EC2_NatGateway.res.mjs +18 -0
- package/src/EC2/EC2_RouteTable.res +49 -0
- package/src/EC2/EC2_RouteTable.res.mjs +38 -0
- package/src/EC2/EC2_RouteTableAssociation.res +30 -0
- package/src/EC2/EC2_RouteTableAssociation.res.mjs +18 -0
- package/src/EC2/EC2_SecurityGroup.res +44 -0
- package/src/EC2/EC2_SecurityGroup.res.mjs +49 -0
- package/src/EC2/EC2_Subnet.res +31 -0
- package/src/EC2/EC2_Subnet.res.mjs +19 -0
- package/src/EC2/EC2_Vpc.res +25 -0
- package/src/EC2/EC2_Vpc.res.mjs +18 -0
- package/src/EC2/EC2_VpcEndpoint.res +43 -0
- package/src/EC2/EC2_VpcEndpoint.res.mjs +22 -0
- package/src/ECS/ECS.res +6 -0
- package/src/ECS/ECS.res.mjs +15 -0
- package/src/ECS/ECS_Cluster.res +10 -0
- package/src/ECS/ECS_Cluster.res.mjs +2 -0
- package/src/ECS/ECS_Container.res +58 -0
- package/src/ECS/ECS_Container.res.mjs +2 -0
- package/src/ECS/ECS_TaskDefinition.res +31 -0
- package/src/ECS/ECS_TaskDefinition.res.mjs +2 -0
- package/src/IAM/IAM.res +148 -0
- package/src/IAM/IAM.res.mjs +61 -0
- package/src/IAM/IAM_ManagedPolicies.res +32 -0
- package/src/IAM/IAM_ManagedPolicies.res.mjs +2 -0
- package/src/IAM/PolicyDocument.res +163 -0
- package/src/IAM/PolicyDocument.res.mjs +164 -0
- package/src/Kinesis/Kinesis.res +4 -0
- package/src/Kinesis/Kinesis.res.mjs +9 -0
- package/src/Kinesis/Kinesis_Stream.res +70 -0
- package/src/Kinesis/Kinesis_Stream.res.mjs +9 -0
- package/src/Lambda/EventSourceMapping.res +78 -0
- package/src/Lambda/EventSourceMapping.res.mjs +2 -0
- package/src/Lambda/FunctionUrl.res +41 -0
- package/src/Lambda/FunctionUrl.res.mjs +2 -0
- package/src/Lambda/Lambda.res +270 -0
- package/src/Lambda/Lambda.res.mjs +94 -0
- package/src/Route53/Route53.res +4 -0
- package/src/Route53/Route53.res.mjs +9 -0
- package/src/Route53/Route53_Record.res +36 -0
- package/src/Route53/Route53_Record.res.mjs +2 -0
- package/src/S3/S3.res +10 -0
- package/src/S3/S3.res.mjs +27 -0
- package/src/S3/S3_Bucket.res +236 -0
- package/src/S3/S3_Bucket.res.mjs +2 -0
- package/src/S3/S3_BucketAclV2.res +24 -0
- package/src/S3/S3_BucketAclV2.res.mjs +2 -0
- package/src/S3/S3_BucketObject.res +22 -0
- package/src/S3/S3_BucketObject.res.mjs +2 -0
- package/src/S3/S3_BucketOwnershipControls.res +19 -0
- package/src/S3/S3_BucketOwnershipControls.res.mjs +2 -0
- package/src/S3/S3_BucketPolicy.res +13 -0
- package/src/S3/S3_BucketPolicy.res.mjs +2 -0
- package/src/S3/S3_BucketPublicAccessBlock.res +16 -0
- package/src/S3/S3_BucketPublicAccessBlock.res.mjs +2 -0
- package/src/S3/S3_BucketV2.res +11 -0
- package/src/S3/S3_BucketV2.res.mjs +2 -0
- package/src/SES/SES.bs.js +11 -0
- package/src/SES/SES.res +25 -0
- package/src/SES/SES.res.mjs +12 -0
- package/src/SNS/SNS.res +5 -0
- package/src/SNS/SNS.res.mjs +12 -0
- package/src/SNS/SNS_Topic.res +71 -0
- package/src/SNS/SNS_Topic.res.mjs +2 -0
- package/src/SNS/SNS_TopicSubscription.res +21 -0
- package/src/SNS/SNS_TopicSubscription.res.mjs +2 -0
- package/src/SQS/SQS.res +5 -0
- package/src/SQS/SQS.res.mjs +12 -0
- package/src/SQS/SQS_Queue.res +92 -0
- package/src/SQS/SQS_Queue.res.mjs +19 -0
- package/src/SQS/SQS_QueuePolicy.res +13 -0
- package/src/SQS/SQS_QueuePolicy.res.mjs +2 -0
- package/src/SecretsManager/GetSecretVersion.res +37 -0
- package/src/SecretsManager/GetSecretVersion.res.mjs +23 -0
- package/src/example/CustomDomainExample.res +71 -0
- package/src/example/CustomDomainExample.res.mjs +57 -0
- package/tests/AppSync_Resolver_FunctionsTest.mjs +597 -0
- package/tests/__mocks__/appsync-utils.mjs +26 -0
- package/tests/resolverTestHelper.mjs +46 -0
package/src/Aws.res
ADDED
package/src/Aws.res.mjs
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
import * as Aws_Aws$PulumiAws from "./AWS/Aws_Aws.res.mjs";
|
|
4
|
+
|
|
5
|
+
let getRegionSync = Aws_Aws$PulumiAws.getRegionSync;
|
|
6
|
+
|
|
7
|
+
let AvailabilityZone;
|
|
8
|
+
|
|
9
|
+
let Provider;
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
getRegionSync,
|
|
13
|
+
AvailabilityZone,
|
|
14
|
+
Provider,
|
|
15
|
+
}
|
|
16
|
+
/* Aws_Aws-PulumiAws Not a pure module */
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/** @pulumi/aws-native/appsync/Api — AppSync Events (Pub/Sub) API.
|
|
2
|
+
Distinct from AppSync GraphQL API (`aws.appsync.GraphQLApi`).
|
|
3
|
+
Used for real-time server-to-client event push via AppSync Events channels.
|
|
4
|
+
See: https://www.pulumi.com/registry/packages/aws-native/api-docs/appsync/api
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// ── Auth types ────────────────────────────────────────────────────────────────
|
|
8
|
+
|
|
9
|
+
/** Authentication mode for connections / publish / subscribe. */
|
|
10
|
+
type authMode = {
|
|
11
|
+
/** Auth type string — use the `authType` constants below. */
|
|
12
|
+
authType?: Pulumi.Input.t<string>,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** Optional Cognito User Pool authorization config for an auth provider.
|
|
16
|
+
Required when the provider's `authType` is `AMAZON_COGNITO_USER_POOLS`. */
|
|
17
|
+
type cognitoConfig = {
|
|
18
|
+
/** Region the user pool lives in (e.g. "eu-west-1"). */
|
|
19
|
+
awsRegion: Pulumi.Input.t<string>,
|
|
20
|
+
/** Cognito User Pool ID. */
|
|
21
|
+
userPoolId: Pulumi.Input.t<string>,
|
|
22
|
+
/** Optional regex restricting which app client IDs are accepted. */
|
|
23
|
+
appIdClientRegex?: Pulumi.Input.t<string>,
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** Auth provider entry for the Events API. */
|
|
27
|
+
type authProvider = {
|
|
28
|
+
authType: Pulumi.Input.t<string>,
|
|
29
|
+
/** Required when `authType` is `AMAZON_COGNITO_USER_POOLS`. */
|
|
30
|
+
cognitoConfig?: Pulumi.Input.t<cognitoConfig>,
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** IAM authentication type string. */
|
|
34
|
+
let awsIam: string = "AWS_IAM"
|
|
35
|
+
|
|
36
|
+
/** Amazon Cognito User Pools authentication type string. */
|
|
37
|
+
let amazonCognitoUserPools: string = "AMAZON_COGNITO_USER_POOLS"
|
|
38
|
+
|
|
39
|
+
// ── Event config ──────────────────────────────────────────────────────────────
|
|
40
|
+
|
|
41
|
+
/** Authorization configuration for an AppSync Events API.
|
|
42
|
+
All four array fields are required. */
|
|
43
|
+
type eventConfigArgs = {
|
|
44
|
+
/** Auth providers available to the API. */
|
|
45
|
+
authProviders: Pulumi.Input.t<array<Pulumi.Input.t<authProvider>>>,
|
|
46
|
+
/** Auth modes allowed for WebSocket connections. */
|
|
47
|
+
connectionAuthModes: Pulumi.Input.t<array<Pulumi.Input.t<authMode>>>,
|
|
48
|
+
/** Auth modes allowed for publishing events. */
|
|
49
|
+
defaultPublishAuthModes: Pulumi.Input.t<array<Pulumi.Input.t<authMode>>>,
|
|
50
|
+
/** Auth modes allowed for subscribing to channels. */
|
|
51
|
+
defaultSubscribeAuthModes: Pulumi.Input.t<array<Pulumi.Input.t<authMode>>>,
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// ── Output types ──────────────────────────────────────────────────────────────
|
|
55
|
+
|
|
56
|
+
/** DNS endpoints for an AppSync Events API.
|
|
57
|
+
Both fields are domain-name-only (no protocol, no path).
|
|
58
|
+
Prepend `https://` for the HTTP endpoint, `wss://` for the realtime endpoint. */
|
|
59
|
+
type dns = {
|
|
60
|
+
http?: string,
|
|
61
|
+
realtime?: string,
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/** Output shape of an `aws-native:appsync/Api` resource. */
|
|
65
|
+
type t = {
|
|
66
|
+
/** The API ID (short identifier). */
|
|
67
|
+
apiId: Pulumi.Output.t<string>,
|
|
68
|
+
/** The full ARN of the AppSync Events API. Used for IAM policy resources. */
|
|
69
|
+
apiArn: Pulumi.Output.t<string>,
|
|
70
|
+
/** DNS endpoints. Use `dns.http` for the Lambda `APPSYNC_ENDPOINT` env var. */
|
|
71
|
+
dns: Pulumi.Output.t<dns>,
|
|
72
|
+
/** The name of the AppSync Events API. */
|
|
73
|
+
name: Pulumi.Output.t<string>,
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// ── Args ──────────────────────────────────────────────────────────────────────
|
|
77
|
+
|
|
78
|
+
type args = {
|
|
79
|
+
/** Required for Events APIs — omitting creates a plain (GraphQL-style) API. */
|
|
80
|
+
eventConfig?: Pulumi.Input.t<eventConfigArgs>,
|
|
81
|
+
/** Display name for the API resource. Defaults to the Pulumi resource name. */
|
|
82
|
+
name?: Pulumi.Input.t<string>,
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// ── Constructor ───────────────────────────────────────────────────────────────
|
|
86
|
+
|
|
87
|
+
@module("@pulumi/aws-native") @scope("appsync") @new
|
|
88
|
+
external make: (
|
|
89
|
+
~name: string,
|
|
90
|
+
~args: args=?,
|
|
91
|
+
~opts: option<Pulumi.CustomResourceOptions.t>=?,
|
|
92
|
+
) => t = "Api"
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/** @pulumi/aws-native/appsync/ChannelNamespace — AppSync Events channel namespace.
|
|
2
|
+
A channel namespace groups channels within an AppSync Events API.
|
|
3
|
+
The conventional namespace for platform-generated events is `default`.
|
|
4
|
+
Channels within the namespace are addressed as `/default/{channelName}`.
|
|
5
|
+
See: https://www.pulumi.com/registry/packages/aws-native/api-docs/appsync/channelnamespace
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
type authMode = {
|
|
9
|
+
authType?: Pulumi.Input.t<string>,
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
type t = {
|
|
13
|
+
apiId: Pulumi.Output.t<string>,
|
|
14
|
+
channelNamespaceArn: Pulumi.Output.t<string>,
|
|
15
|
+
name: Pulumi.Output.t<string>,
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// ── OnPublish / OnSubscribe handler bindings ──────────────────────────────────
|
|
19
|
+
//
|
|
20
|
+
// AppSync Events namespaces optionally run handlers per published message
|
|
21
|
+
// and/or per subscribe attempt. `codeHandlers` carries a JS module body that
|
|
22
|
+
// exports `onPublish`/`onSubscribe`; `handlerConfigs` chooses the behavior
|
|
23
|
+
// (CODE = APPSYNC_JS runtime, DIRECT = Lambda-only) and points the integration
|
|
24
|
+
// at a NONE-typed data source (for CODE) or a Lambda-backed data source.
|
|
25
|
+
|
|
26
|
+
/** Integration behavior for a handler. */
|
|
27
|
+
let handlerBehaviorCode: string = "CODE"
|
|
28
|
+
let handlerBehaviorDirect: string = "DIRECT"
|
|
29
|
+
|
|
30
|
+
/** Lambda invocation type for `DIRECT`/`CODE`+`lambdaConfig` integrations. */
|
|
31
|
+
let invokeTypeRequestResponse: string = "REQUEST_RESPONSE"
|
|
32
|
+
let invokeTypeEvent: string = "EVENT"
|
|
33
|
+
|
|
34
|
+
type lambdaConfigArgs = {
|
|
35
|
+
/** `"REQUEST_RESPONSE"` (sync) or `"EVENT"` (fire-and-forget). */
|
|
36
|
+
invokeType: Pulumi.Input.t<string>,
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
type integrationArgs = {
|
|
40
|
+
/** Name of an AppSync data source on the same Events API. Required by
|
|
41
|
+
CloudFormation even for `CODE` behavior — typically a NONE-typed data
|
|
42
|
+
source created by the caller. */
|
|
43
|
+
dataSourceName: Pulumi.Input.t<string>,
|
|
44
|
+
/** Required when invoking a Lambda; pair with `dataSourceName` pointing at
|
|
45
|
+
the Lambda data source. */
|
|
46
|
+
lambdaConfig?: Pulumi.Input.t<lambdaConfigArgs>,
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
type handlerConfigArgs = {
|
|
50
|
+
/** Use one of `handlerBehaviorCode` / `handlerBehaviorDirect`. */
|
|
51
|
+
behavior: Pulumi.Input.t<string>,
|
|
52
|
+
integration: Pulumi.Input.t<integrationArgs>,
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
type handlerConfigsArgs = {
|
|
56
|
+
onPublish?: Pulumi.Input.t<handlerConfigArgs>,
|
|
57
|
+
onSubscribe?: Pulumi.Input.t<handlerConfigArgs>,
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
type args = {
|
|
61
|
+
/** The AppSync Events API ID this namespace belongs to. Required. */
|
|
62
|
+
apiId: Pulumi.Input.t<string>,
|
|
63
|
+
/** Namespace name. Defaults to Pulumi resource name. Use `"default"`. */
|
|
64
|
+
name?: Pulumi.Input.t<string>,
|
|
65
|
+
/** Auth modes for publish operations. Defaults to API-level auth. */
|
|
66
|
+
publishAuthModes?: Pulumi.Input.t<array<Pulumi.Input.t<authMode>>>,
|
|
67
|
+
/** Auth modes for subscribe operations. Defaults to API-level auth. */
|
|
68
|
+
subscribeAuthModes?: Pulumi.Input.t<array<Pulumi.Input.t<authMode>>>,
|
|
69
|
+
/** JS module body exporting `onPublish(ctx)` and/or `onSubscribe(ctx)`.
|
|
70
|
+
Selected for invocation per the `handlerConfigs.*.behavior` field. */
|
|
71
|
+
codeHandlers?: Pulumi.Input.t<string>,
|
|
72
|
+
/** Routing config for the `onPublish`/`onSubscribe` handlers. */
|
|
73
|
+
handlerConfigs?: Pulumi.Input.t<handlerConfigsArgs>,
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@module("@pulumi/aws-native") @scope("appsync") @new
|
|
77
|
+
external make: (
|
|
78
|
+
~name: string,
|
|
79
|
+
~args: args,
|
|
80
|
+
~opts: option<Pulumi.CustomResourceOptions.t>=?,
|
|
81
|
+
) => t = "ChannelNamespace"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
let handlerBehaviorCode = "CODE";
|
|
5
|
+
|
|
6
|
+
let handlerBehaviorDirect = "DIRECT";
|
|
7
|
+
|
|
8
|
+
let invokeTypeRequestResponse = "REQUEST_RESPONSE";
|
|
9
|
+
|
|
10
|
+
let invokeTypeEvent = "EVENT";
|
|
11
|
+
|
|
12
|
+
export {
|
|
13
|
+
handlerBehaviorCode,
|
|
14
|
+
handlerBehaviorDirect,
|
|
15
|
+
invokeTypeRequestResponse,
|
|
16
|
+
invokeTypeEvent,
|
|
17
|
+
}
|
|
18
|
+
/* No side effect */
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** @pulumi/aws-native/appsync/Resolver — Cloud Control API (CFN handler).
|
|
2
|
+
Used instead of @pulumi/aws/appsync/Resolver to avoid the schema ->
|
|
3
|
+
resolver propagation race; the CFN handler waits internally.
|
|
4
|
+
See: https://www.pulumi.com/registry/packages/aws-native/api-docs/appsync/resolver
|
|
5
|
+
*/
|
|
6
|
+
type t = {
|
|
7
|
+
id: Pulumi.Output.t<string>,
|
|
8
|
+
resolverArn: Pulumi.Output.t<string>,
|
|
9
|
+
typeName: Pulumi.Output.t<string>,
|
|
10
|
+
fieldName: Pulumi.Output.t<string>,
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type runtime = {
|
|
14
|
+
name: string,
|
|
15
|
+
runtimeVersion: string,
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** APPSYNC_JS runtime v1.0.0 — use with `code` instead of VTL templates. */
|
|
19
|
+
let appsyncJs: runtime = {name: "APPSYNC_JS", runtimeVersion: "1.0.0"}
|
|
20
|
+
|
|
21
|
+
type pipelineConfig = {functions: array<Pulumi.Input.t<string>>}
|
|
22
|
+
|
|
23
|
+
type args = {
|
|
24
|
+
apiId: Pulumi.Input.t<string>,
|
|
25
|
+
typeName: Pulumi.Input.t<string>,
|
|
26
|
+
fieldName: Pulumi.Input.t<string>,
|
|
27
|
+
dataSourceName?: Pulumi.Input.t<string>,
|
|
28
|
+
kind?: Pulumi.Input.t<string>,
|
|
29
|
+
code?: Pulumi.Input.t<string>,
|
|
30
|
+
runtime?: Pulumi.Input.t<runtime>,
|
|
31
|
+
pipelineConfig?: Pulumi.Input.t<pipelineConfig>,
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@module("@pulumi/aws-native") @scope("appsync") @new
|
|
35
|
+
external make: (
|
|
36
|
+
~name: string,
|
|
37
|
+
~args: args,
|
|
38
|
+
~opts: option<Pulumi.CustomResourceOptions.t>=?,
|
|
39
|
+
) => t = "Resolver"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Umbrella for @pulumi/aws-native bindings. Intentionally narrow —
|
|
2
|
+
added only for resources that benefit from Cloud Control API semantics
|
|
3
|
+
(e.g. AppSync Resolver's internal schema-propagation wait). */
|
|
4
|
+
module AppSync = {
|
|
5
|
+
module Resolver = AwsNative_AppSync_Resolver
|
|
6
|
+
/** AppSync Events (Pub/Sub) API — distinct from the GraphQL API. */
|
|
7
|
+
module Api = AwsNative_AppSync_Api
|
|
8
|
+
/** Channel namespace within an AppSync Events API. */
|
|
9
|
+
module ChannelNamespace = AwsNative_AppSync_ChannelNamespace
|
|
10
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/** @pulumi/aws/cloudfront/Distribution
|
|
2
|
+
see: https://www.pulumi.com/registry/packages/aws/api-docs/cloudfront/distribution
|
|
3
|
+
*/
|
|
4
|
+
type origin = {
|
|
5
|
+
domainName: Pulumi.Input.t<string>,
|
|
6
|
+
originId: Pulumi.Input.t<string>,
|
|
7
|
+
originAccessControlId?: Pulumi.Input.t<string>,
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
type defaultCacheBehavior = {
|
|
11
|
+
targetOriginId: Pulumi.Input.t<string>,
|
|
12
|
+
viewerProtocolPolicy: Pulumi.Input.t<string>,
|
|
13
|
+
allowedMethods: Pulumi.Input.t<array<string>>,
|
|
14
|
+
cachedMethods: Pulumi.Input.t<array<string>>,
|
|
15
|
+
cachePolicyId?: Pulumi.Input.t<string>,
|
|
16
|
+
compress?: Pulumi.Input.t<bool>,
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// orderedCacheBehavior shares defaultCacheBehavior's shape but adds a
|
|
20
|
+
// pathPattern selector — CloudFront evaluates these in order and the first
|
|
21
|
+
// match wins; entries without a match fall back to the default behavior.
|
|
22
|
+
type orderedCacheBehavior = {
|
|
23
|
+
pathPattern: Pulumi.Input.t<string>,
|
|
24
|
+
targetOriginId: Pulumi.Input.t<string>,
|
|
25
|
+
viewerProtocolPolicy: Pulumi.Input.t<string>,
|
|
26
|
+
allowedMethods: Pulumi.Input.t<array<string>>,
|
|
27
|
+
cachedMethods: Pulumi.Input.t<array<string>>,
|
|
28
|
+
cachePolicyId?: Pulumi.Input.t<string>,
|
|
29
|
+
compress?: Pulumi.Input.t<bool>,
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
type geoRestriction = {
|
|
33
|
+
restrictionType: Pulumi.Input.t<string>,
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
type restrictions = {
|
|
37
|
+
geoRestriction: Pulumi.Input.t<geoRestriction>,
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
type viewerCertificate = {
|
|
41
|
+
cloudfrontDefaultCertificate?: Pulumi.Input.t<bool>,
|
|
42
|
+
acmCertificateArn?: Pulumi.Input.t<string>,
|
|
43
|
+
sslSupportMethod?: Pulumi.Input.t<string>,
|
|
44
|
+
minimumProtocolVersion?: Pulumi.Input.t<string>,
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
type customErrorResponse = {
|
|
48
|
+
errorCode: Pulumi.Input.t<int>,
|
|
49
|
+
responseCode?: Pulumi.Input.t<int>,
|
|
50
|
+
responsePagePath?: Pulumi.Input.t<string>,
|
|
51
|
+
errorCachingMinTtl?: Pulumi.Input.t<int>,
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
type args = {
|
|
55
|
+
enabled: Pulumi.Input.t<bool>,
|
|
56
|
+
aliases?: Pulumi.Input.t<array<string>>,
|
|
57
|
+
origins: Pulumi.Input.t<array<origin>>,
|
|
58
|
+
defaultCacheBehavior: Pulumi.Input.t<defaultCacheBehavior>,
|
|
59
|
+
orderedCacheBehaviors?: Pulumi.Input.t<array<orderedCacheBehavior>>,
|
|
60
|
+
restrictions: Pulumi.Input.t<restrictions>,
|
|
61
|
+
viewerCertificate: Pulumi.Input.t<viewerCertificate>,
|
|
62
|
+
comment?: Pulumi.Input.t<string>,
|
|
63
|
+
customErrorResponses?: Pulumi.Input.t<array<customErrorResponse>>,
|
|
64
|
+
defaultRootObject?: Pulumi.Input.t<string>,
|
|
65
|
+
httpVersion?: Pulumi.Input.t<string>,
|
|
66
|
+
isIpv6Enabled?: Pulumi.Input.t<bool>,
|
|
67
|
+
priceClass?: Pulumi.Input.t<string>,
|
|
68
|
+
tags?: Pulumi.Input.t<Aws.tags>,
|
|
69
|
+
waitForDeployment?: Pulumi.Input.t<bool>,
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
type t = {
|
|
73
|
+
id: Pulumi.Output.t<string>,
|
|
74
|
+
arn: Pulumi.Output.t<string>,
|
|
75
|
+
domainName: Pulumi.Output.t<string>,
|
|
76
|
+
hostedZoneId: Pulumi.Output.t<string>,
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@module("@pulumi/aws") @scope("cloudfront") @new
|
|
80
|
+
external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
|
|
81
|
+
"Distribution"
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** @pulumi/aws/cloudfront/OriginAccessControl
|
|
2
|
+
see: https://www.pulumi.com/registry/packages/aws/api-docs/cloudfront/originaccesscontrol
|
|
3
|
+
*/
|
|
4
|
+
type t = {
|
|
5
|
+
id: Pulumi.Output.t<string>,
|
|
6
|
+
arn: Pulumi.Output.t<string>,
|
|
7
|
+
name: Pulumi.Output.t<string>,
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
type args = {
|
|
11
|
+
name?: Pulumi.Input.t<string>,
|
|
12
|
+
description?: Pulumi.Input.t<string>,
|
|
13
|
+
originAccessControlOriginType: Pulumi.Input.t<string>,
|
|
14
|
+
signingBehavior: Pulumi.Input.t<string>,
|
|
15
|
+
signingProtocol: Pulumi.Input.t<string>,
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@module("@pulumi/aws") @scope("cloudfront") @new
|
|
19
|
+
external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
|
|
20
|
+
"OriginAccessControl"
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** @pulumi/aws/cloudwatch
|
|
2
|
+
see: https://www.pulumi.com/registry/packages/aws/api-docs/cloudwatch/
|
|
3
|
+
*/
|
|
4
|
+
module EventRule = Cloudwatch_EventRule
|
|
5
|
+
module EventTarget = Cloudwatch_EventTarget
|
|
6
|
+
module LogGroup = Cloudwatch_LogGroup
|
|
7
|
+
module LogMetricFilter = Cloudwatch_LogMetricFilter
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/** @pulumi/aws/cloudwatch/eventrule
|
|
2
|
+
see: https://www.pulumi.com/registry/packages/aws/api-docs/cloudwatch/eventrule/
|
|
3
|
+
*/
|
|
4
|
+
type t = {name: Pulumi.Output.t<string>, arn: Pulumi.Output.t<string>, id: Pulumi.Output.t<string>}
|
|
5
|
+
|
|
6
|
+
module ScheduleExpression: {
|
|
7
|
+
type t
|
|
8
|
+
type rate =
|
|
9
|
+
| Minutes(int)
|
|
10
|
+
| Hours(int)
|
|
11
|
+
| Days(int)
|
|
12
|
+
|
|
13
|
+
let every: rate => t
|
|
14
|
+
let rate: rate => t
|
|
15
|
+
} = {
|
|
16
|
+
/** Either a cron or rate expression
|
|
17
|
+
* see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html
|
|
18
|
+
*/
|
|
19
|
+
type t = Pulumi.Input.t<string>
|
|
20
|
+
|
|
21
|
+
type rate =
|
|
22
|
+
| Minutes(int)
|
|
23
|
+
| Hours(int)
|
|
24
|
+
| Days(int)
|
|
25
|
+
|
|
26
|
+
let plural = count => count == 1 ? "" : "s"
|
|
27
|
+
|
|
28
|
+
let every = rate =>
|
|
29
|
+
switch rate {
|
|
30
|
+
| Minutes(minutes) =>
|
|
31
|
+
let plural = minutes->plural
|
|
32
|
+
`rate(${minutes->Int.toString} minute${plural})`
|
|
33
|
+
| Hours(hours) =>
|
|
34
|
+
let plural = hours->plural
|
|
35
|
+
`rate(${hours->Int.toString} hour${plural})`
|
|
36
|
+
| Days(days) =>
|
|
37
|
+
let plural = days->plural
|
|
38
|
+
`rate(${days->Int.toString} day${plural})`
|
|
39
|
+
}->Pulumi.Input.make
|
|
40
|
+
|
|
41
|
+
let rate = every
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
type args = {
|
|
45
|
+
description?: Pulumi.Input.t<string>,
|
|
46
|
+
scheduleExpression?: ScheduleExpression.t,
|
|
47
|
+
roleArn?: Pulumi.Input.t<string>,
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@module("@pulumi/aws") @scope("cloudwatch") @new
|
|
51
|
+
external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
|
|
52
|
+
"EventRule"
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
function plural(count) {
|
|
5
|
+
if (count === 1) {
|
|
6
|
+
return "";
|
|
7
|
+
} else {
|
|
8
|
+
return "s";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function every(rate) {
|
|
13
|
+
switch (rate.TAG) {
|
|
14
|
+
case "Minutes" :
|
|
15
|
+
let minutes = rate._0;
|
|
16
|
+
let plural$1 = plural(minutes);
|
|
17
|
+
return `rate(` + minutes.toString() + ` minute` + plural$1 + `)`;
|
|
18
|
+
case "Hours" :
|
|
19
|
+
let hours = rate._0;
|
|
20
|
+
let plural$2 = plural(hours);
|
|
21
|
+
return `rate(` + hours.toString() + ` hour` + plural$2 + `)`;
|
|
22
|
+
case "Days" :
|
|
23
|
+
let days = rate._0;
|
|
24
|
+
let plural$3 = plural(days);
|
|
25
|
+
return `rate(` + days.toString() + ` day` + plural$3 + `)`;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
let ScheduleExpression = {
|
|
30
|
+
every: every,
|
|
31
|
+
rate: every
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
ScheduleExpression,
|
|
36
|
+
}
|
|
37
|
+
/* No side effect */
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** @pulumi/aws/cloudwatch/eventtarget
|
|
2
|
+
see: https://www.pulumi.com/registry/packages/aws/api-docs/cloudwatch/eventtarget/
|
|
3
|
+
*/
|
|
4
|
+
type t
|
|
5
|
+
|
|
6
|
+
module Rule: {
|
|
7
|
+
type t
|
|
8
|
+
|
|
9
|
+
let ofInput: Pulumi.Input.t<string> => t
|
|
10
|
+
let ofString: string => t
|
|
11
|
+
let ofEventRule: Cloudwatch_EventRule.t => t
|
|
12
|
+
} = {
|
|
13
|
+
type t = Pulumi.Input.t<string>
|
|
14
|
+
|
|
15
|
+
external ofInput: Pulumi.Input.t<string> => t = "%identity"
|
|
16
|
+
let ofString = ruleName => ruleName->Pulumi.Input.make
|
|
17
|
+
let ofEventRule = (rule: Cloudwatch_EventRule.t) => rule.name->Pulumi.Output.asInput
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
type args = {
|
|
21
|
+
rule: Rule.t,
|
|
22
|
+
arn: Pulumi.Input.t<string>,
|
|
23
|
+
input?: Pulumi.Input.t<string>,
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@module("@pulumi/aws") @scope("cloudwatch") @new
|
|
27
|
+
external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
|
|
28
|
+
"EventTarget"
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
function ofString(ruleName) {
|
|
5
|
+
return ruleName;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
function ofEventRule(rule) {
|
|
9
|
+
return rule.name;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function Rule_ofInput(prim) {
|
|
13
|
+
return prim;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
let Rule = {
|
|
17
|
+
ofInput: Rule_ofInput,
|
|
18
|
+
ofString: ofString,
|
|
19
|
+
ofEventRule: ofEventRule
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export {
|
|
23
|
+
Rule,
|
|
24
|
+
}
|
|
25
|
+
/* No side effect */
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** @pulumi/aws/cloudwatch/loggroup
|
|
2
|
+
see: https://www.pulumi.com/registry/packages/aws/api-docs/cloudwatch/loggroup/
|
|
3
|
+
*/
|
|
4
|
+
type t = {name: Pulumi.Output.t<string>, arn: Pulumi.Output.t<string>, id: Pulumi.Output.t<string>}
|
|
5
|
+
|
|
6
|
+
type args = {
|
|
7
|
+
name?: Pulumi.Input.t<string>,
|
|
8
|
+
retentionInDays?: Pulumi.Input.t<int>,
|
|
9
|
+
tags?: Pulumi.Input.t<Aws.tags>,
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@module("@pulumi/aws") @scope("cloudwatch") @new
|
|
13
|
+
external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
|
|
14
|
+
"LogGroup"
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** @pulumi/aws/cloudwatch/logmetricfilter
|
|
2
|
+
see: https://www.pulumi.com/registry/packages/aws/api-docs/cloudwatch/logmetricfilter/
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/** How matched log events are turned into a CloudWatch metric data point.
|
|
6
|
+
`value`/`dimensions` use metric-filter JSON selectors (e.g. `"$.value"`). */
|
|
7
|
+
type metricTransformation = {
|
|
8
|
+
name: Pulumi.Input.t<string>,
|
|
9
|
+
namespace: Pulumi.Input.t<string>,
|
|
10
|
+
value: Pulumi.Input.t<string>,
|
|
11
|
+
defaultValue?: Pulumi.Input.t<string>,
|
|
12
|
+
unit?: Pulumi.Input.t<string>,
|
|
13
|
+
dimensions?: Pulumi.Input.t<Dict.t<string>>,
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
type t = {id: Pulumi.Output.t<string>}
|
|
17
|
+
|
|
18
|
+
type args = {
|
|
19
|
+
name?: Pulumi.Input.t<string>,
|
|
20
|
+
/** Filter pattern matched against log events, e.g. `{ $.reventlessMetric = "AppendRetry" }`. */
|
|
21
|
+
pattern: Pulumi.Input.t<string>,
|
|
22
|
+
logGroupName: Pulumi.Input.t<string>,
|
|
23
|
+
metricTransformation: Pulumi.Input.t<metricTransformation>,
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@module("@pulumi/aws") @scope("cloudwatch") @new
|
|
27
|
+
external make: (~name: string, ~args: args, ~opts: Pulumi.CustomResourceOptions.t=?) => t =
|
|
28
|
+
"LogMetricFilter"
|