static void DemonstrateSdkFunctionality(IConfigurationSection config)
        {
            Log.Debug("Thycotic Secret Server Constrcutor");
            var client = new SecretServerClient();

            Log.Debug("Loading Configuration from Config Section");

            var sdkConfig = new {
                Uri        = config.GetValue <string>("Uri"),
                RuleName   = config.GetValue <string>("RuleName"),
                RuleKey    = config.GetValue <string>("RuleKey"),
                CacheAge   = config.GetValue <int>("CacheAge"),
                ResetToken = Path.GetRandomFileName().Replace(".", string.Empty)
            };

            Log.Debug($"Loaded Configuration: \n{JsonConvert.SerializeObject(sdkConfig, Formatting.Indented)}");

            Log.Debug("Configuring Thycotic SecretServerClient");

            client.Configure(new ConfigSettings
            {
                SecretServerUrl = sdkConfig.Uri,
                RuleName        = sdkConfig.RuleName,
                RuleKey         = sdkConfig.RuleKey,
                CacheStrategy   = CacheStrategy.CacheThenServerAllowExpired,
                CacheAge        = sdkConfig.CacheAge,
                ResetToken      = sdkConfig.ResetToken
            });

            Log.Debug("Thycotic Secret Server Client Initialized");

            var templateName = config.GetValue <string>("SecretTemplateName");
            var searchText   = config.GetValue <string>("SearchText");
            var secretId     = SearchSecretId(client, sdkConfig.Uri, templateName, searchText);

            var secret = client.GetSecret(secretId);

            foreach (var item in secret.Items)
            {
                Log.Debug($"{item.Slug}: {item.ItemValue}");
            }
        }