Chilkat Online Tools

GetBranch Python Example

Amplify

import sys
import chilkat

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

rest = chilkat.CkRest()

authAws = chilkat.CkAuthAws()
authAws.put_AccessKey("AWS_ACCESS_KEY")
authAws.put_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.)
authAws.put_Region("us-west-2")
authAws.put_ServiceName("amplify")
# SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
rest.SetAuthAws(authAws)

# URL: https://amplify.us-west-2.amazonaws.com/
# Use the same region as specified above.
success = rest.Connect("amplify.us-west-2.amazonaws.com",443,True,True)
if (success != True):
    print("ConnectFailReason: " + str(rest.get_ConnectFailReason()))
    print(rest.lastErrorText())
    sys.exit()

rest.AddHeader("Content-Type","application/x-amz-json-1.1")
rest.AddHeader("X-Amz-Target","GetBranch")

sbResponseBody = chilkat.CkStringBuilder()
success = rest.FullRequestNoBodySb("GET","/apps/{appId}/branches/{branchName}",sbResponseBody)
if (success != True):
    print(rest.lastErrorText())
    sys.exit()

respStatusCode = rest.get_ResponseStatusCode()
print("response status code = " + str(respStatusCode))
if (respStatusCode != 200):
    print("Response Header:")
    print(rest.responseHeader())
    print("Response Body:")
    print(sbResponseBody.getAsString())
    sys.exit()

jResp = chilkat.CkJsonObject()
jResp.LoadSb(sbResponseBody)

# 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

ActiveJobId = jResp.stringOf("branch.activeJobId")
BackendEnvironmentArn = jResp.stringOf("branch.backendEnvironmentArn")
BasicAuthCredentials = jResp.stringOf("branch.basicAuthCredentials")
BranchArn = jResp.stringOf("branch.branchArn")
BranchName = jResp.stringOf("branch.branchName")
BuildSpec = jResp.stringOf("branch.buildSpec")
CreateTime = jResp.IntOf("branch.createTime")
Description = jResp.stringOf("branch.description")
DestinationBranch = jResp.stringOf("branch.destinationBranch")
DisplayName = jResp.stringOf("branch.displayName")
EnableAutoBuild = jResp.IntOf("branch.enableAutoBuild")
EnableBasicAuth = jResp.IntOf("branch.enableBasicAuth")
EnableNotification = jResp.IntOf("branch.enableNotification")
EnablePerformanceMode = jResp.IntOf("branch.enablePerformanceMode")
EnablePullRequestPreview = jResp.IntOf("branch.enablePullRequestPreview")
v_String = jResp.stringOf("branch.environmentVariables.string")
Framework = jResp.stringOf("branch.framework")
PullRequestEnvironmentName = jResp.stringOf("branch.pullRequestEnvironmentName")
SourceBranch = jResp.stringOf("branch.sourceBranch")
Stage = jResp.stringOf("branch.stage")
TagsString = jResp.stringOf("branch.tags.string")
ThumbnailUrl = jResp.stringOf("branch.thumbnailUrl")
TotalNumberOfJobs = jResp.stringOf("branch.totalNumberOfJobs")
Ttl = jResp.stringOf("branch.ttl")
UpdateTime = jResp.IntOf("branch.updateTime")
i = 0
count_i = jResp.SizeOfArray("branch.associatedResources")
while i < count_i :
    jResp.put_I(i)
    strVal = jResp.stringOf("branch.associatedResources[i]")
    i = i + 1

i = 0
count_i = jResp.SizeOfArray("branch.customDomains")
while i < count_i :
    jResp.put_I(i)
    strVal = jResp.stringOf("branch.customDomains[i]")
    i = i + 1

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

# {
#   "branch": {
#     "activeJobId": "string",
#     "associatedResources": [
#       "string"
#     ],
#     "backendEnvironmentArn": "string",
#     "basicAuthCredentials": "string",
#     "branchArn": "string",
#     "branchName": "string",
#     "buildSpec": "string",
#     "createTime": number,
#     "customDomains": [
#       "string"
#     ],
#     "description": "string",
#     "destinationBranch": "string",
#     "displayName": "string",
#     "enableAutoBuild": boolean,
#     "enableBasicAuth": boolean,
#     "enableNotification": boolean,
#     "enablePerformanceMode": boolean,
#     "enablePullRequestPreview": boolean,
#     "environmentVariables": {
#       "string": "string"
#     },
#     "framework": "string",
#     "pullRequestEnvironmentName": "string",
#     "sourceBranch": "string",
#     "stage": "string",
#     "tags": {
#       "string": "string"
#     },
#     "thumbnailUrl": "string",
#     "totalNumberOfJobs": "string",
#     "ttl": "string",
#     "updateTime": number
#   }
# }