{-# 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.AppConfig.GetHostedConfigurationVersion -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Retrieves information about a specific configuration version. module Amazonka.AppConfig.GetHostedConfigurationVersion ( -- * Creating a Request GetHostedConfigurationVersion (..), newGetHostedConfigurationVersion, -- * Request Lenses getHostedConfigurationVersion_applicationId, getHostedConfigurationVersion_configurationProfileId, getHostedConfigurationVersion_versionNumber, -- * Destructuring the Response HostedConfigurationVersion (..), newHostedConfigurationVersion, -- * Response Lenses hostedConfigurationVersion_applicationId, hostedConfigurationVersion_configurationProfileId, hostedConfigurationVersion_content, hostedConfigurationVersion_contentType, hostedConfigurationVersion_description, hostedConfigurationVersion_versionNumber, ) where import Amazonka.AppConfig.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 -- | /See:/ 'newGetHostedConfigurationVersion' smart constructor. data GetHostedConfigurationVersion = GetHostedConfigurationVersion' { -- | The application ID. applicationId :: Prelude.Text, -- | The configuration profile ID. configurationProfileId :: Prelude.Text, -- | The version. versionNumber :: Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'GetHostedConfigurationVersion' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'applicationId', 'getHostedConfigurationVersion_applicationId' - The application ID. -- -- 'configurationProfileId', 'getHostedConfigurationVersion_configurationProfileId' - The configuration profile ID. -- -- 'versionNumber', 'getHostedConfigurationVersion_versionNumber' - The version. newGetHostedConfigurationVersion :: -- | 'applicationId' Prelude.Text -> -- | 'configurationProfileId' Prelude.Text -> -- | 'versionNumber' Prelude.Int -> GetHostedConfigurationVersion newGetHostedConfigurationVersion pApplicationId_ pConfigurationProfileId_ pVersionNumber_ = GetHostedConfigurationVersion' { applicationId = pApplicationId_, configurationProfileId = pConfigurationProfileId_, versionNumber = pVersionNumber_ } -- | The application ID. getHostedConfigurationVersion_applicationId :: Lens.Lens' GetHostedConfigurationVersion Prelude.Text getHostedConfigurationVersion_applicationId = Lens.lens (\GetHostedConfigurationVersion' {applicationId} -> applicationId) (\s@GetHostedConfigurationVersion' {} a -> s {applicationId = a} :: GetHostedConfigurationVersion) -- | The configuration profile ID. getHostedConfigurationVersion_configurationProfileId :: Lens.Lens' GetHostedConfigurationVersion Prelude.Text getHostedConfigurationVersion_configurationProfileId = Lens.lens (\GetHostedConfigurationVersion' {configurationProfileId} -> configurationProfileId) (\s@GetHostedConfigurationVersion' {} a -> s {configurationProfileId = a} :: GetHostedConfigurationVersion) -- | The version. getHostedConfigurationVersion_versionNumber :: Lens.Lens' GetHostedConfigurationVersion Prelude.Int getHostedConfigurationVersion_versionNumber = Lens.lens (\GetHostedConfigurationVersion' {versionNumber} -> versionNumber) (\s@GetHostedConfigurationVersion' {} a -> s {versionNumber = a} :: GetHostedConfigurationVersion) instance Core.AWSRequest GetHostedConfigurationVersion where type AWSResponse GetHostedConfigurationVersion = HostedConfigurationVersion request overrides = Request.get (overrides defaultService) response = Response.receiveBytes ( \s h x -> HostedConfigurationVersion' Prelude.<$> (h Data..#? "Application-Id") Prelude.<*> (h Data..#? "Configuration-Profile-Id") Prelude.<*> (Prelude.pure (Prelude.Just (Prelude.coerce x))) Prelude.<*> (h Data..#? "Content-Type") Prelude.<*> (h Data..#? "Description") Prelude.<*> (h Data..#? "Version-Number") ) instance Prelude.Hashable GetHostedConfigurationVersion where hashWithSalt _salt GetHostedConfigurationVersion' {..} = _salt `Prelude.hashWithSalt` applicationId `Prelude.hashWithSalt` configurationProfileId `Prelude.hashWithSalt` versionNumber instance Prelude.NFData GetHostedConfigurationVersion where rnf GetHostedConfigurationVersion' {..} = Prelude.rnf applicationId `Prelude.seq` Prelude.rnf configurationProfileId `Prelude.seq` Prelude.rnf versionNumber instance Data.ToHeaders GetHostedConfigurationVersion where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToPath GetHostedConfigurationVersion where toPath GetHostedConfigurationVersion' {..} = Prelude.mconcat [ "/applications/", Data.toBS applicationId, "/configurationprofiles/", Data.toBS configurationProfileId, "/hostedconfigurationversions/", Data.toBS versionNumber ] instance Data.ToQuery GetHostedConfigurationVersion where toQuery = Prelude.const Prelude.mempty