public class UserProperties
{
    public UserProperties(UrisSettings uris, RsaSettings rsa, CredentialsSettings credentials)
    {
        (Uris, Rsa, Credentials) = (uris, rsa, credentials);
    }

    public UrisSettings Uris { get; set; }
    public RsaSettings Rsa { get; set; }
    public CredentialsSettings Credentials { get; set; }

    public class UrisSettings
    {
        public UrisSettings(string apimBaseUri, string b2bApiUri, string padp1201Uri, string padp1202Uri, string padp1204Uri, string padp1205Uri, string padp1206V2Uri, string padp1207V2Uri, string padp1206V3Uri, string padp1207V3Uri, string padp1210Uri, string padp1211Uri)
        {
            (ApimBaseUri, B2bApiUri, Padp1201Uri, Padp1202Uri, Padp1204Uri, Padp1205Uri, Padp1206V2Uri, Padp1207V2Uri, Padp1206V3Uri, Padp1207V3Uri, Padp1210Uri, Padp1211Uri) = (apimBaseUri, b2bApiUri, padp1201Uri, padp1202Uri, padp1204Uri, padp1205Uri, padp1206V2Uri, padp1207V2Uri, padp1206V3Uri, padp1207V3Uri, padp1210Uri, padp1211Uri);
        }

        public string ApimBaseUri { get; set; }
        public string B2bApiUri { get; set; }
        public string Padp1201Uri { get; set; }
        public string Padp1202Uri { get; set; }
        public string Padp1204Uri { get; set; }
        public string Padp1205Uri { get; set; }
        public string Padp1206V2Uri { get; set; }
        public string Padp1207V2Uri { get; set; }
        public string Padp1206V3Uri { get; set; }
        public string Padp1207V3Uri { get; set; }
        public string Padp1210Uri { get; set; }
        public string Padp1211Uri { get; set; }
    }

    public class RsaSettings
    {
        public RsaSettings(string publicKeyFile, string privateKeyFile) 
        {
            (PublicKeyFile, PrivateKeyFile) = (publicKeyFile, privateKeyFile);
        }

        public string PublicKeyFile { get; set; }
        public string PrivateKeyFile { get; set; }
    }

    public class CredentialsSettings
    {
        public CredentialsSettings(string clientCertFile, string clientCertPassword, string clientId, string clientSecret, string b2bApiKey, string padApiKey) 
        {
            (ClientCertFile, ClientCertPassword, ClientId, ClientSecret, B2bApiKey, PadApiKey) = (clientCertFile, clientCertPassword, clientId, clientSecret, b2bApiKey, padApiKey);
        }

        public string ClientCertFile { get; set; }
        public string ClientCertPassword { get; set; }
        public string ClientId { get; set; }
        public string ClientSecret { get; set; }
        public string B2bApiKey { get; set; }
        public string PadApiKey { get; set; }
    }
}