Amazon Proton · Schema
CreateEnvironmentInput
CreateEnvironmentInput schema from Amazon Proton API
DevOpsInfrastructure as CodePlatform EngineeringServerlessTemplatesSelf-ServiceCI/CD
Properties
| Name | Type | Description |
|---|---|---|
| codebuildRoleArn | object | |
| componentRoleArn | object | |
| description | object | |
| environmentAccountConnectionId | object | |
| name | object | |
| protonServiceRoleArn | object | |
| provisioningRepository | object | |
| spec | object | |
| tags | object | |
| templateMajorVersion | object | |
| templateMinorVersion | object | |
| templateName | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/amazon-proton/refs/heads/main/json-schema/amazon-proton-create-environment-input-schema.json",
"title": "CreateEnvironmentInput",
"description": "CreateEnvironmentInput schema from Amazon Proton API",
"type": "object",
"properties": {
"codebuildRoleArn": {
"allOf": [
{
"$ref": "#/components/schemas/RoleArn"
},
{
"description": "<p>The Amazon Resource Name (ARN) of the IAM service role that allows Proton to provision infrastructure using CodeBuild-based provisioning on your behalf.</p> <p>To use CodeBuild-based provisioning for the environment or for any service instance running in the environment, specify either the <code>environmentAccountConnectionId</code> or <code>codebuildRoleArn</code> parameter.</p>"
}
]
},
"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>You must specify <code>componentRoleArn</code> to allow directly defined components to be associated with this 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>"
}
]
},
"description": {
"allOf": [
{
"$ref": "#/components/schemas/Description"
},
{
"description": "A description of the environment that's being created and deployed."
}
]
},
"environmentAccountConnectionId": {
"allOf": [
{
"$ref": "#/components/schemas/EnvironmentAccountConnectionId"
},
{
"description": "<p>The ID of the environment account connection that you provide if you're provisioning your environment infrastructure resources to an environment account. For more information, see <a href=\"https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html\">Environment account connections</a> in the <i>Proton User guide</i>.</p> <p>To use Amazon Web Services-managed provisioning for the environment, specify either the <code>environmentAccountConnectionId</code> or <code>protonServiceRoleArn</code> parameter and omit the <code>provisioningRepository</code> parameter.</p>"
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/ResourceName"
},
{
"description": "The name of the environment."
}
]
},
"protonServiceRoleArn": {
"allOf": [
{
"$ref": "#/components/schemas/Arn"
},
{
"description": "<p>The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on your behalf.</p> <p>To use Amazon Web Services-managed provisioning for the environment, specify either the <code>environmentAccountConnectionId</code> or <code>protonServiceRoleArn</code> parameter and omit the <code>provisioningRepository</code> parameter.</p>"
}
]
},
"provisioningRepository": {
"allOf": [
{
"$ref": "#/components/schemas/RepositoryBranchInput"
},
{
"description": "<p>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>CreateRepository</a>.</p> <p>To use self-managed provisioning for the environment, specify this parameter and omit the <code>environmentAccountConnectionId</code> and <code>protonServiceRoleArn</code> parameters.</p>"
}
]
},
"spec": {
"allOf": [
{
"$ref": "#/components/schemas/SpecContents"
},
{
"description": "A YAML formatted string that provides inputs as defined in the environment template bundle schema file. For more information, see <a href=\"https://docs.aws.amazon.com/proton/latest/userguide/ag-environments.html\">Environments</a> in the <i>Proton User Guide</i>."
}
]
},
"tags": {
"allOf": [
{
"$ref": "#/components/schemas/TagList"
},
{
"description": "<p>An optional list of metadata items that you can associate with the Proton environment. A tag is a key-value pair.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/proton/latest/userguide/resources.html\">Proton resources and tagging</a> in the <i>Proton User Guide</i>.</p>"
}
]
},
"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 name of the environment template. For more information, see <a href=\"https://docs.aws.amazon.com/proton/latest/userguide/ag-templates.html\">Environment Templates</a> in the <i>Proton User Guide</i>."
}
]
}
},
"required": [
"name",
"spec",
"templateMajorVersion",
"templateName"
]
}