diff --git a/docs/sdk/swagger.md b/docs/sdk/swagger.md index 572f01f..3a6d295 100644 --- a/docs/sdk/swagger.md +++ b/docs/sdk/swagger.md @@ -13,45 +13,46 @@ You will only need the index.html file that is produced. 2. remove all the "Up" references. 3. Remove "nicknames" i.e. (jobsV1JobIdPost) 4. There are a number of XML comments that use " to get quotes to show correctly in the UI. Clean these up to display correctly. + 5. Remove the top X lines of the html up to the

Access

line. --> -

Access

+

Access

-

Methods

-[ Jump to Models ] +

Methods

+ [ Jump to Models ] -

Table of Contents

-
-

Info

- -

Jobs

- -

Webhooks

- +

Table of Contents

+
+

Info

+ +

Jobs

+ +

Webhooks

+ -

Info

-
-
- -
get /info
-
Returns information about the system.
-
This is an unauthenticated method. +

Info

+
+
+ +
get /info
+
Returns information about the system.
+
This is an unauthenticated method. Sample response: { "version": "1.0.0.0", @@ -72,15 +73,15 @@ Sample response:

Responses

200

Returns success. - -
-
-
-
- -
get /
-
Test to see if service is up
-
This is an unauthenticated method which returns no data.
+ +
+
+
+
+ +
get /
+
Test to see if service is up
+
This is an unauthenticated method which returns no data.
@@ -89,23 +90,23 @@ Returns success. - + -

Responses

-

200

- Returns success if the service is running. - -
-
-

Jobs

-
-
- -
get /jobs/v1
-
Returns in an array status for all jobs over the last 24 hours.
-
The default timespan is over the last 24 hours. Use the query string timeSpanFilter="TimeSpan" to specify a different interval. +

Responses

+

200

+Returns success if the service is running. + +
+
+

Jobs

+
+
+ +
get /jobs
+
Returns in an array status for all jobs over the last 24 hours.
+
The default timespan is over the last 24 hours. Use the query string timeSpanFilter="TimeSpan" to specify a different interval. Use a time format that can be parsed as a TimeSpan data type. If no data is found the result will be an empty array.
@@ -117,362 +118,328 @@ If no data is found the result will be an empty array.
timeSpanFilter (optional)
-
Query Parameter — A string which is interpreted as a TimeSpan format: date-span
+
Query Parameter — A string which is interpreted as a TimeSpan format: date-span
+

Return type

+
+ array[JobStatus] + +
+

Example data

+
Content-Type: application/json
+
[ {
+  "jobId" : "jobId",
+  "agentName" : "agentName",
+  "utcEventTime" : "2000-01-23T04:56:07.000+00:00",
+  "details" : {
+"key" : "details"
+  },
+  "state" : "Creating",
+  "metrics" : {
+"responseCodeCounts" : {
+  "key" : 6
+},
+"totalRequestCount" : 0,
+"totalBugBucketsCount" : 1
+  },
+  "tool" : "tool"
+}, {
+  "jobId" : "jobId",
+  "agentName" : "agentName",
+  "utcEventTime" : "2000-01-23T04:56:07.000+00:00",
+  "details" : {
+"key" : "details"
+  },
+  "state" : "Creating",
+  "metrics" : {
+"responseCodeCounts" : {
+  "key" : 6
+},
+"totalRequestCount" : 0,
+"totalBugBucketsCount" : 1
+  },
+  "tool" : "tool"
+} ]
+

Produces

+This API call produces the following media types according to the Accept request header; +the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
-

Responses

-

200

- Returns the job status data - -
-
-
-
- -
delete /jobs/v1/{jobId}
-
Deletes a job
-
+

Responses

+

200

+Returns the job status data -

Path parameters

-
-
jobId (required)
- -
Path Parameter — The id which refers to an existing job
- - - - - - - - - - -

Produces

- This API call produces the following media types according to the Accept request header; - the media type will be conveyed by the Content-Type response header. -
    -
  • application/json
  • -
- -

Responses

-

200

- Returns the newly created jobId - -

404

- If the job was not found - inline_response_400 +

404

+Not Found +ApiError

-
-
- -
get /jobs/v1/{jobId}
-
Returns status for the specified job.
-
+
+
-

Path parameters

-
-
jobId (required)
- -
Path Parameter
- - - - - - - - - - - -

Responses

-

200

- Returns the job status data - -

404

- If the job was not found - -
-
-
-
- -
post /jobs/v1/{jobId}
-
Repost a job definition to an existing job.
-
The existing job must have been created with isIdling set to true.
- -

Path parameters

-
-
jobId (required)
- -
Path Parameter — The id which refers to an existing job
- -

Consumes

- This API call consumes the following media types via the Content-Type request header: -
    -
  • application/json-patch+json
  • -
  • application/json
  • -
  • text/json
  • -
  • application/*+json
  • -
- -

Request body

-
-
body JobDefinition (optional)
- -
Body Parameter — The new job definition to run
-
- - - - - - - - -

Produces

- This API call produces the following media types according to the Accept request header; - the media type will be conveyed by the Content-Type response header. -
    -
  • application/json
  • -
- -

Responses

-

200

- Returns the newly created jobId - -

400

- If there was an error in the request - inline_response_400 -
-
-
-
- -
post /jobs/v1
-
Submit a job definition.
-
- - -

Consumes

- This API call consumes the following media types via the Content-Type request header: -
    -
  • application/json-patch+json
  • -
  • application/json
  • -
  • text/json
  • -
  • application/*+json
  • -
- -

Request body

-
-
body JobDefinition (optional)
- -
Body Parameter — The new job definition to run
-
- - - - - - - - -

Produces

- This API call produces the following media types according to the Accept request header; - the media type will be conveyed by the Content-Type response header. -
    -
  • application/json
  • -
- -

Responses

-

200

- Returns the newly created jobId - -

400

- If there was an error in the request - inline_response_400 -
-
-

Webhooks

-
-
- -
get /webhooks/v1/events
-
List all the supported event names.
-
- - - - - - - - - - - - -

Responses

-

200

- Success - -
-
-
-
- -
get /webhooks/v1
-
List the webhooks associated with the tag. Optionally provide an event in the query string to just show that one event.
-
Sample response: -{ -"WebhookName" : "fooTag" -"Event" : "BugFound" -"TargetUrl" : "https://mywebhookreceiver" -}
- - - - - -

Query parameters

-
-
name (optional)
- -
Query Parameter — Name of the webhook "tag"
event (optional)
- -
Query Parameter — Optional query string identifying the event
- - - - - - - -

Responses

-

200

- Returns success. - -

400

- If the event name in the query string is not a supported value - -

404

- If the webhook tag is not found - -
-
-
-
- -
post /webhooks/v1
-
Associates a webhook "tag" with an event and target URL
-
Sample response: -{ -"WebhookName" : "fooTag" -"Event" : "BugFound" -"TargetUrl" : "https://mywebhookreceiver" -}
- - -

Consumes

- This API call consumes the following media types via the Content-Type request header: -
    -
  • application/json-patch+json
  • -
  • application/json
  • -
  • text/json
  • -
  • application/*+json
  • -
- -

Request body

-
-
body WebHook (optional)
- -
Body Parameter — A WebHook data type
-
- - - - - - - - - -

Responses

-

200

- Returns success. - -

400

- Returns bad request if an exception occurs. The exception text will give the reason for the failure. - -
-
-
-
- -
put /webhooks/v1
-
Associates a webhook "tag" with an event and target URL
-
Sample response: -{ -"WebhookName" : "fooTag" -"Event" : "BugFound" -"TargetUrl" : "https://mywebhookreceiver" -}
- - -

Consumes

- This API call consumes the following media types via the Content-Type request header: -
    -
  • application/json-patch+json
  • -
  • application/json
  • -
  • text/json
  • -
  • application/*+json
  • -
- -

Request body

-
-
body WebHook (optional)
- -
Body Parameter — A WebHook data type
-
- - - - - - - - - -

Responses

-

200

- Returns success. - -

400

- Returns bad request if an exception occurs. The exception text will give the reason for the failure. - -
-
-
-
- -
put /webhooks/v1/test/{webhookName}/{eventName}
-
-
+
delete /jobs/{jobId}
+
Deletes a job
+

Path parameters

-
webhookName (required)
+
jobId (required)
-
Path Parameter
eventName (required)
+
Path Parameter — The id which refers to an existing job
+ + + + + + +

Return type

+
+ CreateJobResponse -
Path Parameter
+
+ + + +

Example data

+
Content-Type: application/json
+
{
+  "jobId" : "jobId"
+}
+ +

Produces

+This API call produces the following media types according to the Accept request header; +the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
+ +

Responses

+

200

+Returns the newly created jobId +CreateJobResponse +

404

+If the job was not found +ApiError +
+
+
+
+ +
get /jobs/{jobId}
+
Returns status for the specified job.
+
+ +

Path parameters

+
+
jobId (required)
+ +
Path Parameter
+ + + + + + +

Return type

+
+ array[JobStatus] + +
+ + + +

Example data

+
Content-Type: application/json
+
[ {
+  "jobId" : "jobId",
+  "agentName" : "agentName",
+  "utcEventTime" : "2000-01-23T04:56:07.000+00:00",
+  "details" : {
+"key" : "details"
+  },
+  "state" : "Creating",
+  "metrics" : {
+"responseCodeCounts" : {
+  "key" : 6
+},
+"totalRequestCount" : 0,
+"totalBugBucketsCount" : 1
+  },
+  "tool" : "tool"
+}, {
+  "jobId" : "jobId",
+  "agentName" : "agentName",
+  "utcEventTime" : "2000-01-23T04:56:07.000+00:00",
+  "details" : {
+"key" : "details"
+  },
+  "state" : "Creating",
+  "metrics" : {
+"responseCodeCounts" : {
+  "key" : 6
+},
+"totalRequestCount" : 0,
+"totalBugBucketsCount" : 1
+  },
+  "tool" : "tool"
+} ]
+ +

Produces

+This API call produces the following media types according to the Accept request header; +the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
+ +

Responses

+

200

+Returns the job status data + +

404

+If the job was not found +ApiError +
+
+
+
+ +
post /jobs/{jobId}
+
Repost a job definition to an existing job.
+
The existing job must have been created with IsIdling set to true.
+ +

Path parameters

+
+
jobId (required)
+ +
Path Parameter — The id which refers to an existing job
+ +

Consumes

+This API call consumes the following media types via the Content-Type request header: +
    +
  • application/json-patch+json
  • +
  • application/json
  • +
  • text/json
  • +
  • application/*+json
  • +
+ +

Request body

+
+
body JobDefinition (optional)
+ +
Body Parameter — The new job definition to run
+
+ + + + +

Return type

+ + + + +

Example data

+
Content-Type: application/json
+
{
+  "jobId" : "jobId"
+}
+ +

Produces

+This API call produces the following media types according to the Accept request header; +the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
+ +

Responses

+

200

+Returns the newly created jobId +CreateJobResponse +

400

+If there was an error in the request +ApiError +
+
+
+
+ +
post /jobs
+
Submit a job definition.
+
+ + +

Consumes

+This API call consumes the following media types via the Content-Type request header: +
    +
  • application/json-patch+json
  • +
  • application/json
  • +
  • text/json
  • +
  • application/*+json
  • +
+ +

Request body

+
+
body JobDefinition (optional)
+ +
Body Parameter — The new job definition to run
+
+ + +

Query parameters

+
+
region (optional)
+ +
Query Parameter — Run the job definition in a specified region. If not set - run in the same region as the service +https://docs.microsoft.com/en-us/azure/container-instances/container-instances-region-availability
+ + +

Return type

+ + + + +

Example data

+
Content-Type: application/json
+
{
+  "jobId" : "jobId"
+}
+ +

Produces

+This API call produces the following media types according to the Accept request header; +the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
+ +

Responses

+

200

+Returns the newly created jobId +CreateJobResponse +

400

+If there was an error in the request +ApiError +
+
+

Webhooks

+
+
+ +
get /webhooks/events
+
List all the supported event names.
+
+ @@ -487,23 +454,157 @@ If no data is found the result will be an empty array.

Responses

200

Success - +

-
-
- -
delete /webhooks/v1/{webhookName}/{eventName}
-
Delete the webhook for a specific event
-
If the name or event are not found, no error is returned.
+
+
-

Path parameters

-
-
webhookName (required)
- -
Path Parameter — Name of the webhook tag
eventName (required)
- -
Path Parameter — Name of the event
+
get /webhooks
+
List the webhooks associated with the tag. Optionally provide an event in the query string to just show that one event.
+
Sample response: +{ +"WebhookName" : "fooTag" +"Event" : "BugFound" +"TargetUrl" : "https://mywebhookreceiver" +}
+ + + + + +

Query parameters

+
+
name (optional)
+ +
Query Parameter — Name of the webhook "tag"
event (optional)
+ +
Query Parameter — Optional query string identifying the event
+ + + + + + + +

Responses

+

200

+Returns success. + +

400

+If the event name in the query string is not a supported value + +

404

+If the webhook tag is not found + +
+
+
+
+ +
post /webhooks
+
Associates a webhook "tag" with an event and target URL
+
Sample response: +{ +"WebhookName" : "fooTag" +"Event" : "BugFound" +"TargetUrl" : "https://mywebhookreceiver" +}
+ + +

Consumes

+This API call consumes the following media types via the Content-Type request header: +
    +
  • application/json-patch+json
  • +
  • application/json
  • +
  • text/json
  • +
  • application/*+json
  • +
+ +

Request body

+
+
body WebHook (optional)
+ +
Body Parameter — A WebHook data type
+
+ + + + + + + + + +

Responses

+

200

+Returns success. + +

400

+Returns bad request if an exception occurs. The exception text will give the reason for the failure. + +
+
+
+
+ +
put /webhooks
+
Associates a webhook "tag" with an event and target URL
+
Sample response: +{ +"WebhookName" : "fooTag" +"Event" : "BugFound" +"TargetUrl" : "https://mywebhookreceiver" +}
+ + +

Consumes

+This API call consumes the following media types via the Content-Type request header: +
    +
  • application/json-patch+json
  • +
  • application/json
  • +
  • text/json
  • +
  • application/*+json
  • +
+ +

Request body

+
+
body WebHook (optional)
+ +
Body Parameter — A WebHook data type
+
+ + + + + + + + + +

Responses

+

200

+Returns success. + +

400

+Returns bad request if an exception occurs. The exception text will give the reason for the failure. + +
+
+
+
+ +
put /webhooks/test/{webhookName}/{eventName}
+
+
+ +

Path parameters

+
+
webhookName (required)
+ +
Path Parameter
eventName (required)
+ +
Path Parameter
@@ -511,17 +612,48 @@ Success - + -

Responses

-

200

- Returns success. - -

400

- If the event name is not a supported value. - +

Responses

+

200

+Success + +
+
+
+
+ +
delete /webhooks/{webhookName}/{eventName}
+
Delete the webhook for a specific event
+
If the name or event are not found, no error is returned.
+ +

Path parameters

+
+
webhookName (required)
+ +
Path Parameter — Name of the webhook tag
eventName (required)
+ +
Path Parameter — Name of the event
+ + + + + + + + + + + +

Responses

+

200

+Returns success. + +

400

+If the event name is not a supported value. +

@@ -530,76 +662,82 @@ Success

Table of Contents

    -
  1. AgentConfiguration
  2. -
  3. AuthorizationToken
  4. -
  5. AzureADConfig
  6. -
  7. CommandLine
  8. -
  9. CompileConfiguration
  10. -
  11. CustomDictionary
  12. -
  13. FilePath
  14. -
  15. FileShareMount
  16. -
  17. JobDefinition
  18. -
  19. MSALConfig
  20. -
  21. ProblemDetails
  22. -
  23. RESTler
  24. -
  25. RaftTask
  26. -
  27. ReplayConfiguration
  28. -
  29. RunConfiguration
  30. -
  31. TargetEndpointConfiguration
  32. -
  33. TxtToken
  34. -
  35. Url
  36. -
  37. ValidationProblemDetails
  38. -
  39. WebHook
  40. -
  41. ZAP - ZAP
  42. -
  43. inline_response_400
  44. +
  45. AgentConfiguration
  46. +
  47. ApiError
  48. +
  49. ApiErrorCode
  50. +
  51. ApiErrors
  52. +
  53. AuthenticationMethod
  54. +
  55. CompileConfiguration
  56. +
  57. CreateJobResponse
  58. +
  59. CustomDictionary
  60. +
  61. FileShareMount
  62. +
  63. InnerError
  64. +
  65. JobDefinition
  66. +
  67. JobState
  68. +
  69. JobStatus
  70. +
  71. RESTler
  72. +
  73. RaftTask
  74. +
  75. ReplayConfiguration
  76. +
  77. Resources
  78. +
  79. RunConfiguration
  80. +
  81. RunSummary
  82. +
  83. SwaggerLocation
  84. +
  85. TargetEndpointConfiguration
  86. +
  87. WebHook
  88. +
  89. Webhook
  90. +
  91. ZAP - ZAP
-

AgentConfiguration

-
Configure behaviour of RESTler agent
-
-
resultsAnalyzerReportTimeSpanInterval (optional)
String How often to run result analyzer against RESTler logs. Default is every 1 minute. +

AgentConfiguration Up

+
Configure behaviour of RESTler agent
+
+
resultsAnalyzerReportTimeSpanInterval (optional)
String How often to run result analyzer against RESTler logs. Default is every 1 minute. If not set then result analyzer will run only once after RESTler task is over. format: date-span
-
+
-

AuthorizationToken

-
Method of retrieving authorization token for the service under test
-
-
refreshIntervalSeconds (optional)
Integer Token Refresh Interval (default every 5 minutes) format: int32
-
tokenRefreshCommand (optional)
Token refresh command
-
oneOf: - AzureADConfig    - MSALConfig    - TxtToken    - CommandLine    -
-
+

ApiError Up

+
The guidelines specify that the top level structure has only this one member.
+
+
error (optional)
+
-

AzureADConfig

-
Get authorization token from Azure AD using Service Principal
-
-
$type
-
secretName (optional)
String Key vault secret name that contains the MSAL configuration in JSON format -{ "tenant" : "<tenantId>", "client" : "<clientid>", "secret" : "<secret>" }
-
+

ApiErrorCode Up

+ +
+
-

CommandLine

-
User specified command line to execute for acquiring authorization token
-
-
$type
-
command (optional)
String Command line to execute
-
+

ApiErrors Up

+ +
+
code (optional)
+
message (optional)
String A detail string that can be used for debugging
+
target (optional)
String Function name that generated the error
+
details (optional)
array[ApiErrors] An array of details about specific errors that led to this reported error.
+
innerError (optional)
+
-

CompileConfiguration

-
User-specified RESTler compiler configuration
-
-
compileJsonGrammar (optional)
String Relative path to a JSON grammar to use for compilation relative to compile folder path +

AuthenticationMethod Up

+
Method of authenticating with the service under test
+
+
msal (optional)
String KeyVault Secret name containing MSAL authentication information in following format: +{ "tenant" : "<tenantId>", "client" : "<clientid>", "secret" : "<secret>"} +optional values that could be passed as part of the JSON: scopes and authorityUri
+
commandLine (optional)
String Command line to execute that acquires authorization token and prints it to standard output
+
txtToken (optional)
String KeyVault Secret name containing plain text token
+
+
+
+

CompileConfiguration Up

+
User-specified RESTler compiler configuration
+
+
inputJsonGrammarPath (optional)
String Path to a JSON grammar to use for compilation If set then JSON grammar used for compilation instead of Swagger
-
compileFolderPath (optional)
String Grammar is produced by compile step prior. The compile step +
inputFolderPath (optional)
String Grammar is produced by compile step prior. The compile step file share is mounted and set here. Agent will not modify this share. Agent will make a copy of all needed files to it's work directory and re-run compile with data passed through this folder.
@@ -609,18 +747,24 @@ This option is present for debugging, and should be set to 'false' by default. In limited cases when GET is a valid producer, the user should add an annotation for it.
-
staticToken (optional)
String Token that can be used for authenticating with service under test
useRefreshableToken (optional)
Boolean Use refreshable token for authenticating with service under test
mutationsSeed (optional)
Long Use the seed to generate random value for empty/null customDictitonary fields if not set then default hard-coded RESTler values are used for populating customDictionary fields format: int64
customDictionary (optional)
-
+
-

CustomDictionary

- -
-
fuzzableString (optional)
array[String] List of string values used as fuzzing inputs. If null then values are auto-generated
+

CreateJobResponse Up

+ +
+
jobId (optional)
+
+
+
+

CustomDictionary Up

+ +
+
fuzzableString (optional)
array[String] List of string values used as fuzzing inputs. If null then values are auto-generated
fuzzableInt (optional)
array[String] List of int values used as fuzzing inputs. If null then values are auto-generated
fuzzableNumber (optional)
array[String] List of number values used as fuzzing inputs. If null then values are auto-generated
fuzzableBool (optional)
array[String] List of bool values used as fuzzing inputs. If null then values are auto-generated
@@ -635,119 +779,125 @@ have a random suffix added. For example {"publicIpAddressName": "publicIpAddrNam publicIpAddressName parameter defined in Swagger specifications.
customPayloadHeader (optional)
map[String, array[String]] User specified custom headers to pass in every request
shadowValues (optional)
map[String, map[String, array[String]]] RESTler documentation will have more info on this
-
+
-

FilePath

-
File path to Swagger specification
-
-
$type
-
value (optional)
String File path
-
-
-
-

FileShareMount

-
Mount file share from RAFT storage account to container running a payload.
-
-
fileShareName (optional)
String Any fileShare name from the RAFT storage account
+

FileShareMount Up

+
Mount file share from RAFT storage account to container running a payload.
+
+
fileShareName (optional)
String Any fileShare name from the RAFT storage account
mountPath (optional)
String Directory name under which file share is mounted on the container. For example "/my-job-config"
-
+
-

JobDefinition

-
RAFT job run definition
-
-
swagger (optional)
Swagger specification location for the job run
-
oneOf: - Url    - FilePath    -
+

InnerError Up

+
Inner error can be used for cascading exception handlers or where there are field validations +and multiple errors need to be returned.
+
+
message (optional)
String Inner detailed message
+
+
+
+

JobDefinition Up

+
RAFT job run definition
+
+
swaggerLocation (optional)
namePrefix (optional)
String String used as a prefix added to service generated job ID. Prefix can contain only lowercase letters, numbers, and hyphens, and must begin with a letter or a number. Prefix cannot contain two consecutive hyphens. Can be up to 27 characters long
-
tasks (optional)
array[RaftTask] RAFT Task definitions
+
resources (optional)
+
tasks
array[RaftTask] RAFT Task definitions
duration (optional)
String Duration of the job; if not set, then job runs till completion (or forever). For RESTler jobs - time limit is only useful for Fuzz task format: date-span
host (optional)
String Override the Host for each request.
-
webhook (optional)
String Webhook to associate with the job
-
metadata (optional)
map[String, String] Arbitrary key/value pairs that will be returned in webhooks
+
webhook (optional)
rootFileShare (optional)
String If set, then place all job run results into this file share
-
readOnlyFileSharesMounts (optional)
array[FileShareMount] File shares to mount from RAFT deployment storage account as read-only directories.
-
readWriteFileSharesMounts (optional)
array[FileShareMount] File shares to mount from RAFT deployment storage account as read-write directories.
-
+
readOnlyFileShareMounts (optional)
array[FileShareMount] File shares to mount from RAFT deployment storage account as read-only directories.
+
readWriteFileShareMounts (optional)
array[FileShareMount] File shares to mount from RAFT deployment storage account as read-write directories.
+
-

MSALConfig

-
Get authorization token using MSAL. Uses .default for scope.
-
-
$type
-
secretName (optional)
String Key vault secret name that contains the MSAL configuration in JSON format -{ "tenant" : "<tenantId>", "client" : "<clientid>", "secret" : "<secret>" }
-
+

JobState Up

+ +
+
-

ProblemDetails

- -
-
+

JobStatus Up

+ +
+
tool (optional)
+
jobId (optional)
+
state (optional)
+
metrics (optional)
+
utcEventTime (optional)
Date format: date-time
+
details (optional)
+
agentName (optional)
+
-

RESTler

-
RESTler payload
-
-
task (optional)
String Can be compile, fuzz, test, replay
+

RESTler Up

+
RESTler payload
+
+
task (optional)
String Can be compile, fuzz, test, replay
+
Enum:
+
compile
test
fuzz
replay
compileConfiguration (optional)
runConfiguration (optional)
replayConfiguration (optional)
agentConfiguration (optional)
-
+
-

RaftTask

-
RAFT task to run.
-
-
toolName (optional)
String Tool defined by folder name located in cli/raft-tools/tools/{ToolName}
-
nameSuffix (optional)
String User assigned string appended to agent name, and agent generated results folder. +

RaftTask Up

+
RAFT task to run.
+
+
toolName
String Tool defined by folder name located in cli/raft-tools/tools/{ToolName}
+
outputFolder
String Output folder name to store agent generated output Must not contain: /*?:|&lt;&gt;"
-
swagger (optional)
Override swagger specification location
-
oneOf: - Url    - FilePath    -
+
swaggerLocation (optional)
host (optional)
String Override the Host for each request.
-
isIdling (optional)
Boolean Is this container idled and waiting for user to connect
+
isIdling (optional)
Boolean If true - do not run the task. Idle container to allow user to connect to it.
duration (optional)
String Duration of the task; if not set, then job level duration is used. For RESTler jobs - time limit is only useful for Fuzz task format: date-span
-
authTokenConfiguration (optional)
+
authenticationMethod (optional)
keyVaultSecrets (optional)
array[String] List of names of secrets in Keyvault used in configuring authentication credentials Key Vault secret name must start with alphabetic character and followed by a string of alphanumeric characters (for example 'MyName123'). Secret name can be upto 127 characters long
-
taskConfiguration (optional)
-
anyOf: - RESTler    -
-
+
toolConfiguration (optional)
+
-

ReplayConfiguration

-
RESTler configuration for replaying request sequences that triggered a reproducable bug
-
-
replayBugBucketsPaths (optional)
array[String] List of paths to RESTler folder runs to replay (names of folders are assigned when mounted readonly/readwrite file share mounts). +

ReplayConfiguration Up

+
RESTler configuration for replaying request sequences that triggered a reproducable bug
+
+
bugBuckets (optional)
array[String] List of paths to RESTler folder runs to replay (names of folders are assigned when mounted readonly/readwrite file share mounts). If path is a folder, then all bug buckets replayed in the folder. If path is a bug_bucket file - then only that file is replayed. If empty - then replay all bugs under RunConfiguration.previousStepOutputFolderPath.
-
runConfiguration (optional)
-
+
-

RunConfiguration

-
RESTler job Test, Fuzz or Replay configuration
-
-
grammarPy (optional)
String Path to grammar py relative to compile folder path. If not set then default "grammar.py" grammar is assumed
-
previousStepOutputFolderPath (optional)
String For Test or Fuzz tasks: Grammar is produced by compile step. The compile step +

Resources Up

+
Hardware resources to allocate for the job
+
+
cores (optional)
Integer Number of cores to allocate for the job. +Default is 1 core. +see: https://docs.microsoft.com/en-us/azure/container-instances/container-instances-region-availability format: int32
+
memoryGBs (optional)
Integer Memory to allocate for the job +Default is 1 GB. +see: https://docs.microsoft.com/en-us/azure/container-instances/container-instances-region-availability format: int32
+
+
+
+

RunConfiguration Up

+
RESTler job Test, Fuzz or Replay configuration
+
+
grammarPy (optional)
String Path to grammar py relative to compile folder path. If not set then default "grammar.py" grammar is assumed
+
inputFolderPath (optional)
String For Test or Fuzz tasks: Grammar is produced by compile step. The compile step file share is mounted and set here. Agent will not modify this share. Agent will make a copy of all needed files to it's work directory. For Replay task: path to RESTler Fuzz or Test run that contains bug buckets to replay
@@ -755,58 +905,56 @@ For Replay task: path to RESTler Fuzz or Test run that contains bug buckets to r
producerTimingDelay (optional)
Integer The delay in seconds after invoking an API that creates a new resource format: int32
useSsl (optional)
Boolean Use SSL when connecting to the server
pathRegex (optional)
String Path regex for filtering tested endpoints
-
+
authenticationTokenRefreshIntervalSeconds (optional)
Integer Authentciation token refresh interval format: int32
+
-

TargetEndpointConfiguration

-
Configuration of the endpoint under test
-
-
ip (optional)
String The IP of the endpoint being fuzzed
+

RunSummary Up

+ +
+
totalRequestCount (optional)
Integer format: int32
+
responseCodeCounts (optional)
map[String, Integer] format: int32
+
totalBugBucketsCount (optional)
Integer format: int32
+
+
+
+

SwaggerLocation Up

+ +
+
url (optional)
+
filePath (optional)
+
+
+
+

TargetEndpointConfiguration Up

+
Configuration of the endpoint under test
+
+
ip (optional)
String The IP of the endpoint being fuzzed
port (optional)
Integer The port of the endpoint being fuzzed. Defaults to 443. format: int32
-
+
-

TxtToken

-
Use static authorization token defined in a text file
-
-
$type
-
secretName (optional)
String Key vault secret name that contains the token as the secret value
-
-
-
-

Url

-
URL to Swagger specification
-
-
$type
-
value (optional)
String URL
-
-
- -
-

WebHook

- -
-
webhookName (optional)
+

WebHook Up

+ +
+
webhookName (optional)
event (optional)
targetUrl (optional)
String format: uri
-
+
-

ZAP - ZAP

- -
-
+

Webhook Up

+
Webhook definition
+
+
name (optional)
String Webhook name to associate with the job
+
metadata (optional)
map[String, String] Arbitrary key/value pairs that will be returned in webhooks
+