# kmsProviders should support both explicit and placeholder credential fields.
description: kmsProviders-mixed_kms_credential_fields

schemaVersion: "1.8"

runOnRequirements:
  - csfle: true

createEntities:
  - client:
      id: &client0 client0
  - clientEncryption:
      id: &clientEncryption0 clientEncryption0
      clientEncryptionOpts:
        keyVaultClient: *client0
        keyVaultNamespace: keyvault.datakeys
        kmsProviders:
          aws: { accessKeyId: "accessKeyId", secretAccessKey: { $$placeholder: 1 } }
          azure: { tenantId: "tenantId", clientId: { $$placeholder: 1 }, clientSecret: { $$placeholder: 1 } }
          gcp: { email: "email", privateKey: { $$placeholder: 1 } }

tests:
  - description: ""
    operations: []
