package io.fathom.auto.openstack.metadata;
import io.fathom.cloud.openstack.client.RestClientException;
import io.fathom.cloud.openstack.client.SimpleRestClient;
import io.fathom.http.HttpClient;
import io.fathom.http.HttpRequest;
import io.fathom.http.jre.JreHttpClient;
import java.net.URI;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class MetadataClient extends SimpleRestClient {
public static final MetadataClient INSTANCE;
static {
URI metadataEndpoint = URI.create("http://[fd00::feed]:8775/");
HttpClient httpClient = JreHttpClient.create();
MetadataClient metadataClient = new MetadataClient(httpClient, metadataEndpoint);
INSTANCE = metadataClient;
}
public MetadataClient(HttpClient httpClient, URI baseUri) {
super(httpClient, baseUri);
}
public Metadata getMetadata() throws RestClientException {
HttpRequest request = buildGet("openstack/latest/meta_data.json");
String json = doStringRequest(request);
JsonObject metadata = (JsonObject) new JsonParser().parse(json);
return new Metadata(metadata);
}
public String getSecretString(String key) throws RestClientException {
HttpRequest request = buildGet("openstack/latest/secret/" + key);
return doStringRequest(request);
}
}