amazonka-importexport-0.2.3: gen/Network/AWS/ImportExport/GetShippingLabel.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- Module : Network.AWS.ImportExport.GetShippingLabel
-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>
-- License : This Source Code Form is subject to the terms of
-- the Mozilla Public License, v. 2.0.
-- A copy of the MPL can be found in the LICENSE file or
-- you can obtain it at http://mozilla.org/MPL/2.0/.
-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
-- Stability : experimental
-- Portability : non-portable (GHC extensions)
--
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- | This operation returns information about a job, including where the job is in
-- the processing pipeline, the status of the results, and the signature value
-- associated with the job. You can only return information about jobs you own.
--
-- <http://docs.aws.amazon.com/AWSImportExport/latest/DG/WebGetShippingLabel.html>
module Network.AWS.ImportExport.GetShippingLabel
(
-- * Request
GetShippingLabel
-- ** Request constructor
, getShippingLabel
-- ** Request lenses
, gslAPIVersion
, gslCity
, gslCompany
, gslCountry
, gslJobIds
, gslName
, gslPhoneNumber
, gslPostalCode
, gslStateOrProvince
, gslStreet1
, gslStreet2
, gslStreet3
-- * Response
, GetShippingLabelResponse
-- ** Response constructor
, getShippingLabelResponse
-- ** Response lenses
, gslrShippingLabelURL
, gslrWarning
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.ImportExport.Types
import qualified GHC.Exts
data GetShippingLabel = GetShippingLabel
{ _gslAPIVersion :: Maybe Text
, _gslCity :: Maybe Text
, _gslCompany :: Maybe Text
, _gslCountry :: Maybe Text
, _gslJobIds :: List "member" Text
, _gslName :: Maybe Text
, _gslPhoneNumber :: Maybe Text
, _gslPostalCode :: Maybe Text
, _gslStateOrProvince :: Maybe Text
, _gslStreet1 :: Maybe Text
, _gslStreet2 :: Maybe Text
, _gslStreet3 :: Maybe Text
} deriving (Eq, Ord, Read, Show)
-- | 'GetShippingLabel' constructor.
--
-- The fields accessible through corresponding lenses are:
--
-- * 'gslAPIVersion' @::@ 'Maybe' 'Text'
--
-- * 'gslCity' @::@ 'Maybe' 'Text'
--
-- * 'gslCompany' @::@ 'Maybe' 'Text'
--
-- * 'gslCountry' @::@ 'Maybe' 'Text'
--
-- * 'gslJobIds' @::@ ['Text']
--
-- * 'gslName' @::@ 'Maybe' 'Text'
--
-- * 'gslPhoneNumber' @::@ 'Maybe' 'Text'
--
-- * 'gslPostalCode' @::@ 'Maybe' 'Text'
--
-- * 'gslStateOrProvince' @::@ 'Maybe' 'Text'
--
-- * 'gslStreet1' @::@ 'Maybe' 'Text'
--
-- * 'gslStreet2' @::@ 'Maybe' 'Text'
--
-- * 'gslStreet3' @::@ 'Maybe' 'Text'
--
getShippingLabel :: GetShippingLabel
getShippingLabel = GetShippingLabel
{ _gslJobIds = mempty
, _gslName = Nothing
, _gslCompany = Nothing
, _gslPhoneNumber = Nothing
, _gslCountry = Nothing
, _gslStateOrProvince = Nothing
, _gslCity = Nothing
, _gslPostalCode = Nothing
, _gslStreet1 = Nothing
, _gslStreet2 = Nothing
, _gslStreet3 = Nothing
, _gslAPIVersion = Nothing
}
gslAPIVersion :: Lens' GetShippingLabel (Maybe Text)
gslAPIVersion = lens _gslAPIVersion (\s a -> s { _gslAPIVersion = a })
gslCity :: Lens' GetShippingLabel (Maybe Text)
gslCity = lens _gslCity (\s a -> s { _gslCity = a })
gslCompany :: Lens' GetShippingLabel (Maybe Text)
gslCompany = lens _gslCompany (\s a -> s { _gslCompany = a })
gslCountry :: Lens' GetShippingLabel (Maybe Text)
gslCountry = lens _gslCountry (\s a -> s { _gslCountry = a })
gslJobIds :: Lens' GetShippingLabel [Text]
gslJobIds = lens _gslJobIds (\s a -> s { _gslJobIds = a }) . _List
gslName :: Lens' GetShippingLabel (Maybe Text)
gslName = lens _gslName (\s a -> s { _gslName = a })
gslPhoneNumber :: Lens' GetShippingLabel (Maybe Text)
gslPhoneNumber = lens _gslPhoneNumber (\s a -> s { _gslPhoneNumber = a })
gslPostalCode :: Lens' GetShippingLabel (Maybe Text)
gslPostalCode = lens _gslPostalCode (\s a -> s { _gslPostalCode = a })
gslStateOrProvince :: Lens' GetShippingLabel (Maybe Text)
gslStateOrProvince =
lens _gslStateOrProvince (\s a -> s { _gslStateOrProvince = a })
gslStreet1 :: Lens' GetShippingLabel (Maybe Text)
gslStreet1 = lens _gslStreet1 (\s a -> s { _gslStreet1 = a })
gslStreet2 :: Lens' GetShippingLabel (Maybe Text)
gslStreet2 = lens _gslStreet2 (\s a -> s { _gslStreet2 = a })
gslStreet3 :: Lens' GetShippingLabel (Maybe Text)
gslStreet3 = lens _gslStreet3 (\s a -> s { _gslStreet3 = a })
data GetShippingLabelResponse = GetShippingLabelResponse
{ _gslrShippingLabelURL :: Maybe Text
, _gslrWarning :: Maybe Text
} deriving (Eq, Ord, Read, Show)
-- | 'GetShippingLabelResponse' constructor.
--
-- The fields accessible through corresponding lenses are:
--
-- * 'gslrShippingLabelURL' @::@ 'Maybe' 'Text'
--
-- * 'gslrWarning' @::@ 'Maybe' 'Text'
--
getShippingLabelResponse :: GetShippingLabelResponse
getShippingLabelResponse = GetShippingLabelResponse
{ _gslrShippingLabelURL = Nothing
, _gslrWarning = Nothing
}
gslrShippingLabelURL :: Lens' GetShippingLabelResponse (Maybe Text)
gslrShippingLabelURL =
lens _gslrShippingLabelURL (\s a -> s { _gslrShippingLabelURL = a })
gslrWarning :: Lens' GetShippingLabelResponse (Maybe Text)
gslrWarning = lens _gslrWarning (\s a -> s { _gslrWarning = a })
instance ToPath GetShippingLabel where
toPath = const "/"
instance ToQuery GetShippingLabel where
toQuery GetShippingLabel{..} = mconcat
[ "APIVersion" =? _gslAPIVersion
, "city" =? _gslCity
, "company" =? _gslCompany
, "country" =? _gslCountry
, "jobIds" =? _gslJobIds
, "name" =? _gslName
, "phoneNumber" =? _gslPhoneNumber
, "postalCode" =? _gslPostalCode
, "stateOrProvince" =? _gslStateOrProvince
, "street1" =? _gslStreet1
, "street2" =? _gslStreet2
, "street3" =? _gslStreet3
]
instance ToHeaders GetShippingLabel
instance AWSRequest GetShippingLabel where
type Sv GetShippingLabel = ImportExport
type Rs GetShippingLabel = GetShippingLabelResponse
request = post "GetShippingLabel"
response = xmlResponse
instance FromXML GetShippingLabelResponse where
parseXML = withElement "GetShippingLabelResult" $ \x -> GetShippingLabelResponse
<$> x .@? "ShippingLabelURL"
<*> x .@? "Warning"