Chilkat Online Tools

ListLoggingConfigurations C# Example

AWS WAFV2

// 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 = "wafv2";
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
rest.SetAuthAws(authAws);

// URL: https://wafv2.us-west-2.amazonaws.com/
// Use the same region as specified above.
success = rest.Connect("wafv2.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.UpdateInt("Limit",123);
json.UpdateString("NextMarker","string");
json.UpdateString("Scope","string");

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

// {
//   "Limit": number,
//   "NextMarker": "string",
//   "Scope": "string"
// }

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

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 DefaultBehavior;
int ManagedByFirewallManager;
string ResourceArn;
int j;
int count_j;
string strVal;
string Behavior;
string Requirement;
int k;
int count_k;
string Action;
string LabelName;
string OversizeHandling;
string MatchScope;
string CookiesOversizeHandling;
string HeadersMatchScope;
string HeadersOversizeHandling;
string InvalidFallbackBehavior;
string JsonBodyMatchScope;
string JsonBodyOversizeHandling;
string Name;
string SingleQueryArgumentName;

string NextMarker = jResp.StringOf("NextMarker");
int i = 0;
int count_i = jResp.SizeOfArray("LoggingConfigurations");
while (i < count_i) {
    jResp.I = i;
    DefaultBehavior = jResp.StringOf("LoggingConfigurations[i].LoggingFilter.DefaultBehavior");
    ManagedByFirewallManager = jResp.IntOf("LoggingConfigurations[i].ManagedByFirewallManager");
    ResourceArn = jResp.StringOf("LoggingConfigurations[i].ResourceArn");
    j = 0;
    count_j = jResp.SizeOfArray("LoggingConfigurations[i].LogDestinationConfigs");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("LoggingConfigurations[i].LogDestinationConfigs[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("LoggingConfigurations[i].LoggingFilter.Filters");
    while (j < count_j) {
        jResp.J = j;
        Behavior = jResp.StringOf("LoggingConfigurations[i].LoggingFilter.Filters[j].Behavior");
        Requirement = jResp.StringOf("LoggingConfigurations[i].LoggingFilter.Filters[j].Requirement");
        k = 0;
        count_k = jResp.SizeOfArray("LoggingConfigurations[i].LoggingFilter.Filters[j].Conditions");
        while (k < count_k) {
            jResp.K = k;
            Action = jResp.StringOf("LoggingConfigurations[i].LoggingFilter.Filters[j].Conditions[k].ActionCondition.Action");
            LabelName = jResp.StringOf("LoggingConfigurations[i].LoggingFilter.Filters[j].Conditions[k].LabelNameCondition.LabelName");
            k = k + 1;
        }

        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("LoggingConfigurations[i].RedactedFields");
    while (j < count_j) {
        jResp.J = j;
        OversizeHandling = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].Body.OversizeHandling");
        MatchScope = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].Cookies.MatchScope");
        CookiesOversizeHandling = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].Cookies.OversizeHandling");
        HeadersMatchScope = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].Headers.MatchScope");
        HeadersOversizeHandling = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].Headers.OversizeHandling");
        InvalidFallbackBehavior = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].JsonBody.InvalidFallbackBehavior");
        JsonBodyMatchScope = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].JsonBody.MatchScope");
        JsonBodyOversizeHandling = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].JsonBody.OversizeHandling");
        Name = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].SingleHeader.Name");
        SingleQueryArgumentName = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].SingleQueryArgument.Name");
        k = 0;
        count_k = jResp.SizeOfArray("LoggingConfigurations[i].RedactedFields[j].Cookies.MatchPattern.ExcludedCookies");
        while (k < count_k) {
            jResp.K = k;
            strVal = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].Cookies.MatchPattern.ExcludedCookies[k]");
            k = k + 1;
        }

        k = 0;
        count_k = jResp.SizeOfArray("LoggingConfigurations[i].RedactedFields[j].Cookies.MatchPattern.IncludedCookies");
        while (k < count_k) {
            jResp.K = k;
            strVal = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].Cookies.MatchPattern.IncludedCookies[k]");
            k = k + 1;
        }

        k = 0;
        count_k = jResp.SizeOfArray("LoggingConfigurations[i].RedactedFields[j].Headers.MatchPattern.ExcludedHeaders");
        while (k < count_k) {
            jResp.K = k;
            strVal = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].Headers.MatchPattern.ExcludedHeaders[k]");
            k = k + 1;
        }

        k = 0;
        count_k = jResp.SizeOfArray("LoggingConfigurations[i].RedactedFields[j].Headers.MatchPattern.IncludedHeaders");
        while (k < count_k) {
            jResp.K = k;
            strVal = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].Headers.MatchPattern.IncludedHeaders[k]");
            k = k + 1;
        }

        k = 0;
        count_k = jResp.SizeOfArray("LoggingConfigurations[i].RedactedFields[j].JsonBody.MatchPattern.IncludedPaths");
        while (k < count_k) {
            jResp.K = k;
            strVal = jResp.StringOf("LoggingConfigurations[i].RedactedFields[j].JsonBody.MatchPattern.IncludedPaths[k]");
            k = k + 1;
        }

        j = j + 1;
    }

    i = i + 1;
}

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

// {
//   "LoggingConfigurations": [
//     {
//       "LogDestinationConfigs": [
//         "string"
//       ],
//       "LoggingFilter": {
//         "DefaultBehavior": "string",
//         "Filters": [
//           {
//             "Behavior": "string",
//             "Conditions": [
//               {
//                 "ActionCondition": {
//                   "Action": "string"
//                 },
//                 "LabelNameCondition": {
//                   "LabelName": "string"
//                 }
//               }
//             ],
//             "Requirement": "string"
//           }
//         ]
//       },
//       "ManagedByFirewallManager": boolean,
//       "RedactedFields": [
//         {
//           "AllQueryArguments": {},
//           "Body": {
//             "OversizeHandling": "string"
//           },
//           "Cookies": {
//             "MatchPattern": {
//               "All": {},
//               "ExcludedCookies": [
//                 "string"
//               ],
//               "IncludedCookies": [
//                 "string"
//               ]
//             },
//             "MatchScope": "string",
//             "OversizeHandling": "string"
//           },
//           "Headers": {
//             "MatchPattern": {
//               "All": {},
//               "ExcludedHeaders": [
//                 "string"
//               ],
//               "IncludedHeaders": [
//                 "string"
//               ]
//             },
//             "MatchScope": "string",
//             "OversizeHandling": "string"
//           },
//           "JsonBody": {
//             "InvalidFallbackBehavior": "string",
//             "MatchPattern": {
//               "All": {},
//               "IncludedPaths": [
//                 "string"
//               ]
//             },
//             "MatchScope": "string",
//             "OversizeHandling": "string"
//           },
//           "Method": {},
//           "QueryString": {},
//           "SingleHeader": {
//             "Name": "string"
//           },
//           "SingleQueryArgument": {
//             "Name": "string"
//           },
//           "UriPath": {}
//         }
//       ],
//       "ResourceArn": "string"
//     }
//   ],
//   "NextMarker": "string"
// }