amazonka-outposts-2.0: gen/Amazonka/Outposts/Types.hs
{-# LANGUAGE DisambiguateRecordFields #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Amazonka.Outposts.Types
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Outposts.Types
( -- * Service Configuration
defaultService,
-- * Errors
_AccessDeniedException,
_ConflictException,
_InternalServerException,
_NotFoundException,
_ServiceQuotaExceededException,
_ValidationException,
-- * AddressType
AddressType (..),
-- * AssetState
AssetState (..),
-- * AssetType
AssetType (..),
-- * CatalogItemClass
CatalogItemClass (..),
-- * CatalogItemStatus
CatalogItemStatus (..),
-- * ComputeAssetState
ComputeAssetState (..),
-- * FiberOpticCableType
FiberOpticCableType (..),
-- * LineItemStatus
LineItemStatus (..),
-- * MaximumSupportedWeightLbs
MaximumSupportedWeightLbs (..),
-- * OpticalStandard
OpticalStandard (..),
-- * OrderStatus
OrderStatus (..),
-- * OrderType
OrderType (..),
-- * PaymentOption
PaymentOption (..),
-- * PaymentTerm
PaymentTerm (..),
-- * PowerConnector
PowerConnector (..),
-- * PowerDrawKva
PowerDrawKva (..),
-- * PowerFeedDrop
PowerFeedDrop (..),
-- * PowerPhase
PowerPhase (..),
-- * ShipmentCarrier
ShipmentCarrier (..),
-- * SupportedHardwareType
SupportedHardwareType (..),
-- * SupportedStorageEnum
SupportedStorageEnum (..),
-- * UplinkCount
UplinkCount (..),
-- * UplinkGbps
UplinkGbps (..),
-- * Address
Address (..),
newAddress,
address_addressLine2,
address_addressLine3,
address_contactName,
address_contactPhoneNumber,
address_districtOrCounty,
address_municipality,
address_addressLine1,
address_city,
address_stateOrRegion,
address_postalCode,
address_countryCode,
-- * AssetInfo
AssetInfo (..),
newAssetInfo,
assetInfo_assetId,
assetInfo_assetLocation,
assetInfo_assetType,
assetInfo_computeAttributes,
assetInfo_rackId,
-- * AssetLocation
AssetLocation (..),
newAssetLocation,
assetLocation_rackElevation,
-- * CatalogItem
CatalogItem (..),
newCatalogItem,
catalogItem_catalogItemId,
catalogItem_eC2Capacities,
catalogItem_itemStatus,
catalogItem_powerKva,
catalogItem_supportedStorage,
catalogItem_supportedUplinkGbps,
catalogItem_weightLbs,
-- * ComputeAttributes
ComputeAttributes (..),
newComputeAttributes,
computeAttributes_hostId,
computeAttributes_state,
-- * ConnectionDetails
ConnectionDetails (..),
newConnectionDetails,
connectionDetails_allowedIps,
connectionDetails_clientPublicKey,
connectionDetails_clientTunnelAddress,
connectionDetails_serverEndpoint,
connectionDetails_serverPublicKey,
connectionDetails_serverTunnelAddress,
-- * EC2Capacity
EC2Capacity (..),
newEC2Capacity,
eC2Capacity_family,
eC2Capacity_maxSize,
eC2Capacity_quantity,
-- * InstanceTypeItem
InstanceTypeItem (..),
newInstanceTypeItem,
instanceTypeItem_instanceType,
-- * LineItem
LineItem (..),
newLineItem,
lineItem_assetInformationList,
lineItem_catalogItemId,
lineItem_lineItemId,
lineItem_quantity,
lineItem_shipmentInformation,
lineItem_status,
-- * LineItemAssetInformation
LineItemAssetInformation (..),
newLineItemAssetInformation,
lineItemAssetInformation_assetId,
lineItemAssetInformation_macAddressList,
-- * LineItemRequest
LineItemRequest (..),
newLineItemRequest,
lineItemRequest_catalogItemId,
lineItemRequest_quantity,
-- * Order
Order (..),
newOrder,
order_lineItems,
order_orderFulfilledDate,
order_orderId,
order_orderSubmissionDate,
order_outpostId,
order_paymentOption,
order_status,
-- * OrderSummary
OrderSummary (..),
newOrderSummary,
orderSummary_lineItemCountsByStatus,
orderSummary_orderFulfilledDate,
orderSummary_orderId,
orderSummary_orderSubmissionDate,
orderSummary_orderType,
orderSummary_outpostId,
orderSummary_status,
-- * Outpost
Outpost (..),
newOutpost,
outpost_availabilityZone,
outpost_availabilityZoneId,
outpost_description,
outpost_lifeCycleStatus,
outpost_name,
outpost_outpostArn,
outpost_outpostId,
outpost_ownerId,
outpost_siteArn,
outpost_siteId,
outpost_supportedHardwareType,
outpost_tags,
-- * RackPhysicalProperties
RackPhysicalProperties (..),
newRackPhysicalProperties,
rackPhysicalProperties_fiberOpticCableType,
rackPhysicalProperties_maximumSupportedWeightLbs,
rackPhysicalProperties_opticalStandard,
rackPhysicalProperties_powerConnector,
rackPhysicalProperties_powerDrawKva,
rackPhysicalProperties_powerFeedDrop,
rackPhysicalProperties_powerPhase,
rackPhysicalProperties_uplinkCount,
rackPhysicalProperties_uplinkGbps,
-- * ShipmentInformation
ShipmentInformation (..),
newShipmentInformation,
shipmentInformation_shipmentCarrier,
shipmentInformation_shipmentTrackingNumber,
-- * Site
Site (..),
newSite,
site_accountId,
site_description,
site_name,
site_notes,
site_operatingAddressCity,
site_operatingAddressCountryCode,
site_operatingAddressStateOrRegion,
site_rackPhysicalProperties,
site_siteArn,
site_siteId,
site_tags,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import Amazonka.Outposts.Types.Address
import Amazonka.Outposts.Types.AddressType
import Amazonka.Outposts.Types.AssetInfo
import Amazonka.Outposts.Types.AssetLocation
import Amazonka.Outposts.Types.AssetState
import Amazonka.Outposts.Types.AssetType
import Amazonka.Outposts.Types.CatalogItem
import Amazonka.Outposts.Types.CatalogItemClass
import Amazonka.Outposts.Types.CatalogItemStatus
import Amazonka.Outposts.Types.ComputeAssetState
import Amazonka.Outposts.Types.ComputeAttributes
import Amazonka.Outposts.Types.ConnectionDetails
import Amazonka.Outposts.Types.EC2Capacity
import Amazonka.Outposts.Types.FiberOpticCableType
import Amazonka.Outposts.Types.InstanceTypeItem
import Amazonka.Outposts.Types.LineItem
import Amazonka.Outposts.Types.LineItemAssetInformation
import Amazonka.Outposts.Types.LineItemRequest
import Amazonka.Outposts.Types.LineItemStatus
import Amazonka.Outposts.Types.MaximumSupportedWeightLbs
import Amazonka.Outposts.Types.OpticalStandard
import Amazonka.Outposts.Types.Order
import Amazonka.Outposts.Types.OrderStatus
import Amazonka.Outposts.Types.OrderSummary
import Amazonka.Outposts.Types.OrderType
import Amazonka.Outposts.Types.Outpost
import Amazonka.Outposts.Types.PaymentOption
import Amazonka.Outposts.Types.PaymentTerm
import Amazonka.Outposts.Types.PowerConnector
import Amazonka.Outposts.Types.PowerDrawKva
import Amazonka.Outposts.Types.PowerFeedDrop
import Amazonka.Outposts.Types.PowerPhase
import Amazonka.Outposts.Types.RackPhysicalProperties
import Amazonka.Outposts.Types.ShipmentCarrier
import Amazonka.Outposts.Types.ShipmentInformation
import Amazonka.Outposts.Types.Site
import Amazonka.Outposts.Types.SupportedHardwareType
import Amazonka.Outposts.Types.SupportedStorageEnum
import Amazonka.Outposts.Types.UplinkCount
import Amazonka.Outposts.Types.UplinkGbps
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Sign.V4 as Sign
-- | API version @2019-12-03@ of the Amazon Outposts SDK configuration.
defaultService :: Core.Service
defaultService =
Core.Service
{ Core.abbrev = "Outposts",
Core.signer = Sign.v4,
Core.endpointPrefix = "outposts",
Core.signingName = "outposts",
Core.version = "2019-12-03",
Core.s3AddressingStyle = Core.S3AddressingStyleAuto,
Core.endpoint = Core.defaultEndpoint defaultService,
Core.timeout = Prelude.Just 70,
Core.check = Core.statusSuccess,
Core.error = Core.parseJSONError "Outposts",
Core.retry = retry
}
where
retry =
Core.Exponential
{ Core.base = 5.0e-2,
Core.growth = 2,
Core.attempts = 5,
Core.check = check
}
check e
| Lens.has (Core.hasStatus 502) e =
Prelude.Just "bad_gateway"
| Lens.has (Core.hasStatus 504) e =
Prelude.Just "gateway_timeout"
| Lens.has (Core.hasStatus 500) e =
Prelude.Just "general_server_error"
| Lens.has (Core.hasStatus 509) e =
Prelude.Just "limit_exceeded"
| Lens.has
( Core.hasCode "RequestThrottledException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "request_throttled_exception"
| Lens.has (Core.hasStatus 503) e =
Prelude.Just "service_unavailable"
| Lens.has
( Core.hasCode "ThrottledException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throttled_exception"
| Lens.has
( Core.hasCode "Throttling"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throttling"
| Lens.has
( Core.hasCode "ThrottlingException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throttling_exception"
| Lens.has
( Core.hasCode
"ProvisionedThroughputExceededException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throughput_exceeded"
| Lens.has (Core.hasStatus 429) e =
Prelude.Just "too_many_requests"
| Prelude.otherwise = Prelude.Nothing
-- | You do not have permission to perform this operation.
_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AccessDeniedException =
Core._MatchServiceError
defaultService
"AccessDeniedException"
Prelude.. Core.hasStatus 403
-- | Updating or deleting this resource can cause an inconsistent state.
_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ConflictException =
Core._MatchServiceError
defaultService
"ConflictException"
Prelude.. Core.hasStatus 409
-- | An internal error has occurred.
_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InternalServerException =
Core._MatchServiceError
defaultService
"InternalServerException"
Prelude.. Core.hasStatus 500
-- | The specified request is not valid.
_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_NotFoundException =
Core._MatchServiceError
defaultService
"NotFoundException"
Prelude.. Core.hasStatus 404
-- | You have exceeded a service quota.
_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ServiceQuotaExceededException =
Core._MatchServiceError
defaultService
"ServiceQuotaExceededException"
Prelude.. Core.hasStatus 402
-- | A parameter is not valid.
_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ValidationException =
Core._MatchServiceError
defaultService
"ValidationException"
Prelude.. Core.hasStatus 400