CustomDomainAssociation class
Resource for managing an AWS Redshift Serverless Custom Domain Association.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.acm.Certificate("example", {domainName: "example.com"});
const exampleNamespace = new aws.redshiftserverless.Namespace("example", {namespaceName: "example-namespace"});
const exampleWorkgroup = new aws.redshiftserverless.Workgroup("example", {
workgroupName: "example-workgroup",
namespaceName: exampleNamespace.namespaceName,
});
const exampleCustomDomainAssociation = new aws.redshiftserverless.CustomDomainAssociation("example", {
workgroupName: exampleWorkgroup.workgroupName,
customDomainName: "example.com",
customDomainCertificateArn: example.arn,
});
import pulumi
import pulumi_aws as aws
example = aws.acm.Certificate("example", domain_name="example.com")
example_namespace = aws.redshiftserverless.Namespace("example", namespace_name="example-namespace")
example_workgroup = aws.redshiftserverless.Workgroup("example",
workgroup_name="example-workgroup",
namespace_name=example_namespace.namespace_name)
example_custom_domain_association = aws.redshiftserverless.CustomDomainAssociation("example",
workgroup_name=example_workgroup.workgroup_name,
custom_domain_name="example.com",
custom_domain_certificate_arn=example.arn)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Acm.Certificate("example", new()
{
DomainName = "example.com",
});
var exampleNamespace = new Aws.RedshiftServerless.Namespace("example", new()
{
NamespaceName = "example-namespace",
});
var exampleWorkgroup = new Aws.RedshiftServerless.Workgroup("example", new()
{
WorkgroupName = "example-workgroup",
NamespaceName = exampleNamespace.NamespaceName,
});
var exampleCustomDomainAssociation = new Aws.RedshiftServerless.CustomDomainAssociation("example", new()
{
WorkgroupName = exampleWorkgroup.WorkgroupName,
CustomDomainName = "example.com",
CustomDomainCertificateArn = example.Arn,
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/acm"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/redshiftserverless"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := acm.NewCertificate(ctx, "example", &acm.CertificateArgs{
DomainName: pulumi.String("example.com"),
})
if err != nil {
return err
}
exampleNamespace, err := redshiftserverless.NewNamespace(ctx, "example", &redshiftserverless.NamespaceArgs{
NamespaceName: pulumi.String("example-namespace"),
})
if err != nil {
return err
}
exampleWorkgroup, err := redshiftserverless.NewWorkgroup(ctx, "example", &redshiftserverless.WorkgroupArgs{
WorkgroupName: pulumi.String("example-workgroup"),
NamespaceName: exampleNamespace.NamespaceName,
})
if err != nil {
return err
}
_, err = redshiftserverless.NewCustomDomainAssociation(ctx, "example", &redshiftserverless.CustomDomainAssociationArgs{
WorkgroupName: exampleWorkgroup.WorkgroupName,
CustomDomainName: pulumi.String("example.com"),
CustomDomainCertificateArn: example.Arn,
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
aws = {
source = "pulumi/aws"
}
}
}
resource "aws_acm_certificate" "example" {
domain_name = "example.com"
}
resource "aws_redshiftserverless_namespace" "example" {
namespace_name = "example-namespace"
}
resource "aws_redshiftserverless_workgroup" "example" {
workgroup_name = "example-workgroup"
namespace_name = aws_redshiftserverless_namespace.example.namespace_name
}
resource "aws_redshiftserverless_customdomainassociation" "example" {
workgroup_name = aws_redshiftserverless_workgroup.example.workgroup_name
custom_domain_name = "example.com"
custom_domain_certificate_arn = aws_acm_certificate.example.arn
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.acm.Certificate;
import com.pulumi.aws.acm.CertificateArgs;
import com.pulumi.aws.redshiftserverless.Namespace;
import com.pulumi.aws.redshiftserverless.NamespaceArgs;
import com.pulumi.aws.redshiftserverless.Workgroup;
import com.pulumi.aws.redshiftserverless.WorkgroupArgs;
import com.pulumi.aws.redshiftserverless.CustomDomainAssociation;
import com.pulumi.aws.redshiftserverless.CustomDomainAssociationArgs;
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 Certificate("example", CertificateArgs.builder()
.domainName("example.com")
.build());
var exampleNamespace = new Namespace("exampleNamespace", NamespaceArgs.builder()
.namespaceName("example-namespace")
.build());
var exampleWorkgroup = new Workgroup("exampleWorkgroup", WorkgroupArgs.builder()
.workgroupName("example-workgroup")
.namespaceName(exampleNamespace.namespaceName())
.build());
var exampleCustomDomainAssociation = new CustomDomainAssociation("exampleCustomDomainAssociation", CustomDomainAssociationArgs.builder()
.workgroupName(exampleWorkgroup.workgroupName())
.customDomainName("example.com")
.customDomainCertificateArn(example.arn())
.build());
}
}
resources:
example:
type: aws:acm:Certificate
properties:
domainName: example.com
exampleNamespace:
type: aws:redshiftserverless:Namespace
name: example
properties:
namespaceName: example-namespace
exampleWorkgroup:
type: aws:redshiftserverless:Workgroup
name: example
properties:
workgroupName: example-workgroup
namespaceName: ${exampleNamespace.namespaceName}
exampleCustomDomainAssociation:
type: aws:redshiftserverless:CustomDomainAssociation
name: example
properties:
workgroupName: ${exampleWorkgroup.workgroupName}
customDomainName: example.com
customDomainCertificateArn: ${example.arn}
Import
Using pulumi import, import Redshift Serverless Custom Domain Association using the workgroupName and customDomainName, separated by the coma. For example:
$ pulumi import aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation example example-workgroup,example.com
Constructors
- CustomDomainAssociation(String name, {CustomDomainAssociationArgs? args, CustomResourceOptions? options})
-
Creates a new CustomDomainAssociation.
nameThe Pulumi resource name.argsArguments used to configure this CustomDomainAssociation. The set of arguments for CustomDomainAssociation.optionsResource options controlling this resource's behavior. - CustomDomainAssociation.reference(String urn)
- Creates a typed reference to an existing CustomDomainAssociation resource.
Properties
-
childResources
→ Set<
Resource> -
finalinherited
-
completionSources
↔ Map<
String, IOutputCompletionSource> -
latefinalinherited
-
customDomainCertificateArn
↔ Output<
String> -
ARN of the certificate for the custom domain association.
latefinal
-
customDomainCertificateExpiryTime
↔ Output<
String> -
Expiration time for the certificate.
latefinal
-
customDomainName
↔ Output<
String> -
Custom domain to associate with the workgroup.
latefinal
- hashCode → int
-
The hash code for this object.
no setterinherited
-
id
↔ Output<
String> -
getter/setter pairinherited
- isCustom → bool
-
Returns whether this resource is provider-managed.
no setterinherited
- isProtected → bool
-
Returns whether this resource is protected from deletion.
no setterinherited
- isRemote → bool
-
Whether this resource is registered as remote.
no setterinherited
- isResourceReference → bool
-
Whether this instance represents a resource value returned over RPC.
finalinherited
-
region
↔ Output<
String> -
Region where this resource will be managed. Defaults to the Region set in the provider configuration.
latefinal
-
resourceTransforms
→ List<
ResourceTransform> -
Inherited/explicit async transforms.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
transformations
→ List<
ResourceTransformation> -
Inherited/explicit legacy transformations.
no setterinherited
-
urn
↔ Output<
String> -
latefinalinherited
-
workgroupName
↔ Output<
String> -
Name of the workgroup.
latefinal
Methods
-
failId(
Object error) → void -
Completes this resource ID with an error when registration fails.
inherited
-
failOutputs(
Object error) → void -
Completes all output properties with
error.inherited -
failUrn(
Object error) → void -
Completes this resource URN with an error when registration fails.
inherited
-
getProvider(
String moduleMember) → ProviderResource? -
Returns provider for
moduleMember's package, if configured.inherited -
getResourceName(
) → String -
Returns this resource's logical name.
inherited
-
getResourceType(
) → String -
Returns this resource's Pulumi type token.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registerOutput<
T> (String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output< T> -
Registers a dynamic output property for this resource.
inherited
-
resolveId(
String? value, {required bool isKnown}) → void -
Resolves the provider-assigned ID for this resource.
inherited
-
resolveOutputs(
Struct outputs) → void -
Resolves all output properties from a monitor response payload.
inherited
-
resolveUrn(
String value) → void -
Resolves this resource's URN once assigned by the engine.
inherited
-
serializeProperties(
Map< String, dynamic> properties) → Future<Struct> -
Serializes resource properties for RPC transmission.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
get(
String name, Input< String> id, {CustomDomainAssociationState? state, CustomResourceOptions? options}) → CustomDomainAssociation -
Gets an existing CustomDomainAssociation resource's state with the given
nameandid.