protected virtual async Task <Secret> ReadSecretAndFollowLinks(string key, int?datacenter, SecretStore store) { var secret = await store.Read(key, datacenter, "nucmd get"); while (secret != null && secret.Type == SecretType.Link) { // Follow link var link = SecretName.Parse(secret.Value); await Console.WriteInfoLine(Strings.Secrets_FollowingLink, link.Name); secret = await store.Read( link, String.Format(CultureInfo.InvariantCulture, "nucmd get (link from {0})", secret.Name)); } return(secret); }
public Uri GetAdminUri() { var secret = _secrets.Read( new SecretName("http.admin:" + _service.Name, _service.Datacenter.Id), "resolve:" + _service.Type + "." + _service.Name) .Result; return(new UriBuilder(_service.Uri) { UserName = "******", Password = secret == null ? null : secret.Value }.Uri); }