{-# 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.Glue.CreateDevEndpoint
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Creates a new development endpoint.
module Amazonka.Glue.CreateDevEndpoint
  ( -- * Creating a Request
    CreateDevEndpoint (..),
    newCreateDevEndpoint,

    -- * Request Lenses
    createDevEndpoint_numberOfWorkers,
    createDevEndpoint_extraPythonLibsS3Path,
    createDevEndpoint_securityGroupIds,
    createDevEndpoint_publicKeys,
    createDevEndpoint_arguments,
    createDevEndpoint_workerType,
    createDevEndpoint_securityConfiguration,
    createDevEndpoint_publicKey,
    createDevEndpoint_subnetId,
    createDevEndpoint_glueVersion,
    createDevEndpoint_numberOfNodes,
    createDevEndpoint_extraJarsS3Path,
    createDevEndpoint_tags,
    createDevEndpoint_endpointName,
    createDevEndpoint_roleArn,

    -- * Destructuring the Response
    CreateDevEndpointResponse (..),
    newCreateDevEndpointResponse,

    -- * Response Lenses
    createDevEndpointResponse_status,
    createDevEndpointResponse_failureReason,
    createDevEndpointResponse_endpointName,
    createDevEndpointResponse_numberOfWorkers,
    createDevEndpointResponse_extraPythonLibsS3Path,
    createDevEndpointResponse_securityGroupIds,
    createDevEndpointResponse_vpcId,
    createDevEndpointResponse_arguments,
    createDevEndpointResponse_workerType,
    createDevEndpointResponse_securityConfiguration,
    createDevEndpointResponse_subnetId,
    createDevEndpointResponse_glueVersion,
    createDevEndpointResponse_numberOfNodes,
    createDevEndpointResponse_availabilityZone,
    createDevEndpointResponse_zeppelinRemoteSparkInterpreterPort,
    createDevEndpointResponse_extraJarsS3Path,
    createDevEndpointResponse_createdTimestamp,
    createDevEndpointResponse_yarnEndpointAddress,
    createDevEndpointResponse_roleArn,
    createDevEndpointResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import Amazonka.Glue.Types
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newCreateDevEndpoint' smart constructor.
data CreateDevEndpoint = CreateDevEndpoint'
  { -- | The number of workers of a defined @workerType@ that are allocated to
    -- the development endpoint.
    --
    -- The maximum number of workers you can define are 299 for @G.1X@, and 149
    -- for @G.2X@.
    CreateDevEndpoint -> Maybe Int
numberOfWorkers :: Prelude.Maybe Prelude.Int,
    -- | The paths to one or more Python libraries in an Amazon S3 bucket that
    -- should be loaded in your @DevEndpoint@. Multiple values must be complete
    -- paths separated by a comma.
    --
    -- You can only use pure Python libraries with a @DevEndpoint@. Libraries
    -- that rely on C extensions, such as the
    -- <http://pandas.pydata.org/ pandas> Python data analysis library, are not
    -- yet supported.
    CreateDevEndpoint -> Maybe Text
extraPythonLibsS3Path :: Prelude.Maybe Prelude.Text,
    -- | Security group IDs for the security groups to be used by the new
    -- @DevEndpoint@.
    CreateDevEndpoint -> Maybe [Text]
securityGroupIds :: Prelude.Maybe [Prelude.Text],
    -- | A list of public keys to be used by the development endpoints for
    -- authentication. The use of this attribute is preferred over a single
    -- public key because the public keys allow you to have a different private
    -- key per client.
    --
    -- If you previously created an endpoint with a public key, you must remove
    -- that key to be able to set a list of public keys. Call the
    -- @UpdateDevEndpoint@ API with the public key content in the
    -- @deletePublicKeys@ attribute, and the list of new keys in the
    -- @addPublicKeys@ attribute.
    CreateDevEndpoint -> Maybe [Text]
publicKeys :: Prelude.Maybe [Prelude.Text],
    -- | A map of arguments used to configure the @DevEndpoint@.
    CreateDevEndpoint -> Maybe (HashMap Text Text)
arguments :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The type of predefined worker that is allocated to the development
    -- endpoint. Accepts a value of Standard, G.1X, or G.2X.
    --
    -- -   For the @Standard@ worker type, each worker provides 4 vCPU, 16 GB
    --     of memory and a 50GB disk, and 2 executors per worker.
    --
    -- -   For the @G.1X@ worker type, each worker maps to 1 DPU (4 vCPU, 16 GB
    --     of memory, 64 GB disk), and provides 1 executor per worker. We
    --     recommend this worker type for memory-intensive jobs.
    --
    -- -   For the @G.2X@ worker type, each worker maps to 2 DPU (8 vCPU, 32 GB
    --     of memory, 128 GB disk), and provides 1 executor per worker. We
    --     recommend this worker type for memory-intensive jobs.
    --
    -- Known issue: when a development endpoint is created with the @G.2X@
    -- @WorkerType@ configuration, the Spark drivers for the development
    -- endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.
    CreateDevEndpoint -> Maybe WorkerType
workerType :: Prelude.Maybe WorkerType,
    -- | The name of the @SecurityConfiguration@ structure to be used with this
    -- @DevEndpoint@.
    CreateDevEndpoint -> Maybe Text
securityConfiguration :: Prelude.Maybe Prelude.Text,
    -- | The public key to be used by this @DevEndpoint@ for authentication. This
    -- attribute is provided for backward compatibility because the recommended
    -- attribute to use is public keys.
    CreateDevEndpoint -> Maybe Text
publicKey :: Prelude.Maybe Prelude.Text,
    -- | The subnet ID for the new @DevEndpoint@ to use.
    CreateDevEndpoint -> Maybe Text
subnetId :: Prelude.Maybe Prelude.Text,
    -- | Glue version determines the versions of Apache Spark and Python that
    -- Glue supports. The Python version indicates the version supported for
    -- running your ETL scripts on development endpoints.
    --
    -- For more information about the available Glue versions and corresponding
    -- Spark and Python versions, see
    -- <https://docs.aws.amazon.com/glue/latest/dg/add-job.html Glue version>
    -- in the developer guide.
    --
    -- Development endpoints that are created without specifying a Glue version
    -- default to Glue 0.9.
    --
    -- You can specify a version of Python support for development endpoints by
    -- using the @Arguments@ parameter in the @CreateDevEndpoint@ or
    -- @UpdateDevEndpoint@ APIs. If no arguments are provided, the version
    -- defaults to Python 2.
    CreateDevEndpoint -> Maybe Text
glueVersion :: Prelude.Maybe Prelude.Text,
    -- | The number of Glue Data Processing Units (DPUs) to allocate to this
    -- @DevEndpoint@.
    CreateDevEndpoint -> Maybe Int
numberOfNodes :: Prelude.Maybe Prelude.Int,
    -- | The path to one or more Java @.jar@ files in an S3 bucket that should be
    -- loaded in your @DevEndpoint@.
    CreateDevEndpoint -> Maybe Text
extraJarsS3Path :: Prelude.Maybe Prelude.Text,
    -- | The tags to use with this DevEndpoint. You may use tags to limit access
    -- to the DevEndpoint. For more information about tags in Glue, see
    -- <https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html Amazon Web Services Tags in Glue>
    -- in the developer guide.
    CreateDevEndpoint -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The name to be assigned to the new @DevEndpoint@.
    CreateDevEndpoint -> Text
endpointName :: Prelude.Text,
    -- | The IAM role for the @DevEndpoint@.
    CreateDevEndpoint -> Text
roleArn :: Prelude.Text
  }
  deriving (CreateDevEndpoint -> CreateDevEndpoint -> Bool
(CreateDevEndpoint -> CreateDevEndpoint -> Bool)
-> (CreateDevEndpoint -> CreateDevEndpoint -> Bool)
-> Eq CreateDevEndpoint
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateDevEndpoint -> CreateDevEndpoint -> Bool
$c/= :: CreateDevEndpoint -> CreateDevEndpoint -> Bool
== :: CreateDevEndpoint -> CreateDevEndpoint -> Bool
$c== :: CreateDevEndpoint -> CreateDevEndpoint -> Bool
Prelude.Eq, ReadPrec [CreateDevEndpoint]
ReadPrec CreateDevEndpoint
Int -> ReadS CreateDevEndpoint
ReadS [CreateDevEndpoint]
(Int -> ReadS CreateDevEndpoint)
-> ReadS [CreateDevEndpoint]
-> ReadPrec CreateDevEndpoint
-> ReadPrec [CreateDevEndpoint]
-> Read CreateDevEndpoint
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateDevEndpoint]
$creadListPrec :: ReadPrec [CreateDevEndpoint]
readPrec :: ReadPrec CreateDevEndpoint
$creadPrec :: ReadPrec CreateDevEndpoint
readList :: ReadS [CreateDevEndpoint]
$creadList :: ReadS [CreateDevEndpoint]
readsPrec :: Int -> ReadS CreateDevEndpoint
$creadsPrec :: Int -> ReadS CreateDevEndpoint
Prelude.Read, Int -> CreateDevEndpoint -> ShowS
[CreateDevEndpoint] -> ShowS
CreateDevEndpoint -> String
(Int -> CreateDevEndpoint -> ShowS)
-> (CreateDevEndpoint -> String)
-> ([CreateDevEndpoint] -> ShowS)
-> Show CreateDevEndpoint
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateDevEndpoint] -> ShowS
$cshowList :: [CreateDevEndpoint] -> ShowS
show :: CreateDevEndpoint -> String
$cshow :: CreateDevEndpoint -> String
showsPrec :: Int -> CreateDevEndpoint -> ShowS
$cshowsPrec :: Int -> CreateDevEndpoint -> ShowS
Prelude.Show, (forall x. CreateDevEndpoint -> Rep CreateDevEndpoint x)
-> (forall x. Rep CreateDevEndpoint x -> CreateDevEndpoint)
-> Generic CreateDevEndpoint
forall x. Rep CreateDevEndpoint x -> CreateDevEndpoint
forall x. CreateDevEndpoint -> Rep CreateDevEndpoint x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateDevEndpoint x -> CreateDevEndpoint
$cfrom :: forall x. CreateDevEndpoint -> Rep CreateDevEndpoint x
Prelude.Generic)

