Skip to content
GitHubXDiscord

StorageConfiguration

The StorageConfiguration resource lets you manage AWS IVS StorageConfigurations for storing video stream data in S3.

Create a basic StorageConfiguration with required properties and a common optional property.

import AWS from "alchemy/aws/control";
const storageConfig = await AWS.IVS.StorageConfiguration("basicStorageConfig", {
S3: {
bucketName: "my-video-storage-bucket",
roleArn: "arn:aws:iam::123456789012:role/MyIVSRole"
},
Name: "MyBasicStorageConfig"
});

Configure a StorageConfiguration with additional options such as tags.

const advancedStorageConfig = await AWS.IVS.StorageConfiguration("advancedStorageConfig", {
S3: {
bucketName: "my-advanced-video-bucket",
roleArn: "arn:aws:iam::123456789012:role/MyIVSAdvancedRole"
},
Tags: [
{ Key: "Environment", Value: "Production" },
{ Key: "Project", Value: "IVS" }
],
Name: "MyAdvancedStorageConfig"
});

Adopt an existing StorageConfiguration instead of failing if it already exists.

const adoptedStorageConfig = await AWS.IVS.StorageConfiguration("adoptedStorageConfig", {
S3: {
bucketName: "my-existing-video-bucket",
roleArn: "arn:aws:iam::123456789012:role/MyIVSAdoptRole"
},
adopt: true
});

Create a StorageConfiguration with specific tags and a custom name.

const taggedStorageConfig = await AWS.IVS.StorageConfiguration("taggedStorageConfig", {
S3: {
bucketName: "my-tagged-video-bucket",
roleArn: "arn:aws:iam::123456789012:role/MyIVSTaggedRole"
},
Tags: [
{ Key: "Department", Value: "Media" },
{ Key: "Compliance", Value: "GDPR" }
],
Name: "MyTaggedStorageConfig"
});