module Stratosphere.EC2.VerifiedAccessTrustProvider.NativeApplicationOidcOptionsProperty ( NativeApplicationOidcOptionsProperty(..), mkNativeApplicationOidcOptionsProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data NativeApplicationOidcOptionsProperty = -- | See: NativeApplicationOidcOptionsProperty {haddock_workaround_ :: (), -- | See: authorizationEndpoint :: (Prelude.Maybe (Value Prelude.Text)), -- | See: clientId :: (Prelude.Maybe (Value Prelude.Text)), -- | See: clientSecret :: (Prelude.Maybe (Value Prelude.Text)), -- | See: issuer :: (Prelude.Maybe (Value Prelude.Text)), -- | See: publicSigningKeyEndpoint :: (Prelude.Maybe (Value Prelude.Text)), -- | See: scope :: (Prelude.Maybe (Value Prelude.Text)), -- | See: tokenEndpoint :: (Prelude.Maybe (Value Prelude.Text)), -- | See: userInfoEndpoint :: (Prelude.Maybe (Value Prelude.Text))} deriving stock (Prelude.Eq, Prelude.Show) mkNativeApplicationOidcOptionsProperty :: NativeApplicationOidcOptionsProperty mkNativeApplicationOidcOptionsProperty = NativeApplicationOidcOptionsProperty {haddock_workaround_ = (), authorizationEndpoint = Prelude.Nothing, clientId = Prelude.Nothing, clientSecret = Prelude.Nothing, issuer = Prelude.Nothing, publicSigningKeyEndpoint = Prelude.Nothing, scope = Prelude.Nothing, tokenEndpoint = Prelude.Nothing, userInfoEndpoint = Prelude.Nothing} instance ToResourceProperties NativeApplicationOidcOptionsProperty where toResourceProperties NativeApplicationOidcOptionsProperty {..} = ResourceProperties {awsType = "AWS::EC2::VerifiedAccessTrustProvider.NativeApplicationOidcOptions", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "AuthorizationEndpoint" Prelude.<$> authorizationEndpoint, (JSON..=) "ClientId" Prelude.<$> clientId, (JSON..=) "ClientSecret" Prelude.<$> clientSecret, (JSON..=) "Issuer" Prelude.<$> issuer, (JSON..=) "PublicSigningKeyEndpoint" Prelude.<$> publicSigningKeyEndpoint, (JSON..=) "Scope" Prelude.<$> scope, (JSON..=) "TokenEndpoint" Prelude.<$> tokenEndpoint, (JSON..=) "UserInfoEndpoint" Prelude.<$> userInfoEndpoint])} instance JSON.ToJSON NativeApplicationOidcOptionsProperty where toJSON NativeApplicationOidcOptionsProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "AuthorizationEndpoint" Prelude.<$> authorizationEndpoint, (JSON..=) "ClientId" Prelude.<$> clientId, (JSON..=) "ClientSecret" Prelude.<$> clientSecret, (JSON..=) "Issuer" Prelude.<$> issuer, (JSON..=) "PublicSigningKeyEndpoint" Prelude.<$> publicSigningKeyEndpoint, (JSON..=) "Scope" Prelude.<$> scope, (JSON..=) "TokenEndpoint" Prelude.<$> tokenEndpoint, (JSON..=) "UserInfoEndpoint" Prelude.<$> userInfoEndpoint])) instance Property "AuthorizationEndpoint" NativeApplicationOidcOptionsProperty where type PropertyType "AuthorizationEndpoint" NativeApplicationOidcOptionsProperty = Value Prelude.Text set newValue NativeApplicationOidcOptionsProperty {..} = NativeApplicationOidcOptionsProperty {authorizationEndpoint = Prelude.pure newValue, ..} instance Property "ClientId" NativeApplicationOidcOptionsProperty where type PropertyType "ClientId" NativeApplicationOidcOptionsProperty = Value Prelude.Text set newValue NativeApplicationOidcOptionsProperty {..} = NativeApplicationOidcOptionsProperty {clientId = Prelude.pure newValue, ..} instance Property "ClientSecret" NativeApplicationOidcOptionsProperty where type PropertyType "ClientSecret" NativeApplicationOidcOptionsProperty = Value Prelude.Text set newValue NativeApplicationOidcOptionsProperty {..} = NativeApplicationOidcOptionsProperty {clientSecret = Prelude.pure newValue, ..} instance Property "Issuer" NativeApplicationOidcOptionsProperty where type PropertyType "Issuer" NativeApplicationOidcOptionsProperty = Value Prelude.Text set newValue NativeApplicationOidcOptionsProperty {..} = NativeApplicationOidcOptionsProperty {issuer = Prelude.pure newValue, ..} instance Property "PublicSigningKeyEndpoint" NativeApplicationOidcOptionsProperty where type PropertyType "PublicSigningKeyEndpoint" NativeApplicationOidcOptionsProperty = Value Prelude.Text set newValue NativeApplicationOidcOptionsProperty {..} = NativeApplicationOidcOptionsProperty {publicSigningKeyEndpoint = Prelude.pure newValue, ..} instance Property "Scope" NativeApplicationOidcOptionsProperty where type PropertyType "Scope" NativeApplicationOidcOptionsProperty = Value Prelude.Text set newValue NativeApplicationOidcOptionsProperty {..} = NativeApplicationOidcOptionsProperty {scope = Prelude.pure newValue, ..} instance Property "TokenEndpoint" NativeApplicationOidcOptionsProperty where type PropertyType "TokenEndpoint" NativeApplicationOidcOptionsProperty = Value Prelude.Text set newValue NativeApplicationOidcOptionsProperty {..} = NativeApplicationOidcOptionsProperty {tokenEndpoint = Prelude.pure newValue, ..} instance Property "UserInfoEndpoint" NativeApplicationOidcOptionsProperty where type PropertyType "UserInfoEndpoint" NativeApplicationOidcOptionsProperty = Value Prelude.Text set newValue NativeApplicationOidcOptionsProperty {..} = NativeApplicationOidcOptionsProperty {userInfoEndpoint = Prelude.pure newValue, ..}