## List of all available samples

## Agents

AddDeleteAgentSample
ChangeProtectionSettingsSample
GetAgentDetailsBulkSample
GetAgentMetadataSample
GetAgentsSample
ManagingAgentGroupsSample
ManagingAgentsSample

## Authentication

AuthenticateWithClientCertificateSample
AuthenticationSample

## AutomaticUpdate

GetUpdateConfigurationSample
UpdateConfigurationSample
UpdateSample

## AutoReporting

CreateReportConfigurationSample
ManageReportsConfigurationsSample

## BackgroundJobs

CancelJobsSample
GetDifferentTypesBackgroundJobSample
MonitorAgentJobSample

## Backup

ConfiguratingScheduleredBackupSample
CreateArchiveSample
CreateNetworkArchiveSample
ImportArchiveSample
ImportNetworkArchiveSample
PauseResumeSchedulerSample

## BootCdBuilder

CreateBootCDSample
DeleteBootCdSample

## CachedMethods

GettingCachedAgentInfoSample

## Cloud

ExportingArchiveToCloudSample
ImportingArchiveFromCloudSample
ManagingAmazonCloudAccountSample

## Clusters

AddClusterUnderProtectionSample
ConvertClusterNodeToAgentSample

## CoreConfigurationBackupRestore

BackupConfigurationSample
RestoreConfigurationSample

## Dashboard

DashboardReportsSample

## DatabaseStorage

ManageDatabaseStorageConfigurationSample

## Diagnostics

GetAgentLogsSample

## Emails

ManageSmtpEmailSettingsSample

## Encryption

ConvertEncryptionKeySample
CreateDeleteKeySample
FileExportImportKeySample
GeneralExportImportKeySample
GetEncryptionKeysSample
LockUnlockKeySample
UpdateKeyInfoSample

## Events

ConfigureEmailNotification
ConfigureNotificationGroupsSample
DismissAlertsSample
GetEventsSample
WindowsEventTriggerSample

## Exchange

ChecksumCheckSample
MountabilityCheckSample

## Export

EsxExportSample
HyperVExportSample
VirtualBoxLocalExportSample
VirtualBoxRemoteLinuxExportSample
VirtualBoxWindowsRemoteExportSample
VirtualStandBySample
VmWareExportSample

## FileSearch

ManageFileSearchSample
RestoreFoundFilesSample

## HyperV

AddHyperVServerUnderProtectionSample
AddHyperVVirtualMachineUnderProtectionSample
ConfigureHyperVServerSample
GetHyperVServerInfoSample

## Licensing

ApplyLicenseKeyFromFileSample
ManageLicenseInfoSample

## LogTruncation

ForceLogTruncationSample

## Metadata

GetCoreMetadataSample

## Mounts

DisconnectAgentRemoteMountsSample
DisconnectAllRemoteMountsSample
MountLockedWIthKeyRecoveryPointSample
MountRecoveryPointSample

## NightlyJobs

DisableOrEnableCoresNightliyJobs
DisableOrEnableNightliyJobsForAgent
DisableOrEnableNightliyJobsForAllAgents
GetCoreFullNightliyJobsSettings
GetCoreLightNightliyJobsSettings
ManipulateNightlyJobProcess
ModifyNightlyJobsStartTime
ModifyNightlyRollupForAgent
ModifyNightlyRollupForCore

## ProtectedItems

GetProtectedItemsSample

## PushInstall

DeployAgentsSample
GetDeployedAgentStateSample

## RecoveryPoints

GettingAgentRecoveryPointsSample

## Replication

AbandonSeedDriveSamples
ConsumeSeedDriveSample
CreateReplicationByRequestSample
CreateSeedDriveSample
DeleteIncomingReplicationSample
DeleteOutgoingReplicationSample
FailoverFailbackSample
ForceIncomingReplicationSample
ForceOutgoingReplicationSample
GetReplicationInfoSample
HandlePendingPairingRequestSample
ModifyOutgoingReplicationPolicySample
PauseIncomingReplicationSample
PauseOutgoingReplicationSample
ReplicationByDemandSample

## Reporting

GetAgentReportSample
GetCoreReportSample
GetDatabaseCoreIdentitiesSample
GetSelfReportSample
GetSummaryReportSample

## Repositories

AddExistingDvmRepositorySample
AddNewDvmRepositorySample
AddStorageToDvmRepositorySample
CheckCifsCredentialsSample
CheckDvmRepositorySample
ConfigureDvmRepositorySample
DeleteDvmRepositorySample
GetDvmRepositoryInfoSample

