Amazon Proton Environment Structure
Detailed data of an Proton environment resource. An Proton environment is a set of resources shared across Proton services.
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
Meta-schema: https://json-structure.org/meta/core/v0/#
JSON Structure
{
"$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.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-structures/amazon-proton-environment-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.