-- |
-- Create a value of 'CreateDevEndpoint' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'numberOfWorkers', 'createDevEndpoint_numberOfWorkers' - The number of workers of a defined @workerType@ that are allocated to
-- the development endpoint.
--
-- The maximum number of workers you can define are 299 for @G.1X@, and 149
-- for @G.2X@.
--
-- 'extraPythonLibsS3Path', 'createDevEndpoint_extraPythonLibsS3Path' - The paths to one or more Python libraries in an Amazon S3 bucket that
-- should be loaded in your @DevEndpoint@. Multiple values must be complete
-- paths separated by a comma.
--
-- You can only use pure Python libraries with a @DevEndpoint@. Libraries
-- that rely on C extensions, such as the
-- <http://pandas.pydata.org/ pandas> Python data analysis library, are not
-- yet supported.
--
-- 'securityGroupIds', 'createDevEndpoint_securityGroupIds' - Security group IDs for the security groups to be used by the new
-- @DevEndpoint@.
--
-- 'publicKeys', 'createDevEndpoint_publicKeys' - A list of public keys to be used by the development endpoints for
-- authentication. The use of this attribute is preferred over a single
-- public key because the public keys allow you to have a different private
-- key per client.
--
-- If you previously created an endpoint with a public key, you must remove
-- that key to be able to set a list of public keys. Call the
-- @UpdateDevEndpoint@ API with the public key content in the
-- @deletePublicKeys@ attribute, and the list of new keys in the
-- @addPublicKeys@ attribute.
--
-- 'arguments', 'createDevEndpoint_arguments' - A map of arguments used to configure the @DevEndpoint@.
--
-- 'workerType', 'createDevEndpoint_workerType' - The type of predefined worker that is allocated to the development
-- endpoint. Accepts a value of Standard, G.1X, or G.2X.
--
-- -   For the @Standard@ worker type, each worker provides 4 vCPU, 16 GB
--     of memory and a 50GB disk, and 2 executors per worker.
--
-- -   For the @G.1X@ worker type, each worker maps to 1 DPU (4 vCPU, 16 GB
--     of memory, 64 GB disk), and provides 1 executor per worker. We
--     recommend this worker type for memory-intensive jobs.
--
-- -   For the @G.2X@ worker type, each worker maps to 2 DPU (8 vCPU, 32 GB
--     of memory, 128 GB disk), and provides 1 executor per worker. We
--     recommend this worker type for memory-intensive jobs.
--
-- Known issue: when a development endpoint is created with the @G.2X@
-- @WorkerType@ configuration, the Spark drivers for the development
-- endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.
--
-- 'securityConfiguration', 'createDevEndpoint_securityConfiguration' - The name of the @SecurityConfiguration@ structure to be used with this
-- @DevEndpoint@.
--
-- 'publicKey', 'createDevEndpoint_publicKey' - The public key to be used by this @DevEndpoint@ for authentication. This
-- attribute is provided for backward compatibility because the recommended
-- attribute to use is public keys.
--
-- 'subnetId', 'createDevEndpoint_subnetId' - The subnet ID for the new @DevEndpoint@ to use.
--
-- 'glueVersion', 'createDevEndpoint_glueVersion' - Glue version determines the versions of Apache Spark and Python that
-- Glue supports. The Python version indicates the version supported for
-- running your ETL scripts on development endpoints.
--
-- For more information about the available Glue versions and corresponding
-- Spark and Python versions, see
-- <https://docs.aws.amazon.com/glue/latest/dg/add-job.html Glue version>
-- in the developer guide.
--
-- Development endpoints that are created without specifying a Glue version
-- default to Glue 0.9.
--
-- You can specify a version of Python support for development endpoints by
-- using the @Arguments@ parameter in the @CreateDevEndpoint@ or
-- @UpdateDevEndpoint@ APIs. If no arguments are provided, the version
-- defaults to Python 2.
--
-- 'numberOfNodes', 'createDevEndpoint_numberOfNodes' - The number of Glue Data Processing Units (DPUs) to allocate to this
-- @DevEndpoint@.
--
-- 'extraJarsS3Path', 'createDevEndpoint_extraJarsS3Path' - The path to one or more Java @.jar@ files in an S3 bucket that should be
-- loaded in your @DevEndpoint@.
--
-- 'tags', 'createDevEndpoint_tags' - The tags to use with this DevEndpoint. You may use tags to limit access
-- to the DevEndpoint. For more information about tags in Glue, see
-- <https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html Amazon Web Services Tags in Glue>
-- in the developer guide.
--
-- 'endpointName', 'createDevEndpoint_endpointName' - The name to be assigned to the new @DevEndpoint@.
--
-- 'roleArn', 'createDevEndpoint_roleArn' - The IAM role for the @DevEndpoint@.
newCreateDevEndpoint ::
  -- | 'endpointName'
  Prelude.Text ->
  -- | 'roleArn'
  Prelude.Text ->
  CreateDevEndpoint
newCreateDevEndpoint :: Text -> Text -> CreateDevEndpoint
newCreateDevEndpoint Text
pEndpointName_ Text
pRoleArn_ =
  CreateDevEndpoint' :: Maybe Int
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe (HashMap Text Text)
-> Maybe WorkerType
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Text
-> Text
-> CreateDevEndpoint
CreateDevEndpoint'
    { $sel:numberOfWorkers:CreateDevEndpoint' :: Maybe Int
numberOfWorkers =
        Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:extraPythonLibsS3Path:CreateDevEndpoint' :: Maybe Text
extraPythonLibsS3Path = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:securityGroupIds:CreateDevEndpoint' :: Maybe [Text]
securityGroupIds = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:publicKeys:CreateDevEndpoint' :: Maybe [Text]
publicKeys = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:arguments:CreateDevEndpoint' :: Maybe (HashMap Text Text)
arguments = Maybe (HashMap Text Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:workerType:CreateDevEndpoint' :: Maybe WorkerType
workerType = Maybe WorkerType
forall a. Maybe a
Prelude.Nothing,
      $sel:securityConfiguration:CreateDevEndpoint' :: Maybe Text
securityConfiguration = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:publicKey:CreateDevEndpoint' :: Maybe Text
publicKey = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:subnetId:CreateDevEndpoint' :: Maybe Text
subnetId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:glueVersion:CreateDevEndpoint' :: Maybe Text
glueVersion = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:numberOfNodes:CreateDevEndpoint' :: Maybe Int
numberOfNodes = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:extraJarsS3Path:CreateDevEndpoint' :: Maybe Text
extraJarsS3Path = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:tags:CreateDevEndpoint' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:endpointName:CreateDevEndpoint' :: Text
endpointName = Text
pEndpointName_,
      $sel:roleArn:CreateDevEndpoint' :: Text
roleArn = Text
pRoleArn_
    }

-- | The number of workers of a defined @workerType@ that are allocated to
-- the development endpoint.
--
-- The maximum number of workers you can define are 299 for @G.1X@, and 149
-- for @G.2X@.
createDevEndpoint_numberOfWorkers :: Lens.Lens' CreateDevEndpoint (Prelude.Maybe Prelude.Int)
createDevEndpoint_numberOfWorkers :: (Maybe Int -> f (Maybe Int))
-> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_numberOfWorkers = (CreateDevEndpoint -> Maybe Int)
-> (CreateDevEndpoint -> Maybe Int -> CreateDevEndpoint)
-> Lens CreateDevEndpoint CreateDevEndpoint (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Maybe Int
numberOfWorkers :: Maybe Int
$sel:numberOfWorkers:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Int
numberOfWorkers} -> Maybe Int
numberOfWorkers) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Maybe Int
a -> CreateDevEndpoint
s {$sel:numberOfWorkers:CreateDevEndpoint' :: Maybe Int
numberOfWorkers = Maybe Int
a} :: CreateDevEndpoint)