## Rollback

BareMetalRestoreSample
GetRestoreInfoSample
RollbackSample

## Rollup

ManageAgentRetentionPolicySample
ManageCoreRollupConfigurationSample

## Snmp

ManageSnmpSettingsSample

## Sql

ForceAttachabilityCheckSample
ManagementAttachabilitySettingsSample

## StatusSummary

GetStatusSummaryInfoSample
RestartFailedServicesSample

## Transfer

ApplyProtectionScheduleTemplate
ChangeSchedulerSettingsSample
CreateNewProtectionGroupSample
ForceParallelFewTransfersSample
ForceTransferSample
GetScheduleTemplates
ManageScheduleTemplates
ManagingProtectionGroupsSample
PauseProtectionSample
SetSchedulerWholeWeekSample

## VSphere

AddVirtualMachinesUnderProtectionSample
AgentLessProtectionSample
ConfigureAutoProtectedNodesSample
GetInfoSample

## Descriptions

# Agents

Name | Description | Preconditions
AddDeleteAgentSample | This sample demonstrates how to add an agent under the protection of the Core, find the specified agent, delete the agent from protection | - The Core service running - Machine on which the Agent Service is installed - At least one available Repository on the Core
ChangeProtectionSettingsSample | This sample demonstrates how to change hostname, display name and port of the Agent | - The Core service running - Protected Agent
GetAgentDetailsBulkSample | This sample demonstrates how to get protected machine metadata | - The Core service running - Protected machine
GetAgentMetadataSample | This sample demonstrates how to get protected machine metadata | - The Core service running - Protected machine
GetAgentsSample | This sample demonstrates how to list agents | - The Core service running - A Core should have some protected or replicated agents of even recovery points only agents
ManagingAgentGroupsSample | This sample demonstrates how to manage machines groups: create, delete, rename. | - The Core service running - 2 protected machines
ManagingAgentsSample | This sample demonstrates how to manage machines in a group: add a machine to a group, remove a machine from a group. | - The Core service running - Protected machine - Custom manchine group

# Authentication

Name | Description | Preconditions
AuthenticateWithClientCertificateSample | This sample demonstrates how to search core client certificate in the windows certificate store and how to use it to authenticate with a core. NOTE: Current sample works only on local host with preinstalled Core. To run your client app remotely from a core you need to import core's client certificate to a machine with your client app. The core's client certificate Issuer name always contains suffix 'AppRecoveryCoreClientCertificate'. Core installs it's certificates to the Trusted Root. | - The Core service running - Core client certificate on the client side
AuthenticationSample | This sample demonstrates how you can create the CoreClient for invoking API methods with default authentication (uses the login and password of the current logged user) and authentication with specific credentials | - The Core service running

# AutomaticUpdate

Name | Description | Preconditions
GetUpdateConfigurationSample | This sample demonstrates how to get update configuration about the Core and information about available updates | - The Core service running
UpdateConfigurationSample | This sample demonstrates how to change the update configuration | - The Core service running
UpdateSample | This sample demonstrates how to force an update of the Core | - The Core service running

# AutoReporting

Name | Description | Preconditions
CreateReportConfigurationSample | This sample demonstrates how to create a new report configuration | - The Core service running
ManageReportsConfigurationsSample | This sample demonstrates how to get a list of reports configurations pause, resume and delete reports | - The Core service running - At least one report was configured

# BackgroundJobs

Name | Description | Preconditions
CancelJobsSample | This sample demonstrates how to cancel a job that is running or one of its child job | - The Core service running - Protected agent - Job that is running on the core with at least one child job
GetDifferentTypesBackgroundJobSample | This sample demonstrates how to get information about the jobs with different statuses | - The Core service running - Protected agent - Running job for agent - Failed job that were started during last 24 hours
MonitorAgentJobSample | This sample demonstrates how to monitor protected machine jobs: how to get status information and how to monitor job execution until they finish (succeed, fail, cancel). | - The Core service is running - A machine is protected by the Core - At least one running job for the agent (transfer, export etc.)

# Backup

