public static AwsIamCertificateInstaller GetNewInstaller(IReadOnlyDictionary<string, object> initParams) { var inst = new AwsIamCertificateInstaller(); if (initParams == null) initParams = new Dictionary<string, object>(); // Required params if (!initParams.ContainsKey(SERVER_CERTIFICATE_NAME.Name)) throw new KeyNotFoundException($"missing required parameter [{SERVER_CERTIFICATE_NAME.Name}]"); inst.ServerCertificateName = (string)initParams[SERVER_CERTIFICATE_NAME.Name]; // Optional params if (initParams.ContainsKey(PATH.Name)) inst.Path = (string)initParams[PATH.Name]; if (initParams.ContainsKey(USE_WITH_CLOUDFRONT.Name)) inst.UseWithCloudFront = (bool)initParams[USE_WITH_CLOUDFRONT.Name]; // Process the common params inst.CommonParams.InitParams(initParams); // Some validation if (!string.IsNullOrEmpty(inst.Path)) { if (!inst.Path.StartsWith(AwsIamCertificateInstaller.PATH_REQUIRED_PREFIX)) throw new ArgumentException($"optional Path argument must start with leading" + $" '{AwsIamCertificateInstaller.PATH_REQUIRED_PREFIX}'"); if (!inst.Path.EndsWith(AwsIamCertificateInstaller.PATH_REQUIRED_SUFFIX)) throw new ArgumentException($"optional Path argument must end with trailing" + $" '{AwsIamCertificateInstaller.PATH_REQUIRED_SUFFIX}'"); } if (inst.UseWithCloudFront) { if (!string.IsNullOrEmpty(inst.Path)) { if (!inst.Path.StartsWith(AwsIamCertificateInstaller.PATH_REQUIRED_CLOUDFRONT_PREFIX, StringComparison.InvariantCultureIgnoreCase)) throw new ArgumentException($"optional Path argument must start with leading" + $" '{AwsIamCertificateInstaller.PATH_REQUIRED_CLOUDFRONT_PREFIX}'"); } else { inst.Path = AwsIamCertificateInstaller.PATH_REQUIRED_CLOUDFRONT_PREFIX; } } return inst; }
public static AwsIamCertificateInstaller GetNewInstaller(IReadOnlyDictionary <string, object> initParams) { var inst = new AwsIamCertificateInstaller(); if (initParams == null) { initParams = new Dictionary <string, object>(); } // Required params if (!initParams.ContainsKey(SERVER_CERTIFICATE_NAME.Name)) { throw new KeyNotFoundException($"missing required parameter [{SERVER_CERTIFICATE_NAME.Name}]"); } inst.ServerCertificateName = (string)initParams[SERVER_CERTIFICATE_NAME.Name]; // Optional params if (initParams.ContainsKey(PATH.Name)) { inst.Path = (string)initParams[PATH.Name]; } if (initParams.ContainsKey(USE_WITH_CLOUDFRONT.Name)) { inst.UseWithCloudFront = (bool)initParams[USE_WITH_CLOUDFRONT.Name]; } // Process the common params inst.CommonParams.InitParams(initParams); // Some validation if (!string.IsNullOrEmpty(inst.Path)) { if (!inst.Path.StartsWith(AwsIamCertificateInstaller.PATH_REQUIRED_PREFIX)) { throw new ArgumentException($"optional Path argument must start with leading" + $" '{AwsIamCertificateInstaller.PATH_REQUIRED_PREFIX}'"); } if (!inst.Path.EndsWith(AwsIamCertificateInstaller.PATH_REQUIRED_SUFFIX)) { throw new ArgumentException($"optional Path argument must end with trailing" + $" '{AwsIamCertificateInstaller.PATH_REQUIRED_SUFFIX}'"); } } if (inst.UseWithCloudFront) { if (!string.IsNullOrEmpty(inst.Path)) { if (!inst.Path.StartsWith(AwsIamCertificateInstaller.PATH_REQUIRED_CLOUDFRONT_PREFIX, StringComparison.InvariantCultureIgnoreCase)) { throw new ArgumentException($"optional Path argument must start with leading" + $" '{AwsIamCertificateInstaller.PATH_REQUIRED_CLOUDFRONT_PREFIX}'"); } } else { inst.Path = AwsIamCertificateInstaller.PATH_REQUIRED_CLOUDFRONT_PREFIX; } } return(inst); }