Chilkat Online Tools

DescribeLayers C# Example

AWS OpsWorks

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

Chilkat.Rest rest = new Chilkat.Rest();
bool success;

Chilkat.AuthAws authAws = new Chilkat.AuthAws();
authAws.AccessKey = "AWS_ACCESS_KEY";
authAws.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.Region = "us-west-2";
authAws.ServiceName = "opsworks";
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
rest.SetAuthAws(authAws);

// URL: https://opsworks.us-west-2.amazonaws.com/
// Use the same region as specified above.
success = rest.Connect("opsworks.us-west-2.amazonaws.com",443,true,true);
if (success != true) {
    Debug.WriteLine("ConnectFailReason: " + Convert.ToString(rest.ConnectFailReason));
    Debug.WriteLine(rest.LastErrorText);
    return;
}

// 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

Chilkat.JsonObject json = new Chilkat.JsonObject();
json.UpdateString("LayerIds[0]","string");
json.UpdateString("StackId","string");

// The JSON request body created by the above code:

// {
//   "LayerIds": [
//     "string"
//   ],
//   "StackId": "string"
// }

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

Chilkat.StringBuilder sbRequestBody = new Chilkat.StringBuilder();
json.EmitSb(sbRequestBody);
Chilkat.StringBuilder sbResponseBody = new Chilkat.StringBuilder();
success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody);
if (success != true) {
    Debug.WriteLine(rest.LastErrorText);
    return;
}

int respStatusCode = rest.ResponseStatusCode;
Debug.WriteLine("response status code = " + Convert.ToString(respStatusCode));
if (respStatusCode != 200) {
    Debug.WriteLine("Response Header:");
    Debug.WriteLine(rest.ResponseHeader);
    Debug.WriteLine("Response Body:");
    Debug.WriteLine(sbResponseBody.GetAsString());
    return;
}

Chilkat.JsonObject jResp = new Chilkat.JsonObject();
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

string Arn;
string v_String;
int AutoAssignElasticIps;
int AutoAssignPublicIps;
int Enabled;
string CreatedAt;
string CustomInstanceProfileArn;
string CustomJson;
int EnableAutoHealing;
int InstallUpdatesOnBoot;
string LayerId;
int DelayUntilElbConnectionsDrained;
int ExecutionTimeout;
string Name;
string Shortname;
string StackId;
string v_Type;
int UseEbsOptimizedInstances;
int j;
int count_j;
int BatchCount;
int BatchSize;
int BufferDuration;
string DatetimeFormat;
string Encoding;
string File;
string FileFingerprintLines;
string InitialPosition;
string LogGroupName;
string MultiLineStartPattern;
string TimeZone;
string strVal;
int Encrypted;
int Iops;
string MountPoint;
int NumberOfDisks;
int RaidLevel;
int Size;
string VolumeType;

