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

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

Loading...