stratosphere-datazone-1.0.0: gen/Stratosphere/DataZone/Connection/AwsLocationProperty.hs
module Stratosphere.DataZone.Connection.AwsLocationProperty (
AwsLocationProperty(..), mkAwsLocationProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data AwsLocationProperty
= -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-awslocation.html>
AwsLocationProperty {haddock_workaround_ :: (),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-awslocation.html#cfn-datazone-connection-awslocation-accessrole>
accessRole :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-awslocation.html#cfn-datazone-connection-awslocation-awsaccountid>
awsAccountId :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-awslocation.html#cfn-datazone-connection-awslocation-awsregion>
awsRegion :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-awslocation.html#cfn-datazone-connection-awslocation-iamconnectionid>
iamConnectionId :: (Prelude.Maybe (Value Prelude.Text))}
deriving stock (Prelude.Eq, Prelude.Show)
mkAwsLocationProperty :: AwsLocationProperty
mkAwsLocationProperty
= AwsLocationProperty
{haddock_workaround_ = (), accessRole = Prelude.Nothing,
awsAccountId = Prelude.Nothing, awsRegion = Prelude.Nothing,
iamConnectionId = Prelude.Nothing}
instance ToResourceProperties AwsLocationProperty where
toResourceProperties AwsLocationProperty {..}
= ResourceProperties
{awsType = "AWS::DataZone::Connection.AwsLocation",
supportsTags = Prelude.False,
properties = Prelude.fromList
(Prelude.catMaybes
[(JSON..=) "AccessRole" Prelude.<$> accessRole,
(JSON..=) "AwsAccountId" Prelude.<$> awsAccountId,
(JSON..=) "AwsRegion" Prelude.<$> awsRegion,
(JSON..=) "IamConnectionId" Prelude.<$> iamConnectionId])}
instance JSON.ToJSON AwsLocationProperty where
toJSON AwsLocationProperty {..}
= JSON.object
(Prelude.fromList
(Prelude.catMaybes
[(JSON..=) "AccessRole" Prelude.<$> accessRole,
(JSON..=) "AwsAccountId" Prelude.<$> awsAccountId,
(JSON..=) "AwsRegion" Prelude.<$> awsRegion,
(JSON..=) "IamConnectionId" Prelude.<$> iamConnectionId]))
instance Property "AccessRole" AwsLocationProperty where
type PropertyType "AccessRole" AwsLocationProperty = Value Prelude.Text
set newValue AwsLocationProperty {..}
= AwsLocationProperty {accessRole = Prelude.pure newValue, ..}
instance Property "AwsAccountId" AwsLocationProperty where
type PropertyType "AwsAccountId" AwsLocationProperty = Value Prelude.Text
set newValue AwsLocationProperty {..}
= AwsLocationProperty {awsAccountId = Prelude.pure newValue, ..}
instance Property "AwsRegion" AwsLocationProperty where
type PropertyType "AwsRegion" AwsLocationProperty = Value Prelude.Text
set newValue AwsLocationProperty {..}
= AwsLocationProperty {awsRegion = Prelude.pure newValue, ..}
instance Property "IamConnectionId" AwsLocationProperty where
type PropertyType "IamConnectionId" AwsLocationProperty = Value Prelude.Text
set newValue AwsLocationProperty {..}
= AwsLocationProperty {iamConnectionId = Prelude.pure newValue, ..}