-- | The paths to one or more Python libraries in an Amazon S3 bucket that
-- should be loaded in your @DevEndpoint@. Multiple values must be complete
-- paths separated by a comma.
--
-- You can only use pure Python libraries with a @DevEndpoint@. Libraries
-- that rely on C extensions, such as the
-- <http://pandas.pydata.org/ pandas> Python data analysis library, are not
-- yet supported.
createDevEndpoint_extraPythonLibsS3Path :: Lens.Lens' CreateDevEndpoint (Prelude.Maybe Prelude.Text)
createDevEndpoint_extraPythonLibsS3Path :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_extraPythonLibsS3Path = (CreateDevEndpoint -> Maybe Text)
-> (CreateDevEndpoint -> Maybe Text -> CreateDevEndpoint)
-> Lens
     CreateDevEndpoint CreateDevEndpoint (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Maybe Text
extraPythonLibsS3Path :: Maybe Text
$sel:extraPythonLibsS3Path:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Text
extraPythonLibsS3Path} -> Maybe Text
extraPythonLibsS3Path) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Maybe Text
a -> CreateDevEndpoint
s {$sel:extraPythonLibsS3Path:CreateDevEndpoint' :: Maybe Text
extraPythonLibsS3Path = Maybe Text
a} :: CreateDevEndpoint)

-- | Security group IDs for the security groups to be used by the new
-- @DevEndpoint@.
createDevEndpoint_securityGroupIds :: Lens.Lens' CreateDevEndpoint (Prelude.Maybe [Prelude.Text])
createDevEndpoint_securityGroupIds :: (Maybe [Text] -> f (Maybe [Text]))
-> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_securityGroupIds = (CreateDevEndpoint -> Maybe [Text])
-> (CreateDevEndpoint -> Maybe [Text] -> CreateDevEndpoint)
-> Lens
     CreateDevEndpoint CreateDevEndpoint (Maybe [Text]) (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Maybe [Text]
securityGroupIds :: Maybe [Text]
$sel:securityGroupIds:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe [Text]
securityGroupIds} -> Maybe [Text]
securityGroupIds) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Maybe [Text]
a -> CreateDevEndpoint
s {$sel:securityGroupIds:CreateDevEndpoint' :: Maybe [Text]
securityGroupIds = Maybe [Text]
a} :: CreateDevEndpoint) ((Maybe [Text] -> f (Maybe [Text]))
 -> CreateDevEndpoint -> f CreateDevEndpoint)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> CreateDevEndpoint
-> f CreateDevEndpoint
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | A list of public keys to be used by the development endpoints for
-- authentication. The use of this attribute is preferred over a single
-- public key because the public keys allow you to have a different private
-- key per client.
--
-- If you previously created an endpoint with a public key, you must remove
-- that key to be able to set a list of public keys. Call the
-- @UpdateDevEndpoint@ API with the public key content in the
-- @deletePublicKeys@ attribute, and the list of new keys in the
-- @addPublicKeys@ attribute.
createDevEndpoint_publicKeys :: Lens.Lens' CreateDevEndpoint (Prelude.Maybe [Prelude.Text])
createDevEndpoint_publicKeys :: (Maybe [Text] -> f (Maybe [Text]))
-> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_publicKeys = (CreateDevEndpoint -> Maybe [Text])
-> (CreateDevEndpoint -> Maybe [Text] -> CreateDevEndpoint)
-> Lens
     CreateDevEndpoint CreateDevEndpoint (Maybe [Text]) (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Maybe [Text]
publicKeys :: Maybe [Text]
$sel:publicKeys:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe [Text]
publicKeys} -> Maybe [Text]
publicKeys) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Maybe [Text]
a -> CreateDevEndpoint
s {$sel:publicKeys:CreateDevEndpoint' :: Maybe [Text]
publicKeys = Maybe [Text]
a} :: CreateDevEndpoint) ((Maybe [Text] -> f (Maybe [Text]))
 -> CreateDevEndpoint -> f CreateDevEndpoint)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> CreateDevEndpoint
-> f CreateDevEndpoint
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | A map of arguments used to configure the @DevEndpoint@.
createDevEndpoint_arguments :: Lens.Lens' CreateDevEndpoint (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
createDevEndpoint_arguments :: (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_arguments = (CreateDevEndpoint -> Maybe (HashMap Text Text))
-> (CreateDevEndpoint
    -> Maybe (HashMap Text Text) -> CreateDevEndpoint)
-> Lens
     CreateDevEndpoint
     CreateDevEndpoint
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Maybe (HashMap Text Text)
arguments :: Maybe (HashMap Text Text)
$sel:arguments:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe (HashMap Text Text)
arguments} -> Maybe (HashMap Text Text)
arguments) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Maybe (HashMap Text Text)
a -> CreateDevEndpoint
s {$sel:arguments:CreateDevEndpoint' :: Maybe (HashMap Text Text)
arguments = Maybe (HashMap Text Text)
a} :: CreateDevEndpoint) ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
 -> CreateDevEndpoint -> f CreateDevEndpoint)
-> ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
    -> Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> CreateDevEndpoint
-> f CreateDevEndpoint
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
-> Iso
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The type of predefined worker that is allocated to the development
-- endpoint. Accepts a value of Standard, G.1X, or G.2X.
--
-- -   For the @Standard@ worker type, each worker provides 4 vCPU, 16 GB
--     of memory and a 50GB disk, and 2 executors per worker.
--
-- -   For the @G.1X@ worker type, each worker maps to 1 DPU (4 vCPU, 16 GB
--     of memory, 64 GB disk), and provides 1 executor per worker. We
--     recommend this worker type for memory-intensive jobs.
--
-- -   For the @G.2X@ worker type, each worker maps to 2 DPU (8 vCPU, 32 GB
--     of memory, 128 GB disk), and provides 1 executor per worker. We
--     recommend this worker type for memory-intensive jobs.
--
-- Known issue: when a development endpoint is created with the @G.2X@
-- @WorkerType@ configuration, the Spark drivers for the development
-- endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.
createDevEndpoint_workerType :: Lens.Lens' CreateDevEndpoint (Prelude.Maybe WorkerType)
createDevEndpoint_workerType :: (Maybe WorkerType -> f (Maybe WorkerType))
-> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_workerType = (CreateDevEndpoint -> Maybe WorkerType)
-> (CreateDevEndpoint -> Maybe WorkerType -> CreateDevEndpoint)
-> Lens
     CreateDevEndpoint
     CreateDevEndpoint
     (Maybe WorkerType)
     (Maybe WorkerType)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Maybe WorkerType
workerType :: Maybe WorkerType
$sel:workerType:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe WorkerType
workerType} -> Maybe WorkerType
workerType) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Maybe WorkerType
a -> CreateDevEndpoint
s {$sel:workerType:CreateDevEndpoint' :: Maybe WorkerType
workerType = Maybe WorkerType
a} :: CreateDevEndpoint)

-- | The name of the @SecurityConfiguration@ structure to be used with this
-- @DevEndpoint@.
createDevEndpoint_securityConfiguration :: Lens.Lens' CreateDevEndpoint (Prelude.Maybe Prelude.Text)
createDevEndpoint_securityConfiguration :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_securityConfiguration = (CreateDevEndpoint -> Maybe Text)
-> (CreateDevEndpoint -> Maybe Text -> CreateDevEndpoint)
-> Lens
     CreateDevEndpoint CreateDevEndpoint (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Maybe Text
securityConfiguration :: Maybe Text
$sel:securityConfiguration:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Text
securityConfiguration} -> Maybe Text
securityConfiguration) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Maybe Text
a -> CreateDevEndpoint
s {$sel:securityConfiguration:CreateDevEndpoint' :: Maybe Text
securityConfiguration = Maybe Text
a} :: CreateDevEndpoint)

-- | The public key to be used by this @DevEndpoint@ for authentication. This
-- attribute is provided for backward compatibility because the recommended
-- attribute to use is public keys.
createDevEndpoint_publicKey :: Lens.Lens' CreateDevEndpoint (Prelude.Maybe Prelude.Text)
createDevEndpoint_publicKey :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_publicKey = (CreateDevEndpoint -> Maybe Text)
-> (CreateDevEndpoint -> Maybe Text -> CreateDevEndpoint)
-> Lens
     CreateDevEndpoint CreateDevEndpoint (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Maybe Text
publicKey :: Maybe Text
$sel:publicKey:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Text
publicKey} -> Maybe Text
publicKey) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Maybe Text
a -> CreateDevEndpoint
s {$sel:publicKey:CreateDevEndpoint' :: Maybe Text
publicKey = Maybe Text
a} :: CreateDevEndpoint)

