Module Smaws_Client_Proton

Proton client library built on EIO.

Types

type validation_exception = {
  1. message : string;
}

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

type template_type =
  1. | ENVIRONMENT
  2. | SERVICE
type repository_provider =
  1. | GITHUB
  2. | GITHUB_ENTERPRISE
  3. | BITBUCKET
type template_sync_config = {
  1. subdirectory : string option;
    (*

    A subdirectory path to your template bundle version.

    *)
  2. branch : string;
    (*

    The repository branch.

    *)
  3. repository_name : string;
    (*

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

    *)
  4. repository_provider : repository_provider;
    (*

    The repository provider.

    *)
  5. template_type : template_type;
    (*

    The template type.

    *)
  6. template_name : string;
    (*

    The template name.

    *)
}

The detail data for a template sync configuration.

type update_template_sync_config_output = {
  1. template_sync_config : template_sync_config option;
    (*

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

    *)
}
type update_template_sync_config_input = {
  1. subdirectory : string option;
    (*

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

    *)
  2. branch : string;
    (*

    The repository branch for your template.

    *)
  3. repository_name : string;
    (*

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

    *)
  4. repository_provider : repository_provider;
    (*

    The repository provider.

    *)
  5. template_type : template_type;
    (*

    The synced template type.

    *)
  6. template_name : string;
    (*

    The synced template name.

    *)
}
type throttling_exception = {
  1. message : string;
}

The request was denied due to request throttling.

type resource_not_found_exception = {
  1. message : string;
}

The requested resource wasn't found.

type internal_server_exception = {
  1. message : string;
}

The request failed to register with the service.

type conflict_exception = {
  1. message : string;
}

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

type access_denied_exception = {
  1. message : string;
}

There isn't sufficient access for performing this action.

type template_version_status =
  1. | REGISTRATION_IN_PROGRESS
  2. | REGISTRATION_FAILED
  3. | DRAFT
  4. | PUBLISHED
type compatible_environment_template = {
  1. major_version : string;
    (*

    The major version of the compatible environment template.

    *)
  2. template_name : string;
    (*

    The compatible environment template name.

    *)
}

Compatible environment template data.

type service_template_supported_component_source_type =
  1. | DIRECTLY_DEFINED
type service_template_version = {
  1. supported_component_sources : service_template_supported_component_source_type list option;
    (*

    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.

    *)
  2. schema : string option;
    (*

    The schema of the version of a service template.

    *)
  3. compatible_environment_templates : compatible_environment_template list;
    (*

    An array of compatible environment template names for the major version of a service template.

    *)
  4. last_modified_at : float;
    (*

    The time when the version of a service template was last modified.

    *)
  5. created_at : float;
    (*

    The time when the version of a service template was created.

    *)
  6. arn : string;
    (*

    The Amazon Resource Name (ARN) of the version of a service template.

    *)
  7. description : string option;
    (*

    A description of the version of a service template.

    *)
  8. status_message : string option;
    (*

    A service template version status message.

    *)
  9. status : template_version_status;
    (*

    The service template version status.

    *)
  10. recommended_minor_version : string option;
    (*

    The recommended minor version of the service template.

    *)
  11. minor_version : string;
    (*

    The minor version of a service template.

    *)
  12. major_version : string;
    (*

    The latest major version that's associated with the version of a service template.

    *)
  13. template_name : string;
    (*

    The name of the version of a service template.

    *)
}

Detailed data of an Proton service template version resource.

type update_service_template_version_output = {
  1. service_template_version : service_template_version;
    (*

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

    *)
}
type compatible_environment_template_input = {
  1. major_version : string;
    (*

    The major version of the compatible environment template.

    *)
  2. template_name : string;
    (*

    The compatible environment template name.

    *)
}

Compatible environment template data.

type update_service_template_version_input = {
  1. supported_component_sources : service_template_supported_component_source_type list option;
    (*

    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.

    *)
  2. compatible_environment_templates : compatible_environment_template_input list option;
    (*

    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.

    *)
  3. status : template_version_status option;
    (*

    The status of the service template minor version to update.

    *)
  4. description : string option;
    (*

    A description of a service template version to update.

    *)
  5. minor_version : string;
    (*

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

    *)
  6. major_version : string;
    (*

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

    *)
  7. template_name : string;
    (*

    The name of the service template.

    *)
}
type provisioning =
  1. | CUSTOMER_MANAGED
type service_template = {
  1. pipeline_provisioning : provisioning option;
    (*

    If pipelineProvisioning is true, a service pipeline is included in the service template. Otherwise, a service pipeline isn't included in the service template.

    *)
  2. encryption_key : string option;
    (*

    The customer provided service template encryption key that's used to encrypt data.

    *)
  3. recommended_version : string option;
    (*

    The recommended version of the service template.

    *)
  4. description : string option;
    (*

    A description of the service template.

    *)
  5. display_name : string option;
    (*

    The service template name as displayed in the developer interface.

    *)
  6. last_modified_at : float;
    (*

    The time when the service template was last modified.

    *)
  7. created_at : float;
    (*

    The time when the service template was created.

    *)
  8. arn : string;
    (*

    The Amazon Resource Name (ARN) of the service template.

    *)
  9. name : string;
    (*

    The name of the service template.

    *)
}

Detailed data of an Proton service template resource.

type update_service_template_output = {
  1. service_template : service_template;
    (*

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

    *)
}
type update_service_template_input = {
  1. description : string option;
    (*

    A description of the service template update.

    *)
  2. display_name : string option;
    (*

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

    *)
  3. name : string;
    (*

    The name of the service template to update.

    *)
}
type service_sync_config = {
  1. file_path : string;
    (*

    The file path to the service sync configuration file.

    *)
  2. branch : string;
    (*

    The name of the code repository branch that holds the service code Proton will sync with.

    *)
  3. repository_name : string;
    (*

    The name of the code repository that holds the service code Proton will sync with.

    *)
  4. repository_provider : repository_provider;
    (*

    The name of the repository provider that holds the repository Proton will sync with.

    *)
  5. service_name : string;
    (*

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

    *)
}

Detailed data of the service sync configuration.

type update_service_sync_config_output = {
  1. service_sync_config : service_sync_config option;
    (*

    The detailed data of the Proton Ops file.

    *)
}
type update_service_sync_config_input = {
  1. file_path : string;
    (*

    The path to the Proton Ops file.

    *)
  2. branch : string;
    (*

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

    *)
  3. repository_name : string;
    (*

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

    *)
  4. repository_provider : repository_provider;
    (*

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

    *)
  5. service_name : string;
    (*

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

    *)
}
type blocker_type =
  1. | AUTOMATED
type blocker_status =
  1. | ACTIVE
  2. | RESOLVED
type sync_blocker_context = {
  1. value : string;
    (*

    The value of the sync blocker context.

    *)
  2. key : string;
    (*

    The key for the sync blocker context.

    *)
}

Detailed data of the context of the sync blocker.

type sync_blocker = {
  1. resolved_at : float option;
    (*

    The time the sync blocker was resolved.

    *)
  2. resolved_reason : string option;
    (*

    The reason the sync blocker was resolved.

    *)
  3. contexts : sync_blocker_context list option;
    (*

    The contexts for the sync blocker.

    *)
  4. created_at : float;
    (*

    The time when the sync blocker was created.

    *)
  5. created_reason : string;
    (*

    The reason why the sync blocker was created.

    *)
  6. status : blocker_status;
    (*

    The status of the sync blocker.

    *)
  7. type_ : blocker_type;
    (*

    The type of the sync blocker.

    *)
  8. id : string;
    (*

    The ID of the sync blocker.

    *)
}

Detailed data of the sync blocker.

type update_service_sync_blocker_output = {
  1. service_sync_blocker : sync_blocker;
    (*

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

    *)
  2. service_instance_name : string option;
    (*

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

    *)
  3. service_name : string;
    (*

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

    *)
}
type update_service_sync_blocker_input = {
  1. resolved_reason : string;
    (*

    The reason the service sync blocker was resolved.

    *)
  2. id : string;
    (*

    The ID of the service sync blocker.

    *)
}
type deployment_status =
  1. | IN_PROGRESS
  2. | FAILED
  3. | SUCCEEDED
  4. | DELETE_IN_PROGRESS
  5. | DELETE_FAILED
  6. | DELETE_COMPLETE
  7. | CANCELLING
  8. | CANCELLED
type service_pipeline = {
  1. last_succeeded_deployment_id : string option;
    (*

    The ID of the last successful deployment of this service pipeline.

    *)
  2. last_attempted_deployment_id : string option;
    (*

    The ID of the last attempted deployment of this service pipeline.

    *)
  3. spec : string option;
    (*

    The service spec that was used to create the service pipeline.

    *)
  4. deployment_status_message : string option;
    (*

    A service pipeline deployment status message.

    *)
  5. deployment_status : deployment_status;
    (*

    The deployment status of the service pipeline.

    *)
  6. template_minor_version : string;
    (*

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

    *)
  7. template_major_version : string;
    (*

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

    *)
  8. template_name : string;
    (*

    The name of the service template that was used to create the service pipeline.

    *)
  9. last_deployment_succeeded_at : float;
    (*

    The time when the service pipeline was last deployed successfully.

    *)
  10. last_deployment_attempted_at : float;
    (*

    The time when a deployment of the service pipeline was last attempted.

    *)
  11. created_at : float;
    (*

    The time when the service pipeline was created.

    *)
  12. arn : string;
    (*

    The Amazon Resource Name (ARN) of the service pipeline.

    *)
}

Detailed data of an Proton service instance pipeline resource.

type update_service_pipeline_output = {
  1. pipeline : service_pipeline;
    (*

    The pipeline details that are returned by Proton.

    *)
}
type deployment_update_type =
  1. | NONE
  2. | CURRENT_VERSION
  3. | MINOR_VERSION
  4. | MAJOR_VERSION
type update_service_pipeline_input = {
  1. template_minor_version : string option;
    (*

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

    *)
  2. template_major_version : string option;
    (*

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

    *)
  3. deployment_type : deployment_update_type;
    (*

    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.

    *)
  4. spec : string;
    (*

    The spec for the service pipeline to update.

    *)
  5. service_name : string;
    (*

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

    *)
}
type service_status =
  1. | CREATE_IN_PROGRESS
  2. | CREATE_FAILED_CLEANUP_IN_PROGRESS
  3. | CREATE_FAILED_CLEANUP_COMPLETE
  4. | CREATE_FAILED_CLEANUP_FAILED
  5. | CREATE_FAILED
  6. | ACTIVE
  7. | DELETE_IN_PROGRESS
  8. | DELETE_FAILED
  9. | UPDATE_IN_PROGRESS
  10. | UPDATE_FAILED_CLEANUP_IN_PROGRESS
  11. | UPDATE_FAILED_CLEANUP_COMPLETE
  12. | UPDATE_FAILED_CLEANUP_FAILED
  13. | UPDATE_FAILED
  14. | UPDATE_COMPLETE_CLEANUP_FAILED
type service = {
  1. branch_name : string option;
    (*

    The name of the code repository branch that holds the code that's deployed in Proton.

    *)
  2. repository_id : string option;
    (*

    The ID of the source code repository.

    *)
  3. repository_connection_arn : string option;
    (*

    The Amazon Resource Name (ARN) of the repository connection. For more information, see Setting up an AWS CodeStar connection in the Proton User Guide.

    *)
  4. pipeline : service_pipeline option;
    (*

    The service pipeline detail data.

    *)
  5. spec : string;
    (*

    The formatted specification that defines the service.

    *)
  6. status_message : string option;
    (*

    A service status message.

    *)
  7. status : service_status;
    (*

    The status of the service.

    *)
  8. last_modified_at : float;
    (*

    The time when the service was last modified.

    *)
  9. created_at : float;
    (*

    The time when the service was created.

    *)
  10. template_name : string;
    (*

    The name of the service template.

    *)
  11. arn : string;
    (*

    The Amazon Resource Name (ARN) of the service.

    *)
  12. description : string option;
    (*

    A description of the service.

    *)
  13. name : string;
    (*

    The name of the service.

    *)
}

Detailed data of an Proton service resource.

type update_service_output = {
  1. service : service;
    (*

    The service detail data that's returned by Proton.

    *)
}
type service_instance = {
  1. last_succeeded_deployment_id : string option;
    (*

    The ID of the last successful deployment of this service instance.

    *)
  2. last_attempted_deployment_id : string option;
    (*

    The ID of the last attempted deployment of this service instance.

    *)
  3. last_client_request_token : string option;
    (*

    The last client request token received.

    *)
  4. spec : string option;
    (*

    The service spec that was used to create the service instance.

    *)
  5. deployment_status_message : string option;
    (*

    The message associated with the service instance deployment status.

    *)
  6. deployment_status : deployment_status;
    (*

    The service instance deployment status.

    *)
  7. template_minor_version : string;
    (*

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

    *)
  8. template_major_version : string;
    (*

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

    *)
  9. template_name : string;
    (*

    The name of the service template that was used to create the service instance.

    *)
  10. environment_name : string;
    (*

    The name of the environment that the service instance was deployed into.

    *)
  11. service_name : string;
    (*

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

    *)
  12. last_deployment_succeeded_at : float;
    (*

    The time when the service instance was last deployed successfully.

    *)
  13. last_deployment_attempted_at : float;
    (*

    The time when a deployment of the service instance was last attempted.

    *)
  14. created_at : float;
    (*

    The time when the service instance was created.

    *)
  15. arn : string;
    (*

    The Amazon Resource Name (ARN) of the service instance.

    *)
  16. name : string;
    (*

    The name of the service instance.

    *)
}

Detailed data of an Proton service instance resource.

type update_service_instance_output = {
  1. service_instance : service_instance;
    (*

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

    *)
}
type update_service_instance_input = {
  1. client_token : string option;
    (*

    The client token of the service instance to update.

    *)
  2. template_minor_version : string option;
    (*

    The minor version of the service template to update.

    *)
  3. template_major_version : string option;
    (*

    The major version of the service template to update.

    *)
  4. spec : string option;
    (*

    The formatted specification that defines the service instance update.

    *)
  5. deployment_type : deployment_update_type;
    (*

    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.

    *)
  6. service_name : string;
    (*

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

    *)
  7. name : string;
    (*

    The name of the service instance to update.

    *)
}
type update_service_input = {
  1. spec : string option;
    (*

    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.

    *)
  2. description : string option;
    (*

    The edited service description.

    *)
  3. name : string;
    (*

    The name of the service to edit.

    *)
}
type service_quota_exceeded_exception = {
  1. message : string;
}

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

