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. name The Pulumi resource name. args Arguments used to configure this CustomDomainAssociation. The set of arguments for CustomDomainAssociation. options Resource 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 name and id.