module-registry

The module-registry service is a private registry for Terraform/Opentofu modules

List modules

List all modules from the module registry

Securityx-api-key
Request
query Parameters
limit
integer <int64> [ 1 .. 1000 ]
Default: 30

Limit is the number of records to return for a page.

Example: limit=30
page
integer <int64> >= 1
Default: 1

Page is the page number to return relative to the page 'limit'.

Example: page=1
searchTerm
string
Default: ""

Filter results by partial name match

Example: searchTerm=mymod
sort
string
Default: "name,ASC"

Sort order for results

Enum: "name,ASC" "name,DESC" "updated,ASC" "updated,DESC"
Example: sort=name,ASC
header Parameters
Harness-Account
required
string

account name

Example: Facere aut culpa nemo dignissimos.
Responses
200

OK response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

get/iacm/api/modules
Request samples
Response samples
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Create module

Create a new module in the module registry

Securityx-api-key
Request
header Parameters
Harness-Account
required
string [ 1 .. 128 ] characters

account that owns the module

Example: o
Request Body schema: application/json
required
description
string

description of the module

name
required
string [ 1 .. 128 ] characters

module name

repository
string

Repository is the name of the repository to use.

repository_branch
string

Repository Branch in which the code should be accessed.

repository_commit
string

Repository Commit/Tag in which the code should be accessed.

repository_connector
string

Repository Connector is the reference to the connector to use for this code.

repository_path
string
Default: ""

Repository Path is the path in which the infra code resides.

system
required
string [ 1 .. 128 ] characters ^[a-z]+$

system name

tags
string

tags defining the module

Responses
200

OK response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

post/iacm/api/modules
Request samples
application/json
{
  • "description": "Molestiae porro totam aut molestias assumenda necessitatibus.",
  • "name": "8sb",
  • "repository": "Ut ut id neque voluptatem doloremque.",
  • "repository_branch": "main",
  • "repository_commit": "abc10ed",
  • "repository_connector": "Est reiciendis error id.",
  • "repository_path": "",
  • "system": "b02",
  • "tags": "Vero rerum incidunt reiciendis."
}
Response samples
application/json
{
  • "account": "xj",
  • "created": 6968089626559387000,
  • "description": "Illum soluta saepe quaerat modi aut et.",
  • "id": "aaaaaaaa-bbbb-cccc-eeee-ffffffffffff",
  • "name": "z",
  • "repository": "Iste eos est excepturi illum et itaque.",
  • "repository_branch": "main",
  • "repository_commit": "abc10ed",
  • "repository_connector": "Et dolores.",
  • "repository_path": "",
  • "system": "0",
  • "tags": "Labore vel.",
  • "updated": 246179064148026400
}

Delete module

Delete a module from the module registry

Securityx-api-key
Request
path Parameters
id
required
string

id

Example: Amet ducimus.
header Parameters
Harness-Account
required
string

account name

Example: Est dignissimos facere non necessitatibus.
Responses
204

No Content response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

delete/iacm/api/modules/{id}
Request samples

List module by id

List a module from the module registry by ID

Securityx-api-key
Request
path Parameters
id
required
string

module id

Example: Dolorum aliquam.
header Parameters
Harness-Account
required
string

account name

Example: Magnam rerum veritatis velit.
Responses
200

OK response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

get/iacm/api/modules/{id}
Request samples
Response samples
application/json
{
  • "account": "vv",
  • "created": 5565584792309111000,
  • "description": "Nam sit numquam neque.",
  • "id": "aaaaaaaa-bbbb-cccc-eeee-ffffffffffff",
  • "module_error": "Sunt nihil.",
  • "name": "9",
  • "repository": "Illum beatae molestiae.",
  • "repository_branch": "main",
  • "repository_commit": "abc10ed",
  • "repository_connector": "Delectus reiciendis vel facere ratione alias qui.",
  • "repository_path": "",
  • "repository_url": "Quia vel provident nobis et nemo et.",
  • "synced": 8682746808568900000,
  • "system": "5",
  • "tags": "Non quaerat dicta praesentium occaecati.",
  • "testing_enabled": true,
  • "updated": 8441622593020340000,
  • "versions": [
    ]
}

Update module

Update a module in the module registry

Securityx-api-key
Request
path Parameters
id
required
string

module id

Example: aaaaaaaa-bbbb-cccc-eeee-ffffffffffff
header Parameters
Harness-Account
required
string [ 1 .. 128 ] characters

account that owns the module

Example: 9
Request Body schema: application/json
required
description
string

description of the module

name
required
string [ 1 .. 128 ] characters

module name

repository
string

Repository is the name of the repository to use.

repository_branch
string

Repository Branch in which the code should be accessed.

repository_commit
string

Repository Commit/Tag in which the code should be accessed.

repository_connector
string

Repository Connector is the reference to the connector to use for this code.

repository_path
string
Default: ""

Repository Path is the path in which the infra code resides.

system
required
string [ 1 .. 128 ] characters ^[a-z]+$

system name

tags
string

tags defining the module

Responses
200

OK response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

