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"
}