-- | The subnet ID for the new @DevEndpoint@ to use.
createDevEndpoint_subnetId :: Lens.Lens' CreateDevEndpoint (Prelude.Maybe Prelude.Text)
createDevEndpoint_subnetId :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_subnetId = (CreateDevEndpoint -> Maybe Text)
-> (CreateDevEndpoint -> Maybe Text -> CreateDevEndpoint)
-> Lens
     CreateDevEndpoint CreateDevEndpoint (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Maybe Text
subnetId :: Maybe Text
$sel:subnetId:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Text
subnetId} -> Maybe Text
subnetId) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Maybe Text
a -> CreateDevEndpoint
s {$sel:subnetId:CreateDevEndpoint' :: Maybe Text
subnetId = Maybe Text
a} :: CreateDevEndpoint)

-- | Glue version determines the versions of Apache Spark and Python that
-- Glue supports. The Python version indicates the version supported for
-- running your ETL scripts on development endpoints.
--
-- For more information about the available Glue versions and corresponding
-- Spark and Python versions, see
-- <https://docs.aws.amazon.com/glue/latest/dg/add-job.html Glue version>
-- in the developer guide.
--
-- Development endpoints that are created without specifying a Glue version
-- default to Glue 0.9.
--
-- You can specify a version of Python support for development endpoints by
-- using the @Arguments@ parameter in the @CreateDevEndpoint@ or
-- @UpdateDevEndpoint@ APIs. If no arguments are provided, the version
-- defaults to Python 2.
createDevEndpoint_glueVersion :: Lens.Lens' CreateDevEndpoint (Prelude.Maybe Prelude.Text)
createDevEndpoint_glueVersion :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_glueVersion = (CreateDevEndpoint -> Maybe Text)
-> (CreateDevEndpoint -> Maybe Text -> CreateDevEndpoint)
-> Lens
     CreateDevEndpoint CreateDevEndpoint (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Maybe Text
glueVersion :: Maybe Text
$sel:glueVersion:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Text
glueVersion} -> Maybe Text
glueVersion) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Maybe Text
a -> CreateDevEndpoint
s {$sel:glueVersion:CreateDevEndpoint' :: Maybe Text
glueVersion = Maybe Text
a} :: CreateDevEndpoint)

-- | The number of Glue Data Processing Units (DPUs) to allocate to this
-- @DevEndpoint@.
createDevEndpoint_numberOfNodes :: Lens.Lens' CreateDevEndpoint (Prelude.Maybe Prelude.Int)
createDevEndpoint_numberOfNodes :: (Maybe Int -> f (Maybe Int))
-> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_numberOfNodes = (CreateDevEndpoint -> Maybe Int)
-> (CreateDevEndpoint -> Maybe Int -> CreateDevEndpoint)
-> Lens CreateDevEndpoint CreateDevEndpoint (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Maybe Int
numberOfNodes :: Maybe Int
$sel:numberOfNodes:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Int
numberOfNodes} -> Maybe Int
numberOfNodes) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Maybe Int
a -> CreateDevEndpoint
s {$sel:numberOfNodes:CreateDevEndpoint' :: Maybe Int
numberOfNodes = Maybe Int
a} :: CreateDevEndpoint)

-- | The path to one or more Java @.jar@ files in an S3 bucket that should be
-- loaded in your @DevEndpoint@.
createDevEndpoint_extraJarsS3Path :: Lens.Lens' CreateDevEndpoint (Prelude.Maybe Prelude.Text)
createDevEndpoint_extraJarsS3Path :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_extraJarsS3Path = (CreateDevEndpoint -> Maybe Text)
-> (CreateDevEndpoint -> Maybe Text -> CreateDevEndpoint)
-> Lens
     CreateDevEndpoint CreateDevEndpoint (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Maybe Text
extraJarsS3Path :: Maybe Text
$sel:extraJarsS3Path:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Text
extraJarsS3Path} -> Maybe Text
extraJarsS3Path) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Maybe Text
a -> CreateDevEndpoint
s {$sel:extraJarsS3Path:CreateDevEndpoint' :: Maybe Text
extraJarsS3Path = Maybe Text
a} :: CreateDevEndpoint)

-- | The tags to use with this DevEndpoint. You may use tags to limit access
-- to the DevEndpoint. For more information about tags in Glue, see
-- <https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html Amazon Web Services Tags in Glue>
-- in the developer guide.
createDevEndpoint_tags :: Lens.Lens' CreateDevEndpoint (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
createDevEndpoint_tags :: (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_tags = (CreateDevEndpoint -> Maybe (HashMap Text Text))
-> (CreateDevEndpoint
    -> Maybe (HashMap Text Text) -> CreateDevEndpoint)
-> Lens
     CreateDevEndpoint
     CreateDevEndpoint
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Maybe (HashMap Text Text)
a -> CreateDevEndpoint
s {$sel:tags:CreateDevEndpoint' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: CreateDevEndpoint) ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
 -> CreateDevEndpoint -> f CreateDevEndpoint)
-> ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
    -> Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> CreateDevEndpoint
-> f CreateDevEndpoint
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
-> Iso
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The name to be assigned to the new @DevEndpoint@.
createDevEndpoint_endpointName :: Lens.Lens' CreateDevEndpoint Prelude.Text
createDevEndpoint_endpointName :: (Text -> f Text) -> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_endpointName = (CreateDevEndpoint -> Text)
-> (CreateDevEndpoint -> Text -> CreateDevEndpoint)
-> Lens CreateDevEndpoint CreateDevEndpoint Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Text
endpointName :: Text
$sel:endpointName:CreateDevEndpoint' :: CreateDevEndpoint -> Text
endpointName} -> Text
endpointName) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Text
a -> CreateDevEndpoint
s {$sel:endpointName:CreateDevEndpoint' :: Text
endpointName = Text
a} :: CreateDevEndpoint)

-- | The IAM role for the @DevEndpoint@.
createDevEndpoint_roleArn :: Lens.Lens' CreateDevEndpoint Prelude.Text
createDevEndpoint_roleArn :: (Text -> f Text) -> CreateDevEndpoint -> f CreateDevEndpoint
createDevEndpoint_roleArn = (CreateDevEndpoint -> Text)
-> (CreateDevEndpoint -> Text -> CreateDevEndpoint)
-> Lens CreateDevEndpoint CreateDevEndpoint Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpoint' {Text
roleArn :: Text
$sel:roleArn:CreateDevEndpoint' :: CreateDevEndpoint -> Text
roleArn} -> Text
roleArn) (\s :: CreateDevEndpoint
s@CreateDevEndpoint' {} Text
a -> CreateDevEndpoint
s {$sel:roleArn:CreateDevEndpoint' :: Text
roleArn = Text
a} :: CreateDevEndpoint)

instance Core.AWSRequest CreateDevEndpoint where
  type
    AWSResponse CreateDevEndpoint =
      CreateDevEndpointResponse
  request :: CreateDevEndpoint -> Request CreateDevEndpoint
request = Service -> CreateDevEndpoint -> Request CreateDevEndpoint
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy CreateDevEndpoint
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse CreateDevEndpoint)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse CreateDevEndpoint))
-> Logger
-> Service
-> Proxy CreateDevEndpoint
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse CreateDevEndpoint)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe [Text]
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Maybe WorkerType
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Int
-> CreateDevEndpointResponse
CreateDevEndpointResponse'
            (Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe [Text]
 -> Maybe Text
 -> Maybe (HashMap Text Text)
 -> Maybe WorkerType
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Int
 -> CreateDevEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe WorkerType
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Status")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe WorkerType
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe WorkerType
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"FailureReason")
            Either
  String
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe WorkerType
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe WorkerType
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"EndpointName")
            Either
  String
  (Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe WorkerType
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe Int)
-> Either
     String
     (Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe WorkerType
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Int)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"NumberOfWorkers")
            Either
  String
  (Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe WorkerType
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe [Text]
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe WorkerType
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ExtraPythonLibsS3Path")
            Either
  String
  (Maybe [Text]
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe WorkerType
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe [Text])
-> Either
     String
     (Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe WorkerType
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Either String (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"SecurityGroupIds"
                            Either String (Maybe (Maybe [Text]))
-> Maybe [Text] -> Either String (Maybe [Text])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [Text]
forall a. Monoid a => a
Prelude.mempty
                        )
            Either
  String
  (Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe WorkerType
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe (HashMap Text Text)
      -> Maybe WorkerType
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"VpcId")
            Either
  String
  (Maybe (HashMap Text Text)
   -> Maybe WorkerType
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe (HashMap Text Text))
-> Either
     String
     (Maybe WorkerType
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe (Maybe (HashMap Text Text)))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Arguments" Either String (Maybe (Maybe (HashMap Text Text)))
-> Maybe (HashMap Text Text)
-> Either String (Maybe (HashMap Text Text))
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe (HashMap Text Text)
forall a. Monoid a => a
Prelude.mempty)
            Either
  String
  (Maybe WorkerType
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe WorkerType)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe WorkerType)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"WorkerType")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"SecurityConfiguration")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"SubnetId")
            Either
  String
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Int
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"GlueVersion")
            Either
  String
  (Maybe Int
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe Int)
-> Either
     String
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Int)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"NumberOfNodes")
            Either
  String
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"AvailabilityZone")
            Either
  String
  (Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe Int)
