SDK for PHP 3.x

Client: Aws\Proton\ProtonClient
Service ID: proton
Version: 2020-07-20

This page describes the parameters and results for the operations of the AWS Proton (2020-07-20), and shows how to use the Aws\Proton\ProtonClient object to call the described operations. This documentation is specific to the 2020-07-20 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

AcceptEnvironmentAccountConnection ( array $params = [] )
In a management account, an environment account connection request is accepted.
CancelComponentDeployment ( array $params = [] )
Attempts to cancel a component deployment (for a component that is in the IN_PROGRESS deployment status).
CancelEnvironmentDeployment ( array $params = [] )
Attempts to cancel an environment deployment on an UpdateEnvironment action, if the deployment is IN_PROGRESS.
CancelServiceInstanceDeployment ( array $params = [] )
Attempts to cancel a service instance deployment on an UpdateServiceInstance action, if the deployment is IN_PROGRESS.
CancelServicePipelineDeployment ( array $params = [] )
Attempts to cancel a service pipeline deployment on an UpdateServicePipeline action, if the deployment is IN_PROGRESS.
CreateComponent ( array $params = [] )
Create an Proton component.
CreateEnvironment ( array $params = [] )
Deploy a new environment.
CreateEnvironmentAccountConnection ( array $params = [] )
Create an environment account connection in an environment account so that environment infrastructure resources can be provisioned in the environment account from a management account.
CreateEnvironmentTemplate ( array $params = [] )
Create an environment template for Proton.
CreateEnvironmentTemplateVersion ( array $params = [] )
Create a new major or minor version of an environment template.
CreateRepository ( array $params = [] )
Create and register a link to a repository.
CreateService ( array $params = [] )
Create an Proton service.
CreateServiceInstance ( array $params = [] )
Create a service instance.
CreateServiceSyncConfig ( array $params = [] )
Create the Proton Ops configuration file.
CreateServiceTemplate ( array $params = [] )
Create a service template.
CreateServiceTemplateVersion ( array $params = [] )
Create a new major or minor version of a service template.
CreateTemplateSyncConfig ( array $params = [] )
Set up a template to create new template versions automatically by tracking a linked repository.
DeleteComponent ( array $params = [] )
Delete an Proton component resource.
DeleteDeployment ( array $params = [] )
Delete the deployment.
DeleteEnvironment ( array $params = [] )
Delete an environment.
DeleteEnvironmentAccountConnection ( array $params = [] )
In an environment account, delete an environment account connection.
DeleteEnvironmentTemplate ( array $params = [] )
If no other major or minor versions of an environment template exist, delete the environment template.
DeleteEnvironmentTemplateVersion ( array $params = [] )
If no other minor versions of an environment template exist, delete a major version of the environment template if it's not the Recommended version.
DeleteRepository ( array $params = [] )
De-register and unlink your repository.
DeleteService ( array $params = [] )
Delete a service, with its instances and pipeline.
DeleteServiceSyncConfig ( array $params = [] )
Delete the Proton Ops file.
DeleteServiceTemplate ( array $params = [] )
If no other major or minor versions of the service template exist, delete the service template.
DeleteServiceTemplateVersion ( array $params = [] )
If no other minor versions of a service template exist, delete a major version of the service template if it's not the Recommended version.
DeleteTemplateSyncConfig ( array $params = [] )
Delete a template sync configuration.
GetAccountSettings ( array $params = [] )
Get detail data for Proton account-wide settings.
GetComponent ( array $params = [] )
Get detailed data for a component.
GetDeployment ( array $params = [] )
Get detailed data for a deployment.
GetEnvironment ( array $params = [] )
Get detailed data for an environment.
GetEnvironmentAccountConnection ( array $params = [] )
In an environment account, get the detailed data for an environment account connection.
GetEnvironmentTemplate ( array $params = [] )
Get detailed data for an environment template.
GetEnvironmentTemplateVersion ( array $params = [] )
Get detailed data for a major or minor version of an environment template.
GetRepository ( array $params = [] )
Get detail data for a linked repository.
GetRepositorySyncStatus ( array $params = [] )
Get the sync status of a repository used for Proton template sync.
GetResourcesSummary ( array $params = [] )
Get counts of Proton resources.
GetService ( array $params = [] )
Get detailed data for a service.
GetServiceInstance ( array $params = [] )
Get detailed data for a service instance.
GetServiceInstanceSyncStatus ( array $params = [] )
Get the status of the synced service instance.
GetServiceSyncBlockerSummary ( array $params = [] )
Get detailed data for the service sync blocker summary.
GetServiceSyncConfig ( array $params = [] )
Get detailed information for the service sync configuration.
GetServiceTemplate ( array $params = [] )
Get detailed data for a service template.
GetServiceTemplateVersion ( array $params = [] )
Get detailed data for a major or minor version of a service template.
GetTemplateSyncConfig ( array $params = [] )
Get detail data for a template sync configuration.
GetTemplateSyncStatus ( array $params = [] )
Get the status of a template sync.
ListComponentOutputs ( array $params = [] )
Get a list of component Infrastructure as Code (IaC) outputs.
ListComponentProvisionedResources ( array $params = [] )
List provisioned resources for a component with details.
ListComponents ( array $params = [] )
List components with summary data.
ListDeployments ( array $params = [] )
List deployments.
ListEnvironmentAccountConnections ( array $params = [] )
View a list of environment account connections.
ListEnvironmentOutputs ( array $params = [] )
List the infrastructure as code outputs for your environment.
ListEnvironmentProvisionedResources ( array $params = [] )
List the provisioned resources for your environment.
ListEnvironmentTemplateVersions ( array $params = [] )
List major or minor versions of an environment template with detail data.
ListEnvironmentTemplates ( array $params = [] )
List environment templates.
ListEnvironments ( array $params = [] )
List environments with detail data summaries.
ListRepositories ( array $params = [] )
List linked repositories with detail data.
ListRepositorySyncDefinitions ( array $params = [] )
List repository sync definitions with detail data.
ListServiceInstanceOutputs ( array $params = [] )
Get a list service of instance Infrastructure as Code (IaC) outputs.
ListServiceInstanceProvisionedResources ( array $params = [] )
List provisioned resources for a service instance with details.
ListServiceInstances ( array $params = [] )
List service instances with summary data.
ListServicePipelineOutputs ( array $params = [] )
Get a list of service pipeline Infrastructure as Code (IaC) outputs.
ListServicePipelineProvisionedResources ( array $params = [] )
List provisioned resources for a service and pipeline with details.
ListServiceTemplateVersions ( array $params = [] )
List major or minor versions of a service template with detail data.
ListServiceTemplates ( array $params = [] )
List service templates with detail data.
ListServices ( array $params = [] )
List services with summaries of detail data.
ListTagsForResource ( array $params = [] )
List tags for a resource.
NotifyResourceDeploymentStatusChange ( array $params = [] )
Notify Proton of status changes to a provisioned resource when you use self-managed provisioning.
RejectEnvironmentAccountConnection ( array $params = [] )
In a management account, reject an environment account connection from another environment account.
TagResource ( array $params = [] )
Tag a resource.
UntagResource ( array $params = [] )
Remove a customer tag from a resource.
UpdateAccountSettings ( array $params = [] )
Update Proton settings that are used for multiple services in the Amazon Web Services account.
UpdateComponent ( array $params = [] )
Update a component.
UpdateEnvironment ( array $params = [] )
Update an environment.
UpdateEnvironmentAccountConnection ( array $params = [] )
In an environment account, update an environment account connection to use a new IAM role.
UpdateEnvironmentTemplate ( array $params = [] )
Update an environment template.
UpdateEnvironmentTemplateVersion ( array $params = [] )
Update a major or minor version of an environment template.
UpdateService ( array $params = [] )
Edit a service description or use a spec to add and delete service instances.
UpdateServiceInstance ( array $params = [] )
Update a service instance.
UpdateServicePipeline ( array $params = [] )
Update the service pipeline.
UpdateServiceSyncBlocker ( array $params = [] )
Update the service sync blocker by resolving it.
UpdateServiceSyncConfig ( array $params = [] )
Update the Proton Ops config file.
UpdateServiceTemplate ( array $params = [] )
Update a service template.
UpdateServiceTemplateVersion ( array $params = [] )
Update a major or minor version of a service template.
UpdateTemplateSyncConfig ( array $params = [] )
Update template sync configuration parameters, except for the templateName and templateType.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListComponentOutputs
ListComponentProvisionedResources
ListComponents
ListDeployments
ListEnvironmentAccountConnections
ListEnvironmentOutputs
ListEnvironmentProvisionedResources
ListEnvironmentTemplateVersions
ListEnvironmentTemplates
ListEnvironments
ListRepositories
ListRepositorySyncDefinitions
ListServiceInstanceOutputs
ListServiceInstanceProvisionedResources
ListServiceInstances
ListServicePipelineOutputs
ListServicePipelineProvisionedResources
ListServiceTemplateVersions
ListServiceTemplates
ListServices
ListTagsForResource

Waiters

Waiters allow you to poll a resource until it enters into a desired state. A waiter has a name used to describe what it does, and is associated with an API operation. When creating a waiter, you can provide the API operation parameters associated with the corresponding operation. Waiters can be accessed using the getWaiter($waiterName, $operationParameters) method of a client object. This client supports the following waiters:

Waiter name API Operation Delay Max Attempts
ComponentDeleted GetComponent 5 999
ComponentDeployed GetComponent 5 999
EnvironmentDeployed GetEnvironment 5 999
EnvironmentTemplateVersionRegistered GetEnvironmentTemplateVersion 2 150
ServiceCreated GetService 5 999
ServiceDeleted GetService 5 999
ServiceInstanceDeployed GetServiceInstance 5 999
ServicePipelineDeployed GetService 10 360
ServiceTemplateVersionRegistered GetServiceTemplateVersion 2 150
ServiceUpdated GetService 5 999

Operations

AcceptEnvironmentAccountConnection

$result = $client->acceptEnvironmentAccountConnection([/* ... */]);
$promise = $client->acceptEnvironmentAccountConnectionAsync([/* ... */]);

In a management account, an environment account connection request is accepted. When the environment account connection request is accepted, Proton can use the associated IAM role to provision environment infrastructure resources in the associated environment account.

For more information, see Environment account connections in the Proton User guide.

Parameter Syntax

