Creates an Amazon CloudFront distribution tenant.
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.
For information about CloudFront distribution tenants, see the Amazon CloudFront Developer Guide.
Example Usage
Basic Distribution Tenant
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.cloudfront.DistributionTenant("example", {
name: "example-tenant",
distributionId: exampleAwsCloudfrontMultitenantDistribution.id,
enabled: true,
domains: [{
domain: "tenant.example.com",
}],
tags: {
Environment: "production",
},
});
import pulumi
import pulumi_aws as aws
example = aws.cloudfront.DistributionTenant("example",
name="example-tenant",
distribution_id=example_aws_cloudfront_multitenant_distribution["id"],
enabled=True,
domains=[{
"domain": "tenant.example.com",
}],
tags={
"Environment": "production",
})
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudfront"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cloudfront.NewDistributionTenant(ctx, "example", &cloudfront.DistributionTenantArgs{
Name: pulumi.String("example-tenant"),
DistributionId: pulumi.Any(exampleAwsCloudfrontMultitenantDistribution.Id),
Enabled: pulumi.Bool(true),
Domains: cloudfront.DistributionTenantDomainArray{
&cloudfront.DistributionTenantDomainArgs{
Domain: pulumi.String("tenant.example.com"),
},
},
Tags: pulumi.StringMap{
"Environment": pulumi.String("production"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.CloudFront.DistributionTenant("example", new()
{
Name = "example-tenant",
DistributionId = exampleAwsCloudfrontMultitenantDistribution.Id,
Enabled = true,
Domains = new[]
{
new Aws.CloudFront.Inputs.DistributionTenantDomainArgs
{
Domain = "tenant.example.com",
},
},
Tags =
{
{ "Environment", "production" },
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudfront.DistributionTenant;
import com.pulumi.aws.cloudfront.DistributionTenantArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionTenantDomainArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DistributionTenant("example", DistributionTenantArgs.builder()
.name("example-tenant")
.distributionId(exampleAwsCloudfrontMultitenantDistribution.id())
.enabled(true)
.domains(DistributionTenantDomainArgs.builder()
.domain("tenant.example.com")
.build())
.tags(Map.of("Environment", "production"))
.build());
}
}
resources:
example:
type: aws:cloudfront:DistributionTenant
properties:
name: example-tenant
distributionId: ${exampleAwsCloudfrontMultitenantDistribution.id}
enabled: true
domains:
- domain: tenant.example.com
tags:
Environment: production
Distribution Tenant with Customizations
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.cloudfront.DistributionTenant("example", {
name: "example-tenant",
distributionId: exampleAwsCloudfrontMultitenantDistribution.id,
enabled: false,
domains: [{
domain: "tenant.example.com",
}],
customizations: {
geoRestriction: {
restrictionType: "whitelist",
locations: [
"US",
"CA",
],
},
certificate: {
arn: tenantCert.arn,
},
webAcl: {
action: "override",
arn: tenantWaf.arn,
},
},
tags: {
Environment: "production",
Tenant: "example",
},
});
import pulumi
import pulumi_aws as aws
example = aws.cloudfront.DistributionTenant("example",
name="example-tenant",
distribution_id=example_aws_cloudfront_multitenant_distribution["id"],
enabled=False,
domains=[{
"domain": "tenant.example.com",
}],
customizations={
"geo_restriction": {
"restriction_type": "whitelist",
"locations": [
"US",
"CA",
],
},
"certificate": {
"arn": tenant_cert["arn"],
},
"web_acl": {
"action": "override",
"arn": tenant_waf["arn"],
},
},
tags={
"Environment": "production",
"Tenant": "example",
})
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudfront"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cloudfront.NewDistributionTenant(ctx, "example", &cloudfront.DistributionTenantArgs{
Name: pulumi.String("example-tenant"),
DistributionId: pulumi.Any(exampleAwsCloudfrontMultitenantDistribution.Id),
Enabled: pulumi.Bool(false),
Domains: cloudfront.DistributionTenantDomainArray{
&cloudfront.DistributionTenantDomainArgs{
Domain: pulumi.String("tenant.example.com"),
},
},
Customizations: &cloudfront.DistributionTenantCustomizationsArgs{
GeoRestriction: &cloudfront.DistributionTenantCustomizationsGeoRestrictionArgs{
RestrictionType: pulumi.String("whitelist"),
Locations: pulumi.StringArray{
pulumi.String("US"),
pulumi.String("CA"),
},
},
Certificate: &cloudfront.DistributionTenantCustomizationsCertificateArgs{
Arn: pulumi.Any(tenantCert.Arn),
},
WebAcl: &cloudfront.DistributionTenantCustomizationsWebAclArgs{
Action: pulumi.String("override"),
Arn: pulumi.Any(tenantWaf.Arn),
},
},
Tags: pulumi.StringMap{
"Environment": pulumi.String("production"),
"Tenant": pulumi.String("example"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.CloudFront.DistributionTenant("example", new()
{
Name = "example-tenant",
DistributionId = exampleAwsCloudfrontMultitenantDistribution.Id,
Enabled = false,
Domains = new[]
{
new Aws.CloudFront.Inputs.DistributionTenantDomainArgs
{
Domain = "tenant.example.com",
},
},
Customizations = new Aws.CloudFront.Inputs.DistributionTenantCustomizationsArgs
{
GeoRestriction = new Aws.CloudFront.Inputs.DistributionTenantCustomizationsGeoRestrictionArgs
{
RestrictionType = "whitelist",
Locations = new[]
{
"US",
"CA",
},
},
Certificate = new Aws.CloudFront.Inputs.DistributionTenantCustomizationsCertificateArgs
{
Arn = tenantCert.Arn,
},
WebAcl = new Aws.CloudFront.Inputs.DistributionTenantCustomizationsWebAclArgs
{
Action = "override",
Arn = tenantWaf.Arn,
},
},
Tags =
{
{ "Environment", "production" },
{ "Tenant", "example" },
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudfront.DistributionTenant;
import com.pulumi.aws.cloudfront.DistributionTenantArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionTenantDomainArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionTenantCustomizationsArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionTenantCustomizationsGeoRestrictionArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionTenantCustomizationsCertificateArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionTenantCustomizationsWebAclArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DistributionTenant("example", DistributionTenantArgs.builder()
.name("example-tenant")
.distributionId(exampleAwsCloudfrontMultitenantDistribution.id())
.enabled(false)
.domains(DistributionTenantDomainArgs.builder()
.domain("tenant.example.com")
.build())
.customizations(DistributionTenantCustomizationsArgs.builder()
.geoRestriction(DistributionTenantCustomizationsGeoRestrictionArgs.builder()
.restrictionType("whitelist")
.locations(
"US",
"CA")
.build())
.certificate(DistributionTenantCustomizationsCertificateArgs.builder()
.arn(tenantCert.arn())
.build())
.webAcl(DistributionTenantCustomizationsWebAclArgs.builder()
.action("override")
.arn(tenantWaf.arn())
.build())
.build())
.tags(Map.ofEntries(
Map.entry("Environment", "production"),
Map.entry("Tenant", "example")
))
.build());
}
}
resources:
example:
type: aws:cloudfront:DistributionTenant
properties:
name: example-tenant
distributionId: ${exampleAwsCloudfrontMultitenantDistribution.id}
enabled: false
domains:
- domain: tenant.example.com
customizations:
geoRestriction:
restrictionType: whitelist
locations:
- US
- CA
certificate:
arn: ${tenantCert.arn}
webAcl:
action: override
arn: ${tenantWaf.arn}
tags:
Environment: production
Tenant: example
Create DistributionTenant Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new DistributionTenant(name: string, args: DistributionTenantArgs, opts?: CustomResourceOptions);@overload
def DistributionTenant(resource_name: str,
args: DistributionTenantArgs,
opts: Optional[ResourceOptions] = None)
@overload
def DistributionTenant(resource_name: str,
opts: Optional[ResourceOptions] = None,
distribution_id: Optional[str] = None,
connection_group_id: Optional[str] = None,
customizations: Optional[DistributionTenantCustomizationsArgs] = None,
domains: Optional[Sequence[DistributionTenantDomainArgs]] = None,
enabled: Optional[bool] = None,
managed_certificate_request: Optional[DistributionTenantManagedCertificateRequestArgs] = None,
name: Optional[str] = None,
parameters: Optional[Sequence[DistributionTenantParameterArgs]] = None,
tags: Optional[Mapping[str, str]] = None,
timeouts: Optional[DistributionTenantTimeoutsArgs] = None,
wait_for_deployment: Optional[bool] = None)func NewDistributionTenant(ctx *Context, name string, args DistributionTenantArgs, opts ...ResourceOption) (*DistributionTenant, error)public DistributionTenant(string name, DistributionTenantArgs args, CustomResourceOptions? opts = null)
public DistributionTenant(String name, DistributionTenantArgs args)
public DistributionTenant(String name, DistributionTenantArgs args, CustomResourceOptions options)
type: aws:cloudfront:DistributionTenant
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args DistributionTenantArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args DistributionTenantArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args DistributionTenantArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DistributionTenantArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args DistributionTenantArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var distributionTenantResource = new Aws.CloudFront.DistributionTenant("distributionTenantResource", new()
{
DistributionId = "string",
ConnectionGroupId = "string",
Customizations = new Aws.CloudFront.Inputs.DistributionTenantCustomizationsArgs
{
Certificate = new Aws.CloudFront.Inputs.DistributionTenantCustomizationsCertificateArgs
{
Arn = "string",
},
GeoRestriction = new Aws.CloudFront.Inputs.DistributionTenantCustomizationsGeoRestrictionArgs
{
Locations = new[]
{
"string",
},
RestrictionType = "string",
},
WebAcl = new Aws.CloudFront.Inputs.DistributionTenantCustomizationsWebAclArgs
{
Action = "string",
Arn = "string",
},
},
Domains = new[]
{
new Aws.CloudFront.Inputs.DistributionTenantDomainArgs
{
Domain = "string",
Status = "string",
},
},
Enabled = false,
ManagedCertificateRequest = new Aws.CloudFront.Inputs.DistributionTenantManagedCertificateRequestArgs
{
CertificateTransparencyLoggingPreference = "string",
PrimaryDomainName = "string",
ValidationTokenHost = "string",
},
Name = "string",
Parameters = new[]
{
new Aws.CloudFront.Inputs.DistributionTenantParameterArgs
{
Name = "string",
Value = "string",
},
},
Tags =
{
{ "string", "string" },
},
Timeouts = new Aws.CloudFront.Inputs.DistributionTenantTimeoutsArgs
{
Create = "string",
Delete = "string",
Update = "string",
},
WaitForDeployment = false,
});
example, err := cloudfront.NewDistributionTenant(ctx, "distributionTenantResource", &cloudfront.DistributionTenantArgs{
DistributionId: pulumi.String("string"),
ConnectionGroupId: pulumi.String("string"),
Customizations: &cloudfront.DistributionTenantCustomizationsArgs{
Certificate: &cloudfront.DistributionTenantCustomizationsCertificateArgs{
Arn: pulumi.String("string"),
},
GeoRestriction: &cloudfront.DistributionTenantCustomizationsGeoRestrictionArgs{
Locations: pulumi.StringArray{
pulumi.String("string"),
},
RestrictionType: pulumi.String("string"),
},
WebAcl: &cloudfront.DistributionTenantCustomizationsWebAclArgs{
Action: pulumi.String("string"),
Arn: pulumi.String("string"),
},
},
Domains: cloudfront.DistributionTenantDomainArray{
&cloudfront.DistributionTenantDomainArgs{
Domain: pulumi.String("string"),
Status: pulumi.String("string"),
},
},
Enabled: pulumi.Bool(false),
ManagedCertificateRequest: &cloudfront.DistributionTenantManagedCertificateRequestArgs{
CertificateTransparencyLoggingPreference: pulumi.String("string"),
PrimaryDomainName: pulumi.String("string"),
ValidationTokenHost: pulumi.String("string"),
},
Name: pulumi.String("string"),
Parameters: cloudfront.DistributionTenantParameterArray{
&cloudfront.DistributionTenantParameterArgs{
Name: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
Timeouts: &cloudfront.DistributionTenantTimeoutsArgs{
Create: pulumi.String("string"),
Delete: pulumi.String("string"),
Update: pulumi.String("string"),
},
WaitForDeployment: pulumi.Bool(false),
})
var distributionTenantResource = new DistributionTenant("distributionTenantResource", DistributionTenantArgs.builder()
.distributionId("string")
.connectionGroupId("string")
.customizations(DistributionTenantCustomizationsArgs.builder()
.certificate(DistributionTenantCustomizationsCertificateArgs.builder()
.arn("string")
.build())
.geoRestriction(DistributionTenantCustomizationsGeoRestrictionArgs.builder()
.locations("string")
.restrictionType("string")
.build())
.webAcl(DistributionTenantCustomizationsWebAclArgs.builder()
.action("string")
.arn("string")
.build())
.build())
.domains(DistributionTenantDomainArgs.builder()
.domain("string")
.status("string")
.build())
.enabled(false)
.managedCertificateRequest(DistributionTenantManagedCertificateRequestArgs.builder()
.certificateTransparencyLoggingPreference("string")
.primaryDomainName("string")
.validationTokenHost("string")
.build())
.name("string")
.parameters(DistributionTenantParameterArgs.builder()
.name("string")
.value("string")
.build())
.tags(Map.of("string", "string"))
.timeouts(DistributionTenantTimeoutsArgs.builder()
.create("string")
.delete("string")
.update("string")
.build())
.waitForDeployment(false)
.build());
distribution_tenant_resource = aws.cloudfront.DistributionTenant("distributionTenantResource",
distribution_id="string",
connection_group_id="string",
customizations={
"certificate": {
"arn": "string",
},
"geo_restriction": {
"locations": ["string"],
"restriction_type": "string",
},
"web_acl": {
"action": "string",
"arn": "string",
},
},
domains=[{
"domain": "string",
"status": "string",
}],
enabled=False,
managed_certificate_request={
"certificate_transparency_logging_preference": "string",
"primary_domain_name": "string",
"validation_token_host": "string",
},
name="string",
parameters=[{
"name": "string",
"value": "string",
}],
tags={
"string": "string",
},
timeouts={
"create": "string",
"delete": "string",
"update": "string",
},
wait_for_deployment=False)
const distributionTenantResource = new aws.cloudfront.DistributionTenant("distributionTenantResource", {
distributionId: "string",
connectionGroupId: "string",
customizations: {
certificate: {
arn: "string",
},
geoRestriction: {
locations: ["string"],
restrictionType: "string",
},
webAcl: {
action: "string",
arn: "string",
},
},
domains: [{
domain: "string",
status: "string",
}],
enabled: false,
managedCertificateRequest: {
certificateTransparencyLoggingPreference: "string",
primaryDomainName: "string",
validationTokenHost: "string",
},
name: "string",
parameters: [{
name: "string",
value: "string",
}],
tags: {
string: "string",
},
timeouts: {
create: "string",
"delete": "string",
update: "string",
},
waitForDeployment: false,
});
type: aws:cloudfront:DistributionTenant
properties:
connectionGroupId: string
customizations:
certificate:
arn: string
geoRestriction:
locations:
- string
restrictionType: string
webAcl:
action: string
arn: string
distributionId: string
domains:
- domain: string
status: string
enabled: false
managedCertificateRequest:
certificateTransparencyLoggingPreference: string
primaryDomainName: string
validationTokenHost: string
name: string
parameters:
- name: string
value: string
tags:
string: string
timeouts:
create: string
delete: string
update: string
waitForDeployment: false
DistributionTenant Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The DistributionTenant resource accepts the following input properties:
- Distribution
Id string - ID of the multi-tenant distribution.
- Connection
Group stringId - ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
- Customizations
Distribution
Tenant Customizations - Customizations for the distribution tenant (maximum one).
- Domains
List<Distribution
Tenant Domain> - Set of domains associated with the distribution tenant.
- Enabled bool
- Whether the distribution tenant is enabled to serve traffic. Defaults to
true. - Managed
Certificate DistributionRequest Tenant Managed Certificate Request - Managed certificate request for CloudFront managed ACM certificate (maximum one).
- Name string
- Name of the distribution tenant.
- Parameters
List<Distribution
Tenant Parameter> - Set of parameter values for the distribution tenant.
- Dictionary<string, string>
- Map of tags to assign to the resource. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Timeouts
Distribution
Tenant Timeouts - Wait
For boolDeployment - If enabled, the resource will wait for the distribution tenant status to change from
InProgresstoDeployed. Setting this tofalsewill skip the process. Default:true.
- Distribution
Id string - ID of the multi-tenant distribution.
- Connection
Group stringId - ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
- Customizations
Distribution
Tenant Customizations Args - Customizations for the distribution tenant (maximum one).
- Domains
[]Distribution
Tenant Domain Args - Set of domains associated with the distribution tenant.
- Enabled bool
- Whether the distribution tenant is enabled to serve traffic. Defaults to
true. - Managed
Certificate DistributionRequest Tenant Managed Certificate Request Args - Managed certificate request for CloudFront managed ACM certificate (maximum one).
- Name string
- Name of the distribution tenant.
- Parameters
[]Distribution
Tenant Parameter Args - Set of parameter values for the distribution tenant.
- map[string]string
- Map of tags to assign to the resource. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Timeouts
Distribution
Tenant Timeouts Args - Wait
For boolDeployment - If enabled, the resource will wait for the distribution tenant status to change from
InProgresstoDeployed. Setting this tofalsewill skip the process. Default:true.
- distribution
Id String - ID of the multi-tenant distribution.
- connection
Group StringId - ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
- customizations
Distribution
Tenant Customizations - Customizations for the distribution tenant (maximum one).
- domains
List<Distribution
Tenant Domain> - Set of domains associated with the distribution tenant.
- enabled Boolean
- Whether the distribution tenant is enabled to serve traffic. Defaults to
true. - managed
Certificate DistributionRequest Tenant Managed Certificate Request - Managed certificate request for CloudFront managed ACM certificate (maximum one).
- name String
- Name of the distribution tenant.
- parameters
List<Distribution
Tenant Parameter> - Set of parameter values for the distribution tenant.
- Map<String,String>
- Map of tags to assign to the resource. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - timeouts
Distribution
Tenant Timeouts - wait
For BooleanDeployment - If enabled, the resource will wait for the distribution tenant status to change from
InProgresstoDeployed. Setting this tofalsewill skip the process. Default:true.
- distribution
Id string - ID of the multi-tenant distribution.
- connection
Group stringId - ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
- customizations
Distribution
Tenant Customizations - Customizations for the distribution tenant (maximum one).
- domains
Distribution
Tenant Domain[] - Set of domains associated with the distribution tenant.
- enabled boolean
- Whether the distribution tenant is enabled to serve traffic. Defaults to
true. - managed
Certificate DistributionRequest Tenant Managed Certificate Request - Managed certificate request for CloudFront managed ACM certificate (maximum one).
- name string
- Name of the distribution tenant.
- parameters
Distribution
Tenant Parameter[] - Set of parameter values for the distribution tenant.
- {[key: string]: string}
- Map of tags to assign to the resource. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - timeouts
Distribution
Tenant Timeouts - wait
For booleanDeployment - If enabled, the resource will wait for the distribution tenant status to change from
InProgresstoDeployed. Setting this tofalsewill skip the process. Default:true.
- distribution_
id str - ID of the multi-tenant distribution.
- connection_
group_ strid - ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
- customizations
Distribution
Tenant Customizations Args - Customizations for the distribution tenant (maximum one).
- domains
Sequence[Distribution
Tenant Domain Args] - Set of domains associated with the distribution tenant.
- enabled bool
- Whether the distribution tenant is enabled to serve traffic. Defaults to
true. - managed_
certificate_ Distributionrequest Tenant Managed Certificate Request Args - Managed certificate request for CloudFront managed ACM certificate (maximum one).
- name str
- Name of the distribution tenant.
- parameters
Sequence[Distribution
Tenant Parameter Args] - Set of parameter values for the distribution tenant.
- Mapping[str, str]
- Map of tags to assign to the resource. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - timeouts
Distribution
Tenant Timeouts Args - wait_
for_ booldeployment - If enabled, the resource will wait for the distribution tenant status to change from
InProgresstoDeployed. Setting this tofalsewill skip the process. Default:true.
- distribution
Id String - ID of the multi-tenant distribution.
- connection
Group StringId - ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
- customizations Property Map
- Customizations for the distribution tenant (maximum one).
- domains List<Property Map>
- Set of domains associated with the distribution tenant.
- enabled Boolean
- Whether the distribution tenant is enabled to serve traffic. Defaults to
true. - managed
Certificate Property MapRequest - Managed certificate request for CloudFront managed ACM certificate (maximum one).
- name String
- Name of the distribution tenant.
- parameters List<Property Map>
- Set of parameter values for the distribution tenant.
- Map<String>
- Map of tags to assign to the resource. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - timeouts Property Map
- wait
For BooleanDeployment - If enabled, the resource will wait for the distribution tenant status to change from
InProgresstoDeployed. Setting this tofalsewill skip the process. Default:true.
Outputs
All input properties are implicitly available as output properties. Additionally, the DistributionTenant resource produces the following output properties:
- Arn string
- ARN of the distribution tenant.
- Etag string
- Current version of the distribution tenant.
- Id string
- The provider-assigned unique ID for this managed resource.
- Status string
- Current status of the distribution tenant.
- Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block.
- Arn string
- ARN of the distribution tenant.
- Etag string
- Current version of the distribution tenant.
- Id string
- The provider-assigned unique ID for this managed resource.
- Status string
- Current status of the distribution tenant.
- map[string]string
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block.
- arn String
- ARN of the distribution tenant.
- etag String
- Current version of the distribution tenant.
- id String
- The provider-assigned unique ID for this managed resource.
- status String
- Current status of the distribution tenant.
- Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block.
- arn string
- ARN of the distribution tenant.
- etag string
- Current version of the distribution tenant.
- id string
- The provider-assigned unique ID for this managed resource.
- status string
- Current status of the distribution tenant.
- {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block.
- arn str
- ARN of the distribution tenant.
- etag str
- Current version of the distribution tenant.
- id str
- The provider-assigned unique ID for this managed resource.
- status str
- Current status of the distribution tenant.
- Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block.
- arn String
- ARN of the distribution tenant.
- etag String
- Current version of the distribution tenant.
- id String
- The provider-assigned unique ID for this managed resource.
- status String
- Current status of the distribution tenant.
- Map<String>
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block.
Look up Existing DistributionTenant Resource
Get an existing DistributionTenant resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: DistributionTenantState, opts?: CustomResourceOptions): DistributionTenant@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
arn: Optional[str] = None,
connection_group_id: Optional[str] = None,
customizations: Optional[DistributionTenantCustomizationsArgs] = None,
distribution_id: Optional[str] = None,
domains: Optional[Sequence[DistributionTenantDomainArgs]] = None,
enabled: Optional[bool] = None,
etag: Optional[str] = None,
managed_certificate_request: Optional[DistributionTenantManagedCertificateRequestArgs] = None,
name: Optional[str] = None,
parameters: Optional[Sequence[DistributionTenantParameterArgs]] = None,
status: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
tags_all: Optional[Mapping[str, str]] = None,
timeouts: Optional[DistributionTenantTimeoutsArgs] = None,
wait_for_deployment: Optional[bool] = None) -> DistributionTenantfunc GetDistributionTenant(ctx *Context, name string, id IDInput, state *DistributionTenantState, opts ...ResourceOption) (*DistributionTenant, error)public static DistributionTenant Get(string name, Input<string> id, DistributionTenantState? state, CustomResourceOptions? opts = null)public static DistributionTenant get(String name, Output<String> id, DistributionTenantState state, CustomResourceOptions options)resources: _: type: aws:cloudfront:DistributionTenant get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Arn string
- ARN of the distribution tenant.
- Connection
Group stringId - ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
- Customizations
Distribution
Tenant Customizations - Customizations for the distribution tenant (maximum one).
- Distribution
Id string - ID of the multi-tenant distribution.
- Domains
List<Distribution
Tenant Domain> - Set of domains associated with the distribution tenant.
- Enabled bool
- Whether the distribution tenant is enabled to serve traffic. Defaults to
true. - Etag string
- Current version of the distribution tenant.
- Managed
Certificate DistributionRequest Tenant Managed Certificate Request - Managed certificate request for CloudFront managed ACM certificate (maximum one).
- Name string
- Name of the distribution tenant.
- Parameters
List<Distribution
Tenant Parameter> - Set of parameter values for the distribution tenant.
- Status string
- Current status of the distribution tenant.
- Dictionary<string, string>
- Map of tags to assign to the resource. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block. - Timeouts
Distribution
Tenant Timeouts - Wait
For boolDeployment - If enabled, the resource will wait for the distribution tenant status to change from
InProgresstoDeployed. Setting this tofalsewill skip the process. Default:true.
- Arn string
- ARN of the distribution tenant.
- Connection
Group stringId - ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
- Customizations
Distribution
Tenant Customizations Args - Customizations for the distribution tenant (maximum one).
- Distribution
Id string - ID of the multi-tenant distribution.
- Domains
[]Distribution
Tenant Domain Args - Set of domains associated with the distribution tenant.
- Enabled bool
- Whether the distribution tenant is enabled to serve traffic. Defaults to
true. - Etag string
- Current version of the distribution tenant.
- Managed
Certificate DistributionRequest Tenant Managed Certificate Request Args - Managed certificate request for CloudFront managed ACM certificate (maximum one).
- Name string
- Name of the distribution tenant.
- Parameters
[]Distribution
Tenant Parameter Args - Set of parameter values for the distribution tenant.
- Status string
- Current status of the distribution tenant.
- map[string]string
- Map of tags to assign to the resource. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - map[string]string
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block. - Timeouts
Distribution
Tenant Timeouts Args - Wait
For boolDeployment - If enabled, the resource will wait for the distribution tenant status to change from
InProgresstoDeployed. Setting this tofalsewill skip the process. Default:true.
- arn String
- ARN of the distribution tenant.
- connection
Group StringId - ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
- customizations
Distribution
Tenant Customizations - Customizations for the distribution tenant (maximum one).
- distribution
Id String - ID of the multi-tenant distribution.
- domains
List<Distribution
Tenant Domain> - Set of domains associated with the distribution tenant.
- enabled Boolean
- Whether the distribution tenant is enabled to serve traffic. Defaults to
true. - etag String
- Current version of the distribution tenant.
- managed
Certificate DistributionRequest Tenant Managed Certificate Request - Managed certificate request for CloudFront managed ACM certificate (maximum one).
- name String
- Name of the distribution tenant.
- parameters
List<Distribution
Tenant Parameter> - Set of parameter values for the distribution tenant.
- status String
- Current status of the distribution tenant.
- Map<String,String>
- Map of tags to assign to the resource. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block. - timeouts
Distribution
Tenant Timeouts - wait
For BooleanDeployment - If enabled, the resource will wait for the distribution tenant status to change from
InProgresstoDeployed. Setting this tofalsewill skip the process. Default:true.
- arn string
- ARN of the distribution tenant.
- connection
Group stringId - ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
- customizations
Distribution
Tenant Customizations - Customizations for the distribution tenant (maximum one).
- distribution
Id string - ID of the multi-tenant distribution.
- domains
Distribution
Tenant Domain[] - Set of domains associated with the distribution tenant.
- enabled boolean
- Whether the distribution tenant is enabled to serve traffic. Defaults to
true. - etag string
- Current version of the distribution tenant.
- managed
Certificate DistributionRequest Tenant Managed Certificate Request - Managed certificate request for CloudFront managed ACM certificate (maximum one).
- name string
- Name of the distribution tenant.
- parameters
Distribution
Tenant Parameter[] - Set of parameter values for the distribution tenant.
- status string
- Current status of the distribution tenant.
- {[key: string]: string}
- Map of tags to assign to the resource. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block. - timeouts
Distribution
Tenant Timeouts - wait
For booleanDeployment - If enabled, the resource will wait for the distribution tenant status to change from
InProgresstoDeployed. Setting this tofalsewill skip the process. Default:true.
- arn str
- ARN of the distribution tenant.
- connection_
group_ strid - ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
- customizations
Distribution
Tenant Customizations Args - Customizations for the distribution tenant (maximum one).
- distribution_
id str - ID of the multi-tenant distribution.
- domains
Sequence[Distribution
Tenant Domain Args] - Set of domains associated with the distribution tenant.
- enabled bool
- Whether the distribution tenant is enabled to serve traffic. Defaults to
true. - etag str
- Current version of the distribution tenant.
- managed_
certificate_ Distributionrequest Tenant Managed Certificate Request Args - Managed certificate request for CloudFront managed ACM certificate (maximum one).
- name str
- Name of the distribution tenant.
- parameters
Sequence[Distribution
Tenant Parameter Args] - Set of parameter values for the distribution tenant.
- status str
- Current status of the distribution tenant.
- Mapping[str, str]
- Map of tags to assign to the resource. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block. - timeouts
Distribution
Tenant Timeouts Args - wait_
for_ booldeployment - If enabled, the resource will wait for the distribution tenant status to change from
InProgresstoDeployed. Setting this tofalsewill skip the process. Default:true.
- arn String
- ARN of the distribution tenant.
- connection
Group StringId - ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
- customizations Property Map
- Customizations for the distribution tenant (maximum one).
- distribution
Id String - ID of the multi-tenant distribution.
- domains List<Property Map>
- Set of domains associated with the distribution tenant.
- enabled Boolean
- Whether the distribution tenant is enabled to serve traffic. Defaults to
true. - etag String
- Current version of the distribution tenant.
- managed
Certificate Property MapRequest - Managed certificate request for CloudFront managed ACM certificate (maximum one).
- name String
- Name of the distribution tenant.
- parameters List<Property Map>
- Set of parameter values for the distribution tenant.
- status String
- Current status of the distribution tenant.
- Map<String>
- Map of tags to assign to the resource. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String>
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block. - timeouts Property Map
- wait
For BooleanDeployment - If enabled, the resource will wait for the distribution tenant status to change from
InProgresstoDeployed. Setting this tofalsewill skip the process. Default:true.
Supporting Types
DistributionTenantCustomizations, DistributionTenantCustomizationsArgs
- Certificate
Distribution
Tenant Customizations Certificate - Certificate configuration for the tenant (maximum one).
- Geo
Restriction DistributionTenant Customizations Geo Restriction - Geographic restrictions configuration for the tenant (maximum one).
- Web
Acl DistributionTenant Customizations Web Acl - Web ACL configuration for the tenant (maximum one).
- Certificate
Distribution
Tenant Customizations Certificate - Certificate configuration for the tenant (maximum one).
- Geo
Restriction DistributionTenant Customizations Geo Restriction - Geographic restrictions configuration for the tenant (maximum one).
- Web
Acl DistributionTenant Customizations Web Acl - Web ACL configuration for the tenant (maximum one).
- certificate
Distribution
Tenant Customizations Certificate - Certificate configuration for the tenant (maximum one).
- geo
Restriction DistributionTenant Customizations Geo Restriction - Geographic restrictions configuration for the tenant (maximum one).
- web
Acl DistributionTenant Customizations Web Acl - Web ACL configuration for the tenant (maximum one).
- certificate
Distribution
Tenant Customizations Certificate - Certificate configuration for the tenant (maximum one).
- geo
Restriction DistributionTenant Customizations Geo Restriction - Geographic restrictions configuration for the tenant (maximum one).
- web
Acl DistributionTenant Customizations Web Acl - Web ACL configuration for the tenant (maximum one).
- certificate
Distribution
Tenant Customizations Certificate - Certificate configuration for the tenant (maximum one).
- geo_
restriction DistributionTenant Customizations Geo Restriction - Geographic restrictions configuration for the tenant (maximum one).
- web_
acl DistributionTenant Customizations Web Acl - Web ACL configuration for the tenant (maximum one).
- certificate Property Map
- Certificate configuration for the tenant (maximum one).
- geo
Restriction Property Map - Geographic restrictions configuration for the tenant (maximum one).
- web
Acl Property Map - Web ACL configuration for the tenant (maximum one).
DistributionTenantCustomizationsCertificate, DistributionTenantCustomizationsCertificateArgs
- Arn string
- ARN of the distribution tenant.
- Arn string
- ARN of the distribution tenant.
- arn String
- ARN of the distribution tenant.
- arn string
- ARN of the distribution tenant.
- arn str
- ARN of the distribution tenant.
- arn String
- ARN of the distribution tenant.
DistributionTenantCustomizationsGeoRestriction, DistributionTenantCustomizationsGeoRestrictionArgs
- Locations List<string>
- Set of ISO 3166-1-alpha-2 country codes for the restriction. Required if
restriction_typeiswhitelistorblacklist. - Restriction
Type string - Method to restrict distribution by country:
none,whitelist, orblacklist.
- Locations []string
- Set of ISO 3166-1-alpha-2 country codes for the restriction. Required if
restriction_typeiswhitelistorblacklist. - Restriction
Type string - Method to restrict distribution by country:
none,whitelist, orblacklist.
- locations List<String>
- Set of ISO 3166-1-alpha-2 country codes for the restriction. Required if
restriction_typeiswhitelistorblacklist. - restriction
Type String - Method to restrict distribution by country:
none,whitelist, orblacklist.
- locations string[]
- Set of ISO 3166-1-alpha-2 country codes for the restriction. Required if
restriction_typeiswhitelistorblacklist. - restriction
Type string - Method to restrict distribution by country:
none,whitelist, orblacklist.
- locations Sequence[str]
- Set of ISO 3166-1-alpha-2 country codes for the restriction. Required if
restriction_typeiswhitelistorblacklist. - restriction_
type str - Method to restrict distribution by country:
none,whitelist, orblacklist.
- locations List<String>
- Set of ISO 3166-1-alpha-2 country codes for the restriction. Required if
restriction_typeiswhitelistorblacklist. - restriction
Type String - Method to restrict distribution by country:
none,whitelist, orblacklist.
DistributionTenantCustomizationsWebAcl, DistributionTenantCustomizationsWebAclArgs
DistributionTenantDomain, DistributionTenantDomainArgs
DistributionTenantManagedCertificateRequest, DistributionTenantManagedCertificateRequestArgs
- Certificate
Transparency stringLogging Preference - Certificate transparency logging preference. Valid values:
enabled,disabled. - Primary
Domain stringName - Primary domain name for the certificate.
- Validation
Token stringHost - Host for validation token. Valid values:
cloudfront,domain.
- Certificate
Transparency stringLogging Preference - Certificate transparency logging preference. Valid values:
enabled,disabled. - Primary
Domain stringName - Primary domain name for the certificate.
- Validation
Token stringHost - Host for validation token. Valid values:
cloudfront,domain.
- certificate
Transparency StringLogging Preference - Certificate transparency logging preference. Valid values:
enabled,disabled. - primary
Domain StringName - Primary domain name for the certificate.
- validation
Token StringHost - Host for validation token. Valid values:
cloudfront,domain.
- certificate
Transparency stringLogging Preference - Certificate transparency logging preference. Valid values:
enabled,disabled. - primary
Domain stringName - Primary domain name for the certificate.
- validation
Token stringHost - Host for validation token. Valid values:
cloudfront,domain.
- certificate_
transparency_ strlogging_ preference - Certificate transparency logging preference. Valid values:
enabled,disabled. - primary_
domain_ strname - Primary domain name for the certificate.
- validation_
token_ strhost - Host for validation token. Valid values:
cloudfront,domain.
- certificate
Transparency StringLogging Preference - Certificate transparency logging preference. Valid values:
enabled,disabled. - primary
Domain StringName - Primary domain name for the certificate.
- validation
Token StringHost - Host for validation token. Valid values:
cloudfront,domain.
DistributionTenantParameter, DistributionTenantParameterArgs
DistributionTenantTimeouts, DistributionTenantTimeoutsArgs
- Create string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- Delete string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- Update string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- Create string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- Delete string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- Update string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- create String
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- delete String
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- update String
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- create string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- delete string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- update string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- create str
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- delete str
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- update str
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- create String
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- delete String
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- update String
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
Import
Using pulumi import, import CloudFront Distribution Tenants using the id. For example:
$ pulumi import aws:cloudfront/distributionTenant:DistributionTenant example TENANT123EXAMPLE
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
awsTerraform Provider.