type environment_template_version = {
  1. schema : string option;
    (*

    The schema of the version of an environment template.

    *)
  2. last_modified_at : float;
    (*

    The time when the version of an environment template was last modified.

    *)
  3. created_at : float;
    (*

    The time when the version of an environment template was created.

    *)
  4. arn : string;
    (*

    The Amazon Resource Name (ARN) of the version of an environment template.

    *)
  5. description : string option;
    (*

    A description of the minor version of an environment template.

    *)
  6. status_message : string option;
    (*

    The status message of the version of an environment template.

    *)
  7. status : template_version_status;
    (*

    The status of the version of an environment template.

    *)
  8. recommended_minor_version : string option;
    (*

    The recommended minor version of the environment template.

    *)
  9. minor_version : string;
    (*

    The minor version of an environment template.

    *)
  10. major_version : string;
    (*

    The latest major version that's associated with the version of an environment template.

    *)
  11. template_name : string;
    (*

    The name of the version of an environment template.

    *)
}

The environment template version data.

type update_environment_template_version_output = {
  1. environment_template_version : environment_template_version;
    (*

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

    *)
}
type update_environment_template_version_input = {
  1. status : template_version_status option;
    (*

    The status of the environment template minor version to update.

    *)
  2. description : string option;
    (*

    A description of environment template version to update.

    *)
  3. minor_version : string;
    (*

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

    *)
  4. major_version : string;
    (*

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

    *)
  5. template_name : string;
    (*

    The name of the environment template.

    *)
}
type environment_template = {
  1. provisioning : provisioning option;
    (*

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

    *)
  2. encryption_key : string option;
    (*

    The customer provided encryption key for the environment template.

    *)
  3. recommended_version : string option;
    (*

    The ID of the recommended version of the environment template.

    *)
  4. description : string option;
    (*

    A description of the environment template.

    *)
  5. display_name : string option;
    (*

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

    *)
  6. last_modified_at : float;
    (*

    The time when the environment template was last modified.

    *)
  7. created_at : float;
    (*

    The time when the environment template was created.

    *)
  8. arn : string;
    (*

    The Amazon Resource Name (ARN) of the environment template.

    *)
  9. name : string;
    (*

    The name of the environment template.

    *)
}

The environment template data.

type update_environment_template_output = {
  1. environment_template : environment_template;
    (*

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

    *)
}
type update_environment_template_input = {
  1. description : string option;
    (*

    A description of the environment template update.

    *)
  2. display_name : string option;
    (*

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

    *)
  3. name : string;
    (*

    The name of the environment template to update.

    *)
}
type repository_branch = {
  1. branch : string;
    (*

    The repository branch.

    *)
  2. name : string;
    (*

    The repository name.

    *)
  3. provider : repository_provider;
    (*

    The repository provider.

    *)
  4. arn : string;
    (*

    The Amazon Resource Name (ARN) of the linked repository.

    *)
}

Detail data for a linked repository branch.

type environment = {
  1. last_succeeded_deployment_id : string option;
    (*

    The ID of the last successful deployment of this environment.

    *)
  2. last_attempted_deployment_id : string option;
    (*

    The ID of the last attempted deployment of this environment.

    *)
  3. codebuild_role_arn : string option;
    (*

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

    *)
  4. component_role_arn : string option;
    (*

    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.

    *)
  5. provisioning_repository : repository_branch option;
    (*

    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.

    *)
  6. provisioning : provisioning option;
    (*

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

    *)
  7. spec : string option;
    (*

    The environment spec.

    *)
  8. environment_account_id : string option;
    (*

    The ID of the environment account that the environment infrastructure resources are provisioned in.

    *)
  9. environment_account_connection_id : string option;
    (*

    The ID of the environment account connection that's used to provision infrastructure resources in an environment account.

    *)
  10. proton_service_role_arn : string option;
    (*

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

    *)
  11. deployment_status_message : string option;
    (*

    An environment deployment status message.

    *)
  12. deployment_status : deployment_status;
    (*

    The environment deployment status.

    *)
  13. template_minor_version : string;
    (*

    The minor version of the environment template.

    *)
  14. template_major_version : string;
    (*

    The major version of the environment template.

    *)
  15. template_name : string;
    (*

    The Amazon Resource Name (ARN) of the environment template.

    *)
  16. arn : string;
    (*

    The Amazon Resource Name (ARN) of the environment.

    *)
  17. last_deployment_succeeded_at : float;
    (*

    The time when the environment was last deployed successfully.

    *)
  18. last_deployment_attempted_at : float;
    (*

    The time when a deployment of the environment was last attempted.

    *)
  19. created_at : float;
    (*

    The time when the environment was created.

    *)
  20. description : string option;
    (*

    The description of the environment.

    *)
  21. name : string;
    (*

    The name of the environment.

    *)
}

Detailed data of an Proton environment resource. An Proton environment is a set of resources shared across Proton services.

type update_environment_output = {
  1. environment : environment;
    (*

    The environment detail data that's returned by Proton.

    *)
}
type repository_branch_input = {
  1. branch : string;
    (*

    The repository branch.

    *)
  2. name : string;
    (*

    The repository name.

    *)
  3. provider : repository_provider;
    (*

    The repository provider.

    *)
}

Detail input data for a linked repository branch.

type update_environment_input = {
  1. codebuild_role_arn : string option;
    (*

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

    *)
  2. component_role_arn : string option;
    (*

    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.

    *)
  3. provisioning_repository : repository_branch_input option;
    (*

    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.

    *)
  4. environment_account_connection_id : string option;
    (*

    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.

    *)
  5. deployment_type : deployment_update_type;
    (*

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

    *)
  6. proton_service_role_arn : string option;
    (*

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

    *)
  7. template_minor_version : string option;
    (*

    The minor version of the environment to update.

    *)
  8. template_major_version : string option;
    (*

    The major version of the environment to update.

    *)
  9. spec : string option;
    (*

    The formatted specification that defines the update.

    *)
  10. description : string option;
    (*

    A description of the environment update.

    *)
  11. name : string;
    (*

    The name of the environment to update.

    *)
}
type environment_account_connection_status =
  1. | PENDING
  2. | CONNECTED
  3. | REJECTED
type environment_account_connection = {
  1. codebuild_role_arn : string option;
    (*

    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.

    *)
  2. component_role_arn : string option;
    (*

    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.

    *)
  3. status : environment_account_connection_status;
    (*

    The status of the environment account connection.

    *)
  4. last_modified_at : float;
    (*

    The time when the environment account connection was last modified.

    *)
  5. requested_at : float;
    (*

    The time when the environment account connection request was made.

    *)
  6. environment_name : string;
    (*

    The name of the environment that's associated with the environment account connection.

    *)
  7. role_arn : string;
    (*

    The IAM service role that's associated with the environment account connection.

    *)
  8. environment_account_id : string;
    (*

    The environment account that's connected to the environment account connection.

    *)
  9. management_account_id : string;
    (*

    The ID of the management account that's connected to the environment account connection.

    *)
  10. arn : string;
    (*

    The Amazon Resource Name (ARN) of the environment account connection.

    *)
  11. id : string;
    (*

    The ID of the environment account connection.

    *)
}

Detailed data of an Proton environment account connection resource.

type update_environment_account_connection_output = {
  1. environment_account_connection : environment_account_connection;
    (*

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

    *)
}
type update_environment_account_connection_input = {
  1. codebuild_role_arn : string option;
    (*

    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.

    *)
  2. component_role_arn : string option;
    (*

    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.

    *)
  3. role_arn : string option;
    (*

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

    *)
  4. id : string;
    (*

    The ID of the environment account connection to update.

    *)
}
type component = {
  1. last_succeeded_deployment_id : string option;
    (*

    The ID of the last successful deployment of this component.

    *)
  2. last_attempted_deployment_id : string option;
    (*

    The ID of the last attempted deployment of this component.

    *)
  3. last_client_request_token : string option;
    (*

    The last token the client requested.

    *)
  4. service_spec : string option;
    (*

    The service spec that the component uses to access service inputs. Provided when a component is attached to a service instance.

    *)
  5. deployment_status_message : string option;
    (*

    The message associated with the component deployment status.

    *)
  6. deployment_status : deployment_status;
    (*

    The component deployment status.

    *)
  7. last_deployment_succeeded_at : float option;
    (*

    The time when the component was last deployed successfully.

    *)
  8. last_deployment_attempted_at : float option;
    (*

    The time when a deployment of the component was last attempted.

    *)
  9. last_modified_at : float;
    (*

    The time when the component was last modified.

    *)
  10. created_at : float;
    (*

    The time when the component was created.

    *)
  11. service_instance_name : string option;
    (*

    The name of the service instance that this component is attached to. Provided when a component is attached to a service instance.

    *)
  12. service_name : string option;
    (*

    The name of the service that serviceInstanceName is associated with. Provided when a component is attached to a service instance.

    *)
  13. environment_name : string;
    (*

    The name of the Proton environment that this component is associated with.

    *)
  14. arn : string;
    (*

    The Amazon Resource Name (ARN) of the component.

    *)
  15. description : string option;
    (*

    A description of the component.

    *)
  16. name : string;
    (*

    The name of the component.

    *)
}

Detailed data of an Proton component resource.

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

type update_component_output = {
  1. component : component;
    (*

    The detailed data of the updated component.

    *)
}
type component_deployment_update_type =
  1. | NONE
  2. | CURRENT_VERSION
type update_component_input = {
  1. client_token : string option;
    (*

    The client token for the updated component.

    *)
  2. template_file : string option;
    (*

    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.

    *)
  3. service_spec : string option;
    (*

    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.

    *)
  4. service_instance_name : string option;
    (*

    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.

    *)
  5. service_name : string option;
    (*

    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.

    *)
  6. description : string option;
    (*

    An optional customer-provided description of the component.

    *)
  7. deployment_type : component_deployment_update_type;
    (*

    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.

    *)
  8. name : string;
    (*

    The name of the component to update.

    *)
}
type account_settings = {
  1. pipeline_codebuild_role_arn : string option;
    (*

    The Amazon Resource Name (ARN) of the service role that Proton uses for provisioning pipelines. Proton assumes this role for CodeBuild-based provisioning.

    *)
  2. pipeline_provisioning_repository : repository_branch option;
    (*

    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.

    *)
  3. pipeline_service_role_arn : string option;
    (*

    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.

    *)
}

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

type update_account_settings_output = {
  1. account_settings : account_settings;
    (*

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

    *)
}
type update_account_settings_input = {
  1. pipeline_codebuild_role_arn : string option;
    (*

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

    *)
  2. delete_pipeline_provisioning_repository : bool option;
    (*

    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.

    *)
  3. pipeline_provisioning_repository : repository_branch_input option;
    (*

    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.

    *)
  4. pipeline_service_role_arn : string option;
    (*

    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.

    *)
}
type untag_resource_output = unit
type untag_resource_input = {
  1. tag_keys : string list;
    (*

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

    *)
  2. resource_arn : string;
    (*

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

    *)
}
type s3_object_source = {
  1. key : string;
    (*

    The path to the S3 bucket that contains a template bundle.

    *)
  2. bucket : string;
    (*

    The name of the S3 bucket that contains a template bundle.

    *)
}

Template bundle S3 bucket data.

type template_version_source_input =
  1. | S3 of s3_object_source

Template version source data.

type tag_resource_output = unit
type tag = {
  1. value : string;
    (*

    The value of the resource tag.

    *)
  2. key : string;
    (*

    The key of the resource tag.

    *)
}

A description of a resource tag.

type tag_resource_input = {
  1. tags : tag list;
    (*

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

    *)
  2. resource_arn : string;
    (*

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

    *)
}
type sync_type =
  1. | TEMPLATE_SYNC
  2. | SERVICE_SYNC
type sort_order =
  1. | ASCENDING
  2. | DESCENDING
type service_template_version_summary = {
  1. last_modified_at : float;
    (*

    The time when the version of a service template was last modified.

    *)
  2. created_at : float;
    (*

    The time when the version of a service template was created.

    *)
  3. arn : string;
    (*

    The Amazon Resource Name (ARN) of the version of a service template.

    *)
  4. description : string option;
    (*

    A description of the version of a service template.

    *)
  5. status_message : string option;
    (*

    A service template minor version status message.

    *)
  6. status : template_version_status;
    (*

    The service template minor version status.

    *)
  7. recommended_minor_version : string option;
    (*

    The recommended minor version of the service template.

    *)
  8. minor_version : string;
    (*

    The minor version of a service template.

    *)
  9. major_version : string;
    (*

    The latest major version that's associated with the version of a service template.

    *)
  10. template_name : string;
    (*

    The name of the service template.

    *)
}

Summary data of an Proton service template version resource.

type service_template_summary = {
  1. pipeline_provisioning : provisioning option;
    (*

    If pipelineProvisioning is true, a service pipeline is included in the service template, otherwise a service pipeline isn't included in the service template.

    *)
  2. recommended_version : string option;
    (*

    The recommended version of the service template.

    *)
  3. description : string option;
    (*

    A description of the service template.

    *)
  4. display_name : string option;
    (*

    The service template name as displayed in the developer interface.

    *)
  5. last_modified_at : float;
    (*

    The time when the service template was last modified.

    *)
  6. created_at : float;
    (*

    The time when the service template was created.

    *)
  7. arn : string;
    (*

    The Amazon Resource Name (ARN) of the service template.

    *)
  8. name : string;
    (*

    The name of the service template.

    *)
}

Summary data of an Proton service template resource.

type service_sync_blocker_summary = {
  1. latest_blockers : sync_blocker list option;
    (*

    The latest active blockers for the synced service.

    *)
  2. service_instance_name : string option;
    (*

    The name of the service instance that you want sync your service configuration with.

    *)
  3. service_name : 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.

    *)
}

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.

type service_summary = {
  1. status_message : string option;
    (*

    A service status message.

    *)
  2. status : service_status;
    (*

    The status of the service.

    *)
  3. last_modified_at : float;
    (*

    The time when the service was last modified.

    *)
  4. created_at : float;
    (*

    The time when the service was created.

    *)
  5. template_name : string;
    (*

    The name of the service template.

    *)
  6. arn : string;
    (*

    The Amazon Resource Name (ARN) of the service.

    *)
  7. description : string option;
    (*

    A description of the service.

    *)
  8. name : string;
    (*

    The name of the service.

    *)
}

Summary data of an Proton service resource.

type service_pipeline_state = {
  1. template_minor_version : string;
    (*

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

    *)
  2. template_major_version : string;
    (*

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

    *)
  3. template_name : string;
    (*

    The name of the service template that was used to create the service pipeline.

    *)
  4. spec : string option;
    (*

    The service spec that was used to create the service pipeline.

    *)
}

The detailed data about the current state of the service pipeline.

