{-# 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.AmplifyUiBuilder.UpdateForm -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Updates an existing form. module Amazonka.AmplifyUiBuilder.UpdateForm ( -- * Creating a Request UpdateForm (..), newUpdateForm, -- * Request Lenses updateForm_clientToken, updateForm_appId, updateForm_environmentName, updateForm_id, updateForm_updatedForm, -- * Destructuring the Response UpdateFormResponse (..), newUpdateFormResponse, -- * Response Lenses updateFormResponse_entity, updateFormResponse_httpStatus, ) where import Amazonka.AmplifyUiBuilder.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:/ 'newUpdateForm' smart constructor. data UpdateForm = UpdateForm' { -- | The unique client token. clientToken :: Prelude.Maybe Prelude.Text, -- | The unique ID for the Amplify app. appId :: Prelude.Text, -- | The name of the backend environment that is part of the Amplify app. environmentName :: Prelude.Text, -- | The unique ID for the form. id :: Prelude.Text, -- | The request accepts the following data in JSON format. updatedForm :: UpdateFormData } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'UpdateForm' 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: -- -- 'clientToken', 'updateForm_clientToken' - The unique client token. -- -- 'appId', 'updateForm_appId' - The unique ID for the Amplify app. -- -- 'environmentName', 'updateForm_environmentName' - The name of the backend environment that is part of the Amplify app. -- -- 'id', 'updateForm_id' - The unique ID for the form. -- -- 'updatedForm', 'updateForm_updatedForm' - The request accepts the following data in JSON format. newUpdateForm :: -- | 'appId' Prelude.Text -> -- | 'environmentName' Prelude.Text -> -- | 'id' Prelude.Text -> -- | 'updatedForm' UpdateFormData -> UpdateForm newUpdateForm pAppId_ pEnvironmentName_ pId_ pUpdatedForm_ = UpdateForm' { clientToken = Prelude.Nothing, appId = pAppId_, environmentName = pEnvironmentName_, id = pId_, updatedForm = pUpdatedForm_ } -- | The unique client token. updateForm_clientToken :: Lens.Lens' UpdateForm (Prelude.Maybe Prelude.Text) updateForm_clientToken = Lens.lens (\UpdateForm' {clientToken} -> clientToken) (\s@UpdateForm' {} a -> s {clientToken = a} :: UpdateForm) -- | The unique ID for the Amplify app. updateForm_appId :: Lens.Lens' UpdateForm Prelude.Text updateForm_appId = Lens.lens (\UpdateForm' {appId} -> appId) (\s@UpdateForm' {} a -> s {appId = a} :: UpdateForm) -- | The name of the backend environment that is part of the Amplify app. updateForm_environmentName :: Lens.Lens' UpdateForm Prelude.Text updateForm_environmentName = Lens.lens (\UpdateForm' {environmentName} -> environmentName) (\s@UpdateForm' {} a -> s {environmentName = a} :: UpdateForm) -- | The unique ID for the form. updateForm_id :: Lens.Lens' UpdateForm Prelude.Text updateForm_id = Lens.lens (\UpdateForm' {id} -> id) (\s@UpdateForm' {} a -> s {id = a} :: UpdateForm) -- | The request accepts the following data in JSON format. updateForm_updatedForm :: Lens.Lens' UpdateForm UpdateFormData updateForm_updatedForm = Lens.lens (\UpdateForm' {updatedForm} -> updatedForm) (\s@UpdateForm' {} a -> s {updatedForm = a} :: UpdateForm) instance Core.AWSRequest UpdateForm where type AWSResponse UpdateForm = UpdateFormResponse request overrides = Request.patchJSON (overrides defaultService) response = Response.receiveJSON ( \s h x -> UpdateFormResponse' Prelude.<$> (Data.eitherParseJSON x) Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable UpdateForm where hashWithSalt _salt UpdateForm' {..} = _salt `Prelude.hashWithSalt` clientToken `Prelude.hashWithSalt` appId `Prelude.hashWithSalt` environmentName `Prelude.hashWithSalt` id `Prelude.hashWithSalt` updatedForm instance Prelude.NFData UpdateForm where rnf UpdateForm' {..} = Prelude.rnf clientToken `Prelude.seq` Prelude.rnf appId `Prelude.seq` Prelude.rnf environmentName `Prelude.seq` Prelude.rnf id `Prelude.seq` Prelude.rnf updatedForm instance Data.ToHeaders UpdateForm where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON UpdateForm where toJSON UpdateForm' {..} = Data.toJSON updatedForm instance Data.ToPath UpdateForm where toPath UpdateForm' {..} = Prelude.mconcat [ "/app/", Data.toBS appId, "/environment/", Data.toBS environmentName, "/forms/", Data.toBS id ] instance Data.ToQuery UpdateForm where toQuery UpdateForm' {..} = Prelude.mconcat ["clientToken" Data.=: clientToken] -- | /See:/ 'newUpdateFormResponse' smart constructor. data UpdateFormResponse = UpdateFormResponse' { -- | Describes the configuration of the updated form. entity :: Prelude.Maybe Form, -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'UpdateFormResponse' 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: -- -- 'entity', 'updateFormResponse_entity' - Describes the configuration of the updated form. -- -- 'httpStatus', 'updateFormResponse_httpStatus' - The response's http status code. newUpdateFormResponse :: -- | 'httpStatus' Prelude.Int -> UpdateFormResponse newUpdateFormResponse pHttpStatus_ = UpdateFormResponse' { entity = Prelude.Nothing, httpStatus = pHttpStatus_ } -- | Describes the configuration of the updated form. updateFormResponse_entity :: Lens.Lens' UpdateFormResponse (Prelude.Maybe Form) updateFormResponse_entity = Lens.lens (\UpdateFormResponse' {entity} -> entity) (\s@UpdateFormResponse' {} a -> s {entity = a} :: UpdateFormResponse) -- | The response's http status code. updateFormResponse_httpStatus :: Lens.Lens' UpdateFormResponse Prelude.Int updateFormResponse_httpStatus = Lens.lens (\UpdateFormResponse' {httpStatus} -> httpStatus) (\s@UpdateFormResponse' {} a -> s {httpStatus = a} :: UpdateFormResponse) instance Prelude.NFData UpdateFormResponse where rnf UpdateFormResponse' {..} = Prelude.rnf entity `Prelude.seq` Prelude.rnf httpStatus