Chilkat Online Tools

CreateDeploymentGroup autoit Example

AWS CodeDeploy

; 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 = "codedeploy"
; SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
$oRest.SetAuthAws($oAuthAws)

; URL: https://codedeploy.us-west-2.amazonaws.com/
; Use the same region as specified above.
$bSuccess = $oRest.Connect("codedeploy.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("alarmConfiguration.alarms[0].name","string")
$oJson.UpdateInt("alarmConfiguration.enabled",123)
$oJson.UpdateInt("alarmConfiguration.ignorePollAlarmFailure",123)
$oJson.UpdateString("applicationName","string")
$oJson.UpdateInt("autoRollbackConfiguration.enabled",123)
$oJson.UpdateString("autoRollbackConfiguration.events[0]","string")
$oJson.UpdateString("autoScalingGroups[0]","string")
$oJson.UpdateString("blueGreenDeploymentConfiguration.deploymentReadyOption.actionOnTimeout","string")
$oJson.UpdateInt("blueGreenDeploymentConfiguration.deploymentReadyOption.waitTimeInMinutes",123)
$oJson.UpdateString("blueGreenDeploymentConfiguration.greenFleetProvisioningOption.action","string")
$oJson.UpdateString("blueGreenDeploymentConfiguration.terminateBlueInstancesOnDeploymentSuccess.action","string")
$oJson.UpdateInt("blueGreenDeploymentConfiguration.terminateBlueInstancesOnDeploymentSuccess.terminationWaitTimeInMinutes",123)
$oJson.UpdateString("deploymentConfigName","string")
$oJson.UpdateString("deploymentGroupName","string")
$oJson.UpdateString("deploymentStyle.deploymentOption","string")
$oJson.UpdateString("deploymentStyle.deploymentType","string")
$oJson.UpdateString("ec2TagFilters[0].Key","string")
$oJson.UpdateString("ec2TagFilters[0].Type","string")
$oJson.UpdateString("ec2TagFilters[0].Value","string")
$oJson.UpdateString("ec2TagSet.ec2TagSetList[0][0].Key","string")
$oJson.UpdateString("ec2TagSet.ec2TagSetList[0][0].Type","string")
$oJson.UpdateString("ec2TagSet.ec2TagSetList[0][0].Value","string")
$oJson.UpdateString("ecsServices[0].clusterName","string")
$oJson.UpdateString("ecsServices[0].serviceName","string")
$oJson.UpdateString("loadBalancerInfo.elbInfoList[0].name","string")
$oJson.UpdateString("loadBalancerInfo.targetGroupInfoList[0].name","string")
$oJson.UpdateString("loadBalancerInfo.targetGroupPairInfoList[0].prodTrafficRoute.listenerArns[0]","string")
$oJson.UpdateString("loadBalancerInfo.targetGroupPairInfoList[0].targetGroups[0].name","string")
$oJson.UpdateString("loadBalancerInfo.targetGroupPairInfoList[0].testTrafficRoute.listenerArns[0]","string")
$oJson.UpdateString("onPremisesInstanceTagFilters[0].Key","string")
$oJson.UpdateString("onPremisesInstanceTagFilters[0].Type","string")
$oJson.UpdateString("onPremisesInstanceTagFilters[0].Value","string")
$oJson.UpdateString("onPremisesTagSet.onPremisesTagSetList[0][0].Key","string")
$oJson.UpdateString("onPremisesTagSet.onPremisesTagSetList[0][0].Type","string")
$oJson.UpdateString("onPremisesTagSet.onPremisesTagSetList[0][0].Value","string")
$oJson.UpdateString("outdatedInstancesStrategy","string")
$oJson.UpdateString("serviceRoleArn","string")
$oJson.UpdateString("tags[0].Key","string")
$oJson.UpdateString("tags[0].Value","string")
$oJson.UpdateString("triggerConfigurations[0].triggerEvents[0]","string")
$oJson.UpdateString("triggerConfigurations[0].triggerName","string")
$oJson.UpdateString("triggerConfigurations[0].triggerTargetArn","string")

; The JSON request body created by the above code:

; {
;   "alarmConfiguration": {
;     "alarms": [
;       {
;         "name": "string"
;       }
;     ],
;     "enabled": boolean,
;     "ignorePollAlarmFailure": boolean
;   },
;   "applicationName": "string",
;   "autoRollbackConfiguration": {
;     "enabled": boolean,
;     "events": [
;       "string"
;     ]
;   },
;   "autoScalingGroups": [
;     "string"
;   ],
;   "blueGreenDeploymentConfiguration": {
;     "deploymentReadyOption": {
;       "actionOnTimeout": "string",
;       "waitTimeInMinutes": number
;     },
;     "greenFleetProvisioningOption": {
;       "action": "string"
;     },
;     "terminateBlueInstancesOnDeploymentSuccess": {
;       "action": "string",
;       "terminationWaitTimeInMinutes": number
;     }
;   },
;   "deploymentConfigName": "string",
;   "deploymentGroupName": "string",
;   "deploymentStyle": {
;     "deploymentOption": "string",
;     "deploymentType": "string"
;   },
;   "ec2TagFilters": [
;     {
;       "Key": "string",
;       "Type": "string",
;       "Value": "string"
;     }
;   ],
;   "ec2TagSet": {
;     "ec2TagSetList": [
;       [
;         {
;           "Key": "string",
;           "Type": "string",
;           "Value": "string"
;         }
;       ]
;     ]
;   },
;   "ecsServices": [
;     {
;       "clusterName": "string",
;       "serviceName": "string"
;     }
;   ],
;   "loadBalancerInfo": {
;     "elbInfoList": [
;       {
;         "name": "string"
;       }
;     ],
;     "targetGroupInfoList": [
;       {
;         "name": "string"
;       }
;     ],
;     "targetGroupPairInfoList": [
;       {
;         "prodTrafficRoute": {
;           "listenerArns": [
;             "string"
;           ]
;         },
;         "targetGroups": [
;           {
;             "name": "string"
;           }
;         ],
;         "testTrafficRoute": {
;           "listenerArns": [
;             "string"
;           ]
;         }
;       }
;     ]
;   },
;   "onPremisesInstanceTagFilters": [
;     {
;       "Key": "string",
;       "Type": "string",
;       "Value": "string"
;     }
;   ],
;   "onPremisesTagSet": {
;     "onPremisesTagSetList": [
;       [
;         {
;           "Key": "string",
;           "Type": "string",
;           "Value": "string"
;         }
;       ]
;     ]
;   },
;   "outdatedInstancesStrategy": "string",
;   "serviceRoleArn": "string",
;   "tags": [
;     {
;       "Key": "string",
;       "Value": "string"
;     }
;   ],
;   "triggerConfigurations": [
;     {
;       "triggerEvents": [
;         "string"
;       ],
;       "triggerName": "string",
;       "triggerTargetArn": "string"
;     }
;   ]
; }

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

$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 $sDeploymentGroupId = $oJResp.StringOf("deploymentGroupId")

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

; {
;   "deploymentGroupId": "string"
; }