@pulumi/aws 5.31.0 → 5.32.0

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 (99) hide show
  1. package/acm/certificate.d.ts +1 -1
  2. package/amplify/domainAssociation.d.ts +12 -0
  3. package/amplify/domainAssociation.js +2 -0
  4. package/amplify/domainAssociation.js.map +1 -1
  5. package/apigateway/account.d.ts +1 -1
  6. package/apigateway/account.js +1 -1
  7. package/appsync/dataSource.d.ts +49 -0
  8. package/appsync/dataSource.js +49 -0
  9. package/appsync/dataSource.js.map +1 -1
  10. package/cloudhsmv2/hsm.d.ts +6 -6
  11. package/codebuild/project.d.ts +178 -0
  12. package/codebuild/project.js +178 -0
  13. package/codebuild/project.js.map +1 -1
  14. package/cognito/resourceServer.d.ts +1 -1
  15. package/cognito/resourceServer.js +1 -1
  16. package/dynamodb/table.d.ts +12 -6
  17. package/dynamodb/table.js.map +1 -1
  18. package/ec2/flowLog.d.ts +12 -0
  19. package/ec2/flowLog.js +2 -0
  20. package/ec2/flowLog.js.map +1 -1
  21. package/ec2/getInstances.d.ts +4 -0
  22. package/ec2/getInstances.js.map +1 -1
  23. package/ec2/launchConfiguration.d.ts +2 -0
  24. package/ec2/launchConfiguration.js +2 -0
  25. package/ec2/launchConfiguration.js.map +1 -1
  26. package/ec2transitgateway/getAttachment.d.ts +8 -0
  27. package/ec2transitgateway/getAttachment.js.map +1 -1
  28. package/ecs/getTaskExecution.d.ts +201 -0
  29. package/ecs/getTaskExecution.js +49 -0
  30. package/ecs/getTaskExecution.js.map +1 -0
  31. package/ecs/index.d.ts +3 -0
  32. package/ecs/index.js +4 -1
  33. package/ecs/index.js.map +1 -1
  34. package/eks/cluster.d.ts +28 -0
  35. package/eks/cluster.js +28 -0
  36. package/eks/cluster.js.map +1 -1
  37. package/grafana/workspace.d.ts +12 -0
  38. package/grafana/workspace.js +2 -0
  39. package/grafana/workspace.js.map +1 -1
  40. package/iam/policyAttachment.d.ts +38 -0
  41. package/iam/policyAttachment.js +38 -0
  42. package/iam/policyAttachment.js.map +1 -1
  43. package/lambda/function.d.ts +2 -0
  44. package/lambda/function.js +2 -0
  45. package/lambda/function.js.map +1 -1
  46. package/lambda/getInvocation.d.ts +4 -0
  47. package/lambda/getInvocation.js +4 -0
  48. package/lambda/getInvocation.js.map +1 -1
  49. package/lambda/invocation.d.ts +2 -0
  50. package/lambda/invocation.js +2 -0
  51. package/lambda/invocation.js.map +1 -1
  52. package/licensemanager/getLicenseGrants.d.ts +77 -0
  53. package/licensemanager/getLicenseGrants.js +60 -0
  54. package/licensemanager/getLicenseGrants.js.map +1 -0
  55. package/licensemanager/getReceivedLicense.d.ts +121 -0
  56. package/licensemanager/getReceivedLicense.js +51 -0
  57. package/licensemanager/getReceivedLicense.js.map +1 -0
  58. package/licensemanager/getReceivedLicenses.d.ts +75 -0
  59. package/licensemanager/getReceivedLicenses.js +58 -0
  60. package/licensemanager/getReceivedLicenses.js.map +1 -0
  61. package/licensemanager/index.d.ts +15 -0
  62. package/licensemanager/index.js +20 -1
  63. package/licensemanager/index.js.map +1 -1
  64. package/licensemanager/licenseGrant.d.ts +135 -0
  65. package/licensemanager/licenseGrant.js +85 -0
  66. package/licensemanager/licenseGrant.js.map +1 -0
  67. package/licensemanager/licenseGrantAccepter.d.ts +123 -0
  68. package/licensemanager/licenseGrantAccepter.js +79 -0
  69. package/licensemanager/licenseGrantAccepter.js.map +1 -0
  70. package/organizations/policy.d.ts +16 -0
  71. package/organizations/policy.js +16 -0
  72. package/organizations/policy.js.map +1 -1
  73. package/package.json +2 -2
  74. package/package.json.dev +2 -2
  75. package/rds/instance.d.ts +12 -6
  76. package/rds/instance.js +2 -0
  77. package/rds/instance.js.map +1 -1
  78. package/rds/snapshot.d.ts +12 -0
  79. package/rds/snapshot.js +2 -0
  80. package/rds/snapshot.js.map +1 -1
  81. package/redshift/clusterSnapshot.d.ts +137 -0
  82. package/redshift/clusterSnapshot.js +80 -0
  83. package/redshift/clusterSnapshot.js.map +1 -0
  84. package/redshift/index.d.ts +3 -0
  85. package/redshift/index.js +6 -1
  86. package/redshift/index.js.map +1 -1
  87. package/redshiftserverless/namespace.d.ts +3 -3
  88. package/route53/hostedZoneDnsSec.d.ts +4 -25
  89. package/route53/hostedZoneDnsSec.js +4 -25
  90. package/route53/hostedZoneDnsSec.js.map +1 -1
  91. package/sagemaker/domain.d.ts +3 -3
  92. package/sesv2/configurationSet.d.ts +12 -0
  93. package/sesv2/configurationSet.js +2 -0
  94. package/sesv2/configurationSet.js.map +1 -1
  95. package/transfer/server.d.ts +15 -3
  96. package/transfer/server.js +2 -0
  97. package/transfer/server.js.map +1 -1
  98. package/types/input.d.ts +505 -11
  99. package/types/output.d.ts +444 -11
