{ "version": 1, "defaults": { "configuration": { "accessKey": "myaccesskey", "region": "us-west-2", "environmentVariables": { "AWS_CSM_ENABLED": "true" }, "sharedConfigFile": {} }, "optionalEventFields": { "ApiCall": { "ApiCallTimeout": "ANY_INT" }, "ApiCallAttempt": { "DestinationIp": "ANY_STR", "AcquireConnectionLatency": "ANY_INT", "ConnectionReused": "ANY_INT", "ConnectLatency": "ANY_INT", "RequestLatency": "ANY_INT", "DnsLatency": "ANY_INT", "TcpLatency": "ANY_INT", "SslLatency": "ANY_INT" } } }, "cases": [ { "description": "Tests a single client API call with no configuration provided", "configuration": { "accessKey": "myaccesskey", "region": "us-west-2", "environmentVariables": {}, "sharedConfigFile": {} }, "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": {} } ] } ], "expectedMonitoringEvents": [] }, { "description": "Test a single client API call", "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": {} } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 200 }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 1, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalHttpStatusCode": 200 } ] }, { "description": "Tests a single client API call with bad request", "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 400, "responseHeaders": {}, "errorCode": "TestOperationException", "errorMessage": "There was an error" } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 400, "AwsException": "TestOperationException", "AwsExceptionMessage": "There was an error" }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 1, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalAwsException": "TestOperationException", "FinalAwsExceptionMessage": "There was an error", "FinalHttpStatusCode": 400 } ] }, { "description": "Tests a single client API call with retries", "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 503, "responseHeaders": {}, "errorCode": "ServiceUnavailable", "errorMessage": "Service is unavailable" }, { "httpStatus": 200, "responseHeaders": {} } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 503, "AwsException": "ServiceUnavailable", "AwsExceptionMessage": "Service is unavailable" }, { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 200 }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 2, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalHttpStatusCode": 200 } ] }, { "description": "Tests a single client API call with non-retryable SDK exception", "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "sdkException": { "isRetryable": false, "message": "Unexpected exception was thrown" } } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "SdkException": "ANY_STR", "SdkExceptionMessage": "Unexpected exception was thrown" }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 1, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalSdkException": "ANY_STR", "FinalSdkExceptionMessage": "Unexpected exception was thrown" } ] }, { "description": "Tests a single client API call with a retryable SDK exception", "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "sdkException": { "isRetryable": true, "message": "Retryable exception was thrown" } }, { "httpStatus": 200, "responseHeaders": {} } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "SdkException": "ANY_STR", "SdkExceptionMessage": "Retryable exception was thrown" }, { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 200 }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 2, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalHttpStatusCode": 200 } ] }, { "description": "Tests enabling using the shared config file", "configuration": { "accessKey": "myaccesskey", "region": "us-west-2", "environmentVariables": {}, "sharedConfigFile": { "csm_enabled": "true" } }, "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": {} } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 200 }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 1, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalHttpStatusCode": 200 } ] }, { "description": "Tests explicitly disabling with environment variables", "configuration": { "accessKey": "myaccesskey", "region": "us-west-2", "environmentVariables": { "AWS_CSM_ENABLED": "false" }, "sharedConfigFile": {} }, "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": {} } ] } ], "expectedMonitoringEvents": [] }, { "description": "Tests explicitly disabling with shared config file", "configuration": { "accessKey": "myaccesskey", "region": "us-west-2", "environmentVariables": {}, "sharedConfigFile": { "csm_enabled": "false" } }, "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": {} } ] } ], "expectedMonitoringEvents": [] }, { "description": "Tests overriding disables in shared config file with environment variables", "configuration": { "accessKey": "myaccesskey", "region": "us-west-2", "environmentVariables": { "AWS_CSM_ENABLED": "true" }, "sharedConfigFile": { "csm_enabled": "false" } }, "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": {} } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 200 }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 1, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalHttpStatusCode": 200 } ] }, { "description": "Tests overriding enables in shared config file with environment variables", "configuration": { "accessKey": "myaccesskey", "region": "us-west-2", "environmentVariables": { "AWS_CSM_ENABLED": "false" }, "sharedConfigFile": { "csm_enabled": "true" } }, "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": {} } ] } ], "expectedMonitoringEvents": [] }, { "description": "Tests setting the client id with environment variables", "configuration": { "accessKey": "myaccesskey", "region": "us-west-2", "environmentVariables": { "AWS_CSM_ENABLED": "true", "AWS_CSM_CLIENT_ID": "from-env" }, "sharedConfigFile": {} }, "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": {} } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "from-env", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 200 }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "from-env", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 1, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalHttpStatusCode": 200 } ] }, { "description": "Tests setting the client id with shared config file", "configuration": { "accessKey": "myaccesskey", "region": "us-west-2", "environmentVariables": { "AWS_CSM_ENABLED": "true" }, "sharedConfigFile": { "csm_client_id": "from-config" } }, "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": {} } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "from-config", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 200 }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "from-config", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 1, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalHttpStatusCode": 200 } ] }, { "description": "Tests setting the client id with environment variables overrides the client id from the shared config file", "configuration": { "accessKey": "myaccesskey", "region": "us-west-2", "environmentVariables": { "AWS_CSM_ENABLED": "true", "AWS_CSM_CLIENT_ID": "from-env" }, "sharedConfigFile": { "csm_client_id": "from-config" } }, "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": {} } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "from-env", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 200 }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "from-env", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 1, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalHttpStatusCode": 200 } ] }, { "description": "Tests a single client API call using a session token", "configuration": { "accessKey": "myaccesskey", "sessionToken": "mysessiontoken", "region": "us-west-2", "environmentVariables": { "AWS_CSM_ENABLED": "true" }, "sharedConfigFile": {} }, "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": {} } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "SessionToken": "mysessiontoken", "HttpStatusCode": 200 }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 1, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalHttpStatusCode": 200 } ] }, { "description": "Test a single client API call with x-amzn-RequestId response header", "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": { "x-amzn-RequestId": "request-id" } } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 200, "XAmznRequestId": "request-id" }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 1, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalHttpStatusCode": 200 } ] }, { "description": "Test a single client API call with x-amz-request-id response header", "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": { "x-amz-request-id": "request-id" } } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 200, "XAmzRequestId": "request-id" }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 1, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalHttpStatusCode": 200 } ] }, { "description": "Test a single client API call with x-amz-id-2 response header", "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 200, "responseHeaders": { "x-amz-id-2": "request-id" } } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 200, "XAmzId2": "request-id" }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 1, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalHttpStatusCode": 200 } ] }, { "description": "Test max retries from AWS exception", "configuration": { "accessKey": "myaccesskey", "region": "us-west-2", "environmentVariables": { "AWS_CSM_ENABLED": "true" }, "sharedConfigFile": {}, "maxRetries": 1 }, "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "httpStatus": 503, "responseHeaders": {}, "errorCode": "ServiceUnavailable", "errorMessage": "Service is unavailable" }, { "httpStatus": 503, "responseHeaders": {}, "errorCode": "ServiceUnavailable", "errorMessage": "Service is unavailable" } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 503, "AwsException": "ServiceUnavailable", "AwsExceptionMessage": "Service is unavailable" }, { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "HttpStatusCode": 503, "AwsException": "ServiceUnavailable", "AwsExceptionMessage": "Service is unavailable" }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 2, "MaxRetriesExceeded": 1, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalAwsException": "ServiceUnavailable", "FinalAwsExceptionMessage": "Service is unavailable", "FinalHttpStatusCode": 503 } ] }, { "description": "Test max retries from SDK exception", "configuration": { "accessKey": "myaccesskey", "region": "us-west-2", "environmentVariables": { "AWS_CSM_ENABLED": "true" }, "sharedConfigFile": {}, "maxRetries": 1 }, "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "sdkException": { "isRetryable": true, "message": "Retryable exception was thrown" } }, { "sdkException": { "isRetryable": true, "message": "Retryable exception was thrown" } } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "SdkException": "ANY_STR", "SdkExceptionMessage": "Retryable exception was thrown" }, { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "SdkException": "ANY_STR", "SdkExceptionMessage": "Retryable exception was thrown" }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 2, "MaxRetriesExceeded": 1, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalSdkException": "ANY_STR", "FinalSdkExceptionMessage": "Retryable exception was thrown" } ] }, { "description": "Test API call event uses exception data from final attempt", "apiCalls": [ { "serviceId": "CSM Test", "operationName": "TestOperation", "params": {}, "attemptResponses": [ { "sdkException": { "isRetryable": true, "message": "First retryable exception" } }, { "sdkException": { "isRetryable": false, "message": "Second un-retryable exception" } } ] } ], "expectedMonitoringEvents": [ { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "SdkException": "ANY_STR", "SdkExceptionMessage": "First retryable exception" }, { "Version": 1, "Type": "ApiCallAttempt", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "AttemptLatency": "ANY_INT", "Fqdn": "csmtest.us-west-2.amazonaws.com", "Region": "us-west-2", "UserAgent": "ANY_STR", "AccessKey": "myaccesskey", "SdkException": "ANY_STR", "SdkExceptionMessage": "Second un-retryable exception" }, { "Version": 1, "Type": "ApiCall", "Service": "CSM Test", "Api": "TestOperation", "ClientId": "", "Timestamp": "ANY_INT", "Latency": "ANY_INT", "AttemptCount": 2, "MaxRetriesExceeded": 0, "UserAgent": "ANY_STR", "Region": "us-west-2", "FinalSdkException": "ANY_STR", "FinalSdkExceptionMessage": "Second un-retryable exception" } ] } ] }