/******************************************************************************* * Copyright (c) 2011 GigaSpaces Technologies Ltd. All rights reserved * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. *******************************************************************************/ package org.cloudifysource.domain.cloud; import org.cloudifysource.domain.internal.CloudifyDSLEntity; /*********** * Domain POJO for the cloud configuration. * * @author barakme, adaml * @since 2.0.0 * */ @CloudifyDSLEntity(name = "configuration", clazz = CloudConfiguration.class, allowInternalNode = true, allowRootNode = false, parent = "cloud") public class CloudConfiguration { //admin object loading time (in seconds), defaults to 60 seconds. private short adminLoadingTimeInSeconds = 60; /******* * The default cloud driver name. */ public static final String DEFAULT_CLOUD_DRIVER_CLASS_NAME = "org.cloudifysource.esc.driver.provisioning.jclouds.DefaultProvisioningDriver"; private String className = DEFAULT_CLOUD_DRIVER_CLASS_NAME; private String storageClassName; private String networkDriverClassName; private String nicAddress; private String lookupGroups; private String lookupLocators; private String managementMachineTemplate; private String managementStorageTemplate; private boolean bootstrapManagementOnPublicIp = true; private boolean connectToPrivateIp = true; private GridComponents components = new GridComponents(); private String persistentStoragePath; public String getNicAddress() { return nicAddress; } public void setNicAddress(final String nicAddress) { this.nicAddress = nicAddress; } public String getLookupGroups() { return lookupGroups; } public void setLookupGroups(final String lookupGroups) { this.lookupGroups = lookupGroups; } public String getLookupLocators() { return lookupLocators; } public void setLookupLocators(final String lookupLocators) { this.lookupLocators = lookupLocators; } /********* * Full name of the class that implements the cloud driver for this cloud configuration. Class must implement the * <i>org.cloudifysource.esc.driver.provisioning.ProvisioningDriver</i> interface. * * Defaults to the value of the DEFAULT_CLOUD_DRIVER_CLASS_NAME constant. * * @see org.cloudifysource.esc.driver.provisioning.ProvisioningDriver * @return the cloud driver class name. */ public String getClassName() { return className; } public void setClassName(final String className) { this.className = className; } public String getManagementMachineTemplate() { return managementMachineTemplate; } public void setManagementMachineTemplate(final String managementMachineTemplate) { this.managementMachineTemplate = managementMachineTemplate; } public boolean isBootstrapManagementOnPublicIp() { return bootstrapManagementOnPublicIp; } public void setBootstrapManagementOnPublicIp(final boolean bootstrapManagementOnPublicIp) { this.bootstrapManagementOnPublicIp = bootstrapManagementOnPublicIp; } public boolean isConnectToPrivateIp() { return connectToPrivateIp; } public void setConnectToPrivateIp(final boolean connectToPrivateIp) { this.connectToPrivateIp = connectToPrivateIp; } @Override public String toString() { return "CloudConfiguration [className=" + className + ", nicAddress=" + nicAddress + ", lookupGroups=" + lookupGroups + ", lookupLocators=" + lookupLocators + ", managementMachineTemplate=" + managementMachineTemplate + ", bootstrapManagementOnPublicIp=" + bootstrapManagementOnPublicIp + ", connectToPrivateIp=" + connectToPrivateIp + ", remotePassword=***] networkDriverClassName=" + networkDriverClassName; } public GridComponents getComponents() { return components; } public void setComponents(final GridComponents components) { this.components = components; } public String getPersistentStoragePath() { return persistentStoragePath; } public void setPersistentStoragePath(final String persistentStoragePath) { this.persistentStoragePath = persistentStoragePath; } public String getStorageClassName() { return storageClassName; } public void setStorageClassName(final String storageClassName) { this.storageClassName = storageClassName; } public String getManagementStorageTemplate() { return managementStorageTemplate; } public void setManagementStorageTemplate(final String managementStorageTemplate) { this.managementStorageTemplate = managementStorageTemplate; } public short getAdminLoadingTimeInSeconds() { return adminLoadingTimeInSeconds; } public void setAdminLoadingTimeInSeconds(final short adminLoadingTimeInSeconds) { this.adminLoadingTimeInSeconds = adminLoadingTimeInSeconds; } public String getNetworkDriverClassName() { return networkDriverClassName; } public void setNetworkDriverClassName(final String networkDriverClassName) { this.networkDriverClassName = networkDriverClassName; } }