{-# 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.GlobalAccelerator.RemoveCustomRoutingEndpoints -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Remove endpoints from a custom routing accelerator. module Amazonka.GlobalAccelerator.RemoveCustomRoutingEndpoints ( -- * Creating a Request RemoveCustomRoutingEndpoints (..), newRemoveCustomRoutingEndpoints, -- * Request Lenses removeCustomRoutingEndpoints_endpointIds, removeCustomRoutingEndpoints_endpointGroupArn, -- * Destructuring the Response RemoveCustomRoutingEndpointsResponse (..), newRemoveCustomRoutingEndpointsResponse, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.GlobalAccelerator.Types import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newRemoveCustomRoutingEndpoints' smart constructor. data RemoveCustomRoutingEndpoints = RemoveCustomRoutingEndpoints' { -- | The IDs for the endpoints. For custom routing accelerators, endpoint IDs -- are the virtual private cloud (VPC) subnet IDs. endpointIds :: [Prelude.Text], -- | The Amazon Resource Name (ARN) of the endpoint group to remove endpoints -- from. endpointGroupArn :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'RemoveCustomRoutingEndpoints' 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: -- -- 'endpointIds', 'removeCustomRoutingEndpoints_endpointIds' - The IDs for the endpoints. For custom routing accelerators, endpoint IDs -- are the virtual private cloud (VPC) subnet IDs. -- -- 'endpointGroupArn', 'removeCustomRoutingEndpoints_endpointGroupArn' - The Amazon Resource Name (ARN) of the endpoint group to remove endpoints -- from. newRemoveCustomRoutingEndpoints :: -- | 'endpointGroupArn' Prelude.Text -> RemoveCustomRoutingEndpoints newRemoveCustomRoutingEndpoints pEndpointGroupArn_ = RemoveCustomRoutingEndpoints' { endpointIds = Prelude.mempty, endpointGroupArn = pEndpointGroupArn_ } -- | The IDs for the endpoints. For custom routing accelerators, endpoint IDs -- are the virtual private cloud (VPC) subnet IDs. removeCustomRoutingEndpoints_endpointIds :: Lens.Lens' RemoveCustomRoutingEndpoints [Prelude.Text] removeCustomRoutingEndpoints_endpointIds = Lens.lens (\RemoveCustomRoutingEndpoints' {endpointIds} -> endpointIds) (\s@RemoveCustomRoutingEndpoints' {} a -> s {endpointIds = a} :: RemoveCustomRoutingEndpoints) Prelude.. Lens.coerced -- | The Amazon Resource Name (ARN) of the endpoint group to remove endpoints -- from. removeCustomRoutingEndpoints_endpointGroupArn :: Lens.Lens' RemoveCustomRoutingEndpoints Prelude.Text removeCustomRoutingEndpoints_endpointGroupArn = Lens.lens (\RemoveCustomRoutingEndpoints' {endpointGroupArn} -> endpointGroupArn) (\s@RemoveCustomRoutingEndpoints' {} a -> s {endpointGroupArn = a} :: RemoveCustomRoutingEndpoints) instance Core.AWSRequest RemoveCustomRoutingEndpoints where type AWSResponse RemoveCustomRoutingEndpoints = RemoveCustomRoutingEndpointsResponse request overrides = Request.postJSON (overrides defaultService) response = Response.receiveNull RemoveCustomRoutingEndpointsResponse' instance Prelude.Hashable RemoveCustomRoutingEndpoints where hashWithSalt _salt RemoveCustomRoutingEndpoints' {..} = _salt `Prelude.hashWithSalt` endpointIds `Prelude.hashWithSalt` endpointGroupArn instance Prelude.NFData RemoveCustomRoutingEndpoints where rnf RemoveCustomRoutingEndpoints' {..} = Prelude.rnf endpointIds `Prelude.seq` Prelude.rnf endpointGroupArn instance Data.ToHeaders RemoveCustomRoutingEndpoints where toHeaders = Prelude.const ( Prelude.mconcat [ "X-Amz-Target" Data.=# ( "GlobalAccelerator_V20180706.RemoveCustomRoutingEndpoints" :: Prelude.ByteString ), "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON RemoveCustomRoutingEndpoints where toJSON RemoveCustomRoutingEndpoints' {..} = Data.object ( Prelude.catMaybes [ Prelude.Just ("EndpointIds" Data..= endpointIds), Prelude.Just ("EndpointGroupArn" Data..= endpointGroupArn) ] ) instance Data.ToPath RemoveCustomRoutingEndpoints where toPath = Prelude.const "/" instance Data.ToQuery RemoveCustomRoutingEndpoints where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newRemoveCustomRoutingEndpointsResponse' smart constructor. data RemoveCustomRoutingEndpointsResponse = RemoveCustomRoutingEndpointsResponse' { } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'RemoveCustomRoutingEndpointsResponse' with all optional fields omitted. -- -- Use or to modify other optional fields. newRemoveCustomRoutingEndpointsResponse :: RemoveCustomRoutingEndpointsResponse newRemoveCustomRoutingEndpointsResponse = RemoveCustomRoutingEndpointsResponse' instance Prelude.NFData RemoveCustomRoutingEndpointsResponse where rnf _ = ()