-> Either
     String
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Int)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ZeppelinRemoteSparkInterpreterPort")
            Either
  String
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> CreateDevEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe POSIX
      -> Maybe Text -> Maybe Text -> Int -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ExtraJarsS3Path")
            Either
  String
  (Maybe POSIX
   -> Maybe Text -> Maybe Text -> Int -> CreateDevEndpointResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text -> Maybe Text -> Int -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"CreatedTimestamp")
            Either
  String
  (Maybe Text -> Maybe Text -> Int -> CreateDevEndpointResponse)
-> Either String (Maybe Text)
-> Either String (Maybe Text -> Int -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"YarnEndpointAddress")
            Either String (Maybe Text -> Int -> CreateDevEndpointResponse)
-> Either String (Maybe Text)
-> Either String (Int -> CreateDevEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"RoleArn")
            Either String (Int -> CreateDevEndpointResponse)
-> Either String Int -> Either String CreateDevEndpointResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable CreateDevEndpoint

instance Prelude.NFData CreateDevEndpoint

instance Core.ToHeaders CreateDevEndpoint where
  toHeaders :: CreateDevEndpoint -> ResponseHeaders
toHeaders =
    ResponseHeaders -> CreateDevEndpoint -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
      ( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# (ByteString
"AWSGlue.CreateDevEndpoint" :: Prelude.ByteString),
            HeaderName
"Content-Type"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Core.ToJSON CreateDevEndpoint where
  toJSON :: CreateDevEndpoint -> Value