type service_instance_summary = {
  1. last_succeeded_deployment_id : string option;
    (*

    The ID of the last successful deployment of this service instance.

    *)
  2. last_attempted_deployment_id : string option;
    (*

    The ID of the last attempted deployment of this service instance.

    *)
  3. deployment_status_message : string option;
    (*

    A service instance deployment status message.

    *)
  4. deployment_status : deployment_status;
    (*

    The service instance deployment status.

    *)
  5. template_minor_version : string;
    (*

    The service instance template minor version.

    *)
  6. template_major_version : string;
    (*

    The service instance template major version.

    *)
  7. template_name : string;
    (*

    The name of the service template.

    *)
  8. environment_name : string;
    (*

    The name of the environment that the service instance was deployed into.

    *)
  9. service_name : string;
    (*

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

    *)
  10. last_deployment_succeeded_at : float;
    (*

    The time when the service was last deployed successfully.

    *)
  11. last_deployment_attempted_at : float;
    (*

    The time when a deployment of the service was last attempted.

    *)
  12. created_at : float;
    (*

    The time when the service instance was created.

    *)
  13. arn : string;
    (*

    The Amazon Resource Name (ARN) of the service instance.

    *)
  14. name : string;
    (*

    The name of the service instance.

    *)
}

Summary data of an Proton service instance resource.

type service_instance_state = {
  1. last_successful_service_pipeline_deployment_id : string option;
    (*

    The ID for the last successful service pipeline deployed for this service instance.

    *)
  2. last_successful_environment_deployment_id : string option;
    (*

    The ID for the last successful environment deployed for this service instance.

    *)
  3. last_successful_component_deployment_ids : string list option;
    (*

    The IDs for the last successful components deployed for this service instance.

    *)
  4. template_minor_version : string;
    (*

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

    *)
  5. template_major_version : string;
    (*

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

    *)
  6. template_name : string;
    (*

    The name of the service template that was used to create the service instance.

    *)
  7. spec : string;
    (*

    The service spec that was used to create the service instance.

    *)
}

The detailed data about the current state of this service instance.

type revision = {
  1. branch : string;
    (*

    The repository branch.

    *)
  2. directory : string;
    (*

    The repository directory changed by a commit and push that activated the sync attempt.

    *)
  3. sha : string;
    (*

    The secure hash algorithm (SHA) hash for the revision.

    *)
  4. repository_provider : repository_provider;
    (*

    The repository provider.

    *)
  5. repository_name : string;
    (*

    The repository name.

    *)
}

Revision detail data for a commit and push that activates a sync attempt

type resource_sync_status =
  1. | INITIATED
  2. | IN_PROGRESS
  3. | SUCCEEDED
  4. | FAILED
type resource_sync_event = {
  1. event : string;
    (*

    A resource sync event.

    *)
  2. time : float;
    (*

    The time when the event occurred.

    *)
  3. external_id : string option;
    (*

    The external ID for the event.

    *)
  4. type_ : string;
    (*

    The type of event.

    *)
}

Detail data for a resource sync event.

type resource_sync_attempt = {
  1. events : resource_sync_event list;
    (*

    An array of events with detail data.

    *)
  2. status : resource_sync_status;
    (*

    The status of the sync attempt.

    *)
  3. started_at : float;
    (*

    The time when the sync attempt started.

    *)
  4. target : string;
    (*

    The resource that is synced to.

    *)
  5. target_revision : revision;
    (*

    Detail data for the target revision.

    *)
  6. initial_revision : revision;
    (*

    Detail data for the initial repository commit, path and push.

    *)
}

Detail data for a resource sync attempt activated by a push to a repository.

type resource_deployment_status =
  1. | IN_PROGRESS
  2. | FAILED
  3. | SUCCEEDED
type resource_counts_summary = {
  1. behind_minor : int option;
    (*

    The number of resources of this type in the Amazon Web Services account that need a minor template version update.

    *)
  2. behind_major : int option;
    (*

    The number of resources of this type in the Amazon Web Services account that need a major template version update.

    *)
  3. up_to_date : int option;
    (*

    The number of resources of this type in the Amazon Web Services account that are up-to-date with their template.

    *)
  4. failed : int option;
    (*

    The number of resources of this type in the Amazon Web Services account that failed to deploy.

    *)
  5. total : int;
    (*

    The total number of resources of this type in the Amazon Web Services account.

    *)
}

Summary counts of each Proton resource types.

type repository_sync_status =
  1. | INITIATED
  2. | IN_PROGRESS
  3. | SUCCEEDED
  4. | FAILED
  5. | QUEUED
type repository_sync_event = {
  1. event : string;
    (*

    Event detail for a repository sync attempt.

    *)
  2. time : float;
    (*

    The time that the sync event occurred.

    *)
  3. external_id : string option;
    (*

    The external ID of the sync event.

    *)
  4. type_ : string;
    (*

    The type of event.

    *)
}

Repository sync event detail data for a sync attempt.

type repository_sync_definition = {
  1. directory : string;
    (*

    The directory in the repository.

    *)
  2. branch : string;
    (*

    The repository branch.

    *)
  3. parent : string;
    (*

    The resource that is synced from.

    *)
  4. target : string;
    (*

    The resource that is synced to.

    *)
}

A repository sync definition.

type repository_sync_attempt = {
  1. events : repository_sync_event list;
    (*

    Detail data for sync attempt events.

    *)
  2. status : repository_sync_status;
    (*

    The sync attempt status.

    *)
  3. started_at : float;
    (*

    The time when the sync attempt started.

    *)
}

Detail data for a repository sync attempt activated by a push to a repository.

type repository_summary = {
  1. connection_arn : string;
    (*

    The Amazon Resource Name (ARN) of the of your connection that connects Proton to your repository.

    *)
  2. name : string;
    (*

    The repository name.

    *)
  3. provider : repository_provider;
    (*

    The repository provider.

    *)
  4. arn : string;
    (*

    The Amazon Resource Name (ARN) of the linked repository.

    *)
}

Summary data of a linked repository—a repository that has been registered with Proton.

type repository = {
  1. encryption_key : string option;
    (*

    Your customer Amazon Web Services KMS encryption key.

    *)
  2. connection_arn : string;
    (*

    The Amazon Resource Name (ARN) of your AWS CodeStar connection that connects Proton to your repository provider account.

    *)
  3. name : string;
    (*

    The repository name.

    *)
  4. provider : repository_provider;
    (*

    The repository provider.

    *)
  5. arn : string;
    (*

    The Amazon Resource Name (ARN) of the linked repository.

    *)
}

Detailed data of a linked repository—a repository that has been registered with Proton.

type reject_environment_account_connection_output = {
  1. environment_account_connection : environment_account_connection;
    (*

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

    *)
}
type reject_environment_account_connection_input = {
  1. id : string;
    (*

    The ID of the environment account connection to reject.

    *)
}
type provisioned_resource_engine =
  1. | CLOUDFORMATION
  2. | TERRAFORM
type provisioned_resource = {
  1. provisioning_engine : provisioned_resource_engine option;
    (*

    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.

    *)
  2. identifier : string option;
    (*

    The provisioned resource identifier.

    *)
  3. name : string option;
    (*

    The provisioned resource name.

    *)
}

Detail data for a provisioned resource.

type output = {
  1. value_string : string option;
    (*

    The output value.

    *)
  2. key : string option;
    (*

    The output key.

    *)
}

An infrastructure as code defined resource output.

type notify_resource_deployment_status_change_output = unit
type notify_resource_deployment_status_change_input = {
  1. status_message : string option;
    (*

    The deployment status message for your provisioned resource.

    *)
  2. deployment_id : string option;
    (*

    The deployment ID for your provisioned resource.

    *)
  3. outputs : output list option;
    (*

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

    *)
  4. status : resource_deployment_status option;
    (*

    The status of your provisioned resource.

    *)
  5. resource_arn : string;
    (*

    The provisioned resource Amazon Resource Name (ARN).

    *)
}
type list_tags_for_resource_output = {
  1. next_token : string option;
    (*

    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.

    *)
  2. tags : tag list;
    (*

    A list of resource tags with detail data.

    *)
}
type list_tags_for_resource_input = {
  1. max_results : int option;
    (*

    The maximum number of tags to list.

    *)
  2. next_token : string option;
    (*

    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.

    *)
  3. resource_arn : string;
    (*

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

    *)
}
type list_services_output = {
  1. services : service_summary list;
    (*

    An array of services with summaries of detail data.

    *)
  2. next_token : string option;
    (*

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

    *)
}
type list_services_input = {
  1. max_results : int option;
    (*

    The maximum number of services to list.

    *)
  2. next_token : string option;
    (*

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

    *)
}
type list_service_templates_output = {
  1. templates : service_template_summary list;
    (*

    An array of service templates with detail data.

    *)
  2. next_token : string option;
    (*

    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.

    *)
}
type list_service_templates_input = {
  1. max_results : int option;
    (*

    The maximum number of service templates to list.

    *)
  2. next_token : string option;
    (*

    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.

    *)
}
type list_service_template_versions_output = {
  1. template_versions : service_template_version_summary list;
    (*

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

    *)
  2. next_token : string option;
    (*

    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.

    *)
}
type list_service_template_versions_input = {
  1. major_version : string option;
    (*

    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.

    *)
  2. template_name : string;
    (*

    The name of the service template.

    *)
  3. max_results : int option;
    (*

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

    *)
  4. next_token : string option;
    (*

    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.

    *)
}
type list_service_pipeline_provisioned_resources_output = {
  1. provisioned_resources : provisioned_resource list;
    (*

    An array of provisioned resources for a service and pipeline.

    *)
  2. next_token : string option;
    (*

    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.

    *)
}
type list_service_pipeline_provisioned_resources_input = {
  1. next_token : string option;
    (*

    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.

    *)
  2. service_name : string;
    (*

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

    *)
}
type list_service_pipeline_outputs_output = {
  1. outputs : output list;
    (*

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

    *)
  2. next_token : string option;
    (*

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

    *)
}
type list_service_pipeline_outputs_input = {
  1. deployment_id : string option;
    (*

    The ID of the deployment you want the outputs for.

    *)
  2. next_token : string option;
    (*

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

    *)
  3. service_name : string;
    (*

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

    *)
}
type list_service_instances_sort_by =
  1. | NAME
  2. | DEPLOYMENT_STATUS
  3. | TEMPLATE_NAME
  4. | SERVICE_NAME
  5. | ENVIRONMENT_NAME
  6. | LAST_DEPLOYMENT_ATTEMPTED_AT
  7. | CREATED_AT
type list_service_instances_output = {
  1. service_instances : service_instance_summary list;
    (*

    An array of service instances with summary data.

    *)
  2. next_token : string option;
    (*

    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.

    *)
}
type list_service_instances_filter_by =
  1. | NAME
  2. | DEPLOYMENT_STATUS
  3. | TEMPLATE_NAME
  4. | SERVICE_NAME
  5. | DEPLOYED_TEMPLATE_VERSION_STATUS
  6. | ENVIRONMENT_NAME
  7. | LAST_DEPLOYMENT_ATTEMPTED_AT_BEFORE
  8. | LAST_DEPLOYMENT_ATTEMPTED_AT_AFTER
  9. | CREATED_AT_BEFORE
  10. | CREATED_AT_AFTER
type list_service_instances_filter = {
  1. value : string option;
    (*

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

    *)
  2. key : list_service_instances_filter_by option;
    (*

    The name of a filtering criterion.

    *)
}

A filtering criterion to scope down the result list of the ListServiceInstances action.

type list_service_instances_input = {
  1. sort_order : sort_order option;
    (*

    Result list sort order.

    Default: ASCENDING

    *)
  2. sort_by : list_service_instances_sort_by option;
    (*

    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

    *)
  3. filters : list_service_instances_filter list option;
    (*

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

    *)
  4. max_results : int option;
    (*

    The maximum number of service instances to list.

    *)
  5. next_token : string option;
    (*

    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.

    *)
  6. service_name : string option;
    (*

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

    *)
}
type list_service_instance_provisioned_resources_output = {
  1. provisioned_resources : provisioned_resource list;
    (*

    An array of provisioned resources for a service instance.

    *)
  2. next_token : string option;
    (*

    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.

    *)
}
type list_service_instance_provisioned_resources_input = {
  1. next_token : string option;
    (*

    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.

    *)
  2. service_instance_name : string;
    (*

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

    *)
  3. service_name : string;
    (*

    The name of the service that serviceInstanceName is associated to.

    *)
}
type list_service_instance_outputs_output = {
  1. outputs : output list;
    (*

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

    *)
  2. next_token : string option;
    (*

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

    *)
}
type list_service_instance_outputs_input = {
  1. deployment_id : string option;
    (*

    The ID of the deployment whose outputs you want.

    *)
  2. next_token : string option;
    (*

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

    *)
  3. service_name : string;
    (*

    The name of the service that serviceInstanceName is associated to.

    *)
  4. service_instance_name : string;
    (*

    The name of the service instance whose outputs you want.

    *)
}
type list_repository_sync_definitions_output = {
  1. sync_definitions : repository_sync_definition list;
    (*

    An array of repository sync definitions.

    *)
  2. next_token : string option;
    (*

    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.

    *)
}
type list_repository_sync_definitions_input = {
  1. next_token : string option;
    (*

    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.

    *)
  2. sync_type : sync_type;
    (*

    The sync type. The only supported value is TEMPLATE_SYNC.

    *)
  3. repository_provider : repository_provider;
    (*

    The repository provider.

    *)
  4. repository_name : string;
    (*

    The repository name.

    *)
}
type list_repositories_output = {
  1. repositories : repository_summary list;
    (*

    An array of repository links.

    *)
  2. next_token : string option;
    (*

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

    *)
}
type list_repositories_input = {
  1. max_results : int option;
    (*

    The maximum number of repositories to list.

    *)
  2. next_token : string option;
    (*

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

    *)
}
type environment_summary = {
  1. last_succeeded_deployment_id : string option;
    (*

    The ID of the last successful deployment of this environment.

    *)
  2. last_attempted_deployment_id : string option;
    (*

    The ID of the last attempted deployment of this environment.

    *)
  3. component_role_arn : string option;
    (*

    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.

    *)
  4. provisioning : provisioning option;
    (*

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

    *)
  5. environment_account_id : string option;
    (*

    The ID of the environment account that the environment infrastructure resources are provisioned in.

    *)
  6. environment_account_connection_id : string option;
    (*

    The ID of the environment account connection that the environment is associated with.

    *)
  7. proton_service_role_arn : string option;
    (*

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

    *)
  8. deployment_status_message : string option;
    (*

    An environment deployment status message.

    *)
  9. deployment_status : deployment_status;
    (*

    The environment deployment status.

    *)
  10. template_minor_version : string;
    (*

    The minor version of the environment template.

    *)
  11. template_major_version : string;
    (*

    The major version of the environment template.

    *)
  12. template_name : string;
    (*

    The name of the environment template.

    *)
  13. arn : string;
    (*

    The Amazon Resource Name (ARN) of the environment.

    *)
  14. last_deployment_succeeded_at : float;
    (*

    The time when the environment was last deployed successfully.

    *)
  15. last_deployment_attempted_at : float;
    (*

    The time when a deployment of the environment was last attempted.

    *)
  16. created_at : float;
    (*

    The time when the environment was created.

    *)
  17. description : string option;
    (*

    The description of the environment.

    *)
  18. name : string;
    (*

    The name of the environment.

    *)
}

