public static bool TryParse(string input, out SecretName parsed)
{
parsed = null;
string[] segments = input.Split(':');
if (segments.Length != 2)
{
return false;
}
string name = Encoding.UTF8.GetString(Convert.FromBase64String(segments[1]));
if (String.Equals(segments[0], "_", StringComparison.OrdinalIgnoreCase))
{
parsed = new SecretName(name, datacenter: null);
}
else
{
int datacenter;
if (!Int32.TryParse(segments[0], out datacenter))
{
return false;
}
parsed = new SecretName(name, datacenter);
}
return true;
}