amazonka-proton-2.0: Amazon Proton SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.Proton.CreateEnvironment

Description

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

You can provision environments using the following methods:

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

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

Synopsis

Creating a Request

data CreateEnvironment Source #

See: newCreateEnvironment smart constructor.

Constructors

CreateEnvironment' 

Fields

  • codebuildRoleArn :: Maybe Text

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

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

  • componentRoleArn :: Maybe Text

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

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

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

  • description :: Maybe (Sensitive Text)

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

  • environmentAccountConnectionId :: Maybe Text

    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.

  • protonServiceRoleArn :: Maybe Text

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

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

  • provisioningRepository :: Maybe RepositoryBranchInput

    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.

  • tags :: Maybe [Tag]

    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.

  • templateMinorVersion :: Maybe Text

    The minor version of the environment template.

  • name :: Text

    The name of the environment.

  • spec :: Sensitive Text

    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.

  • templateMajorVersion :: Text

    The major version of the environment template.

  • templateName :: Text

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

Instances

Instances details
ToJSON CreateEnvironment Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

ToHeaders CreateEnvironment Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

ToPath CreateEnvironment Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

ToQuery CreateEnvironment Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

AWSRequest CreateEnvironment Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

Associated Types

type AWSResponse CreateEnvironment #

Generic CreateEnvironment Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

Associated Types

type Rep CreateEnvironment :: Type -> Type #

Show CreateEnvironment Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

NFData CreateEnvironment Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

Methods

rnf :: CreateEnvironment -> () #

Eq CreateEnvironment Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

Hashable CreateEnvironment Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

type AWSResponse CreateEnvironment Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

type Rep CreateEnvironment Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

type Rep CreateEnvironment = D1 ('MetaData "CreateEnvironment" "Amazonka.Proton.CreateEnvironment" "amazonka-proton-2.0-LlJ92rKPVfGGXHsLqGeI74" 'False) (C1 ('MetaCons "CreateEnvironment'" 'PrefixI 'True) (((S1 ('MetaSel ('Just "codebuildRoleArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "componentRoleArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Sensitive Text))))) :*: (S1 ('MetaSel ('Just "environmentAccountConnectionId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "protonServiceRoleArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "provisioningRepository") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RepositoryBranchInput))))) :*: ((S1 ('MetaSel ('Just "tags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Tag])) :*: (S1 ('MetaSel ('Just "templateMinorVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text))) :*: (S1 ('MetaSel ('Just "spec") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Sensitive Text)) :*: (S1 ('MetaSel ('Just "templateMajorVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "templateName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text))))))

newCreateEnvironment Source #

Create a value of CreateEnvironment with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

CreateEnvironment, createEnvironment_codebuildRoleArn - 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.

CreateEnvironment, createEnvironment_componentRoleArn - 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.

CreateEnvironment, createEnvironment_description - A description of the environment that's being created and deployed.

CreateEnvironment, createEnvironment_environmentAccountConnectionId - 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.

CreateEnvironment, createEnvironment_protonServiceRoleArn - 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.

CreateEnvironment, createEnvironment_provisioningRepository - 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.

$sel:tags:CreateEnvironment', createEnvironment_tags - 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.

CreateEnvironment, createEnvironment_templateMinorVersion - The minor version of the environment template.

CreateEnvironment, createEnvironment_name - The name of the environment.

CreateEnvironment, createEnvironment_spec - 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.

CreateEnvironment, createEnvironment_templateMajorVersion - The major version of the environment template.

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

Request Lenses

createEnvironment_codebuildRoleArn :: Lens' CreateEnvironment (Maybe Text) Source #

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.

createEnvironment_componentRoleArn :: Lens' CreateEnvironment (Maybe Text) Source #

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.

createEnvironment_description :: Lens' CreateEnvironment (Maybe Text) Source #

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

createEnvironment_environmentAccountConnectionId :: Lens' CreateEnvironment (Maybe Text) Source #

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.

createEnvironment_protonServiceRoleArn :: Lens' CreateEnvironment (Maybe Text) Source #

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.

createEnvironment_provisioningRepository :: Lens' CreateEnvironment (Maybe RepositoryBranchInput) Source #

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.

createEnvironment_tags :: Lens' CreateEnvironment (Maybe [Tag]) Source #

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.

createEnvironment_templateMinorVersion :: Lens' CreateEnvironment (Maybe Text) Source #

The minor version of the environment template.

createEnvironment_spec :: Lens' CreateEnvironment Text Source #

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.

createEnvironment_templateMajorVersion :: Lens' CreateEnvironment Text Source #

The major version of the environment template.

createEnvironment_templateName :: Lens' CreateEnvironment Text Source #

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

Destructuring the Response

data CreateEnvironmentResponse Source #

See: newCreateEnvironmentResponse smart constructor.

Constructors

CreateEnvironmentResponse' 

Fields

Instances

Instances details
Generic CreateEnvironmentResponse Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

Associated Types

type Rep CreateEnvironmentResponse :: Type -> Type #

Show CreateEnvironmentResponse Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

NFData CreateEnvironmentResponse Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

Eq CreateEnvironmentResponse Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

type Rep CreateEnvironmentResponse Source # 
Instance details

Defined in Amazonka.Proton.CreateEnvironment

type Rep CreateEnvironmentResponse = D1 ('MetaData "CreateEnvironmentResponse" "Amazonka.Proton.CreateEnvironment" "amazonka-proton-2.0-LlJ92rKPVfGGXHsLqGeI74" 'False) (C1 ('MetaCons "CreateEnvironmentResponse'" 'PrefixI 'True) (S1 ('MetaSel ('Just "httpStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "environment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Environment)))

newCreateEnvironmentResponse Source #

Create a value of CreateEnvironmentResponse with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:httpStatus:CreateEnvironmentResponse', createEnvironmentResponse_httpStatus - The response's http status code.

$sel:environment:CreateEnvironmentResponse', createEnvironmentResponse_environment - The environment detail data that's returned by Proton.

Response Lenses

createEnvironmentResponse_environment :: Lens' CreateEnvironmentResponse Environment Source #

The environment detail data that's returned by Proton.