Summary data of an Proton environment resource. An Proton environment is a set of resources shared across Proton services.

type list_environments_output = {
  1. environments : environment_summary list;
    (*

    An array of environment detail data summaries.

    *)
  2. next_token : string option;
    (*

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

    *)
}
type environment_template_filter = {
  1. major_version : string;
    (*

    Include majorVersion to filter search for a major version.

    *)
  2. template_name : string;
    (*

    Include templateName to filter search for a template name.

    *)
}

A search filter for environment templates.

type list_environments_input = {
  1. environment_templates : environment_template_filter list option;
    (*

    An array of the versions of the environment template.

    *)
  2. max_results : int option;
    (*

    The maximum number of environments to list.

    *)
  3. next_token : string option;
    (*

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

    *)
}
type environment_template_summary = {
  1. provisioning : provisioning option;
    (*

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

    *)
  2. recommended_version : string option;
    (*

    The recommended version of the environment template.

    *)
  3. description : string option;
    (*

    A description of the environment template.

    *)
  4. display_name : string option;
    (*

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

    *)
  5. last_modified_at : float;
    (*

    The time when the environment template was last modified.

    *)
  6. created_at : float;
    (*

    The time when the environment template was created.

    *)
  7. arn : string;
    (*

    The Amazon Resource Name (ARN) of the environment template.

    *)
  8. name : string;
    (*

    The name of the environment template.

    *)
}

The environment template data.

type list_environment_templates_output = {
  1. templates : environment_template_summary list;
    (*

    An array of environment templates with detail data.

    *)
  2. next_token : string option;
    (*

    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.

    *)
}
type list_environment_templates_input = {
  1. max_results : int option;
    (*

    The maximum number of environment templates to list.

    *)
  2. next_token : string option;
    (*

    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.

    *)
}
type environment_template_version_summary = {
  1. last_modified_at : float;
    (*

    The time when the version of an environment template was last modified.

    *)
  2. created_at : float;
    (*

    The time when the version of an environment template was created.

    *)
  3. arn : string;
    (*

    The Amazon Resource Name (ARN) of the version of an environment template.

    *)
  4. description : string option;
    (*

    A description of the version of an environment template.

    *)
  5. status_message : string option;
    (*

    The status message of the version of an environment template.

    *)
  6. status : template_version_status;
    (*

    The status of the version of an environment template.

    *)
  7. recommended_minor_version : string option;
    (*

    The recommended minor version of the environment template.

    *)
  8. minor_version : string;
    (*

    The version of an environment template.

    *)
  9. major_version : string;
    (*

    The latest major version that's associated with the version of an environment template.

    *)
  10. template_name : string;
    (*

    The name of the environment template.

    *)
}

A summary of the version of an environment template detail data.

type list_environment_template_versions_output = {
  1. template_versions : environment_template_version_summary list;
    (*

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

    *)
  2. next_token : string option;
    (*

    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.

    *)
}
type list_environment_template_versions_input = {
  1. major_version : string option;
    (*

    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.

    *)
  2. template_name : string;
    (*

    The name of the environment template.

    *)
  3. max_results : int option;
    (*

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

    *)
  4. next_token : string option;
    (*

    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.

    *)
}
type list_environment_provisioned_resources_output = {
  1. provisioned_resources : provisioned_resource list;
    (*

    An array of environment provisioned resources.

    *)
  2. next_token : string option;
    (*

    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.

    *)
}
type list_environment_provisioned_resources_input = {
  1. next_token : string option;
    (*

    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.

    *)
  2. environment_name : string;
    (*

    The environment name.

    *)
}
type list_environment_outputs_output = {
  1. outputs : output list;
    (*

    An array of environment outputs with detail data.

    *)
  2. next_token : string option;
    (*

    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.

    *)
}
type list_environment_outputs_input = {
  1. deployment_id : string option;
    (*

    The ID of the deployment whose outputs you want.

    *)
  2. next_token : string option;
    (*

    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.

    *)
  3. environment_name : string;
    (*

    The environment name.

    *)
}
type environment_account_connection_summary = {
  1. component_role_arn : string option;
    (*

    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.

    *)
  2. status : environment_account_connection_status;
    (*

    The status of the environment account connection.

    *)
  3. last_modified_at : float;
    (*

    The time when the environment account connection was last modified.

    *)
  4. requested_at : float;
    (*

    The time when the environment account connection request was made.

    *)
  5. environment_name : string;
    (*

    The name of the environment that's associated with the environment account connection.

    *)
  6. role_arn : string;
    (*

    The IAM service role that's associated with the environment account connection.

    *)
  7. environment_account_id : string;
    (*

    The ID of the environment account that's connected to the environment account connection.

    *)
  8. management_account_id : string;
    (*

    The ID of the management account that's connected to the environment account connection.

    *)
  9. arn : string;
    (*

    The Amazon Resource Name (ARN) of the environment account connection.

    *)
  10. id : string;
    (*

    The ID of the environment account connection.

    *)
}

Summary data of an Proton environment account connection resource.

type list_environment_account_connections_output = {
  1. next_token : string option;
    (*

    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.

    *)
  2. environment_account_connections : environment_account_connection_summary list;
    (*

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

    *)
}
type environment_account_connection_requester_account_type =
  1. | MANAGEMENT_ACCOUNT
  2. | ENVIRONMENT_ACCOUNT
type list_environment_account_connections_input = {
  1. max_results : int option;
    (*

    The maximum number of environment account connections to list.

    *)
  2. next_token : string option;
    (*

    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.

    *)
  3. statuses : environment_account_connection_status list option;
    (*

    The status details for each listed environment account connection.

    *)
  4. environment_name : string option;
    (*

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

    *)
  5. requested_by : environment_account_connection_requester_account_type;
    (*

    The type of account making the ListEnvironmentAccountConnections request.

    *)
}
type deployment_target_resource_type =
  1. | ENVIRONMENT
  2. | SERVICE_PIPELINE
  3. | SERVICE_INSTANCE
  4. | COMPONENT
type deployment_summary = {
  1. deployment_status : deployment_status;
    (*

    The current status of the deployment.

    *)
  2. last_succeeded_deployment_id : string option;
    (*

    The ID of the last successful deployment.

    *)
  3. last_attempted_deployment_id : string option;
    (*

    The ID of the last attempted deployment.

    *)
  4. component_name : string option;
    (*

    The name of the component associated with the deployment.

    *)
  5. service_instance_name : string option;
    (*

    The name of the service instance associated with the deployment.

    *)
  6. service_name : string option;
    (*

    The name of the service associated with the deployment.

    *)
  7. environment_name : string;
    (*

    The name of the environment associated with the deployment.

    *)
  8. completed_at : float option;
    (*

    The date and time the deployment was completed.

    *)
  9. last_modified_at : float;
    (*

    The date and time the deployment was last modified.

    *)
  10. created_at : float;
    (*

    The date and time the deployment was created.

    *)
  11. target_resource_type : deployment_target_resource_type;
    (*

    The resource type of the deployment target. It can be an environment, service, service instance, or component.

    *)
  12. target_resource_created_at : float;
    (*

    The date and time the target resource was created.

    *)
  13. target_arn : string;
    (*

    The Amazon Resource Name (ARN) of the target of the deployment.

    *)
  14. arn : string;
    (*

    The Amazon Resource Name (ARN) of the deployment.

    *)
  15. id : string;
    (*

    The ID of the deployment.

    *)
}

Summary data of the deployment.

type list_deployments_output = {
  1. deployments : deployment_summary list;
    (*

    An array of deployment with summary data.

    *)
  2. next_token : string option;
    (*

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

    *)
}
type list_deployments_input = {
  1. max_results : int option;
    (*

    The maximum number of deployments to list.

    *)
  2. component_name : string option;
    (*

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

    *)
  3. service_instance_name : string option;
    (*

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

    *)
  4. service_name : string option;
    (*

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

    *)
  5. environment_name : string option;
    (*

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

    *)
  6. next_token : string option;
    (*

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

    *)
}
type component_summary = {
  1. last_succeeded_deployment_id : string option;
    (*

    The ID of the last successful deployment of this component.

    *)
  2. last_attempted_deployment_id : string option;
    (*

    The ID of the last attempted deployment of this component.

    *)
  3. deployment_status_message : string option;
    (*

    The message associated with the component deployment status.

    *)
  4. deployment_status : deployment_status;
    (*

    The component deployment status.

    *)
  5. last_deployment_succeeded_at : float option;
    (*

    The time when the component was last deployed successfully.

    *)
  6. last_deployment_attempted_at : float option;
    (*

    The time when a deployment of the component was last attempted.

    *)
  7. last_modified_at : float;
    (*

    The time when the component was last modified.

    *)
  8. created_at : float;
    (*

    The time when the component was created.

    *)
  9. service_instance_name : string option;
    (*

    The name of the service instance that this component is attached to. Provided when a component is attached to a service instance.

    *)
  10. service_name : string option;
    (*

    The name of the service that serviceInstanceName is associated with. Provided when a component is attached to a service instance.

    *)
  11. environment_name : string;
    (*

    The name of the Proton environment that this component is associated with.

    *)
  12. arn : string;
    (*

    The Amazon Resource Name (ARN) of the component.

    *)
  13. name : string;
    (*

    The name of the component.

    *)
}

Summary data of an Proton component resource.

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

type list_components_output = {
  1. components : component_summary list;
    (*

    An array of components with summary data.

    *)
  2. next_token : string option;
    (*

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

    *)
}
type list_components_input = {
  1. max_results : int option;
    (*

    The maximum number of components to list.

    *)
  2. service_instance_name : string option;
    (*

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

    *)
  3. service_name : string option;
    (*

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

    *)
  4. environment_name : string option;
    (*

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

    *)
  5. next_token : string option;
    (*

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

    *)
}
type list_component_provisioned_resources_output = {
  1. provisioned_resources : provisioned_resource list;
    (*

    An array of provisioned resources for a component.

    *)
  2. next_token : string option;
    (*

    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.

    *)
}
type list_component_provisioned_resources_input = {
  1. next_token : string option;
    (*

    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.

    *)
  2. component_name : string;
    (*

    The name of the component whose provisioned resources you want.

    *)
}
type list_component_outputs_output = {
  1. outputs : output list;
    (*

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

    *)
  2. next_token : string option;
    (*

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

    *)
}
type list_component_outputs_input = {
  1. deployment_id : string option;
    (*

    The ID of the deployment whose outputs you want.

    *)
  2. next_token : string option;
    (*

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

    *)
  3. component_name : string;
    (*

    The name of the component whose outputs you want.

    *)
}
type get_template_sync_status_output = {
  1. desired_state : revision option;
    (*

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

    *)
  2. latest_successful_sync : resource_sync_attempt option;
    (*

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

    *)
  3. latest_sync : resource_sync_attempt option;
    (*

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

    *)
}
type get_template_sync_status_input = {
  1. template_version : string;
    (*

    The template major version.

    *)
  2. template_type : template_type;
    (*

    The template type.

    *)
  3. template_name : string;
    (*

    The template name.

    *)
}
type get_template_sync_config_output = {
  1. template_sync_config : template_sync_config option;
    (*

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

    *)
}
type get_template_sync_config_input = {
  1. template_type : template_type;
    (*

    The template type.

    *)
  2. template_name : string;
    (*

    The template name.

    *)
}
type get_service_template_version_output = {
  1. service_template_version : service_template_version;
    (*

    The detailed data of the requested service template version.

    *)
}
type get_service_template_version_input = {
  1. minor_version : string;
    (*

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

    *)
  2. major_version : string;
    (*

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

    *)
  3. template_name : string;
    (*

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

    *)
}
type get_service_template_output = {
  1. service_template : service_template;
    (*

    The detailed data of the requested service template.

    *)
}
type get_service_template_input = {
  1. name : string;
    (*

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

    *)
}
type get_service_sync_config_output = {
  1. service_sync_config : service_sync_config option;
    (*

    The detailed data of the requested service sync configuration.

    *)
}
type get_service_sync_config_input = {
  1. service_name : string;
    (*

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

    *)
}
type get_service_sync_blocker_summary_output = {
  1. service_sync_blocker_summary : service_sync_blocker_summary option;
    (*

    The detailed data of the requested service sync blocker summary.

    *)
}
type get_service_sync_blocker_summary_input = {
  1. service_instance_name : string option;
    (*

    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.

    *)
  2. service_name : 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.

    *)
}
type get_service_output = {
  1. service : service option;
    (*

    The detailed data of the requested service.

    *)
}
type get_service_instance_sync_status_output = {
  1. desired_state : revision option;
    (*

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

    *)
  2. latest_successful_sync : resource_sync_attempt option;
    (*

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

    *)
  3. latest_sync : resource_sync_attempt option;
    (*

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

    *)
}
type get_service_instance_sync_status_input = {
  1. service_instance_name : string;
    (*

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

    *)
  2. service_name : string;
    (*

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

    *)
}
type get_service_instance_output = {
  1. service_instance : service_instance;
    (*

    The detailed data of the requested service instance.

    *)
}
type get_service_instance_input = {
  1. service_name : string;
    (*

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

    *)
  2. name : string;
    (*

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

    *)
}
type get_service_input = {
  1. name : string;
    (*

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

    *)
}
type counts_summary = {
  1. pipelines : resource_counts_summary option;
    (*

    The staleness counts for Proton pipelines in the Amazon Web Services account.

    *)
  2. service_templates : resource_counts_summary option;
    (*

    The total number of service templates in the Amazon Web Services account. The serviceTemplates object will only contain total members.

    *)
  3. services : resource_counts_summary option;
    (*

    The staleness counts for Proton services in the Amazon Web Services account.

    *)
  4. service_instances : resource_counts_summary option;
    (*

    The staleness counts for Proton service instances in the Amazon Web Services account.

    *)
  5. environment_templates : resource_counts_summary option;
    (*

    The total number of environment templates in the Amazon Web Services account. The environmentTemplates object will only contain total members.

    *)
  6. environments : resource_counts_summary option;
    (*

    The staleness counts for Proton environments in the Amazon Web Services account. The environments object will only contain total members.

    *)
  7. components : resource_counts_summary option;
    (*

    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.

    *)
}

