GCP WEBHOOK GUIDE

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

  • INSTANCE
  • CLOUD SQL
  • EXTERNAL IP ADDRESS
  • SUBNET
  • LOAD BALANCER FORWARDING RULE

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 GCP
Recovered Resource Metadata for GCP
Primary and Recovered Resources Mapping for GCP

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"
       }
Need more help? Submit a ticket