put/iacm/api/modules/{id}
Request samples
application/json
{
  • "description": "Velit magnam.",
  • "name": "8",
  • "repository": "Possimus aut qui impedit cupiditate sapiente illo.",
  • "repository_branch": "main",
  • "repository_commit": "abc10ed",
  • "repository_connector": "Qui et accusamus nulla.",
  • "repository_path": "",
  • "system": "ti",
  • "tags": "Sit unde est laboriosam."
}

Sync module metadata

Sync the module metadata from the module registry

Securityx-api-key
Request
path Parameters
id
required
string

id

Example: Nesciunt nulla.
header Parameters
Harness-Account
required
string

account name

Example: Qui et consequatur voluptatem explicabo asperiores asperiores.
Responses
204

No Content response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

post/iacm/api/modules/{id}/sync
Request samples

Create test execution by module id

Create a test execution for a specific module

Securityx-api-key
Request
path Parameters
id
required
integer <int64>

module id

Example: 7330367828627420000
header Parameters
Harness-Account
required
string

account name

Example: Amet maxime repellendus.
Responses
201

Created response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

post/iacm/api/modules/{id}/test-execution
Request samples

List test executions

List the executions from the testing pipeline for a specific module

Securityx-api-key
Request
path Parameters
id
required
integer <int64>

module id

Example: 3570075542994606600
version
required
string

version of the module

Example: Quis quibusdam ut.
query Parameters
limit
integer <int64> [ 1 .. 1000 ]
Default: 30

Limit is the number of records to return for a page.

Example: limit=30
page
integer <int64> >= 1
Default: 1

Page is the page number to return relative to the page 'limit'.

Example: page=1
org
required
string [ 1 .. 128 ] characters

Org is the organisation identifier.

Example: org=ew5
project
required
string [ 1 .. 128 ] characters

Project is the project identifier.

Example: project=a
header Parameters
Harness-Account
required
string [ 1 .. 128 ] characters

Account is the internal customer account ID.

Example: io
Responses
200

OK response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

get/iacm/api/modules/{id}/test-execution/{version}
Request samples
Response samples
application/json
{
  • "body": [
    ],
  • "pageSize": 50,
  • "totalItems": 1800,
  • "totalPages": 36
}

Create test execution module version

Create a test execution for a specific module version

Securityx-api-key
Request
path Parameters
id
required
integer <int64>

module id

Example: 1928988265802907400
version
required
string

version of the module

Example: Facilis nulla rerum reiciendis illum omnis.
header Parameters
Harness-Account
required
string

account name

Example: Voluptatem nulla temporibus est sunt ullam earum.
Responses
201

Created response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

post/iacm/api/modules/{id}/test-execution/{version}
Request samples

Disable testing

Disable testing for a module

Securityx-api-key
Request
path Parameters
id
required
integer <int64>

module id

Example: 967901747394890500
header Parameters
Harness-Account
required
string

account name

Example: Et veritatis enim aut.
Request Body schema: application/json
required
org
required
string

organization id

project
required
string

project id

Responses
204

No Content response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

delete/iacm/api/modules/{id}/testing
Request samples
application/json
{
  • "org": "Sint quas facilis est vel modi.",
  • "project": "Nam ratione laudantium non sit unde quia."
}

Enable testing

Enable testing for a module

Securityx-api-key
Request
path Parameters
id
required
string

module id

Example: Sed voluptas et.
header Parameters
Harness-Account
required
string

account name

Example: Sint est omnis quia impedit repellendus.
Request Body schema: application/json
required
org
required
string

organization id

pipeline_id
string

pipeline id

project
required
string

project id

provider_connector
required
string

provider connector

provisioner_type
required
string

provisioner type

provisioner_version
required
string

provisioner version

Responses
204

No Content response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

post/iacm/api/modules/{id}/testing
Request samples
application/json
{
  • "org": "Ut doloremque odit aut magnam eaque.",
  • "pipeline_id": "Dolores voluptatem.",
  • "project": "Vel voluptatem.",
  • "provider_connector": "Ea sit amet asperiores et animi.",
  • "provisioner_type": "Unde corporis reprehenderit distinctio deleniti exercitationem reiciendis.",
  • "provisioner_version": "Et nesciunt veritatis ipsa non voluptas saepe."
}

List module metadata

List the module metadata from the module registry

Securityx-api-key
Request
path Parameters
module_id
required
string

module id

Example: Voluptate placeat molestiae molestiae aut.
query Parameters
version
required
string

version of the module

Example: version=Sed perferendis voluptatem beatae in ut adipisci.
submodule
string

submodule name

Example: submodule=Quam eum.
header Parameters
Harness-Account
required
string

account name

Example: Dolores rerum quae architecto officiis.
Responses
200

OK response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

get/iacm/api/modules/{module_id}/metadata
Request samples
Response samples
application/json
{
  • "account": "Illum qui.",
  • "dependencies": [
    ],
  • "metadata_error": "Aut vel accusamus.",
  • "module_version": "Ut facere debitis perferendis nobis harum.",
  • "name": "Quia expedita et atque beatae cum et.",
  • "outputs": [
    ],
  • "providers": [
    ],
  • "resources": [
    ],
  • "submodule": [
    ],
  • "system": "Ut totam autem eveniet.",
  • "variables": [
    ]
}