Summary counts of each Proton resource type.

type get_resources_summary_output = {
  1. counts : counts_summary;
    (*

    Summary counts of each Proton resource type.

    *)
}
type get_resources_summary_input = unit
type get_repository_sync_status_output = {
  1. latest_sync : repository_sync_attempt option;
    (*

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

    *)
}
type get_repository_sync_status_input = {
  1. sync_type : sync_type;
    (*

    The repository sync type.

    *)
  2. branch : string;
    (*

    The repository branch.

    *)
  3. repository_provider : repository_provider;
    (*

    The repository provider.

    *)
  4. repository_name : string;
    (*

    The repository name.

    *)
}
type get_repository_output = {
  1. repository : repository;
    (*

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

    *)
}
type get_repository_input = {
  1. name : string;
    (*

    The repository name, for example myrepos/myrepo.

    *)
  2. provider : repository_provider;
    (*

    The repository provider.

    *)
}
type get_environment_template_version_output = {
  1. environment_template_version : environment_template_version;
    (*

    The detailed data of the requested environment template version.

    *)
}
type get_environment_template_version_input = {
  1. minor_version : string;
    (*

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

    *)
  2. major_version : string;
    (*

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

    *)
  3. template_name : string;
    (*

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

    *)
}
type get_environment_template_output = {
  1. environment_template : environment_template;
    (*

    The detailed data of the requested environment template.

    *)
}
type get_environment_template_input = {
  1. name : string;
    (*

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

    *)
}
type get_environment_output = {
  1. environment : environment;
    (*

    The detailed data of the requested environment.

    *)
}
type get_environment_input = {
  1. name : string;
    (*

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

    *)
}
type get_environment_account_connection_output = {
  1. environment_account_connection : environment_account_connection;
    (*

    The detailed data of the requested environment account connection.

    *)
}
type get_environment_account_connection_input = {
  1. id : string;
    (*

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

    *)
}
type environment_state = {
  1. template_minor_version : string;
    (*

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

    *)
  2. template_major_version : string;
    (*

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

    *)
  3. template_name : string;
    (*

    The name of the environment template that was used to create the environment.

    *)
  4. spec : string option;
    (*

    The environment spec that was used to create the environment.

    *)
}

The detailed data about the current state of the environment.

type component_state = {
  1. template_file : string option;
    (*

    The template file used.

    *)
  2. service_spec : string option;
    (*

    The service spec that the component uses to access service inputs. Provided when a component is attached to a service instance.

    *)
  3. service_instance_name : string option;
    (*

    The name of the service instance that this component is attached to. Provided when a component is attached to a service instance.

    *)
  4. service_name : string option;
    (*

    The name of the service that serviceInstanceName is associated with. Provided when a component is attached to a service instance.

    *)
}

The detailed data about the current state of the component.

type deployment_state =
  1. | Component of component_state
  2. | ServicePipeline of service_pipeline_state
  3. | Environment of environment_state
  4. | ServiceInstance of service_instance_state

The detailed data about the current state of the deployment.

type deployment = {
  1. target_state : deployment_state option;
    (*

    The target state of the target resource at the time of the deployment.

    *)
  2. initial_state : deployment_state option;
    (*

    The initial state of the target resource at the time of the deployment.

    *)
  3. last_succeeded_deployment_id : string option;
    (*

    The ID of the last successful deployment.

    *)
  4. last_attempted_deployment_id : string option;
    (*

    The ID of the last attempted deployment.

    *)
  5. completed_at : float option;
    (*

    The date and time the deployment was completed.

    *)
  6. last_modified_at : float;
    (*

    The date and time the deployment was last modified.

    *)
  7. created_at : float;
    (*

    The date and time the deployment was created.

    *)
  8. deployment_status_message : string option;
    (*

    The deployment status message.

    *)
  9. deployment_status : deployment_status;
    (*

    The status of the deployment.

    *)
  10. component_name : string option;
    (*

    The name of the component associated with this deployment.

    *)
  11. service_instance_name : string option;
    (*

    The name of the deployment's service instance.

    *)
  12. service_name : string option;
    (*

    The name of the service in this deployment.

    *)
  13. environment_name : string;
    (*

    The name of the environment associated with this deployment.

    *)
  14. target_resource_type : deployment_target_resource_type;
    (*

    The resource type of the deployment target. It can be an environment, service, service instance, or component.

    *)
  15. target_resource_created_at : float;
    (*

    The date and time the depoyment target was created.

    *)
  16. target_arn : string;
    (*

    The Amazon Resource Name (ARN) of the target of the deployment.

    *)
  17. arn : string;
    (*

    The Amazon Resource Name (ARN) of the deployment.

    *)
  18. id : string;
    (*

    The ID of the deployment.

    *)
}

The detailed information about a deployment.

type get_deployment_output = {
  1. deployment : deployment option;
    (*

    The detailed data of the requested deployment.

    *)
}
type get_deployment_input = {
  1. component_name : string option;
    (*

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

    *)
  2. service_instance_name : string option;
    (*

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

    *)
  3. service_name : string option;
    (*

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

    *)
  4. environment_name : string option;
    (*

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

    *)
  5. id : string;
    (*

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

    *)
}
type get_component_output = {
  1. component : component option;
    (*

    The detailed data of the requested component.

    *)
}
type get_component_input = {
  1. name : string;
    (*

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

    *)
}
type get_account_settings_output = {
  1. account_settings : account_settings option;
    (*

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

    *)
}
type get_account_settings_input = unit
type delete_template_sync_config_output = {
  1. template_sync_config : template_sync_config option;
    (*

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

    *)
}
type delete_template_sync_config_input = {
  1. template_type : template_type;
    (*

    The template type.

    *)
  2. template_name : string;
    (*

    The template name.

    *)
}
type delete_service_template_version_output = {
  1. service_template_version : service_template_version option;
    (*

    The detailed data of the service template version being deleted.

    *)
}
type delete_service_template_version_input = {
  1. minor_version : string;
    (*

    The service template minor version to delete.

    *)
  2. major_version : string;
    (*

    The service template major version to delete.

    *)
  3. template_name : string;
    (*

    The name of the service template.

    *)
}
type delete_service_template_output = {
  1. service_template : service_template option;
    (*

    The detailed data of the service template being deleted.

    *)
}
type delete_service_template_input = {
  1. name : string;
    (*

    The name of the service template to delete.

    *)
}
type delete_service_sync_config_output = {
  1. service_sync_config : service_sync_config option;
    (*

    The detailed data for the service sync config.

    *)
}
type delete_service_sync_config_input = {
  1. service_name : string;
    (*

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

    *)
}
type delete_service_output = {
  1. service : service option;
    (*

    The detailed data of the service being deleted.

    *)
}
type delete_service_input = {
  1. name : string;
    (*

    The name of the service to delete.

    *)
}
type delete_repository_output = {
  1. repository : repository option;
    (*

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

    *)
}
type delete_repository_input = {
  1. name : string;
    (*

    The repository name.

    *)
  2. provider : repository_provider;
    (*

    The repository provider.

    *)
}
type delete_environment_template_version_output = {
  1. environment_template_version : environment_template_version option;
    (*

    The detailed data of the environment template version being deleted.

    *)
}
type delete_environment_template_version_input = {
  1. minor_version : string;
    (*

    The environment template minor version to delete.

    *)
  2. major_version : string;
    (*

    The environment template major version to delete.

    *)
  3. template_name : string;
    (*

    The name of the environment template.

    *)
}
type delete_environment_template_output = {
  1. environment_template : environment_template option;
    (*

    The detailed data of the environment template being deleted.

    *)
}
type delete_environment_template_input = {
  1. name : string;
    (*

    The name of the environment template to delete.

    *)
}
type delete_environment_output = {
  1. environment : environment option;
    (*

    The detailed data of the environment being deleted.

    *)
}
type delete_environment_input = {
  1. name : string;
    (*

    The name of the environment to delete.

    *)
}
type delete_environment_account_connection_output = {
  1. environment_account_connection : environment_account_connection option;
    (*

    The detailed data of the environment account connection being deleted.

    *)
}
type delete_environment_account_connection_input = {
  1. id : string;
    (*

    The ID of the environment account connection to delete.

    *)
}
type delete_deployment_output = {
  1. deployment : deployment option;
    (*

    The detailed data of the deployment being deleted.

    *)
}
type delete_deployment_input = {
  1. id : string;
    (*

    The ID of the deployment to delete.

    *)
}
type delete_component_output = {
  1. component : component option;
    (*

    The detailed data of the component being deleted.

    *)
}
type delete_component_input = {
  1. name : string;
    (*

    The name of the component to delete.

    *)
}
type create_template_sync_config_output = {
  1. template_sync_config : template_sync_config option;
    (*

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

    *)
}
type create_template_sync_config_input = {
  1. subdirectory : string option;
    (*

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

    *)
  2. branch : string;
    (*

    The repository branch for your template.

    *)
  3. repository_name : string;
    (*

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

    *)
  4. repository_provider : repository_provider;
    (*

    The provider type for your repository.

    *)
  5. template_type : template_type;
    (*

    The type of the registered template.

    *)
  6. template_name : string;
    (*

    The name of your registered template.

    *)
}
type create_service_template_version_output = {
  1. service_template_version : service_template_version;
    (*

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

    *)
}
type create_service_template_version_input = {
  1. supported_component_sources : service_template_supported_component_source_type list option;
    (*

    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.

    *)
  2. tags : tag list option;
    (*

    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.

    *)
  3. compatible_environment_templates : compatible_environment_template_input list;
    (*

    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.

    *)
  4. source : template_version_source_input;
    (*

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

    *)
  5. major_version : string option;
    (*

    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.

    *)
  6. description : string option;
    (*

    A description of the new version of a service template.

    *)
  7. template_name : string;
    (*

    The name of the service template.

    *)
  8. client_token : string option;
    (*

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

    *)
}
type create_service_template_output = {
  1. service_template : service_template;
    (*

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

    *)
}
type create_service_template_input = {
  1. tags : tag list option;
    (*

    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.

    *)
  2. pipeline_provisioning : provisioning option;
    (*

    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.

    *)
  3. encryption_key : string option;
    (*

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

    *)
  4. description : string option;
    (*

    A description of the service template.

    *)
  5. display_name : string option;
    (*

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

    *)
  6. name : string;
    (*

    The name of the service template.

    *)
}
type create_service_sync_config_output = {
  1. service_sync_config : service_sync_config option;
    (*

    The detailed data of the Proton Ops file.

    *)
}
type create_service_sync_config_input = {
  1. file_path : string;
    (*

    The path to the Proton Ops file.

    *)
  2. branch : string;
    (*

    The repository branch for your Proton Ops file.

    *)
  3. repository_name : string;
    (*

    The repository name.

    *)
  4. repository_provider : repository_provider;
    (*

    The provider type for your repository.

    *)
  5. service_name : string;
    (*

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

    *)
}
type create_service_output = {
  1. service : service;
    (*

    The service detail data that's returned by Proton.

    *)
}
type create_service_instance_output = {
  1. service_instance : service_instance;
    (*

    The detailed data of the service instance being created.

    *)
}
type create_service_instance_input = {
  1. client_token : string option;
    (*

    The client token of the service instance to create.

    *)
  2. tags : tag list option;
    (*

    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.

    *)
  3. template_minor_version : string option;
    (*

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

    *)
  4. template_major_version : string option;
    (*

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

    *)
  5. spec : string;
    (*

    The spec for the service instance you want to create.

    *)
  6. service_name : string;
    (*

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

    *)
  7. name : string;
    (*

    The name of the service instance to create.

    *)
}
type create_service_input = {
  1. tags : tag list option;
    (*

    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.

    *)
  2. branch_name : string option;
    (*

    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.

    *)
  3. repository_id : string option;
    (*

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

    *)
  4. repository_connection_arn : string option;
    (*

    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.

    *)
  5. spec : 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.

    *)
  6. template_minor_version : string option;
    (*

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

    *)
  7. template_major_version : string;
    (*

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

    *)
  8. template_name : string;
    (*

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

    *)
  9. description : string option;
    (*

    A description of the Proton service.

    *)
  10. name : string;
    (*

    The service name.

    *)
}
type create_repository_output = {
  1. repository : repository;
    (*

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

    *)
}
type create_repository_input = {
  1. tags : tag list option;
    (*

    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.

    *)
  2. encryption_key : string option;
    (*

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

    *)
  3. connection_arn : 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.

    *)
  4. name : string;
    (*

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

    *)
  5. provider : repository_provider;
    (*

    The repository provider.

    *)
}
type create_environment_template_version_output = {
  1. environment_template_version : environment_template_version;
    (*

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

    *)
}
type create_environment_template_version_input = {
  1. tags : tag list option;
    (*

    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.

    *)
  2. source : template_version_source_input;
    (*

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

    *)
  3. major_version : string option;
    (*

    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.

    *)
  4. description : string option;
    (*

    A description of the new version of an environment template.

    *)
  5. template_name : string;
    (*

    The name of the environment template.

    *)
  6. client_token : string option;
    (*

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

    *)
}
type create_environment_template_output = {
  1. environment_template : environment_template;
    (*

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

    *)
}
type create_environment_template_input = {
  1. tags : tag list option;
    (*

    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.

    *)
  2. provisioning : provisioning option;
    (*

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

    *)
  3. encryption_key : string option;
    (*

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

    *)
  4. description : string option;
    (*

    A description of the environment template.

    *)
  5. display_name : string option;
    (*

    The environment template name as displayed in the developer interface.

    *)
  6. name : string;
    (*

    The name of the environment template.

    *)
}
type create_environment_output = {
  1. environment : environment;
    (*

    The environment detail data that's returned by Proton.

    *)
}
type create_environment_input = {
  1. codebuild_role_arn : string option;
    (*

    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.

    *)
  2. component_role_arn : string option;
    (*

    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.

    *)
  3. provisioning_repository : repository_branch_input option;
    (*

    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.

    *)
  4. tags : tag list option;
    (*

    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.

    *)
  5. environment_account_connection_id : string option;
    (*

    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.

    *)
  6. proton_service_role_arn : string option;
    (*

    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.

    *)
  7. spec : 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.

    *)
  8. description : string option;
    (*

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

    *)
  9. template_minor_version : string option;
    (*

    The minor version of the environment template.

    *)
  10. template_major_version : string;
    (*

    The major version of the environment template.

    *)
  11. template_name : string;
    (*

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

    *)
  12. name : string;
    (*

    The name of the environment.

    *)
}
type create_environment_account_connection_output = {
  1. environment_account_connection : environment_account_connection;
    (*

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

    *)
}
type create_environment_account_connection_input = {
  1. codebuild_role_arn : string option;
    (*

    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.

    *)
  2. component_role_arn : string option;
    (*

    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.

    *)
  3. tags : tag list option;
    (*

    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.

    *)
  4. environment_name : string;
    (*

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

    *)
  5. role_arn : string option;
    (*

    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.

    *)
  6. management_account_id : 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.

    *)
  7. client_token : string option;
    (*

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

    *)
}
type create_component_output = {
  1. component : component;
    (*

    The detailed data of the created component.

    *)
}
type create_component_input = {
  1. client_token : string option;
    (*

    The client token for the created component.

    *)
  2. tags : tag list option;
    (*

    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.

    *)
  3. service_spec : string option;
    (*

    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.

    *)
  4. manifest : 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.

    *)
  5. template_file : 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.

    *)
  6. environment_name : string option;
    (*

    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.

    *)
  7. service_instance_name : string option;
    (*

    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.

    *)
  8. service_name : string option;
    (*

    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.

    *)
  9. description : string option;
    (*

    An optional customer-provided description of the component.

    *)
  10. name : string;
    (*

    The customer-provided name of the component.

    *)
}
type cancel_service_pipeline_deployment_output = {
  1. pipeline : service_pipeline;
    (*

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

    *)
}
type cancel_service_pipeline_deployment_input = {
  1. service_name : string;
    (*

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

    *)
}
type cancel_service_instance_deployment_output = {
  1. service_instance : service_instance;
    (*

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

    *)
}
type cancel_service_instance_deployment_input = {
  1. service_name : string;
    (*

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

    *)
  2. service_instance_name : string;
    (*

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

    *)
}
type cancel_environment_deployment_output = {
  1. environment : environment;
    (*

    The environment summary data that's returned by Proton.

    *)
}
type cancel_environment_deployment_input = {
  1. environment_name : string;
    (*

    The name of the environment with the deployment to cancel.

    *)
}
type cancel_component_deployment_output = {
  1. component : component;
    (*

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

    *)
}
type cancel_component_deployment_input = {
  1. component_name : string;
    (*

    The name of the component with the deployment to cancel.

    *)
}

