CloudTruth · Schema

AwsPull

Pull actions can be configured to get configuration and secrets from integrations on demand.

CompanyConfigManagementDevOpsCloudSecurity

Properties

Name Type Description
url string
id string Unique identifier for the action.
name string The action name.
description string The optional description for the action.
latest_task object The most recent task run for this action.
created_at string
modified_at stringnull
create_environments boolean Allow the pull to create environments. Any automatically created environments will be children of the `default` environment. If an environment needs to be created but the action does not allow it, a t
create_projects boolean Allow the pull to create projects. If a project needs to be created but the action does not allow it, a task step will be added with a null operation, and success_detail will indicate the action did n
dry_run boolean When set to dry-run mode an action will report the changes that it would have made in task steps, however those changes are not actually performed.
mapped_values array Values being managed by a mapped pull.
mode object The pull mode used. A pattern pull uses a pattern-matching resource string with mustache-style markers to identify the project, parameter, and environment names, or with a Python regular expression th
region object The AWS region to use. This region must be enabled in the integration. * `af-south-1` - af-south-1 * `ap-east-1` - ap-east-1 * `ap-northeast-1` - ap-northeast-1 * `ap-northeast-2` - ap-northeast-2 * `
service object The AWS service to use. This service must be enabled in the integration. * `s3` - s3 * `secretsmanager` - secretsmanager * `ssm` - ssm
resource stringnull Defines a pattern matching string that contains either mustache or regular expression syntax (with named capture groups) that locate the environment, project, and parameter name of the content you are
View JSON Schema on GitHub

JSON Schema

cloudtruth-aws-pull-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/cloudtruth/main/json-schema/cloudtruth-aws-pull-schema.json",
  "title": "AwsPull",
  "description": "Pull actions can be configured to get configuration and secrets from\nintegrations on demand.",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/cloudtruth-openapi.yml#/components/schemas/AwsPull",
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "readOnly": true
    },
    "id": {
      "type": "string",
      "format": "uuid",
      "readOnly": true,
      "description": "Unique identifier for the action."
    },
    "name": {
      "type": "string",
      "description": "The action name.",
      "maxLength": 256
    },
    "description": {
      "type": "string",
      "description": "The optional description for the action."
    },
    "latest_task": {
      "allOf": [
        {
          "$ref": "#/$defs/AwsPullTask"
        }
      ],
      "readOnly": true,
      "nullable": true,
      "description": "The most recent task run for this action."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "modified_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "readOnly": true
    },
    "create_environments": {
      "type": "boolean",
      "description": "Allow the pull to create environments.  Any automatically created environments will be children of the `default` environment.  If an environment needs to be created but the action does not allow it, a task step will be added with a null operation, and success_detail will indicate the action did not allow it."
    },
    "create_projects": {
      "type": "boolean",
      "description": "Allow the pull to create projects.  If a project needs to be created but the action does not allow it, a task step will be added with a null operation, and success_detail will indicate the action did not allow it."
    },
    "dry_run": {
      "type": "boolean",
      "description": "When set to dry-run mode an action will report the changes that it would have made in task steps, however those changes are not actually performed."
    },
    "mapped_values": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ValueCreate"
      },
      "readOnly": true,
      "description": "Values being managed by a mapped pull."
    },
    "mode": {
      "allOf": [
        {
          "$ref": "#/$defs/ModeEnum"
        }
      ],
      "readOnly": true,
      "description": "The pull mode used.\n\nA pattern pull uses a pattern-matching resource string with mustache-style markers to identify the project, parameter, and environment names, or with a Python regular expression that uses named capture groups that define the same three concepts.\n\nA mapped pull uses a specific resource and JMESpath expression to deliver a value to a specific project, parameter, and environment.  This leverages external value linkages made in the value editor, and there is one mapped pull per integration provided by the system so that you can trigger external value pull synchronizations.\n\n* `mapped` - Mapped\n* `pattern` - Pattern"
    },
    "region": {
      "allOf": [
        {
          "$ref": "#/$defs/AwsRegionEnum"
        }
      ],
      "description": "The AWS region to use.  This region must be enabled in the integration.\n\n* `af-south-1` - af-south-1\n* `ap-east-1` - ap-east-1\n* `ap-northeast-1` - ap-northeast-1\n* `ap-northeast-2` - ap-northeast-2\n* `ap-northeast-3` - ap-northeast-3\n* `ap-south-1` - ap-south-1\n* `ap-southeast-1` - ap-southeast-1\n* `ap-southeast-2` - ap-southeast-2\n* `ca-central-1` - ca-central-1\n* `cn-north-1` - cn-north-1\n* `cn-northwest-1` - cn-northwest-1\n* `eu-central-1` - eu-central-1\n* `eu-north-1` - eu-north-1\n* `eu-south-1` - eu-south-1\n* `eu-west-1` - eu-west-1\n* `eu-west-2` - eu-west-2\n* `eu-west-3` - eu-west-3\n* `me-south-1` - me-south-1\n* `sa-east-1` - sa-east-1\n* `us-east-1` - us-east-1\n* `us-east-2` - us-east-2\n* `us-west-1` - us-west-1\n* `us-west-2` - us-west-2"
    },
    "service": {
      "allOf": [
        {
          "$ref": "#/$defs/AwsServiceEnum"
        }
      ],
      "description": "The AWS service to use.  This service must be enabled in the integration.\n\n* `s3` - s3\n* `secretsmanager` - secretsmanager\n* `ssm` - ssm"
    },
    "resource": {
      "type": [
        "string",
        "null"
      ],
      "description": "Defines a pattern matching string that contains either mustache or regular expression syntax (with named capture groups) that locate the environment, project, and parameter name of the content you are looking for.\n\nIf you are using mustache pattern matching, use:\n\n  - ``{{ environment }}`` to identify the environment name\n  - ``{{ parameter }}`` to identify the parameter name\n  - ``{{ project }}`` to identify the project name\n\nIf you are using a regular expression, use Python syntax with named capture groups that locate the `environment`, `project`, and `parameter`.",
      "maxLength": 1024
    }
  },
  "required": [
    "created_at",
    "id",
    "latest_task",
    "mapped_values",
    "mode",
    "modified_at",
    "name",
    "region",
    "resource",
    "service",
    "url"
  ],
  "$defs": {
    "AwsPullTask": {
      "type": "object",
      "description": "Pull task for an AWS integration.",
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "readOnly": true
        },
        "id": {
          "type": "string",
          "format": "uuid",
          "readOnly": true,
          "description": "The unique identifier for the task."
        },
        "reason": {
          "type": [
            "string",
            "null"
          ],
          "description": "The reason why this task was triggered.",
          "maxLength": 256
        },
        "dry_run": {
          "type": "boolean",
          "description": "Indicates task steps were only simulated, not actually performed."
        },
        "state": {
          "allOf": [
            {
              "$ref": "#/$defs/StateEnum"
            }
          ],
          "description": "The current state of this task.\n\n* `queued` - Queued\n* `running` - Running\n* `skipped` - Skipped\n* `success` - Success\n* `failure` - Failure"
        },
        "error_code": {
          "type": [
            "string",
            "null"
          ],
          "description": "If an error occurs early during processing, before attempting to process values, this code may be helpful in determining the problem.",
          "maxLength": 256
        },
        "error_detail": {
          "type": [
            "string",
            "null"
          ],
          "description": "If an error occurs early during processing, before attempting to process values, this detail may be helpful in determining the problem."
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "modified_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true
        }
      },
      "required": [
        "created_at",
        "id",
        "modified_at",
        "url"
      ]
    },
    "AwsRegionEnum": {
      "enum": [
        "af-south-1",
        "ap-east-1",
        "ap-northeast-1",
        "ap-northeast-2",
        "ap-northeast-3",
        "ap-south-1",
        "ap-southeast-1",
        "ap-southeast-2",
        "ca-central-1",
        "cn-north-1",
        "cn-northwest-1",
        "eu-central-1",
        "eu-north-1",
        "eu-south-1",
        "eu-west-1",
        "eu-west-2",
        "eu-west-3",
        "me-south-1",
        "sa-east-1",
        "us-east-1",
        "us-east-2",
        "us-west-1",
        "us-west-2"
      ],
      "type": "string",
      "description": "* `af-south-1` - af-south-1\n* `ap-east-1` - ap-east-1\n* `ap-northeast-1` - ap-northeast-1\n* `ap-northeast-2` - ap-northeast-2\n* `ap-northeast-3` - ap-northeast-3\n* `ap-south-1` - ap-south-1\n* `ap-southeast-1` - ap-southeast-1\n* `ap-southeast-2` - ap-southeast-2\n* `ca-central-1` - ca-central-1\n* `cn-north-1` - cn-north-1\n* `cn-northwest-1` - cn-northwest-1\n* `eu-central-1` - eu-central-1\n* `eu-north-1` - eu-north-1\n* `eu-south-1` - eu-south-1\n* `eu-west-1` - eu-west-1\n* `eu-west-2` - eu-west-2\n* `eu-west-3` - eu-west-3\n* `me-south-1` - me-south-1\n* `sa-east-1` - sa-east-1\n* `us-east-1` - us-east-1\n* `us-east-2` - us-east-2\n* `us-west-1` - us-west-1\n* `us-west-2` - us-west-2"
    },
    "AwsServiceEnum": {
      "enum": [
        "s3",
        "secretsmanager",
        "ssm"
      ],
      "type": "string",
      "description": "* `s3` - s3\n* `secretsmanager` - secretsmanager\n* `ssm` - ssm"
    },
    "ModeEnum": {
      "enum": [
        "mapped",
        "pattern"
      ],
      "type": "string",
      "description": "* `mapped` - Mapped\n* `pattern` - Pattern"
    },
    "StateEnum": {
      "enum": [
        "queued",
        "running",
        "skipped",
        "success",
        "failure"
      ],
      "type": "string",
      "description": "* `queued` - Queued\n* `running` - Running\n* `skipped` - Skipped\n* `success` - Success\n* `failure` - Failure"
    },
    "ValueCreate": {
      "type": "object",
      "description": "A value for a parameter in a given environment.",
      "properties": {
        "environment": {
          "type": "string",
          "format": "uri",
          "description": "The environment this value is set in."
        },
        "external": {
          "type": "boolean",
          "description": "An external parameter leverages a CloudTruth integration to retrieve content on-demand from an external source.  When this is `false` the value is stored by CloudTruth and considered to be _internal_.  When this is `true`, the `external_fqn` field must be set."
        },
        "external_fqn": {
          "type": "string",
          "description": "The FQN, or Fully-Qualified Name, is the path through the integration to get to the desired content.  This must be present and reference a valid integration when the value is `external`.",
          "maxLength": 1024
        },
        "external_filter": {
          "type": "string",
          "description": "If the value is `external`, the content returned by the integration can be reduced by applying a JMESpath expression.  This is valid as long as the content is structured and of a supported format.  JMESpath expressions are supported on `json`, `yaml`, and `dotenv` content.",
          "maxLength": 1024
        },
        "internal_value": {
          "type": [
            "string",
            "null"
          ],
          "description": "This is the content to use when resolving the Value for an internal non-secret, or when storing a secret.  This field cannot be specified when creating or updating an `external` value.",
          "maxLength": 65536
        },
        "interpolated": {
          "type": "boolean",
          "description": "If `true`, apply template substitution rules to this value.  If `false`, this value is a literal value.  Note: secrets cannot be interpolated."
        }
      },
      "required": [
        "environment"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/cloudtruth-aws-pull"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.