Amazon Proton · JSON Structure
Amazon Proton Update Environment Input Structure
UpdateEnvironmentInput schema from Amazon Proton API
Type: object
Properties: 11
Required: 2
DevOpsInfrastructure as CodePlatform EngineeringServerlessTemplatesSelf-ServiceCI/CD
UpdateEnvironmentInput is a JSON Structure definition published by Amazon Proton, describing 11 properties, of which 2 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
codebuildRoleArn
componentRoleArn
deploymentType
description
environmentAccountConnectionId
name
protonServiceRoleArn
provisioningRepository
spec
templateMajorVersion
templateMinorVersion
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-update-environment-input-structure.json",
"name": "UpdateEnvironmentInput",
"description": "UpdateEnvironmentInput schema from Amazon Proton API",
"type": "object",
"properties": {
"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>"
}
]
},
"deploymentType": {
"allOf": [
{
"$ref": "#/components/schemas/DeploymentUpdateType"
},
{
"description": "<p>There are four modes for updating an environment. The <code>deploymentType</code> field defines the mode.</p> <dl> <dt/> <dd> <p> <code>NONE</code> </p> <p>In this mode, a deployment <i>doesn't</i> occur. Only the requested metadata parameters are updated.</p> </dd> <dt/> <dd> <p> <code>CURRENT_VERSION</code> </p> <p>In this mode, the environment is deployed and updated with the new spec that you provide. Only requested parameters are updated. <i>Don\u2019t</i> include major or minor version parameters when you use this <code>deployment-type</code>.</p> </dd> <dt/> <dd> <p> <code>MINOR_VERSION</code> </p> <p>In this mode, the environment is deployed and updated with the published, recommended (latest) minor version of the current major version in use, by default. You can also specify a different minor version of the current major version in use.</p> </dd> <dt/> <dd> <p> <code>MAJOR_VERSION</code> </p> <p>In this mode, the environment is deployed and updated with the published, recommended (latest) major and minor version of the current template, by default. You can also specify a different major version that is higher than the major version in use and a minor version (optional).</p> </dd> </dl>"
}
]
},
"description": {
"allOf": [
{
"$ref": "#/components/schemas/Description"
},
{
"description": "A description of the environment update."
}
]
},
"environmentAccountConnectionId": {
"allOf": [
{
"$ref": "#/components/schemas/EnvironmentAccountConnectionId"
},
{
"description": "<p>The ID of the environment account connection.</p> <p>You can only update to a new environment account connection if it was created in the same environment account that the current environment account connection was created in and is associated with the current environment.</p>"
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/ResourceName"
},
{
"description": "The name of the environment to update."
}
]
},
"protonServiceRoleArn": {
"allOf": [
{
"$ref": "#/components/schemas/Arn"
},
{
"description": "The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make API calls to other services your behalf."
}
]
},
"provisioningRepository": {
"allOf": [
{
"$ref": "#/components/schemas/RepositoryBranchInput"
},
{
"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>CreateRepository</a>."
}
]
},
"spec": {
"allOf": [
{
"$ref": "#/components/schemas/SpecContents"
},
{
"description": "The formatted specification that defines the update."
}
]
},
"templateMajorVersion": {
"allOf": [
{
"$ref": "#/components/schemas/TemplateVersionPart"
},
{
"description": "The major version of the environment to update."
}
]
},
"templateMinorVersion": {
"allOf": [
{
"$ref": "#/components/schemas/TemplateVersionPart"
},
{
"description": "The minor version of the environment to update."
}
]
}
},
"required": [
"deploymentType",
"name"
]
}