GetDeployment DataFlex Example
Use ChilkatAx-9.5.0-win32.pkg
Procedure Test
Handle hoRest
Boolean iSuccess
Variant vAuthAws
Handle hoAuthAws
Handle hoJson
Variant vSbRequestBody
Handle hoSbRequestBody
Variant vSbResponseBody
Handle hoSbResponseBody
Integer iRespStatusCode
Handle hoJResp
String sStrVal
String sName
Integer j
Integer iCount_j
String sV_Type
String sValue
String sAdditionalDeploymentStatusInfo
String sApplicationName
Integer iEnabled
String sActionOnTimeout
Integer iWaitTimeInMinutes
String sAction
String sTerminateBlueInstancesOnDeploymentSuccessAction
Integer iTerminationWaitTimeInMinutes
Integer iCompleteTime
String sComputePlatform
Integer iCreateTime
String sCreator
String sDeploymentConfigName
String sDeploymentGroupName
String sDeploymentId
Integer iFailed
Integer iInProgress
Integer iPending
Integer iReady
Integer iSkipped
Integer iSucceeded
String sDeploymentOption
String sDeploymentType
String sDescription
String sCode
String sMessage
String sExternalId
String sFileExistsBehavior
Integer iIgnoreApplicationStopFailures
Integer iInstanceTerminationWaitTimeStarted
String sContent
String sSha256
String sCommitId
String sRepository
String sRevisionType
String sBucket
String sBundleType
String sETag
String sKey
String sVersion
String sStringContent
String sStringSha256
String sAutoUpdateOutdatedInstancesRootDeploymentId
String sAppSpecContentContent
String sAppSpecContentSha256
String sGitHubLocationCommitId
String sGitHubLocationRepository
String sRevisionRevisionType
String sS3LocationBucket
String sS3LocationBundleType
String sS3LocationETag
String sS3LocationKey
String sS3LocationVersion
String sRollbackDeploymentId
String sRollbackMessage
String sRollbackTriggeringDeploymentId
Integer iStartTime
String sStatus
Integer iUpdateOutdatedInstancesOnly
Integer i
Integer iCount_i
String sTemp1
Integer iTemp1
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatRest)) To hoRest
If (Not(IsComObjectCreated(hoRest))) Begin
Send CreateComObject of hoRest
End
Get Create (RefClass(cComChilkatAuthAws)) To hoAuthAws
If (Not(IsComObjectCreated(hoAuthAws))) Begin
Send CreateComObject of hoAuthAws
End
Set ComAccessKey Of hoAuthAws To "AWS_ACCESS_KEY"
Set ComSecretKey Of hoAuthAws To "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.)
Set ComRegion Of hoAuthAws To "us-west-2"
Set ComServiceName Of hoAuthAws To "codedeploy"
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
Get pvComObject of hoAuthAws to vAuthAws
Get ComSetAuthAws Of hoRest vAuthAws To iSuccess
// URL: https://codedeploy.us-west-2.amazonaws.com/
// Use the same region as specified above.
Get ComConnect Of hoRest "codedeploy.us-west-2.amazonaws.com" 443 True True To iSuccess
If (iSuccess <> True) Begin
Get ComConnectFailReason Of hoRest To iTemp1
Showln "ConnectFailReason: " iTemp1
Get ComLastErrorText Of hoRest To sTemp1
Showln sTemp1
Procedure_Return
End
// 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
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Get ComUpdateString Of hoJson "deploymentId" "string" To iSuccess
// The JSON request body created by the above code:
// {
// "deploymentId": "string"
// }
Get ComAddHeader Of hoRest "Content-Type" "application/x-amz-json-1.1" To iSuccess
Get ComAddHeader Of hoRest "X-Amz-Target" "CodeDeploy_20141006.GetDeployment" To iSuccess
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbRequestBody
If (Not(IsComObjectCreated(hoSbRequestBody))) Begin
Send CreateComObject of hoSbRequestBody
End
Get pvComObject of hoSbRequestBody to vSbRequestBody
Get ComEmitSb Of hoJson vSbRequestBody To iSuccess
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody
If (Not(IsComObjectCreated(hoSbResponseBody))) Begin
Send CreateComObject of hoSbResponseBody
End
Get pvComObject of hoSbRequestBody to vSbRequestBody
Get pvComObject of hoSbResponseBody to vSbResponseBody
Get ComFullRequestSb Of hoRest "POST" "/" vSbRequestBody vSbResponseBody To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoRest To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComResponseStatusCode Of hoRest To iRespStatusCode
Showln "response status code = " iRespStatusCode
If (iRespStatusCode <> 200) Begin
Showln "Response Header:"
Get ComResponseHeader Of hoRest To sTemp1
Showln sTemp1
Showln "Response Body:"
Get ComGetAsString Of hoSbResponseBody To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJResp
If (Not(IsComObjectCreated(hoJResp))) Begin
Send CreateComObject of hoJResp
End
Get pvComObject of hoSbResponseBody to vSbResponseBody
Get ComLoadSb Of hoJResp vSbResponseBody To iSuccess
// 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
Get ComStringOf Of hoJResp "deploymentInfo.additionalDeploymentStatusInfo" To sAdditionalDeploymentStatusInfo
Get ComStringOf Of hoJResp "deploymentInfo.applicationName" To sApplicationName
Get ComIntOf Of hoJResp "deploymentInfo.autoRollbackConfiguration.enabled" To iEnabled
Get ComStringOf Of hoJResp "deploymentInfo.blueGreenDeploymentConfiguration.deploymentReadyOption.actionOnTimeout" To sActionOnTimeout
Get ComIntOf Of hoJResp "deploymentInfo.blueGreenDeploymentConfiguration.deploymentReadyOption.waitTimeInMinutes" To iWaitTimeInMinutes
Get ComStringOf Of hoJResp "deploymentInfo.blueGreenDeploymentConfiguration.greenFleetProvisioningOption.action" To sAction
Get ComStringOf Of hoJResp "deploymentInfo.blueGreenDeploymentConfiguration.terminateBlueInstancesOnDeploymentSuccess.action" To sTerminateBlueInstancesOnDeploymentSuccessAction
Get ComIntOf Of hoJResp "deploymentInfo.blueGreenDeploymentConfiguration.terminateBlueInstancesOnDeploymentSuccess.terminationWaitTimeInMinutes" To iTerminationWaitTimeInMinutes
Get ComIntOf Of hoJResp "deploymentInfo.completeTime" To iCompleteTime
Get ComStringOf Of hoJResp "deploymentInfo.computePlatform" To sComputePlatform
Get ComIntOf Of hoJResp "deploymentInfo.createTime" To iCreateTime
Get ComStringOf Of hoJResp "deploymentInfo.creator" To sCreator
Get ComStringOf Of hoJResp "deploymentInfo.deploymentConfigName" To sDeploymentConfigName
Get ComStringOf Of hoJResp "deploymentInfo.deploymentGroupName" To sDeploymentGroupName
Get ComStringOf Of hoJResp "deploymentInfo.deploymentId" To sDeploymentId
Get ComIntOf Of hoJResp "deploymentInfo.deploymentOverview.Failed" To iFailed
Get ComIntOf Of hoJResp "deploymentInfo.deploymentOverview.InProgress" To iInProgress
Get ComIntOf Of hoJResp "deploymentInfo.deploymentOverview.Pending" To iPending
Get ComIntOf Of hoJResp "deploymentInfo.deploymentOverview.Ready" To iReady
Get ComIntOf Of hoJResp "deploymentInfo.deploymentOverview.Skipped" To iSkipped
Get ComIntOf Of hoJResp "deploymentInfo.deploymentOverview.Succeeded" To iSucceeded
Get ComStringOf Of hoJResp "deploymentInfo.deploymentStyle.deploymentOption" To sDeploymentOption
Get ComStringOf Of hoJResp "deploymentInfo.deploymentStyle.deploymentType" To sDeploymentType
Get ComStringOf Of hoJResp "deploymentInfo.description" To sDescription
Get ComStringOf Of hoJResp "deploymentInfo.errorInformation.code" To sCode
Get ComStringOf Of hoJResp "deploymentInfo.errorInformation.message" To sMessage
Get ComStringOf Of hoJResp "deploymentInfo.externalId" To sExternalId
Get ComStringOf Of hoJResp "deploymentInfo.fileExistsBehavior" To sFileExistsBehavior
Get ComIntOf Of hoJResp "deploymentInfo.ignoreApplicationStopFailures" To iIgnoreApplicationStopFailures
Get ComIntOf Of hoJResp "deploymentInfo.instanceTerminationWaitTimeStarted" To iInstanceTerminationWaitTimeStarted
Get ComStringOf Of hoJResp "deploymentInfo.previousRevision.appSpecContent.content" To sContent
Get ComStringOf Of hoJResp "deploymentInfo.previousRevision.appSpecContent.sha256" To sSha256
Get ComStringOf Of hoJResp "deploymentInfo.previousRevision.gitHubLocation.commitId" To sCommitId
Get ComStringOf Of hoJResp "deploymentInfo.previousRevision.gitHubLocation.repository" To sRepository
Get ComStringOf Of hoJResp "deploymentInfo.previousRevision.revisionType" To sRevisionType
Get ComStringOf Of hoJResp "deploymentInfo.previousRevision.s3Location.bucket" To sBucket
Get ComStringOf Of hoJResp "deploymentInfo.previousRevision.s3Location.bundleType" To sBundleType
Get ComStringOf Of hoJResp "deploymentInfo.previousRevision.s3Location.eTag" To sETag
Get ComStringOf Of hoJResp "deploymentInfo.previousRevision.s3Location.key" To sKey
Get ComStringOf Of hoJResp "deploymentInfo.previousRevision.s3Location.version" To sVersion
Get ComStringOf Of hoJResp "deploymentInfo.previousRevision.string.content" To sStringContent
Get ComStringOf Of hoJResp "deploymentInfo.previousRevision.string.sha256" To sStringSha256
Get ComStringOf Of hoJResp "deploymentInfo.relatedDeployments.autoUpdateOutdatedInstancesRootDeploymentId" To sAutoUpdateOutdatedInstancesRootDeploymentId
Get ComStringOf Of hoJResp "deploymentInfo.revision.appSpecContent.content" To sAppSpecContentContent
Get ComStringOf Of hoJResp "deploymentInfo.revision.appSpecContent.sha256" To sAppSpecContentSha256
Get ComStringOf Of hoJResp "deploymentInfo.revision.gitHubLocation.commitId" To sGitHubLocationCommitId
Get ComStringOf Of hoJResp "deploymentInfo.revision.gitHubLocation.repository" To sGitHubLocationRepository
Get ComStringOf Of hoJResp "deploymentInfo.revision.revisionType" To sRevisionRevisionType
Get ComStringOf Of hoJResp "deploymentInfo.revision.s3Location.bucket" To sS3LocationBucket
Get ComStringOf Of hoJResp "deploymentInfo.revision.s3Location.bundleType" To sS3LocationBundleType
Get ComStringOf Of hoJResp "deploymentInfo.revision.s3Location.eTag" To sS3LocationETag
Get ComStringOf Of hoJResp "deploymentInfo.revision.s3Location.key" To sS3LocationKey
Get ComStringOf Of hoJResp "deploymentInfo.revision.s3Location.version" To sS3LocationVersion
Get ComStringOf Of hoJResp "deploymentInfo.revision.string.content" To sStringContent
Get ComStringOf Of hoJResp "deploymentInfo.revision.string.sha256" To sStringSha256
Get ComStringOf Of hoJResp "deploymentInfo.rollbackInfo.rollbackDeploymentId" To sRollbackDeploymentId
Get ComStringOf Of hoJResp "deploymentInfo.rollbackInfo.rollbackMessage" To sRollbackMessage
Get ComStringOf Of hoJResp "deploymentInfo.rollbackInfo.rollbackTriggeringDeploymentId" To sRollbackTriggeringDeploymentId
Get ComIntOf Of hoJResp "deploymentInfo.startTime" To iStartTime
Get ComStringOf Of hoJResp "deploymentInfo.status" To sStatus
Get ComIntOf Of hoJResp "deploymentInfo.updateOutdatedInstancesOnly" To iUpdateOutdatedInstancesOnly
Move 0 To i
Get ComSizeOfArray Of hoJResp "deploymentInfo.autoRollbackConfiguration.events" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Get ComStringOf Of hoJResp "deploymentInfo.autoRollbackConfiguration.events[i]" To sStrVal
Move (i + 1) To i
Loop
Move 0 To i
Get ComSizeOfArray Of hoJResp "deploymentInfo.deploymentStatusMessages" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Get ComStringOf Of hoJResp "deploymentInfo.deploymentStatusMessages[i]" To sStrVal
Move (i + 1) To i
Loop
Move 0 To i
Get ComSizeOfArray Of hoJResp "deploymentInfo.loadBalancerInfo.elbInfoList" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Get ComStringOf Of hoJResp "deploymentInfo.loadBalancerInfo.elbInfoList[i].name" To sName
Move (i + 1) To i
Loop
Move 0 To i
Get ComSizeOfArray Of hoJResp "deploymentInfo.loadBalancerInfo.targetGroupInfoList" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Get ComStringOf Of hoJResp "deploymentInfo.loadBalancerInfo.targetGroupInfoList[i].name" To sName
Move (i + 1) To i
Loop
Move 0 To i
Get ComSizeOfArray Of hoJResp "deploymentInfo.loadBalancerInfo.targetGroupPairInfoList" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Move 0 To j
Get ComSizeOfArray Of hoJResp "deploymentInfo.loadBalancerInfo.targetGroupPairInfoList[i].prodTrafficRoute.listenerArns" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Get ComStringOf Of hoJResp "deploymentInfo.loadBalancerInfo.targetGroupPairInfoList[i].prodTrafficRoute.listenerArns[j]" To sStrVal
Move (j + 1) To j
Loop
Move 0 To j
Get ComSizeOfArray Of hoJResp "deploymentInfo.loadBalancerInfo.targetGroupPairInfoList[i].targetGroups" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Get ComStringOf Of hoJResp "deploymentInfo.loadBalancerInfo.targetGroupPairInfoList[i].targetGroups[j].name" To sName
Move (j + 1) To j
Loop
Move 0 To j
Get ComSizeOfArray Of hoJResp "deploymentInfo.loadBalancerInfo.targetGroupPairInfoList[i].testTrafficRoute.listenerArns" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Get ComStringOf Of hoJResp "deploymentInfo.loadBalancerInfo.targetGroupPairInfoList[i].testTrafficRoute.listenerArns[j]" To sStrVal
Move (j + 1) To j
Loop
Move (i + 1) To i
Loop
Move 0 To i
Get ComSizeOfArray Of hoJResp "deploymentInfo.relatedDeployments.autoUpdateOutdatedInstancesDeploymentIds" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Get ComStringOf Of hoJResp "deploymentInfo.relatedDeployments.autoUpdateOutdatedInstancesDeploymentIds[i]" To sStrVal
Move (i + 1) To i
Loop
Move 0 To i
Get ComSizeOfArray Of hoJResp "deploymentInfo.targetInstances.autoScalingGroups" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Get ComStringOf Of hoJResp "deploymentInfo.targetInstances.autoScalingGroups[i]" To sStrVal
Move (i + 1) To i
Loop
Move 0 To i
Get ComSizeOfArray Of hoJResp "deploymentInfo.targetInstances.ec2TagSet.ec2TagSetList" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Move 0 To j
Get ComSizeOfArray Of hoJResp "deploymentInfo.targetInstances.ec2TagSet.ec2TagSetList[i]" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Get ComStringOf Of hoJResp "deploymentInfo.targetInstances.ec2TagSet.ec2TagSetList[i][j].Key" To sKey
Get ComStringOf Of hoJResp "deploymentInfo.targetInstances.ec2TagSet.ec2TagSetList[i][j].Type" To sV_Type
Get ComStringOf Of hoJResp "deploymentInfo.targetInstances.ec2TagSet.ec2TagSetList[i][j].Value" To sValue
Move (j + 1) To j
Loop
Move (i + 1) To i
Loop
Move 0 To i
Get ComSizeOfArray Of hoJResp "deploymentInfo.targetInstances.tagFilters" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Get ComStringOf Of hoJResp "deploymentInfo.targetInstances.tagFilters[i].Key" To sKey
Get ComStringOf Of hoJResp "deploymentInfo.targetInstances.tagFilters[i].Type" To sV_Type
Get ComStringOf Of hoJResp "deploymentInfo.targetInstances.tagFilters[i].Value" To sValue
Move (i + 1) To i
Loop
// A sample JSON response body parsed by the above code:
// {
// "deploymentInfo": {
// "additionalDeploymentStatusInfo": "string",
// "applicationName": "string",
// "autoRollbackConfiguration": {
// "enabled": boolean,
// "events": [
// "string"
// ]
// },
// "blueGreenDeploymentConfiguration": {
// "deploymentReadyOption": {
// "actionOnTimeout": "string",
// "waitTimeInMinutes": number
// },
// "greenFleetProvisioningOption": {
// "action": "string"
// },
// "terminateBlueInstancesOnDeploymentSuccess": {
// "action": "string",
// "terminationWaitTimeInMinutes": number
// }
// },
// "completeTime": number,
// "computePlatform": "string",
// "createTime": number,
// "creator": "string",
// "deploymentConfigName": "string",
// "deploymentGroupName": "string",
// "deploymentId": "string",
// "deploymentOverview": {
// "Failed": number,
// "InProgress": number,
// "Pending": number,
// "Ready": number,
// "Skipped": number,
// "Succeeded": number
// },
// "deploymentStatusMessages": [
// "string"
// ],
// "deploymentStyle": {
// "deploymentOption": "string",
// "deploymentType": "string"
// },
// "description": "string",
// "errorInformation": {
// "code": "string",
// "message": "string"
// },
// "externalId": "string",
// "fileExistsBehavior": "string",
// "ignoreApplicationStopFailures": boolean,
// "instanceTerminationWaitTimeStarted": boolean,
// "loadBalancerInfo": {
// "elbInfoList": [
// {
// "name": "string"
// }
// ],
// "targetGroupInfoList": [
// {
// "name": "string"
// }
// ],
// "targetGroupPairInfoList": [
// {
// "prodTrafficRoute": {
// "listenerArns": [
// "string"
// ]
// },
// "targetGroups": [
// {
// "name": "string"
// }
// ],
// "testTrafficRoute": {
// "listenerArns": [
// "string"
// ]
// }
// }
// ]
// },
// "previousRevision": {
// "appSpecContent": {
// "content": "string",
// "sha256": "string"
// },
// "gitHubLocation": {
// "commitId": "string",
// "repository": "string"
// },
// "revisionType": "string",
// "s3Location": {
// "bucket": "string",
// "bundleType": "string",
// "eTag": "string",
// "key": "string",
// "version": "string"
// },
// "string": {
// "content": "string",
// "sha256": "string"
// }
// },
// "relatedDeployments": {
// "autoUpdateOutdatedInstancesDeploymentIds": [
// "string"
// ],
// "autoUpdateOutdatedInstancesRootDeploymentId": "string"
// },
// "revision": {
// "appSpecContent": {
// "content": "string",
// "sha256": "string"
// },
// "gitHubLocation": {
// "commitId": "string",
// "repository": "string"
// },
// "revisionType": "string",
// "s3Location": {
// "bucket": "string",
// "bundleType": "string",
// "eTag": "string",
// "key": "string",
// "version": "string"
// },
// "string": {
// "content": "string",
// "sha256": "string"
// }
// },
// "rollbackInfo": {
// "rollbackDeploymentId": "string",
// "rollbackMessage": "string",
// "rollbackTriggeringDeploymentId": "string"
// },
// "startTime": number,
// "status": "string",
// "targetInstances": {
// "autoScalingGroups": [
// "string"
// ],
// "ec2TagSet": {
// "ec2TagSetList": [
// [
// {
// "Key": "string",
// "Type": "string",
// "Value": "string"
// }
// ]
// ]
// },
// "tagFilters": [
// {
// "Key": "string",
// "Type": "string",
// "Value": "string"
// }
// ]
// },
// "updateOutdatedInstancesOnly": boolean
// }
// }
End_Procedure