toJSON CreateDevEndpoint' {Maybe Int
Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
Maybe WorkerType
Text
roleArn :: Text
endpointName :: Text
tags :: Maybe (HashMap Text Text)
extraJarsS3Path :: Maybe Text
numberOfNodes :: Maybe Int
glueVersion :: Maybe Text
subnetId :: Maybe Text
publicKey :: Maybe Text
securityConfiguration :: Maybe Text
workerType :: Maybe WorkerType
arguments :: Maybe (HashMap Text Text)
publicKeys :: Maybe [Text]
securityGroupIds :: Maybe [Text]
extraPythonLibsS3Path :: Maybe Text
numberOfWorkers :: Maybe Int
$sel:roleArn:CreateDevEndpoint' :: CreateDevEndpoint -> Text
$sel:endpointName:CreateDevEndpoint' :: CreateDevEndpoint -> Text
$sel:tags:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe (HashMap Text Text)
$sel:extraJarsS3Path:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Text
$sel:numberOfNodes:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Int
$sel:glueVersion:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Text
$sel:subnetId:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Text
$sel:publicKey:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Text
$sel:securityConfiguration:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Text
$sel:workerType:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe WorkerType
$sel:arguments:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe (HashMap Text Text)
$sel:publicKeys:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe [Text]
$sel:securityGroupIds:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe [Text]
$sel:extraPythonLibsS3Path:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Text
$sel:numberOfWorkers:CreateDevEndpoint' :: CreateDevEndpoint -> Maybe Int
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"NumberOfWorkers" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
numberOfWorkers,
            (Text
"ExtraPythonLibsS3Path" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
extraPythonLibsS3Path,
            (Text
"SecurityGroupIds" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
securityGroupIds,
            (Text
"PublicKeys" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
publicKeys,
            (Text
"Arguments" Text -> HashMap Text Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (HashMap Text Text -> Pair)
-> Maybe (HashMap Text Text) -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
arguments,
            (Text
"WorkerType" Text -> WorkerType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (WorkerType -> Pair) -> Maybe WorkerType -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe WorkerType
workerType,
            (Text
"SecurityConfiguration" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
securityConfiguration,
            (Text
"PublicKey" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
publicKey,
            (Text
"SubnetId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
subnetId,
            (Text
"GlueVersion" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
glueVersion,
            (Text
"NumberOfNodes" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
numberOfNodes,
            (Text
"ExtraJarsS3Path" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
extraJarsS3Path,
            (Text
"Tags" Text -> HashMap Text Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (HashMap Text Text -> Pair)
-> Maybe (HashMap Text Text) -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
tags,
            Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"EndpointName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
endpointName),
            Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"RoleArn" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
roleArn)
          ]
      )

instance Core.ToPath CreateDevEndpoint where
  toPath :: CreateDevEndpoint -> ByteString
toPath = ByteString -> CreateDevEndpoint -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Core.ToQuery CreateDevEndpoint where
  toQuery :: CreateDevEndpoint -> QueryString
toQuery = QueryString -> CreateDevEndpoint -> QueryString
forall a b. a -> b -> a
Prelude.const QueryString
forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newCreateDevEndpointResponse' smart constructor.
data CreateDevEndpointResponse = CreateDevEndpointResponse'
  { -- | The current status of the new @DevEndpoint@.
    CreateDevEndpointResponse -> Maybe Text
status :: Prelude.Maybe Prelude.Text,
    -- | The reason for a current failure in this @DevEndpoint@.
    CreateDevEndpointResponse -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | The name assigned to the new @DevEndpoint@.
    CreateDevEndpointResponse -> Maybe Text
endpointName :: Prelude.Maybe Prelude.Text,
    -- | The number of workers of a defined @workerType@ that are allocated to
    -- the development endpoint.
    CreateDevEndpointResponse -> Maybe Int
numberOfWorkers :: Prelude.Maybe Prelude.Int,
    -- | The paths to one or more Python libraries in an S3 bucket that will be
    -- loaded in your @DevEndpoint@.
    CreateDevEndpointResponse -> Maybe Text
extraPythonLibsS3Path :: Prelude.Maybe Prelude.Text,
    -- | The security groups assigned to the new @DevEndpoint@.
    CreateDevEndpointResponse -> Maybe [Text]
securityGroupIds :: Prelude.Maybe [Prelude.Text],
    -- | The ID of the virtual private cloud (VPC) used by this @DevEndpoint@.
    CreateDevEndpointResponse -> Maybe Text
vpcId :: Prelude.Maybe Prelude.Text,
    -- | The map of arguments used to configure this @DevEndpoint@.
    --
    -- Valid arguments are:
    --
    -- -   @\"--enable-glue-datacatalog\": \"\"@
    --
    -- You can specify a version of Python support for development endpoints by
    -- using the @Arguments@ parameter in the @CreateDevEndpoint@ or
    -- @UpdateDevEndpoint@ APIs. If no arguments are provided, the version
    -- defaults to Python 2.
    CreateDevEndpointResponse -> Maybe (HashMap Text Text)
arguments :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The type of predefined worker that is allocated to the development
    -- endpoint. May be a value of Standard, G.1X, or G.2X.
    CreateDevEndpointResponse -> Maybe WorkerType
workerType :: Prelude.Maybe WorkerType,
    -- | The name of the @SecurityConfiguration@ structure being used with this
    -- @DevEndpoint@.
    CreateDevEndpointResponse -> Maybe Text
securityConfiguration :: Prelude.Maybe Prelude.Text,
    -- | The subnet ID assigned to the new @DevEndpoint@.
    CreateDevEndpointResponse -> Maybe Text
subnetId :: Prelude.Maybe Prelude.Text,
    -- | Glue version determines the versions of Apache Spark and Python that
    -- Glue supports. The Python version indicates the version supported for
    -- running your ETL scripts on development endpoints.
    --
    -- For more information about the available Glue versions and corresponding
    -- Spark and Python versions, see
    -- <https://docs.aws.amazon.com/glue/latest/dg/add-job.html Glue version>
    -- in the developer guide.
    CreateDevEndpointResponse -> Maybe Text
glueVersion :: Prelude.Maybe Prelude.Text,
    -- | The number of Glue Data Processing Units (DPUs) allocated to this
    -- DevEndpoint.
    CreateDevEndpointResponse -> Maybe Int
numberOfNodes :: Prelude.Maybe Prelude.Int,
    -- | The AWS Availability Zone where this @DevEndpoint@ is located.
    CreateDevEndpointResponse -> Maybe Text
availabilityZone :: Prelude.Maybe Prelude.Text,
    -- | The Apache Zeppelin port for the remote Apache Spark interpreter.
    CreateDevEndpointResponse -> Maybe Int
zeppelinRemoteSparkInterpreterPort :: Prelude.Maybe Prelude.Int,
    -- | Path to one or more Java @.jar@ files in an S3 bucket that will be
    -- loaded in your @DevEndpoint@.
    CreateDevEndpointResponse -> Maybe Text
extraJarsS3Path :: Prelude.Maybe Prelude.Text,
    -- | The point in time at which this @DevEndpoint@ was created.
    CreateDevEndpointResponse -> Maybe POSIX
createdTimestamp :: Prelude.Maybe Core.POSIX,
    -- | The address of the YARN endpoint used by this @DevEndpoint@.
    CreateDevEndpointResponse -> Maybe Text
yarnEndpointAddress :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the role assigned to the new
    -- @DevEndpoint@.
    CreateDevEndpointResponse -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    CreateDevEndpointResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (CreateDevEndpointResponse -> CreateDevEndpointResponse -> Bool
(CreateDevEndpointResponse -> CreateDevEndpointResponse -> Bool)
-> (CreateDevEndpointResponse -> CreateDevEndpointResponse -> Bool)
-> Eq CreateDevEndpointResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateDevEndpointResponse -> CreateDevEndpointResponse -> Bool
$c/= :: CreateDevEndpointResponse -> CreateDevEndpointResponse -> Bool
== :: CreateDevEndpointResponse -> CreateDevEndpointResponse -> Bool
$c== :: CreateDevEndpointResponse -> CreateDevEndpointResponse -> Bool
Prelude.Eq, ReadPrec [CreateDevEndpointResponse]
ReadPrec CreateDevEndpointResponse
Int -> ReadS CreateDevEndpointResponse
ReadS [CreateDevEndpointResponse]
(Int -> ReadS CreateDevEndpointResponse)
-> ReadS [CreateDevEndpointResponse]
-> ReadPrec CreateDevEndpointResponse
-> ReadPrec [CreateDevEndpointResponse]
-> Read CreateDevEndpointResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateDevEndpointResponse]
$creadListPrec :: ReadPrec [CreateDevEndpointResponse]
readPrec :: ReadPrec CreateDevEndpointResponse
$creadPrec :: ReadPrec CreateDevEndpointResponse
readList :: ReadS [CreateDevEndpointResponse]
$creadList :: ReadS [CreateDevEndpointResponse]
readsPrec :: Int -> ReadS CreateDevEndpointResponse
$creadsPrec :: Int -> ReadS CreateDevEndpointResponse
Prelude.Read, Int -> CreateDevEndpointResponse -> ShowS
[CreateDevEndpointResponse] -> ShowS
CreateDevEndpointResponse -> String
(Int -> CreateDevEndpointResponse -> ShowS)
-> (CreateDevEndpointResponse -> String)
-> ([CreateDevEndpointResponse] -> ShowS)
-> Show CreateDevEndpointResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateDevEndpointResponse] -> ShowS
$cshowList :: [CreateDevEndpointResponse] -> ShowS
show :: CreateDevEndpointResponse -> String
$cshow :: CreateDevEndpointResponse -> String
showsPrec :: Int -> CreateDevEndpointResponse -> ShowS
$cshowsPrec :: Int -> CreateDevEndpointResponse -> ShowS
Prelude.Show, (forall x.
 CreateDevEndpointResponse -> Rep CreateDevEndpointResponse x)
-> (forall x.
    Rep CreateDevEndpointResponse x -> CreateDevEndpointResponse)
-> Generic CreateDevEndpointResponse
forall x.
Rep CreateDevEndpointResponse x -> CreateDevEndpointResponse
forall x.
CreateDevEndpointResponse -> Rep CreateDevEndpointResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateDevEndpointResponse x -> CreateDevEndpointResponse
$cfrom :: forall x.
CreateDevEndpointResponse -> Rep CreateDevEndpointResponse x
Prelude.Generic)

-- |
-- Create a value of 'CreateDevEndpointResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'status', 'createDevEndpointResponse_status' - The current status of the new @DevEndpoint@.
--
-- 'failureReason', 'createDevEndpointResponse_failureReason' - The reason for a current failure in this @DevEndpoint@.
--
-- 'endpointName', 'createDevEndpointResponse_endpointName' - The name assigned to the new @DevEndpoint@.
--
-- 'numberOfWorkers', 'createDevEndpointResponse_numberOfWorkers' - The number of workers of a defined @workerType@ that are allocated to
-- the development endpoint.
--
-- 'extraPythonLibsS3Path', 'createDevEndpointResponse_extraPythonLibsS3Path' - The paths to one or more Python libraries in an S3 bucket that will be
-- loaded in your @DevEndpoint@.
--
-- 'securityGroupIds', 'createDevEndpointResponse_securityGroupIds' - The security groups assigned to the new @DevEndpoint@.
--
-- 'vpcId', 'createDevEndpointResponse_vpcId' - The ID of the virtual private cloud (VPC) used by this @DevEndpoint@.
--
-- 'arguments', 'createDevEndpointResponse_arguments' - The map of arguments used to configure this @DevEndpoint@.
--
-- Valid arguments are:
--
-- -   @\"--enable-glue-datacatalog\": \"\"@
--
-- You can specify a version of Python support for development endpoints by
-- using the @Arguments@ parameter in the @CreateDevEndpoint@ or
-- @UpdateDevEndpoint@ APIs. If no arguments are provided, the version
-- defaults to Python 2.
--
-- 'workerType', 'createDevEndpointResponse_workerType' - The type of predefined worker that is allocated to the development
-- endpoint. May be a value of Standard, G.1X, or G.2X.
--
-- 'securityConfiguration', 'createDevEndpointResponse_securityConfiguration' - The name of the @SecurityConfiguration@ structure being used with this
-- @DevEndpoint@.
--
-- 'subnetId', 'createDevEndpointResponse_subnetId' - The subnet ID assigned to the new @DevEndpoint@.
--
-- 'glueVersion', 'createDevEndpointResponse_glueVersion' - Glue version determines the versions of Apache Spark and Python that
-- Glue supports. The Python version indicates the version supported for
-- running your ETL scripts on development endpoints.
--
-- For more information about the available Glue versions and corresponding
-- Spark and Python versions, see
-- <https://docs.aws.amazon.com/glue/latest/dg/add-job.html Glue version>
-- in the developer guide.
--
-- 'numberOfNodes', 'createDevEndpointResponse_numberOfNodes' - The number of Glue Data Processing Units (DPUs) allocated to this
-- DevEndpoint.
--
-- 'availabilityZone', 'createDevEndpointResponse_availabilityZone' - The AWS Availability Zone where this @DevEndpoint@ is located.
--
-- 'zeppelinRemoteSparkInterpreterPort', 'createDevEndpointResponse_zeppelinRemoteSparkInterpreterPort' - The Apache Zeppelin port for the remote Apache Spark interpreter.
--
-- 'extraJarsS3Path', 'createDevEndpointResponse_extraJarsS3Path' - Path to one or more Java @.jar@ files in an S3 bucket that will be
-- loaded in your @DevEndpoint@.
--
-- 'createdTimestamp', 'createDevEndpointResponse_createdTimestamp' - The point in time at which this @DevEndpoint@ was created.
--
-- 'yarnEndpointAddress', 'createDevEndpointResponse_yarnEndpointAddress' - The address of the YARN endpoint used by this @DevEndpoint@.
--
-- 'roleArn', 'createDevEndpointResponse_roleArn' - The Amazon Resource Name (ARN) of the role assigned to the new
-- @DevEndpoint@.
--
-- 'httpStatus', 'createDevEndpointResponse_httpStatus' - The response's http status code.
newCreateDevEndpointResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  CreateDevEndpointResponse
newCreateDevEndpointResponse :: Int -> CreateDevEndpointResponse
newCreateDevEndpointResponse Int
pHttpStatus_ =
  CreateDevEndpointResponse' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe [Text]
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Maybe WorkerType
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Int
-> CreateDevEndpointResponse
CreateDevEndpointResponse'
    { $sel:status:CreateDevEndpointResponse' :: Maybe Text
status =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:failureReason:CreateDevEndpointResponse' :: Maybe Text
failureReason = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:endpointName:CreateDevEndpointResponse' :: Maybe Text
endpointName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:numberOfWorkers:CreateDevEndpointResponse' :: Maybe Int
numberOfWorkers = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:extraPythonLibsS3Path:CreateDevEndpointResponse' :: Maybe Text
extraPythonLibsS3Path = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:securityGroupIds:CreateDevEndpointResponse' :: Maybe [Text]
securityGroupIds = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:vpcId:CreateDevEndpointResponse' :: Maybe Text
vpcId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:arguments:CreateDevEndpointResponse' :: Maybe (HashMap Text Text)
arguments = Maybe (HashMap Text Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:workerType:CreateDevEndpointResponse' :: Maybe WorkerType
workerType = Maybe WorkerType
forall a. Maybe a
Prelude.Nothing,
      $sel:securityConfiguration:CreateDevEndpointResponse' :: Maybe Text
securityConfiguration = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:subnetId:CreateDevEndpointResponse' :: Maybe Text
subnetId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:glueVersion:CreateDevEndpointResponse' :: Maybe Text
glueVersion = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:numberOfNodes:CreateDevEndpointResponse' :: Maybe Int
numberOfNodes = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:availabilityZone:CreateDevEndpointResponse' :: Maybe Text
availabilityZone = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:zeppelinRemoteSparkInterpreterPort:CreateDevEndpointResponse' :: Maybe Int
zeppelinRemoteSparkInterpreterPort =
        Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:extraJarsS3Path:CreateDevEndpointResponse' :: Maybe Text
extraJarsS3Path = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:createdTimestamp:CreateDevEndpointResponse' :: Maybe POSIX
createdTimestamp = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:yarnEndpointAddress:CreateDevEndpointResponse' :: Maybe Text
yarnEndpointAddress = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:roleArn:CreateDevEndpointResponse' :: Maybe Text
roleArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:CreateDevEndpointResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The current status of the new @DevEndpoint@.
createDevEndpointResponse_status :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Text)
createDevEndpointResponse_status :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_status = (CreateDevEndpointResponse -> Maybe Text)
-> (CreateDevEndpointResponse
    -> Maybe Text -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Text
status :: Maybe Text
$sel:status:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Text
status} -> Maybe Text
status) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Text
a -> CreateDevEndpointResponse
s {$sel:status:CreateDevEndpointResponse' :: Maybe Text
status = Maybe Text
a} :: CreateDevEndpointResponse)

-- | The reason for a current failure in this @DevEndpoint@.
createDevEndpointResponse_failureReason :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Text)
createDevEndpointResponse_failureReason :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_failureReason = (CreateDevEndpointResponse -> Maybe Text)
-> (CreateDevEndpointResponse
    -> Maybe Text -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Text
a -> CreateDevEndpointResponse
s {$sel:failureReason:CreateDevEndpointResponse' :: Maybe Text
failureReason = Maybe Text
a} :: CreateDevEndpointResponse)

-- | The name assigned to the new @DevEndpoint@.
createDevEndpointResponse_endpointName :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Text)
createDevEndpointResponse_endpointName :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_endpointName = (CreateDevEndpointResponse -> Maybe Text)
-> (CreateDevEndpointResponse
    -> Maybe Text -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Text
endpointName :: Maybe Text
$sel:endpointName:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Text
endpointName} -> Maybe Text
endpointName) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Text
a -> CreateDevEndpointResponse
s {$sel:endpointName:CreateDevEndpointResponse' :: Maybe Text
endpointName = Maybe Text
a} :: CreateDevEndpointResponse)

-- | The number of workers of a defined @workerType@ that are allocated to
-- the development endpoint.
createDevEndpointResponse_numberOfWorkers :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Int)
createDevEndpointResponse_numberOfWorkers :: (Maybe Int -> f (Maybe Int))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_numberOfWorkers = (CreateDevEndpointResponse -> Maybe Int)
-> (CreateDevEndpointResponse
    -> Maybe Int -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Int
numberOfWorkers :: Maybe Int
$sel:numberOfWorkers:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Int
numberOfWorkers} -> Maybe Int
numberOfWorkers) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Int
a -> CreateDevEndpointResponse
s {$sel:numberOfWorkers:CreateDevEndpointResponse' :: Maybe Int
numberOfWorkers = Maybe Int
a} :: CreateDevEndpointResponse)