Name | Description | Preconditions
ConfiguratingScheduleredBackupSample | This sample demonstrates how to schedule the backup For the first Agent the backup will be perform every week on Friday For the second Agent the backup will be perform every day | - The Core service running - Two protected Agents
CreateArchiveSample | This sample demonstrates how to create an archive of the recovery points | - The Core service running - At least one recovery point - Protected agent
CreateNetworkArchiveSample | This sample demonstrates how to create an archive of the recovery points and save it to the network storage | - The Core service running - Protected agent - At least one recovery point
ImportArchiveSample | This sample demonstrates how to import recovery points from an archive placed on the same machine with a core. | - The Core service running - An archive with recovery points on the same machine as the Core - At least one available repository on the Core
ImportNetworkArchiveSample | This sample demonstrates how to import recovery points from an archive placed on a network share folder. | - The Core service running - The archive with recovery points placed on shared folder - At least one available repository on the Core
PauseResumeSchedulerSample | This sample demonstrates how to pause/resume the scheduled archive | - The Core service running - At least one scheduled archive

# BootCdBuilder

Name | Description | Preconditions
CreateBootCDSample | This sample demonstrates how to create a Boot CD. | - The Core service running
DeleteBootCdSample | This sample demonstrates how to delete Boot CD. | - The Core service running - At least one available Boot CD on the Core

# CachedMethods

Name | Description | Preconditions
GettingCachedAgentInfoSample | This sample demonstrates the benefits from using the cached ETag methods More info about ETag: http://en.wikipedia.org/wiki/HTTP_ETag | - The Core service running - Protected Agent

# Cloud

Name | Description | Preconditions
ExportingArchiveToCloudSample | This sample demonstrates how to create and upload an archive to the cloud | - The Core service running - Protected machine with recovery points - Cloud account
ImportingArchiveFromCloudSample | This sample demonstrates how to import an archive from the cloud | - The Core service running - The cloud account with uploaded archive - At least one available repository on the Core - At least one protected machine
ManagingAmazonCloudAccountSample | This sample demonstrates how to manage with cloud accounts Add new cloud account configuration Update cloud account configuration Remove cloud account configuration | - The Core service running

# Clusters

Name | Description | Preconditions
AddClusterUnderProtectionSample | This sample demonstrates how to add a cluster under the Core protection | - The Core service running - Configured cluster with at least two nodes - At least one available repository on the Core
ConvertClusterNodeToAgentSample | This sample demonstrates how to convert a protected cluster node to a simple agent | - The Core service running - Configured cluster with a protected node

# CoreConfigurationBackupRestore

Name | Description | Preconditions
BackupConfigurationSample | This sample demonstrates how to backup core configuration. | - The Core service running
RestoreConfigurationSample | This sample demonstrates how to restore backed up core configuration. | - The Core service running - Backed Up core configuration

# Dashboard

Name | Description | Preconditions
DashboardReportsSample | This sample demonstrates how to get counts for success and failure jobs | - The Core service running - Core have protected one agent - At least one failed and one succeeded job

# DatabaseStorage

Name | Description | Preconditions
ManageDatabaseStorageConfigurationSample | This sample demonstrates how to: - Get and set database storage configuration and MongoDB service controller configuration - Set a new database path - Test a connection to MongoDB service - Restore to the original configuration | - The Core service running

# Diagnostics

Name | Description | Preconditions
GetAgentLogsSample | This sample demonstrates how to get logs from a specified agent and how to restart the Agent's service | - The Core service running - Protected Agent

# Emails

Name | Description | Preconditions
ManageSmtpEmailSettingsSample | This sample demonstrates how to manage the SMTP email settings | - The Core service running - Email account

# Encryption

Name | Description | Preconditions
ConvertEncryptionKeySample | This sample demonstrates how to convert universal encryption key to replicated and vice versa. WARNING Conversation of a replicated key needs its passphrase. | - The Core service running - One universal encryption key
CreateDeleteKeySample | This sample demonstrates how to create a new encryption key, display its info and delete the key. | - The Core service running
FileExportImportKeySample | This sample demonstrates how to export encryption key to a file and how to import an encryption key from a file. WARNING Note that the exported file is not locked with a passphrase and the key can be read there. When imported the key will again be locked within the Core. It must be unlocked with it's passphase before the Core can use it. WARNING During this sample a random encryption key will be deleted so don't use production keys. | - The Core service running - At least one encryption key
GeneralExportImportKeySample | This sample demonstrates how to export encryption key and to import it back. Exported key represents .net object so it could be used in any appropriate way: send via network, serialize and save to a stream etc. WARNING You should know that after export a key does not contain passphrase so after import a key will be locked and must be unlocked with its passphrase. WARNING During this sample a random encryption key will be deleted so don't use production keys. | - The Core service running - At least one encryption key
GetEncryptionKeysSample | This sample demonstrates how to get and display available encryption keys. | - The Core service running - At least one encryption key
LockUnlockKeySample | This sample demonstrates how to lock and unlock a replicated encryption key. Only replicated keys are allowed to be locked and unlocked. | - The Core service running - One replicated encryption key
UpdateKeyInfoSample | This sample demonstrates how to change key name, comment and passphrase. | - The Core service running - At least one Universal encryption key

