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: Deleniti id commodi est ut ea.
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: 35
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": "Aut distinctio.",
  • "name": "mbw",
  • "repository": "Quidem voluptatem est.",
  • "repository_branch": "main",
  • "repository_commit": "abc10ed",
  • "repository_connector": "Ut doloremque nihil nam doloribus consectetur delectus.",
  • "repository_path": "",
  • "system": "tf9",
  • "tags": "Quis possimus et consequatur."
}
Response samples
application/json
{
  • "account": "25o",
  • "created": 5761459123511772000,
  • "description": "Exercitationem iure dolorum adipisci sit magnam.",
  • "id": "aaaaaaaa-bbbb-cccc-eeee-ffffffffffff",
  • "name": "ib6",
  • "repository": "Expedita id quasi at sit unde est.",
  • "repository_branch": "main",
  • "repository_commit": "abc10ed",
  • "repository_connector": "Omnis velit.",
  • "repository_path": "",
  • "system": "hi",
  • "tags": "Quae itaque.",
  • "updated": 4518957871894128000
}

Delete module

Delete a module from the module registry

Securityx-api-key
Request
path Parameters
id
required
string

id

Example: Et molestiae animi sunt.
header Parameters
Harness-Account
required
string

account name

Example: Voluptas dolorum nihil corporis voluptate animi.
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: Iure rerum quo.
header Parameters
Harness-Account
required
string

account name

Example: Laudantium sit consequuntur.
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": "4lx",
  • "created": 3676667040778092500,
  • "description": "Quia sapiente est.",
  • "id": "aaaaaaaa-bbbb-cccc-eeee-ffffffffffff",
  • "module_error": "Illo laborum eum cumque nostrum aut voluptas.",
  • "name": "ga",
  • "repository": "Eum perspiciatis.",
  • "repository_branch": "main",
  • "repository_commit": "abc10ed",
  • "repository_connector": "Molestiae cum et.",
  • "repository_path": "",
  • "repository_url": "Aliquid consequatur in qui.",
  • "synced": 3171824442120136000,
  • "system": "iig",
  • "tags": "Repudiandae dolore eos.",
  • "testing_enabled": false,
  • "updated": 5215892486712770000,
  • "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: wka
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": "Consequatur dolorum aperiam ut quia.",
  • "name": "85z",
  • "repository": "Minus nisi alias tenetur.",
  • "repository_branch": "main",
  • "repository_commit": "abc10ed",
  • "repository_connector": "Eveniet in minus quasi soluta omnis explicabo.",
  • "repository_path": "",
  • "system": "a4",
  • "tags": "Placeat quidem quis ut."
}

Sync module metadata

Sync the module metadata from the module registry

Securityx-api-key
Request
path Parameters
id
required
string

id

Example: Natus quo ea et aliquam facere molestias.
header Parameters
Harness-Account
required
string

account name

Example: Deserunt facere nihil ipsum labore consequatur voluptate.
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: 3209730722765743600
header Parameters
Harness-Account
required
string

account name

Example: Qui et facere occaecati.
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: 3201691081516179000
version
required
string

version of the module

Example: Aut at.
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=w
project
required
string [ 1 .. 128 ] characters

Project is the project identifier.

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

Account is the internal customer account ID.

Example: r
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: 5660732224946130000
version
required
string

version of the module

Example: Dolor nihil placeat veritatis sed.
header Parameters
Harness-Account
required
string

account name

Example: Id placeat quam molestiae.
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: 8780947549482717000
header Parameters
Harness-Account
required
string [ 1 .. 128 ] characters

Account is the internal customer account ID.

Example: gi
Request Body schema: application/json
required
org
required
string [ 1 .. 128 ] characters

Org is the organisation identifier.

project
required
string [ 1 .. 128 ] characters

Project is the project identifier.

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": "m1k",
  • "project": "a24"
}

Enable testing

Enable testing for a module

Securityx-api-key
Request
path Parameters
id
required
string

module id

Example: Quae eum repellat placeat id.
header Parameters
Harness-Account
required
string [ 1 .. 128 ] characters

Account is the internal customer account ID.

Example: o
Request Body schema: application/json
required
org
required
string [ 1 .. 128 ] characters

Org is the organisation identifier.

pipeline_id
string

pipeline id

project
required
string [ 1 .. 128 ] characters

Project is the project identifier.

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": "2i2",
  • "pipeline_id": "Nulla iusto.",
  • "project": "zq",
  • "provider_connector": "Voluptatibus sed ut fugiat.",
  • "provisioner_type": "Veritatis laboriosam.",
  • "provisioner_version": "Nisi numquam."
}

