@pulumi/aws 7.16.0-alpha.1767399337 → 7.16.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 (189) hide show
  1. package/alb/listener.d.ts +3 -3
  2. package/alb/targetGroup.d.ts +3 -3
  3. package/alb/targetGroupAttachment.d.ts +32 -0
  4. package/alb/targetGroupAttachment.js +22 -0
  5. package/alb/targetGroupAttachment.js.map +1 -1
  6. package/apigateway/domainName.d.ts +32 -3
  7. package/apigateway/domainName.js +19 -0
  8. package/apigateway/domainName.js.map +1 -1
  9. package/apigateway/getDomainName.d.ts +4 -0
  10. package/apigateway/getDomainName.js.map +1 -1
  11. package/apigateway/integration.d.ts +25 -4
  12. package/apigateway/integration.js +25 -4
  13. package/apigateway/integration.js.map +1 -1
  14. package/backup/globalSettings.d.ts +7 -3
  15. package/backup/globalSettings.js +4 -0
  16. package/backup/globalSettings.js.map +1 -1
  17. package/bedrock/agentcoreMemoryStrategy.d.ts +6 -0
  18. package/bedrock/agentcoreMemoryStrategy.js.map +1 -1
  19. package/cleanrooms/collaboration.d.ts +13 -3
  20. package/cleanrooms/collaboration.js +13 -3
  21. package/cleanrooms/collaboration.js.map +1 -1
  22. package/cloudfront/connectionFunction.d.ts +243 -0
  23. package/cloudfront/connectionFunction.js +159 -0
  24. package/cloudfront/connectionFunction.js.map +1 -0
  25. package/cloudfront/connectionGroup.d.ts +196 -0
  26. package/cloudfront/connectionGroup.js +101 -0
  27. package/cloudfront/connectionGroup.js.map +1 -0
  28. package/cloudfront/distribution.d.ts +49 -0
  29. package/cloudfront/distribution.js +29 -0
  30. package/cloudfront/distribution.js.map +1 -1
  31. package/cloudfront/distributionTenant.d.ts +275 -0
  32. package/cloudfront/distributionTenant.js +152 -0
  33. package/cloudfront/distributionTenant.js.map +1 -0
  34. package/cloudfront/getConnectionGroup.d.ts +103 -0
  35. package/cloudfront/getConnectionGroup.js +54 -0
  36. package/cloudfront/getConnectionGroup.js.map +1 -0
  37. package/cloudfront/getDistributionTenant.d.ts +113 -0
  38. package/cloudfront/getDistributionTenant.js +58 -0
  39. package/cloudfront/getDistributionTenant.js.map +1 -0
  40. package/cloudfront/index.d.ts +18 -0
  41. package/cloudfront/index.js +27 -1
  42. package/cloudfront/index.js.map +1 -1
  43. package/cloudfront/multitenantDistribution.d.ts +347 -0
  44. package/cloudfront/multitenantDistribution.js +147 -0
  45. package/cloudfront/multitenantDistribution.js.map +1 -0
  46. package/cloudwatch/logSubscriptionFilter.d.ts +42 -18
  47. package/cloudwatch/logSubscriptionFilter.js +4 -0
  48. package/cloudwatch/logSubscriptionFilter.js.map +1 -1
  49. package/directconnect/gateway.d.ts +30 -0
  50. package/directconnect/gateway.js +4 -0
  51. package/directconnect/gateway.js.map +1 -1
  52. package/directconnect/getGateway.d.ts +18 -0
  53. package/directconnect/getGateway.js +2 -0
  54. package/directconnect/getGateway.js.map +1 -1
  55. package/dynamodb/globalSecondaryIndex.d.ts +202 -0
  56. package/dynamodb/globalSecondaryIndex.js +94 -0
  57. package/dynamodb/globalSecondaryIndex.js.map +1 -0
  58. package/dynamodb/index.d.ts +3 -0
  59. package/dynamodb/index.js +6 -1
  60. package/dynamodb/index.js.map +1 -1
  61. package/dynamodb/table.d.ts +5 -1
  62. package/dynamodb/table.js +4 -0
  63. package/dynamodb/table.js.map +1 -1
  64. package/ec2/getVpcEndpoint.d.ts +17 -3
  65. package/ec2/getVpcEndpoint.js +4 -0
  66. package/ec2/getVpcEndpoint.js.map +1 -1
  67. package/ecr/getRepositoryCreationTemplate.d.ts +1 -1
  68. package/ecr/index.d.ts +3 -0
  69. package/ecr/index.js +6 -1
  70. package/ecr/index.js.map +1 -1
  71. package/ecr/lifecyclePolicy.d.ts +77 -32
  72. package/ecr/lifecyclePolicy.js +77 -32
  73. package/ecr/lifecyclePolicy.js.map +1 -1
  74. package/ecr/pullTimeUpdateExclusion.d.ts +145 -0
  75. package/ecr/pullTimeUpdateExclusion.js +133 -0
  76. package/ecr/pullTimeUpdateExclusion.js.map +1 -0
  77. package/ecr/repositoryCreationTemplate.d.ts +3 -3
  78. package/ecs/taskDefinition.d.ts +12 -12
  79. package/elasticache/replicationGroup.d.ts +3 -3
  80. package/fsx/ontapFileSystem.d.ts +6 -0
  81. package/fsx/ontapFileSystem.js.map +1 -1
  82. package/glue/resourcePolicy.d.ts +2 -2
  83. package/glue/resourcePolicy.js +2 -2
  84. package/iam/getSamlProvider.d.ts +4 -0
  85. package/iam/getSamlProvider.js.map +1 -1
  86. package/iam/outboundWebIdentityFederation.d.ts +0 -2
  87. package/iam/outboundWebIdentityFederation.js +0 -2
  88. package/iam/outboundWebIdentityFederation.js.map +1 -1
  89. package/iam/policy.d.ts +12 -0
  90. package/iam/policy.js +2 -0
  91. package/iam/policy.js.map +1 -1
  92. package/iam/samlProvider.d.ts +8 -0
  93. package/iam/samlProvider.js +2 -0
  94. package/iam/samlProvider.js.map +1 -1
  95. package/iam/virtualMfaDevice.d.ts +26 -18
  96. package/iam/virtualMfaDevice.js +2 -0
  97. package/iam/virtualMfaDevice.js.map +1 -1
  98. package/imagebuilder/image.d.ts +12 -0
  99. package/imagebuilder/image.js +2 -0
  100. package/imagebuilder/image.js.map +1 -1
  101. package/imagebuilder/imagePipeline.d.ts +12 -0
  102. package/imagebuilder/imagePipeline.js +2 -0
  103. package/imagebuilder/imagePipeline.js.map +1 -1
  104. package/kms/grant.d.ts +8 -8
  105. package/lambda/eventSourceMapping.d.ts +1 -0
  106. package/lambda/eventSourceMapping.js +1 -0
  107. package/lambda/eventSourceMapping.js.map +1 -1
  108. package/lambda/function.d.ts +8 -0
  109. package/lambda/function.js +2 -0
  110. package/lambda/function.js.map +1 -1
  111. package/lambda/functionUrl.d.ts +2 -0
  112. package/lambda/functionUrl.js +2 -0
  113. package/lambda/functionUrl.js.map +1 -1
  114. package/lambda/getFunction.d.ts +4 -0
  115. package/lambda/getFunction.js.map +1 -1
  116. package/lambda/permission.d.ts +12 -0
  117. package/lambda/permission.js +2 -0
  118. package/lambda/permission.js.map +1 -1
  119. package/lb/listener.d.ts +3 -3
  120. package/lb/targetGroup.d.ts +3 -3
  121. package/lb/targetGroupAttachment.d.ts +32 -0
  122. package/lb/targetGroupAttachment.js +22 -0
  123. package/lb/targetGroupAttachment.js.map +1 -1
  124. package/networkfirewall/vpcEndpointAssociation.d.ts +1 -1
  125. package/networkfirewall/vpcEndpointAssociation.js +1 -1
  126. package/networkmanager/vpcAttachment.d.ts +3 -3
  127. package/opensearchingest/pipeline.d.ts +12 -0
  128. package/opensearchingest/pipeline.js +2 -0
  129. package/opensearchingest/pipeline.js.map +1 -1
  130. package/organizations/index.d.ts +3 -0
  131. package/organizations/index.js +6 -1
  132. package/organizations/index.js.map +1 -1
  133. package/organizations/tag.d.ts +99 -0
  134. package/organizations/tag.js +89 -0
  135. package/organizations/tag.js.map +1 -0
  136. package/package.json +2 -2
  137. package/rds/cluster.d.ts +9 -9
  138. package/rds/getProxy.d.ts +8 -0
  139. package/rds/getProxy.js.map +1 -1
  140. package/rds/proxy.d.ts +24 -0
  141. package/rds/proxy.js +4 -0
  142. package/rds/proxy.js.map +1 -1
  143. package/rds/proxyDefaultTargetGroup.d.ts +0 -40
  144. package/rds/proxyDefaultTargetGroup.js +0 -40
  145. package/rds/proxyDefaultTargetGroup.js.map +1 -1
  146. package/rds/proxyTarget.d.ts +0 -43
  147. package/rds/proxyTarget.js +0 -43
  148. package/rds/proxyTarget.js.map +1 -1
  149. package/redshift/idcApplication.d.ts +203 -0
  150. package/redshift/idcApplication.js +111 -0
  151. package/redshift/idcApplication.js.map +1 -0
  152. package/redshift/index.d.ts +3 -0
  153. package/redshift/index.js +6 -1
  154. package/redshift/index.js.map +1 -1
  155. package/route53/getResolverFirewallRules.d.ts +9 -0
  156. package/route53/getResolverFirewallRules.js.map +1 -1
  157. package/route53/getResolverRule.d.ts +5 -0
  158. package/route53/getResolverRule.js.map +1 -1
  159. package/route53/resolverFirewallRule.d.ts +66 -9
  160. package/route53/resolverFirewallRule.js +32 -4
  161. package/route53/resolverFirewallRule.js.map +1 -1
  162. package/secretsmanager/index.d.ts +3 -0
  163. package/secretsmanager/index.js +6 -1
  164. package/secretsmanager/index.js.map +1 -1
  165. package/secretsmanager/tag.d.ts +107 -0
  166. package/secretsmanager/tag.js +87 -0
  167. package/secretsmanager/tag.js.map +1 -0
  168. package/sesv2/index.d.ts +3 -0
  169. package/sesv2/index.js +6 -1
  170. package/sesv2/index.js.map +1 -1
  171. package/sesv2/tenant.d.ts +147 -0
  172. package/sesv2/tenant.js +91 -0
  173. package/sesv2/tenant.js.map +1 -0
  174. package/sfn/activity.d.ts +0 -2
  175. package/sfn/activity.js +0 -2
  176. package/sfn/activity.js.map +1 -1
  177. package/sfn/alias.d.ts +0 -2
  178. package/sfn/alias.js +0 -2
  179. package/sfn/alias.js.map +1 -1
  180. package/transfer/webApp.d.ts +15 -3
  181. package/transfer/webApp.js +2 -0
  182. package/transfer/webApp.js.map +1 -1
  183. package/types/input.d.ts +890 -19
  184. package/types/input.js.map +1 -1
  185. package/types/output.d.ts +966 -12
  186. package/types/output.js.map +1 -1
  187. package/vpclattice/serviceNetworkResourceAssociation.d.ts +12 -0
  188. package/vpclattice/serviceNetworkResourceAssociation.js +2 -0
  189. package/vpclattice/serviceNetworkResourceAssociation.js.map +1 -1
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ConnectionGroup = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Creates an Amazon CloudFront Connection Group.
10
+ *
11
+ * For information about CloudFront Connection Groups, see the [AWS CloudFormation Documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudfront-connectiongroup.html).
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as aws from "@pulumi/aws";
18
+ *
19
+ * const example = new aws.cloudfront.ConnectionGroup("example", {
20
+ * name: "example",
21
+ * enabled: true,
22
+ * ipv6Enabled: true,
23
+ * });
24
+ * ```
25
+ *
26
+ * ## Import
27
+ *
28
+ * Using `pulumi import`, import CloudFront Connection Groups using the `id`. For example:
29
+ *
30
+ * ```sh
31
+ * $ pulumi import aws:cloudfront/connectionGroup:ConnectionGroup example CGROUP123EXAMPLE
32
+ * ```
33
+ */
34
+ class ConnectionGroup extends pulumi.CustomResource {
35
+ /**
36
+ * Get an existing ConnectionGroup resource's state with the given name, ID, and optional extra
37
+ * properties used to qualify the lookup.
38
+ *
39
+ * @param name The _unique_ name of the resulting resource.
40
+ * @param id The _unique_ provider ID of the resource to lookup.
41
+ * @param state Any extra arguments used during the lookup.
42
+ * @param opts Optional settings to control the behavior of the CustomResource.
43
+ */
44
+ static get(name, id, state, opts) {
45
+ return new ConnectionGroup(name, state, { ...opts, id: id });
46
+ }
47
+ /**
48
+ * Returns true if the given object is an instance of ConnectionGroup. This is designed to work even
49
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
50
+ */
51
+ static isInstance(obj) {
52
+ if (obj === undefined || obj === null) {
53
+ return false;
54
+ }
55
+ return obj['__pulumiType'] === ConnectionGroup.__pulumiType;
56
+ }
57
+ constructor(name, argsOrState, opts) {
58
+ let resourceInputs = {};
59
+ opts = opts || {};
60
+ if (opts.id) {
61
+ const state = argsOrState;
62
+ resourceInputs["anycastIpListId"] = state?.anycastIpListId;
63
+ resourceInputs["arn"] = state?.arn;
64
+ resourceInputs["enabled"] = state?.enabled;
65
+ resourceInputs["etag"] = state?.etag;
66
+ resourceInputs["ipv6Enabled"] = state?.ipv6Enabled;
67
+ resourceInputs["isDefault"] = state?.isDefault;
68
+ resourceInputs["lastModifiedTime"] = state?.lastModifiedTime;
69
+ resourceInputs["name"] = state?.name;
70
+ resourceInputs["routingEndpoint"] = state?.routingEndpoint;
71
+ resourceInputs["status"] = state?.status;
72
+ resourceInputs["tags"] = state?.tags;
73
+ resourceInputs["tagsAll"] = state?.tagsAll;
74
+ resourceInputs["timeouts"] = state?.timeouts;
75
+ resourceInputs["waitForDeployment"] = state?.waitForDeployment;
76
+ }
77
+ else {
78
+ const args = argsOrState;
79
+ resourceInputs["anycastIpListId"] = args?.anycastIpListId;
80
+ resourceInputs["enabled"] = args?.enabled;
81
+ resourceInputs["ipv6Enabled"] = args?.ipv6Enabled;
82
+ resourceInputs["name"] = args?.name;
83
+ resourceInputs["tags"] = args?.tags;
84
+ resourceInputs["timeouts"] = args?.timeouts;
85
+ resourceInputs["waitForDeployment"] = args?.waitForDeployment;
86
+ resourceInputs["arn"] = undefined /*out*/;
87
+ resourceInputs["etag"] = undefined /*out*/;
88
+ resourceInputs["isDefault"] = undefined /*out*/;
89
+ resourceInputs["lastModifiedTime"] = undefined /*out*/;
90
+ resourceInputs["routingEndpoint"] = undefined /*out*/;
91
+ resourceInputs["status"] = undefined /*out*/;
92
+ resourceInputs["tagsAll"] = undefined /*out*/;
93
+ }
94
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
95
+ super(ConnectionGroup.__pulumiType, name, resourceInputs, opts);
96
+ }
97
+ }
98
+ exports.ConnectionGroup = ConnectionGroup;
99
+ /** @internal */
100
+ ConnectionGroup.__pulumiType = 'aws:cloudfront/connectionGroup:ConnectionGroup';
101
+ //# sourceMappingURL=connectionGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionGroup.js","sourceRoot":"","sources":["../../cloudfront/connectionGroup.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAIzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAa,eAAgB,SAAQ,MAAM,CAAC,cAAc;IACtD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA4B,EAAE,IAAmC;QAC1H,OAAO,IAAI,eAAe,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtE,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,eAAe,CAAC,YAAY,CAAC;IAChE,CAAC;IA6DD,YAAY,IAAY,EAAE,WAAwD,EAAE,IAAmC;QACnH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA+C,CAAC;YAC9D,cAAc,CAAC,iBAAiB,CAAC,GAAG,KAAK,EAAE,eAAe,CAAC;YAC3D,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC;YACnC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,EAAE,gBAAgB,CAAC;YAC7D,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,iBAAiB,CAAC,GAAG,KAAK,EAAE,eAAe,CAAC;YAC3D,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,EAAE,iBAAiB,CAAC;SAClE;aAAM;YACH,MAAM,IAAI,GAAG,WAA8C,CAAC;YAC5D,cAAc,CAAC,iBAAiB,CAAC,GAAG,IAAI,EAAE,eAAe,CAAC;YAC1D,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC;YAC9D,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC1C,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC3C,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAChD,cAAc,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACvD,cAAc,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACtD,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC7C,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACjD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;;AA7HL,0CA8HC;AAhHG,gBAAgB;AACO,4BAAY,GAAG,gDAAgD,CAAC"}
@@ -370,6 +370,31 @@ import * as outputs from "../types/output";
370
370
  * });
371
371
  * ```
