{-# 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.Amplify.CreateDeployment
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Creates a deployment for a manually deployed Amplify app. Manually
-- deployed apps are not connected to a repository.
module Amazonka.Amplify.CreateDeployment
  ( -- * Creating a Request
    CreateDeployment (..),
    newCreateDeployment,

    -- * Request Lenses
    createDeployment_fileMap,
    createDeployment_appId,
    createDeployment_branchName,

    -- * Destructuring the Response
    CreateDeploymentResponse (..),
    newCreateDeploymentResponse,

    -- * Response Lenses
    createDeploymentResponse_jobId,
    createDeploymentResponse_httpStatus,
    createDeploymentResponse_fileUploadUrls,
    createDeploymentResponse_zipUploadUrl,
  )
where

import Amazonka.Amplify.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | The request structure for the create a new deployment request.
--
-- /See:/ 'newCreateDeployment' smart constructor.
data CreateDeployment = CreateDeployment'
  { -- | An optional file map that contains the file name as the key and the file
    -- content md5 hash as the value. If this argument is provided, the service
    -- will generate a unique upload URL per file. Otherwise, the service will
    -- only generate a single upload URL for the zipped files.
    CreateDeployment -> Maybe (HashMap Text Text)
fileMap :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The unique ID for an Amplify app.
    CreateDeployment -> Text
appId :: Prelude.Text,
    -- | The name for the branch, for the job.
    CreateDeployment -> Text
branchName :: Prelude.Text
  }
  deriving (CreateDeployment -> CreateDeployment -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateDeployment -> CreateDeployment -> Bool
$c/= :: CreateDeployment -> CreateDeployment -> Bool
== :: CreateDeployment -> CreateDeployment -> Bool
$c== :: CreateDeployment -> CreateDeployment -> Bool
Prelude.Eq, ReadPrec [CreateDeployment]
ReadPrec CreateDeployment
Int -> ReadS CreateDeployment
ReadS [CreateDeployment]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateDeployment]
$creadListPrec :: ReadPrec [CreateDeployment]
readPrec :: ReadPrec CreateDeployment
$creadPrec :: ReadPrec CreateDeployment
readList :: ReadS [CreateDeployment]
$creadList :: ReadS [CreateDeployment]
readsPrec :: Int -> ReadS CreateDeployment
$creadsPrec :: Int -> ReadS CreateDeployment
Prelude.Read, Int -> CreateDeployment -> ShowS
[CreateDeployment] -> ShowS
CreateDeployment -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateDeployment] -> ShowS
$cshowList :: [CreateDeployment] -> ShowS
show :: CreateDeployment -> String
$cshow :: CreateDeployment -> String
showsPrec :: Int -> CreateDeployment -> ShowS
$cshowsPrec :: Int -> CreateDeployment -> ShowS
Prelude.Show, forall x. Rep CreateDeployment x -> CreateDeployment
forall x. CreateDeployment -> Rep CreateDeployment x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateDeployment x -> CreateDeployment
$cfrom :: forall x. CreateDeployment -> Rep CreateDeployment x
Prelude.Generic)

-- |
-- Create a value of 'CreateDeployment' 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:
--
-- 'fileMap', 'createDeployment_fileMap' - An optional file map that contains the file name as the key and the file
-- content md5 hash as the value. If this argument is provided, the service
-- will generate a unique upload URL per file. Otherwise, the service will
-- only generate a single upload URL for the zipped files.
--
-- 'appId', 'createDeployment_appId' - The unique ID for an Amplify app.
--
-- 'branchName', 'createDeployment_branchName' - The name for the branch, for the job.
newCreateDeployment ::
  -- | 'appId'
  Prelude.Text ->
  -- | 'branchName'
  Prelude.Text ->
  CreateDeployment
newCreateDeployment :: Text -> Text -> CreateDeployment
newCreateDeployment Text
pAppId_ Text
pBranchName_ =
  CreateDeployment'
    { $sel:fileMap:CreateDeployment' :: Maybe (HashMap Text Text)
fileMap = forall a. Maybe a
Prelude.Nothing,
      $sel:appId:CreateDeployment' :: Text
appId = Text
pAppId_,
      $sel:branchName:CreateDeployment' :: Text
branchName = Text
pBranchName_
    }

