class CloudStore {

    boolean loadBootMetaData() {

        // first load the dynamic document

        String document = getMetaData("/dynamic/instance-identity/document");
        if (document == null) {
            return false;
        }

        if (!parseInstanceInfo(document)) {
            LOGGER.error("CloudStore: unable to parse instance identity document: {}", document);
            return false;
        }

        // then the document signature

        String docSignature = getMetaData("/dynamic/instance-identity/pkcs7");
        if (docSignature == null) {
            return false;
        }

        // next the iam profile data

        String iamRole = getMetaData("/meta-data/iam/info");
        if (iamRole == null) {
            return false;
        }

        // now parse and extract the profile details. we'll catch
        // all possible index out of bounds exceptions here and just
        // report the error and return false

        if (!parseIamRoleInfo(iamRole)) {
            LOGGER.error("CloudStore: unable to parse iam role data: {}", iamRole);
            return false;
        }

        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("CloudStore: service meta information:");
            LOGGER.debug("CloudStore: role:   {}", awsRole);
            LOGGER.debug("CloudStore: region: {}", awsRegion);
        }
        return true;
    }

    public  CloudStore();

}