List module metadata

List the module metadata from the module registry

Securityx-api-key
Request
path Parameters
module_id
required
string

module id

Example: Sed culpa aliquid inventore et.
query Parameters
version
required
string

version of the module

Example: version=Vitae laudantium.
submodule
string

submodule name

Example: submodule=Ut sed sint est dolore unde.
header Parameters
Harness-Account
required
string

account name

Example: Possimus nemo et asperiores quas ut nihil.
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": "Libero voluptatem voluptas.",
  • "dependencies": [
    ],
  • "metadata_error": "Et consequatur velit doloribus quia.",
  • "module_version": "Ex perferendis aut.",
  • "name": "Itaque aut.",
  • "outputs": [
    ],
  • "providers": [
    ],
  • "resources": [
    ],
  • "submodule": [
    ],
  • "system": "Et tempora.",
  • "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: Quaerat pariatur.
query Parameters
version
required
string

version of the module

Example: version=Voluptatem perferendis porro quis.
submodule
string

submodule name

Example: submodule=Ut cumque error eligendi corporis non placeat.
header Parameters
Harness-Account
required
string

account name

Example: Occaecati distinctio optio a.
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: Voluptates quia dolores quia ad.
system
required
string

system name

Example: Ut nemo est odio ratione.
version
required
string

version of the module

Example: Et excepturi.
header Parameters
Harness-Account
required
string

account name

Example: Consequatur porro.
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": "Aut a porro.",
  • "error": {
    },
  • "examples_paths": [
    ],
  • "git_tag": "Autem voluptas doloribus iste qui libero vero.",
  • "metadata": "Et sint iusto veniam.",
  • "repo_url": "Debitis aut sit.",
  • "submodule_name": "Ducimus saepe rem accusamus veniam corporis tenetur.",
  • "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: Accusamus placeat.
system
required
string

system name

Example: Voluptas ratione magni libero autem.
version
required
string

version of the module

Example: Accusantium ut fuga aperiam.
query Parameters
submoduleName
string

submodule name

Example: submoduleName=Nobis veniam maxime quod.
header Parameters
Harness-Account
required
string

account name

Example: Velit qui molestias minus facere.
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: uj
system
required
string [ 1 .. 128 ] characters ^[a-z]+$

system name

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

account that owns the module

Example: 5tl
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": [
    ]
}

Create test execution from the plugin

Create a test execution from the plugin

Securityx-api-key
Request
path Parameters
workspace
required
string

workspace that references the module

Example: Aut harum voluptatibus esse est.
version
required
string

version of the module

Example: Sed et qui.
header Parameters
Harness-Account
required
string [ 1 .. 128 ] characters

Account is the internal customer account ID.

Example: 0y
Request Body schema: application/json
required
org
required
string [ 1 .. 128 ] characters

Org is the organisation identifier.

pipeline
required
string

Pipeline id

pipeline_execution_id
required
string

Pipeline execution id

project
required
string [ 1 .. 128 ] characters

Project is the project identifier.

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/{workspace}/external-execution/{version}
Request samples
application/json
{
  • "org": "y",
  • "pipeline": "Ipsum atque repellendus.",
  • "pipeline_execution_id": "Iure nostrum rem dolore.",
  • "project": "lrd"
}

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: Velit ut.
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
[
  • "Delectus velit libero aut.",
  • "Sunt tenetur sed sapiente ratione."
]

Approve module

Enable a module and a version to be available to be served by the module registry

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

Account is the internal customer account ID.

Example: hey
Request Body schema: application/json
required
enabled
required
boolean

enabled

org
required
string [ 1 .. 128 ] characters

Org is the organisation identifier.

pipeline
required
string

pipeline

pipeline_execution_id
required
string

pipeline execution id

project
required
string [ 1 .. 128 ] characters

Project is the project identifier.

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/enable
Request samples
application/json
{
  • "enabled": false,
  • "org": "gc",
  • "pipeline": "Ipsam occaecati nihil id recusandae modi.",
  • "pipeline_execution_id": "Reiciendis atque rem repellat odio.",
  • "project": "d"
}

Download module

Download a module given a specific version

Securityx-api-key
Request
path Parameters
account
required
string

account name

Example: Minus illo quis quibusdam ut et.
name
required
string

module name

Example: Aliquid et ab et.
system
required
string

system name

Example: Tempora quo quo dolorem enim.
version
required
string

version of the module

Example: Ad dolorum aut voluptatem.
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: Hic et.
name
required
string

module name

Example: Vel voluptatem ducimus.
system
required
string

system name

Example: Nulla minus voluptatem est ab molestiae ea.
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": [
    ]
}