Package com.pulumi.aws.cloudfront
Class DistributionTenant
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.cloudfront.DistributionTenant
-
public class DistributionTenant extends com.pulumi.resources.CustomResourceCreates 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](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-tenants.html). ## Example Usage ### Basic Distribution Tenant
### Distribution Tenant with Customizationspackage 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.ArrayList; import java.util.Arrays; 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() .domains(DistributionTenantDomainArgs.builder() .domain("tenant.example.com") .build()) .name("example-tenant") .distributionId(exampleAwsCloudfrontMultitenantDistribution.id()) .enabled(true) .tags(Map.of("Environment", "production")) .build()); } }
## Import Using `pulumi import`, import CloudFront Distribution Tenants using the `id`. For example: ```sh $ pulumi import aws:cloudfront/distributionTenant:DistributionTenant example TENANT123EXAMPLE ```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.DistributionTenantCustomizationsArgs; import com.pulumi.aws.cloudfront.inputs.DistributionTenantCustomizationsGeoRestrictionArgs; import com.pulumi.aws.cloudfront.inputs.DistributionTenantCustomizationsCertificateArgs; import com.pulumi.aws.cloudfront.inputs.DistributionTenantCustomizationsWebAclArgs; import com.pulumi.aws.cloudfront.inputs.DistributionTenantDomainArgs; import java.util.ArrayList; import java.util.Arrays; 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() .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()) .domains(DistributionTenantDomainArgs.builder() .domain("tenant.example.com") .build()) .name("example-tenant") .distributionId(exampleAwsCloudfrontMultitenantDistribution.id()) .enabled(false) .tags(Map.ofEntries( Map.entry("Environment", "production"), Map.entry("Tenant", "example") )) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description DistributionTenant(java.lang.String name)DistributionTenant(java.lang.String name, DistributionTenantArgs args)DistributionTenant(java.lang.String name, DistributionTenantArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.lang.String>connectionGroupId()com.pulumi.core.Output<java.util.Optional<DistributionTenantCustomizations>>customizations()com.pulumi.core.Output<java.lang.String>distributionId()com.pulumi.core.Output<java.util.Optional<java.util.List<DistributionTenantDomain>>>domains()com.pulumi.core.Output<java.lang.Boolean>enabled()com.pulumi.core.Output<java.lang.String>etag()static DistributionTenantget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, DistributionTenantState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.util.Optional<DistributionTenantManagedCertificateRequest>>managedCertificateRequest()com.pulumi.core.Output<java.lang.String>name()com.pulumi.core.Output<java.util.Optional<java.util.List<DistributionTenantParameter>>>parameters()com.pulumi.core.Output<java.lang.String>status()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.util.Optional<DistributionTenantTimeouts>>timeouts()com.pulumi.core.Output<java.lang.Boolean>waitForDeployment()
-
-
-
Constructor Detail
-
DistributionTenant
public DistributionTenant(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
DistributionTenant
public DistributionTenant(java.lang.String name, DistributionTenantArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
DistributionTenant
public DistributionTenant(java.lang.String name, DistributionTenantArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN of the distribution tenant.
-
connectionGroupId
public com.pulumi.core.Output<java.lang.String> connectionGroupId()
- Returns:
- ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
-
customizations
public com.pulumi.core.Output<java.util.Optional<DistributionTenantCustomizations>> customizations()
- Returns:
- Customizations for the distribution tenant (maximum one).
-
distributionId
public com.pulumi.core.Output<java.lang.String> distributionId()
- Returns:
- ID of the multi-tenant distribution.
-
domains
public com.pulumi.core.Output<java.util.Optional<java.util.List<DistributionTenantDomain>>> domains()
- Returns:
- Set of domains associated with the distribution tenant.
-
enabled
public com.pulumi.core.Output<java.lang.Boolean> enabled()
- Returns:
- Whether the distribution tenant is enabled to serve traffic. Defaults to `true`.
-
etag
public com.pulumi.core.Output<java.lang.String> etag()
- Returns:
- Current version of the distribution tenant.
-
managedCertificateRequest
public com.pulumi.core.Output<java.util.Optional<DistributionTenantManagedCertificateRequest>> managedCertificateRequest()
- Returns:
- Managed certificate request for CloudFront managed ACM certificate (maximum one).
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- Name of the distribution tenant.
-
parameters
public com.pulumi.core.Output<java.util.Optional<java.util.List<DistributionTenantParameter>>> parameters()
- Returns:
- Set of parameter values for the distribution tenant.
-
status
public com.pulumi.core.Output<java.lang.String> status()
- Returns:
- Current status of the distribution tenant.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- 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.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
timeouts
public com.pulumi.core.Output<java.util.Optional<DistributionTenantTimeouts>> timeouts()
-
waitForDeployment
public com.pulumi.core.Output<java.lang.Boolean> waitForDeployment()
- Returns:
- 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`.
-
get
public static DistributionTenant get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable DistributionTenantState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-