AWS WEBHOOK GUIDE

For AWS, currently we provide only the following resource types in the JSON payload,

  • COMPUTE
  • RDS INSTANCE
  • RDS CLUSTER
  • EIP
  • NETWORK INTERFACE
  • SUBNET
  • VPC
  • APPLICATION LOAD BALANCER
  • CLASSIC LOAD BALANCER
  • NETWORK LOAD BALANCER
  • EFS MOUNT TARGET
  • NAT GATEWAY

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

Primary Resource Metadata for AWS
Recovered Resource Metadata for AWS
Primary and Recovered Resources Mapping for AWS

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",
           "cloudConnectionId":"23712792:o23712792cs-xxxxxx",
           "cloudConnectionName":"test-connection",
           "cloudAssemblyName":"test-assembly",
           "cloudAssemblyId":"23712792:o23712792ac-xxxxxx",
           "resetStatus":"RESET_COMPLETED",
           "resetUser":"user@email.org"
       }

Pre and post protection Webhook

During start and completion of a timeline, important details regarding the protection 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,

       {
          "cloudConnectionName": "aws-source-cloud",
          "protectionTimeZone": "Asia/Calcutta",
          "protectionTimelineTime": 1688721881894,
          "protectionPolicyFrequency": "MONTHLY",
          "protectionPolicyName": "aws-monthly",
          "protectionPolicyId": "67108526:123456:1039:85",
          "cloudConnectionId": "67108526:123456:1001",
          "cloudAssemblyName": "aws-assembly-01",
          "timelineItemId": "67108526:123456:1039:85:1688721881894:831bb2c22f8f",
          "cloudAssemblyId": "67108526:123456:1039"
       }
Need more help? Submit a ticket