Class CfnResourceDataSync

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:37.815Z") @Stability(Stable) public class CfnResourceDataSync extends CfnResource implements IInspectable
A CloudFormation AWS::SSM::ResourceDataSync.

The AWS::SSM::ResourceDataSync resource creates, updates, or deletes a resource data sync for AWS Systems Manager . A resource data sync helps you view data from multiple sources in a single location. Systems Manager offers two types of resource data sync: SyncToDestination and SyncFromSource .

You can configure Systems Manager Inventory to use the SyncToDestination type to synchronize Inventory data from multiple AWS Regions to a single Amazon S3 bucket.

You can configure Systems Manager Explorer to use the SyncFromSource type to synchronize operational work items (OpsItems) and operational data (OpsData) from multiple AWS Regions . This type can synchronize OpsItems and OpsData from multiple AWS accounts and Regions or from an EntireOrganization by using AWS Organizations .

A resource data sync is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data.

By default, data is not encrypted in Amazon S3 . We strongly recommend that you enable encryption in Amazon S3 to ensure secure data storage. We also recommend that you secure access to the Amazon S3 bucket by creating a restrictive bucket policy.

For more information, see Configuring Inventory Collection and Setting Up Systems Manager Explorer to Display Data from Multiple Accounts and Regions in the AWS Systems Manager User Guide .

Important: The following Syntax section shows all fields that are supported for a resource data sync. The Examples section below shows the recommended way to specify configurations for each sync type. Please see the Examples section when you create your resource data sync.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.ssm.*;
 CfnResourceDataSync cfnResourceDataSync = CfnResourceDataSync.Builder.create(this, "MyCfnResourceDataSync")
         .syncName("syncName")
         // the properties below are optional
         .bucketName("bucketName")
         .bucketPrefix("bucketPrefix")
         .bucketRegion("bucketRegion")
         .kmsKeyArn("kmsKeyArn")
         .s3Destination(S3DestinationProperty.builder()
                 .bucketName("bucketName")
                 .bucketRegion("bucketRegion")
                 .syncFormat("syncFormat")
                 // the properties below are optional
                 .bucketPrefix("bucketPrefix")
                 .kmsKeyArn("kmsKeyArn")
                 .build())
         .syncFormat("syncFormat")
         .syncSource(SyncSourceProperty.builder()
                 .sourceRegions(List.of("sourceRegions"))
                 .sourceType("sourceType")
                 // the properties below are optional
                 .awsOrganizationsSource(AwsOrganizationsSourceProperty.builder()
                         .organizationSourceType("organizationSourceType")
                         // the properties below are optional
                         .organizationalUnits(List.of("organizationalUnits"))
                         .build())
                 .includeFutureRegions(false)
                 .build())
         .syncType("syncType")
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnResourceDataSync

      protected CfnResourceDataSync(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnResourceDataSync

      protected CfnResourceDataSync(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnResourceDataSync

      @Stability(Stable) public CfnResourceDataSync(@NotNull Construct scope, @NotNull String id, @NotNull CfnResourceDataSyncProps props)
      Create a new AWS::SSM::ResourceDataSync.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrSyncName

      @Stability(Stable) @NotNull public String getAttrSyncName()
      The name of the resource data sync.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getSyncName

      @Stability(Stable) @NotNull public String getSyncName()
      A name for the resource data sync.
    • setSyncName

      @Stability(Stable) public void setSyncName(@NotNull String value)
      A name for the resource data sync.
    • getBucketName

      @Stability(Stable) @Nullable public String getBucketName()
      The name of the S3 bucket where the aggregated data is stored.
    • setBucketName

      @Stability(Stable) public void setBucketName(@Nullable String value)
      The name of the S3 bucket where the aggregated data is stored.
    • getBucketPrefix

      @Stability(Stable) @Nullable public String getBucketPrefix()
      An Amazon S3 prefix for the bucket.
    • setBucketPrefix

      @Stability(Stable) public void setBucketPrefix(@Nullable String value)
      An Amazon S3 prefix for the bucket.
    • getBucketRegion

      @Stability(Stable) @Nullable public String getBucketRegion()
      The AWS Region with the S3 bucket targeted by the resource data sync.
    • setBucketRegion

      @Stability(Stable) public void setBucketRegion(@Nullable String value)
      The AWS Region with the S3 bucket targeted by the resource data sync.
    • getKmsKeyArn

      @Stability(Stable) @Nullable public String getKmsKeyArn()
      The ARN of an encryption key for a destination in Amazon S3 .

      You can use a KMS key to encrypt inventory data in Amazon S3 . You must specify a key that exist in the same region as the destination Amazon S3 bucket.

    • setKmsKeyArn

      @Stability(Stable) public void setKmsKeyArn(@Nullable String value)
      The ARN of an encryption key for a destination in Amazon S3 .

      You can use a KMS key to encrypt inventory data in Amazon S3 . You must specify a key that exist in the same region as the destination Amazon S3 bucket.

    • getS3Destination

      @Stability(Stable) @Nullable public Object getS3Destination()
      Configuration information for the target S3 bucket.
    • setS3Destination

      @Stability(Stable) public void setS3Destination(@Nullable IResolvable value)
      Configuration information for the target S3 bucket.
    • setS3Destination

      @Stability(Stable) public void setS3Destination(@Nullable CfnResourceDataSync.S3DestinationProperty value)
      Configuration information for the target S3 bucket.
    • getSyncFormat

      @Stability(Stable) @Nullable public String getSyncFormat()
      A supported sync format.

      The following format is currently supported: JsonSerDe

    • setSyncFormat

      @Stability(Stable) public void setSyncFormat(@Nullable String value)
      A supported sync format.

      The following format is currently supported: JsonSerDe

    • getSyncSource

      @Stability(Stable) @Nullable public Object getSyncSource()
      Information about the source where the data was synchronized.
    • setSyncSource

      @Stability(Stable) public void setSyncSource(@Nullable IResolvable value)
      Information about the source where the data was synchronized.
    • setSyncSource

      @Stability(Stable) public void setSyncSource(@Nullable CfnResourceDataSync.SyncSourceProperty value)
      Information about the source where the data was synchronized.
    • getSyncType

      @Stability(Stable) @Nullable public String getSyncType()
      The type of resource data sync.

      If SyncType is SyncToDestination , then the resource data sync synchronizes data to an S3 bucket. If the SyncType is SyncFromSource then the resource data sync synchronizes data from AWS Organizations or from multiple AWS Regions .

    • setSyncType

      @Stability(Stable) public void setSyncType(@Nullable String value)
      The type of resource data sync.

      If SyncType is SyncToDestination , then the resource data sync synchronizes data to an S3 bucket. If the SyncType is SyncFromSource then the resource data sync synchronizes data from AWS Organizations or from multiple AWS Regions .