Skip to content

SubscriptionTarget ​

The SubscriptionTarget resource allows you to manage AWS DataZone SubscriptionTargets which facilitate access to data assets within a defined environment.

Minimal Example ​

Create a basic SubscriptionTarget with required properties and one optional property.

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

const basicSubscriptionTarget = await AWS.DataZone.SubscriptionTarget("basicSubscriptionTarget", {
  Type: "DataLake",
  EnvironmentIdentifier: "env-1234",
  SubscriptionTargetConfig: [
    {
      type: "exampleConfigType",
      details: "exampleDetails"
    }
  ],
  ApplicableAssetTypes: ["Dataset", "Model"],
  AuthorizedPrincipals: ["arn:aws:iam::123456789012:role/example-role"],
  Name: "BasicSubscriptionTarget",
  DomainIdentifier: "domain-5678"
});

Advanced Configuration ​

Configure a SubscriptionTarget with additional properties, including a management access role and provider.

ts
const advancedSubscriptionTarget = await AWS.DataZone.SubscriptionTarget("advancedSubscriptionTarget", {
  Type: "DataLake",
  EnvironmentIdentifier: "env-5678",
  ManageAccessRole: "arn:aws:iam::123456789012:role/manage-access",
  SubscriptionTargetConfig: [
    {
      type: "advancedConfigType",
      details: "advancedDetails"
    }
  ],
  ApplicableAssetTypes: ["Dataset", "Notebook"],
  AuthorizedPrincipals: ["arn:aws:iam::123456789012:role/another-role"],
  Name: "AdvancedSubscriptionTarget",
  Provider: "example-provider",
  DomainIdentifier: "domain-9012"
});

Example with Adopt Option ​

Create a SubscriptionTarget that adopts an existing resource if it already exists.

ts
const adoptSubscriptionTarget = await AWS.DataZone.SubscriptionTarget("adoptSubscriptionTarget", {
  Type: "DataLake",
  EnvironmentIdentifier: "env-1357",
  SubscriptionTargetConfig: [
    {
      type: "adoptConfigType",
      details: "adoptDetails"
    }
  ],
  ApplicableAssetTypes: ["Dataset"],
  AuthorizedPrincipals: ["arn:aws:iam::123456789012:role/adopt-role"],
  Name: "AdoptSubscriptionTarget",
  DomainIdentifier: "domain-2468",
  adopt: true
});