int i = 0;
int count_i = jResp.SizeOfArray("Layers");
while (i < count_i) {
    jResp.I = i;
    Arn = jResp.StringOf("Layers[i].Arn");
    v_String = jResp.StringOf("Layers[i].Attributes.string");
    AutoAssignElasticIps = jResp.IntOf("Layers[i].AutoAssignElasticIps");
    AutoAssignPublicIps = jResp.IntOf("Layers[i].AutoAssignPublicIps");
    Enabled = jResp.IntOf("Layers[i].CloudWatchLogsConfiguration.Enabled");
    CreatedAt = jResp.StringOf("Layers[i].CreatedAt");
    CustomInstanceProfileArn = jResp.StringOf("Layers[i].CustomInstanceProfileArn");
    CustomJson = jResp.StringOf("Layers[i].CustomJson");
    EnableAutoHealing = jResp.IntOf("Layers[i].EnableAutoHealing");
    InstallUpdatesOnBoot = jResp.IntOf("Layers[i].InstallUpdatesOnBoot");
    LayerId = jResp.StringOf("Layers[i].LayerId");
    DelayUntilElbConnectionsDrained = jResp.IntOf("Layers[i].LifecycleEventConfiguration.Shutdown.DelayUntilElbConnectionsDrained");
    ExecutionTimeout = jResp.IntOf("Layers[i].LifecycleEventConfiguration.Shutdown.ExecutionTimeout");
    Name = jResp.StringOf("Layers[i].Name");
    Shortname = jResp.StringOf("Layers[i].Shortname");
    StackId = jResp.StringOf("Layers[i].StackId");
    v_Type = jResp.StringOf("Layers[i].Type");
    UseEbsOptimizedInstances = jResp.IntOf("Layers[i].UseEbsOptimizedInstances");
    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].CloudWatchLogsConfiguration.LogStreams");
    while (j < count_j) {
        jResp.J = j;
        BatchCount = jResp.IntOf("Layers[i].CloudWatchLogsConfiguration.LogStreams[j].BatchCount");
        BatchSize = jResp.IntOf("Layers[i].CloudWatchLogsConfiguration.LogStreams[j].BatchSize");
        BufferDuration = jResp.IntOf("Layers[i].CloudWatchLogsConfiguration.LogStreams[j].BufferDuration");
        DatetimeFormat = jResp.StringOf("Layers[i].CloudWatchLogsConfiguration.LogStreams[j].DatetimeFormat");
        Encoding = jResp.StringOf("Layers[i].CloudWatchLogsConfiguration.LogStreams[j].Encoding");
        File = jResp.StringOf("Layers[i].CloudWatchLogsConfiguration.LogStreams[j].File");
        FileFingerprintLines = jResp.StringOf("Layers[i].CloudWatchLogsConfiguration.LogStreams[j].FileFingerprintLines");
        InitialPosition = jResp.StringOf("Layers[i].CloudWatchLogsConfiguration.LogStreams[j].InitialPosition");
        LogGroupName = jResp.StringOf("Layers[i].CloudWatchLogsConfiguration.LogStreams[j].LogGroupName");
        MultiLineStartPattern = jResp.StringOf("Layers[i].CloudWatchLogsConfiguration.LogStreams[j].MultiLineStartPattern");
        TimeZone = jResp.StringOf("Layers[i].CloudWatchLogsConfiguration.LogStreams[j].TimeZone");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].CustomRecipes.Configure");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("Layers[i].CustomRecipes.Configure[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].CustomRecipes.Deploy");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("Layers[i].CustomRecipes.Deploy[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].CustomRecipes.Setup");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("Layers[i].CustomRecipes.Setup[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].CustomRecipes.Shutdown");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("Layers[i].CustomRecipes.Shutdown[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].CustomRecipes.Undeploy");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("Layers[i].CustomRecipes.Undeploy[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].CustomSecurityGroupIds");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("Layers[i].CustomSecurityGroupIds[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].DefaultRecipes.Configure");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("Layers[i].DefaultRecipes.Configure[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].DefaultRecipes.Deploy");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("Layers[i].DefaultRecipes.Deploy[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].DefaultRecipes.Setup");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("Layers[i].DefaultRecipes.Setup[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].DefaultRecipes.Shutdown");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("Layers[i].DefaultRecipes.Shutdown[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].DefaultRecipes.Undeploy");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("Layers[i].DefaultRecipes.Undeploy[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].DefaultSecurityGroupNames");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("Layers[i].DefaultSecurityGroupNames[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].Packages");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("Layers[i].Packages[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("Layers[i].VolumeConfigurations");
    while (j < count_j) {
        jResp.J = j;
        Encrypted = jResp.IntOf("Layers[i].VolumeConfigurations[j].Encrypted");
        Iops = jResp.IntOf("Layers[i].VolumeConfigurations[j].Iops");
        MountPoint = jResp.StringOf("Layers[i].VolumeConfigurations[j].MountPoint");
        NumberOfDisks = jResp.IntOf("Layers[i].VolumeConfigurations[j].NumberOfDisks");
        RaidLevel = jResp.IntOf("Layers[i].VolumeConfigurations[j].RaidLevel");
        Size = jResp.IntOf("Layers[i].VolumeConfigurations[j].Size");
        VolumeType = jResp.StringOf("Layers[i].VolumeConfigurations[j].VolumeType");
        j = j + 1;
    }

    i = i + 1;
}

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

// {
//   "Layers": [
//     {
//       "Arn": "string",
//       "Attributes": {
//         "string": "string"
//       },
//       "AutoAssignElasticIps": boolean,
//       "AutoAssignPublicIps": boolean,
//       "CloudWatchLogsConfiguration": {
//         "Enabled": boolean,
//         "LogStreams": [
//           {
//             "BatchCount": number,
//             "BatchSize": number,
//             "BufferDuration": number,
//             "DatetimeFormat": "string",
//             "Encoding": "string",
//             "File": "string",
//             "FileFingerprintLines": "string",
//             "InitialPosition": "string",
//             "LogGroupName": "string",
//             "MultiLineStartPattern": "string",
//             "TimeZone": "string"
//           }
//         ]
//       },
//       "CreatedAt": "string",
//       "CustomInstanceProfileArn": "string",
//       "CustomJson": "string",
//       "CustomRecipes": {
//         "Configure": [
//           "string"
//         ],
//         "Deploy": [
//           "string"
//         ],
//         "Setup": [
//           "string"
//         ],
//         "Shutdown": [
//           "string"
//         ],
//         "Undeploy": [
//           "string"
//         ]
//       },
//       "CustomSecurityGroupIds": [
//         "string"
//       ],
//       "DefaultRecipes": {
//         "Configure": [
//           "string"
//         ],
//         "Deploy": [
//           "string"
//         ],
//         "Setup": [
//           "string"
//         ],
//         "Shutdown": [
//           "string"
//         ],
//         "Undeploy": [
//           "string"
//         ]
//       },
//       "DefaultSecurityGroupNames": [
//         "string"
//       ],
//       "EnableAutoHealing": boolean,
//       "InstallUpdatesOnBoot": boolean,
//       "LayerId": "string",
//       "LifecycleEventConfiguration": {
//         "Shutdown": {
//           "DelayUntilElbConnectionsDrained": boolean,
//           "ExecutionTimeout": number
//         }
//       },
//       "Name": "string",
//       "Packages": [
//         "string"
//       ],
//       "Shortname": "string",
//       "StackId": "string",
//       "Type": "string",
//       "UseEbsOptimizedInstances": boolean,
//       "VolumeConfigurations": [
//         {
//           "Encrypted": boolean,
//           "Iops": number,
//           "MountPoint": "string",
//           "NumberOfDisks": number,
//           "RaidLevel": number,
//           "Size": number,
//           "VolumeType": "string"
//         }
//       ]
//     }
//   ]
// }