This is the Proton Service API Reference. It provides descriptions, syntax and usage examples for each of the actions and data types for the Proton service.

The documentation for each action shows the Query API request parameters and the XML response.

Alternatively, you can use the Amazon Web Services CLI to access an API. For more information, see the Amazon Web Services Command Line Interface User Guide.

The Proton service is a two-pronged automation framework. Administrators create service templates to provide standardized infrastructure and deployment tooling for serverless and container based applications. Developers, in turn, select from the available service templates to automate their application or service deployments.

Because administrators define the infrastructure and tooling that Proton deploys and manages, they need permissions to use all of the listed API operations.

When developers select a specific infrastructure and tooling set, Proton deploys their applications. To monitor their applications that are running on Proton, developers need permissions to the service create, list, update and delete API operations and the service instance list and update API operations.

To learn more about Proton, see the Proton User Guide.

Ensuring Idempotency

When you make a mutating API request, the request typically returns a result before the asynchronous workflows of the operation are complete. Operations might also time out or encounter other server issues before they're complete, even if the request already returned a result. This might make it difficult to determine whether the request succeeded. Moreover, you might need to retry the request multiple times to ensure that the operation completes successfully. However, if the original request and the subsequent retries are successful, the operation occurs multiple times. This means that you might create more resources than you intended.

Idempotency ensures that an API request action completes no more than one time. With an idempotent request, if the original request action completes successfully, any subsequent retries complete successfully without performing any further actions. However, the result might contain updated information, such as the current creation status.

The following lists of APIs are grouped according to methods that ensure idempotency.

Idempotent create APIs with a client token

The API actions in this list support idempotency with the use of a client token. The corresponding Amazon Web Services CLI commands also support idempotency using a client token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. To make an idempotent API request using one of these actions, specify a client token in the request. We recommend that you don't reuse the same client token for other API requests. If you don’t provide a client token for these APIs, a default client token is automatically provided by SDKs.

Given a request action that has succeeded:

If you retry the request using the same client token and the same parameters, the retry succeeds without performing any further actions other than returning the original resource detail data in the response.

If you retry the request using the same client token, but one or more of the parameters are different, the retry throws a ValidationException with an IdempotentParameterMismatch error.

Client tokens expire eight hours after a request is made. If you retry the request with the expired token, a new resource is created.

If the original resource is deleted and you retry the request, a new resource is created.

Idempotent create APIs with a client token:

Idempotent create APIs

Given a request action that has succeeded:

If you retry the request with an API from this group, and the original resource hasn't been modified, the retry succeeds without performing any further actions other than returning the original resource detail data in the response.

If the original resource has been modified, the retry throws a ConflictException.

If you retry with different input parameters, the retry throws a ValidationException with an IdempotentParameterMismatch error.

Idempotent create APIs:

Idempotent delete APIs

Given a request action that has succeeded:

When you retry the request with an API from this group and the resource was deleted, its metadata is returned in the response.

If you retry and the resource doesn't exist, the response is empty.

In both cases, the retry succeeds.

Idempotent delete APIs:

Asynchronous idempotent delete APIs

Given a request action that has succeeded:

If you retry the request with an API from this group, if the original request delete operation status is DELETE_IN_PROGRESS, the retry returns the resource detail data in the response without performing any further actions.

If the original request delete operation is complete, a retry returns an empty response.

Asynchronous idempotent delete APIs:

type accept_environment_account_connection_output = {
  1. environment_account_connection : environment_account_connection;
    (*

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

    *)
}
type accept_environment_account_connection_input = {
  1. id : string;
    (*

    The ID of the environment account connection.

    *)
}
type base_document = Smaws_Lib.Json.t

Builders

val make_template_sync_config : ?subdirectory:string -> branch:string -> repository_name:string -> repository_provider:repository_provider -> template_type:template_type -> template_name:string -> unit -> template_sync_config

Create a template_sync_config type

val make_update_template_sync_config_output : ?template_sync_config:template_sync_config -> unit -> update_template_sync_config_output
val make_update_template_sync_config_input : ?subdirectory:string -> branch:string -> repository_name:string -> repository_provider:repository_provider -> template_type:template_type -> template_name:string -> unit -> update_template_sync_config_input
val make_compatible_environment_template : major_version:string -> template_name:string -> unit -> compatible_environment_template
val make_service_template_version : ?supported_component_sources: service_template_supported_component_source_type list -> ?schema:string -> ?description:string -> ?status_message:string -> ?recommended_minor_version:string -> compatible_environment_templates:compatible_environment_template list -> last_modified_at:float -> created_at:float -> arn:string -> status:template_version_status -> minor_version:string -> major_version:string -> template_name:string -> unit -> service_template_version
val make_update_service_template_version_output : service_template_version:service_template_version -> unit -> update_service_template_version_output
val make_compatible_environment_template_input : major_version:string -> template_name:string -> unit -> compatible_environment_template_input
val make_update_service_template_version_input : ?supported_component_sources: service_template_supported_component_source_type list -> ?compatible_environment_templates:compatible_environment_template_input list -> ?status:template_version_status -> ?description:string -> minor_version:string -> major_version:string -> template_name:string -> unit -> update_service_template_version_input
val make_service_template : ?pipeline_provisioning:provisioning -> ?encryption_key:string -> ?recommended_version:string -> ?description:string -> ?display_name:string -> last_modified_at:float -> created_at:float -> arn:string -> name:string -> unit -> service_template

Create a service_template type

val make_update_service_template_output : service_template:service_template -> unit -> update_service_template_output
val make_update_service_template_input : ?description:string -> ?display_name:string -> name:string -> unit -> update_service_template_input
val make_service_sync_config : file_path:string -> branch:string -> repository_name:string -> repository_provider:repository_provider -> service_name:string -> unit -> service_sync_config

Create a service_sync_config type

val make_update_service_sync_config_output : ?service_sync_config:service_sync_config -> unit -> update_service_sync_config_output
val make_update_service_sync_config_input : file_path:string -> branch:string -> repository_name:string -> repository_provider:repository_provider -> service_name:string -> unit -> update_service_sync_config_input
val make_sync_blocker_context : value:string -> key:string -> unit -> sync_blocker_context

Create a sync_blocker_context type

val make_sync_blocker : ?resolved_at:float -> ?resolved_reason:string -> ?contexts:sync_blocker_context list -> created_at:float -> created_reason:string -> status:blocker_status -> type_:blocker_type -> id:string -> unit -> sync_blocker

Create a sync_blocker type

val make_update_service_sync_blocker_output : ?service_instance_name:string -> service_sync_blocker:sync_blocker -> service_name:string -> unit -> update_service_sync_blocker_output
val make_update_service_sync_blocker_input : resolved_reason:string -> id:string -> unit -> update_service_sync_blocker_input
val make_service_pipeline : ?last_succeeded_deployment_id:string -> ?last_attempted_deployment_id:string -> ?spec:string -> ?deployment_status_message:string -> deployment_status:deployment_status -> template_minor_version:string -> template_major_version:string -> template_name:string -> last_deployment_succeeded_at:float -> last_deployment_attempted_at:float -> created_at:float -> arn:string -> unit -> service_pipeline

Create a service_pipeline type

val make_update_service_pipeline_output : pipeline:service_pipeline -> unit -> update_service_pipeline_output
val make_update_service_pipeline_input : ?template_minor_version:string -> ?template_major_version:string -> deployment_type:deployment_update_type -> spec:string -> service_name:string -> unit -> update_service_pipeline_input
val make_service : ?branch_name:string -> ?repository_id:string -> ?repository_connection_arn:string -> ?pipeline:service_pipeline -> ?status_message:string -> ?description:string -> spec:string -> status:service_status -> last_modified_at:float -> created_at:float -> template_name:string -> arn:string -> name:string -> unit -> service

Create a service type

val make_update_service_output : service:service -> unit -> update_service_output

Create a update_service_output type

val make_service_instance : ?last_succeeded_deployment_id:string -> ?last_attempted_deployment_id:string -> ?last_client_request_token:string -> ?spec:string -> ?deployment_status_message:string -> deployment_status:deployment_status -> template_minor_version:string -> template_major_version:string -> template_name:string -> environment_name:string -> service_name:string -> last_deployment_succeeded_at:float -> last_deployment_attempted_at:float -> created_at:float -> arn:string -> name:string -> unit -> service_instance

Create a service_instance type

val make_update_service_instance_output : service_instance:service_instance -> unit -> update_service_instance_output
val make_update_service_instance_input : ?client_token:string -> ?template_minor_version:string -> ?template_major_version:string -> ?spec:string -> deployment_type:deployment_update_type -> service_name:string -> name:string -> unit -> update_service_instance_input
val make_update_service_input : ?spec:string -> ?description:string -> name:string -> unit -> update_service_input

Create a update_service_input type

val make_environment_template_version : ?schema:string -> ?description:string -> ?status_message:string -> ?recommended_minor_version:string -> last_modified_at:float -> created_at:float -> arn:string -> status:template_version_status -> minor_version:string -> major_version:string -> template_name:string -> unit -> environment_template_version
val make_update_environment_template_version_output : environment_template_version:environment_template_version -> unit -> update_environment_template_version_output
val make_update_environment_template_version_input : ?status:template_version_status -> ?description:string -> minor_version:string -> major_version:string -> template_name:string -> unit -> update_environment_template_version_input
val make_environment_template : ?provisioning:provisioning -> ?encryption_key:string -> ?recommended_version:string -> ?description:string -> ?display_name:string -> last_modified_at:float -> created_at:float -> arn:string -> name:string -> unit -> environment_template

Create a environment_template type

val make_update_environment_template_output : environment_template:environment_template -> unit -> update_environment_template_output
val make_update_environment_template_input : ?description:string -> ?display_name:string -> name:string -> unit -> update_environment_template_input
val make_repository_branch : branch:string -> name:string -> provider:repository_provider -> arn:string -> unit -> repository_branch

Create a repository_branch type

val make_environment : ?last_succeeded_deployment_id:string -> ?last_attempted_deployment_id:string -> ?codebuild_role_arn:string -> ?component_role_arn:string -> ?provisioning_repository:repository_branch -> ?provisioning:provisioning -> ?spec:string -> ?environment_account_id:string -> ?environment_account_connection_id:string -> ?proton_service_role_arn:string -> ?deployment_status_message:string -> ?description:string -> deployment_status:deployment_status -> template_minor_version:string -> template_major_version:string -> template_name:string -> arn:string -> last_deployment_succeeded_at:float -> last_deployment_attempted_at:float -> created_at:float -> name:string -> unit -> environment

Create a environment type

val make_update_environment_output : environment:environment -> unit -> update_environment_output
val make_repository_branch_input : branch:string -> name:string -> provider:repository_provider -> unit -> repository_branch_input
val make_update_environment_input : ?codebuild_role_arn:string -> ?component_role_arn:string -> ?provisioning_repository:repository_branch_input -> ?environment_account_connection_id:string -> ?proton_service_role_arn:string -> ?template_minor_version:string -> ?template_major_version:string -> ?spec:string -> ?description:string -> deployment_type:deployment_update_type -> name:string -> unit -> update_environment_input
val make_environment_account_connection : ?codebuild_role_arn:string -> ?component_role_arn:string -> status:environment_account_connection_status -> last_modified_at:float -> requested_at:float -> environment_name:string -> role_arn:string -> environment_account_id:string -> management_account_id:string -> arn:string -> id:string -> unit -> environment_account_connection
val make_update_environment_account_connection_output : environment_account_connection:environment_account_connection -> unit -> update_environment_account_connection_output
val make_update_environment_account_connection_input : ?codebuild_role_arn:string -> ?component_role_arn:string -> ?role_arn:string -> id:string -> unit -> update_environment_account_connection_input
val make_component : ?last_succeeded_deployment_id:string -> ?last_attempted_deployment_id:string -> ?last_client_request_token:string -> ?service_spec:string -> ?deployment_status_message:string -> ?last_deployment_succeeded_at:float -> ?last_deployment_attempted_at:float -> ?service_instance_name:string -> ?service_name:string -> ?description:string -> deployment_status:deployment_status -> last_modified_at:float -> created_at:float -> environment_name:string -> arn:string -> name:string -> unit -> component

Create a component type

val make_update_component_output : component:component -> unit -> update_component_output
val make_update_component_input : ?client_token:string -> ?template_file:string -> ?service_spec:string -> ?service_instance_name:string -> ?service_name:string -> ?description:string -> deployment_type:component_deployment_update_type -> name:string -> unit -> update_component_input
val make_account_settings : ?pipeline_codebuild_role_arn:string -> ?pipeline_provisioning_repository:repository_branch -> ?pipeline_service_role_arn:string -> unit -> account_settings