List module readme

List the module readme from the module registry

Securityx-api-key
Request
path Parameters
module_id
required
string

module id

Example: Aut aut qui numquam.
query Parameters
version
required
string

version of the module

Example: version=Commodi ut nulla possimus voluptatibus.
submodule
string

submodule name

Example: submodule=Odit itaque possimus quasi et qui.
header Parameters
Harness-Account
required
string

account name

Example: Porro occaecati dolor.
Responses
200

OK response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

get/iacm/api/modules/{module_id}/readme
Request samples
Response samples
application/json
"string"

Create module data

Create a new module in the module registry

Securityx-api-key
Request
path Parameters
name
required
string

module name

Example: Et necessitatibus explicabo harum qui temporibus voluptatem.
system
required
string

system name

Example: Ut velit.
version
required
string

version of the module

Example: Iste corrupti consequatur et quaerat.
header Parameters
Harness-Account
required
string

account name

Example: Dicta omnis nemo quod.
Request Body schema: application/json
required
download_url
required
string

download url of the module

object

error from the tag operation

examples_paths
Array of strings

path of the examples relative to the module

git_tag
required
string

git tag of the module

metadata
required
string

metadata to be parsed

repo_url
string

url pointing to the repo

submodule_name
string

name of the submodule been processed

submodule_paths
Array of strings

path of the submodules relative to the module

Responses
201

Created response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

post/iacm/api/modules/{name}/{system}/{version}/metadata
Request samples
application/json
{
  • "download_url": "Autem voluptas.",
  • "error": {
    },
  • "examples_paths": [
    ],
  • "git_tag": "Quia qui.",
  • "metadata": "Nobis ut at.",
  • "repo_url": "Qui quisquam nihil maxime et sint.",
  • "submodule_name": "Voluptatum autem eligendi assumenda.",
  • "submodule_paths": [
    ]
}

Create module readme

Endpoint to push the Readme for a given module

Securityx-api-key
Request
path Parameters
name
required
string

module name

Example: Quidem ullam.
system
required
string

system name

Example: Voluptatem aliquam similique quis aliquid.
version
required
string

version of the module

Example: Soluta eaque debitis est.
query Parameters
submoduleName
string

submodule name

Example: submoduleName=Qui et quam dolorem omnis.
header Parameters
Harness-Account
required
string

account name

Example: Nisi et.
Responses
201

Created response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

post/iacm/api/modules/{name}/{system}/{version}/readme
Request samples

Create module tags

List all tags for a given module

Securityx-api-key
Request
path Parameters
name
required
string [ 1 .. 128 ] characters

module name

Example: sl
system
required
string [ 1 .. 128 ] characters ^[a-z]+$

system name

Example: zw
header Parameters
Harness-Account
required
string [ 1 .. 128 ] characters

account that owns the module

Example: w6
Request Body schema: application/json
required
object

error from the tag operation

tags
Array of strings

tags defining the module

Responses
201

Created response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

post/iacm/api/modules/{name}/{system}/tags
Request samples
application/json
{
  • "error": {
    },
  • "tags": [
    ]
}

List connectors

List all connectors from the module registry for a specific account

Securityx-api-key
Request
header Parameters
Harness-Account
required
string

account name

Example: Eligendi aliquam earum.
Responses
200

OK response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

get/iacm/api/modules/connectors
Request samples
Response samples
application/json
[
  • "Quas nesciunt impedit voluptatem.",
  • "Aut corrupti fuga inventore fugiat magni.",
  • "Iste eius autem.",
  • "Velit accusantium."
]

Download module

Download a module given a specific version

Securityx-api-key
Request
path Parameters
account
required
string

account name

Example: Architecto dolores harum voluptatem aut placeat.
name
required
string

module name

Example: Voluptas totam sit qui atque reprehenderit voluptatem.
system
required
string

system name

Example: Ducimus quibusdam.
version
required
string

version of the module

Example: Atque sunt sunt.
Responses
204

No Content response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

get/iacm/registry/account/{account}/{name}/{system}/{version}/download
Request samples

List module versions

list-module-versions returns an array of versions for a given module

Securityx-api-key
Request
path Parameters
account
required
string

account name

Example: Nihil eius quae.
name
required
string

module name

Example: Velit incidunt ea.
system
required
string

system name

Example: Sit dolore pariatur et culpa.
Responses
200

OK response.

400

BadRequestError: Bad Request response.

401

UnauthorizedError: Unauthorized response.

403

ForbiddenError: Forbidden response.

404

NotFoundError: Not Found response.

408

TimeoutError: Request Timeout response.

409

ConflictError: Conflict response.

423

LockedError: Locked response.

499

ContextCancelledError: response.

500

InternalServerError: Internal Server Error response.

502

BadGatewayError: Bad Gateway response.

get/iacm/registry/account/{account}/{name}/{system}/versions
Request samples
Response samples
application/json
{
  • "modules": [
    ]
}