@pulumi/aws 6.0.0-alpha.6 → 6.0.0-alpha.8
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/apigateway/authorizer.d.ts +55 -0
- package/apigateway/authorizer.js +55 -0
- package/apigateway/authorizer.js.map +1 -1
- package/apigateway/methodSettings.d.ts +72 -0
- package/apigateway/methodSettings.js +72 -0
- package/apigateway/methodSettings.js.map +1 -1
- package/apigateway/stage.d.ts +1 -1
- package/apigateway/stage.js +1 -1
- package/appmesh/virtualRouter.d.ts +1 -1
- package/appmesh/virtualRouter.js +1 -1
- package/athena/database.d.ts +1 -1
- package/athena/database.js +1 -1
- package/autoscaling/policy.d.ts +1 -1
- package/autoscaling/policy.js +1 -1
- package/budgets/getBudget.d.ts +4 -1
- package/budgets/getBudget.js.map +1 -1
- package/cloudfront/distribution.d.ts +229 -0
- package/cloudfront/distribution.js +229 -0
- package/cloudfront/distribution.js.map +1 -1
- package/codepipeline/customActionType.d.ts +1 -1
- package/codepipeline/customActionType.js +1 -1
- package/dlm/lifecyclePolicy.d.ts +41 -0
- package/dlm/lifecyclePolicy.js +41 -0
- package/dlm/lifecyclePolicy.js.map +1 -1
- package/ec2/defaultRouteTable.d.ts +1 -1
- package/ec2/defaultRouteTable.js +1 -1
- package/ec2/getNatGateway.d.ts +31 -21
- package/ec2/getNatGateway.js +4 -6
- package/ec2/getNatGateway.js.map +1 -1
- package/ec2/natGateway.d.ts +79 -18
- package/ec2/natGateway.js +31 -0
- package/ec2/natGateway.js.map +1 -1
- package/ec2/routeTable.d.ts +43 -0
- package/ec2/routeTable.js +43 -0
- package/ec2/routeTable.js.map +1 -1
- package/ec2transitgateway/vpcAttachment.d.ts +2 -2
- package/glue/job.d.ts +39 -6
- package/glue/job.js +18 -0
- package/glue/job.js.map +1 -1
- package/grafana/workspace.d.ts +3 -3
- package/iam/index.d.ts +3 -0
- package/iam/index.js +7 -2
- package/iam/index.js.map +1 -1
- package/iam/securityTokenServicePreferences.d.ts +60 -0
- package/iam/securityTokenServicePreferences.js +64 -0
- package/iam/securityTokenServicePreferences.js.map +1 -0
- package/licensemanager/licenseGrantAccepter.d.ts +9 -0
- package/licensemanager/licenseGrantAccepter.js +9 -0
- package/licensemanager/licenseGrantAccepter.js.map +1 -1
- package/networkfirewall/firewallPolicy.d.ts +32 -0
- package/networkfirewall/firewallPolicy.js +32 -0
- package/networkfirewall/firewallPolicy.js.map +1 -1
- package/opensearch/serverlessAccessPolicy.d.ts +78 -18
- package/opensearch/serverlessAccessPolicy.js +78 -18
- package/opensearch/serverlessAccessPolicy.js.map +1 -1
- package/opensearch/serverlessCollection.d.ts +7 -3
- package/opensearch/serverlessCollection.js +4 -0
- package/opensearch/serverlessCollection.js.map +1 -1
- package/package.json +2 -2
- package/package.json.dev +2 -2
- package/rds/getClusterSnapshot.d.ts +4 -2
- package/rds/getClusterSnapshot.js.map +1 -1
- package/rds/getInstance.d.ts +12 -6
- package/rds/getInstance.js +1 -0
- package/rds/getInstance.js.map +1 -1
- package/rds/getInstances.d.ts +41 -2
- package/rds/getInstances.js +25 -0
- package/rds/getInstances.js.map +1 -1
- package/rds/getSnapshot.d.ts +13 -0
- package/rds/getSnapshot.js +1 -0
- package/rds/getSnapshot.js.map +1 -1
- package/rds/instance.d.ts +6 -12
- package/rds/instance.js.map +1 -1
- package/sagemaker/index.d.ts +3 -0
- package/sagemaker/index.js +6 -1
- package/sagemaker/index.js.map +1 -1
- package/sagemaker/pipeline.d.ts +195 -0
- package/sagemaker/pipeline.js +108 -0
- package/sagemaker/pipeline.js.map +1 -0
- package/ssm/association.d.ts +3 -3
- package/ssm/parameter.d.ts +4 -4
- package/ssm/parameter.js +1 -1
- package/transfer/getServer.d.ts +1 -0
- package/transfer/getServer.js.map +1 -1
- package/transfer/server.d.ts +41 -0
- package/transfer/server.js +31 -0
- package/transfer/server.js.map +1 -1
- package/types/input.d.ts +534 -32
- package/types/output.d.ts +567 -50
- package/vpclattice/getService.d.ts +20 -8
- package/vpclattice/getService.js +8 -2
- package/vpclattice/getService.js.map +1 -1
- package/vpclattice/getServiceNetwork.d.ts +1 -1
- package/wafv2/webAclLoggingConfiguration.d.ts +3 -3
|
@@ -3,6 +3,61 @@ import { RestApi } from "./index";
|
|
|
3
3
|
/**
|
|
4
4
|
* Provides an API Gateway Authorizer.
|
|
5
5
|
*
|
|
6
|
+
* ## Example Usage
|
|
7
|
+
*
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
10
|
+
* import * as aws from "@pulumi/aws";
|
|
11
|
+
*
|
|
12
|
+
* const demoRestApi = new aws.apigateway.RestApi("demoRestApi", {});
|
|
13
|
+
* const invocationAssumeRole = aws.iam.getPolicyDocument({
|
|
14
|
+
* statements: [{
|
|
15
|
+
* effect: "Allow",
|
|
16
|
+
* principals: [{
|
|
17
|
+
* type: "Service",
|
|
18
|
+
* identifiers: ["apigateway.amazonaws.com"],
|
|
19
|
+
* }],
|
|
20
|
+
* actions: ["sts:AssumeRole"],
|
|
21
|
+
* }],
|
|
22
|
+
* });
|
|
23
|
+
* const invocationRole = new aws.iam.Role("invocationRole", {
|
|
24
|
+
* path: "/",
|
|
25
|
+
* assumeRolePolicy: invocationAssumeRole.then(invocationAssumeRole => invocationAssumeRole.json),
|
|
26
|
+
* });
|
|
27
|
+
* const lambdaAssumeRole = aws.iam.getPolicyDocument({
|
|
28
|
+
* statements: [{
|
|
29
|
+
* effect: "Allow",
|
|
30
|
+
* actions: ["sts:AssumeRole"],
|
|
31
|
+
* principals: [{
|
|
32
|
+
* type: "Service",
|
|
33
|
+
* identifiers: ["lambda.amazonaws.com"],
|
|
34
|
+
* }],
|
|
35
|
+
* }],
|
|
36
|
+
* });
|
|
37
|
+
* const lambda = new aws.iam.Role("lambda", {assumeRolePolicy: lambdaAssumeRole.then(lambdaAssumeRole => lambdaAssumeRole.json)});
|
|
38
|
+
* const authorizer = new aws.lambda.Function("authorizer", {
|
|
39
|
+
* code: new pulumi.asset.FileArchive("lambda-function.zip"),
|
|
40
|
+
* role: lambda.arn,
|
|
41
|
+
* handler: "exports.example",
|
|
42
|
+
* });
|
|
43
|
+
* const demoAuthorizer = new aws.apigateway.Authorizer("demoAuthorizer", {
|
|
44
|
+
* restApi: demoRestApi.id,
|
|
45
|
+
* authorizerUri: authorizer.invokeArn,
|
|
46
|
+
* authorizerCredentials: invocationRole.arn,
|
|
47
|
+
* });
|
|
48
|
+
* const invocationPolicyPolicyDocument = aws.iam.getPolicyDocumentOutput({
|
|
49
|
+
* statements: [{
|
|
50
|
+
* effect: "Allow",
|
|
51
|
+
* actions: ["lambda:InvokeFunction"],
|
|
52
|
+
* resources: [authorizer.arn],
|
|
53
|
+
* }],
|
|
54
|
+
* });
|
|
55
|
+
* const invocationPolicyRolePolicy = new aws.iam.RolePolicy("invocationPolicyRolePolicy", {
|
|
56
|
+
* role: invocationRole.id,
|
|
57
|
+
* policy: invocationPolicyPolicyDocument.apply(invocationPolicyPolicyDocument => invocationPolicyPolicyDocument.json),
|
|
58
|
+
* });
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
6
61
|
* ## Import
|
|
7
62
|
*
|
|
8
63
|
* terraform import {
|
package/apigateway/authorizer.js
CHANGED
|
@@ -8,6 +8,61 @@ const utilities = require("../utilities");
|
|
|
8
8
|
/**
|
|
9
9
|
* Provides an API Gateway Authorizer.
|
|
10
10
|
*
|
|
11
|
+
* ## Example Usage
|
|
12
|
+
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as aws from "@pulumi/aws";
|
|
16
|
+
*
|
|
17
|
+
* const demoRestApi = new aws.apigateway.RestApi("demoRestApi", {});
|
|
18
|
+
* const invocationAssumeRole = aws.iam.getPolicyDocument({
|
|
19
|
+
* statements: [{
|
|
20
|
+
* effect: "Allow",
|
|
21
|
+
* principals: [{
|
|
22
|
+
* type: "Service",
|
|
23
|
+
* identifiers: ["apigateway.amazonaws.com"],
|
|
24
|
+
* }],
|
|
25
|
+
* actions: ["sts:AssumeRole"],
|
|
26
|
+
* }],
|
|
27
|
+
* });
|
|
28
|
+
* const invocationRole = new aws.iam.Role("invocationRole", {
|
|
29
|
+
* path: "/",
|
|
30
|
+
* assumeRolePolicy: invocationAssumeRole.then(invocationAssumeRole => invocationAssumeRole.json),
|
|
31
|
+
* });
|
|
32
|
+
* const lambdaAssumeRole = aws.iam.getPolicyDocument({
|
|
33
|
+
* statements: [{
|
|
34
|
+
* effect: "Allow",
|
|
35
|
+
* actions: ["sts:AssumeRole"],
|
|
36
|
+
* principals: [{
|
|
37
|
+
* type: "Service",
|
|
38
|
+
* identifiers: ["lambda.amazonaws.com"],
|
|
39
|
+
* }],
|
|
40
|
+
* }],
|
|
41
|
+
* });
|
|
42
|
+
* const lambda = new aws.iam.Role("lambda", {assumeRolePolicy: lambdaAssumeRole.then(lambdaAssumeRole => lambdaAssumeRole.json)});
|
|
43
|
+
* const authorizer = new aws.lambda.Function("authorizer", {
|
|
44
|
+
* code: new pulumi.asset.FileArchive("lambda-function.zip"),
|
|
45
|
+
* role: lambda.arn,
|
|
46
|
+
* handler: "exports.example",
|
|
47
|
+
* });
|
|
48
|
+
* const demoAuthorizer = new aws.apigateway.Authorizer("demoAuthorizer", {
|
|
49
|
+
* restApi: demoRestApi.id,
|
|
50
|
+
* authorizerUri: authorizer.invokeArn,
|
|
51
|
+
* authorizerCredentials: invocationRole.arn,
|
|
52
|
+
* });
|
|
53
|
+
* const invocationPolicyPolicyDocument = aws.iam.getPolicyDocumentOutput({
|
|
54
|
+
* statements: [{
|
|
55
|
+
* effect: "Allow",
|
|
56
|
+
* actions: ["lambda:InvokeFunction"],
|
|
57
|
+
* resources: [authorizer.arn],
|
|
58
|
+
* }],
|
|
59
|
+
* });
|
|
60
|
+
* const invocationPolicyRolePolicy = new aws.iam.RolePolicy("invocationPolicyRolePolicy", {
|
|
61
|
+
* role: invocationRole.id,
|
|
62
|
+
* policy: invocationPolicyPolicyDocument.apply(invocationPolicyPolicyDocument => invocationPolicyPolicyDocument.json),
|
|
63
|
+
* });
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
11
66
|
* ## Import
|
|
12
67
|
*
|
|
13
68
|
* terraform import {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorizer.js","sourceRoot":"","sources":["../../apigateway/authorizer.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAI1C
|
|
1
|
+
{"version":3,"file":"authorizer.js","sourceRoot":"","sources":["../../apigateway/authorizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,9 @@ import { RestApi } from "./index";
|
|
|
9
9
|
*
|
|
10
10
|
* ## Example Usage
|
|
11
11
|
*
|
|
12
|
+
* ### End-to-end
|
|
13
|
+
* ### Basic Usage
|
|
14
|
+
*
|
|
12
15
|
* ```typescript
|
|
13
16
|
* import * as pulumi from "@pulumi/pulumi";
|
|
14
17
|
* import * as aws from "@pulumi/aws";
|
|
@@ -63,6 +66,75 @@ import { RestApi } from "./index";
|
|
|
63
66
|
* },
|
|
64
67
|
* });
|
|
65
68
|
* ```
|
|
69
|
+
* ### CloudWatch Logging and Tracing
|
|
70
|
+
*
|
|
71
|
+
* The AWS Console API Gateway Editor displays multiple options for CloudWatch Logs that don't directly map to the options in the AWS API and Pulumi. These examples show the `settings` blocks that are equivalent to the options the AWS Console gives for CloudWatch Logs.
|
|
72
|
+
* ### Off
|
|
73
|
+
*
|
|
74
|
+
* ```typescript
|
|
75
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
76
|
+
* import * as aws from "@pulumi/aws";
|
|
77
|
+
*
|
|
78
|
+
* const pathSpecific = new aws.apigateway.MethodSettings("pathSpecific", {
|
|
79
|
+
* restApi: aws_api_gateway_rest_api.example.id,
|
|
80
|
+
* stageName: aws_api_gateway_stage.example.stage_name,
|
|
81
|
+
* methodPath: "path1/GET",
|
|
82
|
+
* settings: {
|
|
83
|
+
* loggingLevel: "OFF",
|
|
84
|
+
* },
|
|
85
|
+
* });
|
|
86
|
+
* ```
|
|
87
|
+
* ### Errors Only
|
|
88
|
+
*
|
|
89
|
+
* ```typescript
|
|
90
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
91
|
+
* import * as aws from "@pulumi/aws";
|
|
92
|
+
*
|
|
93
|
+
* const pathSpecific = new aws.apigateway.MethodSettings("pathSpecific", {
|
|
94
|
+
* restApi: aws_api_gateway_rest_api.example.id,
|
|
95
|
+
* stageName: aws_api_gateway_stage.example.stage_name,
|
|
96
|
+
* methodPath: "path1/GET",
|
|
97
|
+
* settings: {
|
|
98
|
+
* loggingLevel: "ERROR",
|
|
99
|
+
* metricsEnabled: true,
|
|
100
|
+
* dataTraceEnabled: false,
|
|
101
|
+
* },
|
|
102
|
+
* });
|
|
103
|
+
* ```
|
|
104
|
+
* ### Errors and Info Logs
|
|
105
|
+
*
|
|
106
|
+
* ```typescript
|
|
107
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
108
|
+
* import * as aws from "@pulumi/aws";
|
|
109
|
+
*
|
|
110
|
+
* const pathSpecific = new aws.apigateway.MethodSettings("pathSpecific", {
|
|
111
|
+
* restApi: aws_api_gateway_rest_api.example.id,
|
|
112
|
+
* stageName: aws_api_gateway_stage.example.stage_name,
|
|
113
|
+
* methodPath: "path1/GET",
|
|
114
|
+
* settings: {
|
|
115
|
+
* loggingLevel: "INFO",
|
|
116
|
+
* metricsEnabled: true,
|
|
117
|
+
* dataTraceEnabled: false,
|
|
118
|
+
* },
|
|
119
|
+
* });
|
|
120
|
+
* ```
|
|
121
|
+
* ### Full Request and Response Logs
|
|
122
|
+
*
|
|
123
|
+
* ```typescript
|
|
124
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
125
|
+
* import * as aws from "@pulumi/aws";
|
|
126
|
+
*
|
|
127
|
+
* const pathSpecific = new aws.apigateway.MethodSettings("pathSpecific", {
|
|
128
|
+
* restApi: aws_api_gateway_rest_api.example.id,
|
|
129
|
+
* stageName: aws_api_gateway_stage.example.stage_name,
|
|
130
|
+
* methodPath: "path1/GET",
|
|
131
|
+
* settings: {
|
|
132
|
+
* loggingLevel: "INFO",
|
|
133
|
+
* metricsEnabled: true,
|
|
134
|
+
* dataTraceEnabled: true,
|
|
135
|
+
* },
|
|
136
|
+
* });
|
|
137
|
+
* ```
|
|
66
138
|
*
|
|
67
139
|
* ## Import
|
|
68
140
|
*
|
|
@@ -12,6 +12,9 @@ const utilities = require("../utilities");
|
|
|
12
12
|
*
|
|
13
13
|
* ## Example Usage
|
|
14
14
|
*
|
|
15
|
+
* ### End-to-end
|
|
16
|
+
* ### Basic Usage
|
|
17
|
+
*
|
|
15
18
|
* ```typescript
|
|
16
19
|
* import * as pulumi from "@pulumi/pulumi";
|
|
17
20
|
* import * as aws from "@pulumi/aws";
|
|
@@ -66,6 +69,75 @@ const utilities = require("../utilities");
|
|
|
66
69
|
* },
|
|
67
70
|
* });
|
|
68
71
|
* ```
|
|
72
|
+
* ### CloudWatch Logging and Tracing
|
|
73
|
+
*
|
|
74
|
+
* The AWS Console API Gateway Editor displays multiple options for CloudWatch Logs that don't directly map to the options in the AWS API and Pulumi. These examples show the `settings` blocks that are equivalent to the options the AWS Console gives for CloudWatch Logs.
|
|
75
|
+
* ### Off
|
|
76
|
+
*
|
|
77
|
+
* ```typescript
|
|
78
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
79
|
+
* import * as aws from "@pulumi/aws";
|
|
80
|
+
*
|
|
81
|
+
* const pathSpecific = new aws.apigateway.MethodSettings("pathSpecific", {
|
|
82
|
+
* restApi: aws_api_gateway_rest_api.example.id,
|
|
83
|
+
* stageName: aws_api_gateway_stage.example.stage_name,
|
|
84
|
+
* methodPath: "path1/GET",
|
|
85
|
+
* settings: {
|
|
86
|
+
* loggingLevel: "OFF",
|
|
87
|
+
* },
|
|
88
|
+
* });
|
|
89
|
+
* ```
|
|
90
|
+
* ### Errors Only
|
|
91
|
+
*
|
|
92
|
+
* ```typescript
|
|
93
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
94
|
+
* import * as aws from "@pulumi/aws";
|
|
95
|
+
*
|
|
96
|
+
* const pathSpecific = new aws.apigateway.MethodSettings("pathSpecific", {
|
|
97
|
+
* restApi: aws_api_gateway_rest_api.example.id,
|
|
98
|
+
* stageName: aws_api_gateway_stage.example.stage_name,
|
|
99
|
+
* methodPath: "path1/GET",
|
|
100
|
+
* settings: {
|
|
101
|
+
* loggingLevel: "ERROR",
|
|
102
|
+
* metricsEnabled: true,
|
|
103
|
+
* dataTraceEnabled: false,
|
|
104
|
+
* },
|
|
105
|
+
* });
|
|
106
|
+
* ```
|
|
107
|
+
* ### Errors and Info Logs
|
|
108
|
+
*
|
|
109
|
+
* ```typescript
|
|
110
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
111
|
+
* import * as aws from "@pulumi/aws";
|
|
112
|
+
*
|
|
113
|
+
* const pathSpecific = new aws.apigateway.MethodSettings("pathSpecific", {
|
|
114
|
+
* restApi: aws_api_gateway_rest_api.example.id,
|
|
115
|
+
* stageName: aws_api_gateway_stage.example.stage_name,
|
|
116
|
+
* methodPath: "path1/GET",
|
|
117
|
+
* settings: {
|
|
118
|
+
* loggingLevel: "INFO",
|
|
119
|
+
* metricsEnabled: true,
|
|
120
|
+
* dataTraceEnabled: false,
|
|
121
|
+
* },
|
|
122
|
+
* });
|
|
123
|
+
* ```
|
|
124
|
+
* ### Full Request and Response Logs
|
|
125
|
+
*
|
|
126
|
+
* ```typescript
|
|
127
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
128
|
+
* import * as aws from "@pulumi/aws";
|
|
129
|
+
*
|
|
130
|
+
* const pathSpecific = new aws.apigateway.MethodSettings("pathSpecific", {
|
|
131
|
+
* restApi: aws_api_gateway_rest_api.example.id,
|
|
132
|
+
* stageName: aws_api_gateway_stage.example.stage_name,
|
|
133
|
+
* methodPath: "path1/GET",
|
|
134
|
+
* settings: {
|
|
135
|
+
* loggingLevel: "INFO",
|
|
136
|
+
* metricsEnabled: true,
|
|
137
|
+
* dataTraceEnabled: true,
|
|
138
|
+
* },
|
|
139
|
+
* });
|
|
140
|
+
* ```
|
|
69
141
|
*
|
|
70
142
|
* ## Import
|
|
71
143
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methodSettings.js","sourceRoot":"","sources":["../../apigateway/methodSettings.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAIzC,0CAA0C;AAI1C
|
|
1
|
+
{"version":3,"file":"methodSettings.js","sourceRoot":"","sources":["../../apigateway/methodSettings.ts"],"names":[],"mappings":"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"}
|
package/apigateway/stage.d.ts
CHANGED
|
@@ -54,7 +54,7 @@ import { Deployment, RestApi } from "./index";
|
|
|
54
54
|
* ```
|
|
55
55
|
* ### Managing the API Logging CloudWatch Log Group
|
|
56
56
|
*
|
|
57
|
-
* API Gateway provides the ability to [enable CloudWatch API logging](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html). To manage the CloudWatch Log Group when this feature is enabled, the `aws.cloudwatch.LogGroup` resource can be used where the name matches the API Gateway naming convention. If the CloudWatch Log Group previously exists, import the `aws.cloudwatch.LogGroup` resource into
|
|
57
|
+
* API Gateway provides the ability to [enable CloudWatch API logging](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html). To manage the CloudWatch Log Group when this feature is enabled, the `aws.cloudwatch.LogGroup` resource can be used where the name matches the API Gateway naming convention. If the CloudWatch Log Group previously exists, import the `aws.cloudwatch.LogGroup` resource into Pulumi as a one time operation. You can recreate the environment without import.
|
|
58
58
|
*
|
|
59
59
|
* ```typescript
|
|
60
60
|
* import * as pulumi from "@pulumi/pulumi";
|
package/apigateway/stage.js
CHANGED
|
@@ -57,7 +57,7 @@ const utilities = require("../utilities");
|
|
|
57
57
|
* ```
|
|
58
58
|
* ### Managing the API Logging CloudWatch Log Group
|
|
59
59
|
*
|
|
60
|
-
* API Gateway provides the ability to [enable CloudWatch API logging](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html). To manage the CloudWatch Log Group when this feature is enabled, the `aws.cloudwatch.LogGroup` resource can be used where the name matches the API Gateway naming convention. If the CloudWatch Log Group previously exists, import the `aws.cloudwatch.LogGroup` resource into
|
|
60
|
+
* API Gateway provides the ability to [enable CloudWatch API logging](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html). To manage the CloudWatch Log Group when this feature is enabled, the `aws.cloudwatch.LogGroup` resource can be used where the name matches the API Gateway naming convention. If the CloudWatch Log Group previously exists, import the `aws.cloudwatch.LogGroup` resource into Pulumi as a one time operation. You can recreate the environment without import.
|
|
61
61
|
*
|
|
62
62
|
* ```typescript
|
|
63
63
|
* import * as pulumi from "@pulumi/pulumi";
|
|
@@ -8,7 +8,7 @@ import * as outputs from "../types/output";
|
|
|
8
8
|
*
|
|
9
9
|
* Because of backward incompatible API changes (read [here](https://github.com/awslabs/aws-app-mesh-examples/issues/92) and [here](https://github.com/awslabs/aws-app-mesh-examples/issues/94)), `aws.appmesh.VirtualRouter` resource definitions created with provider versions earlier than v2.3.0 will need to be modified:
|
|
10
10
|
*
|
|
11
|
-
* * Remove service `serviceNames` from the `spec` argument. AWS has created a `aws.appmesh.VirtualService` resource for each service name. Import these resource using `
|
|
11
|
+
* * Remove service `serviceNames` from the `spec` argument. AWS has created a `aws.appmesh.VirtualService` resource for each service name. Import these resource using `pulumi import`.
|
|
12
12
|
*
|
|
13
13
|
* * Add a `listener` configuration block to the `spec` argument.
|
|
14
14
|
*
|
package/appmesh/virtualRouter.js
CHANGED
|
@@ -12,7 +12,7 @@ const utilities = require("../utilities");
|
|
|
12
12
|
*
|
|
13
13
|
* Because of backward incompatible API changes (read [here](https://github.com/awslabs/aws-app-mesh-examples/issues/92) and [here](https://github.com/awslabs/aws-app-mesh-examples/issues/94)), `aws.appmesh.VirtualRouter` resource definitions created with provider versions earlier than v2.3.0 will need to be modified:
|
|
14
14
|
*
|
|
15
|
-
* * Remove service `serviceNames` from the `spec` argument. AWS has created a `aws.appmesh.VirtualService` resource for each service name. Import these resource using `
|
|
15
|
+
* * Remove service `serviceNames` from the `spec` argument. AWS has created a `aws.appmesh.VirtualService` resource for each service name. Import these resource using `pulumi import`.
|
|
16
16
|
*
|
|
17
17
|
* * Add a `listener` configuration block to the `spec` argument.
|
|
18
18
|
*
|
package/athena/database.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ import * as outputs from "../types/output";
|
|
|
23
23
|
*
|
|
24
24
|
* to = aws_athena_database.example
|
|
25
25
|
*
|
|
26
|
-
* id = "example" } Using `pulumi import`, import Athena Databases using their name. For exampleconsole % pulumi import aws_athena_database.example example Certain resource arguments, like `encryption_configuration` and `bucket`, do not have an API method for reading the information after creation. If the argument is set in the
|
|
26
|
+
* id = "example" } Using `pulumi import`, import Athena Databases using their name. For exampleconsole % pulumi import aws_athena_database.example example Certain resource arguments, like `encryption_configuration` and `bucket`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For exampleterraform resource "aws_athena_database" "example" {
|
|
27
27
|
*
|
|
28
28
|
* name
|
|
29
29
|
*
|
package/athena/database.js
CHANGED
|
@@ -27,7 +27,7 @@ const utilities = require("../utilities");
|
|
|
27
27
|
*
|
|
28
28
|
* to = aws_athena_database.example
|
|
29
29
|
*
|
|
30
|
-
* id = "example" } Using `pulumi import`, import Athena Databases using their name. For exampleconsole % pulumi import aws_athena_database.example example Certain resource arguments, like `encryption_configuration` and `bucket`, do not have an API method for reading the information after creation. If the argument is set in the
|
|
30
|
+
* id = "example" } Using `pulumi import`, import Athena Databases using their name. For exampleconsole % pulumi import aws_athena_database.example example Certain resource arguments, like `encryption_configuration` and `bucket`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For exampleterraform resource "aws_athena_database" "example" {
|
|
31
31
|
*
|
|
32
32
|
* name
|
|
33
33
|
*
|
package/autoscaling/policy.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ import * as outputs from "../types/output";
|
|
|
32
32
|
* autoscalingGroupName: bar.name,
|
|
33
33
|
* });
|
|
34
34
|
* ```
|
|
35
|
-
* ### Create target
|
|
35
|
+
* ### Create target tracking scaling policy using metric math
|
|
36
36
|
*
|
|
37
37
|
* ```typescript
|
|
38
38
|
* import * as pulumi from "@pulumi/pulumi";
|
package/autoscaling/policy.js
CHANGED
|
@@ -36,7 +36,7 @@ const utilities = require("../utilities");
|
|
|
36
36
|
* autoscalingGroupName: bar.name,
|
|
37
37
|
* });
|
|
38
38
|
* ```
|
|
39
|
-
* ### Create target
|
|
39
|
+
* ### Create target tracking scaling policy using metric math
|
|
40
40
|
*
|
|
41
41
|
* ```typescript
|
|
42
42
|
* import * as pulumi from "@pulumi/pulumi";
|
package/budgets/getBudget.d.ts
CHANGED
|
@@ -45,9 +45,12 @@ export interface GetBudgetResult {
|
|
|
45
45
|
* Object containing [AutoAdjustData] which determines the budget amount for an auto-adjusting budget.
|
|
46
46
|
*/
|
|
47
47
|
readonly autoAdjustDatas: outputs.budgets.GetBudgetAutoAdjustData[];
|
|
48
|
+
/**
|
|
49
|
+
* Boolean indicating whether this budget has been exceeded.
|
|
50
|
+
*/
|
|
48
51
|
readonly budgetExceeded: boolean;
|
|
49
52
|
/**
|
|
50
|
-
* The total amount of cost, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage that you want to track with your budget. Contains object Spend
|
|
53
|
+
* The total amount of cost, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage that you want to track with your budget. Contains object Spend.
|
|
51
54
|
*/
|
|
52
55
|
readonly budgetLimits: outputs.budgets.GetBudgetBudgetLimit[];
|
|
53
56
|
/**
|
package/budgets/getBudget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBudget.js","sourceRoot":"","sources":["../../budgets/getBudget.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAIzC,0CAA0C;AAE1C;;;;;;;;;;;;;;GAcG;AACH,SAAgB,SAAS,CAAC,IAAmB,EAAE,IAA2B;IAEtE,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iCAAiC,EAAE;QAC5D,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,YAAY,EAAE,IAAI,CAAC,UAAU;KAChC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AARD,8BAQC;
|
|
1
|
+
{"version":3,"file":"getBudget.js","sourceRoot":"","sources":["../../budgets/getBudget.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAIzC,0CAA0C;AAE1C;;;;;;;;;;;;;;GAcG;AACH,SAAgB,SAAS,CAAC,IAAmB,EAAE,IAA2B;IAEtE,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iCAAiC,EAAE;QAC5D,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,YAAY,EAAE,IAAI,CAAC,UAAU;KAChC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AARD,8BAQC;AAmFD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,eAAe,CAAC,IAAyB,EAAE,IAA2B;IAClF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AACpE,CAAC;AAFD,0CAEC"}
|
|
@@ -8,6 +8,235 @@ import * as outputs from "../types/output";
|
|
|
8
8
|
*
|
|
9
9
|
* > **NOTE:** CloudFront distributions take about 15 minutes to reach a deployed state after creation or modification. During this time, deletes to resources will be blocked. If you need to delete a distribution that is enabled and you do not want to wait, you need to use the `retainOnDelete` flag.
|
|
10
10
|
*
|
|
11
|
+
* ## Example Usage
|
|
12
|
+
*
|
|
13
|
+
* The following example below creates a CloudFront distribution with an S3 origin.
|
|
14
|
+
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
17
|
+
* import * as aws from "@pulumi/aws";
|
|
18
|
+
*
|
|
19
|
+
* const bucketV2 = new aws.s3.BucketV2("bucketV2", {tags: {
|
|
20
|
+
* Name: "My bucket",
|
|
21
|
+
* }});
|
|
22
|
+
* const bAcl = new aws.s3.BucketAclV2("bAcl", {
|
|
23
|
+
* bucket: bucketV2.id,
|
|
24
|
+
* acl: "private",
|
|
25
|
+
* });
|
|
26
|
+
* const s3OriginId = "myS3Origin";
|
|
27
|
+
* const s3Distribution = new aws.cloudfront.Distribution("s3Distribution", {
|
|
28
|
+
* origins: [{
|
|
29
|
+
* domainName: bucketV2.bucketRegionalDomainName,
|
|
30
|
+
* originAccessControlId: aws_cloudfront_origin_access_control["default"].id,
|
|
31
|
+
* originId: s3OriginId,
|
|
32
|
+
* }],
|
|
33
|
+
* enabled: true,
|
|
34
|
+
* isIpv6Enabled: true,
|
|
35
|
+
* comment: "Some comment",
|
|
36
|
+
* defaultRootObject: "index.html",
|
|
37
|
+
* loggingConfig: {
|
|
38
|
+
* includeCookies: false,
|
|
39
|
+
* bucket: "mylogs.s3.amazonaws.com",
|
|
40
|
+
* prefix: "myprefix",
|
|
41
|
+
* },
|
|
42
|
+
* aliases: [
|
|
43
|
+
* "mysite.example.com",
|
|
44
|
+
* "yoursite.example.com",
|
|
45
|
+
* ],
|
|
46
|
+
* defaultCacheBehavior: {
|
|
47
|
+
* allowedMethods: [
|
|
48
|
+
* "DELETE",
|
|
49
|
+
* "GET",
|
|
50
|
+
* "HEAD",
|
|
51
|
+
* "OPTIONS",
|
|
52
|
+
* "PATCH",
|
|
53
|
+
* "POST",
|
|
54
|
+
* "PUT",
|
|
55
|
+
* ],
|
|
56
|
+
* cachedMethods: [
|
|
57
|
+
* "GET",
|
|
58
|
+
* "HEAD",
|
|
59
|
+
* ],
|
|
60
|
+
* targetOriginId: s3OriginId,
|
|
61
|
+
* forwardedValues: {
|
|
62
|
+
* queryString: false,
|
|
63
|
+
* cookies: {
|
|
64
|
+
* forward: "none",
|
|
65
|
+
* },
|
|
66
|
+
* },
|
|
67
|
+
* viewerProtocolPolicy: "allow-all",
|
|
68
|
+
* minTtl: 0,
|
|
69
|
+
* defaultTtl: 3600,
|
|
70
|
+
* maxTtl: 86400,
|
|
71
|
+
* },
|
|
72
|
+
* orderedCacheBehaviors: [
|
|
73
|
+
* {
|
|
74
|
+
* pathPattern: "/content/immutable/*",
|
|
75
|
+
* allowedMethods: [
|
|
76
|
+
* "GET",
|
|
77
|
+
* "HEAD",
|
|
78
|
+
* "OPTIONS",
|
|
79
|
+
* ],
|
|
80
|
+
* cachedMethods: [
|
|
81
|
+
* "GET",
|
|
82
|
+
* "HEAD",
|
|
83
|
+
* "OPTIONS",
|
|
84
|
+
* ],
|
|
85
|
+
* targetOriginId: s3OriginId,
|
|
86
|
+
* forwardedValues: {
|
|
87
|
+
* queryString: false,
|
|
88
|
+
* headers: ["Origin"],
|
|
89
|
+
* cookies: {
|
|
90
|
+
* forward: "none",
|
|
91
|
+
* },
|
|
92
|
+
* },
|
|
93
|
+
* minTtl: 0,
|
|
94
|
+
* defaultTtl: 86400,
|
|
95
|
+
* maxTtl: 31536000,
|
|
96
|
+
* compress: true,
|
|
97
|
+
* viewerProtocolPolicy: "redirect-to-https",
|
|
98
|
+
* },
|
|
99
|
+
* {
|
|
100
|
+
* pathPattern: "/content/*",
|
|
101
|
+
* allowedMethods: [
|
|
102
|
+
* "GET",
|
|
103
|
+
* "HEAD",
|
|
104
|
+
* "OPTIONS",
|
|
105
|
+
* ],
|
|
106
|
+
* cachedMethods: [
|
|
107
|
+
* "GET",
|
|
108
|
+
* "HEAD",
|
|
109
|
+
* ],
|
|
110
|
+
* targetOriginId: s3OriginId,
|
|
111
|
+
* forwardedValues: {
|
|
112
|
+
* queryString: false,
|
|
113
|
+
* cookies: {
|
|
114
|
+
* forward: "none",
|
|
115
|
+
* },
|
|
116
|
+
* },
|
|
117
|
+
* minTtl: 0,
|
|
118
|
+
* defaultTtl: 3600,
|
|
119
|
+
* maxTtl: 86400,
|
|
120
|
+
* compress: true,
|
|
121
|
+
* viewerProtocolPolicy: "redirect-to-https",
|
|
122
|
+
* },
|
|
123
|
+
* ],
|
|
124
|
+
* priceClass: "PriceClass_200",
|
|
125
|
+
* restrictions: {
|
|
126
|
+
* geoRestriction: {
|
|
127
|
+
* restrictionType: "whitelist",
|
|
128
|
+
* locations: [
|
|
129
|
+
* "US",
|
|
130
|
+
* "CA",
|
|
131
|
+
* "GB",
|
|
132
|
+
* "DE",
|
|
133
|
+
* ],
|
|
134
|
+
* },
|
|
135
|
+
* },
|
|
136
|
+
* tags: {
|
|
137
|
+
* Environment: "production",
|
|
138
|
+
* },
|
|
139
|
+
* viewerCertificate: {
|
|
140
|
+
* cloudfrontDefaultCertificate: true,
|
|
141
|
+
* },
|
|
142
|
+
* });
|
|
143
|
+
* ```
|
|
144
|
+
*
|
|
145
|
+
* The example below creates a CloudFront distribution with an origin group for failover routing:
|
|
146
|
+
*
|
|
147
|
+
* ```typescript
|
|
148
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
149
|
+
* import * as aws from "@pulumi/aws";
|
|
150
|
+
*
|
|
151
|
+
* const s3Distribution = new aws.cloudfront.Distribution("s3Distribution", {
|
|
152
|
+
* originGroups: [{
|
|
153
|
+
* originId: "groupS3",
|
|
154
|
+
* failoverCriteria: {
|
|
155
|
+
* statusCodes: [
|
|
156
|
+
* 403,
|
|
157
|
+
* 404,
|
|
158
|
+
* 500,
|
|
159
|
+
* 502,
|
|
160
|
+
* ],
|
|
161
|
+
* },
|
|
162
|
+
* members: [
|
|
163
|
+
* {
|
|
164
|
+
* originId: "primaryS3",
|
|
165
|
+
* },
|
|
166
|
+
* {
|
|
167
|
+
* originId: "failoverS3",
|
|
168
|
+
* },
|
|
169
|
+
* ],
|
|
170
|
+
* }],
|
|
171
|
+
* origins: [
|
|
172
|
+
* {
|
|
173
|
+
* domainName: aws_s3_bucket.primary.bucket_regional_domain_name,
|
|
174
|
+
* originId: "primaryS3",
|
|
175
|
+
* s3OriginConfig: {
|
|
176
|
+
* originAccessIdentity: aws_cloudfront_origin_access_identity["default"].cloudfront_access_identity_path,
|
|
177
|
+
* },
|
|
178
|
+
* },
|
|
179
|
+
* {
|
|
180
|
+
* domainName: aws_s3_bucket.failover.bucket_regional_domain_name,
|
|
181
|
+
* originId: "failoverS3",
|
|
182
|
+
* s3OriginConfig: {
|
|
183
|
+
* originAccessIdentity: aws_cloudfront_origin_access_identity["default"].cloudfront_access_identity_path,
|
|
184
|
+
* },
|
|
185
|
+
* },
|
|
186
|
+
* ],
|
|
187
|
+
* defaultCacheBehavior: {
|
|
188
|
+
* targetOriginId: "groupS3",
|
|
189
|
+
* },
|
|
190
|
+
* });
|
|
191
|
+
* // ... other configuration ...
|
|
192
|
+
* ```
|
|
193
|
+
*
|
|
194
|
+
* CloudFront distribution using [managed policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) (ex: CachingDisabled):
|
|
195
|
+
*
|
|
196
|
+
* ```typescript
|
|
197
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
198
|
+
* import * as aws from "@pulumi/aws";
|
|
199
|
+
*
|
|
200
|
+
* const s3OriginId = "myS3Origin";
|
|
201
|
+
* const s3Distribution = new aws.cloudfront.Distribution("s3Distribution", {
|
|
202
|
+
* origins: [{
|
|
203
|
+
* domainName: aws_s3_bucket.primary.bucket_regional_domain_name,
|
|
204
|
+
* originId: "myS3Origin",
|
|
205
|
+
* s3OriginConfig: {
|
|
206
|
+
* originAccessIdentity: aws_cloudfront_origin_access_identity["default"].cloudfront_access_identity_path,
|
|
207
|
+
* },
|
|
208
|
+
* }],
|
|
209
|
+
* enabled: true,
|
|
210
|
+
* isIpv6Enabled: true,
|
|
211
|
+
* comment: "Some comment",
|
|
212
|
+
* defaultRootObject: "index.html",
|
|
213
|
+
* defaultCacheBehavior: {
|
|
214
|
+
* cachePolicyId: "4135ea2d-6df8-44a3-9df3-4b5a84be39ad",
|
|
215
|
+
* allowedMethods: [
|
|
216
|
+
* "GET",
|
|
217
|
+
* "HEAD",
|
|
218
|
+
* "OPTIONS",
|
|
219
|
+
* ],
|
|
220
|
+
* targetOriginId: s3OriginId,
|
|
221
|
+
* },
|
|
222
|
+
* restrictions: {
|
|
223
|
+
* geoRestriction: {
|
|
224
|
+
* restrictionType: "whitelist",
|
|
225
|
+
* locations: [
|
|
226
|
+
* "US",
|
|
227
|
+
* "CA",
|
|
228
|
+
* "GB",
|
|
229
|
+
* "DE",
|
|
230
|
+
* ],
|
|
231
|
+
* },
|
|
232
|
+
* },
|
|
233
|
+
* viewerCertificate: {
|
|
234
|
+
* cloudfrontDefaultCertificate: true,
|
|
235
|
+
* },
|
|
236
|
+
* });
|
|
237
|
+
* // ... other configuration ...
|
|
238
|
+
* ```
|
|
239
|
+
*
|
|
11
240
|
* ## Import
|
|
12
241
|
*
|
|
13
242
|
* terraform import {
|