Chilkat Online Tools

DescribeReplicationTasks autoit Example

AWS Database Migration Service

; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

$oRest = ObjCreate("Chilkat_9_5_0.Rest")
Local $bSuccess

$oAuthAws = ObjCreate("Chilkat_9_5_0.AuthAws")
$oAuthAws.AccessKey = "AWS_ACCESS_KEY"
$oAuthAws.SecretKey = "AWS_SECRET_KEY"

; Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
$oAuthAws.Region = "us-west-2"
$oAuthAws.ServiceName = "dms"
; SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
$oRest.SetAuthAws($oAuthAws)

; URL: https://dms.us-west-2.amazonaws.com/
; Use the same region as specified above.
$bSuccess = $oRest.Connect("dms.us-west-2.amazonaws.com",443,True,True)
If ($bSuccess <> True) Then
    ConsoleWrite("ConnectFailReason: " & $oRest.ConnectFailReason & @CRLF)
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

; The following code creates the JSON request body.
; The JSON created by this code is shown below.

; Use this online tool to generate code from sample JSON:
; Generate Code to Create JSON

$oJson = ObjCreate("Chilkat_9_5_0.JsonObject")
$oJson.UpdateString("Filters[0].Name","string")
$oJson.UpdateString("Filters[0].Values[0]","string")
$oJson.UpdateString("Marker","string")
$oJson.UpdateInt("MaxRecords",123)
$oJson.UpdateInt("WithoutSettings",123)

; The JSON request body created by the above code:

; {
;   "Filters": [
;     {
;       "Name": "string",
;       "Values": [
;         "string"
;       ]
;     }
;   ],
;   "Marker": "string",
;   "MaxRecords": number,
;   "WithoutSettings": boolean
; }

$oRest.AddHeader("Content-Type","application/x-amz-json-1.1")
$oRest.AddHeader("X-Amz-Target","AmazonDMSv20160101.DescribeReplicationTasks")

$oSbRequestBody = ObjCreate("Chilkat_9_5_0.StringBuilder")
$oJson.EmitSb($oSbRequestBody)
$oSbResponseBody = ObjCreate("Chilkat_9_5_0.StringBuilder")
$bSuccess = $oRest.FullRequestSb("POST","/",$oSbRequestBody,$oSbResponseBody)
If ($bSuccess <> True) Then
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