-- | An optional file map that contains the file name as the key and the file
-- content md5 hash as the value. If this argument is provided, the service
-- will generate a unique upload URL per file. Otherwise, the service will
-- only generate a single upload URL for the zipped files.
createDeployment_fileMap :: Lens.Lens' CreateDeployment (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
createDeployment_fileMap :: Lens' CreateDeployment (Maybe (HashMap Text Text))
createDeployment_fileMap = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDeployment' {Maybe (HashMap Text Text)
fileMap :: Maybe (HashMap Text Text)
$sel:fileMap:CreateDeployment' :: CreateDeployment -> Maybe (HashMap Text Text)
fileMap} -> Maybe (HashMap Text Text)
fileMap) (\s :: CreateDeployment
s@CreateDeployment' {} Maybe (HashMap Text Text)
a -> CreateDeployment
s {$sel:fileMap:CreateDeployment' :: Maybe (HashMap Text Text)
fileMap = Maybe (HashMap Text Text)
a} :: CreateDeployment) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The unique ID for an Amplify app.
createDeployment_appId :: Lens.Lens' CreateDeployment Prelude.Text
createDeployment_appId :: Lens' CreateDeployment Text
createDeployment_appId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDeployment' {Text
appId :: Text
$sel:appId:CreateDeployment' :: CreateDeployment -> Text
appId} -> Text
appId) (\s :: CreateDeployment
s@CreateDeployment' {} Text
a -> CreateDeployment
s {$sel:appId:CreateDeployment' :: Text
appId = Text
a} :: CreateDeployment)

-- | The name for the branch, for the job.
createDeployment_branchName :: Lens.Lens' CreateDeployment Prelude.Text
createDeployment_branchName :: Lens' CreateDeployment Text
createDeployment_branchName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDeployment' {Text
branchName :: Text
$sel:branchName:CreateDeployment' :: CreateDeployment -> Text
branchName} -> Text
branchName) (\s :: CreateDeployment
s@CreateDeployment' {} Text
a -> CreateDeployment
s {$sel:branchName:CreateDeployment' :: Text
branchName = Text
a} :: CreateDeployment)

instance Core.AWSRequest CreateDeployment where
  type
    AWSResponse CreateDeployment =
      CreateDeploymentResponse
  request :: (Service -> Service)
-> CreateDeployment -> Request CreateDeployment
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateDeployment
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateDeployment)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Int -> HashMap Text Text -> Text -> CreateDeploymentResponse
CreateDeploymentResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"jobId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"fileUploadUrls" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"zipUploadUrl")
      )

instance Prelude.Hashable CreateDeployment where
  hashWithSalt :: Int -> CreateDeployment -> Int
hashWithSalt Int
_salt CreateDeployment' {Maybe (HashMap Text Text)
Text
branchName :: Text
appId :: Text
fileMap :: Maybe (HashMap Text Text)
$sel:branchName:CreateDeployment' :: CreateDeployment -> Text
$sel:appId:CreateDeployment' :: CreateDeployment -> Text
$sel:fileMap:CreateDeployment' :: CreateDeployment -> Maybe (HashMap Text Text)
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
fileMap
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
appId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
branchName

instance Prelude.NFData CreateDeployment where
  rnf :: CreateDeployment -> ()
rnf CreateDeployment' {Maybe (HashMap Text Text)
Text
branchName :: Text
appId :: Text
fileMap :: Maybe (HashMap Text Text)
$sel:branchName:CreateDeployment' :: CreateDeployment -> Text
$sel:appId:CreateDeployment' :: CreateDeployment -> Text
$sel:fileMap:CreateDeployment' :: CreateDeployment -> Maybe (HashMap Text Text)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
fileMap
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
appId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
branchName

instance Data.ToHeaders CreateDeployment where
  toHeaders :: CreateDeployment -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON CreateDeployment where
  toJSON :: CreateDeployment -> Value
toJSON CreateDeployment' {Maybe (HashMap Text Text)
Text
branchName :: Text
appId :: Text
fileMap :: Maybe (HashMap Text Text)
$sel:branchName:CreateDeployment' :: CreateDeployment -> Text
$sel:appId:CreateDeployment' :: CreateDeployment -> Text
$sel:fileMap:CreateDeployment' :: CreateDeployment -> Maybe (HashMap Text Text)
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [(Key
"fileMap" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
fileMap]
      )

