---
updatedAt: 2025-11-12T00:59:32.000Z
agentTools:
  projectIndex: https://public.docs.kivera.io/llms.txt
---

# DRS

<Embed url="https://docs.aws.amazon.com/" title="AWS documentation" provider="docs.aws.amazon.com" href="https://docs.aws.amazon.com/" />

# AssociateSourceNetworkStack

```erlang
valid {
    input.Body.cfnStackName == STRING
    input.Body.sourceNetworkID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreateExtendedSourceServer

```erlang
valid {
    input.Body.sourceServerArn == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreateLaunchConfigurationTemplate

```erlang
enum_LaunchDisposition := [ "STOPPED", "STARTED" ]
enum_TargetInstanceTypeRightSizingMethod := [ "NONE", "BASIC", "IN_AWS" ]

valid {
    input.Body.copyPrivateIp == BOOLEAN
    input.Body.copyTags == BOOLEAN
    input.Body.exportBucketArn == STRING
    input.Body.launchDisposition == enum_LaunchDisposition[_]
    input.Body.launchIntoSourceInstance == BOOLEAN
    input.Body.licensing.osByol == BOOLEAN
    input.Body.postLaunchEnabled == BOOLEAN
    input.Body.tags.STRING == STRING
    input.Body.targetInstanceTypeRightSizingMethod == enum_TargetInstanceTypeRightSizingMethod[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreateReplicationConfigurationTemplate

```erlang
enum_PITPolicyRuleUnits := [ "MINUTE", "HOUR", "DAY" ]
enum_ReplicationConfigurationDataPlaneRouting := [ "PRIVATE_IP", "PUBLIC_IP" ]
enum_ReplicationConfigurationDefaultLargeStagingDiskType := [ "GP2", "GP3", "ST1", "AUTO" ]
enum_ReplicationConfigurationEbsEncryption := [ "DEFAULT", "CUSTOM", "NONE" ]

valid {
    input.Body.associateDefaultSecurityGroup == BOOLEAN
    input.Body.autoReplicateNewDisks == BOOLEAN
    input.Body.bandwidthThrottling == LONG
    input.Body.createPublicIP == BOOLEAN
    input.Body.dataPlaneRouting == enum_ReplicationConfigurationDataPlaneRouting[_]
    input.Body.defaultLargeStagingDiskType == enum_ReplicationConfigurationDefaultLargeStagingDiskType[_]
    input.Body.ebsEncryption == enum_ReplicationConfigurationEbsEncryption[_]
    input.Body.ebsEncryptionKeyArn == STRING
    input.Body.pitPolicy[_].enabled == BOOLEAN
    input.Body.pitPolicy[_].interval == INTEGER
    input.Body.pitPolicy[_].retentionDuration == INTEGER
    input.Body.pitPolicy[_].ruleID == LONG
    input.Body.pitPolicy[_].units == enum_PITPolicyRuleUnits[_]
    input.Body.replicationServerInstanceType == STRING
    input.Body.replicationServersSecurityGroupsIDs[_] == STRING
    input.Body.stagingAreaSubnetId == STRING
    input.Body.stagingAreaTags.STRING == STRING
    input.Body.tags.STRING == STRING
    input.Body.useDedicatedReplicationServer == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreateSourceNetwork

```erlang
valid {
    input.Body.originAccountID == STRING
    input.Body.originRegion == STRING
    input.Body.tags.STRING == STRING
    input.Body.vpcID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteJob

```erlang
valid {
    input.Body.jobID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteLaunchAction

```erlang
valid {
    input.Body.actionId == STRING
    input.Body.resourceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteLaunchConfigurationTemplate

```erlang
valid {
    input.Body.launchConfigurationTemplateID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteRecoveryInstance

```erlang
valid {
    input.Body.recoveryInstanceID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteReplicationConfigurationTemplate

```erlang
valid {
    input.Body.replicationConfigurationTemplateID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteSourceNetwork

```erlang
valid {
    input.Body.sourceNetworkID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteSourceServer

```erlang
valid {
    input.Body.sourceServerID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeJobLogItems

```erlang
valid {
    input.Body.jobID == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeJobs

```erlang
valid {
    input.Body.filters.fromDate == STRING
    input.Body.filters.jobIDs[_] == STRING
    input.Body.filters.toDate == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeLaunchConfigurationTemplates

```erlang
valid {
    input.Body.launchConfigurationTemplateIDs[_] == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeRecoveryInstances

```erlang
valid {
    input.Body.filters.recoveryInstanceIDs[_] == STRING
    input.Body.filters.sourceServerIDs[_] == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeRecoverySnapshots

```erlang
enum_RecoverySnapshotsOrder := [ "ASC", "DESC" ]

valid {
    input.Body.filters.fromDateTime == STRING
    input.Body.filters.toDateTime == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.order == enum_RecoverySnapshotsOrder[_]
    input.Body.sourceServerID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeReplicationConfigurationTemplates

```erlang
valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.replicationConfigurationTemplateIDs[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeSourceNetworks

```erlang
valid {
    input.Body.filters.originAccountID == STRING
    input.Body.filters.originRegion == STRING
    input.Body.filters.sourceNetworkIDs[_] == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeSourceServers

```erlang
valid {
    input.Body.filters.hardwareId == STRING
    input.Body.filters.sourceServerIDs[_] == STRING
    input.Body.filters.stagingAccountIDs[_] == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DisconnectRecoveryInstance

```erlang
valid {
    input.Body.recoveryInstanceID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DisconnectSourceServer

```erlang
valid {
    input.Body.sourceServerID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ExportSourceNetworkCfnTemplate

```erlang
valid {
    input.Body.sourceNetworkID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetFailbackReplicationConfiguration

```erlang
valid {
    input.Body.recoveryInstanceID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetLaunchConfiguration

```erlang
valid {
    input.Body.sourceServerID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetReplicationConfiguration

```erlang
valid {
    input.Body.sourceServerID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# InitializeService

```erlang
valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListExtensibleSourceServers

```erlang
valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.stagingAccountID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListLaunchActions

```erlang
valid {
    input.Body.filters.actionIds[_] == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.resourceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListStagingAccounts

```erlang
valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListTagsForResource

```erlang
valid {
    input.ReqMap.resourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# PutLaunchAction

```erlang
enum_LaunchActionCategory := [ "MONITORING", "VALIDATION", "CONFIGURATION", "SECURITY", "OTHER" ]
enum_LaunchActionParameterType := [ "SSM_STORE", "DYNAMIC" ]

valid {
    input.Body.actionCode == STRING
    input.Body.actionId == STRING
    input.Body.actionVersion == STRING
    input.Body.active == BOOLEAN
    input.Body.category == enum_LaunchActionCategory[_]
    input.Body.description == STRING
    input.Body.name == STRING
    input.Body.optional == BOOLEAN
    input.Body.order == INTEGER
    input.Body.parameters.STRING.type == enum_LaunchActionParameterType[_]
    input.Body.parameters.STRING.value == STRING
    input.Body.resourceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# RetryDataReplication

```erlang
valid {
    input.Body.sourceServerID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ReverseReplication

```erlang
valid {
    input.Body.recoveryInstanceID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartFailbackLaunch

```erlang
valid {
    input.Body.recoveryInstanceIDs[_] == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartRecovery

```erlang
valid {
    input.Body.isDrill == BOOLEAN
    input.Body.sourceServers[_].recoverySnapshotID == STRING
    input.Body.sourceServers[_].sourceServerID == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartReplication

```erlang
valid {
    input.Body.sourceServerID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartSourceNetworkRecovery

```erlang
valid {
    input.Body.deployAsNew == BOOLEAN
    input.Body.sourceNetworks[_].cfnStackName == STRING
    input.Body.sourceNetworks[_].sourceNetworkID == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartSourceNetworkReplication

```erlang
valid {
    input.Body.sourceNetworkID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StopFailback

```erlang
valid {
    input.Body.recoveryInstanceID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StopReplication

```erlang
valid {
    input.Body.sourceServerID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StopSourceNetworkReplication

```erlang
valid {
    input.Body.sourceNetworkID == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# TagResource

```erlang
valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.resourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# TerminateRecoveryInstances

```erlang
valid {
    input.Body.recoveryInstanceIDs[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# UntagResource

```erlang
valid {
    input.ReqMap.resourceArn == STRING
    input.Qs.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# UpdateFailbackReplicationConfiguration

```erlang
valid {
    input.Body.bandwidthThrottling == LONG
    input.Body.name == STRING
    input.Body.recoveryInstanceID == STRING
    input.Body.usePrivateIP == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# UpdateLaunchConfiguration

```erlang
enum_LaunchDisposition := [ "STOPPED", "STARTED" ]
enum_TargetInstanceTypeRightSizingMethod := [ "NONE", "BASIC", "IN_AWS" ]

valid {
    input.Body.copyPrivateIp == BOOLEAN
    input.Body.copyTags == BOOLEAN
    input.Body.launchDisposition == enum_LaunchDisposition[_]
    input.Body.launchIntoInstanceProperties.launchIntoEC2InstanceID == STRING
    input.Body.licensing.osByol == BOOLEAN
    input.Body.name == STRING
    input.Body.postLaunchEnabled == BOOLEAN
    input.Body.sourceServerID == STRING
    input.Body.targetInstanceTypeRightSizingMethod == enum_TargetInstanceTypeRightSizingMethod[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# UpdateLaunchConfigurationTemplate

```erlang
enum_LaunchDisposition := [ "STOPPED", "STARTED" ]
enum_TargetInstanceTypeRightSizingMethod := [ "NONE", "BASIC", "IN_AWS" ]

valid {
    input.Body.copyPrivateIp == BOOLEAN
    input.Body.copyTags == BOOLEAN
    input.Body.exportBucketArn == STRING
    input.Body.launchConfigurationTemplateID == STRING
    input.Body.launchDisposition == enum_LaunchDisposition[_]
    input.Body.launchIntoSourceInstance == BOOLEAN
    input.Body.licensing.osByol == BOOLEAN
    input.Body.postLaunchEnabled == BOOLEAN
    input.Body.targetInstanceTypeRightSizingMethod == enum_TargetInstanceTypeRightSizingMethod[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# UpdateReplicationConfiguration

```erlang
enum_PITPolicyRuleUnits := [ "MINUTE", "HOUR", "DAY" ]
enum_ReplicationConfigurationDataPlaneRouting := [ "PRIVATE_IP", "PUBLIC_IP" ]
enum_ReplicationConfigurationDefaultLargeStagingDiskType := [ "GP2", "GP3", "ST1", "AUTO" ]
enum_ReplicationConfigurationEbsEncryption := [ "DEFAULT", "CUSTOM", "NONE" ]
enum_ReplicationConfigurationReplicatedDiskStagingDiskType := [ "AUTO", "GP2", "GP3", "IO1", "SC1", "ST1", "STANDARD" ]

valid {
    input.Body.associateDefaultSecurityGroup == BOOLEAN
    input.Body.autoReplicateNewDisks == BOOLEAN
    input.Body.bandwidthThrottling == LONG
    input.Body.createPublicIP == BOOLEAN
    input.Body.dataPlaneRouting == enum_ReplicationConfigurationDataPlaneRouting[_]
    input.Body.defaultLargeStagingDiskType == enum_ReplicationConfigurationDefaultLargeStagingDiskType[_]
    input.Body.ebsEncryption == enum_ReplicationConfigurationEbsEncryption[_]
    input.Body.ebsEncryptionKeyArn == STRING
    input.Body.name == STRING
    input.Body.pitPolicy[_].enabled == BOOLEAN
    input.Body.pitPolicy[_].interval == INTEGER
    input.Body.pitPolicy[_].retentionDuration == INTEGER
    input.Body.pitPolicy[_].ruleID == LONG
    input.Body.pitPolicy[_].units == enum_PITPolicyRuleUnits[_]
    input.Body.replicatedDisks[_].deviceName == STRING
    input.Body.replicatedDisks[_].iops == LONG
    input.Body.replicatedDisks[_].isBootDisk == BOOLEAN
    input.Body.replicatedDisks[_].optimizedStagingDiskType == enum_ReplicationConfigurationReplicatedDiskStagingDiskType[_]
    input.Body.replicatedDisks[_].stagingDiskType == enum_ReplicationConfigurationReplicatedDiskStagingDiskType[_]
    input.Body.replicatedDisks[_].throughput == LONG
    input.Body.replicationServerInstanceType == STRING
    input.Body.replicationServersSecurityGroupsIDs[_] == STRING
    input.Body.sourceServerID == STRING
    input.Body.stagingAreaSubnetId == STRING
    input.Body.stagingAreaTags.STRING == STRING
    input.Body.useDedicatedReplicationServer == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# UpdateReplicationConfigurationTemplate

```erlang
enum_PITPolicyRuleUnits := [ "MINUTE", "HOUR", "DAY" ]
enum_ReplicationConfigurationDataPlaneRouting := [ "PRIVATE_IP", "PUBLIC_IP" ]
enum_ReplicationConfigurationDefaultLargeStagingDiskType := [ "GP2", "GP3", "ST1", "AUTO" ]
enum_ReplicationConfigurationEbsEncryption := [ "DEFAULT", "CUSTOM", "NONE" ]

valid {
    input.Body.arn == STRING
    input.Body.associateDefaultSecurityGroup == BOOLEAN
    input.Body.autoReplicateNewDisks == BOOLEAN
    input.Body.bandwidthThrottling == LONG
    input.Body.createPublicIP == BOOLEAN
    input.Body.dataPlaneRouting == enum_ReplicationConfigurationDataPlaneRouting[_]
    input.Body.defaultLargeStagingDiskType == enum_ReplicationConfigurationDefaultLargeStagingDiskType[_]
    input.Body.ebsEncryption == enum_ReplicationConfigurationEbsEncryption[_]
    input.Body.ebsEncryptionKeyArn == STRING
    input.Body.pitPolicy[_].enabled == BOOLEAN
    input.Body.pitPolicy[_].interval == INTEGER
    input.Body.pitPolicy[_].retentionDuration == INTEGER
    input.Body.pitPolicy[_].ruleID == LONG
    input.Body.pitPolicy[_].units == enum_PITPolicyRuleUnits[_]
    input.Body.replicationConfigurationTemplateID == STRING
    input.Body.replicationServerInstanceType == STRING
    input.Body.replicationServersSecurityGroupsIDs[_] == STRING
    input.Body.stagingAreaSubnetId == STRING
    input.Body.stagingAreaTags.STRING == STRING
    input.Body.useDedicatedReplicationServer == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```