{-# 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.CodeDeploy.BatchGetDeploymentGroups -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Gets information about one or more deployment groups. module Amazonka.CodeDeploy.BatchGetDeploymentGroups ( -- * Creating a Request BatchGetDeploymentGroups (..), newBatchGetDeploymentGroups, -- * Request Lenses batchGetDeploymentGroups_applicationName, batchGetDeploymentGroups_deploymentGroupNames, -- * Destructuring the Response BatchGetDeploymentGroupsResponse (..), newBatchGetDeploymentGroupsResponse, -- * Response Lenses batchGetDeploymentGroupsResponse_deploymentGroupsInfo, batchGetDeploymentGroupsResponse_errorMessage, batchGetDeploymentGroupsResponse_httpStatus, ) where import Amazonka.CodeDeploy.Types import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | Represents the input of a @BatchGetDeploymentGroups@ operation. -- -- /See:/ 'newBatchGetDeploymentGroups' smart constructor. data BatchGetDeploymentGroups = BatchGetDeploymentGroups' { -- | The name of an CodeDeploy application associated with the applicable IAM -- or Amazon Web Services account. applicationName :: Prelude.Text, -- | The names of the deployment groups. deploymentGroupNames :: [Prelude.Text] } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'BatchGetDeploymentGroups' 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: -- -- 'applicationName', 'batchGetDeploymentGroups_applicationName' - The name of an CodeDeploy application associated with the applicable IAM -- or Amazon Web Services account. -- -- 'deploymentGroupNames', 'batchGetDeploymentGroups_deploymentGroupNames' - The names of the deployment groups. newBatchGetDeploymentGroups :: -- | 'applicationName' Prelude.Text -> BatchGetDeploymentGroups newBatchGetDeploymentGroups pApplicationName_ = BatchGetDeploymentGroups' { applicationName = pApplicationName_, deploymentGroupNames = Prelude.mempty } -- | The name of an CodeDeploy application associated with the applicable IAM -- or Amazon Web Services account. batchGetDeploymentGroups_applicationName :: Lens.Lens' BatchGetDeploymentGroups Prelude.Text batchGetDeploymentGroups_applicationName = Lens.lens (\BatchGetDeploymentGroups' {applicationName} -> applicationName) (\s@BatchGetDeploymentGroups' {} a -> s {applicationName = a} :: BatchGetDeploymentGroups) -- | The names of the deployment groups. batchGetDeploymentGroups_deploymentGroupNames :: Lens.Lens' BatchGetDeploymentGroups [Prelude.Text] batchGetDeploymentGroups_deploymentGroupNames = Lens.lens (\BatchGetDeploymentGroups' {deploymentGroupNames} -> deploymentGroupNames) (\s@BatchGetDeploymentGroups' {} a -> s {deploymentGroupNames = a} :: BatchGetDeploymentGroups) Prelude.. Lens.coerced instance Core.AWSRequest BatchGetDeploymentGroups where type AWSResponse BatchGetDeploymentGroups = BatchGetDeploymentGroupsResponse request overrides = Request.postJSON (overrides defaultService) response = Response.receiveJSON ( \s h x -> BatchGetDeploymentGroupsResponse' Prelude.<$> ( x Data..?> "deploymentGroupsInfo" Core..!@ Prelude.mempty ) Prelude.<*> (x Data..?> "errorMessage") Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable BatchGetDeploymentGroups where hashWithSalt _salt BatchGetDeploymentGroups' {..} = _salt `Prelude.hashWithSalt` applicationName `Prelude.hashWithSalt` deploymentGroupNames instance Prelude.NFData BatchGetDeploymentGroups where rnf BatchGetDeploymentGroups' {..} = Prelude.rnf applicationName `Prelude.seq` Prelude.rnf deploymentGroupNames instance Data.ToHeaders BatchGetDeploymentGroups where toHeaders = Prelude.const ( Prelude.mconcat [ "X-Amz-Target" Data.=# ( "CodeDeploy_20141006.BatchGetDeploymentGroups" :: Prelude.ByteString ), "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON BatchGetDeploymentGroups where toJSON BatchGetDeploymentGroups' {..} = Data.object ( Prelude.catMaybes [ Prelude.Just ("applicationName" Data..= applicationName), Prelude.Just ( "deploymentGroupNames" Data..= deploymentGroupNames ) ] ) instance Data.ToPath BatchGetDeploymentGroups where toPath = Prelude.const "/" instance Data.ToQuery BatchGetDeploymentGroups where toQuery = Prelude.const Prelude.mempty -- | Represents the output of a @BatchGetDeploymentGroups@ operation. -- -- /See:/ 'newBatchGetDeploymentGroupsResponse' smart constructor. data BatchGetDeploymentGroupsResponse = BatchGetDeploymentGroupsResponse' { -- | Information about the deployment groups. deploymentGroupsInfo :: Prelude.Maybe [DeploymentGroupInfo], -- | Information about errors that might have occurred during the API call. errorMessage :: Prelude.Maybe Prelude.Text, -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'BatchGetDeploymentGroupsResponse' 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: -- -- 'deploymentGroupsInfo', 'batchGetDeploymentGroupsResponse_deploymentGroupsInfo' - Information about the deployment groups. -- -- 'errorMessage', 'batchGetDeploymentGroupsResponse_errorMessage' - Information about errors that might have occurred during the API call. -- -- 'httpStatus', 'batchGetDeploymentGroupsResponse_httpStatus' - The response's http status code. newBatchGetDeploymentGroupsResponse :: -- | 'httpStatus' Prelude.Int -> BatchGetDeploymentGroupsResponse newBatchGetDeploymentGroupsResponse pHttpStatus_ = BatchGetDeploymentGroupsResponse' { deploymentGroupsInfo = Prelude.Nothing, errorMessage = Prelude.Nothing, httpStatus = pHttpStatus_ } -- | Information about the deployment groups. batchGetDeploymentGroupsResponse_deploymentGroupsInfo :: Lens.Lens' BatchGetDeploymentGroupsResponse (Prelude.Maybe [DeploymentGroupInfo]) batchGetDeploymentGroupsResponse_deploymentGroupsInfo = Lens.lens (\BatchGetDeploymentGroupsResponse' {deploymentGroupsInfo} -> deploymentGroupsInfo) (\s@BatchGetDeploymentGroupsResponse' {} a -> s {deploymentGroupsInfo = a} :: BatchGetDeploymentGroupsResponse) Prelude.. Lens.mapping Lens.coerced -- | Information about errors that might have occurred during the API call. batchGetDeploymentGroupsResponse_errorMessage :: Lens.Lens' BatchGetDeploymentGroupsResponse (Prelude.Maybe Prelude.Text) batchGetDeploymentGroupsResponse_errorMessage = Lens.lens (\BatchGetDeploymentGroupsResponse' {errorMessage} -> errorMessage) (\s@BatchGetDeploymentGroupsResponse' {} a -> s {errorMessage = a} :: BatchGetDeploymentGroupsResponse) -- | The response's http status code. batchGetDeploymentGroupsResponse_httpStatus :: Lens.Lens' BatchGetDeploymentGroupsResponse Prelude.Int batchGetDeploymentGroupsResponse_httpStatus = Lens.lens (\BatchGetDeploymentGroupsResponse' {httpStatus} -> httpStatus) (\s@BatchGetDeploymentGroupsResponse' {} a -> s {httpStatus = a} :: BatchGetDeploymentGroupsResponse) instance Prelude.NFData BatchGetDeploymentGroupsResponse where rnf BatchGetDeploymentGroupsResponse' {..} = Prelude.rnf deploymentGroupsInfo `Prelude.seq` Prelude.rnf errorMessage `Prelude.seq` Prelude.rnf httpStatus