Skip to content

ProductSubscription

The ProductSubscription resource allows you to manage subscriptions for AWS SecurityHub products, enabling you to receive alerts and insights from various security services. For more information, refer to the AWS SecurityHub ProductSubscriptions documentation.

Minimal Example

Create a ProductSubscription with the required ProductArn property.

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

const productSubscription = await AWS.SecurityHub.ProductSubscription("myProductSubscription", {
  ProductArn: "arn:aws:securityhub:us-east-1:123456789012:product/my-product",
  adopt: true // If true, adopts the existing resource if it already exists
});

Advanced Configuration

Configure a ProductSubscription with additional properties for enhanced management.

ts
const advancedProductSubscription = await AWS.SecurityHub.ProductSubscription("advancedProductSubscription", {
  ProductArn: "arn:aws:securityhub:us-east-1:123456789012:product/my-advanced-product",
  adopt: false // Default is false, will fail if the resource already exists
});

Handling Subscription Updates

Handle updates to an existing ProductSubscription, ensuring you maintain current configurations.

ts
const updateProductSubscription = await AWS.SecurityHub.ProductSubscription("updateProductSubscription", {
  ProductArn: "arn:aws:securityhub:us-east-1:123456789012:product/my-updated-product",
  adopt: true // Adopt existing resource if already present
});

Monitoring Subscription Details

Retrieve details about the created ProductSubscription to verify its configuration.

ts
const subscriptionDetails = await AWS.SecurityHub.ProductSubscription("subscriptionDetails", {
  ProductArn: "arn:aws:securityhub:us-east-1:123456789012:product/my-product"
});

// Accessing additional properties after creation
console.log(`Subscription ARN: ${subscriptionDetails.Arn}`);
console.log(`Created at: ${subscriptionDetails.CreationTime}`);
console.log(`Last updated at: ${subscriptionDetails.LastUpdateTime}`);