-- | The paths to one or more Python libraries in an S3 bucket that will be
-- loaded in your @DevEndpoint@.
createDevEndpointResponse_extraPythonLibsS3Path :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Text)
createDevEndpointResponse_extraPythonLibsS3Path :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_extraPythonLibsS3Path = (CreateDevEndpointResponse -> Maybe Text)
-> (CreateDevEndpointResponse
    -> Maybe Text -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Text
extraPythonLibsS3Path :: Maybe Text
$sel:extraPythonLibsS3Path:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Text
extraPythonLibsS3Path} -> Maybe Text
extraPythonLibsS3Path) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Text
a -> CreateDevEndpointResponse
s {$sel:extraPythonLibsS3Path:CreateDevEndpointResponse' :: Maybe Text
extraPythonLibsS3Path = Maybe Text
a} :: CreateDevEndpointResponse)

-- | The security groups assigned to the new @DevEndpoint@.
createDevEndpointResponse_securityGroupIds :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe [Prelude.Text])
createDevEndpointResponse_securityGroupIds :: (Maybe [Text] -> f (Maybe [Text]))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_securityGroupIds = (CreateDevEndpointResponse -> Maybe [Text])
-> (CreateDevEndpointResponse
    -> Maybe [Text] -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe [Text]
securityGroupIds :: Maybe [Text]
$sel:securityGroupIds:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe [Text]
securityGroupIds} -> Maybe [Text]
securityGroupIds) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe [Text]
a -> CreateDevEndpointResponse
s {$sel:securityGroupIds:CreateDevEndpointResponse' :: Maybe [Text]
securityGroupIds = Maybe [Text]
a} :: CreateDevEndpointResponse) ((Maybe [Text] -> f (Maybe [Text]))
 -> CreateDevEndpointResponse -> f CreateDevEndpointResponse)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> CreateDevEndpointResponse
-> f CreateDevEndpointResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The ID of the virtual private cloud (VPC) used by this @DevEndpoint@.
createDevEndpointResponse_vpcId :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Text)
createDevEndpointResponse_vpcId :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_vpcId = (CreateDevEndpointResponse -> Maybe Text)
-> (CreateDevEndpointResponse
    -> Maybe Text -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Text
vpcId :: Maybe Text
$sel:vpcId:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Text
vpcId} -> Maybe Text
vpcId) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Text
a -> CreateDevEndpointResponse
s {$sel:vpcId:CreateDevEndpointResponse' :: Maybe Text
vpcId = Maybe Text
a} :: CreateDevEndpointResponse)

-- | The map of arguments used to configure this @DevEndpoint@.
--
-- Valid arguments are:
--
-- -   @\"--enable-glue-datacatalog\": \"\"@
--
-- You can specify a version of Python support for development endpoints by
-- using the @Arguments@ parameter in the @CreateDevEndpoint@ or
-- @UpdateDevEndpoint@ APIs. If no arguments are provided, the version
-- defaults to Python 2.
createDevEndpointResponse_arguments :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
createDevEndpointResponse_arguments :: (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_arguments = (CreateDevEndpointResponse -> Maybe (HashMap Text Text))
-> (CreateDevEndpointResponse
    -> Maybe (HashMap Text Text) -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe (HashMap Text Text)
arguments :: Maybe (HashMap Text Text)
$sel:arguments:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe (HashMap Text Text)
arguments} -> Maybe (HashMap Text Text)
arguments) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe (HashMap Text Text)
a -> CreateDevEndpointResponse
s {$sel:arguments:CreateDevEndpointResponse' :: Maybe (HashMap Text Text)
arguments = Maybe (HashMap Text Text)
a} :: CreateDevEndpointResponse) ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
 -> CreateDevEndpointResponse -> f CreateDevEndpointResponse)
-> ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
    -> Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> CreateDevEndpointResponse
-> f CreateDevEndpointResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
-> Iso
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The type of predefined worker that is allocated to the development
-- endpoint. May be a value of Standard, G.1X, or G.2X.
createDevEndpointResponse_workerType :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe WorkerType)
createDevEndpointResponse_workerType :: (Maybe WorkerType -> f (Maybe WorkerType))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_workerType = (CreateDevEndpointResponse -> Maybe WorkerType)
-> (CreateDevEndpointResponse
    -> Maybe WorkerType -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe WorkerType)
     (Maybe WorkerType)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe WorkerType
workerType :: Maybe WorkerType
$sel:workerType:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe WorkerType
workerType} -> Maybe WorkerType
workerType) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe WorkerType
a -> CreateDevEndpointResponse
s {$sel:workerType:CreateDevEndpointResponse' :: Maybe WorkerType
workerType = Maybe WorkerType
a} :: CreateDevEndpointResponse)