# Events

Name | Description | Preconditions
ConfigureEmailNotification | This sample demonstrates how to configure email notification for core's and agent's notification groups. Also the sample demonstrates email templates configuration and show how to send test email. | - The Core service running - Pre configured SMTP - Core's notification group - A protected agent with a notification group
ConfigureNotificationGroupsSample | This sample demonstrates how to create a new notification group with appropriate alerts for a core and for an agent. | - The Core service running - At least one protected Agent
DismissAlertsSample | This sample demonstrates how to dismiss a specific alert, alerts related to a specific agent, and alerts related to a core. | - The Core service running - Database which is populated by not dismissed alerts
GetEventsSample | This sample demonstrates how to search events/alerts in core database. The sample provides methods to search using standard requests and regular expressions. | - The Core service running - Database which is populated by events
WindowsEventTriggerSample | This sample demonstrates how to monitor Windows Events and how to react when a Core writes something into Windows Events Log. This sample registers an event handler to capture events from Windows Events log 'Quest' with 'Rapid Recovery' source written by a Core. The event handler stays active until a key is pressed in the command line. After the Windows event is created, the sample gets the same event but from the Core's database. NOTE: The file WindowsEventIds.html lists the Windows Events that the Core can produce. It is in the root of the SDK zip file. NOTE: More detailed information about Microsoft API to work with Windows Events you can find here: https://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog(v=vs.110).aspx | - The Core service running - Any active jobs

# Exchange

Name | Description | Preconditions
ChecksumCheckSample | This sample demonstrates how to: - Get and set Exchange server settings - Get and set checksum check queue configuration - Get specified checksum check entry - Force checksum check | - The Core service running - Protected machine with installed Exchange Server - At least one recovery point where Exchange databases exists
MountabilityCheckSample | This sample demonstrates how to: - Get and set mountability check queue configuration - Force the mountability check - Get specified mountability check entry | - The Core service running - Protected machine with installed Exchange Server - At least one recovery point where Exchange databases exists

# Export

Name | Description | Preconditions
EsxExportSample | This sample demonstrate how to start the ESXi/VCenter export and get information about the export job by using the AppRecovery API 1. Query the ESX/VCenter information 2. Preparing the export location 3. Perform the export location validation 4. Preparing the export job request. 5. Forcing the export by using the export scheduler 6. Get information about the forced export 6.1. Get the export entry by entry ID 6.2. Get the export job ID from the entry 6.3. Find the export job by using the export job ID | - The Core service running - You need the running core service with the protected agent that has at last the 1 recovery point - You need an ESX server or the configured VCenter
HyperVExportSample | This sample demonstrate how to start the Hyper-V export and get the information about an export job by using the AppRecovery API 1. Preparing the export location 2. Perform the export location validation 3. Perform the Hyper-V credentials validation 4. Perform the Hyper-V role installation 5. Perform is the Hyper-V disk exist 6. Preparing the export job request. 7. Forcing the export by using the export scheduler 8. Get an information about the forced export 8.1. Get the export entry by the entry ID 8.2. Get the export job ID from the entry 8.3. Find the export job by using the export job ID | - The Core service running - You need the running core service with the protected agent that has at last the 1 recovery point - You need a server with the installed Hyper-V role on it
VirtualBoxLocalExportSample | This sample demonstrate how to start a remote VirtualBOX export on a local machine and get information about an export job by using the AppRecovery API 1. Preparing the export location 2. Export location validation 3. Preparing the export job request. 4. Forcing an export by using the export scheduler 5. Get information about a forced export 5.1. Get the export entry by the entry ID 5.2. Get the export job ID from the entry 5.3. Find the export job by using the export job ID | - The Core service running - You need the core service running with a protected agent that has at lest one recovery point - VirtualBox installed on the CORE machine
VirtualBoxRemoteLinuxExportSample | This sample demonstrate how to start the remote VirtualBOX export on a Linux machine and get information about an export job by using the AppRecovery API 1. Preparing the export location 2. Perform the export location validation 3. Preparing the export job request. 4. Forcing the export by using the export scheduler 5. Get information about a forced export 5.1. Get the export entry by the entry ID 5.2. Get the export job ID from the entry 5.3. Find the export job by using the export job ID | - The Core service running - You need the core service running with the protected agent that has at lest 1 recovery point - The VirtualBox installed on the LINUX machine
VirtualBoxWindowsRemoteExportSample | This sample demonstrates how to start the VirtualBox export to the windows shared folder and get information about an export job by using the AppRecovery API 1. Preparing the export location 2. Export location validation 3. Preparing the export job request. 4. Forcing the export by using the export scheduler 5. Get information about the forced export 5.1. Get the export entry by the entry ID 5.2. Get the export job ID from the entry 5.3. Find the export job by using the export job ID | - The Core service running - You need the core service running with the protected agent that has at least 1 recovery point - The VirtualBox installed on the CORE machine
VirtualStandBySample | This sample demonstrate how to manage virtual stand-by configurations by using the AppRecovery API 1. Creating the agent export configuration 2. Pausing the virtual stand-by export 3. Resuming the virtual stand-by export 4. Removing the virtual stand-by export 5. Enumerating all export configurations | - The Core service running - You need the running core service with the protected agent that has at last the 1 recovery point
VmWareExportSample | This sample demonstrate how to start the VmWare export and get information about the export job by using the AppRecovery API 1. Preparing the export job request. 2. Forcing export by using the export scheduler 3. Get information about forced export 3.1. Get the export entry by using the entry ID 3.2. Get the export job ID from the entry 3.3. Find the export job by using the export job ID | - The Core service running - You need the running core service with the protected agent that has at last the 1 recovery point