instance Data.ToPath CreateDeployment where
  toPath :: CreateDeployment -> ByteString
toPath CreateDeployment' {Maybe (HashMap Text Text)
Text
branchName :: Text
appId :: Text
fileMap :: Maybe (HashMap Text Text)
$sel:branchName:CreateDeployment' :: CreateDeployment -> Text
$sel:appId:CreateDeployment' :: CreateDeployment -> Text
$sel:fileMap:CreateDeployment' :: CreateDeployment -> Maybe (HashMap Text Text)
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/apps/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
appId,
        ByteString
"/branches/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
branchName,
        ByteString
"/deployments"
      ]

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

-- | The result structure for the create a new deployment request.
--
-- /See:/ 'newCreateDeploymentResponse' smart constructor.
data CreateDeploymentResponse = CreateDeploymentResponse'
  { -- | The job ID for this deployment. will supply to start deployment api.
    CreateDeploymentResponse -> Maybe Text
jobId :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    CreateDeploymentResponse -> Int
httpStatus :: Prelude.Int,
    -- | When the @fileMap@ argument is provided in the request, @fileUploadUrls@
    -- will contain a map of file names to upload URLs.
    CreateDeploymentResponse -> HashMap Text Text
fileUploadUrls :: Prelude.HashMap Prelude.Text Prelude.Text,
    -- | When the @fileMap@ argument is not provided in the request, this
    -- @zipUploadUrl@ is returned.
    CreateDeploymentResponse -> Text
zipUploadUrl :: Prelude.Text
  }
  deriving (CreateDeploymentResponse -> CreateDeploymentResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateDeploymentResponse -> CreateDeploymentResponse -> Bool
$c/= :: CreateDeploymentResponse -> CreateDeploymentResponse -> Bool
== :: CreateDeploymentResponse -> CreateDeploymentResponse -> Bool
$c== :: CreateDeploymentResponse -> CreateDeploymentResponse -> Bool
Prelude.Eq, ReadPrec [CreateDeploymentResponse]
ReadPrec CreateDeploymentResponse
Int -> ReadS CreateDeploymentResponse
ReadS [CreateDeploymentResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateDeploymentResponse]
$creadListPrec :: ReadPrec [CreateDeploymentResponse]
readPrec :: ReadPrec CreateDeploymentResponse
$creadPrec :: ReadPrec CreateDeploymentResponse
readList :: ReadS [CreateDeploymentResponse]
$creadList :: ReadS [CreateDeploymentResponse]
readsPrec :: Int -> ReadS CreateDeploymentResponse
$creadsPrec :: Int -> ReadS CreateDeploymentResponse
Prelude.Read, Int -> CreateDeploymentResponse -> ShowS
[CreateDeploymentResponse] -> ShowS
CreateDeploymentResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateDeploymentResponse] -> ShowS
$cshowList :: [CreateDeploymentResponse] -> ShowS
show :: CreateDeploymentResponse -> String
$cshow :: CreateDeploymentResponse -> String
showsPrec :: Int -> CreateDeploymentResponse -> ShowS
$cshowsPrec :: Int -> CreateDeploymentResponse -> ShowS
Prelude.Show, forall x.
Rep CreateDeploymentResponse x -> CreateDeploymentResponse
forall x.
CreateDeploymentResponse -> Rep CreateDeploymentResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateDeploymentResponse x -> CreateDeploymentResponse
$cfrom :: forall x.
CreateDeploymentResponse -> Rep CreateDeploymentResponse x
Prelude.Generic)

-- |
-- Create a value of 'CreateDeploymentResponse' 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:
--
-- 'jobId', 'createDeploymentResponse_jobId' - The job ID for this deployment. will supply to start deployment api.
--
-- 'httpStatus', 'createDeploymentResponse_httpStatus' - The response's http status code.
--
-- 'fileUploadUrls', 'createDeploymentResponse_fileUploadUrls' - When the @fileMap@ argument is provided in the request, @fileUploadUrls@
-- will contain a map of file names to upload URLs.
--
-- 'zipUploadUrl', 'createDeploymentResponse_zipUploadUrl' - When the @fileMap@ argument is not provided in the request, this
-- @zipUploadUrl@ is returned.
newCreateDeploymentResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'zipUploadUrl'
  Prelude.Text ->
  CreateDeploymentResponse
