Amazon Proton · JSON Structure

Amazon Proton Environment Structure

Detailed data of an Proton environment resource. An Proton environment is a set of resources shared across Proton services.

Type: object Properties: 19 Required: 9
DevOpsInfrastructure as CodePlatform EngineeringServerlessTemplatesSelf-ServiceCI/CD

Environment is a JSON Structure definition published by Amazon Proton, describing 19 properties, of which 9 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

arn codebuildRoleArn componentRoleArn createdAt deploymentStatus deploymentStatusMessage description environmentAccountConnectionId environmentAccountId lastDeploymentAttemptedAt lastDeploymentSucceededAt name protonServiceRoleArn provisioning provisioningRepository spec templateMajorVersion templateMinorVersion templateName

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-proton/refs/heads/main/json-structure/amazon-proton-environment-structure.json",
  "name": "Environment",
  "description": "Detailed data of an Proton environment resource. An Proton environment is a set of resources shared across Proton services.",
  "type": "object",
  "properties": {
    "arn": {
      "allOf": [
        {
          "$ref": "#/components/schemas/EnvironmentArn"
        },
        {
          "description": "The Amazon Resource Name (ARN) of the environment."
        }
      ]
    },
    "codebuildRoleArn": {
      "allOf": [
        {
          "$ref": "#/components/schemas/RoleArn"
        },
        {
          "description": "The Amazon Resource Name (ARN) of the IAM service role that allows Proton to provision infrastructure using CodeBuild-based provisioning on your behalf."
        }
      ]
    },
    "componentRoleArn": {
      "allOf": [
        {
          "$ref": "#/components/schemas/RoleArn"
        },
        {
          "description": "<p>The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in this environment. It determines the scope of infrastructure that a component can provision.</p> <p>The environment must have a <code>componentRoleArn</code> to allow directly defined components to be associated with the environment.</p> <p>For more information about components, see <a href=\"https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html\">Proton components</a> in the <i>Proton User Guide</i>.</p>"
        }
      ]
    },
    "createdAt": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Timestamp"
        },
        {
          "description": "The time when the environment was created."
        }
      ]
    },
    "deploymentStatus": {
      "allOf": [
        {
          "$ref": "#/components/schemas/DeploymentStatus"
        },
        {
          "description": "The environment deployment status."
        }
      ]
    },
    "deploymentStatusMessage": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StatusMessage"
        },
        {
          "description": "An environment deployment status message."
        }
      ]
    },
    "description": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Description"
        },
        {
          "description": "The description of the environment."
        }
      ]
    },
    "environmentAccountConnectionId": {
      "allOf": [
        {
          "$ref": "#/components/schemas/EnvironmentAccountConnectionId"
        },
        {
          "description": "The ID of the environment account connection that's used to provision infrastructure resources in an environment account."
        }
      ]
    },
    "environmentAccountId": {
      "allOf": [
        {
          "$ref": "#/components/schemas/AwsAccountId"
        },
        {
          "description": "The ID of the environment account that the environment infrastructure resources are provisioned in."
        }
      ]
    },
    "lastDeploymentAttemptedAt": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Timestamp"
        },
        {
          "description": "The time when a deployment of the environment was last attempted."
        }
      ]
    },
    "lastDeploymentSucceededAt": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Timestamp"
        },
        {
          "description": "The time when the environment was last deployed successfully."
        }
      ]
    },
    "name": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ResourceName"
        },
        {
          "description": "The name of the environment."
        }
      ]
    },
    "protonServiceRoleArn": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Arn"
        },
        {
          "description": "The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on your behalf."
        }
      ]
    },
    "provisioning": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Provisioning"
        },
        {
          "description": "When included, indicates that the environment template is for customer provisioned and managed infrastructure."
        }
      ]
    },
    "provisioningRepository": {
      "allOf": [
        {
          "$ref": "#/components/schemas/RepositoryBranch"
        },
        {
          "description": "The linked repository that you use to host your rendered infrastructure templates for self-managed provisioning. A linked repository is a repository that has been registered with Proton. For more information, see <a href=\"https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateRepository.html\">CreateRepository</a>."
        }
      ]
    },
    "spec": {
      "allOf": [
        {
          "$ref": "#/components/schemas/SpecContents"
        },
        {
          "description": "The environment spec."
        }
      ]
    },
    "templateMajorVersion": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TemplateVersionPart"
        },
        {
          "description": "The major version of the environment template."
        }
      ]
    },
    "templateMinorVersion": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TemplateVersionPart"
        },
        {
          "description": "The minor version of the environment template."
        }
      ]
    },
    "templateName": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ResourceName"
        },
        {
          "description": "The Amazon Resource Name (ARN) of the environment template."
        }
      ]
    }
  },
  "required": [
    "arn",
    "createdAt",
    "deploymentStatus",
    "lastDeploymentAttemptedAt",
    "lastDeploymentSucceededAt",
    "name",
    "templateMajorVersion",
    "templateMinorVersion",
    "templateName"
  ]
}

Work with this as data

Every JSON Structure 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 json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure 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 Structure
curl "https://apis.io/api/v1/json-structures/amazon-proton-environment-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?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.