-- | The name of the @SecurityConfiguration@ structure being used with this
-- @DevEndpoint@.
createDevEndpointResponse_securityConfiguration :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Text)
createDevEndpointResponse_securityConfiguration :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_securityConfiguration = (CreateDevEndpointResponse -> Maybe Text)
-> (CreateDevEndpointResponse
    -> Maybe Text -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Text
securityConfiguration :: Maybe Text
$sel:securityConfiguration:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Text
securityConfiguration} -> Maybe Text
securityConfiguration) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Text
a -> CreateDevEndpointResponse
s {$sel:securityConfiguration:CreateDevEndpointResponse' :: Maybe Text
securityConfiguration = Maybe Text
a} :: CreateDevEndpointResponse)

-- | The subnet ID assigned to the new @DevEndpoint@.
createDevEndpointResponse_subnetId :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Text)
createDevEndpointResponse_subnetId :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_subnetId = (CreateDevEndpointResponse -> Maybe Text)
-> (CreateDevEndpointResponse
    -> Maybe Text -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Text
subnetId :: Maybe Text
$sel:subnetId:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Text
subnetId} -> Maybe Text
subnetId) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Text
a -> CreateDevEndpointResponse
s {$sel:subnetId:CreateDevEndpointResponse' :: Maybe Text
subnetId = Maybe Text
a} :: CreateDevEndpointResponse)

-- | Glue version determines the versions of Apache Spark and Python that
-- Glue supports. The Python version indicates the version supported for
-- running your ETL scripts on development endpoints.
--
-- For more information about the available Glue versions and corresponding
-- Spark and Python versions, see
-- <https://docs.aws.amazon.com/glue/latest/dg/add-job.html Glue version>
-- in the developer guide.
createDevEndpointResponse_glueVersion :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Text)
createDevEndpointResponse_glueVersion :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_glueVersion = (CreateDevEndpointResponse -> Maybe Text)
-> (CreateDevEndpointResponse
    -> Maybe Text -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Text
glueVersion :: Maybe Text
$sel:glueVersion:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Text
glueVersion} -> Maybe Text
glueVersion) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Text
a -> CreateDevEndpointResponse
s {$sel:glueVersion:CreateDevEndpointResponse' :: Maybe Text
glueVersion = Maybe Text
a} :: CreateDevEndpointResponse)

-- | The number of Glue Data Processing Units (DPUs) allocated to this
-- DevEndpoint.
createDevEndpointResponse_numberOfNodes :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Int)
createDevEndpointResponse_numberOfNodes :: (Maybe Int -> f (Maybe Int))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_numberOfNodes = (CreateDevEndpointResponse -> Maybe Int)
-> (CreateDevEndpointResponse
    -> Maybe Int -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Int
numberOfNodes :: Maybe Int
$sel:numberOfNodes:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Int
numberOfNodes} -> Maybe Int
numberOfNodes) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Int
a -> CreateDevEndpointResponse
s {$sel:numberOfNodes:CreateDevEndpointResponse' :: Maybe Int
numberOfNodes = Maybe Int
a} :: CreateDevEndpointResponse)

-- | The AWS Availability Zone where this @DevEndpoint@ is located.
createDevEndpointResponse_availabilityZone :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Text)
createDevEndpointResponse_availabilityZone :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_availabilityZone = (CreateDevEndpointResponse -> Maybe Text)
-> (CreateDevEndpointResponse
    -> Maybe Text -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Text
availabilityZone :: Maybe Text
$sel:availabilityZone:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Text
availabilityZone} -> Maybe Text
availabilityZone) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Text
a -> CreateDevEndpointResponse
s {$sel:availabilityZone:CreateDevEndpointResponse' :: Maybe Text
availabilityZone = Maybe Text
a} :: CreateDevEndpointResponse)

-- | The Apache Zeppelin port for the remote Apache Spark interpreter.
createDevEndpointResponse_zeppelinRemoteSparkInterpreterPort :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Int)
createDevEndpointResponse_zeppelinRemoteSparkInterpreterPort :: (Maybe Int -> f (Maybe Int))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_zeppelinRemoteSparkInterpreterPort = (CreateDevEndpointResponse -> Maybe Int)
-> (CreateDevEndpointResponse
    -> Maybe Int -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Int
zeppelinRemoteSparkInterpreterPort :: Maybe Int
$sel:zeppelinRemoteSparkInterpreterPort:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Int
zeppelinRemoteSparkInterpreterPort} -> Maybe Int
zeppelinRemoteSparkInterpreterPort) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Int
a -> CreateDevEndpointResponse
s {$sel:zeppelinRemoteSparkInterpreterPort:CreateDevEndpointResponse' :: Maybe Int
zeppelinRemoteSparkInterpreterPort = Maybe Int
a} :: CreateDevEndpointResponse)

-- | Path to one or more Java @.jar@ files in an S3 bucket that will be
-- loaded in your @DevEndpoint@.
createDevEndpointResponse_extraJarsS3Path :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Text)
createDevEndpointResponse_extraJarsS3Path :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_extraJarsS3Path = (CreateDevEndpointResponse -> Maybe Text)
-> (CreateDevEndpointResponse
    -> Maybe Text -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Text
extraJarsS3Path :: Maybe Text
$sel:extraJarsS3Path:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Text
extraJarsS3Path} -> Maybe Text
extraJarsS3Path) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Text
a -> CreateDevEndpointResponse
s {$sel:extraJarsS3Path:CreateDevEndpointResponse' :: Maybe Text
extraJarsS3Path = Maybe Text
a} :: CreateDevEndpointResponse)

-- | The point in time at which this @DevEndpoint@ was created.
createDevEndpointResponse_createdTimestamp :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.UTCTime)
createDevEndpointResponse_createdTimestamp :: (Maybe UTCTime -> f (Maybe UTCTime))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_createdTimestamp = (CreateDevEndpointResponse -> Maybe POSIX)
-> (CreateDevEndpointResponse
    -> Maybe POSIX -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe POSIX
createdTimestamp :: Maybe POSIX
$sel:createdTimestamp:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe POSIX
createdTimestamp} -> Maybe POSIX
createdTimestamp) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe POSIX
a -> CreateDevEndpointResponse
s {$sel:createdTimestamp:CreateDevEndpointResponse' :: Maybe POSIX
createdTimestamp = Maybe POSIX
a} :: CreateDevEndpointResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> CreateDevEndpointResponse -> f CreateDevEndpointResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> CreateDevEndpointResponse
-> f CreateDevEndpointResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The address of the YARN endpoint used by this @DevEndpoint@.
createDevEndpointResponse_yarnEndpointAddress :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Text)
createDevEndpointResponse_yarnEndpointAddress :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_yarnEndpointAddress = (CreateDevEndpointResponse -> Maybe Text)
-> (CreateDevEndpointResponse
    -> Maybe Text -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Text
yarnEndpointAddress :: Maybe Text
$sel:yarnEndpointAddress:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Text
yarnEndpointAddress} -> Maybe Text
yarnEndpointAddress) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Text
a -> CreateDevEndpointResponse
s {$sel:yarnEndpointAddress:CreateDevEndpointResponse' :: Maybe Text
yarnEndpointAddress = Maybe Text
a} :: CreateDevEndpointResponse)

-- | The Amazon Resource Name (ARN) of the role assigned to the new
-- @DevEndpoint@.
createDevEndpointResponse_roleArn :: Lens.Lens' CreateDevEndpointResponse (Prelude.Maybe Prelude.Text)
createDevEndpointResponse_roleArn :: (Maybe Text -> f (Maybe Text))
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_roleArn = (CreateDevEndpointResponse -> Maybe Text)
-> (CreateDevEndpointResponse
    -> Maybe Text -> CreateDevEndpointResponse)
-> Lens
     CreateDevEndpointResponse
     CreateDevEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Maybe Text
a -> CreateDevEndpointResponse
s {$sel:roleArn:CreateDevEndpointResponse' :: Maybe Text
roleArn = Maybe Text
a} :: CreateDevEndpointResponse)

-- | The response's http status code.
createDevEndpointResponse_httpStatus :: Lens.Lens' CreateDevEndpointResponse Prelude.Int
createDevEndpointResponse_httpStatus :: (Int -> f Int)
-> CreateDevEndpointResponse -> f CreateDevEndpointResponse
createDevEndpointResponse_httpStatus = (CreateDevEndpointResponse -> Int)
-> (CreateDevEndpointResponse -> Int -> CreateDevEndpointResponse)
-> Lens CreateDevEndpointResponse CreateDevEndpointResponse Int Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDevEndpointResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateDevEndpointResponse' :: CreateDevEndpointResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateDevEndpointResponse
s@CreateDevEndpointResponse' {} Int
a -> CreateDevEndpointResponse
s {$sel:httpStatus:CreateDevEndpointResponse' :: Int
httpStatus = Int
a} :: CreateDevEndpointResponse)

instance Prelude.NFData CreateDevEndpointResponse