newCreateDeploymentResponse :: Int -> Text -> CreateDeploymentResponse
newCreateDeploymentResponse
  Int
pHttpStatus_
  Text
pZipUploadUrl_ =
    CreateDeploymentResponse'
      { $sel:jobId:CreateDeploymentResponse' :: Maybe Text
jobId = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:CreateDeploymentResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:fileUploadUrls:CreateDeploymentResponse' :: HashMap Text Text
fileUploadUrls = forall a. Monoid a => a
Prelude.mempty,
        $sel:zipUploadUrl:CreateDeploymentResponse' :: Text
zipUploadUrl = Text
pZipUploadUrl_
      }

-- | The job ID for this deployment. will supply to start deployment api.
createDeploymentResponse_jobId :: Lens.Lens' CreateDeploymentResponse (Prelude.Maybe Prelude.Text)
createDeploymentResponse_jobId :: Lens' CreateDeploymentResponse (Maybe Text)
createDeploymentResponse_jobId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDeploymentResponse' {Maybe Text
jobId :: Maybe Text
$sel:jobId:CreateDeploymentResponse' :: CreateDeploymentResponse -> Maybe Text
jobId} -> Maybe Text
jobId) (\s :: CreateDeploymentResponse
s@CreateDeploymentResponse' {} Maybe Text
a -> CreateDeploymentResponse
s {$sel:jobId:CreateDeploymentResponse' :: Maybe Text
jobId = Maybe Text
a} :: CreateDeploymentResponse)

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

-- | When the @fileMap@ argument is provided in the request, @fileUploadUrls@
-- will contain a map of file names to upload URLs.
createDeploymentResponse_fileUploadUrls :: Lens.Lens' CreateDeploymentResponse (Prelude.HashMap Prelude.Text Prelude.Text)
createDeploymentResponse_fileUploadUrls :: Lens' CreateDeploymentResponse (HashMap Text Text)
createDeploymentResponse_fileUploadUrls = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDeploymentResponse' {HashMap Text Text
fileUploadUrls :: HashMap Text Text
$sel:fileUploadUrls:CreateDeploymentResponse' :: CreateDeploymentResponse -> HashMap Text Text
fileUploadUrls} -> HashMap Text Text
fileUploadUrls) (\s :: CreateDeploymentResponse
s@CreateDeploymentResponse' {} HashMap Text Text
a -> CreateDeploymentResponse
s {$sel:fileUploadUrls:CreateDeploymentResponse' :: HashMap Text Text
fileUploadUrls = HashMap Text Text
a} :: CreateDeploymentResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | When the @fileMap@ argument is not provided in the request, this
-- @zipUploadUrl@ is returned.
createDeploymentResponse_zipUploadUrl :: Lens.Lens' CreateDeploymentResponse Prelude.Text
createDeploymentResponse_zipUploadUrl :: Lens' CreateDeploymentResponse Text
createDeploymentResponse_zipUploadUrl = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDeploymentResponse' {Text
zipUploadUrl :: Text
$sel:zipUploadUrl:CreateDeploymentResponse' :: CreateDeploymentResponse -> Text
zipUploadUrl} -> Text
zipUploadUrl) (\s :: CreateDeploymentResponse
s@CreateDeploymentResponse' {} Text
a -> CreateDeploymentResponse
s {$sel:zipUploadUrl:CreateDeploymentResponse' :: Text
zipUploadUrl = Text
a} :: CreateDeploymentResponse)

instance Prelude.NFData CreateDeploymentResponse where
  rnf :: CreateDeploymentResponse -> ()
rnf CreateDeploymentResponse' {Int
Maybe Text
Text
HashMap Text Text
zipUploadUrl :: Text
fileUploadUrls :: HashMap Text Text
httpStatus :: Int
jobId :: Maybe Text
$sel:zipUploadUrl:CreateDeploymentResponse' :: CreateDeploymentResponse -> Text
$sel:fileUploadUrls:CreateDeploymentResponse' :: CreateDeploymentResponse -> HashMap Text Text
$sel:httpStatus:CreateDeploymentResponse' :: CreateDeploymentResponse -> Int
$sel:jobId:CreateDeploymentResponse' :: CreateDeploymentResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
jobId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf HashMap Text Text
fileUploadUrls
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
zipUploadUrl