# FileSearch

Name | Description | Preconditions
ManageFileSearchSample | This sample demonstrates how to search files in recovery points | - The Core service running - Protected agent - Protected volume C:\ with Windows installed - At least one recovery point
RestoreFoundFilesSample | This sample demonstrates how to restore found files in recovery points | - The Core service running - Protected agent - Protected volume C:\ with Windows installed - At least one recovery point

# HyperV

Name | Description | Preconditions
AddHyperVServerUnderProtectionSample | This sample demonstrates Hyper-V virtual machine protection without an agent in the VM. The sample will protect the first virtual machine found. | - The Core service running - At least one available repository on the Core - An available hyperV server and at least one virtual machine running
AddHyperVVirtualMachineUnderProtectionSample | This sample demonstrates how to protect a virtual machine (agent less) of an already protected hyperV server. The sample will protect the first HyperV machine found. | - The Core service running - At least one available repository on the Core - A protected HyperV server with at least one hyperV virtual machine which is not under protection
ConfigureHyperVServerSample | This sample demonstrates how to configure an existing hyperV server. | - The Core service running - An protected hyperV server on Core machine
GetHyperVServerInfoSample | This sample demonstrates how to get information about hyperV server and hyperV virtual machine. | - The Core service running - An protected hyperV server on Core machine

# Licensing

Name | Description | Preconditions
ApplyLicenseKeyFromFileSample | This sample demonstrates how to: - Get the license key from the file - Apply the new license key | - The Core service running - The license key file (*.lic)
ManageLicenseInfoSample | This sample demonstrates how to get a license information about a Core or a specified Agent and how to change the license key | - The Core service running - Protected Agent

# LogTruncation

Name | Description | Preconditions
ForceLogTruncationSample | This sample demonstrates how to force log truncation for agents with SQL or Exchange server installed | - The Core service running - Protected agents with SQL or/and Exchange server installed

# Metadata

Name | Description | Preconditions
GetCoreMetadataSample | This sample demonstrates how to get Core's metadata | - The Core service running

# Mounts

Name | Description | Preconditions
DisconnectAgentRemoteMountsSample | This sample demonstrates how to register a remote mount of specified Agent on the Core, get lists of the registered remote mounts and disconnect all remote mounts for the specified Agent | - The Core service running - Protected Agent - At least one remote mount for the specified Agent
DisconnectAllRemoteMountsSample | This sample demonstrates how to disconnect all remote mounts registered on the Core | - The Core service running - At least one remote mount that is registered on this Core
MountLockedWIthKeyRecoveryPointSample | The sample demonstrates how to mount and dismount an encrypted recovery point. WARNING Note that encryption key will stay unlocked after the sample finishes running. | - The Core service running - Locked encryption key - Protected Agent - The first recovery point of the first agent is encrypted
MountRecoveryPointSample | This sample demonstrates how to mount and dismount a recovery point | - The Core service running - Protected Agent - At least one recovery point for the Agent