Create a account_settings type

val make_update_account_settings_output : account_settings:account_settings -> unit -> update_account_settings_output
val make_update_account_settings_input : ?pipeline_codebuild_role_arn:string -> ?delete_pipeline_provisioning_repository:bool -> ?pipeline_provisioning_repository:repository_branch_input -> ?pipeline_service_role_arn:string -> unit -> update_account_settings_input
val make_untag_resource_output : unit -> untag_resource_output

Create a untag_resource_output type

val make_untag_resource_input : tag_keys:string list -> resource_arn:string -> unit -> untag_resource_input

Create a untag_resource_input type

val make_s3_object_source : key:string -> bucket:string -> unit -> s3_object_source

Create a s3_object_source type

val make_tag_resource_output : unit -> tag_resource_output

Create a tag_resource_output type

val make_tag : value:string -> key:string -> unit -> tag

Create a tag type

val make_tag_resource_input : tags:tag list -> resource_arn:string -> unit -> tag_resource_input

Create a tag_resource_input type

val make_service_template_version_summary : ?description:string -> ?status_message:string -> ?recommended_minor_version:string -> last_modified_at:float -> created_at:float -> arn:string -> status:template_version_status -> minor_version:string -> major_version:string -> template_name:string -> unit -> service_template_version_summary
val make_service_template_summary : ?pipeline_provisioning:provisioning -> ?recommended_version:string -> ?description:string -> ?display_name:string -> last_modified_at:float -> created_at:float -> arn:string -> name:string -> unit -> service_template_summary
val make_service_sync_blocker_summary : ?latest_blockers:sync_blocker list -> ?service_instance_name:string -> service_name:string -> unit -> service_sync_blocker_summary
val make_service_summary : ?status_message:string -> ?description:string -> status:service_status -> last_modified_at:float -> created_at:float -> template_name:string -> arn:string -> name:string -> unit -> service_summary

Create a service_summary type

val make_service_pipeline_state : ?spec:string -> template_minor_version:string -> template_major_version:string -> template_name:string -> unit -> service_pipeline_state
val make_service_instance_summary : ?last_succeeded_deployment_id:string -> ?last_attempted_deployment_id:string -> ?deployment_status_message:string -> deployment_status:deployment_status -> template_minor_version:string -> template_major_version:string -> template_name:string -> environment_name:string -> service_name:string -> last_deployment_succeeded_at:float -> last_deployment_attempted_at:float -> created_at:float -> arn:string -> name:string -> unit -> service_instance_summary
val make_service_instance_state : ?last_successful_service_pipeline_deployment_id:string -> ?last_successful_environment_deployment_id:string -> ?last_successful_component_deployment_ids:string list -> template_minor_version:string -> template_major_version:string -> template_name:string -> spec:string -> unit -> service_instance_state
val make_revision : branch:string -> directory:string -> sha:string -> repository_provider:repository_provider -> repository_name:string -> unit -> revision

Create a revision type

val make_resource_sync_event : ?external_id:string -> event:string -> time:float -> type_:string -> unit -> resource_sync_event

Create a resource_sync_event type

val make_resource_sync_attempt : events:resource_sync_event list -> status:resource_sync_status -> started_at:float -> target:string -> target_revision:revision -> initial_revision:revision -> unit -> resource_sync_attempt

Create a resource_sync_attempt type

val make_resource_counts_summary : ?behind_minor:int -> ?behind_major:int -> ?up_to_date:int -> ?failed:int -> total:int -> unit -> resource_counts_summary
val make_repository_sync_event : ?external_id:string -> event:string -> time:float -> type_:string -> unit -> repository_sync_event

Create a repository_sync_event type

val make_repository_sync_definition : directory:string -> branch:string -> parent:string -> target:string -> unit -> repository_sync_definition
val make_repository_sync_attempt : events:repository_sync_event list -> status:repository_sync_status -> started_at:float -> unit -> repository_sync_attempt
val make_repository_summary : connection_arn:string -> name:string -> provider:repository_provider -> arn:string -> unit -> repository_summary

Create a repository_summary type

val make_repository : ?encryption_key:string -> connection_arn:string -> name:string -> provider:repository_provider -> arn:string -> unit -> repository

Create a repository type

val make_reject_environment_account_connection_output : environment_account_connection:environment_account_connection -> unit -> reject_environment_account_connection_output
val make_reject_environment_account_connection_input : id:string -> unit -> reject_environment_account_connection_input
val make_provisioned_resource : ?provisioning_engine:provisioned_resource_engine -> ?identifier:string -> ?name:string -> unit -> provisioned_resource

Create a provisioned_resource type

val make_output : ?value_string:string -> ?key:string -> unit -> output

Create a output type

val make_notify_resource_deployment_status_change_output : unit -> notify_resource_deployment_status_change_output
val make_notify_resource_deployment_status_change_input : ?status_message:string -> ?deployment_id:string -> ?outputs:output list -> ?status:resource_deployment_status -> resource_arn:string -> unit -> notify_resource_deployment_status_change_input
val make_list_tags_for_resource_output : ?next_token:string -> tags:tag list -> unit -> list_tags_for_resource_output
val make_list_tags_for_resource_input : ?max_results:int -> ?next_token:string -> resource_arn:string -> unit -> list_tags_for_resource_input
val make_list_services_output : ?next_token:string -> services:service_summary list -> unit -> list_services_output

Create a list_services_output type

val make_list_services_input : ?max_results:int -> ?next_token:string -> unit -> list_services_input

Create a list_services_input type

val make_list_service_templates_output : ?next_token:string -> templates:service_template_summary list -> unit -> list_service_templates_output
val make_list_service_templates_input : ?max_results:int -> ?next_token:string -> unit -> list_service_templates_input
val make_list_service_template_versions_output : ?next_token:string -> template_versions:service_template_version_summary list -> unit -> list_service_template_versions_output
val make_list_service_template_versions_input : ?major_version:string -> ?max_results:int -> ?next_token:string -> template_name:string -> unit -> list_service_template_versions_input
val make_list_service_pipeline_provisioned_resources_output : ?next_token:string -> provisioned_resources:provisioned_resource list -> unit -> list_service_pipeline_provisioned_resources_output
val make_list_service_pipeline_provisioned_resources_input : ?next_token:string -> service_name:string -> unit -> list_service_pipeline_provisioned_resources_input
val make_list_service_pipeline_outputs_output : ?next_token:string -> outputs:output list -> unit -> list_service_pipeline_outputs_output
val make_list_service_pipeline_outputs_input : ?deployment_id:string -> ?next_token:string -> service_name:string -> unit -> list_service_pipeline_outputs_input
val make_list_service_instances_output : ?next_token:string -> service_instances:service_instance_summary list -> unit -> list_service_instances_output
val make_list_service_instances_filter : ?value:string -> ?key:list_service_instances_filter_by -> unit -> list_service_instances_filter
val make_list_service_instances_input : ?sort_order:sort_order -> ?sort_by:list_service_instances_sort_by -> ?filters:list_service_instances_filter list -> ?max_results:int -> ?next_token:string -> ?service_name:string -> unit -> list_service_instances_input
val make_list_service_instance_provisioned_resources_output : ?next_token:string -> provisioned_resources:provisioned_resource list -> unit -> list_service_instance_provisioned_resources_output
val make_list_service_instance_provisioned_resources_input : ?next_token:string -> service_instance_name:string -> service_name:string -> unit -> list_service_instance_provisioned_resources_input
val make_list_service_instance_outputs_output : ?next_token:string -> outputs:output list -> unit -> list_service_instance_outputs_output
val make_list_service_instance_outputs_input : ?deployment_id:string -> ?next_token:string -> service_name:string -> service_instance_name:string -> unit -> list_service_instance_outputs_input
val make_list_repository_sync_definitions_output : ?next_token:string -> sync_definitions:repository_sync_definition list -> unit -> list_repository_sync_definitions_output
val make_list_repository_sync_definitions_input : ?next_token:string -> sync_type:sync_type -> repository_provider:repository_provider -> repository_name:string -> unit -> list_repository_sync_definitions_input
val make_list_repositories_output : ?next_token:string -> repositories:repository_summary list -> unit -> list_repositories_output
val make_list_repositories_input : ?max_results:int -> ?next_token:string -> unit -> list_repositories_input
val make_environment_summary : ?last_succeeded_deployment_id:string -> ?last_attempted_deployment_id:string -> ?component_role_arn:string -> ?provisioning:provisioning -> ?environment_account_id:string -> ?environment_account_connection_id:string -> ?proton_service_role_arn:string -> ?deployment_status_message:string -> ?description:string -> deployment_status:deployment_status -> template_minor_version:string -> template_major_version:string -> template_name:string -> arn:string -> last_deployment_succeeded_at:float -> last_deployment_attempted_at:float -> created_at:float -> name:string -> unit -> environment_summary

Create a environment_summary type

val make_list_environments_output : ?next_token:string -> environments:environment_summary list -> unit -> list_environments_output
val make_environment_template_filter : major_version:string -> template_name:string -> unit -> environment_template_filter
val make_list_environments_input : ?environment_templates:environment_template_filter list -> ?max_results:int -> ?next_token:string -> unit -> list_environments_input
val make_environment_template_summary : ?provisioning:provisioning -> ?recommended_version:string -> ?description:string -> ?display_name:string -> last_modified_at:float -> created_at:float -> arn:string -> name:string -> unit -> environment_template_summary
val make_list_environment_templates_output : ?next_token:string -> templates:environment_template_summary list -> unit -> list_environment_templates_output
val make_list_environment_templates_input : ?max_results:int -> ?next_token:string -> unit -> list_environment_templates_input
val make_environment_template_version_summary : ?description:string -> ?status_message:string -> ?recommended_minor_version:string -> last_modified_at:float -> created_at:float -> arn:string -> status:template_version_status -> minor_version:string -> major_version:string -> template_name:string -> unit -> environment_template_version_summary
val make_list_environment_template_versions_output : ?next_token:string -> template_versions:environment_template_version_summary list -> unit -> list_environment_template_versions_output
val make_list_environment_template_versions_input : ?major_version:string -> ?max_results:int -> ?next_token:string -> template_name:string -> unit -> list_environment_template_versions_input
val make_list_environment_provisioned_resources_output : ?next_token:string -> provisioned_resources:provisioned_resource list -> unit -> list_environment_provisioned_resources_output
val make_list_environment_provisioned_resources_input : ?next_token:string -> environment_name:string -> unit -> list_environment_provisioned_resources_input
val make_list_environment_outputs_output : ?next_token:string -> outputs:output list -> unit -> list_environment_outputs_output
val make_list_environment_outputs_input : ?deployment_id:string -> ?next_token:string -> environment_name:string -> unit -> list_environment_outputs_input
val make_environment_account_connection_summary : ?component_role_arn:string -> status:environment_account_connection_status -> last_modified_at:float -> requested_at:float -> environment_name:string -> role_arn:string -> environment_account_id:string -> management_account_id:string -> arn:string -> id:string -> unit -> environment_account_connection_summary
val make_list_environment_account_connections_output : ?next_token:string -> environment_account_connections:environment_account_connection_summary list -> unit -> list_environment_account_connections_output
val make_list_environment_account_connections_input : ?max_results:int -> ?next_token:string -> ?statuses:environment_account_connection_status list -> ?environment_name:string -> requested_by:environment_account_connection_requester_account_type -> unit -> list_environment_account_connections_input
val make_deployment_summary : ?last_succeeded_deployment_id:string -> ?last_attempted_deployment_id:string -> ?component_name:string -> ?service_instance_name:string -> ?service_name:string -> ?completed_at:float -> deployment_status:deployment_status -> environment_name:string -> last_modified_at:float -> created_at:float -> target_resource_type:deployment_target_resource_type -> target_resource_created_at:float -> target_arn:string -> arn:string -> id:string -> unit -> deployment_summary

Create a deployment_summary type

val make_list_deployments_output : ?next_token:string -> deployments:deployment_summary list -> unit -> list_deployments_output
val make_list_deployments_input : ?max_results:int -> ?component_name:string -> ?service_instance_name:string -> ?service_name:string -> ?environment_name:string -> ?next_token:string -> unit -> list_deployments_input
val make_component_summary : ?last_succeeded_deployment_id:string -> ?last_attempted_deployment_id:string -> ?deployment_status_message:string -> ?last_deployment_succeeded_at:float -> ?last_deployment_attempted_at:float -> ?service_instance_name:string -> ?service_name:string -> deployment_status:deployment_status -> last_modified_at:float -> created_at:float -> environment_name:string -> arn:string -> name:string -> unit -> component_summary

Create a component_summary type

val make_list_components_output : ?next_token:string -> components:component_summary list -> unit -> list_components_output
val make_list_components_input : ?max_results:int -> ?service_instance_name:string -> ?service_name:string -> ?environment_name:string -> ?next_token:string -> unit -> list_components_input

Create a list_components_input type

val make_list_component_provisioned_resources_output : ?next_token:string -> provisioned_resources:provisioned_resource list -> unit -> list_component_provisioned_resources_output
val make_list_component_provisioned_resources_input : ?next_token:string -> component_name:string -> unit -> list_component_provisioned_resources_input
val make_list_component_outputs_output : ?next_token:string -> outputs:output list -> unit -> list_component_outputs_output
val make_list_component_outputs_input : ?deployment_id:string -> ?next_token:string -> component_name:string -> unit -> list_component_outputs_input
val make_get_template_sync_status_output : ?desired_state:revision -> ?latest_successful_sync:resource_sync_attempt -> ?latest_sync:resource_sync_attempt -> unit -> get_template_sync_status_output
val make_get_template_sync_status_input : template_version:string -> template_type:template_type -> template_name:string -> unit -> get_template_sync_status_input
val make_get_template_sync_config_output : ?template_sync_config:template_sync_config -> unit -> get_template_sync_config_output
val make_get_template_sync_config_input : template_type:template_type -> template_name:string -> unit -> get_template_sync_config_input
val make_get_service_template_version_output : service_template_version:service_template_version -> unit -> get_service_template_version_output
val make_get_service_template_version_input : minor_version:string -> major_version:string -> template_name:string -> unit -> get_service_template_version_input
val make_get_service_template_output : service_template:service_template -> unit -> get_service_template_output
val make_get_service_template_input : name:string -> unit -> get_service_template_input
val make_get_service_sync_config_output : ?service_sync_config:service_sync_config -> unit -> get_service_sync_config_output
val make_get_service_sync_config_input : service_name:string -> unit -> get_service_sync_config_input
val make_get_service_sync_blocker_summary_output : ?service_sync_blocker_summary:service_sync_blocker_summary -> unit -> get_service_sync_blocker_summary_output
val make_get_service_sync_blocker_summary_input : ?service_instance_name:string -> service_name:string -> unit -> get_service_sync_blocker_summary_input
val make_get_service_output : ?service:service -> unit -> get_service_output