$result = $client->acceptEnvironmentAccountConnection([
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The ID of the environment account connection.

Result Syntax

[
    'environmentAccountConnection' => [
        'arn' => '<string>',
        'codebuildRoleArn' => '<string>',
        'componentRoleArn' => '<string>',
        'environmentAccountId' => '<string>',
        'environmentName' => '<string>',
        'id' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'managementAccountId' => '<string>',
        'requestedAt' => <DateTime>,
        'roleArn' => '<string>',
        'status' => 'PENDING|CONNECTED|REJECTED',
    ],
]

Result Details

Members
environmentAccountConnection
Required: Yes
Type: EnvironmentAccountConnection structure

The environment account connection data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

CancelComponentDeployment

$result = $client->cancelComponentDeployment([/* ... */]);
$promise = $client->cancelComponentDeploymentAsync([/* ... */]);

Attempts to cancel a component deployment (for a component that is in the IN_PROGRESS deployment status).

For more information about components, see Proton components in the Proton User Guide.

Parameter Syntax

$result = $client->cancelComponentDeployment([
    'componentName' => '<string>', // REQUIRED
]);

Parameter Details

Members
componentName
Required: Yes
Type: string

The name of the component with the deployment to cancel.

Result Syntax

[
    'component' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'description' => '<string>',
        'environmentName' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastClientRequestToken' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastModifiedAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'serviceInstanceName' => '<string>',
        'serviceName' => '<string>',
        'serviceSpec' => '<string>',
    ],
]

Result Details

Members
component
Required: Yes
Type: Component structure

The detailed data of the component with the deployment that is being canceled.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

CancelEnvironmentDeployment

$result = $client->cancelEnvironmentDeployment([/* ... */]);
$promise = $client->cancelEnvironmentDeploymentAsync([/* ... */]);

Attempts to cancel an environment deployment on an UpdateEnvironment action, if the deployment is IN_PROGRESS. For more information, see Update an environment in the Proton User guide.

The following list includes potential cancellation scenarios.

  • If the cancellation attempt succeeds, the resulting deployment state is CANCELLED.

  • If the cancellation attempt fails, the resulting deployment state is FAILED.

  • If the current UpdateEnvironment action succeeds before the cancellation attempt starts, the resulting deployment state is SUCCEEDED and the cancellation attempt has no effect.

Parameter Syntax

$result = $client->cancelEnvironmentDeployment([
    'environmentName' => '<string>', // REQUIRED
]);

Parameter Details

Members
environmentName
Required: Yes
Type: string

The name of the environment with the deployment to cancel.

Result Syntax

[
    'environment' => [
        'arn' => '<string>',
        'codebuildRoleArn' => '<string>',
        'componentRoleArn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'description' => '<string>',
        'environmentAccountConnectionId' => '<string>',
        'environmentAccountId' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'protonServiceRoleArn' => '<string>',
        'provisioning' => 'CUSTOMER_MANAGED',
        'provisioningRepository' => [
            'arn' => '<string>',
            'branch' => '<string>',
            'name' => '<string>',
            'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        ],
        'spec' => '<string>',
        'templateMajorVersion' => '<string>',
        'templateMinorVersion' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
environment
Required: Yes
Type: Environment structure

The environment summary data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

CancelServiceInstanceDeployment

$result = $client->cancelServiceInstanceDeployment([/* ... */]);
$promise = $client->cancelServiceInstanceDeploymentAsync([/* ... */]);

Attempts to cancel a service instance deployment on an UpdateServiceInstance action, if the deployment is IN_PROGRESS. For more information, see Update a service instance in the Proton User guide.

The following list includes potential cancellation scenarios.

  • If the cancellation attempt succeeds, the resulting deployment state is CANCELLED.

  • If the cancellation attempt fails, the resulting deployment state is FAILED.

  • If the current UpdateServiceInstance action succeeds before the cancellation attempt starts, the resulting deployment state is SUCCEEDED and the cancellation attempt has no effect.

Parameter Syntax

$result = $client->cancelServiceInstanceDeployment([
    'serviceInstanceName' => '<string>', // REQUIRED
    'serviceName' => '<string>', // REQUIRED
]);

Parameter Details

Members
serviceInstanceName
Required: Yes
Type: string

The name of the service instance with the deployment to cancel.

serviceName
Required: Yes
Type: string

The name of the service with the service instance deployment to cancel.

Result Syntax

[
    'serviceInstance' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'environmentName' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastClientRequestToken' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'serviceName' => '<string>',
        'spec' => '<string>',
        'templateMajorVersion' => '<string>',
        'templateMinorVersion' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
serviceInstance
Required: Yes
Type: ServiceInstance structure

The service instance summary data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

CancelServicePipelineDeployment

$result = $client->cancelServicePipelineDeployment([/* ... */]);
$promise = $client->cancelServicePipelineDeploymentAsync([/* ... */]);

Attempts to cancel a service pipeline deployment on an UpdateServicePipeline action, if the deployment is IN_PROGRESS. For more information, see Update a service pipeline in the Proton User guide.

The following list includes potential cancellation scenarios.

  • If the cancellation attempt succeeds, the resulting deployment state is CANCELLED.

  • If the cancellation attempt fails, the resulting deployment state is FAILED.

  • If the current UpdateServicePipeline action succeeds before the cancellation attempt starts, the resulting deployment state is SUCCEEDED and the cancellation attempt has no effect.

Parameter Syntax

$result = $client->cancelServicePipelineDeployment([
    'serviceName' => '<string>', // REQUIRED
]);

Parameter Details

Members
serviceName
Required: Yes
Type: string

The name of the service with the service pipeline deployment to cancel.

Result Syntax

[
    'pipeline' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'spec' => '<string>',
        'templateMajorVersion' => '<string>',
        'templateMinorVersion' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
pipeline
Required: Yes
Type: ServicePipeline structure

The service pipeline detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

CreateComponent

$result = $client->createComponent([/* ... */]);
$promise = $client->createComponentAsync([/* ... */]);

Create an Proton component. A component is an infrastructure extension for a service instance.

For more information about components, see Proton components in the Proton User Guide.

Parameter Syntax

$result = $client->createComponent([
    'clientToken' => '<string>',
    'description' => '<string>',
    'environmentName' => '<string>',
    'manifest' => '<string>', // REQUIRED
    'name' => '<string>', // REQUIRED
    'serviceInstanceName' => '<string>',
    'serviceName' => '<string>',
    'serviceSpec' => '<string>',
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'templateFile' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

The client token for the created component.

description
Type: string

An optional customer-provided description of the component.

environmentName
Type: string

The name of the Proton environment that you want to associate this component with. You must specify this when you don't specify serviceInstanceName and serviceName.

manifest
Required: Yes
Type: string

A path to a manifest file that lists the Infrastructure as Code (IaC) file, template language, and rendering engine for infrastructure that a custom component provisions.

name
Required: Yes
Type: string

The customer-provided name of the component.

serviceInstanceName
Type: string

The name of the service instance that you want to attach this component to. If you don't specify this, the component isn't attached to any service instance. Specify both serviceInstanceName and serviceName or neither of them.

serviceName
Type: string

The name of the service that serviceInstanceName is associated with. If you don't specify this, the component isn't attached to any service instance. Specify both serviceInstanceName and serviceName or neither of them.

serviceSpec
Type: string

The service spec that you want the component to use to access service inputs. Set this only when you attach the component to a service instance.

tags
Type: Array of Tag structures

An optional list of metadata items that you can associate with the Proton component. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

templateFile
Required: Yes
Type: string

A path to the Infrastructure as Code (IaC) file describing infrastructure that a custom component provisions.

Components support a single IaC file, even if you use Terraform as your template language.

Result Syntax

[
    'component' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'description' => '<string>',
        'environmentName' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastClientRequestToken' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastModifiedAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'serviceInstanceName' => '<string>',
        'serviceName' => '<string>',
        'serviceSpec' => '<string>',
    ],
]

Result Details

Members
component
Required: Yes
Type: Component structure

The detailed data of the created component.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

CreateEnvironment

$result = $client->createEnvironment([/* ... */]);
$promise = $client->createEnvironmentAsync([/* ... */]);

Deploy a new environment. An Proton environment is created from an environment template that defines infrastructure and resources that can be shared across services.

You can provision environments using the following methods:

  • Amazon Web Services-managed provisioning: Proton makes direct calls to provision your resources.

  • Self-managed provisioning: Proton makes pull requests on your repository to provide compiled infrastructure as code (IaC) files that your IaC engine uses to provision resources.

For more information, see Environments and Provisioning methods in the Proton User Guide.

Parameter Syntax

$result = $client->createEnvironment([
    'codebuildRoleArn' => '<string>',
    'componentRoleArn' => '<string>',
    'description' => '<string>',
    'environmentAccountConnectionId' => '<string>',
    'name' => '<string>', // REQUIRED
    'protonServiceRoleArn' => '<string>',
    'provisioningRepository' => [
        'branch' => '<string>', // REQUIRED
        'name' => '<string>', // REQUIRED
        'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET', // REQUIRED
    ],
    'spec' => '<string>', // REQUIRED
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'templateMajorVersion' => '<string>', // REQUIRED
    'templateMinorVersion' => '<string>',
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
codebuildRoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM service role that allows Proton to provision infrastructure using CodeBuild-based provisioning on your behalf.

To use CodeBuild-based provisioning for the environment or for any service instance running in the environment, specify either the environmentAccountConnectionId or codebuildRoleArn parameter.

componentRoleArn
Type: string

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.

You must specify componentRoleArn to allow directly defined components to be associated with this environment.

For more information about components, see Proton components in the Proton User Guide.

description
Type: string

A description of the environment that's being created and deployed.

environmentAccountConnectionId
Type: string

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 Environment account connections in the Proton User guide.

To use Amazon Web Services-managed provisioning for the environment, specify either the environmentAccountConnectionId or protonServiceRoleArn parameter and omit the provisioningRepository parameter.

name
Required: Yes
Type: string

The name of the environment.

protonServiceRoleArn
Type: string

The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on your behalf.

To use Amazon Web Services-managed provisioning for the environment, specify either the environmentAccountConnectionId or protonServiceRoleArn parameter and omit the provisioningRepository parameter.

provisioningRepository
Type: RepositoryBranchInput structure

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 CreateRepository.

To use self-managed provisioning for the environment, specify this parameter and omit the environmentAccountConnectionId and protonServiceRoleArn parameters.

spec
Required: Yes
Type: string

A YAML formatted string that provides inputs as defined in the environment template bundle schema file. For more information, see Environments in the Proton User Guide.

tags
Type: Array of Tag structures

An optional list of metadata items that you can associate with the Proton environment. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

templateMajorVersion
Required: Yes
Type: string

The major version of the environment template.

templateMinorVersion
Type: string

The minor version of the environment template.

templateName
Required: Yes
Type: string

The name of the environment template. For more information, see Environment Templates in the Proton User Guide.

Result Syntax

[
    'environment' => [
        'arn' => '<string>',
        'codebuildRoleArn' => '<string>',
        'componentRoleArn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'description' => '<string>',
        'environmentAccountConnectionId' => '<string>',
        'environmentAccountId' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'protonServiceRoleArn' => '<string>',
        'provisioning' => 'CUSTOMER_MANAGED',
        'provisioningRepository' => [
            'arn' => '<string>',
            'branch' => '<string>',
            'name' => '<string>',
            'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        ],
        'spec' => '<string>',
        'templateMajorVersion' => '<string>',
        'templateMinorVersion' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
environment
Required: Yes
Type: Environment structure

The environment detail data that's returned by Proton.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

CreateEnvironmentAccountConnection

$result = $client->createEnvironmentAccountConnection([/* ... */]);
$promise = $client->createEnvironmentAccountConnectionAsync([/* ... */]);

Create an environment account connection in an environment account so that environment infrastructure resources can be provisioned in the environment account from a management account.

An environment account connection is a secure bi-directional connection between a management account and an environment account that maintains authorization and permissions. For more information, see Environment account connections in the Proton User guide.

Parameter Syntax

$result = $client->createEnvironmentAccountConnection([
    'clientToken' => '<string>',
    'codebuildRoleArn' => '<string>',
    'componentRoleArn' => '<string>',
    'environmentName' => '<string>', // REQUIRED
    'managementAccountId' => '<string>', // REQUIRED
    'roleArn' => '<string>',
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
clientToken
Type: string

When included, if two identical requests are made with the same client token, Proton returns the environment account connection that the first request created.

codebuildRoleArn
Type: string

The Amazon Resource Name (ARN) of an IAM service role in the environment account. Proton uses this role to provision infrastructure resources using CodeBuild-based provisioning in the associated environment account.

componentRoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

You must specify componentRoleArn to allow directly defined components to be associated with any environments running in this account.

For more information about components, see Proton components in the Proton User Guide.

environmentName
Required: Yes
Type: string

The name of the Proton environment that's created in the associated management account.

managementAccountId
Required: Yes
Type: string

The ID of the management account that accepts or rejects the environment account connection. You create and manage the Proton environment in this account. If the management account accepts the environment account connection, Proton can use the associated IAM role to provision environment infrastructure resources in the associated environment account.

roleArn
Type: string

The Amazon Resource Name (ARN) of the IAM service role that's created in the environment account. Proton uses this role to provision infrastructure resources in the associated environment account.

tags
Type: Array of Tag structures

An optional list of metadata items that you can associate with the Proton environment account connection. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

Result Syntax

[
    'environmentAccountConnection' => [
        'arn' => '<string>',
        'codebuildRoleArn' => '<string>',
        'componentRoleArn' => '<string>',
        'environmentAccountId' => '<string>',
        'environmentName' => '<string>',
        'id' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'managementAccountId' => '<string>',
        'requestedAt' => <DateTime>,
        'roleArn' => '<string>',
        'status' => 'PENDING|CONNECTED|REJECTED',
    ],
]

Result Details

Members
environmentAccountConnection
Required: Yes
Type: EnvironmentAccountConnection structure

The environment account connection detail data that's returned by Proton.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

InternalServerException:

The request failed to register with the service.

CreateEnvironmentTemplate

$result = $client->createEnvironmentTemplate([/* ... */]);
$promise = $client->createEnvironmentTemplateAsync([/* ... */]);

Create an environment template for Proton. For more information, see Environment Templates in the Proton User Guide.

You can create an environment template in one of the two following ways:

  • Register and publish a standard environment template that instructs Proton to deploy and manage environment infrastructure.

  • Register and publish a customer managed environment template that connects Proton to your existing provisioned infrastructure that you manage. Proton doesn't manage your existing provisioned infrastructure. To create an environment template for customer provisioned and managed infrastructure, include the provisioning parameter and set the value to CUSTOMER_MANAGED. For more information, see Register and publish an environment template in the Proton User Guide.

Parameter Syntax

$result = $client->createEnvironmentTemplate([
    'description' => '<string>',
    'displayName' => '<string>',
    'encryptionKey' => '<string>',
    'name' => '<string>', // REQUIRED
    'provisioning' => 'CUSTOMER_MANAGED',
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
description
Type: string

A description of the environment template.

displayName
Type: string

The environment template name as displayed in the developer interface.

encryptionKey
Type: string

A customer provided encryption key that Proton uses to encrypt data.

name
Required: Yes
Type: string

The name of the environment template.

provisioning
Type: string

When included, indicates that the environment template is for customer provisioned and managed infrastructure.

tags
Type: Array of Tag structures

An optional list of metadata items that you can associate with the Proton environment template. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

Result Syntax

[
    'environmentTemplate' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'displayName' => '<string>',
        'encryptionKey' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'name' => '<string>',
        'provisioning' => 'CUSTOMER_MANAGED',
        'recommendedVersion' => '<string>',
    ],
]

Result Details

Members
environmentTemplate
Required: Yes
Type: EnvironmentTemplate structure

The environment template detail data that's returned by Proton.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

InternalServerException:

The request failed to register with the service.

CreateEnvironmentTemplateVersion

$result = $client->createEnvironmentTemplateVersion([/* ... */]);
$promise = $client->createEnvironmentTemplateVersionAsync([/* ... */]);

Create a new major or minor version of an environment template. A major version of an environment template is a version that isn't backwards compatible. A minor version of an environment template is a version that's backwards compatible within its major version.

Parameter Syntax

$result = $client->createEnvironmentTemplateVersion([
    'clientToken' => '<string>',
    'description' => '<string>',
    'majorVersion' => '<string>',
    'source' => [ // REQUIRED
        's3' => [
            'bucket' => '<string>', // REQUIRED
            'key' => '<string>', // REQUIRED
        ],
    ],
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

When included, if two identical requests are made with the same client token, Proton returns the environment template version that the first request created.

description
Type: string

A description of the new version of an environment template.

majorVersion
Type: string

To create a new minor version of the environment template, include major Version.

To create a new major and minor version of the environment template, exclude major Version.

source
Required: Yes
Type: TemplateVersionSourceInput structure

An object that includes the template bundle S3 bucket path and name for the new version of an template.

tags
Type: Array of Tag structures

An optional list of metadata items that you can associate with the Proton environment template version. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

templateName
Required: Yes
Type: string

The name of the environment template.

Result Syntax

[
    'environmentTemplateVersion' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'majorVersion' => '<string>',
        'minorVersion' => '<string>',
        'recommendedMinorVersion' => '<string>',
        'schema' => '<string>',
        'status' => 'REGISTRATION_IN_PROGRESS|REGISTRATION_FAILED|DRAFT|PUBLISHED',
        'statusMessage' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
environmentTemplateVersion
Required: Yes
Type: EnvironmentTemplateVersion structure

The environment template detail data that's returned by Proton.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

CreateRepository

$result = $client->createRepository([/* ... */]);
$promise = $client->createRepositoryAsync([/* ... */]);

Create and register a link to a repository. Proton uses the link to repeatedly access the repository, to either push to it (self-managed provisioning) or pull from it (template sync). You can share a linked repository across multiple resources (like environments using self-managed provisioning, or synced templates). When you create a repository link, Proton creates a service-linked role for you.

For more information, see Self-managed provisioning, Template bundles, and Template sync configurations in the Proton User Guide.

Parameter Syntax

$result = $client->createRepository([
    'connectionArn' => '<string>', // REQUIRED
    'encryptionKey' => '<string>',
    'name' => '<string>', // REQUIRED
    'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET', // REQUIRED
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
connectionArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of your AWS CodeStar connection that connects Proton to your repository provider account. For more information, see Setting up for Proton in the Proton User Guide.

encryptionKey
Type: string

The ARN of your customer Amazon Web Services Key Management Service (Amazon Web Services KMS) key.

name
Required: Yes
Type: string

The repository name (for example, myrepos/myrepo).

provider
Required: Yes
Type: string

The repository provider.

tags
Type: Array of Tag structures

An optional list of metadata items that you can associate with the Proton repository. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

Result Syntax

[
    'repository' => [
        'arn' => '<string>',
        'connectionArn' => '<string>',
        'encryptionKey' => '<string>',
        'name' => '<string>',
        'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
    ],
]

Result Details

Members
repository
Required: Yes
Type: Repository structure

The repository link's detail data that's returned by Proton.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

InternalServerException:

The request failed to register with the service.

CreateService

$result = $client->createService([/* ... */]);
$promise = $client->createServiceAsync([/* ... */]);

Create an Proton service. An Proton service is an instantiation of a service template and often includes several service instances and pipeline. For more information, see Services in the Proton User Guide.

Parameter Syntax

$result = $client->createService([
    'branchName' => '<string>',
    'description' => '<string>',
    'name' => '<string>', // REQUIRED
    'repositoryConnectionArn' => '<string>',
    'repositoryId' => '<string>',
    'spec' => '<string>', // REQUIRED
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'templateMajorVersion' => '<string>', // REQUIRED
    'templateMinorVersion' => '<string>',
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
branchName
Type: string

The name of the code repository branch that holds the code that's deployed in Proton. Don't include this parameter if your service template doesn't include a service pipeline.

description
Type: string

A description of the Proton service.

name
Required: Yes
Type: string

The service name.

repositoryConnectionArn
Type: string

The Amazon Resource Name (ARN) of the repository connection. For more information, see Setting up an AWS CodeStar connection in the Proton User Guide. Don't include this parameter if your service template doesn't include a service pipeline.

repositoryId
Type: string

The ID of the code repository. Don't include this parameter if your service template doesn't include a service pipeline.

spec
Required: Yes
Type: string

A link to a spec file that provides inputs as defined in the service template bundle schema file. The spec file is in YAML format. Don’t include pipeline inputs in the spec if your service template doesn’t include a service pipeline. For more information, see Create a service in the Proton User Guide.

tags
Type: Array of Tag structures

An optional list of metadata items that you can associate with the Proton service. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

templateMajorVersion
Required: Yes
Type: string

The major version of the service template that was used to create the service.

templateMinorVersion
Type: string

The minor version of the service template that was used to create the service.

templateName
Required: Yes
Type: string

The name of the service template that's used to create the service.

Result Syntax

[
    'service' => [
        'arn' => '<string>',
        'branchName' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'name' => '<string>',
        'pipeline' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
            'deploymentStatusMessage' => '<string>',
            'lastAttemptedDeploymentId' => '<string>',
            'lastDeploymentAttemptedAt' => <DateTime>,
            'lastDeploymentSucceededAt' => <DateTime>,
            'lastSucceededDeploymentId' => '<string>',
            'spec' => '<string>',
            'templateMajorVersion' => '<string>',
            'templateMinorVersion' => '<string>',
            'templateName' => '<string>',
        ],
        'repositoryConnectionArn' => '<string>',
        'repositoryId' => '<string>',
        'spec' => '<string>',
        'status' => 'CREATE_IN_PROGRESS|CREATE_FAILED_CLEANUP_IN_PROGRESS|CREATE_FAILED_CLEANUP_COMPLETE|CREATE_FAILED_CLEANUP_FAILED|CREATE_FAILED|ACTIVE|DELETE_IN_PROGRESS|DELETE_FAILED|UPDATE_IN_PROGRESS|UPDATE_FAILED_CLEANUP_IN_PROGRESS|UPDATE_FAILED_CLEANUP_COMPLETE|UPDATE_FAILED_CLEANUP_FAILED|UPDATE_FAILED|UPDATE_COMPLETE_CLEANUP_FAILED',
        'statusMessage' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
service
Required: Yes
Type: Service structure

The service detail data that's returned by Proton.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

CreateServiceInstance

$result = $client->createServiceInstance([/* ... */]);
$promise = $client->createServiceInstanceAsync([/* ... */]);

Create a service instance.

Parameter Syntax

$result = $client->createServiceInstance([
    'clientToken' => '<string>',
    'name' => '<string>', // REQUIRED
    'serviceName' => '<string>', // REQUIRED
    'spec' => '<string>', // REQUIRED
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'templateMajorVersion' => '<string>',
    'templateMinorVersion' => '<string>',
]);

Parameter Details

Members
clientToken
Type: string

The client token of the service instance to create.

name
Required: Yes
Type: string

The name of the service instance to create.

serviceName
Required: Yes
Type: string

The name of the service the service instance is added to.

spec
Required: Yes
Type: string

The spec for the service instance you want to create.

tags
Type: Array of Tag structures

An optional list of metadata items that you can associate with the Proton service instance. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

templateMajorVersion
Type: string

To create a new major and minor version of the service template, exclude major Version.

templateMinorVersion
Type: string

To create a new minor version of the service template, include a major Version.

Result Syntax

[
    'serviceInstance' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'environmentName' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastClientRequestToken' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'serviceName' => '<string>',
        'spec' => '<string>',
        'templateMajorVersion' => '<string>',
        'templateMinorVersion' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
serviceInstance
Required: Yes
Type: ServiceInstance structure

The detailed data of the service instance being created.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

CreateServiceSyncConfig

$result = $client->createServiceSyncConfig([/* ... */]);
$promise = $client->createServiceSyncConfigAsync([/* ... */]);

Create the Proton Ops configuration file.

Parameter Syntax

$result = $client->createServiceSyncConfig([
    'branch' => '<string>', // REQUIRED
    'filePath' => '<string>', // REQUIRED
    'repositoryName' => '<string>', // REQUIRED
    'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET', // REQUIRED
    'serviceName' => '<string>', // REQUIRED
]);

Parameter Details

Members
branch
Required: Yes
Type: string

The repository branch for your Proton Ops file.

filePath
Required: Yes
Type: string

The path to the Proton Ops file.

repositoryName
Required: Yes
Type: string

The repository name.

repositoryProvider
Required: Yes
Type: string

The provider type for your repository.

serviceName
Required: Yes
Type: string

The name of the service the Proton Ops file is for.

Result Syntax

[
    'serviceSyncConfig' => [
        'branch' => '<string>',
        'filePath' => '<string>',
        'repositoryName' => '<string>',
        'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        'serviceName' => '<string>',
    ],
]

Result Details

Members
serviceSyncConfig
Type: ServiceSyncConfig structure

The detailed data of the Proton Ops file.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

InternalServerException:

The request failed to register with the service.

CreateServiceTemplate

$result = $client->createServiceTemplate([/* ... */]);
$promise = $client->createServiceTemplateAsync([/* ... */]);

Create a service template. The administrator creates a service template to define standardized infrastructure and an optional CI/CD service pipeline. Developers, in turn, select the service template from Proton. If the selected service template includes a service pipeline definition, they provide a link to their source code repository. Proton then deploys and manages the infrastructure defined by the selected service template. For more information, see Proton templates in the Proton User Guide.

Parameter Syntax

$result = $client->createServiceTemplate([
    'description' => '<string>',
    'displayName' => '<string>',
    'encryptionKey' => '<string>',
    'name' => '<string>', // REQUIRED
    'pipelineProvisioning' => 'CUSTOMER_MANAGED',
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
description
Type: string

A description of the service template.

displayName
Type: string

The name of the service template as displayed in the developer interface.

encryptionKey
Type: string

A customer provided encryption key that's used to encrypt data.

name
Required: Yes
Type: string

The name of the service template.

pipelineProvisioning
Type: string

By default, Proton provides a service pipeline for your service. When this parameter is included, it indicates that an Proton service pipeline isn't provided for your service. After it's included, it can't be changed. For more information, see Template bundles in the Proton User Guide.

tags
Type: Array of Tag structures

An optional list of metadata items that you can associate with the Proton service template. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

Result Syntax

[
    'serviceTemplate' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'displayName' => '<string>',
        'encryptionKey' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'name' => '<string>',
        'pipelineProvisioning' => 'CUSTOMER_MANAGED',
        'recommendedVersion' => '<string>',
    ],
]

Result Details

Members
serviceTemplate
Required: Yes
Type: ServiceTemplate structure

The service template detail data that's returned by Proton.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

InternalServerException:

The request failed to register with the service.

CreateServiceTemplateVersion

$result = $client->createServiceTemplateVersion([/* ... */]);
$promise = $client->createServiceTemplateVersionAsync([/* ... */]);

Create a new major or minor version of a service template. A major version of a service template is a version that isn't backward compatible. A minor version of a service template is a version that's backward compatible within its major version.

Parameter Syntax

$result = $client->createServiceTemplateVersion([
    'clientToken' => '<string>',
    'compatibleEnvironmentTemplates' => [ // REQUIRED
        [
            'majorVersion' => '<string>', // REQUIRED
            'templateName' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'description' => '<string>',
    'majorVersion' => '<string>',
    'source' => [ // REQUIRED
        's3' => [
            'bucket' => '<string>', // REQUIRED
            'key' => '<string>', // REQUIRED
        ],
    ],
    'supportedComponentSources' => ['<string>', ...],
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

When included, if two identical requests are made with the same client token, Proton returns the service template version that the first request created.

compatibleEnvironmentTemplates
Required: Yes
Type: Array of CompatibleEnvironmentTemplateInput structures

An array of environment template objects that are compatible with the new service template version. A service instance based on this service template version can run in environments based on compatible templates.

description
Type: string

A description of the new version of a service template.

majorVersion
Type: string

To create a new minor version of the service template, include a major Version.

To create a new major and minor version of the service template, exclude major Version.

source
Required: Yes
Type: TemplateVersionSourceInput structure

An object that includes the template bundle S3 bucket path and name for the new version of a service template.

supportedComponentSources
Type: Array of strings

An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version.

For more information about components, see Proton components in the Proton User Guide.

tags
Type: Array of Tag structures

An optional list of metadata items that you can associate with the Proton service template version. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

templateName
Required: Yes
Type: string

The name of the service template.

Result Syntax

[
    'serviceTemplateVersion' => [
        'arn' => '<string>',
        'compatibleEnvironmentTemplates' => [
            [
                'majorVersion' => '<string>',
                'templateName' => '<string>',
            ],
            // ...
        ],
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'majorVersion' => '<string>',
        'minorVersion' => '<string>',
        'recommendedMinorVersion' => '<string>',
        'schema' => '<string>',
        'status' => 'REGISTRATION_IN_PROGRESS|REGISTRATION_FAILED|DRAFT|PUBLISHED',
        'statusMessage' => '<string>',
        'supportedComponentSources' => ['<string>', ...],
        'templateName' => '<string>',
    ],
]

Result Details

Members
serviceTemplateVersion
Required: Yes
Type: ServiceTemplateVersion structure

The service template version summary of detail data that's returned by Proton.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

CreateTemplateSyncConfig

$result = $client->createTemplateSyncConfig([/* ... */]);
$promise = $client->createTemplateSyncConfigAsync([/* ... */]);

Set up a template to create new template versions automatically by tracking a linked repository. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

When a commit is pushed to your linked repository, Proton checks for changes to your repository template bundles. If it detects a template bundle change, a new major or minor version of its template is created, if the version doesn’t already exist. For more information, see Template sync configurations in the Proton User Guide.

Parameter Syntax

$result = $client->createTemplateSyncConfig([
    'branch' => '<string>', // REQUIRED
    'repositoryName' => '<string>', // REQUIRED
    'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET', // REQUIRED
    'subdirectory' => '<string>',
    'templateName' => '<string>', // REQUIRED
    'templateType' => 'ENVIRONMENT|SERVICE', // REQUIRED
]);

Parameter Details

Members
branch
Required: Yes
Type: string

The repository branch for your template.

repositoryName
Required: Yes
Type: string

The repository name (for example, myrepos/myrepo).

repositoryProvider
Required: Yes
Type: string

The provider type for your repository.

subdirectory
Type: string

A repository subdirectory path to your template bundle directory. When included, Proton limits the template bundle search to this repository directory.

templateName
Required: Yes
Type: string

The name of your registered template.

templateType
Required: Yes
Type: string

The type of the registered template.

Result Syntax

[
    'templateSyncConfig' => [
        'branch' => '<string>',
        'repositoryName' => '<string>',
        'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        'subdirectory' => '<string>',
        'templateName' => '<string>',
        'templateType' => 'ENVIRONMENT|SERVICE',
    ],
]

Result Details

Members
templateSyncConfig
Type: TemplateSyncConfig structure

The template sync configuration detail data that's returned by Proton.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

InternalServerException:

The request failed to register with the service.

DeleteComponent

$result = $client->deleteComponent([/* ... */]);
$promise = $client->deleteComponentAsync([/* ... */]);

Delete an Proton component resource.

For more information about components, see Proton components in the Proton User Guide.

Parameter Syntax

$result = $client->deleteComponent([
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the component to delete.

Result Syntax

[
    'component' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'description' => '<string>',
        'environmentName' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastClientRequestToken' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastModifiedAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'serviceInstanceName' => '<string>',
        'serviceName' => '<string>',
        'serviceSpec' => '<string>',
    ],
]

Result Details

Members
component
Type: Component structure

The detailed data of the component being deleted.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

DeleteDeployment

$result = $client->deleteDeployment([/* ... */]);
$promise = $client->deleteDeploymentAsync([/* ... */]);

Delete the deployment.

Parameter Syntax

$result = $client->deleteDeployment([
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The ID of the deployment to delete.

Result Syntax

[
    'deployment' => [
        'arn' => '<string>',
        'completedAt' => <DateTime>,
        'componentName' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'environmentName' => '<string>',
        'id' => '<string>',
        'initialState' => [
            'component' => [
                'serviceInstanceName' => '<string>',
                'serviceName' => '<string>',
                'serviceSpec' => '<string>',
                'templateFile' => '<string>',
            ],
            'environment' => [
                'spec' => '<string>',
                'templateMajorVersion' => '<string>',
                'templateMinorVersion' => '<string>',
                'templateName' => '<string>',
            ],
            'serviceInstance' => [
                'lastSuccessfulComponentDeploymentIds' => ['<string>', ...],
                'lastSuccessfulEnvironmentDeploymentId' => '<string>',
                'lastSuccessfulServicePipelineDeploymentId' => '<string>',
                'spec' => '<string>',
                'templateMajorVersion' => '<string>',
                'templateMinorVersion' => '<string>',
                'templateName' => '<string>',
            ],
            'servicePipeline' => [
                'spec' => '<string>',
                'templateMajorVersion' => '<string>',
                'templateMinorVersion' => '<string>',
                'templateName' => '<string>',
            ],
        ],
        'lastAttemptedDeploymentId' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'serviceInstanceName' => '<string>',
        'serviceName' => '<string>',
        'targetArn' => '<string>',
        'targetResourceCreatedAt' => <DateTime>,
        'targetResourceType' => 'ENVIRONMENT|SERVICE_PIPELINE|SERVICE_INSTANCE|COMPONENT',
        'targetState' => [
            'component' => [
                'serviceInstanceName' => '<string>',
                'serviceName' => '<string>',
                'serviceSpec' => '<string>',
                'templateFile' => '<string>',
            ],
            'environment' => [
                'spec' => '<string>',
                'templateMajorVersion' => '<string>',
                'templateMinorVersion' => '<string>',
                'templateName' => '<string>',
            ],
            'serviceInstance' => [
                'lastSuccessfulComponentDeploymentIds' => ['<string>', ...],
                'lastSuccessfulEnvironmentDeploymentId' => '<string>',
                'lastSuccessfulServicePipelineDeploymentId' => '<string>',
                'spec' => '<string>',
                'templateMajorVersion' => '<string>',
                'templateMinorVersion' => '<string>',
                'templateName' => '<string>',
            ],
            'servicePipeline' => [
                'spec' => '<string>',
                'templateMajorVersion' => '<string>',
                'templateMinorVersion' => '<string>',
                'templateName' => '<string>',
            ],
        ],
    ],
]

Result Details

Members
deployment
Type: Deployment structure

The detailed data of the deployment being deleted.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

DeleteEnvironment

$result = $client->deleteEnvironment([/* ... */]);
$promise = $client->deleteEnvironmentAsync([/* ... */]);

Delete an environment.

Parameter Syntax

$result = $client->deleteEnvironment([
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the environment to delete.

Result Syntax

[
    'environment' => [
        'arn' => '<string>',
        'codebuildRoleArn' => '<string>',
        'componentRoleArn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'description' => '<string>',
        'environmentAccountConnectionId' => '<string>',
        'environmentAccountId' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'protonServiceRoleArn' => '<string>',
        'provisioning' => 'CUSTOMER_MANAGED',
        'provisioningRepository' => [
            'arn' => '<string>',
            'branch' => '<string>',
            'name' => '<string>',
            'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        ],
        'spec' => '<string>',
        'templateMajorVersion' => '<string>',
        'templateMinorVersion' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
environment
Type: Environment structure

The detailed data of the environment being deleted.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

DeleteEnvironmentAccountConnection

$result = $client->deleteEnvironmentAccountConnection([/* ... */]);
$promise = $client->deleteEnvironmentAccountConnectionAsync([/* ... */]);

In an environment account, delete an environment account connection.

After you delete an environment account connection that’s in use by an Proton environment, Proton can’t manage the environment infrastructure resources until a new environment account connection is accepted for the environment account and associated environment. You're responsible for cleaning up provisioned resources that remain without an environment connection.

For more information, see Environment account connections in the Proton User guide.

Parameter Syntax

$result = $client->deleteEnvironmentAccountConnection([
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The ID of the environment account connection to delete.

Result Syntax

[
    'environmentAccountConnection' => [
        'arn' => '<string>',
        'codebuildRoleArn' => '<string>',
        'componentRoleArn' => '<string>',
        'environmentAccountId' => '<string>',
        'environmentName' => '<string>',
        'id' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'managementAccountId' => '<string>',
        'requestedAt' => <DateTime>,
        'roleArn' => '<string>',
        'status' => 'PENDING|CONNECTED|REJECTED',
    ],
]

Result Details

Members
environmentAccountConnection

The detailed data of the environment account connection being deleted.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

DeleteEnvironmentTemplate

$result = $client->deleteEnvironmentTemplate([/* ... */]);
$promise = $client->deleteEnvironmentTemplateAsync([/* ... */]);

If no other major or minor versions of an environment template exist, delete the environment template.

Parameter Syntax

$result = $client->deleteEnvironmentTemplate([
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the environment template to delete.

Result Syntax

[
    'environmentTemplate' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'displayName' => '<string>',
        'encryptionKey' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'name' => '<string>',
        'provisioning' => 'CUSTOMER_MANAGED',
        'recommendedVersion' => '<string>',
    ],
]

Result Details

Members
environmentTemplate
Type: EnvironmentTemplate structure

The detailed data of the environment template being deleted.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

DeleteEnvironmentTemplateVersion

$result = $client->deleteEnvironmentTemplateVersion([/* ... */]);
$promise = $client->deleteEnvironmentTemplateVersionAsync([/* ... */]);

If no other minor versions of an environment template exist, delete a major version of the environment template if it's not the Recommended version. Delete the Recommended version of the environment template if no other major versions or minor versions of the environment template exist. A major version of an environment template is a version that's not backward compatible.

Delete a minor version of an environment template if it isn't the Recommended version. Delete a Recommended minor version of the environment template if no other minor versions of the environment template exist. A minor version of an environment template is a version that's backward compatible.

Parameter Syntax

$result = $client->deleteEnvironmentTemplateVersion([
    'majorVersion' => '<string>', // REQUIRED
    'minorVersion' => '<string>', // REQUIRED
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
majorVersion
Required: Yes
Type: string

The environment template major version to delete.

minorVersion
Required: Yes
Type: string

The environment template minor version to delete.

templateName
Required: Yes
Type: string

The name of the environment template.

Result Syntax

[
    'environmentTemplateVersion' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'majorVersion' => '<string>',
        'minorVersion' => '<string>',
        'recommendedMinorVersion' => '<string>',
        'schema' => '<string>',
        'status' => 'REGISTRATION_IN_PROGRESS|REGISTRATION_FAILED|DRAFT|PUBLISHED',
        'statusMessage' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
environmentTemplateVersion
Type: EnvironmentTemplateVersion structure

The detailed data of the environment template version being deleted.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

DeleteRepository

$result = $client->deleteRepository([/* ... */]);
$promise = $client->deleteRepositoryAsync([/* ... */]);

De-register and unlink your repository.

Parameter Syntax

$result = $client->deleteRepository([
    'name' => '<string>', // REQUIRED
    'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The repository name.

provider
Required: Yes
Type: string

The repository provider.

Result Syntax

[
    'repository' => [
        'arn' => '<string>',
        'connectionArn' => '<string>',
        'encryptionKey' => '<string>',
        'name' => '<string>',
        'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
    ],
]

Result Details

Members
repository
Type: Repository structure

The deleted repository link's detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

DeleteService

$result = $client->deleteService([/* ... */]);
$promise = $client->deleteServiceAsync([/* ... */]);

Delete a service, with its instances and pipeline.

You can't delete a service if it has any service instances that have components attached to them.

For more information about components, see Proton components in the Proton User Guide.

Parameter Syntax

$result = $client->deleteService([
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the service to delete.

Result Syntax

[
    'service' => [
        'arn' => '<string>',
        'branchName' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'name' => '<string>',
        'pipeline' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
            'deploymentStatusMessage' => '<string>',
            'lastAttemptedDeploymentId' => '<string>',
            'lastDeploymentAttemptedAt' => <DateTime>,
            'lastDeploymentSucceededAt' => <DateTime>,
            'lastSucceededDeploymentId' => '<string>',
            'spec' => '<string>',
            'templateMajorVersion' => '<string>',
            'templateMinorVersion' => '<string>',
            'templateName' => '<string>',
        ],
        'repositoryConnectionArn' => '<string>',
        'repositoryId' => '<string>',
        'spec' => '<string>',
        'status' => 'CREATE_IN_PROGRESS|CREATE_FAILED_CLEANUP_IN_PROGRESS|CREATE_FAILED_CLEANUP_COMPLETE|CREATE_FAILED_CLEANUP_FAILED|CREATE_FAILED|ACTIVE|DELETE_IN_PROGRESS|DELETE_FAILED|UPDATE_IN_PROGRESS|UPDATE_FAILED_CLEANUP_IN_PROGRESS|UPDATE_FAILED_CLEANUP_COMPLETE|UPDATE_FAILED_CLEANUP_FAILED|UPDATE_FAILED|UPDATE_COMPLETE_CLEANUP_FAILED',
        'statusMessage' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
service
Type: Service structure

The detailed data of the service being deleted.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

DeleteServiceSyncConfig

$result = $client->deleteServiceSyncConfig([/* ... */]);
$promise = $client->deleteServiceSyncConfigAsync([/* ... */]);

Delete the Proton Ops file.

Parameter Syntax

$result = $client->deleteServiceSyncConfig([
    'serviceName' => '<string>', // REQUIRED
]);

Parameter Details

Members
serviceName
Required: Yes
Type: string

The name of the service that you want to delete the service sync configuration for.

Result Syntax

[
    'serviceSyncConfig' => [
        'branch' => '<string>',
        'filePath' => '<string>',
        'repositoryName' => '<string>',
        'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        'serviceName' => '<string>',
    ],
]

Result Details

Members
serviceSyncConfig
Type: ServiceSyncConfig structure

The detailed data for the service sync config.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

DeleteServiceTemplate

$result = $client->deleteServiceTemplate([/* ... */]);
$promise = $client->deleteServiceTemplateAsync([/* ... */]);

If no other major or minor versions of the service template exist, delete the service template.

Parameter Syntax

$result = $client->deleteServiceTemplate([
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the service template to delete.

Result Syntax

[
    'serviceTemplate' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'displayName' => '<string>',
        'encryptionKey' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'name' => '<string>',
        'pipelineProvisioning' => 'CUSTOMER_MANAGED',
        'recommendedVersion' => '<string>',
    ],
]

Result Details

Members
serviceTemplate
Type: ServiceTemplate structure

The detailed data of the service template being deleted.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

DeleteServiceTemplateVersion

$result = $client->deleteServiceTemplateVersion([/* ... */]);
$promise = $client->deleteServiceTemplateVersionAsync([/* ... */]);

If no other minor versions of a service template exist, delete a major version of the service template if it's not the Recommended version. Delete the Recommended version of the service template if no other major versions or minor versions of the service template exist. A major version of a service template is a version that isn't backwards compatible.

Delete a minor version of a service template if it's not the Recommended version. Delete a Recommended minor version of the service template if no other minor versions of the service template exist. A minor version of a service template is a version that's backwards compatible.

Parameter Syntax

$result = $client->deleteServiceTemplateVersion([
    'majorVersion' => '<string>', // REQUIRED
    'minorVersion' => '<string>', // REQUIRED
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
majorVersion
Required: Yes
Type: string

The service template major version to delete.

minorVersion
Required: Yes
Type: string

The service template minor version to delete.

templateName
Required: Yes
Type: string

The name of the service template.

Result Syntax

[
    'serviceTemplateVersion' => [
        'arn' => '<string>',
        'compatibleEnvironmentTemplates' => [
            [
                'majorVersion' => '<string>',
                'templateName' => '<string>',
            ],
            // ...
        ],
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'majorVersion' => '<string>',
        'minorVersion' => '<string>',
        'recommendedMinorVersion' => '<string>',
        'schema' => '<string>',
        'status' => 'REGISTRATION_IN_PROGRESS|REGISTRATION_FAILED|DRAFT|PUBLISHED',
        'statusMessage' => '<string>',
        'supportedComponentSources' => ['<string>', ...],
        'templateName' => '<string>',
    ],
]

Result Details

Members
serviceTemplateVersion
Type: ServiceTemplateVersion structure

The detailed data of the service template version being deleted.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

DeleteTemplateSyncConfig

$result = $client->deleteTemplateSyncConfig([/* ... */]);
$promise = $client->deleteTemplateSyncConfigAsync([/* ... */]);

Delete a template sync configuration.

Parameter Syntax

$result = $client->deleteTemplateSyncConfig([
    'templateName' => '<string>', // REQUIRED
    'templateType' => 'ENVIRONMENT|SERVICE', // REQUIRED
]);

Parameter Details

Members
templateName
Required: Yes
Type: string

The template name.

templateType
Required: Yes
Type: string

The template type.

Result Syntax

[
    'templateSyncConfig' => [
        'branch' => '<string>',
        'repositoryName' => '<string>',
        'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        'subdirectory' => '<string>',
        'templateName' => '<string>',
        'templateType' => 'ENVIRONMENT|SERVICE',
    ],
]

Result Details

Members
templateSyncConfig
Type: TemplateSyncConfig structure

The template sync configuration detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetAccountSettings

$result = $client->getAccountSettings([/* ... */]);
$promise = $client->getAccountSettingsAsync([/* ... */]);

Get detail data for Proton account-wide settings.

Parameter Syntax

$result = $client->getAccountSettings([
]);

Parameter Details

Members

Result Syntax

[
    'accountSettings' => [
        'pipelineCodebuildRoleArn' => '<string>',
        'pipelineProvisioningRepository' => [
            'arn' => '<string>',
            'branch' => '<string>',
            'name' => '<string>',
            'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        ],
        'pipelineServiceRoleArn' => '<string>',
    ],
]

Result Details

Members
accountSettings
Type: AccountSettings structure

The Proton pipeline service role detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetComponent

$result = $client->getComponent([/* ... */]);
$promise = $client->getComponentAsync([/* ... */]);

Get detailed data for a component.

For more information about components, see Proton components in the Proton User Guide.

Parameter Syntax

$result = $client->getComponent([
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the component that you want to get the detailed data for.

Result Syntax

[
    'component' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'description' => '<string>',
        'environmentName' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastClientRequestToken' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastModifiedAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'serviceInstanceName' => '<string>',
        'serviceName' => '<string>',
        'serviceSpec' => '<string>',
    ],
]

Result Details

Members
component
Type: Component structure

The detailed data of the requested component.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetDeployment

$result = $client->getDeployment([/* ... */]);
$promise = $client->getDeploymentAsync([/* ... */]);

Get detailed data for a deployment.

Parameter Syntax

$result = $client->getDeployment([
    'componentName' => '<string>',
    'environmentName' => '<string>',
    'id' => '<string>', // REQUIRED
    'serviceInstanceName' => '<string>',
    'serviceName' => '<string>',
]);

Parameter Details

Members
componentName
Type: string

The name of a component that you want to get the detailed data for.

environmentName
Type: string

The name of a environment that you want to get the detailed data for.

id
Required: Yes
Type: string

The ID of the deployment that you want to get the detailed data for.

serviceInstanceName
Type: string

The name of the service instance associated with the given deployment ID. serviceName must be specified to identify the service instance.

serviceName
Type: string

The name of the service associated with the given deployment ID.

Result Syntax

[
    'deployment' => [
        'arn' => '<string>',
        'completedAt' => <DateTime>,
        'componentName' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'environmentName' => '<string>',
        'id' => '<string>',
        'initialState' => [
            'component' => [
                'serviceInstanceName' => '<string>',
                'serviceName' => '<string>',
                'serviceSpec' => '<string>',
                'templateFile' => '<string>',
            ],
            'environment' => [
                'spec' => '<string>',
                'templateMajorVersion' => '<string>',
                'templateMinorVersion' => '<string>',
                'templateName' => '<string>',
            ],
            'serviceInstance' => [
                'lastSuccessfulComponentDeploymentIds' => ['<string>', ...],
                'lastSuccessfulEnvironmentDeploymentId' => '<string>',
                'lastSuccessfulServicePipelineDeploymentId' => '<string>',
                'spec' => '<string>',
                'templateMajorVersion' => '<string>',
                'templateMinorVersion' => '<string>',
                'templateName' => '<string>',
            ],
            'servicePipeline' => [
                'spec' => '<string>',
                'templateMajorVersion' => '<string>',
                'templateMinorVersion' => '<string>',
                'templateName' => '<string>',
            ],
        ],
        'lastAttemptedDeploymentId' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'serviceInstanceName' => '<string>',
        'serviceName' => '<string>',
        'targetArn' => '<string>',
        'targetResourceCreatedAt' => <DateTime>,
        'targetResourceType' => 'ENVIRONMENT|SERVICE_PIPELINE|SERVICE_INSTANCE|COMPONENT',
        'targetState' => [
            'component' => [
                'serviceInstanceName' => '<string>',
                'serviceName' => '<string>',
                'serviceSpec' => '<string>',
                'templateFile' => '<string>',
            ],
            'environment' => [
                'spec' => '<string>',
                'templateMajorVersion' => '<string>',
                'templateMinorVersion' => '<string>',
                'templateName' => '<string>',
            ],
            'serviceInstance' => [
                'lastSuccessfulComponentDeploymentIds' => ['<string>', ...],
                'lastSuccessfulEnvironmentDeploymentId' => '<string>',
                'lastSuccessfulServicePipelineDeploymentId' => '<string>',
                'spec' => '<string>',
                'templateMajorVersion' => '<string>',
                'templateMinorVersion' => '<string>',
                'templateName' => '<string>',
            ],
            'servicePipeline' => [
                'spec' => '<string>',
                'templateMajorVersion' => '<string>',
                'templateMinorVersion' => '<string>',
                'templateName' => '<string>',
            ],
        ],
    ],
]

Result Details

Members
deployment
Type: Deployment structure

The detailed data of the requested deployment.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetEnvironment

$result = $client->getEnvironment([/* ... */]);
$promise = $client->getEnvironmentAsync([/* ... */]);

Get detailed data for an environment.

Parameter Syntax

$result = $client->getEnvironment([
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the environment that you want to get the detailed data for.

Result Syntax

[
    'environment' => [
        'arn' => '<string>',
        'codebuildRoleArn' => '<string>',
        'componentRoleArn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'description' => '<string>',
        'environmentAccountConnectionId' => '<string>',
        'environmentAccountId' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'protonServiceRoleArn' => '<string>',
        'provisioning' => 'CUSTOMER_MANAGED',
        'provisioningRepository' => [
            'arn' => '<string>',
            'branch' => '<string>',
            'name' => '<string>',
            'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        ],
        'spec' => '<string>',
        'templateMajorVersion' => '<string>',
        'templateMinorVersion' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
environment
Required: Yes
Type: Environment structure

The detailed data of the requested environment.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetEnvironmentAccountConnection

$result = $client->getEnvironmentAccountConnection([/* ... */]);
$promise = $client->getEnvironmentAccountConnectionAsync([/* ... */]);

In an environment account, get the detailed data for an environment account connection.

For more information, see Environment account connections in the Proton User guide.

Parameter Syntax

$result = $client->getEnvironmentAccountConnection([
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The ID of the environment account connection that you want to get the detailed data for.

Result Syntax

[
    'environmentAccountConnection' => [
        'arn' => '<string>',
        'codebuildRoleArn' => '<string>',
        'componentRoleArn' => '<string>',
        'environmentAccountId' => '<string>',
        'environmentName' => '<string>',
        'id' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'managementAccountId' => '<string>',
        'requestedAt' => <DateTime>,
        'roleArn' => '<string>',
        'status' => 'PENDING|CONNECTED|REJECTED',
    ],
]

Result Details

Members
environmentAccountConnection
Required: Yes
Type: EnvironmentAccountConnection structure

The detailed data of the requested environment account connection.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetEnvironmentTemplate

$result = $client->getEnvironmentTemplate([/* ... */]);
$promise = $client->getEnvironmentTemplateAsync([/* ... */]);

Get detailed data for an environment template.

Parameter Syntax

$result = $client->getEnvironmentTemplate([
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the environment template that you want to get the detailed data for.

Result Syntax

[
    'environmentTemplate' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'displayName' => '<string>',
        'encryptionKey' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'name' => '<string>',
        'provisioning' => 'CUSTOMER_MANAGED',
        'recommendedVersion' => '<string>',
    ],
]

Result Details

Members
environmentTemplate
Required: Yes
Type: EnvironmentTemplate structure

The detailed data of the requested environment template.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetEnvironmentTemplateVersion

$result = $client->getEnvironmentTemplateVersion([/* ... */]);
$promise = $client->getEnvironmentTemplateVersionAsync([/* ... */]);

Get detailed data for a major or minor version of an environment template.

Parameter Syntax

$result = $client->getEnvironmentTemplateVersion([
    'majorVersion' => '<string>', // REQUIRED
    'minorVersion' => '<string>', // REQUIRED
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
majorVersion
Required: Yes
Type: string

To get environment template major version detail data, include major Version.

minorVersion
Required: Yes
Type: string

To get environment template minor version detail data, include minorVersion.

templateName
Required: Yes
Type: string

The name of the environment template a version of which you want to get detailed data for.

Result Syntax

[
    'environmentTemplateVersion' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'majorVersion' => '<string>',
        'minorVersion' => '<string>',
        'recommendedMinorVersion' => '<string>',
        'schema' => '<string>',
        'status' => 'REGISTRATION_IN_PROGRESS|REGISTRATION_FAILED|DRAFT|PUBLISHED',
        'statusMessage' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
environmentTemplateVersion
Required: Yes
Type: EnvironmentTemplateVersion structure

The detailed data of the requested environment template version.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetRepository

$result = $client->getRepository([/* ... */]);
$promise = $client->getRepositoryAsync([/* ... */]);

Get detail data for a linked repository.

Parameter Syntax

$result = $client->getRepository([
    'name' => '<string>', // REQUIRED
    'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The repository name, for example myrepos/myrepo.

provider
Required: Yes
Type: string

The repository provider.

Result Syntax

[
    'repository' => [
        'arn' => '<string>',
        'connectionArn' => '<string>',
        'encryptionKey' => '<string>',
        'name' => '<string>',
        'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
    ],
]

Result Details

Members
repository
Required: Yes
Type: Repository structure

The repository link's detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetRepositorySyncStatus

$result = $client->getRepositorySyncStatus([/* ... */]);
$promise = $client->getRepositorySyncStatusAsync([/* ... */]);

Get the sync status of a repository used for Proton template sync. For more information about template sync, see .

A repository sync status isn't tied to the Proton Repository resource (or any other Proton resource). Therefore, tags on an Proton Repository resource have no effect on this action. Specifically, you can't use these tags to control access to this action using Attribute-based access control (ABAC).

For more information about ABAC, see ABAC in the Proton User Guide.

Parameter Syntax

$result = $client->getRepositorySyncStatus([
    'branch' => '<string>', // REQUIRED
    'repositoryName' => '<string>', // REQUIRED
    'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET', // REQUIRED
    'syncType' => 'TEMPLATE_SYNC|SERVICE_SYNC', // REQUIRED
]);

Parameter Details

Members
branch
Required: Yes
Type: string

The repository branch.

repositoryName
Required: Yes
Type: string

The repository name.

repositoryProvider
Required: Yes
Type: string

The repository provider.

syncType
Required: Yes
Type: string

The repository sync type.

Result Syntax

[
    'latestSync' => [
        'events' => [
            [
                'event' => '<string>',
                'externalId' => '<string>',
                'time' => <DateTime>,
                'type' => '<string>',
            ],
            // ...
        ],
        'startedAt' => <DateTime>,
        'status' => 'INITIATED|IN_PROGRESS|SUCCEEDED|FAILED|QUEUED',
    ],
]

Result Details

Members
latestSync
Type: RepositorySyncAttempt structure

The repository sync status detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetResourcesSummary

$result = $client->getResourcesSummary([/* ... */]);
$promise = $client->getResourcesSummaryAsync([/* ... */]);

Get counts of Proton resources.

For infrastructure-provisioning resources (environments, services, service instances, pipelines), the action returns staleness counts. A resource is stale when it's behind the recommended version of the Proton template that it uses and it needs an update to become current.

The action returns staleness counts (counts of resources that are up-to-date, behind a template major version, or behind a template minor version), the total number of resources, and the number of resources that are in a failed state, grouped by resource type. Components, environments, and service templates return less information - see the components, environments, and serviceTemplates field descriptions.

For context, the action also returns the total number of each type of Proton template in the Amazon Web Services account.

For more information, see Proton dashboard in the Proton User Guide.

Parameter Syntax

$result = $client->getResourcesSummary([
]);

Parameter Details

Members

Result Syntax

[
    'counts' => [
        'components' => [
            'behindMajor' => <integer>,
            'behindMinor' => <integer>,
            'failed' => <integer>,
            'total' => <integer>,
            'upToDate' => <integer>,
        ],
        'environmentTemplates' => [
            'behindMajor' => <integer>,
            'behindMinor' => <integer>,
            'failed' => <integer>,
            'total' => <integer>,
            'upToDate' => <integer>,
        ],
        'environments' => [
            'behindMajor' => <integer>,
            'behindMinor' => <integer>,
            'failed' => <integer>,
            'total' => <integer>,
            'upToDate' => <integer>,
        ],
        'pipelines' => [
            'behindMajor' => <integer>,
            'behindMinor' => <integer>,
            'failed' => <integer>,
            'total' => <integer>,
            'upToDate' => <integer>,
        ],
        'serviceInstances' => [
            'behindMajor' => <integer>,
            'behindMinor' => <integer>,
            'failed' => <integer>,
            'total' => <integer>,
            'upToDate' => <integer>,
        ],
        'serviceTemplates' => [
            'behindMajor' => <integer>,
            'behindMinor' => <integer>,
            'failed' => <integer>,
            'total' => <integer>,
            'upToDate' => <integer>,
        ],
        'services' => [
            'behindMajor' => <integer>,
            'behindMinor' => <integer>,
            'failed' => <integer>,
            'total' => <integer>,
            'upToDate' => <integer>,
        ],
    ],
]

Result Details

Members
counts
Required: Yes
Type: CountsSummary structure

Summary counts of each Proton resource type.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerException:

The request failed to register with the service.

GetService

$result = $client->getService([/* ... */]);
$promise = $client->getServiceAsync([/* ... */]);

Get detailed data for a service.

Parameter Syntax

$result = $client->getService([
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the service that you want to get the detailed data for.

Result Syntax

[
    'service' => [
        'arn' => '<string>',
        'branchName' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'name' => '<string>',
        'pipeline' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
            'deploymentStatusMessage' => '<string>',
            'lastAttemptedDeploymentId' => '<string>',
            'lastDeploymentAttemptedAt' => <DateTime>,
            'lastDeploymentSucceededAt' => <DateTime>,
            'lastSucceededDeploymentId' => '<string>',
            'spec' => '<string>',
            'templateMajorVersion' => '<string>',
            'templateMinorVersion' => '<string>',
            'templateName' => '<string>',
        ],
        'repositoryConnectionArn' => '<string>',
        'repositoryId' => '<string>',
        'spec' => '<string>',
        'status' => 'CREATE_IN_PROGRESS|CREATE_FAILED_CLEANUP_IN_PROGRESS|CREATE_FAILED_CLEANUP_COMPLETE|CREATE_FAILED_CLEANUP_FAILED|CREATE_FAILED|ACTIVE|DELETE_IN_PROGRESS|DELETE_FAILED|UPDATE_IN_PROGRESS|UPDATE_FAILED_CLEANUP_IN_PROGRESS|UPDATE_FAILED_CLEANUP_COMPLETE|UPDATE_FAILED_CLEANUP_FAILED|UPDATE_FAILED|UPDATE_COMPLETE_CLEANUP_FAILED',
        'statusMessage' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
service
Type: Service structure

The detailed data of the requested service.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetServiceInstance

$result = $client->getServiceInstance([/* ... */]);
$promise = $client->getServiceInstanceAsync([/* ... */]);

Get detailed data for a service instance. A service instance is an instantiation of service template and it runs in a specific environment.

Parameter Syntax

$result = $client->getServiceInstance([
    'name' => '<string>', // REQUIRED
    'serviceName' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of a service instance that you want to get the detailed data for.

serviceName
Required: Yes
Type: string

The name of the service that you want the service instance input for.

Result Syntax

[
    'serviceInstance' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'environmentName' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastClientRequestToken' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'serviceName' => '<string>',
        'spec' => '<string>',
        'templateMajorVersion' => '<string>',
        'templateMinorVersion' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
serviceInstance
Required: Yes
Type: ServiceInstance structure

The detailed data of the requested service instance.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetServiceInstanceSyncStatus

$result = $client->getServiceInstanceSyncStatus([/* ... */]);
$promise = $client->getServiceInstanceSyncStatusAsync([/* ... */]);

Get the status of the synced service instance.

Parameter Syntax

$result = $client->getServiceInstanceSyncStatus([
    'serviceInstanceName' => '<string>', // REQUIRED
    'serviceName' => '<string>', // REQUIRED
]);

Parameter Details

Members
serviceInstanceName
Required: Yes
Type: string

The name of the service instance that you want the sync status input for.

serviceName
Required: Yes
Type: string

The name of the service that the service instance belongs to.

Result Syntax

[
    'desiredState' => [
        'branch' => '<string>',
        'directory' => '<string>',
        'repositoryName' => '<string>',
        'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        'sha' => '<string>',
    ],
    'latestSuccessfulSync' => [
        'events' => [
            [
                'event' => '<string>',
                'externalId' => '<string>',
                'time' => <DateTime>,
                'type' => '<string>',
            ],
            // ...
        ],
        'initialRevision' => [
            'branch' => '<string>',
            'directory' => '<string>',
            'repositoryName' => '<string>',
            'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
            'sha' => '<string>',
        ],
        'startedAt' => <DateTime>,
        'status' => 'INITIATED|IN_PROGRESS|SUCCEEDED|FAILED',
        'target' => '<string>',
        'targetRevision' => [
            'branch' => '<string>',
            'directory' => '<string>',
            'repositoryName' => '<string>',
            'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
            'sha' => '<string>',
        ],
    ],
    'latestSync' => [
        'events' => [
            [
                'event' => '<string>',
                'externalId' => '<string>',
                'time' => <DateTime>,
                'type' => '<string>',
            ],
            // ...
        ],
        'initialRevision' => [
            'branch' => '<string>',
            'directory' => '<string>',
            'repositoryName' => '<string>',
            'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
            'sha' => '<string>',
        ],
        'startedAt' => <DateTime>,
        'status' => 'INITIATED|IN_PROGRESS|SUCCEEDED|FAILED',
        'target' => '<string>',
        'targetRevision' => [
            'branch' => '<string>',
            'directory' => '<string>',
            'repositoryName' => '<string>',
            'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
            'sha' => '<string>',
        ],
    ],
]

Result Details

Members
desiredState
Type: Revision structure

The service instance sync desired state that's returned by Proton

latestSuccessfulSync
Type: ResourceSyncAttempt structure

The detailed data of the latest successful sync with the service instance.

latestSync
Type: ResourceSyncAttempt structure

The detailed data of the latest sync with the service instance.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetServiceSyncBlockerSummary

$result = $client->getServiceSyncBlockerSummary([/* ... */]);
$promise = $client->getServiceSyncBlockerSummaryAsync([/* ... */]);

Get detailed data for the service sync blocker summary.

Parameter Syntax

$result = $client->getServiceSyncBlockerSummary([
    'serviceInstanceName' => '<string>',
    'serviceName' => '<string>', // REQUIRED
]);

Parameter Details

Members
serviceInstanceName
Type: string

The name of the service instance that you want to get the service sync blocker summary for. If given bothe the instance name and the service name, only the instance is blocked.

serviceName
Required: Yes
Type: string

The name of the service that you want to get the service sync blocker summary for. If given only the service name, all instances are blocked.

Result Syntax

[
    'serviceSyncBlockerSummary' => [
        'latestBlockers' => [
            [
                'contexts' => [
                    [
                        'key' => '<string>',
                        'value' => '<string>',
                    ],
                    // ...
                ],
                'createdAt' => <DateTime>,
                'createdReason' => '<string>',
                'id' => '<string>',
                'resolvedAt' => <DateTime>,
                'resolvedReason' => '<string>',
                'status' => 'ACTIVE|RESOLVED',
                'type' => 'AUTOMATED',
            ],
            // ...
        ],
        'serviceInstanceName' => '<string>',
        'serviceName' => '<string>',
    ],
]

Result Details

Members
serviceSyncBlockerSummary
Type: ServiceSyncBlockerSummary structure

The detailed data of the requested service sync blocker summary.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetServiceSyncConfig

$result = $client->getServiceSyncConfig([/* ... */]);
$promise = $client->getServiceSyncConfigAsync([/* ... */]);

Get detailed information for the service sync configuration.

Parameter Syntax

$result = $client->getServiceSyncConfig([
    'serviceName' => '<string>', // REQUIRED
]);

Parameter Details

Members
serviceName
Required: Yes
Type: string

The name of the service that you want to get the service sync configuration for.

Result Syntax

[
    'serviceSyncConfig' => [
        'branch' => '<string>',
        'filePath' => '<string>',
        'repositoryName' => '<string>',
        'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        'serviceName' => '<string>',
    ],
]

Result Details

Members
serviceSyncConfig
Type: ServiceSyncConfig structure

The detailed data of the requested service sync configuration.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetServiceTemplate

$result = $client->getServiceTemplate([/* ... */]);
$promise = $client->getServiceTemplateAsync([/* ... */]);

Get detailed data for a service template.

Parameter Syntax

$result = $client->getServiceTemplate([
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the service template that you want to get detailed data for.

Result Syntax

[
    'serviceTemplate' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'displayName' => '<string>',
        'encryptionKey' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'name' => '<string>',
        'pipelineProvisioning' => 'CUSTOMER_MANAGED',
        'recommendedVersion' => '<string>',
    ],
]

Result Details

Members
serviceTemplate
Required: Yes
Type: ServiceTemplate structure

The detailed data of the requested service template.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetServiceTemplateVersion

$result = $client->getServiceTemplateVersion([/* ... */]);
$promise = $client->getServiceTemplateVersionAsync([/* ... */]);

Get detailed data for a major or minor version of a service template.

Parameter Syntax

$result = $client->getServiceTemplateVersion([
    'majorVersion' => '<string>', // REQUIRED
    'minorVersion' => '<string>', // REQUIRED
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
majorVersion
Required: Yes
Type: string

To get service template major version detail data, include major Version.

minorVersion
Required: Yes
Type: string

To get service template minor version detail data, include minorVersion.

templateName
Required: Yes
Type: string

The name of the service template a version of which you want to get detailed data for.

Result Syntax

[
    'serviceTemplateVersion' => [
        'arn' => '<string>',
        'compatibleEnvironmentTemplates' => [
            [
                'majorVersion' => '<string>',
                'templateName' => '<string>',
            ],
            // ...
        ],
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'majorVersion' => '<string>',
        'minorVersion' => '<string>',
        'recommendedMinorVersion' => '<string>',
        'schema' => '<string>',
        'status' => 'REGISTRATION_IN_PROGRESS|REGISTRATION_FAILED|DRAFT|PUBLISHED',
        'statusMessage' => '<string>',
        'supportedComponentSources' => ['<string>', ...],
        'templateName' => '<string>',
    ],
]

Result Details

Members
serviceTemplateVersion
Required: Yes
Type: ServiceTemplateVersion structure

The detailed data of the requested service template version.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetTemplateSyncConfig

$result = $client->getTemplateSyncConfig([/* ... */]);
$promise = $client->getTemplateSyncConfigAsync([/* ... */]);

Get detail data for a template sync configuration.

Parameter Syntax

$result = $client->getTemplateSyncConfig([
    'templateName' => '<string>', // REQUIRED
    'templateType' => 'ENVIRONMENT|SERVICE', // REQUIRED
]);

Parameter Details

Members
templateName
Required: Yes
Type: string

The template name.

templateType
Required: Yes
Type: string

The template type.

Result Syntax

[
    'templateSyncConfig' => [
        'branch' => '<string>',
        'repositoryName' => '<string>',
        'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        'subdirectory' => '<string>',
        'templateName' => '<string>',
        'templateType' => 'ENVIRONMENT|SERVICE',
    ],
]

Result Details

Members
templateSyncConfig
Type: TemplateSyncConfig structure

The template sync configuration detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

GetTemplateSyncStatus

$result = $client->getTemplateSyncStatus([/* ... */]);
$promise = $client->getTemplateSyncStatusAsync([/* ... */]);

Get the status of a template sync.

Parameter Syntax

$result = $client->getTemplateSyncStatus([
    'templateName' => '<string>', // REQUIRED
    'templateType' => 'ENVIRONMENT|SERVICE', // REQUIRED
    'templateVersion' => '<string>', // REQUIRED
]);

Parameter Details

Members
templateName
Required: Yes
Type: string

The template name.

templateType
Required: Yes
Type: string

The template type.

templateVersion
Required: Yes
Type: string

The template major version.

Result Syntax

[
    'desiredState' => [
        'branch' => '<string>',
        'directory' => '<string>',
        'repositoryName' => '<string>',
        'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        'sha' => '<string>',
    ],
    'latestSuccessfulSync' => [
        'events' => [
            [
                'event' => '<string>',
                'externalId' => '<string>',
                'time' => <DateTime>,
                'type' => '<string>',
            ],
            // ...
        ],
        'initialRevision' => [
            'branch' => '<string>',
            'directory' => '<string>',
            'repositoryName' => '<string>',
            'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
            'sha' => '<string>',
        ],
        'startedAt' => <DateTime>,
        'status' => 'INITIATED|IN_PROGRESS|SUCCEEDED|FAILED',
        'target' => '<string>',
        'targetRevision' => [
            'branch' => '<string>',
            'directory' => '<string>',
            'repositoryName' => '<string>',
            'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
            'sha' => '<string>',
        ],
    ],
    'latestSync' => [
        'events' => [
            [
                'event' => '<string>',
                'externalId' => '<string>',
                'time' => <DateTime>,
                'type' => '<string>',
            ],
            // ...
        ],
        'initialRevision' => [
            'branch' => '<string>',
            'directory' => '<string>',
            'repositoryName' => '<string>',
            'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
            'sha' => '<string>',
        ],
        'startedAt' => <DateTime>,
        'status' => 'INITIATED|IN_PROGRESS|SUCCEEDED|FAILED',
        'target' => '<string>',
        'targetRevision' => [
            'branch' => '<string>',
            'directory' => '<string>',
            'repositoryName' => '<string>',
            'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
            'sha' => '<string>',
        ],
    ],
]

Result Details

Members
desiredState
Type: Revision structure

The template sync desired state that's returned by Proton.

latestSuccessfulSync
Type: ResourceSyncAttempt structure

The details of the last successful sync that's returned by Proton.

latestSync
Type: ResourceSyncAttempt structure

The details of the last sync that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListComponentOutputs

$result = $client->listComponentOutputs([/* ... */]);
$promise = $client->listComponentOutputsAsync([/* ... */]);

Get a list of component Infrastructure as Code (IaC) outputs.

For more information about components, see Proton components in the Proton User Guide.

Parameter Syntax

$result = $client->listComponentOutputs([
    'componentName' => '<string>', // REQUIRED
    'deploymentId' => '<string>',
    'nextToken' => '<string>',
]);

Parameter Details

Members
componentName
Required: Yes
Type: string

The name of the component whose outputs you want.

deploymentId
Type: string

The ID of the deployment whose outputs you want.

nextToken
Type: string

A token that indicates the location of the next output in the array of outputs, after the list of outputs that was previously requested.

Result Syntax

[
    'nextToken' => '<string>',
    'outputs' => [
        [
            'key' => '<string>',
            'valueString' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next output in the array of outputs, after the list of outputs that was previously requested.

outputs
Required: Yes
Type: Array of Output structures

An array of component Infrastructure as Code (IaC) outputs.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListComponentProvisionedResources

$result = $client->listComponentProvisionedResources([/* ... */]);
$promise = $client->listComponentProvisionedResourcesAsync([/* ... */]);

List provisioned resources for a component with details.

For more information about components, see Proton components in the Proton User Guide.

Parameter Syntax

$result = $client->listComponentProvisionedResources([
    'componentName' => '<string>', // REQUIRED
    'nextToken' => '<string>',
]);

Parameter Details

Members
componentName
Required: Yes
Type: string

The name of the component whose provisioned resources you want.

nextToken
Type: string

A token that indicates the location of the next provisioned resource in the array of provisioned resources, after the list of provisioned resources that was previously requested.

Result Syntax

[
    'nextToken' => '<string>',
    'provisionedResources' => [
        [
            'identifier' => '<string>',
            'name' => '<string>',
            'provisioningEngine' => 'CLOUDFORMATION|TERRAFORM',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next provisioned resource in the array of provisioned resources, after the current requested list of provisioned resources.

provisionedResources
Required: Yes
Type: Array of ProvisionedResource structures

An array of provisioned resources for a component.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListComponents

$result = $client->listComponents([/* ... */]);
$promise = $client->listComponentsAsync([/* ... */]);

List components with summary data. You can filter the result list by environment, service, or a single service instance.

For more information about components, see Proton components in the Proton User Guide.

Parameter Syntax

$result = $client->listComponents([
    'environmentName' => '<string>',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'serviceInstanceName' => '<string>',
    'serviceName' => '<string>',
]);

Parameter Details

Members
environmentName
Type: string

The name of an environment for result list filtering. Proton returns components associated with the environment or attached to service instances running in it.

maxResults
Type: int

The maximum number of components to list.

nextToken
Type: string

A token that indicates the location of the next component in the array of components, after the list of components that was previously requested.

serviceInstanceName
Type: string

The name of a service instance for result list filtering. Proton returns the component attached to the service instance, if any.

serviceName
Type: string

The name of a service for result list filtering. Proton returns components attached to service instances of the service.

Result Syntax

[
    'components' => [
        [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
            'deploymentStatusMessage' => '<string>',
            'environmentName' => '<string>',
            'lastAttemptedDeploymentId' => '<string>',
            'lastDeploymentAttemptedAt' => <DateTime>,
            'lastDeploymentSucceededAt' => <DateTime>,
            'lastModifiedAt' => <DateTime>,
            'lastSucceededDeploymentId' => '<string>',
            'name' => '<string>',
            'serviceInstanceName' => '<string>',
            'serviceName' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
components
Required: Yes
Type: Array of ComponentSummary structures

An array of components with summary data.

nextToken
Type: string

A token that indicates the location of the next component in the array of components, after the current requested list of components.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerException:

The request failed to register with the service.

ListDeployments

$result = $client->listDeployments([/* ... */]);
$promise = $client->listDeploymentsAsync([/* ... */]);

List deployments. You can filter the result list by environment, service, or a single service instance.

Parameter Syntax

$result = $client->listDeployments([
    'componentName' => '<string>',
    'environmentName' => '<string>',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'serviceInstanceName' => '<string>',
    'serviceName' => '<string>',
]);

Parameter Details

Members
componentName
Type: string

The name of a component for result list filtering. Proton returns deployments associated with that component.

environmentName
Type: string

The name of an environment for result list filtering. Proton returns deployments associated with the environment.

maxResults
Type: int

The maximum number of deployments to list.

nextToken
Type: string

A token that indicates the location of the next deployment in the array of deployment, after the list of deployment that was previously requested.

serviceInstanceName
Type: string

The name of a service instance for result list filtering. Proton returns the deployments associated with the service instance.

serviceName
Type: string

The name of a service for result list filtering. Proton returns deployments associated with service instances of the service.

Result Syntax

[
    'deployments' => [
        [
            'arn' => '<string>',
            'completedAt' => <DateTime>,
            'componentName' => '<string>',
            'createdAt' => <DateTime>,
            'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
            'environmentName' => '<string>',
            'id' => '<string>',
            'lastAttemptedDeploymentId' => '<string>',
            'lastModifiedAt' => <DateTime>,
            'lastSucceededDeploymentId' => '<string>',
            'serviceInstanceName' => '<string>',
            'serviceName' => '<string>',
            'targetArn' => '<string>',
            'targetResourceCreatedAt' => <DateTime>,
            'targetResourceType' => 'ENVIRONMENT|SERVICE_PIPELINE|SERVICE_INSTANCE|COMPONENT',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
deployments
Required: Yes
Type: Array of DeploymentSummary structures

An array of deployment with summary data.

nextToken
Type: string

A token that indicates the location of the next deployment in the array of deployment, after the current requested list of deployment.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListEnvironmentAccountConnections

$result = $client->listEnvironmentAccountConnections([/* ... */]);
$promise = $client->listEnvironmentAccountConnectionsAsync([/* ... */]);

View a list of environment account connections.

For more information, see Environment account connections in the Proton User guide.

Parameter Syntax

$result = $client->listEnvironmentAccountConnections([
    'environmentName' => '<string>',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'requestedBy' => 'MANAGEMENT_ACCOUNT|ENVIRONMENT_ACCOUNT', // REQUIRED
    'statuses' => ['<string>', ...],
]);

Parameter Details

Members
environmentName
Type: string

The environment name that's associated with each listed environment account connection.

maxResults
Type: int

The maximum number of environment account connections to list.

nextToken
Type: string

A token that indicates the location of the next environment account connection in the array of environment account connections, after the list of environment account connections that was previously requested.

requestedBy
Required: Yes
Type: string

The type of account making the ListEnvironmentAccountConnections request.

statuses
Type: Array of strings

The status details for each listed environment account connection.

Result Syntax

[
    'environmentAccountConnections' => [
        [
            'arn' => '<string>',
            'componentRoleArn' => '<string>',
            'environmentAccountId' => '<string>',
            'environmentName' => '<string>',
            'id' => '<string>',
            'lastModifiedAt' => <DateTime>,
            'managementAccountId' => '<string>',
            'requestedAt' => <DateTime>,
            'roleArn' => '<string>',
            'status' => 'PENDING|CONNECTED|REJECTED',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
environmentAccountConnections
Required: Yes
Type: Array of EnvironmentAccountConnectionSummary structures

An array of environment account connections with details that's returned by Proton.

nextToken
Type: string

A token that indicates the location of the next environment account connection in the array of environment account connections, after the current requested list of environment account connections.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerException:

The request failed to register with the service.

ListEnvironmentOutputs

$result = $client->listEnvironmentOutputs([/* ... */]);
$promise = $client->listEnvironmentOutputsAsync([/* ... */]);

List the infrastructure as code outputs for your environment.

Parameter Syntax

$result = $client->listEnvironmentOutputs([
    'deploymentId' => '<string>',
    'environmentName' => '<string>', // REQUIRED
    'nextToken' => '<string>',
]);

Parameter Details

Members
deploymentId
Type: string

The ID of the deployment whose outputs you want.

environmentName
Required: Yes
Type: string

The environment name.

nextToken
Type: string

A token that indicates the location of the next environment output in the array of environment outputs, after the list of environment outputs that was previously requested.

Result Syntax

[
    'nextToken' => '<string>',
    'outputs' => [
        [
            'key' => '<string>',
            'valueString' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next environment output in the array of environment outputs, after the current requested list of environment outputs.

outputs
Required: Yes
Type: Array of Output structures

An array of environment outputs with detail data.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListEnvironmentProvisionedResources

$result = $client->listEnvironmentProvisionedResources([/* ... */]);
$promise = $client->listEnvironmentProvisionedResourcesAsync([/* ... */]);

List the provisioned resources for your environment.

Parameter Syntax

$result = $client->listEnvironmentProvisionedResources([
    'environmentName' => '<string>', // REQUIRED
    'nextToken' => '<string>',
]);

Parameter Details

Members
environmentName
Required: Yes
Type: string

The environment name.

nextToken
Type: string

A token that indicates the location of the next environment provisioned resource in the array of environment provisioned resources, after the list of environment provisioned resources that was previously requested.

Result Syntax

[
    'nextToken' => '<string>',
    'provisionedResources' => [
        [
            'identifier' => '<string>',
            'name' => '<string>',
            'provisioningEngine' => 'CLOUDFORMATION|TERRAFORM',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next environment provisioned resource in the array of provisioned resources, after the current requested list of environment provisioned resources.

provisionedResources
Required: Yes
Type: Array of ProvisionedResource structures

An array of environment provisioned resources.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListEnvironmentTemplateVersions

$result = $client->listEnvironmentTemplateVersions([/* ... */]);
$promise = $client->listEnvironmentTemplateVersionsAsync([/* ... */]);

List major or minor versions of an environment template with detail data.

Parameter Syntax

$result = $client->listEnvironmentTemplateVersions([
    'majorVersion' => '<string>',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
majorVersion
Type: string

To view a list of minor of versions under a major version of an environment template, include major Version.

To view a list of major versions of an environment template, exclude major Version.

maxResults
Type: int

The maximum number of major or minor versions of an environment template to list.

nextToken
Type: string

A token that indicates the location of the next major or minor version in the array of major or minor versions of an environment template, after the list of major or minor versions that was previously requested.

templateName
Required: Yes
Type: string

The name of the environment template.

Result Syntax

[
    'nextToken' => '<string>',
    'templateVersions' => [
        [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'description' => '<string>',
            'lastModifiedAt' => <DateTime>,
            'majorVersion' => '<string>',
            'minorVersion' => '<string>',
            'recommendedMinorVersion' => '<string>',
            'status' => 'REGISTRATION_IN_PROGRESS|REGISTRATION_FAILED|DRAFT|PUBLISHED',
            'statusMessage' => '<string>',
            'templateName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next major or minor version in the array of major or minor versions of an environment template, after the list of major or minor versions that was previously requested.

templateVersions
Required: Yes
Type: Array of EnvironmentTemplateVersionSummary structures

An array of major or minor versions of an environment template detail data.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListEnvironmentTemplates

$result = $client->listEnvironmentTemplates([/* ... */]);
$promise = $client->listEnvironmentTemplatesAsync([/* ... */]);

List environment templates.

Parameter Syntax

$result = $client->listEnvironmentTemplates([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of environment templates to list.

nextToken
Type: string

A token that indicates the location of the next environment template in the array of environment templates, after the list of environment templates that was previously requested.

Result Syntax

[
    'nextToken' => '<string>',
    'templates' => [
        [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'description' => '<string>',
            'displayName' => '<string>',
            'lastModifiedAt' => <DateTime>,
            'name' => '<string>',
            'provisioning' => 'CUSTOMER_MANAGED',
            'recommendedVersion' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next environment template in the array of environment templates, after the current requested list of environment templates.

templates
Required: Yes
Type: Array of EnvironmentTemplateSummary structures

An array of environment templates with detail data.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerException:

The request failed to register with the service.

ListEnvironments

$result = $client->listEnvironments([/* ... */]);
$promise = $client->listEnvironmentsAsync([/* ... */]);

List environments with detail data summaries.

Parameter Syntax

$result = $client->listEnvironments([
    'environmentTemplates' => [
        [
            'majorVersion' => '<string>', // REQUIRED
            'templateName' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
environmentTemplates
Type: Array of EnvironmentTemplateFilter structures

An array of the versions of the environment template.

maxResults
Type: int

The maximum number of environments to list.

nextToken
Type: string

A token that indicates the location of the next environment in the array of environments, after the list of environments that was previously requested.

Result Syntax

[
    'environments' => [
        [
            'arn' => '<string>',
            'componentRoleArn' => '<string>',
            'createdAt' => <DateTime>,
            'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
            'deploymentStatusMessage' => '<string>',
            'description' => '<string>',
            'environmentAccountConnectionId' => '<string>',
            'environmentAccountId' => '<string>',
            'lastAttemptedDeploymentId' => '<string>',
            'lastDeploymentAttemptedAt' => <DateTime>,
            'lastDeploymentSucceededAt' => <DateTime>,
            'lastSucceededDeploymentId' => '<string>',
            'name' => '<string>',
            'protonServiceRoleArn' => '<string>',
            'provisioning' => 'CUSTOMER_MANAGED',
            'templateMajorVersion' => '<string>',
            'templateMinorVersion' => '<string>',
            'templateName' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
environments
Required: Yes
Type: Array of EnvironmentSummary structures

An array of environment detail data summaries.

nextToken
Type: string

A token that indicates the location of the next environment in the array of environments, after the current requested list of environments.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListRepositories

$result = $client->listRepositories([/* ... */]);
$promise = $client->listRepositoriesAsync([/* ... */]);

List linked repositories with detail data.

Parameter Syntax

$result = $client->listRepositories([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of repositories to list.

nextToken
Type: string

A token that indicates the location of the next repository in the array of repositories, after the list of repositories previously requested.

Result Syntax

[
    'nextToken' => '<string>',
    'repositories' => [
        [
            'arn' => '<string>',
            'connectionArn' => '<string>',
            'name' => '<string>',
            'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next repository in the array of repositories, after the current requested list of repositories.

repositories
Required: Yes
Type: Array of RepositorySummary structures

An array of repository links.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListRepositorySyncDefinitions

$result = $client->listRepositorySyncDefinitions([/* ... */]);
$promise = $client->listRepositorySyncDefinitionsAsync([/* ... */]);

List repository sync definitions with detail data.

Parameter Syntax

$result = $client->listRepositorySyncDefinitions([
    'nextToken' => '<string>',
    'repositoryName' => '<string>', // REQUIRED
    'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET', // REQUIRED
    'syncType' => 'TEMPLATE_SYNC|SERVICE_SYNC', // REQUIRED
]);

Parameter Details

Members
nextToken
Type: string

A token that indicates the location of the next repository sync definition in the array of repository sync definitions, after the list of repository sync definitions previously requested.

repositoryName
Required: Yes
Type: string

The repository name.

repositoryProvider
Required: Yes
Type: string

The repository provider.

syncType
Required: Yes
Type: string

The sync type. The only supported value is TEMPLATE_SYNC.

Result Syntax

[
    'nextToken' => '<string>',
    'syncDefinitions' => [
        [
            'branch' => '<string>',
            'directory' => '<string>',
            'parent' => '<string>',
            'target' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next repository sync definition in the array of repository sync definitions, after the current requested list of repository sync definitions.

syncDefinitions
Required: Yes
Type: Array of RepositorySyncDefinition structures

An array of repository sync definitions.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerException:

The request failed to register with the service.

ListServiceInstanceOutputs

$result = $client->listServiceInstanceOutputs([/* ... */]);
$promise = $client->listServiceInstanceOutputsAsync([/* ... */]);

Get a list service of instance Infrastructure as Code (IaC) outputs.

Parameter Syntax

$result = $client->listServiceInstanceOutputs([
    'deploymentId' => '<string>',
    'nextToken' => '<string>',
    'serviceInstanceName' => '<string>', // REQUIRED
    'serviceName' => '<string>', // REQUIRED
]);

Parameter Details

Members
deploymentId
Type: string

The ID of the deployment whose outputs you want.

nextToken
Type: string

A token that indicates the location of the next output in the array of outputs, after the list of outputs that was previously requested.

serviceInstanceName
Required: Yes
Type: string

The name of the service instance whose outputs you want.

serviceName
Required: Yes
Type: string

The name of the service that serviceInstanceName is associated to.

Result Syntax

[
    'nextToken' => '<string>',
    'outputs' => [
        [
            'key' => '<string>',
            'valueString' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next output in the array of outputs, after the current requested list of outputs.

outputs
Required: Yes
Type: Array of Output structures

An array of service instance Infrastructure as Code (IaC) outputs.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListServiceInstanceProvisionedResources

$result = $client->listServiceInstanceProvisionedResources([/* ... */]);
$promise = $client->listServiceInstanceProvisionedResourcesAsync([/* ... */]);

List provisioned resources for a service instance with details.

Parameter Syntax

$result = $client->listServiceInstanceProvisionedResources([
    'nextToken' => '<string>',
    'serviceInstanceName' => '<string>', // REQUIRED
    'serviceName' => '<string>', // REQUIRED
]);

Parameter Details

Members
nextToken
Type: string

A token that indicates the location of the next provisioned resource in the array of provisioned resources, after the list of provisioned resources that was previously requested.

serviceInstanceName
Required: Yes
Type: string

The name of the service instance whose provisioned resources you want.

serviceName
Required: Yes
Type: string

The name of the service that serviceInstanceName is associated to.

Result Syntax

[
    'nextToken' => '<string>',
    'provisionedResources' => [
        [
            'identifier' => '<string>',
            'name' => '<string>',
            'provisioningEngine' => 'CLOUDFORMATION|TERRAFORM',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next provisioned resource in the array of provisioned resources, after the current requested list of provisioned resources.

provisionedResources
Required: Yes
Type: Array of ProvisionedResource structures

An array of provisioned resources for a service instance.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListServiceInstances

$result = $client->listServiceInstances([/* ... */]);
$promise = $client->listServiceInstancesAsync([/* ... */]);

List service instances with summary data. This action lists service instances of all services in the Amazon Web Services account.

Parameter Syntax

$result = $client->listServiceInstances([
    'filters' => [
        [
            'key' => 'name|deploymentStatus|templateName|serviceName|deployedTemplateVersionStatus|environmentName|lastDeploymentAttemptedAtBefore|lastDeploymentAttemptedAtAfter|createdAtBefore|createdAtAfter',
            'value' => '<string>',
        ],
        // ...
    ],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'serviceName' => '<string>',
    'sortBy' => 'name|deploymentStatus|templateName|serviceName|environmentName|lastDeploymentAttemptedAt|createdAt',
    'sortOrder' => 'ASCENDING|DESCENDING',
]);

Parameter Details

Members
filters
Type: Array of ListServiceInstancesFilter structures

An array of filtering criteria that scope down the result list. By default, all service instances in the Amazon Web Services account are returned.

maxResults
Type: int

The maximum number of service instances to list.

nextToken
Type: string

A token that indicates the location of the next service in the array of service instances, after the list of service instances that was previously requested.

serviceName
Type: string

The name of the service that the service instance belongs to.

sortBy
Type: string

The field that the result list is sorted by.

When you choose to sort by serviceName, service instances within each service are sorted by service instance name.

Default: serviceName

sortOrder
Type: string

Result list sort order.

Default: ASCENDING

Result Syntax

[
    'nextToken' => '<string>',
    'serviceInstances' => [
        [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
            'deploymentStatusMessage' => '<string>',
            'environmentName' => '<string>',
            'lastAttemptedDeploymentId' => '<string>',
            'lastDeploymentAttemptedAt' => <DateTime>,
            'lastDeploymentSucceededAt' => <DateTime>,
            'lastSucceededDeploymentId' => '<string>',
            'name' => '<string>',
            'serviceName' => '<string>',
            'templateMajorVersion' => '<string>',
            'templateMinorVersion' => '<string>',
            'templateName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next service instance in the array of service instances, after the current requested list of service instances.

serviceInstances
Required: Yes
Type: Array of ServiceInstanceSummary structures

An array of service instances with summary data.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListServicePipelineOutputs

$result = $client->listServicePipelineOutputs([/* ... */]);
$promise = $client->listServicePipelineOutputsAsync([/* ... */]);

Get a list of service pipeline Infrastructure as Code (IaC) outputs.

Parameter Syntax

$result = $client->listServicePipelineOutputs([
    'deploymentId' => '<string>',
    'nextToken' => '<string>',
    'serviceName' => '<string>', // REQUIRED
]);

Parameter Details

Members
deploymentId
Type: string

The ID of the deployment you want the outputs for.

nextToken
Type: string

A token that indicates the location of the next output in the array of outputs, after the list of outputs that was previously requested.

serviceName
Required: Yes
Type: string

The name of the service whose pipeline's outputs you want.

Result Syntax

[
    'nextToken' => '<string>',
    'outputs' => [
        [
            'key' => '<string>',
            'valueString' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next output in the array of outputs, after the current requested list of outputs.

outputs
Required: Yes
Type: Array of Output structures

An array of service pipeline Infrastructure as Code (IaC) outputs.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListServicePipelineProvisionedResources

$result = $client->listServicePipelineProvisionedResources([/* ... */]);
$promise = $client->listServicePipelineProvisionedResourcesAsync([/* ... */]);

List provisioned resources for a service and pipeline with details.

Parameter Syntax

$result = $client->listServicePipelineProvisionedResources([
    'nextToken' => '<string>',
    'serviceName' => '<string>', // REQUIRED
]);

Parameter Details

Members
nextToken
Type: string

A token that indicates the location of the next provisioned resource in the array of provisioned resources, after the list of provisioned resources that was previously requested.

serviceName
Required: Yes
Type: string

The name of the service whose pipeline's provisioned resources you want.

Result Syntax

[
    'nextToken' => '<string>',
    'provisionedResources' => [
        [
            'identifier' => '<string>',
            'name' => '<string>',
            'provisioningEngine' => 'CLOUDFORMATION|TERRAFORM',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next provisioned resource in the array of provisioned resources, after the current requested list of provisioned resources.

provisionedResources
Required: Yes
Type: Array of ProvisionedResource structures

An array of provisioned resources for a service and pipeline.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListServiceTemplateVersions

$result = $client->listServiceTemplateVersions([/* ... */]);
$promise = $client->listServiceTemplateVersionsAsync([/* ... */]);

List major or minor versions of a service template with detail data.

Parameter Syntax

$result = $client->listServiceTemplateVersions([
    'majorVersion' => '<string>',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
majorVersion
Type: string

To view a list of minor of versions under a major version of a service template, include major Version.

To view a list of major versions of a service template, exclude major Version.

maxResults
Type: int

The maximum number of major or minor versions of a service template to list.

nextToken
Type: string

A token that indicates the location of the next major or minor version in the array of major or minor versions of a service template, after the list of major or minor versions that was previously requested.

templateName
Required: Yes
Type: string

The name of the service template.

Result Syntax

[
    'nextToken' => '<string>',
    'templateVersions' => [
        [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'description' => '<string>',
            'lastModifiedAt' => <DateTime>,
            'majorVersion' => '<string>',
            'minorVersion' => '<string>',
            'recommendedMinorVersion' => '<string>',
            'status' => 'REGISTRATION_IN_PROGRESS|REGISTRATION_FAILED|DRAFT|PUBLISHED',
            'statusMessage' => '<string>',
            'templateName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next major or minor version in the array of major or minor versions of a service template, after the current requested list of service major or minor versions.

templateVersions
Required: Yes
Type: Array of ServiceTemplateVersionSummary structures

An array of major or minor versions of a service template with detail data.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

ListServiceTemplates

$result = $client->listServiceTemplates([/* ... */]);
$promise = $client->listServiceTemplatesAsync([/* ... */]);

List service templates with detail data.

Parameter Syntax

$result = $client->listServiceTemplates([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of service templates to list.

nextToken
Type: string

A token that indicates the location of the next service template in the array of service templates, after the list of service templates previously requested.

Result Syntax

[
    'nextToken' => '<string>',
    'templates' => [
        [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'description' => '<string>',
            'displayName' => '<string>',
            'lastModifiedAt' => <DateTime>,
            'name' => '<string>',
            'pipelineProvisioning' => 'CUSTOMER_MANAGED',
            'recommendedVersion' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next service template in the array of service templates, after the current requested list of service templates.

templates
Required: Yes
Type: Array of ServiceTemplateSummary structures

An array of service templates with detail data.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerException:

The request failed to register with the service.

ListServices

$result = $client->listServices([/* ... */]);
$promise = $client->listServicesAsync([/* ... */]);

List services with summaries of detail data.

Parameter Syntax

$result = $client->listServices([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of services to list.

nextToken
Type: string

A token that indicates the location of the next service in the array of services, after the list of services that was previously requested.

Result Syntax

[
    'nextToken' => '<string>',
    'services' => [
        [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'description' => '<string>',
            'lastModifiedAt' => <DateTime>,
            'name' => '<string>',
            'status' => 'CREATE_IN_PROGRESS|CREATE_FAILED_CLEANUP_IN_PROGRESS|CREATE_FAILED_CLEANUP_COMPLETE|CREATE_FAILED_CLEANUP_FAILED|CREATE_FAILED|ACTIVE|DELETE_IN_PROGRESS|DELETE_FAILED|UPDATE_IN_PROGRESS|UPDATE_FAILED_CLEANUP_IN_PROGRESS|UPDATE_FAILED_CLEANUP_COMPLETE|UPDATE_FAILED_CLEANUP_FAILED|UPDATE_FAILED|UPDATE_COMPLETE_CLEANUP_FAILED',
            'statusMessage' => '<string>',
            'templateName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next service in the array of services, after the current requested list of services.

services
Required: Yes
Type: Array of ServiceSummary structures

An array of services with summaries of detail data.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

InternalServerException:

The request failed to register with the service.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

List tags for a resource. For more information, see Proton resources and tagging in the Proton User Guide.

Parameter Syntax

$result = $client->listTagsForResource([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'resourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of tags to list.

nextToken
Type: string

A token that indicates the location of the next resource tag in the array of resource tags, after the list of resource tags that was previously requested.

resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource for the listed tags.

Result Syntax

[
    'nextToken' => '<string>',
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that indicates the location of the next resource tag in the array of resource tags, after the current requested list of resource tags.

tags
Required: Yes
Type: Array of Tag structures

A list of resource tags with detail data.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

NotifyResourceDeploymentStatusChange

$result = $client->notifyResourceDeploymentStatusChange([/* ... */]);
$promise = $client->notifyResourceDeploymentStatusChangeAsync([/* ... */]);

Notify Proton of status changes to a provisioned resource when you use self-managed provisioning.

For more information, see Self-managed provisioning in the Proton User Guide.

Parameter Syntax

$result = $client->notifyResourceDeploymentStatusChange([
    'deploymentId' => '<string>',
    'outputs' => [
        [
            'key' => '<string>',
            'valueString' => '<string>',
        ],
        // ...
    ],
    'resourceArn' => '<string>', // REQUIRED
    'status' => 'IN_PROGRESS|FAILED|SUCCEEDED',
    'statusMessage' => '<string>',
]);

Parameter Details

Members
deploymentId
Type: string

The deployment ID for your provisioned resource.

outputs
Type: Array of Output structures

The provisioned resource state change detail data that's returned by Proton.

resourceArn
Required: Yes
Type: string

The provisioned resource Amazon Resource Name (ARN).

status
Type: string

The status of your provisioned resource.

statusMessage
Type: string

The deployment status message for your provisioned resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

RejectEnvironmentAccountConnection

$result = $client->rejectEnvironmentAccountConnection([/* ... */]);
$promise = $client->rejectEnvironmentAccountConnectionAsync([/* ... */]);

In a management account, reject an environment account connection from another environment account.

After you reject an environment account connection request, you can't accept or use the rejected environment account connection.

You can’t reject an environment account connection that's connected to an environment.

For more information, see Environment account connections in the Proton User guide.

Parameter Syntax

$result = $client->rejectEnvironmentAccountConnection([
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The ID of the environment account connection to reject.

Result Syntax

[
    'environmentAccountConnection' => [
        'arn' => '<string>',
        'codebuildRoleArn' => '<string>',
        'componentRoleArn' => '<string>',
        'environmentAccountId' => '<string>',
        'environmentName' => '<string>',
        'id' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'managementAccountId' => '<string>',
        'requestedAt' => <DateTime>,
        'roleArn' => '<string>',
        'status' => 'PENDING|CONNECTED|REJECTED',
    ],
]

Result Details

Members
environmentAccountConnection
Required: Yes
Type: EnvironmentAccountConnection structure

The environment connection account detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Tag a resource. A tag is a key-value pair of metadata that you associate with an Proton resource.

For more information, see Proton resources and tagging in the Proton User Guide.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => [ // REQUIRED
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the Proton resource to apply customer tags to.

tags
Required: Yes
Type: Array of Tag structures

A list of customer tags to apply to the Proton resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Remove a customer tag from a resource. A tag is a key-value pair of metadata associated with an Proton resource.

For more information, see Proton resources and tagging in the Proton User Guide.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource to remove customer tags from.

tagKeys
Required: Yes
Type: Array of strings

A list of customer tag keys that indicate the customer tags to be removed from the resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UpdateAccountSettings

$result = $client->updateAccountSettings([/* ... */]);
$promise = $client->updateAccountSettingsAsync([/* ... */]);

Update Proton settings that are used for multiple services in the Amazon Web Services account.

Parameter Syntax

$result = $client->updateAccountSettings([
    'deletePipelineProvisioningRepository' => true || false,
    'pipelineCodebuildRoleArn' => '<string>',
    'pipelineProvisioningRepository' => [
        'branch' => '<string>', // REQUIRED
        'name' => '<string>', // REQUIRED
        'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET', // REQUIRED
    ],
    'pipelineServiceRoleArn' => '<string>',
]);

Parameter Details

Members
deletePipelineProvisioningRepository
Type: boolean

Set to true to remove a configured pipeline repository from the account settings. Don't set this field if you are updating the configured pipeline repository.

pipelineCodebuildRoleArn
Type: string

The Amazon Resource Name (ARN) of the service role you want to use for provisioning pipelines. Proton assumes this role for CodeBuild-based provisioning.

pipelineProvisioningRepository
Type: RepositoryBranchInput structure

A linked repository for pipeline provisioning. Specify it if you have environments configured for self-managed provisioning with services that include pipelines. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

To remove a previously configured repository, set deletePipelineProvisioningRepository to true, and don't set pipelineProvisioningRepository.

pipelineServiceRoleArn
Type: string

The Amazon Resource Name (ARN) of the service role you want to use for provisioning pipelines. Assumed by Proton for Amazon Web Services-managed provisioning, and by customer-owned automation for self-managed provisioning.

To remove a previously configured ARN, specify an empty string.

Result Syntax

[
    'accountSettings' => [
        'pipelineCodebuildRoleArn' => '<string>',
        'pipelineProvisioningRepository' => [
            'arn' => '<string>',
            'branch' => '<string>',
            'name' => '<string>',
            'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        ],
        'pipelineServiceRoleArn' => '<string>',
    ],
]

Result Details

Members
accountSettings
Required: Yes
Type: AccountSettings structure

The Proton pipeline service role and repository data shared across the Amazon Web Services account.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

InternalServerException:

The request failed to register with the service.

UpdateComponent

$result = $client->updateComponent([/* ... */]);
$promise = $client->updateComponentAsync([/* ... */]);

Update a component.

There are a few modes for updating a component. The deploymentType field defines the mode.

You can't update a component while its deployment status, or the deployment status of a service instance attached to it, is IN_PROGRESS.

For more information about components, see Proton components in the Proton User Guide.

Parameter Syntax

$result = $client->updateComponent([
    'clientToken' => '<string>',
    'deploymentType' => 'NONE|CURRENT_VERSION', // REQUIRED
    'description' => '<string>',
    'name' => '<string>', // REQUIRED
    'serviceInstanceName' => '<string>',
    'serviceName' => '<string>',
    'serviceSpec' => '<string>',
    'templateFile' => '<string>',
]);

Parameter Details

Members
clientToken
Type: string

The client token for the updated component.

deploymentType
Required: Yes
Type: string

The deployment type. It defines the mode for updating a component, as follows:

NONE

In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated. You can only specify description in this mode.

CURRENT_VERSION

In this mode, the component is deployed and updated with the new serviceSpec, templateSource, and/or type that you provide. Only requested parameters are updated.

description
Type: string

An optional customer-provided description of the component.

name
Required: Yes
Type: string

The name of the component to update.

serviceInstanceName
Type: string

The name of the service instance that you want to attach this component to. Don't specify to keep the component's current service instance attachment. Specify an empty string to detach the component from the service instance it's attached to. Specify non-empty values for both serviceInstanceName and serviceName or for neither of them.

serviceName
Type: string

The name of the service that serviceInstanceName is associated with. Don't specify to keep the component's current service instance attachment. Specify an empty string to detach the component from the service instance it's attached to. Specify non-empty values for both serviceInstanceName and serviceName or for neither of them.

serviceSpec
Type: string

The service spec that you want the component to use to access service inputs. Set this only when the component is attached to a service instance.

templateFile
Type: string

A path to the Infrastructure as Code (IaC) file describing infrastructure that a custom component provisions.

Components support a single IaC file, even if you use Terraform as your template language.

Result Syntax

[
    'component' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'description' => '<string>',
        'environmentName' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastClientRequestToken' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastModifiedAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'serviceInstanceName' => '<string>',
        'serviceName' => '<string>',
        'serviceSpec' => '<string>',
    ],
]

Result Details

Members
component
Required: Yes
Type: Component structure

The detailed data of the updated component.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UpdateEnvironment

$result = $client->updateEnvironment([/* ... */]);
$promise = $client->updateEnvironmentAsync([/* ... */]);

Update an environment.

If the environment is associated with an environment account connection, don't update or include the protonServiceRoleArn and provisioningRepository parameter to update or connect to an environment account connection.

You can only update to a new environment account connection if that connection was created in the same environment account that the current environment account connection was created in. The account connection must also be associated with the current environment.

If the environment isn't associated with an environment account connection, don't update or include the environmentAccountConnectionId parameter. You can't update or connect the environment to an environment account connection if it isn't already associated with an environment connection.

You can update either the environmentAccountConnectionId or protonServiceRoleArn parameter and value. You can’t update both.

If the environment was configured for Amazon Web Services-managed provisioning, omit the provisioningRepository parameter.

If the environment was configured for self-managed provisioning, specify the provisioningRepository parameter and omit the protonServiceRoleArn and environmentAccountConnectionId parameters.

For more information, see Environments and Provisioning methods in the Proton User Guide.

There are four modes for updating an environment. The deploymentType field defines the mode.

NONE

In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated.

CURRENT_VERSION

In this mode, the environment is deployed and updated with the new spec that you provide. Only requested parameters are updated. Don’t include minor or major version parameters when you use this deployment-type.

MINOR_VERSION

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.

MAJOR_VERSION

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's higher than the major version in use and a minor version.

Parameter Syntax

$result = $client->updateEnvironment([
    'codebuildRoleArn' => '<string>',
    'componentRoleArn' => '<string>',
    'deploymentType' => 'NONE|CURRENT_VERSION|MINOR_VERSION|MAJOR_VERSION', // REQUIRED
    'description' => '<string>',
    'environmentAccountConnectionId' => '<string>',
    'name' => '<string>', // REQUIRED
    'protonServiceRoleArn' => '<string>',
    'provisioningRepository' => [
        'branch' => '<string>', // REQUIRED
        'name' => '<string>', // REQUIRED
        'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET', // REQUIRED
    ],
    'spec' => '<string>',
    'templateMajorVersion' => '<string>',
    'templateMinorVersion' => '<string>',
]);

Parameter Details

Members
codebuildRoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM service role that allows Proton to provision infrastructure using CodeBuild-based provisioning on your behalf.

componentRoleArn
Type: string

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.

The environment must have a componentRoleArn to allow directly defined components to be associated with the environment.

For more information about components, see Proton components in the Proton User Guide.

deploymentType
Required: Yes
Type: string

There are four modes for updating an environment. The deploymentType field defines the mode.

NONE

In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated.

CURRENT_VERSION

In this mode, the environment is deployed and updated with the new spec that you provide. Only requested parameters are updated. Don’t include major or minor version parameters when you use this deployment-type.

MINOR_VERSION

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.

MAJOR_VERSION

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).

description
Type: string

A description of the environment update.

environmentAccountConnectionId
Type: string

The ID of the environment account connection.

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.

name
Required: Yes
Type: string

The name of the environment to update.

protonServiceRoleArn
Type: string

The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make API calls to other services your behalf.

provisioningRepository
Type: RepositoryBranchInput structure

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 CreateRepository.

spec
Type: string

The formatted specification that defines the update.

templateMajorVersion
Type: string

The major version of the environment to update.

templateMinorVersion
Type: string

The minor version of the environment to update.

Result Syntax

[
    'environment' => [
        'arn' => '<string>',
        'codebuildRoleArn' => '<string>',
        'componentRoleArn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'description' => '<string>',
        'environmentAccountConnectionId' => '<string>',
        'environmentAccountId' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'protonServiceRoleArn' => '<string>',
        'provisioning' => 'CUSTOMER_MANAGED',
        'provisioningRepository' => [
            'arn' => '<string>',
            'branch' => '<string>',
            'name' => '<string>',
            'provider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        ],
        'spec' => '<string>',
        'templateMajorVersion' => '<string>',
        'templateMinorVersion' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
environment
Required: Yes
Type: Environment structure

The environment detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UpdateEnvironmentAccountConnection

$result = $client->updateEnvironmentAccountConnection([/* ... */]);
$promise = $client->updateEnvironmentAccountConnectionAsync([/* ... */]);

In an environment account, update an environment account connection to use a new IAM role.

For more information, see Environment account connections in the Proton User guide.

Parameter Syntax

$result = $client->updateEnvironmentAccountConnection([
    'codebuildRoleArn' => '<string>',
    'componentRoleArn' => '<string>',
    'id' => '<string>', // REQUIRED
    'roleArn' => '<string>',
]);

Parameter Details

Members
codebuildRoleArn
Type: string

The Amazon Resource Name (ARN) of an IAM service role in the environment account. Proton uses this role to provision infrastructure resources using CodeBuild-based provisioning in the associated environment account.

componentRoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

The environment account connection must have a componentRoleArn to allow directly defined components to be associated with any environments running in the account.

For more information about components, see Proton components in the Proton User Guide.

id
Required: Yes
Type: string

The ID of the environment account connection to update.

roleArn
Type: string

The Amazon Resource Name (ARN) of the IAM service role that's associated with the environment account connection to update.

Result Syntax

[
    'environmentAccountConnection' => [
        'arn' => '<string>',
        'codebuildRoleArn' => '<string>',
        'componentRoleArn' => '<string>',
        'environmentAccountId' => '<string>',
        'environmentName' => '<string>',
        'id' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'managementAccountId' => '<string>',
        'requestedAt' => <DateTime>,
        'roleArn' => '<string>',
        'status' => 'PENDING|CONNECTED|REJECTED',
    ],
]

Result Details

Members
environmentAccountConnection
Required: Yes
Type: EnvironmentAccountConnection structure

The environment account connection detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UpdateEnvironmentTemplate

$result = $client->updateEnvironmentTemplate([/* ... */]);
$promise = $client->updateEnvironmentTemplateAsync([/* ... */]);

Update an environment template.

Parameter Syntax

$result = $client->updateEnvironmentTemplate([
    'description' => '<string>',
    'displayName' => '<string>',
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
description
Type: string

A description of the environment template update.

displayName
Type: string

The name of the environment template to update as displayed in the developer interface.

name
Required: Yes
Type: string

The name of the environment template to update.

Result Syntax

[
    'environmentTemplate' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'displayName' => '<string>',
        'encryptionKey' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'name' => '<string>',
        'provisioning' => 'CUSTOMER_MANAGED',
        'recommendedVersion' => '<string>',
    ],
]

Result Details

Members
environmentTemplate
Required: Yes
Type: EnvironmentTemplate structure

The environment template detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UpdateEnvironmentTemplateVersion

$result = $client->updateEnvironmentTemplateVersion([/* ... */]);
$promise = $client->updateEnvironmentTemplateVersionAsync([/* ... */]);

Update a major or minor version of an environment template.

Parameter Syntax

$result = $client->updateEnvironmentTemplateVersion([
    'description' => '<string>',
    'majorVersion' => '<string>', // REQUIRED
    'minorVersion' => '<string>', // REQUIRED
    'status' => 'REGISTRATION_IN_PROGRESS|REGISTRATION_FAILED|DRAFT|PUBLISHED',
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
description
Type: string

A description of environment template version to update.

majorVersion
Required: Yes
Type: string

To update a major version of an environment template, include major Version.

minorVersion
Required: Yes
Type: string

To update a minor version of an environment template, include minorVersion.

status
Type: string

The status of the environment template minor version to update.

templateName
Required: Yes
Type: string

The name of the environment template.

Result Syntax

[
    'environmentTemplateVersion' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'majorVersion' => '<string>',
        'minorVersion' => '<string>',
        'recommendedMinorVersion' => '<string>',
        'schema' => '<string>',
        'status' => 'REGISTRATION_IN_PROGRESS|REGISTRATION_FAILED|DRAFT|PUBLISHED',
        'statusMessage' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
environmentTemplateVersion
Required: Yes
Type: EnvironmentTemplateVersion structure

The environment template version detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UpdateService

$result = $client->updateService([/* ... */]);
$promise = $client->updateServiceAsync([/* ... */]);

Edit a service description or use a spec to add and delete service instances.

Existing service instances and the service pipeline can't be edited using this API. They can only be deleted.

Use the description parameter to modify the description.

Edit the spec parameter to add or delete instances.

You can't delete a service instance (remove it from the spec) if it has an attached component.

For more information about components, see Proton components in the Proton User Guide.

Parameter Syntax

$result = $client->updateService([
    'description' => '<string>',
    'name' => '<string>', // REQUIRED
    'spec' => '<string>',
]);

Parameter Details

Members
description
Type: string

The edited service description.

name
Required: Yes
Type: string

The name of the service to edit.

spec
Type: string

Lists the service instances to add and the existing service instances to remain. Omit the existing service instances to delete from the list. Don't include edits to the existing service instances or pipeline. For more information, see Edit a service in the Proton User Guide.

Result Syntax

[
    'service' => [
        'arn' => '<string>',
        'branchName' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'name' => '<string>',
        'pipeline' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
            'deploymentStatusMessage' => '<string>',
            'lastAttemptedDeploymentId' => '<string>',
            'lastDeploymentAttemptedAt' => <DateTime>,
            'lastDeploymentSucceededAt' => <DateTime>,
            'lastSucceededDeploymentId' => '<string>',
            'spec' => '<string>',
            'templateMajorVersion' => '<string>',
            'templateMinorVersion' => '<string>',
            'templateName' => '<string>',
        ],
        'repositoryConnectionArn' => '<string>',
        'repositoryId' => '<string>',
        'spec' => '<string>',
        'status' => 'CREATE_IN_PROGRESS|CREATE_FAILED_CLEANUP_IN_PROGRESS|CREATE_FAILED_CLEANUP_COMPLETE|CREATE_FAILED_CLEANUP_FAILED|CREATE_FAILED|ACTIVE|DELETE_IN_PROGRESS|DELETE_FAILED|UPDATE_IN_PROGRESS|UPDATE_FAILED_CLEANUP_IN_PROGRESS|UPDATE_FAILED_CLEANUP_COMPLETE|UPDATE_FAILED_CLEANUP_FAILED|UPDATE_FAILED|UPDATE_COMPLETE_CLEANUP_FAILED',
        'statusMessage' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
service
Required: Yes
Type: Service structure

The service detail data that's returned by Proton.

Errors

ServiceQuotaExceededException:

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UpdateServiceInstance

$result = $client->updateServiceInstance([/* ... */]);
$promise = $client->updateServiceInstanceAsync([/* ... */]);

Update a service instance.

There are a few modes for updating a service instance. The deploymentType field defines the mode.

You can't update a service instance while its deployment status, or the deployment status of a component attached to it, is IN_PROGRESS.

For more information about components, see Proton components in the Proton User Guide.

Parameter Syntax

$result = $client->updateServiceInstance([
    'clientToken' => '<string>',
    'deploymentType' => 'NONE|CURRENT_VERSION|MINOR_VERSION|MAJOR_VERSION', // REQUIRED
    'name' => '<string>', // REQUIRED
    'serviceName' => '<string>', // REQUIRED
    'spec' => '<string>',
    'templateMajorVersion' => '<string>',
    'templateMinorVersion' => '<string>',
]);

Parameter Details

Members
clientToken
Type: string

The client token of the service instance to update.

deploymentType
Required: Yes
Type: string

The deployment type. It defines the mode for updating a service instance, as follows:

NONE

In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated.

CURRENT_VERSION

In this mode, the service instance is deployed and updated with the new spec that you provide. Only requested parameters are updated. Don’t include major or minor version parameters when you use this deployment type.

MINOR_VERSION

In this mode, the service instance 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.

MAJOR_VERSION

In this mode, the service instance is deployed and updated with the published, recommended (latest) major and minor version of the current template, by default. You can specify a different major version that's higher than the major version in use and a minor version.

name
Required: Yes
Type: string

The name of the service instance to update.

serviceName
Required: Yes
Type: string

The name of the service that the service instance belongs to.

spec
Type: string

The formatted specification that defines the service instance update.

templateMajorVersion
Type: string

The major version of the service template to update.

templateMinorVersion
Type: string

The minor version of the service template to update.

Result Syntax

[
    'serviceInstance' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'environmentName' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastClientRequestToken' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'name' => '<string>',
        'serviceName' => '<string>',
        'spec' => '<string>',
        'templateMajorVersion' => '<string>',
        'templateMinorVersion' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
serviceInstance
Required: Yes
Type: ServiceInstance structure

The service instance summary data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UpdateServicePipeline

$result = $client->updateServicePipeline([/* ... */]);
$promise = $client->updateServicePipelineAsync([/* ... */]);

Update the service pipeline.

There are four modes for updating a service pipeline. The deploymentType field defines the mode.

NONE

In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated.

CURRENT_VERSION

In this mode, the service pipeline is deployed and updated with the new spec that you provide. Only requested parameters are updated. Don’t include major or minor version parameters when you use this deployment-type.

MINOR_VERSION

In this mode, the service pipeline is deployed and updated with the published, recommended (latest) minor version of the current major version in use, by default. You can specify a different minor version of the current major version in use.

MAJOR_VERSION

In this mode, the service pipeline is deployed and updated with the published, recommended (latest) major and minor version of the current template by default. You can specify a different major version that's higher than the major version in use and a minor version.

Parameter Syntax

$result = $client->updateServicePipeline([
    'deploymentType' => 'NONE|CURRENT_VERSION|MINOR_VERSION|MAJOR_VERSION', // REQUIRED
    'serviceName' => '<string>', // REQUIRED
    'spec' => '<string>', // REQUIRED
    'templateMajorVersion' => '<string>',
    'templateMinorVersion' => '<string>',
]);

Parameter Details

Members
deploymentType
Required: Yes
Type: string

The deployment type.

There are four modes for updating a service pipeline. The deploymentType field defines the mode.

NONE

In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated.

CURRENT_VERSION

In this mode, the service pipeline is deployed and updated with the new spec that you provide. Only requested parameters are updated. Don’t include major or minor version parameters when you use this deployment-type.

MINOR_VERSION

In this mode, the service pipeline is deployed and updated with the published, recommended (latest) minor version of the current major version in use, by default. You can specify a different minor version of the current major version in use.

MAJOR_VERSION

In this mode, the service pipeline is deployed and updated with the published, recommended (latest) major and minor version of the current template, by default. You can specify a different major version that's higher than the major version in use and a minor version.

serviceName
Required: Yes
Type: string

The name of the service to that the pipeline is associated with.

spec
Required: Yes
Type: string

The spec for the service pipeline to update.

templateMajorVersion
Type: string

The major version of the service template that was used to create the service that the pipeline is associated with.

templateMinorVersion
Type: string

The minor version of the service template that was used to create the service that the pipeline is associated with.

Result Syntax

[
    'pipeline' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'deploymentStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED|DELETE_IN_PROGRESS|DELETE_FAILED|DELETE_COMPLETE|CANCELLING|CANCELLED',
        'deploymentStatusMessage' => '<string>',
        'lastAttemptedDeploymentId' => '<string>',
        'lastDeploymentAttemptedAt' => <DateTime>,
        'lastDeploymentSucceededAt' => <DateTime>,
        'lastSucceededDeploymentId' => '<string>',
        'spec' => '<string>',
        'templateMajorVersion' => '<string>',
        'templateMinorVersion' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
pipeline
Required: Yes
Type: ServicePipeline structure

The pipeline details that are returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UpdateServiceSyncBlocker

$result = $client->updateServiceSyncBlocker([/* ... */]);
$promise = $client->updateServiceSyncBlockerAsync([/* ... */]);

Update the service sync blocker by resolving it.

Parameter Syntax

$result = $client->updateServiceSyncBlocker([
    'id' => '<string>', // REQUIRED
    'resolvedReason' => '<string>', // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The ID of the service sync blocker.

resolvedReason
Required: Yes
Type: string

The reason the service sync blocker was resolved.

Result Syntax

[
    'serviceInstanceName' => '<string>',
    'serviceName' => '<string>',
    'serviceSyncBlocker' => [
        'contexts' => [
            [
                'key' => '<string>',
                'value' => '<string>',
            ],
            // ...
        ],
        'createdAt' => <DateTime>,
        'createdReason' => '<string>',
        'id' => '<string>',
        'resolvedAt' => <DateTime>,
        'resolvedReason' => '<string>',
        'status' => 'ACTIVE|RESOLVED',
        'type' => 'AUTOMATED',
    ],
]

Result Details

Members
serviceInstanceName
Type: string

The name of the service instance that you want to update the service sync blocker for.

serviceName
Required: Yes
Type: string

The name of the service that you want to update the service sync blocker for.

serviceSyncBlocker
Required: Yes
Type: SyncBlocker structure

The detailed data on the service sync blocker that was updated.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UpdateServiceSyncConfig

$result = $client->updateServiceSyncConfig([/* ... */]);
$promise = $client->updateServiceSyncConfigAsync([/* ... */]);

Update the Proton Ops config file.

Parameter Syntax

$result = $client->updateServiceSyncConfig([
    'branch' => '<string>', // REQUIRED
    'filePath' => '<string>', // REQUIRED
    'repositoryName' => '<string>', // REQUIRED
    'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET', // REQUIRED
    'serviceName' => '<string>', // REQUIRED
]);

Parameter Details

Members
branch
Required: Yes
Type: string

The name of the code repository branch where the Proton Ops file is found.

filePath
Required: Yes
Type: string

The path to the Proton Ops file.

repositoryName
Required: Yes
Type: string

The name of the repository where the Proton Ops file is found.

repositoryProvider
Required: Yes
Type: string

The name of the repository provider where the Proton Ops file is found.

serviceName
Required: Yes
Type: string

The name of the service the Proton Ops file is for.

Result Syntax

[
    'serviceSyncConfig' => [
        'branch' => '<string>',
        'filePath' => '<string>',
        'repositoryName' => '<string>',
        'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        'serviceName' => '<string>',
    ],
]

Result Details

Members
serviceSyncConfig
Type: ServiceSyncConfig structure

The detailed data of the Proton Ops file.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UpdateServiceTemplate

$result = $client->updateServiceTemplate([/* ... */]);
$promise = $client->updateServiceTemplateAsync([/* ... */]);

Update a service template.

Parameter Syntax

$result = $client->updateServiceTemplate([
    'description' => '<string>',
    'displayName' => '<string>',
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
description
Type: string

A description of the service template update.

displayName
Type: string

The name of the service template to update that's displayed in the developer interface.

name
Required: Yes
Type: string

The name of the service template to update.

Result Syntax

[
    'serviceTemplate' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'displayName' => '<string>',
        'encryptionKey' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'name' => '<string>',
        'pipelineProvisioning' => 'CUSTOMER_MANAGED',
        'recommendedVersion' => '<string>',
    ],
]

Result Details

Members
serviceTemplate
Required: Yes
Type: ServiceTemplate structure

The service template detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UpdateServiceTemplateVersion

$result = $client->updateServiceTemplateVersion([/* ... */]);
$promise = $client->updateServiceTemplateVersionAsync([/* ... */]);

Update a major or minor version of a service template.

Parameter Syntax

$result = $client->updateServiceTemplateVersion([
    'compatibleEnvironmentTemplates' => [
        [
            'majorVersion' => '<string>', // REQUIRED
            'templateName' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'description' => '<string>',
    'majorVersion' => '<string>', // REQUIRED
    'minorVersion' => '<string>', // REQUIRED
    'status' => 'REGISTRATION_IN_PROGRESS|REGISTRATION_FAILED|DRAFT|PUBLISHED',
    'supportedComponentSources' => ['<string>', ...],
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
compatibleEnvironmentTemplates
Type: Array of CompatibleEnvironmentTemplateInput structures

An array of environment template objects that are compatible with this service template version. A service instance based on this service template version can run in environments based on compatible templates.

description
Type: string

A description of a service template version to update.

majorVersion
Required: Yes
Type: string

To update a major version of a service template, include major Version.

minorVersion
Required: Yes
Type: string

To update a minor version of a service template, include minorVersion.

status
Type: string

The status of the service template minor version to update.

supportedComponentSources
Type: Array of strings

An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version.

A change to supportedComponentSources doesn't impact existing component attachments to instances based on this template version. A change only affects later associations.

For more information about components, see Proton components in the Proton User Guide.

templateName
Required: Yes
Type: string

The name of the service template.

Result Syntax

[
    'serviceTemplateVersion' => [
        'arn' => '<string>',
        'compatibleEnvironmentTemplates' => [
            [
                'majorVersion' => '<string>',
                'templateName' => '<string>',
            ],
            // ...
        ],
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'majorVersion' => '<string>',
        'minorVersion' => '<string>',
        'recommendedMinorVersion' => '<string>',
        'schema' => '<string>',
        'status' => 'REGISTRATION_IN_PROGRESS|REGISTRATION_FAILED|DRAFT|PUBLISHED',
        'statusMessage' => '<string>',
        'supportedComponentSources' => ['<string>', ...],
        'templateName' => '<string>',
    ],
]

Result Details

Members
serviceTemplateVersion
Required: Yes
Type: ServiceTemplateVersion structure

The service template version detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

UpdateTemplateSyncConfig

$result = $client->updateTemplateSyncConfig([/* ... */]);
$promise = $client->updateTemplateSyncConfigAsync([/* ... */]);

Update template sync configuration parameters, except for the templateName and templateType. Repository details (branch, name, and provider) should be of a linked repository. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

Parameter Syntax

$result = $client->updateTemplateSyncConfig([
    'branch' => '<string>', // REQUIRED
    'repositoryName' => '<string>', // REQUIRED
    'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET', // REQUIRED
    'subdirectory' => '<string>',
    'templateName' => '<string>', // REQUIRED
    'templateType' => 'ENVIRONMENT|SERVICE', // REQUIRED
]);

Parameter Details

Members
branch
Required: Yes
Type: string

The repository branch for your template.

repositoryName
Required: Yes
Type: string

The repository name (for example, myrepos/myrepo).

repositoryProvider
Required: Yes
Type: string

The repository provider.

subdirectory
Type: string

A subdirectory path to your template bundle version. When included, limits the template bundle search to this repository directory.

templateName
Required: Yes
Type: string

The synced template name.

templateType
Required: Yes
Type: string

The synced template type.

Result Syntax

[
    'templateSyncConfig' => [
        'branch' => '<string>',
        'repositoryName' => '<string>',
        'repositoryProvider' => 'GITHUB|GITHUB_ENTERPRISE|BITBUCKET',
        'subdirectory' => '<string>',
        'templateName' => '<string>',
        'templateType' => 'ENVIRONMENT|SERVICE',
    ],
]

Result Details

Members
templateSyncConfig
Type: TemplateSyncConfig structure

The template sync configuration detail data that's returned by Proton.

Errors

ValidationException:

The input is invalid or an out-of-range value was supplied for the input parameter.

AccessDeniedException:

There isn't sufficient access for performing this action.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

The request couldn't be made due to a conflicting operation or resource.

ResourceNotFoundException:

The requested resource wasn't found.

InternalServerException:

The request failed to register with the service.

Shapes

AccessDeniedException

Description

There isn't sufficient access for performing this action.

Members
message
Required: Yes
Type: string

AccountSettings

Description

Proton settings that are used for multiple services in the Amazon Web Services account.

Members
pipelineCodebuildRoleArn
Type: string

The Amazon Resource Name (ARN) of the service role that Proton uses for provisioning pipelines. Proton assumes this role for CodeBuild-based provisioning.

pipelineProvisioningRepository
Type: RepositoryBranch structure

The linked repository for pipeline provisioning. Required if you have environments configured for self-managed provisioning with services that include pipelines. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

pipelineServiceRoleArn
Type: string

The Amazon Resource Name (ARN) of the service role you want to use for provisioning pipelines. Assumed by Proton for Amazon Web Services-managed provisioning, and by customer-owned automation for self-managed provisioning.

CompatibleEnvironmentTemplate

Description

Compatible environment template data.

Members
majorVersion
Required: Yes
Type: string

The major version of the compatible environment template.

templateName
Required: Yes
Type: string

The compatible environment template name.

CompatibleEnvironmentTemplateInput

Description

Compatible environment template data.

Members
majorVersion
Required: Yes
Type: string

The major version of the compatible environment template.

templateName
Required: Yes
Type: string

The compatible environment template name.

Component

Description

Detailed data of an Proton component resource.

For more information about components, see Proton components in the Proton User Guide.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the component.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the component was created.

deploymentStatus
Required: Yes
Type: string

The component deployment status.

deploymentStatusMessage
Type: string

The message associated with the component deployment status.

description
Type: string

A description of the component.

environmentName
Required: Yes
Type: string

The name of the Proton environment that this component is associated with.

lastAttemptedDeploymentId
Type: string

The ID of the last attempted deployment of this component.

lastClientRequestToken
Type: string

The last token the client requested.

lastDeploymentAttemptedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when a deployment of the component was last attempted.

lastDeploymentSucceededAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the component was last deployed successfully.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the component was last modified.

lastSucceededDeploymentId
Type: string

The ID of the last successful deployment of this component.

name
Required: Yes
Type: string

The name of the component.

serviceInstanceName
Type: string

The name of the service instance that this component is attached to. Provided when a component is attached to a service instance.

serviceName
Type: string

The name of the service that serviceInstanceName is associated with. Provided when a component is attached to a service instance.

serviceSpec
Type: string

The service spec that the component uses to access service inputs. Provided when a component is attached to a service instance.

ComponentState

Description

The detailed data about the current state of the component.

Members
serviceInstanceName
Type: string

The name of the service instance that this component is attached to. Provided when a component is attached to a service instance.

serviceName
Type: string

The name of the service that serviceInstanceName is associated with. Provided when a component is attached to a service instance.

serviceSpec
Type: string

The service spec that the component uses to access service inputs. Provided when a component is attached to a service instance.

templateFile
Type: string

The template file used.

ComponentSummary

Description

Summary data of an Proton component resource.

For more information about components, see Proton components in the Proton User Guide.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the component.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the component was created.

deploymentStatus
Required: Yes
Type: string

The component deployment status.

deploymentStatusMessage
Type: string

The message associated with the component deployment status.

environmentName
Required: Yes
Type: string

The name of the Proton environment that this component is associated with.

lastAttemptedDeploymentId
Type: string

The ID of the last attempted deployment of this component.

lastDeploymentAttemptedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when a deployment of the component was last attempted.

lastDeploymentSucceededAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the component was last deployed successfully.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the component was last modified.

lastSucceededDeploymentId
Type: string

The ID of the last successful deployment of this component.

name
Required: Yes
Type: string

The name of the component.

serviceInstanceName
Type: string

The name of the service instance that this component is attached to. Provided when a component is attached to a service instance.

serviceName
Type: string

The name of the service that serviceInstanceName is associated with. Provided when a component is attached to a service instance.

ConflictException

Description

The request couldn't be made due to a conflicting operation or resource.

Members
message
Required: Yes
Type: string

CountsSummary

Description

Summary counts of each Proton resource type.

Members
components
Type: ResourceCountsSummary structure

The total number of components in the Amazon Web Services account.

The semantics of the components field are different from the semantics of results for other infrastructure-provisioning resources. That's because at this time components don't have associated templates, therefore they don't have the concept of staleness. The components object will only contain total and failed members.

environmentTemplates
Type: ResourceCountsSummary structure

The total number of environment templates in the Amazon Web Services account. The environmentTemplates object will only contain total members.

environments
Type: ResourceCountsSummary structure

The staleness counts for Proton environments in the Amazon Web Services account. The environments object will only contain total members.

pipelines
Type: ResourceCountsSummary structure

The staleness counts for Proton pipelines in the Amazon Web Services account.

serviceInstances
Type: ResourceCountsSummary structure

The staleness counts for Proton service instances in the Amazon Web Services account.

serviceTemplates
Type: ResourceCountsSummary structure

The total number of service templates in the Amazon Web Services account. The serviceTemplates object will only contain total members.

services
Type: ResourceCountsSummary structure

The staleness counts for Proton services in the Amazon Web Services account.

Deployment

Description

The detailed information about a deployment.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the deployment.

completedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the deployment was completed.

componentName
Type: string

The name of the component associated with this deployment.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the deployment was created.

deploymentStatus
Required: Yes
Type: string

The status of the deployment.

deploymentStatusMessage
Type: string

The deployment status message.

environmentName
Required: Yes
Type: string

The name of the environment associated with this deployment.

id
Required: Yes
Type: string

The ID of the deployment.

initialState
Type: DeploymentState structure

The initial state of the target resource at the time of the deployment.

lastAttemptedDeploymentId
Type: string

The ID of the last attempted deployment.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the deployment was last modified.

lastSucceededDeploymentId
Type: string

The ID of the last successful deployment.

serviceInstanceName
Type: string

The name of the deployment's service instance.

serviceName
Type: string

The name of the service in this deployment.

targetArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the target of the deployment.

targetResourceCreatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the depoyment target was created.

targetResourceType
Required: Yes
Type: string

The resource type of the deployment target. It can be an environment, service, service instance, or component.

targetState
Type: DeploymentState structure

The target state of the target resource at the time of the deployment.

DeploymentState

Description

The detailed data about the current state of the deployment.

Members
component
Type: ComponentState structure

The state of the component associated with the deployment.

environment
Type: EnvironmentState structure

The state of the environment associated with the deployment.

serviceInstance
Type: ServiceInstanceState structure

The state of the service instance associated with the deployment.

servicePipeline
Type: ServicePipelineState structure

The state of the service pipeline associated with the deployment.

DeploymentSummary

Description

Summary data of the deployment.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the deployment.

completedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the deployment was completed.

componentName
Type: string

The name of the component associated with the deployment.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the deployment was created.

deploymentStatus
Required: Yes
Type: string

The current status of the deployment.

environmentName
Required: Yes
Type: string

The name of the environment associated with the deployment.

id
Required: Yes
Type: string

The ID of the deployment.

lastAttemptedDeploymentId
Type: string

The ID of the last attempted deployment.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the deployment was last modified.

lastSucceededDeploymentId
Type: string

The ID of the last successful deployment.

serviceInstanceName
Type: string

The name of the service instance associated with the deployment.

serviceName
Type: string

The name of the service associated with the deployment.

targetArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the target of the deployment.

targetResourceCreatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the target resource was created.

targetResourceType
Required: Yes
Type: string

The resource type of the deployment target. It can be an environment, service, service instance, or component.

Environment

Description

Detailed data of an Proton environment resource. An Proton environment is a set of resources shared across Proton services.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the environment.

codebuildRoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM service role that allows Proton to provision infrastructure using CodeBuild-based provisioning on your behalf.

componentRoleArn
Type: string

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.

The environment must have a componentRoleArn to allow directly defined components to be associated with the environment.

For more information about components, see Proton components in the Proton User Guide.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the environment was created.

deploymentStatus
Required: Yes
Type: string

The environment deployment status.

deploymentStatusMessage
Type: string

An environment deployment status message.

description
Type: string

The description of the environment.

environmentAccountConnectionId
Type: string

The ID of the environment account connection that's used to provision infrastructure resources in an environment account.

environmentAccountId
Type: string

The ID of the environment account that the environment infrastructure resources are provisioned in.

lastAttemptedDeploymentId
Type: string

The ID of the last attempted deployment of this environment.

lastDeploymentAttemptedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when a deployment of the environment was last attempted.

lastDeploymentSucceededAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the environment was last deployed successfully.

lastSucceededDeploymentId
Type: string

The ID of the last successful deployment of this environment.

name
Required: Yes
Type: string

The name of the environment.

protonServiceRoleArn
Type: string

The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on your behalf.

provisioning
Type: string

When included, indicates that the environment template is for customer provisioned and managed infrastructure.

provisioningRepository
Type: RepositoryBranch structure

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 CreateRepository.

spec
Type: string

The environment spec.

templateMajorVersion
Required: Yes
Type: string

The major version of the environment template.

templateMinorVersion
Required: Yes
Type: string

The minor version of the environment template.

templateName
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the environment template.

EnvironmentAccountConnection

Description

Detailed data of an Proton environment account connection resource.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the environment account connection.

codebuildRoleArn
Type: string

The Amazon Resource Name (ARN) of an IAM service role in the environment account. Proton uses this role to provision infrastructure resources using CodeBuild-based provisioning in the associated environment account.

componentRoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

The environment account connection must have a componentRoleArn to allow directly defined components to be associated with any environments running in the account.

For more information about components, see Proton components in the Proton User Guide.

environmentAccountId
Required: Yes
Type: string

The environment account that's connected to the environment account connection.

environmentName
Required: Yes
Type: string

The name of the environment that's associated with the environment account connection.

id
Required: Yes
Type: string

The ID of the environment account connection.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the environment account connection was last modified.

managementAccountId
Required: Yes
Type: string

The ID of the management account that's connected to the environment account connection.

requestedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the environment account connection request was made.

roleArn
Required: Yes
Type: string

The IAM service role that's associated with the environment account connection.

status
Required: Yes
Type: string

The status of the environment account connection.

EnvironmentAccountConnectionSummary

Description

Summary data of an Proton environment account connection resource.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the environment account connection.

componentRoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

The environment account connection must have a componentRoleArn to allow directly defined components to be associated with any environments running in the account.

For more information about components, see Proton components in the Proton User Guide.

environmentAccountId
Required: Yes
Type: string

The ID of the environment account that's connected to the environment account connection.

environmentName
Required: Yes
Type: string

The name of the environment that's associated with the environment account connection.

id
Required: Yes
Type: string

The ID of the environment account connection.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the environment account connection was last modified.

managementAccountId
Required: Yes
Type: string

The ID of the management account that's connected to the environment account connection.

requestedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the environment account connection request was made.

roleArn
Required: Yes
Type: string

The IAM service role that's associated with the environment account connection.

status
Required: Yes
Type: string

The status of the environment account connection.

EnvironmentState

Description

The detailed data about the current state of the environment.

Members
spec
Type: string

The environment spec that was used to create the environment.

templateMajorVersion
Required: Yes
Type: string

The major version of the environment template that was used to create the environment.

templateMinorVersion
Required: Yes
Type: string

The minor version of the environment template that was used to create the environment.

templateName
Required: Yes
Type: string

The name of the environment template that was used to create the environment.

EnvironmentSummary

Description

Summary data of an Proton environment resource. An Proton environment is a set of resources shared across Proton services.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the environment.

componentRoleArn
Type: string

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.

The environment must have a componentRoleArn to allow directly defined components to be associated with the environment.

For more information about components, see Proton components in the Proton User Guide.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the environment was created.

deploymentStatus
Required: Yes
Type: string

The environment deployment status.

deploymentStatusMessage
Type: string

An environment deployment status message.

description
Type: string

The description of the environment.

environmentAccountConnectionId
Type: string

The ID of the environment account connection that the environment is associated with.

environmentAccountId
Type: string

The ID of the environment account that the environment infrastructure resources are provisioned in.

lastAttemptedDeploymentId
Type: string

The ID of the last attempted deployment of this environment.

lastDeploymentAttemptedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when a deployment of the environment was last attempted.

lastDeploymentSucceededAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the environment was last deployed successfully.

lastSucceededDeploymentId
Type: string

The ID of the last successful deployment of this environment.

name
Required: Yes
Type: string

The name of the environment.

protonServiceRoleArn
Type: string

The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on your behalf.

provisioning
Type: string

When included, indicates that the environment template is for customer provisioned and managed infrastructure.

templateMajorVersion
Required: Yes
Type: string

The major version of the environment template.

templateMinorVersion
Required: Yes
Type: string

The minor version of the environment template.

templateName
Required: Yes
Type: string

The name of the environment template.

EnvironmentTemplate

Description

The environment template data.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the environment template.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the environment template was created.

description
Type: string

A description of the environment template.

displayName
Type: string

The name of the environment template as displayed in the developer interface.

encryptionKey
Type: string

The customer provided encryption key for the environment template.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the environment template was last modified.

name
Required: Yes
Type: string

The name of the environment template.

provisioning
Type: string

When included, indicates that the environment template is for customer provisioned and managed infrastructure.

recommendedVersion
Type: string

The ID of the recommended version of the environment template.

EnvironmentTemplateFilter

Description

A search filter for environment templates.

Members
majorVersion
Required: Yes
Type: string

Include majorVersion to filter search for a major version.

templateName
Required: Yes
Type: string

Include templateName to filter search for a template name.

EnvironmentTemplateSummary

Description

The environment template data.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the environment template.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the environment template was created.

description
Type: string

A description of the environment template.

displayName
Type: string

The name of the environment template as displayed in the developer interface.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the environment template was last modified.

name
Required: Yes
Type: string

The name of the environment template.

provisioning
Type: string

When included, indicates that the environment template is for customer provisioned and managed infrastructure.

recommendedVersion
Type: string

The recommended version of the environment template.

EnvironmentTemplateVersion

Description

The environment template version data.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the version of an environment template.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the version of an environment template was created.

description
Type: string

A description of the minor version of an environment template.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the version of an environment template was last modified.

majorVersion
Required: Yes
Type: string

The latest major version that's associated with the version of an environment template.

minorVersion
Required: Yes
Type: string

The minor version of an environment template.

recommendedMinorVersion
Type: string

The recommended minor version of the environment template.

schema
Type: string

The schema of the version of an environment template.

status
Required: Yes
Type: string

The status of the version of an environment template.

statusMessage
Type: string

The status message of the version of an environment template.

templateName
Required: Yes
Type: string

The name of the version of an environment template.

EnvironmentTemplateVersionSummary

Description

A summary of the version of an environment template detail data.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the version of an environment template.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the version of an environment template was created.

description
Type: string

A description of the version of an environment template.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the version of an environment template was last modified.

majorVersion
Required: Yes
Type: string

The latest major version that's associated with the version of an environment template.

minorVersion
Required: Yes
Type: string

The version of an environment template.

recommendedMinorVersion
Type: string

The recommended minor version of the environment template.

status
Required: Yes
Type: string

The status of the version of an environment template.

statusMessage
Type: string

The status message of the version of an environment template.

templateName
Required: Yes
Type: string

The name of the environment template.

InternalServerException

Description

The request failed to register with the service.

Members
message
Required: Yes
Type: string

ListServiceInstancesFilter

Description

A filtering criterion to scope down the result list of the ListServiceInstances action.

Members
key
Type: string

The name of a filtering criterion.

value
Type: string

A value to filter by.

With the date/time keys (*At{Before,After}), the value is a valid RFC 3339 string with no UTC offset and with an optional fractional precision (for example, 1985-04-12T23:20:50.52Z).

Output

Description

An infrastructure as code defined resource output.

Members
key
Type: string

The output key.

valueString
Type: string

The output value.

ProvisionedResource

Description

Detail data for a provisioned resource.

Members
identifier
Type: string

The provisioned resource identifier.

name
Type: string

The provisioned resource name.

provisioningEngine
Type: string

The resource provisioning engine. At this time, CLOUDFORMATION can be used for Amazon Web Services-managed provisioning, and TERRAFORM can be used for self-managed provisioning.

For more information, see Self-managed provisioning in the Proton User Guide.

Repository

Description

Detailed data of a linked repository—a repository that has been registered with Proton.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the linked repository.

connectionArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of your AWS CodeStar connection that connects Proton to your repository provider account.

encryptionKey
Type: string

Your customer Amazon Web Services KMS encryption key.

name
Required: Yes
Type: string

The repository name.

provider
Required: Yes
Type: string

The repository provider.

RepositoryBranch

Description

Detail data for a linked repository branch.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the linked repository.

branch
Required: Yes
Type: string

The repository branch.

name
Required: Yes
Type: string

The repository name.

provider
Required: Yes
Type: string

The repository provider.

RepositoryBranchInput

Description

Detail input data for a linked repository branch.

Members
branch
Required: Yes
Type: string

The repository branch.

name
Required: Yes
Type: string

The repository name.

provider
Required: Yes
Type: string

The repository provider.

RepositorySummary

Description

Summary data of a linked repository—a repository that has been registered with Proton.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the linked repository.

connectionArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the of your connection that connects Proton to your repository.

name
Required: Yes
Type: string

The repository name.

provider
Required: Yes
Type: string

The repository provider.

RepositorySyncAttempt

Description

Detail data for a repository sync attempt activated by a push to a repository.

Members
events
Required: Yes
Type: Array of RepositorySyncEvent structures

Detail data for sync attempt events.

startedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the sync attempt started.

status
Required: Yes
Type: string

The sync attempt status.

RepositorySyncDefinition

Description

A repository sync definition.

Members
branch
Required: Yes
Type: string

The repository branch.

directory
Required: Yes
Type: string

The directory in the repository.

parent
Required: Yes
Type: string

The resource that is synced from.

target
Required: Yes
Type: string

The resource that is synced to.

RepositorySyncEvent

Description

Repository sync event detail data for a sync attempt.

Members
event
Required: Yes
Type: string

Event detail for a repository sync attempt.

externalId
Type: string

The external ID of the sync event.

time
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the sync event occurred.

type
Required: Yes
Type: string

The type of event.

ResourceCountsSummary

Description

Summary counts of each Proton resource types.

Members
behindMajor
Type: int

The number of resources of this type in the Amazon Web Services account that need a major template version update.

behindMinor
Type: int

The number of resources of this type in the Amazon Web Services account that need a minor template version update.

failed
Type: int

The number of resources of this type in the Amazon Web Services account that failed to deploy.

total
Required: Yes
Type: int

The total number of resources of this type in the Amazon Web Services account.

upToDate
Type: int

The number of resources of this type in the Amazon Web Services account that are up-to-date with their template.

ResourceNotFoundException

Description

The requested resource wasn't found.

Members
message
Required: Yes
Type: string

ResourceSyncAttempt

Description

Detail data for a resource sync attempt activated by a push to a repository.

Members
events
Required: Yes
Type: Array of ResourceSyncEvent structures

An array of events with detail data.

initialRevision
Required: Yes
Type: Revision structure

Detail data for the initial repository commit, path and push.

startedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the sync attempt started.

status
Required: Yes
Type: string

The status of the sync attempt.

target
Required: Yes
Type: string

The resource that is synced to.

targetRevision
Required: Yes
Type: Revision structure

Detail data for the target revision.

ResourceSyncEvent

Description

Detail data for a resource sync event.

Members
event
Required: Yes
Type: string

A resource sync event.

externalId
Type: string

The external ID for the event.

time
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the event occurred.

type
Required: Yes
Type: string

The type of event.

Revision

Description

Revision detail data for a commit and push that activates a sync attempt

Members
branch
Required: Yes
Type: string

The repository branch.

directory
Required: Yes
Type: string

The repository directory changed by a commit and push that activated the sync attempt.

repositoryName
Required: Yes
Type: string

The repository name.

repositoryProvider
Required: Yes
Type: string

The repository provider.

sha
Required: Yes
Type: string

The secure hash algorithm (SHA) hash for the revision.

S3ObjectSource

Description

Template bundle S3 bucket data.

Members
bucket
Required: Yes
Type: string

The name of the S3 bucket that contains a template bundle.

key
Required: Yes
Type: string

The path to the S3 bucket that contains a template bundle.

Service

Description

Detailed data of an Proton service resource.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the service.

branchName
Type: string

The name of the code repository branch that holds the code that's deployed in Proton.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service was created.

description
Type: string

A description of the service.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service was last modified.

name
Required: Yes
Type: string

The name of the service.

pipeline
Type: ServicePipeline structure

The service pipeline detail data.

repositoryConnectionArn
Type: string

The Amazon Resource Name (ARN) of the repository connection. For more information, see Setting up an AWS CodeStar connection in the Proton User Guide.

repositoryId
Type: string

The ID of the source code repository.

spec
Required: Yes
Type: string

The formatted specification that defines the service.

status
Required: Yes
Type: string

The status of the service.

statusMessage
Type: string

A service status message.

templateName
Required: Yes
Type: string

The name of the service template.

ServiceInstance

Description

Detailed data of an Proton service instance resource.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the service instance.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service instance was created.

deploymentStatus
Required: Yes
Type: string

The service instance deployment status.

deploymentStatusMessage
Type: string

The message associated with the service instance deployment status.

environmentName
Required: Yes
Type: string

The name of the environment that the service instance was deployed into.

lastAttemptedDeploymentId
Type: string

The ID of the last attempted deployment of this service instance.

lastClientRequestToken
Type: string

The last client request token received.

lastDeploymentAttemptedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when a deployment of the service instance was last attempted.

lastDeploymentSucceededAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service instance was last deployed successfully.

lastSucceededDeploymentId
Type: string

The ID of the last successful deployment of this service instance.

name
Required: Yes
Type: string

The name of the service instance.

serviceName
Required: Yes
Type: string

The name of the service that the service instance belongs to.

spec
Type: string

The service spec that was used to create the service instance.

templateMajorVersion
Required: Yes
Type: string

The major version of the service template that was used to create the service instance.

templateMinorVersion
Required: Yes
Type: string

The minor version of the service template that was used to create the service instance.

templateName
Required: Yes
Type: string

The name of the service template that was used to create the service instance.

ServiceInstanceState

Description

The detailed data about the current state of this service instance.

Members
lastSuccessfulComponentDeploymentIds
Type: Array of strings

The IDs for the last successful components deployed for this service instance.

lastSuccessfulEnvironmentDeploymentId
Type: string

The ID for the last successful environment deployed for this service instance.

lastSuccessfulServicePipelineDeploymentId
Type: string

The ID for the last successful service pipeline deployed for this service instance.

spec
Required: Yes
Type: string

The service spec that was used to create the service instance.

templateMajorVersion
Required: Yes
Type: string

The major version of the service template that was used to create the service pipeline.

templateMinorVersion
Required: Yes
Type: string

The minor version of the service template that was used to create the service pipeline.

templateName
Required: Yes
Type: string

The name of the service template that was used to create the service instance.

ServiceInstanceSummary

Description

Summary data of an Proton service instance resource.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the service instance.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service instance was created.

deploymentStatus
Required: Yes
Type: string

The service instance deployment status.

deploymentStatusMessage
Type: string

A service instance deployment status message.

environmentName
Required: Yes
Type: string

The name of the environment that the service instance was deployed into.

lastAttemptedDeploymentId
Type: string

The ID of the last attempted deployment of this service instance.

lastDeploymentAttemptedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when a deployment of the service was last attempted.

lastDeploymentSucceededAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service was last deployed successfully.

lastSucceededDeploymentId
Type: string

The ID of the last successful deployment of this service instance.

name
Required: Yes
Type: string

The name of the service instance.

serviceName
Required: Yes
Type: string

The name of the service that the service instance belongs to.

templateMajorVersion
Required: Yes
Type: string

The service instance template major version.

templateMinorVersion
Required: Yes
Type: string

The service instance template minor version.

templateName
Required: Yes
Type: string

The name of the service template.

ServicePipeline

Description

Detailed data of an Proton service instance pipeline resource.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the service pipeline.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service pipeline was created.

deploymentStatus
Required: Yes
Type: string

The deployment status of the service pipeline.

deploymentStatusMessage
Type: string

A service pipeline deployment status message.

lastAttemptedDeploymentId
Type: string

The ID of the last attempted deployment of this service pipeline.

lastDeploymentAttemptedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when a deployment of the service pipeline was last attempted.

lastDeploymentSucceededAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service pipeline was last deployed successfully.

lastSucceededDeploymentId
Type: string

The ID of the last successful deployment of this service pipeline.

spec
Type: string

The service spec that was used to create the service pipeline.

templateMajorVersion
Required: Yes
Type: string

The major version of the service template that was used to create the service pipeline.

templateMinorVersion
Required: Yes
Type: string

The minor version of the service template that was used to create the service pipeline.

templateName
Required: Yes
Type: string

The name of the service template that was used to create the service pipeline.

ServicePipelineState

Description

The detailed data about the current state of the service pipeline.

Members
spec
Type: string

The service spec that was used to create the service pipeline.

templateMajorVersion
Required: Yes
Type: string

The major version of the service template that was used to create the service pipeline.

templateMinorVersion
Required: Yes
Type: string

The minor version of the service template that was used to create the service pipeline.

templateName
Required: Yes
Type: string

The name of the service template that was used to create the service pipeline.

ServiceQuotaExceededException

Description

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

Members
message
Required: Yes
Type: string

ServiceSummary

Description

Summary data of an Proton service resource.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the service.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service was created.

description
Type: string

A description of the service.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service was last modified.

name
Required: Yes
Type: string

The name of the service.

status
Required: Yes
Type: string

The status of the service.

statusMessage
Type: string

A service status message.

templateName
Required: Yes
Type: string

The name of the service template.

ServiceSyncBlockerSummary

Description

If a service instance is manually updated, Proton wants to prevent accidentally overriding a manual change.

A blocker is created because of the manual update or deletion of a service instance. The summary describes the blocker as being active or resolved.

Members
latestBlockers
Type: Array of SyncBlocker structures

The latest active blockers for the synced service.

serviceInstanceName
Type: string

The name of the service instance that you want sync your service configuration with.

serviceName
Required: Yes
Type: string

The name of the service that you want to get the sync blocker summary for. If given a service instance name and a service name, it will return the blockers only applying to the instance that is blocked.

If given only a service name, it will return the blockers that apply to all of the instances. In order to get the blockers for a single instance, you will need to make two distinct calls, one to get the sync blocker summary for the service and the other to get the sync blocker for the service instance.

ServiceSyncConfig

Description

Detailed data of the service sync configuration.

Members
branch
Required: Yes
Type: string

The name of the code repository branch that holds the service code Proton will sync with.

filePath
Required: Yes
Type: string

The file path to the service sync configuration file.

repositoryName
Required: Yes
Type: string

The name of the code repository that holds the service code Proton will sync with.

repositoryProvider
Required: Yes
Type: string

The name of the repository provider that holds the repository Proton will sync with.

serviceName
Required: Yes
Type: string

The name of the service that the service instance is added to.

ServiceTemplate

Description

Detailed data of an Proton service template resource.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the service template.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service template was created.

description
Type: string

A description of the service template.

displayName
Type: string

The service template name as displayed in the developer interface.

encryptionKey
Type: string

The customer provided service template encryption key that's used to encrypt data.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service template was last modified.

name
Required: Yes
Type: string

The name of the service template.

pipelineProvisioning
Type: string

If pipelineProvisioning is true, a service pipeline is included in the service template. Otherwise, a service pipeline isn't included in the service template.

recommendedVersion
Type: string

The recommended version of the service template.

ServiceTemplateSummary

Description

Summary data of an Proton service template resource.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the service template.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service template was created.

description
Type: string

A description of the service template.

displayName
Type: string

The service template name as displayed in the developer interface.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the service template was last modified.

name
Required: Yes
Type: string

The name of the service template.

pipelineProvisioning
Type: string

If pipelineProvisioning is true, a service pipeline is included in the service template, otherwise a service pipeline isn't included in the service template.

recommendedVersion
Type: string

The recommended version of the service template.

ServiceTemplateVersion

Description

Detailed data of an Proton service template version resource.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the version of a service template.

compatibleEnvironmentTemplates
Required: Yes
Type: Array of CompatibleEnvironmentTemplate structures

An array of compatible environment template names for the major version of a service template.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the version of a service template was created.

description
Type: string

A description of the version of a service template.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the version of a service template was last modified.

majorVersion
Required: Yes
Type: string

The latest major version that's associated with the version of a service template.

minorVersion
Required: Yes
Type: string

The minor version of a service template.

recommendedMinorVersion
Type: string

The recommended minor version of the service template.

schema
Type: string

The schema of the version of a service template.

status
Required: Yes
Type: string

The service template version status.

statusMessage
Type: string

A service template version status message.

supportedComponentSources
Type: Array of strings

An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version.

For more information about components, see Proton components in the Proton User Guide.

templateName
Required: Yes
Type: string

The name of the version of a service template.

ServiceTemplateVersionSummary

Description

Summary data of an Proton service template version resource.

Members
arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the version of a service template.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the version of a service template was created.

description
Type: string

A description of the version of a service template.

lastModifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the version of a service template was last modified.

majorVersion
Required: Yes
Type: string

The latest major version that's associated with the version of a service template.

minorVersion
Required: Yes
Type: string

The minor version of a service template.

recommendedMinorVersion
Type: string

The recommended minor version of the service template.

status
Required: Yes
Type: string

The service template minor version status.

statusMessage
Type: string

A service template minor version status message.

templateName
Required: Yes
Type: string

The name of the service template.

SyncBlocker

Description

Detailed data of the sync blocker.

Members
contexts
Type: Array of SyncBlockerContext structures

The contexts for the sync blocker.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the sync blocker was created.

createdReason
Required: Yes
Type: string

The reason why the sync blocker was created.

id
Required: Yes
Type: string

The ID of the sync blocker.

resolvedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the sync blocker was resolved.

resolvedReason
Type: string

The reason the sync blocker was resolved.

status
Required: Yes
Type: string

The status of the sync blocker.

type
Required: Yes
Type: string

The type of the sync blocker.

SyncBlockerContext

Description

Detailed data of the context of the sync blocker.

Members
key
Required: Yes
Type: string

The key for the sync blocker context.

value
Required: Yes
Type: string

The value of the sync blocker context.

Tag

Description

A description of a resource tag.

Members
key
Required: Yes
Type: string

The key of the resource tag.

value
Required: Yes
Type: string

The value of the resource tag.

TemplateSyncConfig

Description

The detail data for a template sync configuration.

Members
branch
Required: Yes
Type: string

The repository branch.

repositoryName
Required: Yes
Type: string

The repository name (for example, myrepos/myrepo).

repositoryProvider
Required: Yes
Type: string

The repository provider.

subdirectory
Type: string

A subdirectory path to your template bundle version.

templateName
Required: Yes
Type: string

The template name.

templateType
Required: Yes
Type: string

The template type.

TemplateVersionSourceInput

Description

Template version source data.

Members
s3
Type: S3ObjectSource structure

An S3 source object that includes the template bundle S3 path and name for a template minor version.

ThrottlingException

Description

The request was denied due to request throttling.

Members
message
Required: Yes
Type: string

ValidationException

Description

The input is invalid or an out-of-range value was supplied for the input parameter.

Members
message
Required: Yes
Type: string