372
372
  *
373
+ * ### With Connection Function and Viewer mTLS
374
+ *
375
+ * The example below creates a CloudFront distribution with a connection function association and viewer mTLS configuration.
376
+ *
377
+ * ```typescript
378
+ * import * as pulumi from "@pulumi/pulumi";
379
+ * import * as aws from "@pulumi/aws";
380
+ *
381
+ * const example = new aws.cloudfront.ConnectionFunction("example", {name: "example-connection-function"});
382
+ * const exampleTrustStore = new aws.cloudfront.TrustStore("example", {name: "example-trust-store"});
383
+ * const exampleDistribution = new aws.cloudfront.Distribution("example", {
384
+ * connectionFunctionAssociation: {
385
+ * id: example.id,
386
+ * },
387
+ * viewerMtlsConfig: {
388
+ * mode: "verify",
389
+ * trustStoreConfig: {
390
+ * trustStoreId: exampleTrustStore.id,
391
+ * advertiseTrustStoreCaNames: true,
392
+ * ignoreCertificateExpiry: false,
393
+ * },
394
+ * },
395
+ * });
396
+ * ```
397
+ *
373
398
  * ## Import
374
399
  *
375
400
  * Using `pulumi import`, import CloudFront Distributions using the `id`. For example:
@@ -414,6 +439,10 @@ export declare class Distribution extends pulumi.CustomResource {
414
439
  * Any comments you want to include about the distribution.
415
440
  */
416
441
  readonly comment: pulumi.Output<string | undefined>;
442
+ /**
443
+ * A connection function association configuration block (maximum one).
444
+ */
445
+ readonly connectionFunctionAssociation: pulumi.Output<outputs.cloudfront.DistributionConnectionFunctionAssociation | undefined>;
417
446
  /**
418
447
  * Identifier of a continuous deployment policy. This argument should only be set on a production distribution. See the `aws.cloudfront.ContinuousDeploymentPolicy` resource for additional details.
419
448
  */
@@ -526,6 +555,10 @@ export declare class Distribution extends pulumi.CustomResource {
526
555
  * The SSL configuration for this distribution (maximum one).
527
556
  */
528
557
  readonly viewerCertificate: pulumi.Output<outputs.cloudfront.DistributionViewerCertificate>;
558
+ /**
559
+ * The viewer mTLS configuration for this distribution (maximum one).
560
+ */
561
+ readonly viewerMtlsConfig: pulumi.Output<outputs.cloudfront.DistributionViewerMtlsConfig | undefined>;
529
562
  /**
530
563
  * If enabled, the resource will wait for the distribution status to change from `InProgress` to `Deployed`. Setting this to`false` will skip the process. Default: `true`.
531
564
  */
@@ -567,6 +600,10 @@ export interface DistributionState {
567
600
  * Any comments you want to include about the distribution.
568
601
  */
569
602
  comment?: pulumi.Input<string>;
603
+ /**
604
+ * A connection function association configuration block (maximum one).
605
+ */
606
+ connectionFunctionAssociation?: pulumi.Input<inputs.cloudfront.DistributionConnectionFunctionAssociation>;
570
607
  /**
571
608
  * Identifier of a continuous deployment policy. This argument should only be set on a production distribution. See the `aws.cloudfront.ContinuousDeploymentPolicy` resource for additional details.
572
609
  */
@@ -679,6 +716,10 @@ export interface DistributionState {
679
716
  * The SSL configuration for this distribution (maximum one).
680
717
  */
681
718
  viewerCertificate?: pulumi.Input<inputs.cloudfront.DistributionViewerCertificate>;
719
+ /**
720
+ * The viewer mTLS configuration for this distribution (maximum one).
721
+ */
722
+ viewerMtlsConfig?: pulumi.Input<inputs.cloudfront.DistributionViewerMtlsConfig>;
682
723
  /**
683
724
  * If enabled, the resource will wait for the distribution status to change from `InProgress` to `Deployed`. Setting this to`false` will skip the process. Default: `true`.
684
725
  */
@@ -704,6 +745,10 @@ export interface DistributionArgs {
704
745
  * Any comments you want to include about the distribution.
705
746
  */
706
747
  comment?: pulumi.Input<string>;
748
+ /**
749
+ * A connection function association configuration block (maximum one).
750
+ */
751
+ connectionFunctionAssociation?: pulumi.Input<inputs.cloudfront.DistributionConnectionFunctionAssociation>;
707
752
  /**
708
753
  * Identifier of a continuous deployment policy. This argument should only be set on a production distribution. See the `aws.cloudfront.ContinuousDeploymentPolicy` resource for additional details.
709
754
  */
@@ -774,6 +819,10 @@ export interface DistributionArgs {
774
819
  * The SSL configuration for this distribution (maximum one).
775
820
  */
776
821
  viewerCertificate: pulumi.Input<inputs.cloudfront.DistributionViewerCertificate>;
822
+ /**
823
+ * The viewer mTLS configuration for this distribution (maximum one).
824
+ */
825
+ viewerMtlsConfig?: pulumi.Input<inputs.cloudfront.DistributionViewerMtlsConfig>;
777
826
  /**
778
827
  * If enabled, the resource will wait for the distribution status to change from `InProgress` to `Deployed`. Setting this to`false` will skip the process. Default: `true`.
779
828
  */
@@ -374,6 +374,31 @@ const utilities = require("../utilities");
374
374
  * });
375
375
  * ```
376
376
  *
377
+ * ### With Connection Function and Viewer mTLS
378
+ *
379
+ * The example below creates a CloudFront distribution with a connection function association and viewer mTLS configuration.
380
+ *
381
+ * ```typescript
382
+ * import * as pulumi from "@pulumi/pulumi";
383
+ * import * as aws from "@pulumi/aws";
384
+ *
385
+ * const example = new aws.cloudfront.ConnectionFunction("example", {name: "example-connection-function"});
386
+ * const exampleTrustStore = new aws.cloudfront.TrustStore("example", {name: "example-trust-store"});
387
+ * const exampleDistribution = new aws.cloudfront.Distribution("example", {
388
+ * connectionFunctionAssociation: {
389
+ * id: example.id,
390
+ * },
391
+ * viewerMtlsConfig: {
392
+ * mode: "verify",
393
+ * trustStoreConfig: {
394
+ * trustStoreId: exampleTrustStore.id,
395
+ * advertiseTrustStoreCaNames: true,
396
+ * ignoreCertificateExpiry: false,
397
+ * },
398
+ * },
399
+ * });
400
+ * ```
401
+ *
377
402
  * ## Import
378
403
  *
379
404
  * Using `pulumi import`, import CloudFront Distributions using the `id`. For example:
@@ -415,6 +440,7 @@ class Distribution extends pulumi.CustomResource {
415
440
  resourceInputs["arn"] = state?.arn;
416
441
  resourceInputs["callerReference"] = state?.callerReference;
417
442
  resourceInputs["comment"] = state?.comment;
443
+ resourceInputs["connectionFunctionAssociation"] = state?.connectionFunctionAssociation;
418
444
  resourceInputs["continuousDeploymentPolicyId"] = state?.continuousDeploymentPolicyId;
419
445
  resourceInputs["customErrorResponses"] = state?.customErrorResponses;
420
446
  resourceInputs["defaultCacheBehavior"] = state?.defaultCacheBehavior;
@@ -442,6 +468,7 @@ class Distribution extends pulumi.CustomResource {
442
468
  resourceInputs["trustedKeyGroups"] = state?.trustedKeyGroups;
443
469
  resourceInputs["trustedSigners"] = state?.trustedSigners;
444
470
  resourceInputs["viewerCertificate"] = state?.viewerCertificate;
471
+ resourceInputs["viewerMtlsConfig"] = state?.viewerMtlsConfig;
445
472
  resourceInputs["waitForDeployment"] = state?.waitForDeployment;
446
473
  resourceInputs["webAclId"] = state?.webAclId;
447
474
  }
@@ -465,6 +492,7 @@ class Distribution extends pulumi.CustomResource {
465
492
  resourceInputs["aliases"] = args?.aliases;
466
493
  resourceInputs["anycastIpListId"] = args?.anycastIpListId;
467
494
  resourceInputs["comment"] = args?.comment;
495
+ resourceInputs["connectionFunctionAssociation"] = args?.connectionFunctionAssociation;
468
496
  resourceInputs["continuousDeploymentPolicyId"] = args?.continuousDeploymentPolicyId;
469
497
  resourceInputs["customErrorResponses"] = args?.customErrorResponses;
470
498
  resourceInputs["defaultCacheBehavior"] = args?.defaultCacheBehavior;
@@ -482,6 +510,7 @@ class Distribution extends pulumi.CustomResource {
482
510
  resourceInputs["staging"] = args?.staging;
483
511
  resourceInputs["tags"] = args?.tags;
484
512
  resourceInputs["viewerCertificate"] = args?.viewerCertificate;
513
+ resourceInputs["viewerMtlsConfig"] = args?.viewerMtlsConfig;
485
514
  resourceInputs["waitForDeployment"] = args?.waitForDeployment;
486
515
  resourceInputs["webAclId"] = args?.webAclId;
487
516
  resourceInputs["arn"] = undefined /*out*/;
@@ -1 +1 @@
1
- {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../cloudfront/distribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../cloudfront/distribution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,275 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * Creates an Amazon CloudFront distribution tenant.
6
+ *
7
+ * Distribution tenants allow you to create isolated configurations within a multi-tenant CloudFront distribution. Each tenant can have its own domains, customizations, and parameters while sharing the underlying distribution infrastructure.
8
+ *
9
+ * For information about CloudFront distribution tenants, see the [Amazon CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-tenants.html).
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ### Basic Distribution Tenant
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as aws from "@pulumi/aws";
18
+ *
19
+ * const example = new aws.cloudfront.DistributionTenant("example", {
20
+ * name: "example-tenant",
21
+ * distributionId: exampleAwsCloudfrontMultitenantDistribution.id,
22
+ * enabled: true,
23
+ * domains: [{
24
+ * domain: "tenant.example.com",
25
+ * }],
26
+ * tags: {
27
+ * Environment: "production",
28
+ * },
29
+ * });
30
+ * ```
31
+ *
32
+ * ### Distribution Tenant with Customizations
33
+ *
34
+ * ```typescript
35
+ * import * as pulumi from "@pulumi/pulumi";
36
+ * import * as aws from "@pulumi/aws";
37
+ *
38
+ * const example = new aws.cloudfront.DistributionTenant("example", {
39
+ * name: "example-tenant",
40
+ * distributionId: exampleAwsCloudfrontMultitenantDistribution.id,
41
+ * enabled: false,
42
+ * domains: [{
43
+ * domain: "tenant.example.com",
44
+ * }],
45
+ * customizations: {
46
+ * geoRestriction: {
47
+ * restrictionType: "whitelist",
48
+ * locations: [
49
+ * "US",
50
+ * "CA",
51
+ * ],
52
+ * },
53
+ * certificate: {
54
+ * arn: tenantCert.arn,
55
+ * },
56
+ * webAcl: {
57
+ * action: "override",
58
+ * arn: tenantWaf.arn,
59
+ * },
60
+ * },
61
+ * tags: {
62
+ * Environment: "production",
63
+ * Tenant: "example",
64
+ * },
65
+ * });
66
+ * ```
67
+ *
68
+ * ## Import
69
+ *
70
+ * Using `pulumi import`, import CloudFront Distribution Tenants using the `id`. For example:
71
+ *
72
+ * ```sh
73
+ * $ pulumi import aws:cloudfront/distributionTenant:DistributionTenant example TENANT123EXAMPLE
74
+ * ```
75
+ */
76
+ export declare class DistributionTenant extends pulumi.CustomResource {
77
+ /**
78
+ * Get an existing DistributionTenant resource's state with the given name, ID, and optional extra
79
+ * properties used to qualify the lookup.
80
+ *
81
+ * @param name The _unique_ name of the resulting resource.
82
+ * @param id The _unique_ provider ID of the resource to lookup.
83
+ * @param state Any extra arguments used during the lookup.
84
+ * @param opts Optional settings to control the behavior of the CustomResource.
85
+ */
86
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DistributionTenantState, opts?: pulumi.CustomResourceOptions): DistributionTenant;
87
+ /**
88
+ * Returns true if the given object is an instance of DistributionTenant. This is designed to work even
89
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
90
+ */
91
+ static isInstance(obj: any): obj is DistributionTenant;
92
+ /**
93
+ * ARN of the distribution tenant.
94
+ */
95
+ readonly arn: pulumi.Output<string>;
96
+ /**
97
+ * ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
98
+ */
99
+ readonly connectionGroupId: pulumi.Output<string>;
100
+ /**
101
+ * Customizations for the distribution tenant (maximum one).
102
+ */
103
+ readonly customizations: pulumi.Output<outputs.cloudfront.DistributionTenantCustomizations | undefined>;
104
+ /**
105
+ * ID of the multi-tenant distribution.
106
+ */
107
+ readonly distributionId: pulumi.Output<string>;
108
+ /**
109
+ * Set of domains associated with the distribution tenant.
110
+ */
111
+ readonly domains: pulumi.Output<outputs.cloudfront.DistributionTenantDomain[] | undefined>;
112
+ /**
113
+ * Whether the distribution tenant is enabled to serve traffic. Defaults to `true`.
114
+ */
115
+ readonly enabled: pulumi.Output<boolean>;
116
+ /**
117
+ * Current version of the distribution tenant.
118
+ */
119
+ readonly etag: pulumi.Output<string>;
120
+ /**
121
+ * Managed certificate request for CloudFront managed ACM certificate (maximum one).
122
+ */
123
+ readonly managedCertificateRequest: pulumi.Output<outputs.cloudfront.DistributionTenantManagedCertificateRequest | undefined>;
124
+ /**
125
+ * Name of the distribution tenant.
126
+ */
127
+ readonly name: pulumi.Output<string>;
128
+ /**
129
+ * Set of parameter values for the distribution tenant.
130
+ */
131
+ readonly parameters: pulumi.Output<outputs.cloudfront.DistributionTenantParameter[] | undefined>;
132
+ /**
133
+ * Current status of the distribution tenant.
134
+ */
135
+ readonly status: pulumi.Output<string>;
136
+ /**
137
+ * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
138
+ */
139
+ readonly tags: pulumi.Output<{
140
+ [key: string]: string;
141
+ } | undefined>;
142
+ /**
143
+ * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
144
+ */
145
+ readonly tagsAll: pulumi.Output<{
146
+ [key: string]: string;
147
+ }>;
148
+ readonly timeouts: pulumi.Output<outputs.cloudfront.DistributionTenantTimeouts | undefined>;
149
+ /**
150
+ * If enabled, the resource will wait for the distribution tenant status to change from `InProgress` to `Deployed`. Setting this to `false` will skip the process. Default: `true`.
151
+ */
152
+ readonly waitForDeployment: pulumi.Output<boolean>;
153
+ /**
154
+ * Create a DistributionTenant resource with the given unique name, arguments, and options.
155
+ *
156
+ * @param name The _unique_ name of the resource.
157
+ * @param args The arguments to use to populate this resource's properties.
158
+ * @param opts A bag of options that control this resource's behavior.
159
+ */
160
+ constructor(name: string, args: DistributionTenantArgs, opts?: pulumi.CustomResourceOptions);
161
+ }
162
+ /**
163
+ * Input properties used for looking up and filtering DistributionTenant resources.
164
+ */
165
+ export interface DistributionTenantState {
166
+ /**
167
+ * ARN of the distribution tenant.
168
+ */
169
+ arn?: pulumi.Input<string>;
170
+ /**
171
+ * ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
172
+ */
173
+ connectionGroupId?: pulumi.Input<string>;
174
+ /**
175
+ * Customizations for the distribution tenant (maximum one).
176
+ */
177
+ customizations?: pulumi.Input<inputs.cloudfront.DistributionTenantCustomizations>;
178
+ /**
179
+ * ID of the multi-tenant distribution.
180
+ */
181
+ distributionId?: pulumi.Input<string>;
182
+ /**
183
+ * Set of domains associated with the distribution tenant.
184
+ */
185
+ domains?: pulumi.Input<pulumi.Input<inputs.cloudfront.DistributionTenantDomain>[]>;
186
+ /**
187
+ * Whether the distribution tenant is enabled to serve traffic. Defaults to `true`.
188
+ */
189
+ enabled?: pulumi.Input<boolean>;
190
+ /**
191
+ * Current version of the distribution tenant.
192
+ */
193
+ etag?: pulumi.Input<string>;
194
+ /**
195
+ * Managed certificate request for CloudFront managed ACM certificate (maximum one).
196
+ */
197
+ managedCertificateRequest?: pulumi.Input<inputs.cloudfront.DistributionTenantManagedCertificateRequest>;
198
+ /**
199
+ * Name of the distribution tenant.
200
+ */
201
+ name?: pulumi.Input<string>;
202
+ /**
203
+ * Set of parameter values for the distribution tenant.
204
+ */
205
+ parameters?: pulumi.Input<pulumi.Input<inputs.cloudfront.DistributionTenantParameter>[]>;
206
+ /**
207
+ * Current status of the distribution tenant.
208
+ */
209
+ status?: pulumi.Input<string>;
210
+ /**
211
+ * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
212
+ */
213
+ tags?: pulumi.Input<{
214
+ [key: string]: pulumi.Input<string>;
215
+ }>;
216
+ /**
217
+ * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
218
+ */
219
+ tagsAll?: pulumi.Input<{
220
+ [key: string]: pulumi.Input<string>;
221
+ }>;
222
+ timeouts?: pulumi.Input<inputs.cloudfront.DistributionTenantTimeouts>;
223
+ /**
224
+ * If enabled, the resource will wait for the distribution tenant status to change from `InProgress` to `Deployed`. Setting this to `false` will skip the process. Default: `true`.
225
+ */
226
+ waitForDeployment?: pulumi.Input<boolean>;
227
+ }
228
+ /**
229
+ * The set of arguments for constructing a DistributionTenant resource.
230
+ */
231
+ export interface DistributionTenantArgs {
232
+ /**
233
+ * ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
234
+ */
235
+ connectionGroupId?: pulumi.Input<string>;
236
+ /**
237
+ * Customizations for the distribution tenant (maximum one).
238
+ */
239
+ customizations?: pulumi.Input<inputs.cloudfront.DistributionTenantCustomizations>;
240
+ /**
241
+ * ID of the multi-tenant distribution.
242
+ */
243
+ distributionId: pulumi.Input<string>;
244
+ /**
245
+ * Set of domains associated with the distribution tenant.
246
+ */
247
+ domains?: pulumi.Input<pulumi.Input<inputs.cloudfront.DistributionTenantDomain>[]>;
248
+ /**
249
+ * Whether the distribution tenant is enabled to serve traffic. Defaults to `true`.
250
+ */
251
+ enabled?: pulumi.Input<boolean>;
252
+ /**
253
+ * Managed certificate request for CloudFront managed ACM certificate (maximum one).
254
+ */
255
+ managedCertificateRequest?: pulumi.Input<inputs.cloudfront.DistributionTenantManagedCertificateRequest>;
256
+ /**
257
+ * Name of the distribution tenant.
258
+ */
259
+ name?: pulumi.Input<string>;
260
+ /**
261
+ * Set of parameter values for the distribution tenant.
262
+ */
263
+ parameters?: pulumi.Input<pulumi.Input<inputs.cloudfront.DistributionTenantParameter>[]>;
264
+ /**
265
+ * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
266
+ */
267
+ tags?: pulumi.Input<{
268
+ [key: string]: pulumi.Input<string>;
269
+ }>;
270
+ timeouts?: pulumi.Input<inputs.cloudfront.DistributionTenantTimeouts>;
271
+ /**
272
+ * If enabled, the resource will wait for the distribution tenant status to change from `InProgress` to `Deployed`. Setting this to `false` will skip the process. Default: `true`.
273
+ */
274
+ waitForDeployment?: pulumi.Input<boolean>;
275
+ }