Azure WEBHOOK GUIDE

For Azure, currently we provide export support only the following resource types in the JSON payload,

  • Virtual Machine
  • Availability Set
  • Proximity Placement Group
  • Virtual Machine Scale Set
  • Virtual Machine Scale Set VM
  • App Service (Web app)
  • App Service Plan
  • Function App
  • Virtual Network
  • Network Interface
  • Disk
  • Load Balancer
  • Application Gateway
  • Network Security Group

Pre-recovery Webhook

Before a recovery is triggered, important details regarding the recovery will be sent as a json payload to the configured url using a POST method.

Request Method: POST
Request content-type: application/json

Expected Response Status Code: 200

Sample Pre-recovery Webhook Request Payload,

   {
       "recoveryId":"23712792:o23712792ac-xxxxxxx",
       "recoveryName":"test-recovery",
       "recoveryUser":"user@email.com",
       "cloudConnectionId":"23712792:o23712792cs-xxxxxx",
       "cloudConnectionName":"test-connection",
       "cloudAssemblyName":"test-assembly",
       "cloudAssemblyId":"23712792:o23712792ac-xxxxxx",
       "timelineDetails":{
           "protectionTimelineId":"23712792:o23712792ci-xxxxxx",
           "protectionTimelineTime":"1615632951406",
           "protectionTimelineTimeZone":"US/Central",
           "protectionTimelinePolicyName":"test-policy",
           "protectionTimelinePolicyFrequency":"DAILY"
        }
   }

Post-recovery Webhook

After the completion of a recovery, important details regarding the recovery will be sent as a json payload to the configured url using a POST method.

Request Method: POST
Request content-type: application/json

Expected Response Status Code: 200

Sample Post-recovery Webhook Request Payload,

   {
       "recoveryId":"o23712792ac-xxxxxxx",
       "recoveryName":"test-recovery",
       "recoveryUser":"user@email.com",
       "cloudConnectionId":"23712792:o23712792cs-xxxxxx",
       "cloudConnectionName":"test-connection",
       "cloudAssemblyName":"test-assembly",
       "cloudAssemblyId":"23712792:o23712792ac-xxxxxx",
       "recoveryStatus":"RECOVERY_COMPLETED",
       "recoveryDuration":"462363",
       "recoveryStartTime":”1615632951406”,
       "recoveryEndTime":"161563998876",
       "timelineDetails": {
           "protectionTimelineId":"23712792:o23712792ci-xxxxxx",
           "protectionTimelineTime":"1615632951406",
           "protectionTimelineTimeZone":"US/Central",
           "protectionTimelinePolicyName":"test-policy",
           "protectionTimelinePolicyFrequency":"DAILY"
       },
       "resourceMapping": {
           "primaryResourceMetadataPath": "Primary Resource Metadata url path",
           "recoveredMetadataPath": "Recovered Resource Metadata url path",
           "sourceRecoveryMappingPath": "Primary and Recovered resources Mapping url path"
       }
   }

Post-reset Webhook

After the completion of a reset, important details regarding the recovery and reset will be sent as a json payload to the configured url using a POST method.

Request Method: POST
Request content-type: application/json

Expected Response Status Code: 200

Sample Post-reset Webhook Request Payload,

   {
       "recoveryId":"o23712792ac-xxxxxxx",
       "recoveryName":"test-recovery",
       "recoveryUser":"user@email.com",
       "cloudConnectionId":"23712792:o23712792cs-xxxxxx",
       "cloudConnectionName":"test-connection",
       "cloudAssemblyName":"test-assembly",
       "cloudAssemblyId":"23712792:o23712792ac-xxxxxx",
       "recoveryStatus":"RECOVERY_COMPLETED",
       "recoveryStartTime":”1615632951406”,
       "recoveryEndTime":"161563998876",
       "resourceMapping": {
           "primaryResourceMetadataPath": "Primary Resource Metadata url path",
           "recoveredMetadataPath": "Recovered Resource Metadata url path",
           "sourceRecoveryMappingPath": "Primary and Recovered resources Mapping url path"
       }
   }

Pre-reset Webhook

Before the initiation of a reset, important details regarding the recovery and reset will be sent as a json payload to the configured url using a POST method.

Request Method: POST
Request content-type: application/json

Expected Response Status Code: 200

Sample Protection Webhook Request Payload,

   {
       "recoveryId":"o23712792ac-xxxxxxx",
       "recoveryName":"test-recovery",
       "cloudConnectionId":"23712792:o23712792cs-xxxxxx",
       "cloudConnectionName":"test-connection",
       "cloudAssemblyName":"test-assembly",
       "cloudAssemblyId":"23712792:o23712792ac-xxxxxx",
       "resetStatus":"RESET_COMPLETED",
       "resetUser":"user@email.org"
   }
Need more help? Submit a ticket