Create a get_service_output type

val make_get_service_instance_sync_status_output : ?desired_state:revision -> ?latest_successful_sync:resource_sync_attempt -> ?latest_sync:resource_sync_attempt -> unit -> get_service_instance_sync_status_output
val make_get_service_instance_sync_status_input : service_instance_name:string -> service_name:string -> unit -> get_service_instance_sync_status_input
val make_get_service_instance_output : service_instance:service_instance -> unit -> get_service_instance_output
val make_get_service_instance_input : service_name:string -> name:string -> unit -> get_service_instance_input
val make_get_service_input : name:string -> unit -> get_service_input

Create a get_service_input type

val make_counts_summary : ?pipelines:resource_counts_summary -> ?service_templates:resource_counts_summary -> ?services:resource_counts_summary -> ?service_instances:resource_counts_summary -> ?environment_templates:resource_counts_summary -> ?environments:resource_counts_summary -> ?components:resource_counts_summary -> unit -> counts_summary

Create a counts_summary type

val make_get_resources_summary_output : counts:counts_summary -> unit -> get_resources_summary_output
val make_get_resources_summary_input : unit -> get_resources_summary_input
val make_get_repository_sync_status_output : ?latest_sync:repository_sync_attempt -> unit -> get_repository_sync_status_output
val make_get_repository_sync_status_input : sync_type:sync_type -> branch:string -> repository_provider:repository_provider -> repository_name:string -> unit -> get_repository_sync_status_input
val make_get_repository_output : repository:repository -> unit -> get_repository_output

Create a get_repository_output type

val make_get_repository_input : name:string -> provider:repository_provider -> unit -> get_repository_input

Create a get_repository_input type

val make_get_environment_template_version_output : environment_template_version:environment_template_version -> unit -> get_environment_template_version_output
val make_get_environment_template_version_input : minor_version:string -> major_version:string -> template_name:string -> unit -> get_environment_template_version_input
val make_get_environment_template_output : environment_template:environment_template -> unit -> get_environment_template_output
val make_get_environment_template_input : name:string -> unit -> get_environment_template_input
val make_get_environment_output : environment:environment -> unit -> get_environment_output
val make_get_environment_input : name:string -> unit -> get_environment_input

Create a get_environment_input type

val make_get_environment_account_connection_output : environment_account_connection:environment_account_connection -> unit -> get_environment_account_connection_output
val make_get_environment_account_connection_input : id:string -> unit -> get_environment_account_connection_input
val make_environment_state : ?spec:string -> template_minor_version:string -> template_major_version:string -> template_name:string -> unit -> environment_state

Create a environment_state type

val make_component_state : ?template_file:string -> ?service_spec:string -> ?service_instance_name:string -> ?service_name:string -> unit -> component_state

Create a component_state type

val make_deployment : ?target_state:deployment_state -> ?initial_state:deployment_state -> ?last_succeeded_deployment_id:string -> ?last_attempted_deployment_id:string -> ?completed_at:float -> ?deployment_status_message:string -> ?component_name:string -> ?service_instance_name:string -> ?service_name:string -> last_modified_at:float -> created_at:float -> deployment_status:deployment_status -> environment_name:string -> target_resource_type:deployment_target_resource_type -> target_resource_created_at:float -> target_arn:string -> arn:string -> id:string -> unit -> deployment

Create a deployment type

val make_get_deployment_output : ?deployment:deployment -> unit -> get_deployment_output

Create a get_deployment_output type

val make_get_deployment_input : ?component_name:string -> ?service_instance_name:string -> ?service_name:string -> ?environment_name:string -> id:string -> unit -> get_deployment_input

Create a get_deployment_input type

val make_get_component_output : ?component:component -> unit -> get_component_output

Create a get_component_output type

val make_get_component_input : name:string -> unit -> get_component_input

Create a get_component_input type

val make_get_account_settings_output : ?account_settings:account_settings -> unit -> get_account_settings_output
val make_get_account_settings_input : unit -> get_account_settings_input
val make_delete_template_sync_config_output : ?template_sync_config:template_sync_config -> unit -> delete_template_sync_config_output
val make_delete_template_sync_config_input : template_type:template_type -> template_name:string -> unit -> delete_template_sync_config_input
val make_delete_service_template_version_output : ?service_template_version:service_template_version -> unit -> delete_service_template_version_output
val make_delete_service_template_version_input : minor_version:string -> major_version:string -> template_name:string -> unit -> delete_service_template_version_input
val make_delete_service_template_output : ?service_template:service_template -> unit -> delete_service_template_output
val make_delete_service_template_input : name:string -> unit -> delete_service_template_input
val make_delete_service_sync_config_output : ?service_sync_config:service_sync_config -> unit -> delete_service_sync_config_output
val make_delete_service_sync_config_input : service_name:string -> unit -> delete_service_sync_config_input
val make_delete_service_output : ?service:service -> unit -> delete_service_output

Create a delete_service_output type

val make_delete_service_input : name:string -> unit -> delete_service_input

Create a delete_service_input type

val make_delete_repository_output : ?repository:repository -> unit -> delete_repository_output
val make_delete_repository_input : name:string -> provider:repository_provider -> unit -> delete_repository_input
val make_delete_environment_template_version_output : ?environment_template_version:environment_template_version -> unit -> delete_environment_template_version_output
val make_delete_environment_template_version_input : minor_version:string -> major_version:string -> template_name:string -> unit -> delete_environment_template_version_input
val make_delete_environment_template_output : ?environment_template:environment_template -> unit -> delete_environment_template_output
val make_delete_environment_template_input : name:string -> unit -> delete_environment_template_input
val make_delete_environment_output : ?environment:environment -> unit -> delete_environment_output
val make_delete_environment_input : name:string -> unit -> delete_environment_input
val make_delete_environment_account_connection_output : ?environment_account_connection:environment_account_connection -> unit -> delete_environment_account_connection_output
val make_delete_environment_account_connection_input : id:string -> unit -> delete_environment_account_connection_input
val make_delete_deployment_output : ?deployment:deployment -> unit -> delete_deployment_output
val make_delete_deployment_input : id:string -> unit -> delete_deployment_input
val make_delete_component_output : ?component:component -> unit -> delete_component_output
val make_delete_component_input : name:string -> unit -> delete_component_input
val make_create_template_sync_config_output : ?template_sync_config:template_sync_config -> unit -> create_template_sync_config_output
val make_create_template_sync_config_input : ?subdirectory:string -> branch:string -> repository_name:string -> repository_provider:repository_provider -> template_type:template_type -> template_name:string -> unit -> create_template_sync_config_input
val make_create_service_template_version_output : service_template_version:service_template_version -> unit -> create_service_template_version_output
val make_create_service_template_version_input : ?supported_component_sources: service_template_supported_component_source_type list -> ?tags:tag list -> ?major_version:string -> ?description:string -> ?client_token:string -> compatible_environment_templates:compatible_environment_template_input list -> source:template_version_source_input -> template_name:string -> unit -> create_service_template_version_input
val make_create_service_template_output : service_template:service_template -> unit -> create_service_template_output
val make_create_service_template_input : ?tags:tag list -> ?pipeline_provisioning:provisioning -> ?encryption_key:string -> ?description:string -> ?display_name:string -> name:string -> unit -> create_service_template_input
val make_create_service_sync_config_output : ?service_sync_config:service_sync_config -> unit -> create_service_sync_config_output
val make_create_service_sync_config_input : file_path:string -> branch:string -> repository_name:string -> repository_provider:repository_provider -> service_name:string -> unit -> create_service_sync_config_input
val make_create_service_output : service:service -> unit -> create_service_output

Create a create_service_output type

val make_create_service_instance_output : service_instance:service_instance -> unit -> create_service_instance_output
val make_create_service_instance_input : ?client_token:string -> ?tags:tag list -> ?template_minor_version:string -> ?template_major_version:string -> spec:string -> service_name:string -> name:string -> unit -> create_service_instance_input
val make_create_service_input : ?tags:tag list -> ?branch_name:string -> ?repository_id:string -> ?repository_connection_arn:string -> ?template_minor_version:string -> ?description:string -> spec:string -> template_major_version:string -> template_name:string -> name:string -> unit -> create_service_input

Create a create_service_input type

val make_create_repository_output : repository:repository -> unit -> create_repository_output
val make_create_repository_input : ?tags:tag list -> ?encryption_key:string -> connection_arn:string -> name:string -> provider:repository_provider -> unit -> create_repository_input
val make_create_environment_template_version_output : environment_template_version:environment_template_version -> unit -> create_environment_template_version_output
val make_create_environment_template_version_input : ?tags:tag list -> ?major_version:string -> ?description:string -> ?client_token:string -> source:template_version_source_input -> template_name:string -> unit -> create_environment_template_version_input
val make_create_environment_template_output : environment_template:environment_template -> unit -> create_environment_template_output
val make_create_environment_template_input : ?tags:tag list -> ?provisioning:provisioning -> ?encryption_key:string -> ?description:string -> ?display_name:string -> name:string -> unit -> create_environment_template_input
val make_create_environment_output : environment:environment -> unit -> create_environment_output
val make_create_environment_input : ?codebuild_role_arn:string -> ?component_role_arn:string -> ?provisioning_repository:repository_branch_input -> ?tags:tag list -> ?environment_account_connection_id:string -> ?proton_service_role_arn:string -> ?description:string -> ?template_minor_version:string -> spec:string -> template_major_version:string -> template_name:string -> name:string -> unit -> create_environment_input
val make_create_environment_account_connection_output : environment_account_connection:environment_account_connection -> unit -> create_environment_account_connection_output
val make_create_environment_account_connection_input : ?codebuild_role_arn:string -> ?component_role_arn:string -> ?tags:tag list -> ?role_arn:string -> ?client_token:string -> environment_name:string -> management_account_id:string -> unit -> create_environment_account_connection_input
val make_create_component_output : component:component -> unit -> create_component_output
val make_create_component_input : ?client_token:string -> ?tags:tag list -> ?service_spec:string -> ?environment_name:string -> ?service_instance_name:string -> ?service_name:string -> ?description:string -> manifest:string -> template_file:string -> name:string -> unit -> create_component_input
val make_cancel_service_pipeline_deployment_output : pipeline:service_pipeline -> unit -> cancel_service_pipeline_deployment_output
val make_cancel_service_pipeline_deployment_input : service_name:string -> unit -> cancel_service_pipeline_deployment_input
val make_cancel_service_instance_deployment_output : service_instance:service_instance -> unit -> cancel_service_instance_deployment_output
val make_cancel_service_instance_deployment_input : service_name:string -> service_instance_name:string -> unit -> cancel_service_instance_deployment_input
val make_cancel_environment_deployment_output : environment:environment -> unit -> cancel_environment_deployment_output
val make_cancel_environment_deployment_input : environment_name:string -> unit -> cancel_environment_deployment_input
val make_cancel_component_deployment_output : component:component -> unit -> cancel_component_deployment_output
val make_cancel_component_deployment_input : component_name:string -> unit -> cancel_component_deployment_input
val make_accept_environment_account_connection_output : environment_account_connection:environment_account_connection -> unit -> accept_environment_account_connection_output
val make_accept_environment_account_connection_input : id:string -> unit -> accept_environment_account_connection_input

Operations

module CancelComponentDeployment : sig ... end
module CancelEnvironmentDeployment : sig ... end
module CancelServiceInstanceDeployment : sig ... end
module CancelServicePipelineDeployment : sig ... end
module CreateComponent : sig ... end
module CreateEnvironment : sig ... end
module CreateEnvironmentTemplate : sig ... end
module CreateRepository : sig ... end
module CreateService : sig ... end
module CreateServiceInstance : sig ... end
module CreateServiceSyncConfig : sig ... end
module CreateServiceTemplate : sig ... end
module CreateServiceTemplateVersion : sig ... end
module CreateTemplateSyncConfig : sig ... end
module DeleteComponent : sig ... end
module DeleteDeployment : sig ... end
module DeleteEnvironment : sig ... end
module DeleteEnvironmentTemplate : sig ... end
module DeleteRepository : sig ... end
module DeleteService : sig ... end
module DeleteServiceSyncConfig : sig ... end
module DeleteServiceTemplate : sig ... end
module DeleteServiceTemplateVersion : sig ... end
module DeleteTemplateSyncConfig : sig ... end
module GetAccountSettings : sig ... end
module GetComponent : sig ... end
module GetDeployment : sig ... end
module GetEnvironment : sig ... end
module GetEnvironmentAccountConnection : sig ... end
module GetEnvironmentTemplate : sig ... end
module GetEnvironmentTemplateVersion : sig ... end
module GetRepository : sig ... end
module GetRepositorySyncStatus : sig ... end
module GetResourcesSummary : sig ... end
module GetService : sig ... end
module GetServiceInstance : sig ... end
module GetServiceInstanceSyncStatus : sig ... end
module GetServiceSyncBlockerSummary : sig ... end
module GetServiceSyncConfig : sig ... end
module GetServiceTemplate : sig ... end
module GetServiceTemplateVersion : sig ... end
module GetTemplateSyncConfig : sig ... end
module GetTemplateSyncStatus : sig ... end
module ListComponentOutputs : sig ... end
module ListComponents : sig ... end
module ListDeployments : sig ... end
module ListEnvironmentOutputs : sig ... end
module ListEnvironmentTemplateVersions : sig ... end
module ListEnvironmentTemplates : sig ... end
module ListEnvironments : sig ... end
module ListRepositories : sig ... end
module ListRepositorySyncDefinitions : sig ... end
module ListServiceInstanceOutputs : sig ... end
module ListServiceInstances : sig ... end
module ListServicePipelineOutputs : sig ... end
module ListServiceTemplateVersions : sig ... end
module ListServiceTemplates : sig ... end
module ListServices : sig ... end
module ListTagsForResource : sig ... end
module TagResource : sig ... end
module UntagResource : sig ... end
module UpdateAccountSettings : sig ... end
module UpdateComponent : sig ... end
module UpdateEnvironment : sig ... end
module UpdateEnvironmentTemplate : sig ... end
module UpdateService : sig ... end
module UpdateServiceInstance : sig ... end
module UpdateServicePipeline : sig ... end
module UpdateServiceSyncBlocker : sig ... end
module UpdateServiceSyncConfig : sig ... end
module UpdateServiceTemplate : sig ... end
module UpdateServiceTemplateVersion : sig ... end
module UpdateTemplateSyncConfig : sig ... end