@@ -196,7 +196,7 @@ export declare class Certificate extends pulumi.CustomResource {
196
196
  /**
197
197
  * Configuration block used to set certificate options. Detailed below.
198
198
  */
199
- readonly options: pulumi.Output<outputs.acm.CertificateOptions | undefined>;
199
+ readonly options: pulumi.Output<outputs.acm.CertificateOptions>;
200
200
  /**
201
201
  * `true` if a Private certificate eligible for managed renewal is within the `earlyRenewalDuration` period.
202
202
  */
@@ -75,6 +75,10 @@ export declare class DomainAssociation extends pulumi.CustomResource {
75
75
  * Domain name for the domain association.
76
76
  */
77
77
  readonly domainName: pulumi.Output<string>;
78
+ /**
79
+ * Enables the automated creation of subdomains for branches.
80
+ */
81
+ readonly enableAutoSubDomain: pulumi.Output<boolean | undefined>;
78
82
  /**
79
83
  * Setting for the subdomain. Documented below.
80
84
  */
@@ -112,6 +116,10 @@ export interface DomainAssociationState {
112
116
  * Domain name for the domain association.
113
117
  */
114
118
  domainName?: pulumi.Input<string>;
119
+ /**
120
+ * Enables the automated creation of subdomains for branches.
121
+ */
122
+ enableAutoSubDomain?: pulumi.Input<boolean>;
115
123
  /**
116
124
  * Setting for the subdomain. Documented below.
117
125
  */
@@ -133,6 +141,10 @@ export interface DomainAssociationArgs {
133
141
  * Domain name for the domain association.
134
142
  */
135
143
  domainName: pulumi.Input<string>;
144
+ /**
145
+ * Enables the automated creation of subdomains for branches.
146
+ */
147
+ enableAutoSubDomain?: pulumi.Input<boolean>;
136
148
  /**
137
149
  * Setting for the subdomain. Documented below.
138
150
  */
@@ -79,6 +79,7 @@ class DomainAssociation extends pulumi.CustomResource {
79
79
  resourceInputs["arn"] = state ? state.arn : undefined;
80
80
  resourceInputs["certificateVerificationDnsRecord"] = state ? state.certificateVerificationDnsRecord : undefined;
81
81
  resourceInputs["domainName"] = state ? state.domainName : undefined;
82
+ resourceInputs["enableAutoSubDomain"] = state ? state.enableAutoSubDomain : undefined;
82
83
  resourceInputs["subDomains"] = state ? state.subDomains : undefined;
83
84
  resourceInputs["waitForVerification"] = state ? state.waitForVerification : undefined;
84
85
  }
@@ -95,6 +96,7 @@ class DomainAssociation extends pulumi.CustomResource {
95
96
  }
96
97
  resourceInputs["appId"] = args ? args.appId : undefined;
97
98
  resourceInputs["domainName"] = args ? args.domainName : undefined;
99
+ resourceInputs["enableAutoSubDomain"] = args ? args.enableAutoSubDomain : undefined;
98
100
  resourceInputs["subDomains"] = args ? args.subDomains : undefined;
99
101
  resourceInputs["waitForVerification"] = args ? args.waitForVerification : undefined;
100
102
  resourceInputs["arn"] = undefined /*out*/;
@@ -1 +1 @@
1
- {"version":3,"file":"domainAssociation.js","sourceRoot":"","sources":["../../amplify/domainAssociation.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAIzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAa,iBAAkB,SAAQ,MAAM,CAAC,cAAc;IACxD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA8B,EAAE,IAAmC;QAC5H,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACxE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,iBAAiB,CAAC,YAAY,CAAC;IAClE,CAAC;IAmCD,YAAY,IAAY,EAAE,WAA4D,EAAE,IAAmC;QACvH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAiD,CAAC;YAChE,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,kCAAkC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChH,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;SACzF;aAAM;YACH,MAAM,IAAI,GAAG,WAAgD,CAAC;YAC9D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC1C,cAAc,CAAC,kCAAkC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC1E;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;;AA5FL,8CA6FC;AA/EG,gBAAgB;AACO,8BAAY,GAAG,iDAAiD,CAAC"}
1
+ {"version":3,"file":"domainAssociation.js","sourceRoot":"","sources":["../../amplify/domainAssociation.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ import * as outputs from "../types/output";
41
41
  * });
42
42
  * const cloudwatchRolePolicy = new aws.iam.RolePolicy("cloudwatchRolePolicy", {
43
43
  * role: cloudwatchRole.id,
44
- * policy: data.aws_iam_policy_document.json,
44
+ * policy: cloudwatchPolicyDocument.then(cloudwatchPolicyDocument => cloudwatchPolicyDocument.json),
45
45
  * });
46
46
  * ```
47
47
  *
@@ -45,7 +45,7 @@ const utilities = require("../utilities");
45
45
  * });
46
46
  * const cloudwatchRolePolicy = new aws.iam.RolePolicy("cloudwatchRolePolicy", {
47
47
  * role: cloudwatchRole.id,
48
- * policy: data.aws_iam_policy_document.json,
48
+ * policy: cloudwatchPolicyDocument.then(cloudwatchPolicyDocument => cloudwatchPolicyDocument.json),
49
49
  * });
50
50
  * ```
51
51
  *
@@ -4,6 +4,55 @@ import * as outputs from "../types/output";
4
4
  /**
5
5
  * Provides an AppSync Data Source.
6
6
  *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as aws from "@pulumi/aws";
12
+ *
13
+ * const exampleTable = new aws.dynamodb.Table("exampleTable", {
14
+ * readCapacity: 1,
15
+ * writeCapacity: 1,
16
+ * hashKey: "UserId",
17
+ * attributes: [{
18
+ * name: "UserId",
19
+ * type: "S",
20
+ * }],
21
+ * });
22
+ * const assumeRole = aws.iam.getPolicyDocument({
23
+ * statements: [{
24
+ * effect: "Allow",
25
+ * principals: [{
26
+ * type: "Service",
27
+ * identifiers: ["appsync.amazonaws.com"],
28
+ * }],
29
+ * actions: ["sts:AssumeRole"],
30
+ * }],
31
+ * });
32
+ * const exampleRole = new aws.iam.Role("exampleRole", {assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json)});
33
+ * const examplePolicyDocument = aws.iam.getPolicyDocumentOutput({
34
+ * statements: [{
35
+ * effect: "Allow",
36
+ * actions: ["dynamodb:*"],
37
+ * resources: [exampleTable.arn],
38
+ * }],
39
+ * });
40
+ * const exampleRolePolicy = new aws.iam.RolePolicy("exampleRolePolicy", {
41
+ * role: exampleRole.id,
42
+ * policy: examplePolicyDocument.apply(examplePolicyDocument => examplePolicyDocument.json),
43
+ * });
44
+ * const exampleGraphQLApi = new aws.appsync.GraphQLApi("exampleGraphQLApi", {authenticationType: "API_KEY"});
45
+ * const exampleDataSource = new aws.appsync.DataSource("exampleDataSource", {
46
+ * apiId: exampleGraphQLApi.id,
47
+ * name: "my_appsync_example",
48
+ * serviceRoleArn: exampleRole.arn,
49
+ * type: "AMAZON_DYNAMODB",
50
+ * dynamodbConfig: {
51
+ * tableName: exampleTable.name,
52
+ * },
53
+ * });
54
+ * ```
55
+ *
7
56
  * ## Import
8
57
  *
9
58
  * `aws_appsync_datasource` can be imported with their `api_id`, a hyphen, and `name`, e.g.,
@@ -8,6 +8,55 @@ const utilities = require("../utilities");
8
8
  /**
9
9
  * Provides an AppSync Data Source.
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 exampleTable = new aws.dynamodb.Table("exampleTable", {
18
+ * readCapacity: 1,
19
+ * writeCapacity: 1,
20
+ * hashKey: "UserId",
21
+ * attributes: [{
22
+ * name: "UserId",
23
+ * type: "S",
24
+ * }],
25
+ * });
26
+ * const assumeRole = aws.iam.getPolicyDocument({
27
+ * statements: [{
28
+ * effect: "Allow",
29
+ * principals: [{
30
+ * type: "Service",
31
+ * identifiers: ["appsync.amazonaws.com"],
32
+ * }],
33
+ * actions: ["sts:AssumeRole"],
34
+ * }],
35
+ * });
36
+ * const exampleRole = new aws.iam.Role("exampleRole", {assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json)});
37
+ * const examplePolicyDocument = aws.iam.getPolicyDocumentOutput({
38
+ * statements: [{
39
+ * effect: "Allow",
40
+ * actions: ["dynamodb:*"],
41
+ * resources: [exampleTable.arn],
42
+ * }],
43
+ * });
44
+ * const exampleRolePolicy = new aws.iam.RolePolicy("exampleRolePolicy", {
45
+ * role: exampleRole.id,
46
+ * policy: examplePolicyDocument.apply(examplePolicyDocument => examplePolicyDocument.json),
47
+ * });
48
+ * const exampleGraphQLApi = new aws.appsync.GraphQLApi("exampleGraphQLApi", {authenticationType: "API_KEY"});
49
+ * const exampleDataSource = new aws.appsync.DataSource("exampleDataSource", {
50
+ * apiId: exampleGraphQLApi.id,
51
+ * name: "my_appsync_example",
52
+ * serviceRoleArn: exampleRole.arn,
53
+ * type: "AMAZON_DYNAMODB",
54
+ * dynamodbConfig: {
55
+ * tableName: exampleTable.name,
56
+ * },
57
+ * });
58
+ * ```
59
+ *
11
60
  * ## Import
12
61
  *
13
62
  * `aws_appsync_datasource` can be imported with their `api_id`, a hyphen, and `name`, e.g.,
@@ -1 +1 @@
1
- {"version":3,"file":"dataSource.js","sourceRoot":"","sources":["../../appsync/dataSource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataSource.js","sourceRoot":"","sources":["../../appsync/dataSource.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ export declare class Hsm extends pulumi.CustomResource {
44
44
  */
45
45
  static isInstance(obj: any): obj is Hsm;
46
46
  /**
47
- * The IDs of AZ in which HSM module will be located. Do not use together with subnet_id.
47
+ * The IDs of AZ in which HSM module will be located. Conflicts with `subnetId`.
48
48
  */
49
49
  readonly availabilityZone: pulumi.Output<string>;
50
50
  /**
@@ -68,7 +68,7 @@ export declare class Hsm extends pulumi.CustomResource {
68
68
  */
69
69
  readonly ipAddress: pulumi.Output<string>;
70
70
  /**
71
- * The ID of subnet in which HSM module will be located.
71
+ * The ID of subnet in which HSM module will be located. Conflicts with `availabilityZone`.
72
72
  */
73
73
  readonly subnetId: pulumi.Output<string>;
74
74
  /**
@@ -85,7 +85,7 @@ export declare class Hsm extends pulumi.CustomResource {
85
85
  */
86
86
  export interface HsmState {
87
87
  /**
88
- * The IDs of AZ in which HSM module will be located. Do not use together with subnet_id.
88
+ * The IDs of AZ in which HSM module will be located. Conflicts with `subnetId`.
89
89
  */
90
90
  availabilityZone?: pulumi.Input<string>;
91
91
  /**
@@ -109,7 +109,7 @@ export interface HsmState {
109
109
  */
110
110
  ipAddress?: pulumi.Input<string>;
111
111
  /**
112
- * The ID of subnet in which HSM module will be located.
112
+ * The ID of subnet in which HSM module will be located. Conflicts with `availabilityZone`.
113
113
  */
114
114
  subnetId?: pulumi.Input<string>;
115
115
  }
@@ -118,7 +118,7 @@ export interface HsmState {
118
118
  */
119
119
  export interface HsmArgs {
120
120
  /**
121
- * The IDs of AZ in which HSM module will be located. Do not use together with subnet_id.
121
+ * The IDs of AZ in which HSM module will be located. Conflicts with `subnetId`.
122
122
  */
123
123
  availabilityZone?: pulumi.Input<string>;
124
124
  /**
@@ -130,7 +130,7 @@ export interface HsmArgs {
130
130
  */
131
131
  ipAddress?: pulumi.Input<string>;
132
132
  /**
133
- * The ID of subnet in which HSM module will be located.
133
+ * The ID of subnet in which HSM module will be located. Conflicts with `availabilityZone`.
134
134
  */
135
135
  subnetId?: pulumi.Input<string>;
136
136
  }
@@ -4,6 +4,184 @@ import * as outputs from "../types/output";
4
4
  /**
5
5
  * Provides a CodeBuild Project resource. See also the `aws.codebuild.Webhook` resource, which manages the webhook to the source (e.g., the "rebuild every time a code change is pushed" option in the CodeBuild web console).
6
6
  *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as aws from "@pulumi/aws";
12
+ *
13
+ * const exampleBucketV2 = new aws.s3.BucketV2("exampleBucketV2", {});
14
+ * const exampleBucketAclV2 = new aws.s3.BucketAclV2("exampleBucketAclV2", {
15
+ * bucket: exampleBucketV2.id,
16
+ * acl: "private",
17
+ * });
18
+ * const assumeRole = aws.iam.getPolicyDocument({
19
+ * statements: [{
20
+ * effect: "Allow",
21
+ * principals: [{
22
+ * type: "Service",
23
+ * identifiers: ["codebuild.amazonaws.com"],
24
+ * }],
25
+ * actions: ["sts:AssumeRole"],
26
+ * }],
27
+ * });
28
+ * const exampleRole = new aws.iam.Role("exampleRole", {assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json)});
29
+ * const examplePolicyDocument = pulumi.all([exampleBucketV2.arn, exampleBucketV2.arn]).apply(([exampleBucketV2Arn, exampleBucketV2Arn1]) => aws.iam.getPolicyDocumentOutput({
30
+ * statements: [
31
+ * {
32
+ * effect: "Allow",
33
+ * actions: [
34
+ * "logs:CreateLogGroup",
35
+ * "logs:CreateLogStream",
36
+ * "logs:PutLogEvents",
37
+ * ],
38
+ * resources: ["*"],
39
+ * },
40
+ * {
41
+ * effect: "Allow",
42
+ * actions: [
43
+ * "ec2:CreateNetworkInterface",
44
+ * "ec2:DescribeDhcpOptions",
45
+ * "ec2:DescribeNetworkInterfaces",
46
+ * "ec2:DeleteNetworkInterface",
47
+ * "ec2:DescribeSubnets",
48
+ * "ec2:DescribeSecurityGroups",
49
+ * "ec2:DescribeVpcs",
50
+ * ],
51
+ * resources: ["*"],
52
+ * },
53
+ * {
54
+ * effect: "Allow",
55
+ * actions: ["ec2:CreateNetworkInterfacePermission"],
56
+ * resources: ["arn:aws:ec2:us-east-1:123456789012:network-interface/*"],
57
+ * conditions: [
58
+ * {
59
+ * test: "StringEquals",
60
+ * variable: "ec2:Subnet",
61
+ * values: [
62
+ * aws_subnet.example1.arn,
63
+ * aws_subnet.example2.arn,
64
+ * ],
65
+ * },
66
+ * {
67
+ * test: "StringEquals",
68
+ * variable: "ec2:AuthorizedService",
69
+ * values: ["codebuild.amazonaws.com"],
70
+ * },
71
+ * ],
72
+ * },
73
+ * {
74
+ * effect: "Allow",
75
+ * actions: ["s3:*"],
76
+ * resources: [
77
+ * exampleBucketV2Arn,
78
+ * `${exampleBucketV2Arn1}/*`,
79
+ * ],
80
+ * },
81
+ * ],
82
+ * }));
83
+ * const exampleRolePolicy = new aws.iam.RolePolicy("exampleRolePolicy", {
84
+ * role: exampleRole.name,
85
+ * policy: examplePolicyDocument.apply(examplePolicyDocument => examplePolicyDocument.json),
86
+ * });
87
+ * const exampleProject = new aws.codebuild.Project("exampleProject", {
88
+ * description: "test_codebuild_project",
89
+ * buildTimeout: 5,
90
+ * serviceRole: exampleRole.arn,
91
+ * artifacts: {
92
+ * type: "NO_ARTIFACTS",
93
+ * },
94
+ * cache: {
95
+ * type: "S3",
96
+ * location: exampleBucketV2.bucket,
97
+ * },
98
+ * environment: {
99
+ * computeType: "BUILD_GENERAL1_SMALL",
100
+ * image: "aws/codebuild/standard:1.0",
101
+ * type: "LINUX_CONTAINER",
102
+ * imagePullCredentialsType: "CODEBUILD",
103
+ * environmentVariables: [
104
+ * {
105
+ * name: "SOME_KEY1",
106
+ * value: "SOME_VALUE1",
107
+ * },
108
+ * {
109
+ * name: "SOME_KEY2",
110
+ * value: "SOME_VALUE2",
111
+ * type: "PARAMETER_STORE",
112
+ * },
113
+ * ],
114
+ * },
115
+ * logsConfig: {
116
+ * cloudwatchLogs: {
117
+ * groupName: "log-group",
118
+ * streamName: "log-stream",
119
+ * },
120
+ * s3Logs: {
121
+ * status: "ENABLED",
122
+ * location: pulumi.interpolate`${exampleBucketV2.id}/build-log`,
123
+ * },
124
+ * },
125
+ * source: {
126
+ * type: "GITHUB",
127
+ * location: "https://github.com/mitchellh/packer.git",
128
+ * gitCloneDepth: 1,
129
+ * gitSubmodulesConfig: {
130
+ * fetchSubmodules: true,
131
+ * },
132
+ * },
133
+ * sourceVersion: "master",
134
+ * vpcConfig: {
135
+ * vpcId: aws_vpc.example.id,
136
+ * subnets: [
137
+ * aws_subnet.example1.id,
138
+ * aws_subnet.example2.id,
139
+ * ],
140
+ * securityGroupIds: [
141
+ * aws_security_group.example1.id,
142
+ * aws_security_group.example2.id,
143
+ * ],
144
+ * },
145
+ * tags: {
146
+ * Environment: "Test",
147
+ * },
148
+ * });
149
+ * const project_with_cache = new aws.codebuild.Project("project-with-cache", {
150
+ * description: "test_codebuild_project_cache",
151
+ * buildTimeout: 5,
152
+ * queuedTimeout: 5,
153
+ * serviceRole: exampleRole.arn,
154
+ * artifacts: {
155
+ * type: "NO_ARTIFACTS",
156
+ * },
157
+ * cache: {
158
+ * type: "LOCAL",
159
+ * modes: [
160
+ * "LOCAL_DOCKER_LAYER_CACHE",
161
+ * "LOCAL_SOURCE_CACHE",
162
+ * ],
163
+ * },
164
+ * environment: {
165
+ * computeType: "BUILD_GENERAL1_SMALL",
166
+ * image: "aws/codebuild/standard:1.0",
167
+ * type: "LINUX_CONTAINER",
168
+ * imagePullCredentialsType: "CODEBUILD",
169
+ * environmentVariables: [{
170
+ * name: "SOME_KEY1",
171
+ * value: "SOME_VALUE1",
172
+ * }],
173
+ * },
174
+ * source: {
175
+ * type: "GITHUB",
176
+ * location: "https://github.com/mitchellh/packer.git",
177
+ * gitCloneDepth: 1,
178
+ * },
179
+ * tags: {
180
+ * Environment: "Test",
181
+ * },
182
+ * });
183
+ * ```
184
+ *
7
185
  * ## Import
8
186
  *
9
187
  * CodeBuild Project can be imported using the `name`, e.g.,
@@ -8,6 +8,184 @@ const utilities = require("../utilities");
8
8
  /**
9
9
  * Provides a CodeBuild Project resource. See also the `aws.codebuild.Webhook` resource, which manages the webhook to the source (e.g., the "rebuild every time a code change is pushed" option in the CodeBuild web console).
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 exampleBucketV2 = new aws.s3.BucketV2("exampleBucketV2", {});
18
+ * const exampleBucketAclV2 = new aws.s3.BucketAclV2("exampleBucketAclV2", {
19
+ * bucket: exampleBucketV2.id,
20
+ * acl: "private",
21
+ * });
22
+ * const assumeRole = aws.iam.getPolicyDocument({
23
+ * statements: [{
24
+ * effect: "Allow",
25
+ * principals: [{
26
+ * type: "Service",
27
+ * identifiers: ["codebuild.amazonaws.com"],
28
+ * }],
29
+ * actions: ["sts:AssumeRole"],
30
+ * }],
31
+ * });
32
+ * const exampleRole = new aws.iam.Role("exampleRole", {assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json)});
33
+ * const examplePolicyDocument = pulumi.all([exampleBucketV2.arn, exampleBucketV2.arn]).apply(([exampleBucketV2Arn, exampleBucketV2Arn1]) => aws.iam.getPolicyDocumentOutput({
34
+ * statements: [
35
+ * {
36
+ * effect: "Allow",
37
+ * actions: [
38
+ * "logs:CreateLogGroup",
39
+ * "logs:CreateLogStream",
40
+ * "logs:PutLogEvents",
41
+ * ],
42
+ * resources: ["*"],
43
+ * },
44
+ * {
45
+ * effect: "Allow",
46
+ * actions: [
47
+ * "ec2:CreateNetworkInterface",
48
+ * "ec2:DescribeDhcpOptions",
49
+ * "ec2:DescribeNetworkInterfaces",
50
+ * "ec2:DeleteNetworkInterface",
51
+ * "ec2:DescribeSubnets",
52
+ * "ec2:DescribeSecurityGroups",
53
+ * "ec2:DescribeVpcs",
54
+ * ],
55
+ * resources: ["*"],
56
+ * },
57
+ * {
58
+ * effect: "Allow",
59
+ * actions: ["ec2:CreateNetworkInterfacePermission"],
60
+ * resources: ["arn:aws:ec2:us-east-1:123456789012:network-interface/*"],
61
+ * conditions: [
62
+ * {
63
+ * test: "StringEquals",
64
+ * variable: "ec2:Subnet",
65
+ * values: [
66
+ * aws_subnet.example1.arn,
67
+ * aws_subnet.example2.arn,
68
+ * ],
69
+ * },
70
+ * {
71
+ * test: "StringEquals",
72
+ * variable: "ec2:AuthorizedService",
73
+ * values: ["codebuild.amazonaws.com"],
74
+ * },
75
+ * ],
76
+ * },
77
+ * {
78
+ * effect: "Allow",
79
+ * actions: ["s3:*"],
80
+ * resources: [
81
+ * exampleBucketV2Arn,
82
+ * `${exampleBucketV2Arn1}/*`,
83
+ * ],
84
+ * },
85
+ * ],
86
+ * }));
87
+ * const exampleRolePolicy = new aws.iam.RolePolicy("exampleRolePolicy", {
88
+ * role: exampleRole.name,
89
+ * policy: examplePolicyDocument.apply(examplePolicyDocument => examplePolicyDocument.json),
90
+ * });
91
+ * const exampleProject = new aws.codebuild.Project("exampleProject", {
92
+ * description: "test_codebuild_project",
93
+ * buildTimeout: 5,
94
+ * serviceRole: exampleRole.arn,
95
+ * artifacts: {
96
+ * type: "NO_ARTIFACTS",
97
+ * },
98
+ * cache: {
99
+ * type: "S3",
100
+ * location: exampleBucketV2.bucket,
101
+ * },
102
+ * environment: {
103
+ * computeType: "BUILD_GENERAL1_SMALL",
104
+ * image: "aws/codebuild/standard:1.0",
105
+ * type: "LINUX_CONTAINER",
106
+ * imagePullCredentialsType: "CODEBUILD",
107
+ * environmentVariables: [
108
+ * {
109
+ * name: "SOME_KEY1",
110
+ * value: "SOME_VALUE1",
111
+ * },
112
+ * {
113
+ * name: "SOME_KEY2",
114
+ * value: "SOME_VALUE2",
115
+ * type: "PARAMETER_STORE",
116
+ * },
117
+ * ],
118
+ * },
119
+ * logsConfig: {
120
+ * cloudwatchLogs: {
121
+ * groupName: "log-group",
122
+ * streamName: "log-stream",
123
+ * },
124
+ * s3Logs: {
125
+ * status: "ENABLED",
126
+ * location: pulumi.interpolate`${exampleBucketV2.id}/build-log`,
127
+ * },
128
+ * },
129
+ * source: {
130
+ * type: "GITHUB",
131
+ * location: "https://github.com/mitchellh/packer.git",
132
+ * gitCloneDepth: 1,
133
+ * gitSubmodulesConfig: {
134
+ * fetchSubmodules: true,
135
+ * },
136
+ * },
137
+ * sourceVersion: "master",
138
+ * vpcConfig: {
139
+ * vpcId: aws_vpc.example.id,
140
+ * subnets: [
141
+ * aws_subnet.example1.id,
142
+ * aws_subnet.example2.id,
143
+ * ],
144
+ * securityGroupIds: [
145
+ * aws_security_group.example1.id,
146
+ * aws_security_group.example2.id,
147
+ * ],
148
+ * },
149
+ * tags: {
150
+ * Environment: "Test",
151
+ * },
152
+ * });
153
+ * const project_with_cache = new aws.codebuild.Project("project-with-cache", {
154
+ * description: "test_codebuild_project_cache",
155
+ * buildTimeout: 5,
156
+ * queuedTimeout: 5,
157
+ * serviceRole: exampleRole.arn,
158
+ * artifacts: {
159
+ * type: "NO_ARTIFACTS",
160
+ * },
161
+ * cache: {
162
+ * type: "LOCAL",
163
+ * modes: [
164
+ * "LOCAL_DOCKER_LAYER_CACHE",
165
+ * "LOCAL_SOURCE_CACHE",
166
+ * ],
167
+ * },
168
+ * environment: {
169
+ * computeType: "BUILD_GENERAL1_SMALL",
170
+ * image: "aws/codebuild/standard:1.0",
171
+ * type: "LINUX_CONTAINER",
172
+ * imagePullCredentialsType: "CODEBUILD",
173
+ * environmentVariables: [{
174
+ * name: "SOME_KEY1",
175
+ * value: "SOME_VALUE1",
176
+ * }],
177
+ * },
178
+ * source: {
179
+ * type: "GITHUB",
180
+ * location: "https://github.com/mitchellh/packer.git",
181
+ * gitCloneDepth: 1,
182
+ * },
183
+ * tags: {
184
+ * Environment: "Test",
185
+ * },
186
+ * });
187
+ * ```
188
+ *
11
189
  * ## Import
12
190
  *
13
191
  * CodeBuild Project can be imported using the `name`, e.g.,