Skip to content

ServicePrincipalName

The ServicePrincipalName resource lets you manage AWS PCAConnectorAD ServicePrincipalNames for integrating AWS Private Certificate Authority with Active Directory.

Minimal Example

Create a basic ServicePrincipalName resource with required properties.

ts
import AWS from "alchemy/aws/control";

const servicePrincipalName = await AWS.PCAConnectorAD.ServicePrincipalName("myServicePrincipalName", {
  ConnectorArn: "arn:aws:pcaconnectorad:us-west-2:123456789012:connector/my-connector",
  DirectoryRegistrationArn: "arn:aws:pcaconnectorad:us-west-2:123456789012:directory/my-directory",
  adopt: false // Default false: Will fail if resource already exists
});

Advanced Configuration

Configure a ServicePrincipalName resource to adopt an existing resource if it already exists.

ts
const existingServicePrincipalName = await AWS.PCAConnectorAD.ServicePrincipalName("existingServicePrincipalName", {
  ConnectorArn: "arn:aws:pcaconnectorad:us-west-2:123456789012:connector/my-existing-connector",
  DirectoryRegistrationArn: "arn:aws:pcaconnectorad:us-west-2:123456789012:directory/my-existing-directory",
  adopt: true // Will adopt the existing resource instead of failing
});

Usage in a Complex Configuration

Instantiate multiple ServicePrincipalName resources for different connectors.

ts
const servicePrincipalNameOne = await AWS.PCAConnectorAD.ServicePrincipalName("servicePrincipalOne", {
  ConnectorArn: "arn:aws:pcaconnectorad:us-west-2:123456789012:connector/connector-one",
  DirectoryRegistrationArn: "arn:aws:pcaconnectorad:us-west-2:123456789012:directory/registration-one"
});

const servicePrincipalNameTwo = await AWS.PCAConnectorAD.ServicePrincipalName("servicePrincipalTwo", {
  ConnectorArn: "arn:aws:pcaconnectorad:us-west-2:123456789012:connector/connector-two",
  DirectoryRegistrationArn: "arn:aws:pcaconnectorad:us-west-2:123456789012:directory/registration-two"
});