Skip to content

ResourceDataSync ​

The ResourceDataSync resource allows you to configure and manage the synchronization of your AWS Systems Manager (SSM) data across different AWS Regions and accounts. For more detailed information, refer to the AWS SSM ResourceDataSyncs documentation.

Minimal Example ​

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

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

const resourceDataSync = await AWS.SSM.ResourceDataSync("myResourceDataSync", {
  SyncName: "MyResourceDataSync",
  S3Destination: {
    BucketName: "my-bucket",
    BucketPrefix: "ssm-sync/",
    BucketRegion: "us-east-1",
    SyncFormat: "Json"
  }
});

Advanced Configuration ​

Configure a ResourceDataSync with additional settings such as encryption with KMS.

ts
const advancedResourceDataSync = await AWS.SSM.ResourceDataSync("advancedResourceDataSync", {
  SyncName: "AdvancedResourceDataSync",
  S3Destination: {
    BucketName: "my-secure-bucket",
    BucketPrefix: "secure-ssm-sync/",
    BucketRegion: "us-west-2",
    SyncFormat: "Json"
  },
  KMSKeyArn: "arn:aws:kms:us-west-2:123456789012:key/abcd1234-efgh-5678-ijkl-90mnopqrst"
});

Syncing Multiple Sources ​

Set up a ResourceDataSync that syncs data from multiple sources.

ts
const multiSourceResourceDataSync = await AWS.SSM.ResourceDataSync("multiSourceResourceDataSync", {
  SyncName: "MultiSourceResourceDataSync",
  S3Destination: {
    BucketName: "my-multi-source-bucket",
    BucketPrefix: "multi-source-ssm-sync/",
    BucketRegion: "us-west-1",
    SyncFormat: "Json"
  },
  SyncSource: {
    SourceType: "AWS::SSM::ManagedInstance",
    SourceRegions: ["us-east-1", "us-west-2"],
    IncludeAll: true
  }
});