Package com.sequenceiq.cloudbreak.service.stack.connector.azure

Source Code of com.sequenceiq.cloudbreak.service.stack.connector.azure.AzureStackUtil

package com.sequenceiq.cloudbreak.service.stack.connector.azure;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.sequenceiq.cloud.azure.client.AzureClient;
import com.sequenceiq.cloudbreak.domain.AzureCredential;
import com.sequenceiq.cloudbreak.domain.CbUser;
import com.sequenceiq.cloudbreak.domain.Credential;
import com.sequenceiq.cloudbreak.service.user.UserDetailsService;
import com.sequenceiq.cloudbreak.service.user.UserFilterField;

@Component
public class AzureStackUtil {

    public static final int NOT_FOUND = 404;
    public static final String NAME = "name";
    public static final String SERVICENAME = "serviceName";
    public static final String ERROR = "\"error\":\"Could not fetch data from azure\"";
    public static final String CREDENTIAL = "credential";
    public static final String EMAILASFOLDER = "emailAsFolder";
    public static final String IMAGE_NAME = "ambari-docker-v1";

    @Autowired
    private UserDetailsService userDetailsService;

    public String getOsImageName(Credential credential) {
        return String.format("%s-%s", ((AzureCredential) credential).getCommonName(), IMAGE_NAME);
    }

    public AzureClient createAzureClient(Credential credential, String filePath) {
        File file = new File(filePath);
        return new AzureClient(
                ((AzureCredential) credential).getSubscriptionId(), file.getAbsolutePath(), ((AzureCredential) credential).getJks());
    }

    public static Map<String, String> createVMContext(String vmName) {
        Map<String, String> context = new HashMap<>();
        context.put(SERVICENAME, vmName);
        context.put(NAME, vmName);
        return context;
    }

    public String emailAsFolder(String userId) {
        String email = userDetailsService.getDetails(userId, UserFilterField.USERID).getUsername();
        return email.replaceAll("@", "_").replace(".", "_");
    }

    public String emailAsFolder(CbUser user) {
        return user.getUsername().replaceAll("@", "_").replace(".", "_");
    }
}
TOP

Related Classes of com.sequenceiq.cloudbreak.service.stack.connector.azure.AzureStackUtil

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.