{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-unused-binds #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Amazonka.M2.GetEnvironment -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes a specific runtime environment. module Amazonka.M2.GetEnvironment ( -- * Creating a Request GetEnvironment (..), newGetEnvironment, -- * Request Lenses getEnvironment_environmentId, -- * Destructuring the Response GetEnvironmentResponse (..), newGetEnvironmentResponse, -- * Response Lenses getEnvironmentResponse_actualCapacity, getEnvironmentResponse_description, getEnvironmentResponse_highAvailabilityConfig, getEnvironmentResponse_kmsKeyId, getEnvironmentResponse_loadBalancerArn, getEnvironmentResponse_pendingMaintenance, getEnvironmentResponse_preferredMaintenanceWindow, getEnvironmentResponse_publiclyAccessible, getEnvironmentResponse_statusReason, getEnvironmentResponse_storageConfigurations, getEnvironmentResponse_tags, getEnvironmentResponse_httpStatus, getEnvironmentResponse_creationTime, getEnvironmentResponse_engineType, getEnvironmentResponse_engineVersion, getEnvironmentResponse_environmentArn, getEnvironmentResponse_environmentId, getEnvironmentResponse_instanceType, getEnvironmentResponse_name, getEnvironmentResponse_securityGroupIds, getEnvironmentResponse_status, getEnvironmentResponse_subnetIds, getEnvironmentResponse_vpcId, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.M2.Types import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newGetEnvironment' smart constructor. data GetEnvironment = GetEnvironment' { -- | The unique identifier of the runtime environment. environmentId :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'GetEnvironment' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'environmentId', 'getEnvironment_environmentId' - The unique identifier of the runtime environment. newGetEnvironment :: -- | 'environmentId' Prelude.Text -> GetEnvironment newGetEnvironment pEnvironmentId_ = GetEnvironment' {environmentId = pEnvironmentId_} -- | The unique identifier of the runtime environment. getEnvironment_environmentId :: Lens.Lens' GetEnvironment Prelude.Text getEnvironment_environmentId = Lens.lens (\GetEnvironment' {environmentId} -> environmentId) (\s@GetEnvironment' {} a -> s {environmentId = a} :: GetEnvironment) instance Core.AWSRequest GetEnvironment where type AWSResponse GetEnvironment = GetEnvironmentResponse request overrides = Request.get (overrides defaultService) response = Response.receiveJSON ( \s h x -> GetEnvironmentResponse' Prelude.<$> (x Data..?> "actualCapacity") Prelude.<*> (x Data..?> "description") Prelude.<*> (x Data..?> "highAvailabilityConfig") Prelude.<*> (x Data..?> "kmsKeyId") Prelude.<*> (x Data..?> "loadBalancerArn") Prelude.<*> (x Data..?> "pendingMaintenance") Prelude.<*> (x Data..?> "preferredMaintenanceWindow") Prelude.<*> (x Data..?> "publiclyAccessible") Prelude.<*> (x Data..?> "statusReason") Prelude.<*> ( x Data..?> "storageConfigurations" Core..!@ Prelude.mempty ) Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty) Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) Prelude.<*> (x Data..:> "creationTime") Prelude.<*> (x Data..:> "engineType") Prelude.<*> (x Data..:> "engineVersion") Prelude.<*> (x Data..:> "environmentArn") Prelude.<*> (x Data..:> "environmentId") Prelude.<*> (x Data..:> "instanceType") Prelude.<*> (x Data..:> "name") Prelude.<*> ( x Data..?> "securityGroupIds" Core..!@ Prelude.mempty ) Prelude.<*> (x Data..:> "status") Prelude.<*> (x Data..?> "subnetIds" Core..!@ Prelude.mempty) Prelude.<*> (x Data..:> "vpcId") ) instance Prelude.Hashable GetEnvironment where hashWithSalt _salt GetEnvironment' {..} = _salt `Prelude.hashWithSalt` environmentId instance Prelude.NFData GetEnvironment where rnf GetEnvironment' {..} = Prelude.rnf environmentId instance Data.ToHeaders GetEnvironment where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToPath GetEnvironment where toPath GetEnvironment' {..} = Prelude.mconcat ["/environments/", Data.toBS environmentId] instance Data.ToQuery GetEnvironment where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newGetEnvironmentResponse' smart constructor. data GetEnvironmentResponse = GetEnvironmentResponse' { -- | The number of instances included in the runtime environment. A -- standalone runtime environment has a maxiumum of one instance. -- Currently, a high availability runtime environment has a maximum of two -- instances. actualCapacity :: Prelude.Maybe Prelude.Natural, -- | The description of the runtime environment. description :: Prelude.Maybe Prelude.Text, -- | The desired capacity of the high availability configuration for the -- runtime environment. highAvailabilityConfig :: Prelude.Maybe HighAvailabilityConfig, -- | The identifier of a customer managed key. kmsKeyId :: Prelude.Maybe Prelude.Text, -- | The Amazon Resource Name (ARN) for the load balancer used with the -- runtime environment. loadBalancerArn :: Prelude.Maybe Prelude.Text, -- | Indicates the pending maintenance scheduled on this environment. pendingMaintenance :: Prelude.Maybe PendingMaintenance, -- | Configures the maintenance window you want for the runtime environment. -- If you do not provide a value, a random system-generated value will be -- assigned. preferredMaintenanceWindow :: Prelude.Maybe Prelude.Text, -- | Whether applications running in this runtime environment are publicly -- accessible. publiclyAccessible :: Prelude.Maybe Prelude.Bool, -- | The reason for the reported status. statusReason :: Prelude.Maybe Prelude.Text, -- | The storage configurations defined for the runtime environment. storageConfigurations :: Prelude.Maybe [StorageConfiguration], -- | The tags defined for this runtime environment. tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text), -- | The response's http status code. httpStatus :: Prelude.Int, -- | The timestamp when the runtime environment was created. creationTime :: Data.POSIX, -- | The target platform for the runtime environment. engineType :: EngineType, -- | The version of the runtime engine. engineVersion :: Prelude.Text, -- | The Amazon Resource Name (ARN) of the runtime environment. environmentArn :: Prelude.Text, -- | The unique identifier of the runtime environment. environmentId :: Prelude.Text, -- | The type of instance underlying the runtime environment. instanceType :: Prelude.Text, -- | The name of the runtime environment. Must be unique within the account. name :: Prelude.Text, -- | The unique identifiers of the security groups assigned to this runtime -- environment. securityGroupIds :: [Prelude.Text], -- | The status of the runtime environment. status :: EnvironmentLifecycle, -- | The unique identifiers of the subnets assigned to this runtime -- environment. subnetIds :: [Prelude.Text], -- | The unique identifier for the VPC used with this runtime environment. vpcId :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'GetEnvironmentResponse' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'actualCapacity', 'getEnvironmentResponse_actualCapacity' - The number of instances included in the runtime environment. A -- standalone runtime environment has a maxiumum of one instance. -- Currently, a high availability runtime environment has a maximum of two -- instances. -- -- 'description', 'getEnvironmentResponse_description' - The description of the runtime environment. -- -- 'highAvailabilityConfig', 'getEnvironmentResponse_highAvailabilityConfig' - The desired capacity of the high availability configuration for the -- runtime environment. -- -- 'kmsKeyId', 'getEnvironmentResponse_kmsKeyId' - The identifier of a customer managed key. -- -- 'loadBalancerArn', 'getEnvironmentResponse_loadBalancerArn' - The Amazon Resource Name (ARN) for the load balancer used with the -- runtime environment. -- -- 'pendingMaintenance', 'getEnvironmentResponse_pendingMaintenance' - Indicates the pending maintenance scheduled on this environment. -- -- 'preferredMaintenanceWindow', 'getEnvironmentResponse_preferredMaintenanceWindow' - Configures the maintenance window you want for the runtime environment. -- If you do not provide a value, a random system-generated value will be -- assigned. -- -- 'publiclyAccessible', 'getEnvironmentResponse_publiclyAccessible' - Whether applications running in this runtime environment are publicly -- accessible. -- -- 'statusReason', 'getEnvironmentResponse_statusReason' - The reason for the reported status. -- -- 'storageConfigurations', 'getEnvironmentResponse_storageConfigurations' - The storage configurations defined for the runtime environment. -- -- 'tags', 'getEnvironmentResponse_tags' - The tags defined for this runtime environment. -- -- 'httpStatus', 'getEnvironmentResponse_httpStatus' - The response's http status code. -- -- 'creationTime', 'getEnvironmentResponse_creationTime' - The timestamp when the runtime environment was created. -- -- 'engineType', 'getEnvironmentResponse_engineType' - The target platform for the runtime environment. -- -- 'engineVersion', 'getEnvironmentResponse_engineVersion' - The version of the runtime engine. -- -- 'environmentArn', 'getEnvironmentResponse_environmentArn' - The Amazon Resource Name (ARN) of the runtime environment. -- -- 'environmentId', 'getEnvironmentResponse_environmentId' - The unique identifier of the runtime environment. -- -- 'instanceType', 'getEnvironmentResponse_instanceType' - The type of instance underlying the runtime environment. -- -- 'name', 'getEnvironmentResponse_name' - The name of the runtime environment. Must be unique within the account. -- -- 'securityGroupIds', 'getEnvironmentResponse_securityGroupIds' - The unique identifiers of the security groups assigned to this runtime -- environment. -- -- 'status', 'getEnvironmentResponse_status' - The status of the runtime environment. -- -- 'subnetIds', 'getEnvironmentResponse_subnetIds' - The unique identifiers of the subnets assigned to this runtime -- environment. -- -- 'vpcId', 'getEnvironmentResponse_vpcId' - The unique identifier for the VPC used with this runtime environment. newGetEnvironmentResponse :: -- | 'httpStatus' Prelude.Int -> -- | 'creationTime' Prelude.UTCTime -> -- | 'engineType' EngineType -> -- | 'engineVersion' Prelude.Text -> -- | 'environmentArn' Prelude.Text -> -- | 'environmentId' Prelude.Text -> -- | 'instanceType' Prelude.Text -> -- | 'name' Prelude.Text -> -- | 'status' EnvironmentLifecycle -> -- | 'vpcId' Prelude.Text -> GetEnvironmentResponse newGetEnvironmentResponse pHttpStatus_ pCreationTime_ pEngineType_ pEngineVersion_ pEnvironmentArn_ pEnvironmentId_ pInstanceType_ pName_ pStatus_ pVpcId_ = GetEnvironmentResponse' { actualCapacity = Prelude.Nothing, description = Prelude.Nothing, highAvailabilityConfig = Prelude.Nothing, kmsKeyId = Prelude.Nothing, loadBalancerArn = Prelude.Nothing, pendingMaintenance = Prelude.Nothing, preferredMaintenanceWindow = Prelude.Nothing, publiclyAccessible = Prelude.Nothing, statusReason = Prelude.Nothing, storageConfigurations = Prelude.Nothing, tags = Prelude.Nothing, httpStatus = pHttpStatus_, creationTime = Data._Time Lens.# pCreationTime_, engineType = pEngineType_, engineVersion = pEngineVersion_, environmentArn = pEnvironmentArn_, environmentId = pEnvironmentId_, instanceType = pInstanceType_, name = pName_, securityGroupIds = Prelude.mempty, status = pStatus_, subnetIds = Prelude.mempty, vpcId = pVpcId_ } -- | The number of instances included in the runtime environment. A -- standalone runtime environment has a maxiumum of one instance. -- Currently, a high availability runtime environment has a maximum of two -- instances. getEnvironmentResponse_actualCapacity :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.Natural) getEnvironmentResponse_actualCapacity = Lens.lens (\GetEnvironmentResponse' {actualCapacity} -> actualCapacity) (\s@GetEnvironmentResponse' {} a -> s {actualCapacity = a} :: GetEnvironmentResponse) -- | The description of the runtime environment. getEnvironmentResponse_description :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.Text) getEnvironmentResponse_description = Lens.lens (\GetEnvironmentResponse' {description} -> description) (\s@GetEnvironmentResponse' {} a -> s {description = a} :: GetEnvironmentResponse) -- | The desired capacity of the high availability configuration for the -- runtime environment. getEnvironmentResponse_highAvailabilityConfig :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe HighAvailabilityConfig) getEnvironmentResponse_highAvailabilityConfig = Lens.lens (\GetEnvironmentResponse' {highAvailabilityConfig} -> highAvailabilityConfig) (\s@GetEnvironmentResponse' {} a -> s {highAvailabilityConfig = a} :: GetEnvironmentResponse) -- | The identifier of a customer managed key. getEnvironmentResponse_kmsKeyId :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.Text) getEnvironmentResponse_kmsKeyId = Lens.lens (\GetEnvironmentResponse' {kmsKeyId} -> kmsKeyId) (\s@GetEnvironmentResponse' {} a -> s {kmsKeyId = a} :: GetEnvironmentResponse) -- | The Amazon Resource Name (ARN) for the load balancer used with the -- runtime environment. getEnvironmentResponse_loadBalancerArn :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.Text) getEnvironmentResponse_loadBalancerArn = Lens.lens (\GetEnvironmentResponse' {loadBalancerArn} -> loadBalancerArn) (\s@GetEnvironmentResponse' {} a -> s {loadBalancerArn = a} :: GetEnvironmentResponse) -- | Indicates the pending maintenance scheduled on this environment. getEnvironmentResponse_pendingMaintenance :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe PendingMaintenance) getEnvironmentResponse_pendingMaintenance = Lens.lens (\GetEnvironmentResponse' {pendingMaintenance} -> pendingMaintenance) (\s@GetEnvironmentResponse' {} a -> s {pendingMaintenance = a} :: GetEnvironmentResponse) -- | Configures the maintenance window you want for the runtime environment. -- If you do not provide a value, a random system-generated value will be -- assigned. getEnvironmentResponse_preferredMaintenanceWindow :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.Text) getEnvironmentResponse_preferredMaintenanceWindow = Lens.lens (\GetEnvironmentResponse' {preferredMaintenanceWindow} -> preferredMaintenanceWindow) (\s@GetEnvironmentResponse' {} a -> s {preferredMaintenanceWindow = a} :: GetEnvironmentResponse) -- | Whether applications running in this runtime environment are publicly -- accessible. getEnvironmentResponse_publiclyAccessible :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.Bool) getEnvironmentResponse_publiclyAccessible = Lens.lens (\GetEnvironmentResponse' {publiclyAccessible} -> publiclyAccessible) (\s@GetEnvironmentResponse' {} a -> s {publiclyAccessible = a} :: GetEnvironmentResponse) -- | The reason for the reported status. getEnvironmentResponse_statusReason :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.Text) getEnvironmentResponse_statusReason = Lens.lens (\GetEnvironmentResponse' {statusReason} -> statusReason) (\s@GetEnvironmentResponse' {} a -> s {statusReason = a} :: GetEnvironmentResponse) -- | The storage configurations defined for the runtime environment. getEnvironmentResponse_storageConfigurations :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe [StorageConfiguration]) getEnvironmentResponse_storageConfigurations = Lens.lens (\GetEnvironmentResponse' {storageConfigurations} -> storageConfigurations) (\s@GetEnvironmentResponse' {} a -> s {storageConfigurations = a} :: GetEnvironmentResponse) Prelude.. Lens.mapping Lens.coerced -- | The tags defined for this runtime environment. getEnvironmentResponse_tags :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)) getEnvironmentResponse_tags = Lens.lens (\GetEnvironmentResponse' {tags} -> tags) (\s@GetEnvironmentResponse' {} a -> s {tags = a} :: GetEnvironmentResponse) Prelude.. Lens.mapping Lens.coerced -- | The response's http status code. getEnvironmentResponse_httpStatus :: Lens.Lens' GetEnvironmentResponse Prelude.Int getEnvironmentResponse_httpStatus = Lens.lens (\GetEnvironmentResponse' {httpStatus} -> httpStatus) (\s@GetEnvironmentResponse' {} a -> s {httpStatus = a} :: GetEnvironmentResponse) -- | The timestamp when the runtime environment was created. getEnvironmentResponse_creationTime :: Lens.Lens' GetEnvironmentResponse Prelude.UTCTime getEnvironmentResponse_creationTime = Lens.lens (\GetEnvironmentResponse' {creationTime} -> creationTime) (\s@GetEnvironmentResponse' {} a -> s {creationTime = a} :: GetEnvironmentResponse) Prelude.. Data._Time -- | The target platform for the runtime environment. getEnvironmentResponse_engineType :: Lens.Lens' GetEnvironmentResponse EngineType getEnvironmentResponse_engineType = Lens.lens (\GetEnvironmentResponse' {engineType} -> engineType) (\s@GetEnvironmentResponse' {} a -> s {engineType = a} :: GetEnvironmentResponse) -- | The version of the runtime engine. getEnvironmentResponse_engineVersion :: Lens.Lens' GetEnvironmentResponse Prelude.Text getEnvironmentResponse_engineVersion = Lens.lens (\GetEnvironmentResponse' {engineVersion} -> engineVersion) (\s@GetEnvironmentResponse' {} a -> s {engineVersion = a} :: GetEnvironmentResponse) -- | The Amazon Resource Name (ARN) of the runtime environment. getEnvironmentResponse_environmentArn :: Lens.Lens' GetEnvironmentResponse Prelude.Text getEnvironmentResponse_environmentArn = Lens.lens (\GetEnvironmentResponse' {environmentArn} -> environmentArn) (\s@GetEnvironmentResponse' {} a -> s {environmentArn = a} :: GetEnvironmentResponse) -- | The unique identifier of the runtime environment. getEnvironmentResponse_environmentId :: Lens.Lens' GetEnvironmentResponse Prelude.Text getEnvironmentResponse_environmentId = Lens.lens (\GetEnvironmentResponse' {environmentId} -> environmentId) (\s@GetEnvironmentResponse' {} a -> s {environmentId = a} :: GetEnvironmentResponse) -- | The type of instance underlying the runtime environment. getEnvironmentResponse_instanceType :: Lens.Lens' GetEnvironmentResponse Prelude.Text getEnvironmentResponse_instanceType = Lens.lens (\GetEnvironmentResponse' {instanceType} -> instanceType) (\s@GetEnvironmentResponse' {} a -> s {instanceType = a} :: GetEnvironmentResponse) -- | The name of the runtime environment. Must be unique within the account. getEnvironmentResponse_name :: Lens.Lens' GetEnvironmentResponse Prelude.Text getEnvironmentResponse_name = Lens.lens (\GetEnvironmentResponse' {name} -> name) (\s@GetEnvironmentResponse' {} a -> s {name = a} :: GetEnvironmentResponse) -- | The unique identifiers of the security groups assigned to this runtime -- environment. getEnvironmentResponse_securityGroupIds :: Lens.Lens' GetEnvironmentResponse [Prelude.Text] getEnvironmentResponse_securityGroupIds = Lens.lens (\GetEnvironmentResponse' {securityGroupIds} -> securityGroupIds) (\s@GetEnvironmentResponse' {} a -> s {securityGroupIds = a} :: GetEnvironmentResponse) Prelude.. Lens.coerced -- | The status of the runtime environment. getEnvironmentResponse_status :: Lens.Lens' GetEnvironmentResponse EnvironmentLifecycle getEnvironmentResponse_status = Lens.lens (\GetEnvironmentResponse' {status} -> status) (\s@GetEnvironmentResponse' {} a -> s {status = a} :: GetEnvironmentResponse) -- | The unique identifiers of the subnets assigned to this runtime -- environment. getEnvironmentResponse_subnetIds :: Lens.Lens' GetEnvironmentResponse [Prelude.Text] getEnvironmentResponse_subnetIds = Lens.lens (\GetEnvironmentResponse' {subnetIds} -> subnetIds) (\s@GetEnvironmentResponse' {} a -> s {subnetIds = a} :: GetEnvironmentResponse) Prelude.. Lens.coerced -- | The unique identifier for the VPC used with this runtime environment. getEnvironmentResponse_vpcId :: Lens.Lens' GetEnvironmentResponse Prelude.Text getEnvironmentResponse_vpcId = Lens.lens (\GetEnvironmentResponse' {vpcId} -> vpcId) (\s@GetEnvironmentResponse' {} a -> s {vpcId = a} :: GetEnvironmentResponse) instance Prelude.NFData GetEnvironmentResponse where rnf GetEnvironmentResponse' {..} = Prelude.rnf actualCapacity `Prelude.seq` Prelude.rnf description `Prelude.seq` Prelude.rnf highAvailabilityConfig `Prelude.seq` Prelude.rnf kmsKeyId `Prelude.seq` Prelude.rnf loadBalancerArn `Prelude.seq` Prelude.rnf pendingMaintenance `Prelude.seq` Prelude.rnf preferredMaintenanceWindow `Prelude.seq` Prelude.rnf publiclyAccessible `Prelude.seq` Prelude.rnf statusReason `Prelude.seq` Prelude.rnf storageConfigurations `Prelude.seq` Prelude.rnf tags `Prelude.seq` Prelude.rnf httpStatus `Prelude.seq` Prelude.rnf creationTime `Prelude.seq` Prelude.rnf engineType `Prelude.seq` Prelude.rnf engineVersion `Prelude.seq` Prelude.rnf environmentArn `Prelude.seq` Prelude.rnf environmentId `Prelude.seq` Prelude.rnf instanceType `Prelude.seq` Prelude.rnf name `Prelude.seq` Prelude.rnf securityGroupIds `Prelude.seq` Prelude.rnf status `Prelude.seq` Prelude.rnf subnetIds `Prelude.seq` Prelude.rnf vpcId