packages feed

stratosphere-0.56.0: library-gen/Stratosphere/ResourceProperties/SecretsManagerRotationScheduleHostedRotationLambda.hs

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}

-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html

module Stratosphere.ResourceProperties.SecretsManagerRotationScheduleHostedRotationLambda where

import Stratosphere.ResourceImports


-- | Full data type definition for
-- SecretsManagerRotationScheduleHostedRotationLambda. See
-- 'secretsManagerRotationScheduleHostedRotationLambda' for a more
-- convenient constructor.
data SecretsManagerRotationScheduleHostedRotationLambda =
  SecretsManagerRotationScheduleHostedRotationLambda
  { _secretsManagerRotationScheduleHostedRotationLambdaKmsKeyArn :: Maybe (Val Text)
  , _secretsManagerRotationScheduleHostedRotationLambdaMasterSecretArn :: Maybe (Val Text)
  , _secretsManagerRotationScheduleHostedRotationLambdaMasterSecretKmsKeyArn :: Maybe (Val Text)
  , _secretsManagerRotationScheduleHostedRotationLambdaRotationLambdaName :: Maybe (Val Text)
  , _secretsManagerRotationScheduleHostedRotationLambdaRotationType :: Val Text
  , _secretsManagerRotationScheduleHostedRotationLambdaVpcSecurityGroupIds :: Maybe (Val Text)
  , _secretsManagerRotationScheduleHostedRotationLambdaVpcSubnetIds :: Maybe (Val Text)
  } deriving (Show, Eq)

instance ToJSON SecretsManagerRotationScheduleHostedRotationLambda where
  toJSON SecretsManagerRotationScheduleHostedRotationLambda{..} =
    object $
    catMaybes
    [ fmap (("KmsKeyArn",) . toJSON) _secretsManagerRotationScheduleHostedRotationLambdaKmsKeyArn
    , fmap (("MasterSecretArn",) . toJSON) _secretsManagerRotationScheduleHostedRotationLambdaMasterSecretArn
    , fmap (("MasterSecretKmsKeyArn",) . toJSON) _secretsManagerRotationScheduleHostedRotationLambdaMasterSecretKmsKeyArn
    , fmap (("RotationLambdaName",) . toJSON) _secretsManagerRotationScheduleHostedRotationLambdaRotationLambdaName
    , (Just . ("RotationType",) . toJSON) _secretsManagerRotationScheduleHostedRotationLambdaRotationType
    , fmap (("VpcSecurityGroupIds",) . toJSON) _secretsManagerRotationScheduleHostedRotationLambdaVpcSecurityGroupIds
    , fmap (("VpcSubnetIds",) . toJSON) _secretsManagerRotationScheduleHostedRotationLambdaVpcSubnetIds
    ]

-- | Constructor for 'SecretsManagerRotationScheduleHostedRotationLambda'
-- containing required fields as arguments.
secretsManagerRotationScheduleHostedRotationLambda
  :: Val Text -- ^ 'smrshrlRotationType'
  -> SecretsManagerRotationScheduleHostedRotationLambda
secretsManagerRotationScheduleHostedRotationLambda rotationTypearg =
  SecretsManagerRotationScheduleHostedRotationLambda
  { _secretsManagerRotationScheduleHostedRotationLambdaKmsKeyArn = Nothing
  , _secretsManagerRotationScheduleHostedRotationLambdaMasterSecretArn = Nothing
  , _secretsManagerRotationScheduleHostedRotationLambdaMasterSecretKmsKeyArn = Nothing
  , _secretsManagerRotationScheduleHostedRotationLambdaRotationLambdaName = Nothing
  , _secretsManagerRotationScheduleHostedRotationLambdaRotationType = rotationTypearg
  , _secretsManagerRotationScheduleHostedRotationLambdaVpcSecurityGroupIds = Nothing
  , _secretsManagerRotationScheduleHostedRotationLambdaVpcSubnetIds = Nothing
  }

-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-kmskeyarn
smrshrlKmsKeyArn :: Lens' SecretsManagerRotationScheduleHostedRotationLambda (Maybe (Val Text))
smrshrlKmsKeyArn = lens _secretsManagerRotationScheduleHostedRotationLambdaKmsKeyArn (\s a -> s { _secretsManagerRotationScheduleHostedRotationLambdaKmsKeyArn = a })

-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-mastersecretarn
smrshrlMasterSecretArn :: Lens' SecretsManagerRotationScheduleHostedRotationLambda (Maybe (Val Text))
smrshrlMasterSecretArn = lens _secretsManagerRotationScheduleHostedRotationLambdaMasterSecretArn (\s a -> s { _secretsManagerRotationScheduleHostedRotationLambdaMasterSecretArn = a })

-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-mastersecretkmskeyarn
smrshrlMasterSecretKmsKeyArn :: Lens' SecretsManagerRotationScheduleHostedRotationLambda (Maybe (Val Text))
smrshrlMasterSecretKmsKeyArn = lens _secretsManagerRotationScheduleHostedRotationLambdaMasterSecretKmsKeyArn (\s a -> s { _secretsManagerRotationScheduleHostedRotationLambdaMasterSecretKmsKeyArn = a })

-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-rotationlambdaname
smrshrlRotationLambdaName :: Lens' SecretsManagerRotationScheduleHostedRotationLambda (Maybe (Val Text))
smrshrlRotationLambdaName = lens _secretsManagerRotationScheduleHostedRotationLambdaRotationLambdaName (\s a -> s { _secretsManagerRotationScheduleHostedRotationLambdaRotationLambdaName = a })

-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-rotationtype
smrshrlRotationType :: Lens' SecretsManagerRotationScheduleHostedRotationLambda (Val Text)
smrshrlRotationType = lens _secretsManagerRotationScheduleHostedRotationLambdaRotationType (\s a -> s { _secretsManagerRotationScheduleHostedRotationLambdaRotationType = a })

-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-vpcsecuritygroupids
smrshrlVpcSecurityGroupIds :: Lens' SecretsManagerRotationScheduleHostedRotationLambda (Maybe (Val Text))
smrshrlVpcSecurityGroupIds = lens _secretsManagerRotationScheduleHostedRotationLambdaVpcSecurityGroupIds (\s a -> s { _secretsManagerRotationScheduleHostedRotationLambdaVpcSecurityGroupIds = a })

-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-vpcsubnetids
smrshrlVpcSubnetIds :: Lens' SecretsManagerRotationScheduleHostedRotationLambda (Maybe (Val Text))
smrshrlVpcSubnetIds = lens _secretsManagerRotationScheduleHostedRotationLambdaVpcSubnetIds (\s a -> s { _secretsManagerRotationScheduleHostedRotationLambdaVpcSubnetIds = a })