POST-floods

Defintion

Creates a new flood test and returns its details. This may be a long-running request.

Note to windows users when using curl be sure to prepend the flood_files[] value with an @ symbol if using curl. This indicates to curl the rest should be a file name to read the data from e.g. -F "flood_files[]=@C:/Users/tim/mytest.jmx"

POST https://api.flood.io/floods

Parameters

Parameter

Required

Type

Description

flood[tool]

true

string

type of tool to use: jmeter, gatling, java-selenium-chrome or java-selenium-firefox, or flood-chrome

flood_files

true

file

test plan to use, as a multipart upload

flood[grids]

true

array of mixed

array of grid objects to distribute flood to

flood[name]

false

string

name of the flood test

flood[notes]

false

string

notes or description of the flood test

flood[project]

false

string

notes or project name of the flood test

flood[tag_list]

false

string

comma separated tags associated with the flood test

flood[privacy_flag]

false

string

public or private [default]

flood[threads]

false

integer

number of threads to pass in to test plan

flood[rampup]

false

integer

number of seconds rampup to pass in to test plan

flood[duration]

false

integer

number of seconds duration to pass in to test plan

flood[override_hosts]

false

string

override DNS hostname resolution example.com/0.0.0.0, ...

flood[override_parameters]

false

string

override parameters string-Dparam=value, -Jparam=value, ...

Examples

Launch a flood on a new grid

curl -u ${API_TOKEN}: -X POST https://api.flood.io/floods \
-F "flood[tool]=jmeter" \
-F "flood[threads]=10" \
-F "flood[privacy]=public" \
-F "flood[name]=MyTest" \
-F "flood[tag_list]=ci,shakeout" \
-F "flood_files[]=@jmeter-with-plugins.jmx" \
-F "flood[grids][][infrastructure]=demand" \
-F "flood[grids][][instance_quantity]=1" \
-F "flood[grids][][region]=us-west-2" \
-F "flood[grids][][instance_type]=m4.xlarge" \
-F "flood[grids][][stop_after]=60"

Lauch a flood on multiple new grids

curl -u ${FLOOD_API_TOKEN}: -X POST https://api.flood.io/floods \
-F "flood[tool]=jmeter" \
-F "flood[threads]=10" \
-F "flood[privacy]=public" \
-F "flood[name]=MyTest" \
-F "flood_files[]=@jmeter-with-plugins.jmx" \
-F "flood[grids][][infrastructure]=demand" \
-F "flood[grids][][instance_quantity]=1" \
-F "flood[grids][][region]=ap-southeast-2" \
-F "flood[grids][][instance_type]=m4.xlarge" \
-F "flood[grids][][stop_after]=60" \
-F "flood[grids][][infrastructure]=demand" \
-F "flood[grids][][instance_quantity]=1" \
-F "flood[grids][][region]=ap-southeast-2" \
-F "flood[grids][][instance_type]=m4.xlarge" \
-F "flood[grids][][stop_after]=60" | jq -r .

Launch flood on an existing grid

curl -u ${API_TOKEN}: -X POST https://api.flood.io/floods \
-F "flood[tool]=jmeter" \
-F "flood[threads]=50" \
-F "flood_files[]=@/path/to/testplan.jmx" \
-F "flood_files[]=@/path/to/testdata.csv" \
-F "flood[grids][][uuid]=qpjrj4MnKmR3VgxOLtuMww"

Result Format

{
"_links": {
"self": {
"href": "/api/floods/VCFstUfl0AMdtaKYBo5d7A"
}
},
"uuid": "VCFstUfl0AMdtaKYBo5d7A",
"batch_id": "1VVGD5LBVvuatWEJ9SB8aA",
"apdex": null,
"tool": "jmeter",
"name": "MyTest",
"notes": null,
"threads": 10,
"rampup": null,
"duration": null,
"tag_list": [
"ci",
"shakeout"
],
"status": "queued",
"permalink": "https://flood.io/VCFstUfl0AMdtaKYBo5d7A",
"remote_errors": null,
"started": null,
"stopped": null,
"_embedded": {
"grids": [
{
"_links": {
"self": {
"href": "/api/grids/hg8ZjZcifgsuQvDfcnBONw"
}
},
"uuid": "hg8ZjZcifgsuQvDfcnBONw",
"batch_id": "1VVGD5LBVvuatWEJ9SB8aA",
"name": "jubilant-peak-production-hg8ZjZcifgsuQvDfcnBONw",
"region": "us-west-2",
"origin": "US West (Oregon)",
"instance_quantity": 1,
"instance_type": "m4.xlarge",
"infrastructure": "demand",
"stop_after": 60,
"status": "starting",
"nodes": []
}
],
"files": [
{
"name": "lRFFUcXvSIp7pHftfnC7x8",
"href": "..."
}
],
"archives": []
}
}