// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) TypeSpec Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

#include "keys_models.hpp"

using namespace Azure::Security::KeyVault::Keys::_detail::Models;

const JsonWebKeyType JsonWebKeyType::EC{"EC"};
const JsonWebKeyType JsonWebKeyType::ECHsm{"EC-HSM"};
const JsonWebKeyType JsonWebKeyType::Rsa{"RSA"};
const JsonWebKeyType JsonWebKeyType::RsaHsm{"RSA-HSM"};
const JsonWebKeyType JsonWebKeyType::Oct{"oct"};
const JsonWebKeyType JsonWebKeyType::OctHsm{"oct-HSM"};

const JsonWebKeyCurveName JsonWebKeyCurveName::PTwoHundredFiftySix{"P-256"};
const JsonWebKeyCurveName JsonWebKeyCurveName::PThreeHundredEightyFour{"P-384"};
const JsonWebKeyCurveName JsonWebKeyCurveName::PFiveHundredTwentyOne{"P-521"};
const JsonWebKeyCurveName JsonWebKeyCurveName::P256k{"P-256K"};

const DeletionRecoveryLevel DeletionRecoveryLevel::Purgeable{"Purgeable"};
const DeletionRecoveryLevel DeletionRecoveryLevel::RecoverablePurgeable{"Recoverable+Purgeable"};
const DeletionRecoveryLevel DeletionRecoveryLevel::Recoverable{"Recoverable"};
const DeletionRecoveryLevel DeletionRecoveryLevel::RecoverableProtectedSubscription{
    "Recoverable+ProtectedSubscription"};
const DeletionRecoveryLevel DeletionRecoveryLevel::CustomizedRecoverablePurgeable{
    "CustomizedRecoverable+Purgeable"};
const DeletionRecoveryLevel DeletionRecoveryLevel::CustomizedRecoverable{"CustomizedRecoverable"};
const DeletionRecoveryLevel DeletionRecoveryLevel::CustomizedRecoverableProtectedSubscription{
    "CustomizedRecoverable+ProtectedSubscription"};

const JsonWebKeyOperation JsonWebKeyOperation::Encrypt{"encrypt"};
const JsonWebKeyOperation JsonWebKeyOperation::Decrypt{"decrypt"};
const JsonWebKeyOperation JsonWebKeyOperation::Sign{"sign"};
const JsonWebKeyOperation JsonWebKeyOperation::Verify{"verify"};
const JsonWebKeyOperation JsonWebKeyOperation::WrapKey{"wrapKey"};
const JsonWebKeyOperation JsonWebKeyOperation::UnwrapKey{"unwrapKey"};
const JsonWebKeyOperation JsonWebKeyOperation::Import{"import"};
const JsonWebKeyOperation JsonWebKeyOperation::Export{"export"};

const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::RsaOaep{"RSA-OAEP"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::RsaOaepTwoHundredFiftySix{
    "RSA-OAEP-256"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::Rsa1Five{"RSA1_5"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::A128gcm{"A128GCM"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::A192gcm{"A192GCM"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::A256gcm{"A256GCM"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::A128kw{"A128KW"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::A192kw{"A192KW"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::A256kw{"A256KW"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::A128cbc{"A128CBC"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::A192cbc{"A192CBC"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::A256cbc{"A256CBC"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::A128cbcpad{"A128CBCPAD"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::A192cbcpad{"A192CBCPAD"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::A256cbcpad{"A256CBCPAD"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::CkmAesKeyWrap{
    "CKM_AES_KEY_WRAP"};
const JsonWebKeyEncryptionAlgorithm JsonWebKeyEncryptionAlgorithm::CkmAesKeyWrapPad{
    "CKM_AES_KEY_WRAP_PAD"};

const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Ps256{"PS256"};
const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Ps384{"PS384"};
const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Ps512{"PS512"};
const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Rs256{"RS256"};
const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Rs384{"RS384"};
const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Rs512{"RS512"};
const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Hs256{"HS256"};
const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Hs384{"HS384"};
const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Hs512{"HS512"};
const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Rsnull{"RSNULL"};
const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Es256{"ES256"};
const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Es384{"ES384"};
const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Es512{"ES512"};
const JsonWebKeySignatureAlgorithm JsonWebKeySignatureAlgorithm::Es256k{"ES256K"};

const KeyEncryptionAlgorithm KeyEncryptionAlgorithm::CkmRsaAesKeyWrap{"CKM_RSA_AES_KEY_WRAP"};
const KeyEncryptionAlgorithm KeyEncryptionAlgorithm::RsaAesKeyWrapTwoHundredFiftySix{
    "RSA_AES_KEY_WRAP_256"};
const KeyEncryptionAlgorithm KeyEncryptionAlgorithm::RsaAesKeyWrapThreeHundredEightyFour{
    "RSA_AES_KEY_WRAP_384"};

const KeyRotationPolicyAction KeyRotationPolicyAction::Rotate{"Rotate"};
const KeyRotationPolicyAction KeyRotationPolicyAction::Notify{"Notify"};
