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"
  ]
}