public static ServerSideEncryptionMethod ParseServerSideEncryptionMethod(string ssemParam) { if (string.IsNullOrEmpty(ssemParam)) { return(ServerSideEncryptionMethod.None); } return(ValidServerSideEncryptionMethods.Contains(ssemParam) ? ServerSideEncryptionMethod.FindValue(ssemParam) : ServerSideEncryptionMethod.None); }
private static S3XmlRepositoryConfig ToNewS3Config(JObject config) { var newConfig = new S3XmlRepositoryConfig(config[nameof(S3XmlRepositoryConfig.Bucket)].Value <string>()); if (config.TryGetValue(nameof(S3XmlRepositoryConfig.KeyPrefix), out JToken keyprefix)) { newConfig.KeyPrefix = keyprefix.Value <string>(); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.MaxS3QueryConcurrency), out JToken concurrency)) { newConfig.MaxS3QueryConcurrency = concurrency.Value <int>(); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.StorageClass), out JToken storageClass)) { newConfig.StorageClass = S3StorageClass.FindValue(storageClass.Value <string>()); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.ServerSideEncryptionMethod), out JToken serverSideEncryptionMethod)) { newConfig.ServerSideEncryptionMethod = ServerSideEncryptionMethod.FindValue(serverSideEncryptionMethod.Value <string>()); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.ServerSideEncryptionCustomerMethod), out JToken serverSideEncryptionCustomerMethod)) { newConfig.ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.FindValue(serverSideEncryptionCustomerMethod.Value <string>()); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.ServerSideEncryptionCustomerProvidedKey), out JToken serverSideEncryptionCustomerProvidedKey)) { newConfig.ServerSideEncryptionCustomerProvidedKey = serverSideEncryptionCustomerProvidedKey.Value <string>(); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.ServerSideEncryptionCustomerProvidedKeyMd5), out JToken serverSideEncryptionCustomerProvidedKeyMd5)) { newConfig.ServerSideEncryptionCustomerProvidedKeyMd5 = serverSideEncryptionCustomerProvidedKeyMd5.Value <string>(); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.ServerSideEncryptionKeyManagementServiceKeyId), out JToken serverSideEncryptionKeyManagementServiceKeyId)) { newConfig.ServerSideEncryptionKeyManagementServiceKeyId = serverSideEncryptionKeyManagementServiceKeyId.Value <string>(); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.ClientSideCompression), out JToken clientSideCompression)) { newConfig.ClientSideCompression = clientSideCompression.Value <bool>(); } return(newConfig); }
#pragma warning disable S3242 // JObject is more descriptive than 'more general' IDictionary private static (string ControlValue, byte[] ToEncrypt, string Protector, string ApplicationName, S3XmlRepositoryConfig S3Config, KmsXmlEncryptorConfig KmsConfig) ToOldConfig(JObject config) #pragma warning restore S3242 { var controlValue = config[ConfigType].Value <string>(); var protectData = Convert.FromBase64String(config[DataToProtect].Value <string>()); var protectorValue = config[ProtectorKey].Value <string>(); var old = new S3XmlRepositoryConfig(config[nameof(S3XmlRepositoryConfig.Bucket)].Value <string>()); if (config.TryGetValue(nameof(S3XmlRepositoryConfig.KeyPrefix), out JToken keyprefix)) { old.KeyPrefix = keyprefix.Value <string>(); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.MaxS3QueryConcurrency), out JToken concurrency)) { old.MaxS3QueryConcurrency = concurrency.Value <int>(); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.StorageClass), out JToken storageClass)) { old.StorageClass = S3StorageClass.FindValue(storageClass.Value <string>()); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.ServerSideEncryptionMethod), out JToken serverSideEncryptionMethod)) { old.ServerSideEncryptionMethod = ServerSideEncryptionMethod.FindValue(serverSideEncryptionMethod.Value <string>()); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.ServerSideEncryptionCustomerMethod), out JToken serverSideEncryptionCustomerMethod)) { old.ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.FindValue(serverSideEncryptionCustomerMethod.Value <string>()); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.ServerSideEncryptionCustomerProvidedKey), out JToken serverSideEncryptionCustomerProvidedKey)) { old.ServerSideEncryptionCustomerProvidedKey = serverSideEncryptionCustomerProvidedKey.Value <string>(); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.ServerSideEncryptionCustomerProvidedKeyMd5), out JToken serverSideEncryptionCustomerProvidedKeyMd5)) { old.ServerSideEncryptionCustomerProvidedKeyMd5 = serverSideEncryptionCustomerProvidedKeyMd5.Value <string>(); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.ServerSideEncryptionKeyManagementServiceKeyId), out JToken serverSideEncryptionKeyManagementServiceKeyId)) { old.ServerSideEncryptionKeyManagementServiceKeyId = serverSideEncryptionKeyManagementServiceKeyId.Value <string>(); } if (config.TryGetValue(nameof(S3XmlRepositoryConfig.ClientSideCompression), out JToken clientSideCompression)) { old.ClientSideCompression = clientSideCompression.Value <bool>(); } string applicationName = null; if (config.TryGetValue(ApplicationNameKey, out JToken appName)) { applicationName = appName.Value <string>(); } string kmsApplicationName = null; if (config.TryGetValue(KmsApplicationNameKey, out JToken kmsAppName)) { kmsApplicationName = kmsAppName.Value <string>(); } string keyIdentifier = null; if (config.TryGetValue(nameof(KmsXmlEncryptorConfig.KeyId), out JToken keyId)) { keyIdentifier = keyId.Value <string>(); } KmsXmlEncryptorConfig kmsConfig = null; if (!string.IsNullOrEmpty(kmsApplicationName) && !string.IsNullOrEmpty(keyIdentifier)) { kmsConfig = new KmsXmlEncryptorConfig(kmsApplicationName, keyIdentifier); } return(controlValue, protectData, protectorValue, applicationName, old, kmsConfig); }