All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sap.cloud.spring.boot.autoconfig.services.InstanceManagerConfig Maven / Gradle / Ivy

/******************************************************************************
 * © 2020 SAP SE or an SAP affiliate company. All rights reserved.            *
 ******************************************************************************/

package com.sap.cloud.spring.boot.autoconfig.services;

import com.sap.xsa.core.instancemanager.client.ImClientException;
import com.sap.xsa.core.instancemanager.client.InstanceManagerClient;
import com.sap.xsa.core.instancemanager.client.impl.InstanceManagerClientFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration("ComSapMtInstanceManagerConfig")
@ConfigurationProperties(InstanceManagerConfig.COM_SAP_CLOUD_INSTANCE_MANAGER)
@ConditionalOnClass(InstanceManagerClient.class)
@ConditionalOnProperty(name = "com.sap.cloud.instance-manager.url")
public class InstanceManagerConfig {
    private static final Logger logger = LoggerFactory.getLogger(InstanceManagerConfig.class);
    static final String COM_SAP_CLOUD_INSTANCE_MANAGER = "com.sap.cloud.instance-manager";
    private String url;
    private String username;
    private String password;

    @Bean("ComSapMtInstanceManagerClient")
    public InstanceManagerClient client() {
        logger.debug("Create instance manager for hana for url={} and user={}", url, username);
        try {
            return InstanceManagerClientFactory.getInstance(url, username, password);
        } catch (ImClientException e) {
            throw new RuntimeException(e);
        }
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy