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

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