import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { CreateResourceDataSyncRequest, CreateResourceDataSyncResult } from "../models/models_0"; import { ServiceInputTypes, ServiceOutputTypes, SSMClientResolvedConfig } from "../SSMClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateResourceDataSyncCommand}. */ export interface CreateResourceDataSyncCommandInput extends CreateResourceDataSyncRequest { } /** * @public * * The output of {@link CreateResourceDataSyncCommand}. */ export interface CreateResourceDataSyncCommandOutput extends CreateResourceDataSyncResult, __MetadataBearer { } declare const CreateResourceDataSyncCommand_base: { new (input: CreateResourceDataSyncCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: CreateResourceDataSyncCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

A resource data sync helps you view data from multiple sources in a single location. * Amazon Web Services 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 Amazon Web Services Regions to a single Amazon Simple Storage Service (Amazon S3) bucket. For more information, see Creating a * resource data sync for Inventory in the Amazon Web Services Systems Manager User Guide.

*

You can configure Systems Manager Explorer to use the SyncFromSource type to synchronize * operational work items (OpsItems) and operational data (OpsData) from multiple Amazon Web Services Regions to a * single Amazon S3 bucket. This type can synchronize OpsItems and OpsData from multiple * Amazon Web Services accounts and Amazon Web Services Regions or EntireOrganization by using Organizations. For more * information, see Setting up Systems Manager * Explorer to display data from multiple accounts and Regions in the * Amazon Web Services Systems Manager User Guide.

*

A resource data sync is an asynchronous operation that returns immediately. After a * successful initial sync is completed, the system continuously syncs data. To check the status of * a sync, use the ListResourceDataSync.

* *

By default, data isn't 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.

*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { SSMClient, CreateResourceDataSyncCommand } from "@aws-sdk/client-ssm"; // ES Modules import * // const { SSMClient, CreateResourceDataSyncCommand } = require("@aws-sdk/client-ssm"); // CommonJS import * const client = new SSMClient(config); * const input = { // CreateResourceDataSyncRequest * SyncName: "STRING_VALUE", // required * S3Destination: { // ResourceDataSyncS3Destination * BucketName: "STRING_VALUE", // required * Prefix: "STRING_VALUE", * SyncFormat: "JsonSerDe", // required * Region: "STRING_VALUE", // required * AWSKMSKeyARN: "STRING_VALUE", * DestinationDataSharing: { // ResourceDataSyncDestinationDataSharing * DestinationDataSharingType: "STRING_VALUE", * }, * }, * SyncType: "STRING_VALUE", * SyncSource: { // ResourceDataSyncSource * SourceType: "STRING_VALUE", // required * AwsOrganizationsSource: { // ResourceDataSyncAwsOrganizationsSource * OrganizationSourceType: "STRING_VALUE", // required * OrganizationalUnits: [ // ResourceDataSyncOrganizationalUnitList * { // ResourceDataSyncOrganizationalUnit * OrganizationalUnitId: "STRING_VALUE", * }, * ], * }, * SourceRegions: [ // ResourceDataSyncSourceRegionList // required * "STRING_VALUE", * ], * IncludeFutureRegions: true || false, * EnableAllOpsDataSources: true || false, * }, * }; * const command = new CreateResourceDataSyncCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param CreateResourceDataSyncCommandInput - {@link CreateResourceDataSyncCommandInput} * @returns {@link CreateResourceDataSyncCommandOutput} * @see {@link CreateResourceDataSyncCommandInput} for command's `input` shape. * @see {@link CreateResourceDataSyncCommandOutput} for command's `response` shape. * @see {@link SSMClientResolvedConfig | config} for SSMClient's `config` shape. * * @throws {@link InternalServerError} (server fault) *

An error occurred on the server side.

* * @throws {@link ResourceDataSyncAlreadyExistsException} (client fault) *

A sync configuration with the same name already exists.

* * @throws {@link ResourceDataSyncCountExceededException} (client fault) *

You have exceeded the allowed maximum sync configurations.

* * @throws {@link ResourceDataSyncInvalidConfigurationException} (client fault) *

The specified sync configuration is invalid.

* * @throws {@link SSMServiceException} *

Base exception class for all service exceptions from SSM service.

* * * @public */ export declare class CreateResourceDataSyncCommand extends CreateResourceDataSyncCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateResourceDataSyncRequest; output: {}; }; sdk: { input: CreateResourceDataSyncCommandInput; output: CreateResourceDataSyncCommandOutput; }; }; }