Local $iRespStatusCode = $oRest.ResponseStatusCode
ConsoleWrite("response status code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode <> 200) Then
    ConsoleWrite("Response Header:" & @CRLF)
    ConsoleWrite($oRest.ResponseHeader & @CRLF)
    ConsoleWrite("Response Body:" & @CRLF)
    ConsoleWrite($oSbResponseBody.GetAsString() & @CRLF)
    Exit
EndIf

$oJResp = ObjCreate("Chilkat_9_5_0.JsonObject")
$oJResp.LoadSb($oSbResponseBody)

; The following code parses the JSON response.
; A sample JSON response is shown below the sample code.

; Use this online tool to generate parsing code from sample JSON:
; Generate Parsing Code from JSON

Local $sCdcStartPosition
Local $sCdcStopPosition
Local $sLastFailureMessage
Local $sMigrationType
Local $sRecoveryCheckpoint
Local $sReplicationInstanceArn
Local $sReplicationTaskArn
Local $iReplicationTaskCreationDate
Local $sReplicationTaskIdentifier
Local $sReplicationTaskSettings
Local $iReplicationTaskStartDate
Local $iElapsedTimeMillis
Local $iFreshStartDate
Local $iFullLoadFinishDate
Local $iFullLoadProgressPercent
Local $iFullLoadStartDate
Local $iStartDate
Local $iStopDate
Local $iTablesErrored
Local $iTablesLoaded
Local $iTablesLoading
Local $iTablesQueued
Local $sSourceEndpointArn
Local $sStatus
Local $sStopReason
Local $sTableMappings
Local $sTargetEndpointArn
Local $sTargetReplicationInstanceArn
Local $sTaskData

Local $sMarker = $oJResp.StringOf("Marker")
Local $i = 0
Local $iCount_i = $oJResp.SizeOfArray("ReplicationTasks")
While $i < $iCount_i
    $oJResp.I = $i
    $sCdcStartPosition = $oJResp.StringOf("ReplicationTasks[i].CdcStartPosition")
    $sCdcStopPosition = $oJResp.StringOf("ReplicationTasks[i].CdcStopPosition")
    $sLastFailureMessage = $oJResp.StringOf("ReplicationTasks[i].LastFailureMessage")
    $sMigrationType = $oJResp.StringOf("ReplicationTasks[i].MigrationType")
    $sRecoveryCheckpoint = $oJResp.StringOf("ReplicationTasks[i].RecoveryCheckpoint")
    $sReplicationInstanceArn = $oJResp.StringOf("ReplicationTasks[i].ReplicationInstanceArn")
    $sReplicationTaskArn = $oJResp.StringOf("ReplicationTasks[i].ReplicationTaskArn")
    $iReplicationTaskCreationDate = $oJResp.IntOf("ReplicationTasks[i].ReplicationTaskCreationDate")
    $sReplicationTaskIdentifier = $oJResp.StringOf("ReplicationTasks[i].ReplicationTaskIdentifier")
    $sReplicationTaskSettings = $oJResp.StringOf("ReplicationTasks[i].ReplicationTaskSettings")
    $iReplicationTaskStartDate = $oJResp.IntOf("ReplicationTasks[i].ReplicationTaskStartDate")
    $iElapsedTimeMillis = $oJResp.IntOf("ReplicationTasks[i].ReplicationTaskStats.ElapsedTimeMillis")
    $iFreshStartDate = $oJResp.IntOf("ReplicationTasks[i].ReplicationTaskStats.FreshStartDate")
    $iFullLoadFinishDate = $oJResp.IntOf("ReplicationTasks[i].ReplicationTaskStats.FullLoadFinishDate")
    $iFullLoadProgressPercent = $oJResp.IntOf("ReplicationTasks[i].ReplicationTaskStats.FullLoadProgressPercent")
    $iFullLoadStartDate = $oJResp.IntOf("ReplicationTasks[i].ReplicationTaskStats.FullLoadStartDate")
    $iStartDate = $oJResp.IntOf("ReplicationTasks[i].ReplicationTaskStats.StartDate")
    $iStopDate = $oJResp.IntOf("ReplicationTasks[i].ReplicationTaskStats.StopDate")
    $iTablesErrored = $oJResp.IntOf("ReplicationTasks[i].ReplicationTaskStats.TablesErrored")
    $iTablesLoaded = $oJResp.IntOf("ReplicationTasks[i].ReplicationTaskStats.TablesLoaded")
    $iTablesLoading = $oJResp.IntOf("ReplicationTasks[i].ReplicationTaskStats.TablesLoading")
    $iTablesQueued = $oJResp.IntOf("ReplicationTasks[i].ReplicationTaskStats.TablesQueued")
    $sSourceEndpointArn = $oJResp.StringOf("ReplicationTasks[i].SourceEndpointArn")
    $sStatus = $oJResp.StringOf("ReplicationTasks[i].Status")
    $sStopReason = $oJResp.StringOf("ReplicationTasks[i].StopReason")
    $sTableMappings = $oJResp.StringOf("ReplicationTasks[i].TableMappings")
    $sTargetEndpointArn = $oJResp.StringOf("ReplicationTasks[i].TargetEndpointArn")
    $sTargetReplicationInstanceArn = $oJResp.StringOf("ReplicationTasks[i].TargetReplicationInstanceArn")
    $sTaskData = $oJResp.StringOf("ReplicationTasks[i].TaskData")
    $i = $i + 1
Wend

; A sample JSON response body parsed by the above code:

; {
;   "Marker": "string",
;   "ReplicationTasks": [
;     {
;       "CdcStartPosition": "string",
;       "CdcStopPosition": "string",
;       "LastFailureMessage": "string",
;       "MigrationType": "string",
;       "RecoveryCheckpoint": "string",
;       "ReplicationInstanceArn": "string",
;       "ReplicationTaskArn": "string",
;       "ReplicationTaskCreationDate": number,
;       "ReplicationTaskIdentifier": "string",
;       "ReplicationTaskSettings": "string",
;       "ReplicationTaskStartDate": number,
;       "ReplicationTaskStats": {
;         "ElapsedTimeMillis": number,
;         "FreshStartDate": number,
;         "FullLoadFinishDate": number,
;         "FullLoadProgressPercent": number,
;         "FullLoadStartDate": number,
;         "StartDate": number,
;         "StopDate": number,
;         "TablesErrored": number,
;         "TablesLoaded": number,
;         "TablesLoading": number,
;         "TablesQueued": number
;       },
;       "SourceEndpointArn": "string",
;       "Status": "string",
;       "StopReason": "string",
;       "TableMappings": "string",
;       "TargetEndpointArn": "string",
;       "TargetReplicationInstanceArn": "string",
;       "TaskData": "string"
;     }
;   ]
; }