DescribeCluster Perl Example
use chilkat();
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$rest = chilkat::CkRest->new();
$authAws = chilkat::CkAuthAws->new();
$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("eks");
# SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
$rest->SetAuthAws($authAws);
# URL: https://eks.us-west-2.amazonaws.com/
# Use the same region as specified above.
$success = $rest->Connect("eks.us-west-2.amazonaws.com",443,1,1);
if ($success != 1) {
print "ConnectFailReason: " . $rest->get_ConnectFailReason() . "\r\n";
print $rest->lastErrorText() . "\r\n";
exit;
}
$rest->AddHeader("Content-Type","application/x-amz-json-1.1");
$rest->AddHeader("X-Amz-Target","DescribeCluster");
$sbResponseBody = chilkat::CkStringBuilder->new();
$success = $rest->FullRequestNoBodySb("GET","/clusters/{name}",$sbResponseBody);
if ($success != 1) {
print $rest->lastErrorText() . "\r\n";
exit;
}
$respStatusCode = $rest->get_ResponseStatusCode();
print "response status code = " . $respStatusCode . "\r\n";
if ($respStatusCode != 200) {
print "Response Header:" . "\r\n";
print $rest->responseHeader() . "\r\n";
print "Response Body:" . "\r\n";
print $sbResponseBody->getAsString() . "\r\n";
exit;
}
$jResp = chilkat::CkJsonObject->new();
$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
$Arn = $jResp->stringOf("cluster.arn");
$Data = $jResp->stringOf("cluster.certificateAuthority.data");
$ClientRequestToken = $jResp->stringOf("cluster.clientRequestToken");
$ActivationCode = $jResp->stringOf("cluster.connectorConfig.activationCode");
$ActivationExpiry = $jResp->IntOf("cluster.connectorConfig.activationExpiry");
$ActivationId = $jResp->stringOf("cluster.connectorConfig.activationId");
$Provider = $jResp->stringOf("cluster.connectorConfig.provider");
$RoleArn = $jResp->stringOf("cluster.connectorConfig.roleArn");
$CreatedAt = $jResp->IntOf("cluster.createdAt");
$Endpoint = $jResp->stringOf("cluster.endpoint");
$Issuer = $jResp->stringOf("cluster.identity.oidc.issuer");
$IpFamily = $jResp->stringOf("cluster.kubernetesNetworkConfig.ipFamily");
$ServiceIpv4Cidr = $jResp->stringOf("cluster.kubernetesNetworkConfig.serviceIpv4Cidr");
$ServiceIpv6Cidr = $jResp->stringOf("cluster.kubernetesNetworkConfig.serviceIpv6Cidr");
$Name = $jResp->stringOf("cluster.name");
$PlatformVersion = $jResp->stringOf("cluster.platformVersion");
$ClusterSecurityGroupId = $jResp->stringOf("cluster.resourcesVpcConfig.clusterSecurityGroupId");
$EndpointPrivateAccess = $jResp->IntOf("cluster.resourcesVpcConfig.endpointPrivateAccess");
$EndpointPublicAccess = $jResp->IntOf("cluster.resourcesVpcConfig.endpointPublicAccess");
$VpcId = $jResp->stringOf("cluster.resourcesVpcConfig.vpcId");
$clusterRoleArn = $jResp->stringOf("cluster.roleArn");
$Status = $jResp->stringOf("cluster.status");
$v_String = $jResp->stringOf("cluster.tags.string");
$Version = $jResp->stringOf("cluster.version");
$i = 0;
$count_i = $jResp->SizeOfArray("cluster.encryptionConfig");
while ($i < $count_i) {
$jResp->put_I($i);
$KeyArn = $jResp->stringOf("cluster.encryptionConfig[i].provider.keyArn");
$j = 0;
$count_j = $jResp->SizeOfArray("cluster.encryptionConfig[i].resources");
while ($j < $count_j) {
$jResp->put_J($j);
$strVal = $jResp->stringOf("cluster.encryptionConfig[i].resources[j]");
$j = $j + 1;
}
$i = $i + 1;
}
$i = 0;
$count_i = $jResp->SizeOfArray("cluster.logging.clusterLogging");
while ($i < $count_i) {
$jResp->put_I($i);
$enabled = $jResp->IntOf("cluster.logging.clusterLogging[i].enabled");
$j = 0;
$count_j = $jResp->SizeOfArray("cluster.logging.clusterLogging[i].types");
while ($j < $count_j) {
$jResp->put_J($j);
$strVal = $jResp->stringOf("cluster.logging.clusterLogging[i].types[j]");
$j = $j + 1;
}
$i = $i + 1;
}
$i = 0;
$count_i = $jResp->SizeOfArray("cluster.resourcesVpcConfig.publicAccessCidrs");
while ($i < $count_i) {
$jResp->put_I($i);
$strVal = $jResp->stringOf("cluster.resourcesVpcConfig.publicAccessCidrs[i]");
$i = $i + 1;
}
$i = 0;
$count_i = $jResp->SizeOfArray("cluster.resourcesVpcConfig.securityGroupIds");
while ($i < $count_i) {
$jResp->put_I($i);
$strVal = $jResp->stringOf("cluster.resourcesVpcConfig.securityGroupIds[i]");
$i = $i + 1;
}
$i = 0;
$count_i = $jResp->SizeOfArray("cluster.resourcesVpcConfig.subnetIds");
while ($i < $count_i) {
$jResp->put_I($i);
$strVal = $jResp->stringOf("cluster.resourcesVpcConfig.subnetIds[i]");
$i = $i + 1;
}
# A sample JSON response body parsed by the above code:
# {
# "cluster": {
# "arn": "string",
# "certificateAuthority": {
# "data": "string"
# },
# "clientRequestToken": "string",
# "connectorConfig": {
# "activationCode": "string",
# "activationExpiry": number,
# "activationId": "string",
# "provider": "string",
# "roleArn": "string"
# },
# "createdAt": number,
# "encryptionConfig": [
# {
# "provider": {
# "keyArn": "string"
# },
# "resources": [
# "string"
# ]
# }
# ],
# "endpoint": "string",
# "identity": {
# "oidc": {
# "issuer": "string"
# }
# },
# "kubernetesNetworkConfig": {
# "ipFamily": "string",
# "serviceIpv4Cidr": "string",
# "serviceIpv6Cidr": "string"
# },
# "logging": {
# "clusterLogging": [
# {
# "enabled": boolean,
# "types": [
# "string"
# ]
# }
# ]
# },
# "name": "string",
# "platformVersion": "string",
# "resourcesVpcConfig": {
# "clusterSecurityGroupId": "string",
# "endpointPrivateAccess": boolean,
# "endpointPublicAccess": boolean,
# "publicAccessCidrs": [
# "string"
# ],
# "securityGroupIds": [
# "string"
# ],
# "subnetIds": [
# "string"
# ],
# "vpcId": "string"
# },
# "roleArn": "string",
# "status": "string",
# "tags": {
# "string": "string"
# },
# "version": "string"
# }
# }