# NightlyJobs

Name | Description | Preconditions
DisableOrEnableCoresNightliyJobs | This sample demonstrates how to enable or disable a nigthly job and its agents. | - The Core service running
DisableOrEnableNightliyJobsForAgent | Short sample to demonstrate how to get nightly settings for a specific agent and to amend this settings. | - The Core service running - At least one protected Agent
DisableOrEnableNightliyJobsForAllAgents | This sample demonstrates how disable/enable nightly jobs for all agents at once. | - The Core service running - At least on protected machine
GetCoreFullNightliyJobsSettings | This sample demonstrates how to retrieve entire nightly jobs settings with detailed displaying. | - The Core service running - At least one protected Agent
GetCoreLightNightliyJobsSettings | Short sample to demonstrate how to retrieve light version of cores nightly settings | - The Core service running - At least one protected Agent
ManipulateNightlyJobProcess | This sample demonstrates how to identify if nightly job running and how to cancel it. | - The Core service running - Running Nightly job
ModifyNightlyJobsStartTime | This sample demonstrates how to change nightly jobs daily schedule. | - The Core service running
ModifyNightlyRollupForAgent | This sample demonstrates how to modify nightly rollup configuration for a specific Agent. The same technique could be used with other nightly jobs. | - The Core service running - At least on protected machine
ModifyNightlyRollupForCore | This sample demonstrates how to modify Core's nightly rollup configuration. The same technique could be used with other nightly jobs. | - The Core service running

# ProtectedItems

Name | Description | Preconditions
GetProtectedItemsSample | This sample demonstrates how to get summary of the protected items tree | - The Core service running - At least one protected agent, or cluster, or cluster node, or group on the Core

# PushInstall

Name | Description | Preconditions
DeployAgentsSample | This sample demonstrates how to deploy and protect an Agent | - The Core service running - At least one repository on the Core - Available machine in the network
GetDeployedAgentStateSample | This sample demonstrates how to get state of the deployed Agent and list installed Rapid Recovery products | - The Core service running - Protected Agent

# RecoveryPoints

Name | Description | Preconditions
GettingAgentRecoveryPointsSample | This sample demonstrates how to get all recovery points for the specified agent | - The Core service running - Protected Agent - At least one recovery point for the Agent

# Replication

Name | Description | Preconditions
AbandonSeedDriveSamples | This sample demonstrates how to delete seed drives | - The Core service is running on the source and on the target machines - The seed drive has already been created and is accessible by the source Core
ConsumeSeedDriveSample | This sample demonstrates how to consume a seed drive | - The Core service is running on the source and on the target machines - The seed drive has already been created and is accessible by the target Core
CreateReplicationByRequestSample | This sample demonstrates how to set up replication by request | - The Core service is running on the source and on the target machines - At least one protected agent with RPs on the source Core - Handle a pending pairing requests of incoming replication on the target Core
CreateSeedDriveSample | This sample demonstrates how to copy RPs to the seed drive backup location | - The Core service is running on the source and on the target machines - At least one available outgoing replication on the source Core - Initially pause outgoing replication
DeleteIncomingReplicationSample | This sample demonstrates how to delete incoming replication on the target Core | - The Core service is running on the source and on the target machines - At least one available incoming replication on the target Core
DeleteOutgoingReplicationSample | This sample demonstrates how to delete outgoing replication on the source Core | - The Core service is running on the source and on the target machines - At least one available outgoing replication on the source Core
FailoverFailbackSample | This sample demonstrates how to convert replicated agent to 'Failover' and 'Failback' status Description: - 'Failover' refers to switching to a redundant target Core upon system failure. - The main goal of 'Failover' is to launch a new agent identical to the failed agent that was protected by the failed source Core. - The secondary goal is to switch the target Core into a new mode so that the target Core protects the failover agent in the same way as the source Core protected the initial agent before the failure. The target Core can recover instances from replicated agents and immediately commence protection on the failed-over machines. - 'Failback' is the process of restoring an agent(after repaired) and Core back to their original states (before failure). Replication is also restored, and the target Core acts as a replication target again. | - The Core service is running on the source and on the target machines - At least one available incoming replication on the target Core
ForceIncomingReplicationSample | This sample demonstrates how to force incoming replication on the target Core | - The Core service is running on the source and on the target machines - At least one available incoming replication on the target Core
ForceOutgoingReplicationSample | This sample demonstrates how to force outgoing replication on the source Core | - The Core service is running on the source and on the target machines - At least one available outgoing replication on the source Core
GetReplicationInfoSample | This sample demonstrates how to get general replication information | - The Core service is running on the source and on the target machines - At least one available outgoing replication on the source Core
HandlePendingPairingRequestSample | This sample demonstrates how to handle a pending pairing requests of incoming replication on the target Core | - The Core service is running on the source and on the target machines - At least one available repository on the target Core - At least one available pending pairing request of incoming replication on the target Core
ModifyOutgoingReplicationPolicySample | This sample demonstrates how to configure outgoing replication policy on the source Core | - The Core service is running on the source and on the target machines - At least one available outgoing replication on the source Core
PauseIncomingReplicationSample | This sample demonstrates how to pause and unpause incoming replication on the target Core | - The Core service is running on the source and on the target machines - At least one available incoming replication on the target Core
PauseOutgoingReplicationSample | This sample demonstrates how to pause and unpause outgoing replication on the source Core | - The Core service is running on the source and on the target machines - At least one available outgoing replication on the source Core
ReplicationByDemandSample | This sample demonstrates how to set up and force replication by demand | - The Core service is running on the source and on the target machines - At least one protected agent with RPs on the source Core

