{-# 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 -- 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 -- 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. -- -- 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"