AWS.DLM — AWS SDK for JavaScript (original) (raw)

Examples:

Calling the createLifecyclePolicy operation

var params = {
  Description: 'STRING_VALUE', /* required */
  ExecutionRoleArn: 'STRING_VALUE', /* required */
  State: ENABLED | DISABLED, /* required */
  CopyTags: true || false,
  CreateInterval: 'NUMBER_VALUE',
  CrossRegionCopyTargets: [
    {
      TargetRegion: 'STRING_VALUE'
    },
    /* more items */
  ],
  DefaultPolicy: VOLUME | INSTANCE,
  Exclusions: {
    ExcludeBootVolumes: true || false,
    ExcludeTags: [
      {
        Key: 'STRING_VALUE', /* required */
        Value: 'STRING_VALUE' /* required */
      },
      /* more items */
    ],
    ExcludeVolumeTypes: [
      'STRING_VALUE',
      /* more items */
    ]
  },
  ExtendDeletion: true || false,
  PolicyDetails: {
    Actions: [
      {
        CrossRegionCopy: [ /* required */
          {
            EncryptionConfiguration: { /* required */
              Encrypted: true || false, /* required */
              CmkArn: 'STRING_VALUE'
            },
            Target: 'STRING_VALUE', /* required */
            RetainRule: {
              Interval: 'NUMBER_VALUE',
              IntervalUnit: DAYS | WEEKS | MONTHS | YEARS
            }
          },
          /* more items */
        ],
        Name: 'STRING_VALUE' /* required */
      },
      /* more items */
    ],
    CopyTags: true || false,
    CreateInterval: 'NUMBER_VALUE',
    CrossRegionCopyTargets: [
      {
        TargetRegion: 'STRING_VALUE'
      },
      /* more items */
    ],
    EventSource: {
      Type: MANAGED_CWE, /* required */
      Parameters: {
        DescriptionRegex: 'STRING_VALUE', /* required */
        EventType: shareSnapshot, /* required */
        SnapshotOwner: [ /* required */
          'STRING_VALUE',
          /* more items */
        ]
      }
    },
    Exclusions: {
      ExcludeBootVolumes: true || false,
      ExcludeTags: [
        {
          Key: 'STRING_VALUE', /* required */
          Value: 'STRING_VALUE' /* required */
        },
        /* more items */
      ],
      ExcludeVolumeTypes: [
        'STRING_VALUE',
        /* more items */
      ]
    },
    ExtendDeletion: true || false,
    Parameters: {
      ExcludeBootVolume: true || false,
      ExcludeDataVolumeTags: [
        {
          Key: 'STRING_VALUE', /* required */
          Value: 'STRING_VALUE' /* required */
        },
        /* more items */
      ],
      NoReboot: true || false
    },
    PolicyLanguage: SIMPLIFIED | STANDARD,
    PolicyType: EBS_SNAPSHOT_MANAGEMENT | IMAGE_MANAGEMENT | EVENT_BASED_POLICY,
    ResourceLocations: [
      CLOUD | OUTPOST,
      /* more items */
    ],
    ResourceType: VOLUME | INSTANCE,
    ResourceTypes: [
      VOLUME | INSTANCE,
      /* more items */
    ],
    RetainInterval: 'NUMBER_VALUE',
    Schedules: [
      {
        ArchiveRule: {
          RetainRule: { /* required */
            RetentionArchiveTier: { /* required */
              Count: 'NUMBER_VALUE',
              Interval: 'NUMBER_VALUE',
              IntervalUnit: DAYS | WEEKS | MONTHS | YEARS
            }
          }
        },
        CopyTags: true || false,
        CreateRule: {
          CronExpression: 'STRING_VALUE',
          Interval: 'NUMBER_VALUE',
          IntervalUnit: HOURS,
          Location: CLOUD | OUTPOST_LOCAL,
          Scripts: [
            {
              ExecutionHandler: 'STRING_VALUE', /* required */
              ExecuteOperationOnScriptFailure: true || false,
              ExecutionHandlerService: AWS_SYSTEMS_MANAGER,
              ExecutionTimeout: 'NUMBER_VALUE',
              MaximumRetryCount: 'NUMBER_VALUE',
              Stages: [
                PRE | POST,
                /* more items */
              ]
            },
            /* more items */
          ],
          Times: [
            'STRING_VALUE',
            /* more items */
          ]
        },
        CrossRegionCopyRules: [
          {
            Encrypted: true || false, /* required */
            CmkArn: 'STRING_VALUE',
            CopyTags: true || false,
            DeprecateRule: {
              Interval: 'NUMBER_VALUE',
              IntervalUnit: DAYS | WEEKS | MONTHS | YEARS
            },
            RetainRule: {
              Interval: 'NUMBER_VALUE',
              IntervalUnit: DAYS | WEEKS | MONTHS | YEARS
            },
            Target: 'STRING_VALUE',
            TargetRegion: 'STRING_VALUE'
          },
          /* more items */
        ],
        DeprecateRule: {
          Count: 'NUMBER_VALUE',
          Interval: 'NUMBER_VALUE',
          IntervalUnit: DAYS | WEEKS | MONTHS | YEARS
        },
        FastRestoreRule: {
          AvailabilityZones: [ /* required */
            'STRING_VALUE',
            /* more items */
          ],
          Count: 'NUMBER_VALUE',
          Interval: 'NUMBER_VALUE',
          IntervalUnit: DAYS | WEEKS | MONTHS | YEARS
        },
        Name: 'STRING_VALUE',
        RetainRule: {
          Count: 'NUMBER_VALUE',
          Interval: 'NUMBER_VALUE',
          IntervalUnit: DAYS | WEEKS | MONTHS | YEARS
        },
        ShareRules: [
          {
            TargetAccounts: [ /* required */
              'STRING_VALUE',
              /* more items */
            ],
            UnshareInterval: 'NUMBER_VALUE',
            UnshareIntervalUnit: DAYS | WEEKS | MONTHS | YEARS
          },
          /* more items */
        ],
        TagsToAdd: [
          {
            Key: 'STRING_VALUE', /* required */
            Value: 'STRING_VALUE' /* required */
          },
          /* more items */
        ],
        VariableTags: [
          {
            Key: 'STRING_VALUE', /* required */
            Value: 'STRING_VALUE' /* required */
          },
          /* more items */
        ]
      },
      /* more items */
    ],
    TargetTags: [
      {
        Key: 'STRING_VALUE', /* required */
        Value: 'STRING_VALUE' /* required */
      },
      /* more items */
    ]
  },
  RetainInterval: 'NUMBER_VALUE',
  Tags: {
    '<TagKey>': 'STRING_VALUE',
    /* '<TagKey>': ... */
  }
};
dlm.createLifecyclePolicy(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});