# Reporting

Name | Description | Preconditions
GetAgentReportSample | This sample demonstrates how to generate a regular report and a report with failures for the specified agent Regular report consists of all finished jobs for a requested agent Failure report consists of all failed jobs for a requested agent | - The Core service running - Protected agent
GetCoreReportSample | This sample demonstrates how to generate a regular report and a report with failures for the specified cores Regular report consists of all finished jobs on the requested cores Failure report consists of all failed jobs on the requested cores | - The Core service running
GetDatabaseCoreIdentitiesSample | This sample demonstrates how to get a core's identities that exists in the mongo database | - The Core service running
GetSelfReportSample | This sample demonstrates how to generate a self report and a failure report Regular self report consists of all results about finished jobs on the current core A Self failure report consists of only the results about failed jobs on the current core | - The Core service running
GetSummaryReportSample | This sample demonstrates how to generate a summary report A summary report consists of all the information about the current state for all repositories, agents and base information about the current core | - The Core service running

# Repositories

Name | Description | Preconditions
AddExistingDvmRepositorySample | This sample demonstrates how to open and load an existing DVM repository. | - The Core service running - Only one repository have to be with only one file configuration, otherwise will loaded not appropriate repository or file configuration, which will create error or incorrect repository
AddNewDvmRepositorySample | This sample demonstrates how to add new DVM repository. | - The Core service running - Enough free disk space to hold the DVM repository. The space can be locally addressable or a CIFS share; see DataPath and MetadataPath variables below.
AddStorageToDvmRepositorySample | This sample demonstrates how to append an additional storage location to a live DVM repository. | - The Core service running - At least one available DVM repository on the Core - Enough free disk space for appending to a live DVM repository. The space can be locally addressable or a CIFS share; see DataPath and MetadataPath variables below.
CheckCifsCredentialsSample | This sample demonstrates how to check whether credentials can access a CIFS share. | - The Core service running - At least one available network storage location
CheckDvmRepositorySample | This sample demonstrates how to check DVM repositories. | - The Core service running - At least two available DVM repositories on the Core
ConfigureDvmRepositorySample | This sample demonstrates how to configure DVM repository: change display name, modify a repository specification, create a default deduplication cache configuration. | - The Core service running - At least one available DVM repository on the Core
DeleteDvmRepositorySample | This sample demonstrates how to delete DVM repository. NOTE: Don't run the sample on production environment. Sample will choose random DVM repository and delete it from the specified Core permanently. | - The Core service running - At least one available DVM Repository on the Core
GetDvmRepositoryInfoSample | This sample demonstrates hot to get general core repository information and how to get information about specific repositories. | - The Core service running - At least one available DVM repository on the Core

# Rollback

Name | Description | Preconditions
BareMetalRestoreSample | This sample demonstrates how to start the bare metal restore | - The Core service running - Protected agent - At least one recovery point - Target machine which is booted with Boot CD
GetRestoreInfoSample | This sample demonstrates how to get information for rollback and for bare metal restore | - The Core service running - Protected agent - At least one recovery point - Target machine which is booted with Boot CD
RollbackSample | This sample demonstrates how to start the rollback | - The Core service running - Protected agent - At least one recovery point

