internal static DatastoreSecrets DeserializeDatastoreSecrets(JsonElement element) { if (element.TryGetProperty("secretsType", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "Certificate": return(CertificateDatastoreSecrets.DeserializeCertificateDatastoreSecrets(element)); case "KerberosKeytab": return(KerberosKeytabSecrets.DeserializeKerberosKeytabSecrets(element)); case "KerberosPassword": return(KerberosPasswordSecrets.DeserializeKerberosPasswordSecrets(element)); case "Sas": return(SasDatastoreSecrets.DeserializeSasDatastoreSecrets(element)); case "ServicePrincipal": return(ServicePrincipalDatastoreSecrets.DeserializeServicePrincipalDatastoreSecrets(element)); case "AccountKey": return(AccountKeyDatastoreSecrets.DeserializeAccountKeyDatastoreSecrets(element)); } } SecretsType secretsType = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("secretsType")) { secretsType = new SecretsType(property.Value.GetString()); continue; } } return(new DatastoreSecrets(secretsType)); }
public KerberosPasswordCredentials(KerberosPasswordSecrets secrets, string kerberosKdcAddress, string kerberosPrincipal, string kerberosRealm) { if (secrets == null) { throw new ArgumentNullException(nameof(secrets)); } if (kerberosKdcAddress == null) { throw new ArgumentNullException(nameof(kerberosKdcAddress)); } if (kerberosPrincipal == null) { throw new ArgumentNullException(nameof(kerberosPrincipal)); } if (kerberosRealm == null) { throw new ArgumentNullException(nameof(kerberosRealm)); } Secrets = secrets; KerberosKdcAddress = kerberosKdcAddress; KerberosPrincipal = kerberosPrincipal; KerberosRealm = kerberosRealm; CredentialsType = CredentialsType.KerberosPassword; }
internal KerberosPasswordCredentials(CredentialsType credentialsType, KerberosPasswordSecrets secrets, string kerberosKdcAddress, string kerberosPrincipal, string kerberosRealm) : base(credentialsType) { Secrets = secrets; KerberosKdcAddress = kerberosKdcAddress; KerberosPrincipal = kerberosPrincipal; KerberosRealm = kerberosRealm; CredentialsType = credentialsType; }
internal static KerberosPasswordCredentials DeserializeKerberosPasswordCredentials(JsonElement element) { KerberosPasswordSecrets secrets = default; string kerberosKdcAddress = default; string kerberosPrincipal = default; string kerberosRealm = default; CredentialsType credentialsType = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("secrets")) { secrets = KerberosPasswordSecrets.DeserializeKerberosPasswordSecrets(property.Value); continue; } if (property.NameEquals("kerberosKdcAddress")) { kerberosKdcAddress = property.Value.GetString(); continue; } if (property.NameEquals("kerberosPrincipal")) { kerberosPrincipal = property.Value.GetString(); continue; } if (property.NameEquals("kerberosRealm")) { kerberosRealm = property.Value.GetString(); continue; } if (property.NameEquals("credentialsType")) { credentialsType = new CredentialsType(property.Value.GetString()); continue; } } return(new KerberosPasswordCredentials(credentialsType, secrets, kerberosKdcAddress, kerberosPrincipal, kerberosRealm)); }