# Rollup

Name | Description | Preconditions
ManageAgentRetentionPolicySample | This sample demonstrates how to manage the agent retention policy | - The Core service running - Protected agent with recovery points
ManageCoreRollupConfigurationSample | This sample demonstrates how to manage the core rollup configuration settings | - The Core service running

# Snmp

Name | Description | Preconditions
ManageSnmpSettingsSample | This sample sets the SNMP settings to their default values, so it won't change the behavior of a default install. They are being set to show how they work. | - The Core service running

# Sql

Name | Description | Preconditions
ForceAttachabilityCheckSample | This sample demonstrates how to: - Force attachability check on the core machine - Get attachability check job status | - The Core service running - Protected agent with SQL Server - Configured attachability check settings - At least one non system SQL database on the agent - The version of running SQL Server installed on the core must be the same version as on the agent machine (or newer)
ManagementAttachabilitySettingsSample | This sample demonstrates how to: - Set and get the attachability settings - Test connection to the SQL Server | - The Core service running - Running SQL Server

# StatusSummary

Name | Description | Preconditions
GetStatusSummaryInfoSample | This sample demonstrates techniques to get summary information related to a core like core's settings, core's metadata, agents summary information, repositories summary information, recent alerts etc. | - The Core service running
RestartFailedServicesSample | This sample demonstrates how to obtain information about failed core's services and the way how to restart the failed services. | - The Core service running

# Transfer

Name | Description | Preconditions
ApplyProtectionScheduleTemplate | The sample demonstrates how to apply predefined protection schedule template to some protection group | - The Core service running - Protected Agent - One Protection group for the Agent - At least one protection schedule template configured
ChangeSchedulerSettingsSample | This sample demonstrates how to change the protection configuration for a specific agent. Add a new time interval that determines when a transfer for the agent is enabled. Disable transfers for specific days. | - The Core service running - Protected Agent - One Protection group for the Agent
CreateNewProtectionGroupSample | This sample demonstrates how to add a new protection group with the default Scheduler settings for a protected Agent | - The Core service running - Protected Agent - No Protection groups for the Agent
ForceParallelFewTransfersSample | This sample demonstrates how to force a few transfers | - The Core service running - The Agent service running - Protected two or more agents
ForceTransferSample | This sample demonstrates how to force one transfer | - The Core service running - The Agent service running - Protected one agent
GetScheduleTemplates | This sample demonstrates two different ways to get transfer schedule templates detailed information: 1. General. Demonstrates how to get inforamtion about all Core's templates. 2. Specific. Demonstrates how to get information about specific templates by its ID. | - The Core service running - At least one transfer schedule template
ManageScheduleTemplates | This sample demonstrates how to add a new schedule template, and how to modify or delete an existing template. | - The Core service running
ManagingProtectionGroupsSample | This sample demonstrates how to add volumes to the protection group, delete volumes from protection group and delete protection group | - Protected Agent - At least one protection group - At least one volume on the Agent which isn't under protection
PauseProtectionSample | This sample demonstrates how to pause the protection on the Agent | - The Core service running - Protected Agent
SetSchedulerWholeWeekSample | This sample demonstrates how to create a new protection group and set time interval that determines when the transfers will be enabled | - The Core service running - Protected Agent - No protection Group

# VSphere

Name | Description | Preconditions
AddVirtualMachinesUnderProtectionSample | This sample demonstrates how to add under protection new virtual machine that will be running in an existing protected vCenter server. The sample will add the first not protected virtual machine found. | - The Core service running - At least one available repository on the Core - A protected vCenter server with at least one virtual machine which is not under protection
AgentLessProtectionSample | This sample demonstrates how to protect VMware virtual machines without an protected machine. The sample will protect the first virtual machine found. | - The Core service running - At least one available repository on the Core - An available vCenter server and at least one virtual machine running
ConfigureAutoProtectedNodesSample | This sample demonstrates how to: - Remove all auto-protected nodes from existing vCenter server - Add auto-protected nodes to existing ESXi server | - The Core service running - A protected vCenter server with at least one resource pool
GetInfoSample | This sample demonstrates how to get information about vCenter servers and virtual machines. | - The Core service running - A protected vCenter server with at least one virtual machine