/**
* Copyright (c) 2015 INRIA.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* - Fawaz PARAISO
* - Philippe MERLE
*/
package org.occiware.clouddesigner.occi.docker.connector;
import com.google.common.base.Preconditions;
import org.apache.commons.lang.StringUtils;
import org.occiware.clouddesigner.occi.docker.connector.MachineManager;
import org.occiware.clouddesigner.occi.docker.impl.Machine_OpenStackImpl;
import org.occiware.clouddesigner.occi.infrastructure.RestartMethod;
import org.occiware.clouddesigner.occi.infrastructure.StopMethod;
import org.occiware.clouddesigner.occi.infrastructure.SuspendMethod;
/**
* This class implements executable Docker Machine on OpenStack.
*/
@SuppressWarnings("all")
public class ExecutableMachine_OpenStack extends Machine_OpenStackImpl {
/**
* The machine manager.
*/
private final MachineManager manager = new MachineManager(this) {
@Override
public String getDriverName() {
return "openstack";
}
@Override
public void appendDriverParameters(final StringBuilder sb) {
Preconditions.<String>checkNotNull(ExecutableMachine_OpenStack.this.auth_url, "auth_url is null");
Preconditions.<String>checkNotNull(ExecutableMachine_OpenStack.this.flavor_id, "flavor_id is null");
Preconditions.<String>checkNotNull(ExecutableMachine_OpenStack.this.image_id, "image_id is null");
Preconditions.<String>checkNotNull(ExecutableMachine_OpenStack.this.tenant_id, "tenant_id is null");
Preconditions.<String>checkNotNull(ExecutableMachine_OpenStack.this.tenant_name, "tenant_name is null");
Preconditions.<String>checkNotNull(ExecutableMachine_OpenStack.this.username, "username is null");
Preconditions.<String>checkNotNull(ExecutableMachine_OpenStack.this.password, "password is null");
Preconditions.<String>checkNotNull(ExecutableMachine_OpenStack.this.floatingip_pool, "floatingip_pool is null");
boolean _isEmpty = ExecutableMachine_OpenStack.this.auth_url.isEmpty();
boolean _not = (!_isEmpty);
if (_not) {
StringBuilder _append = sb.append(" --openstack-auth-url ");
_append.append(ExecutableMachine_OpenStack.this.auth_url);
}
boolean _isNotBlank = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.flavor_id);
if (_isNotBlank) {
StringBuilder _append_1 = sb.append(" --openstack-flavor-id ");
_append_1.append(ExecutableMachine_OpenStack.this.flavor_id);
}
boolean _isNotBlank_1 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.flavor_name);
if (_isNotBlank_1) {
StringBuilder _append_2 = sb.append(" --openstack-flavor-name ");
_append_2.append(ExecutableMachine_OpenStack.this.flavor_name);
}
boolean _isNotBlank_2 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.image_id);
if (_isNotBlank_2) {
StringBuilder _append_3 = sb.append(" --openstack-image-id ");
_append_3.append(ExecutableMachine_OpenStack.this.image_id);
}
boolean _isNotBlank_3 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.image_name);
if (_isNotBlank_3) {
StringBuilder _append_4 = sb.append(" --openstack-image-name ");
_append_4.append(ExecutableMachine_OpenStack.this.image_name);
}
boolean _isNotBlank_4 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.tenant_id);
if (_isNotBlank_4) {
StringBuilder _append_5 = sb.append(" --openstack-tenant-id ");
_append_5.append(ExecutableMachine_OpenStack.this.tenant_id);
}
boolean _isNotBlank_5 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.tenant_name);
if (_isNotBlank_5) {
StringBuilder _append_6 = sb.append(" --openstack-tenant-name ");
_append_6.append(ExecutableMachine_OpenStack.this.tenant_name);
}
boolean _isNotBlank_6 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.username);
if (_isNotBlank_6) {
StringBuilder _append_7 = sb.append(" --openstack-username ");
_append_7.append(ExecutableMachine_OpenStack.this.username);
}
boolean _isNotBlank_7 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.password);
if (_isNotBlank_7) {
StringBuilder _append_8 = sb.append(" --openstack-password ");
_append_8.append(ExecutableMachine_OpenStack.this.password);
}
boolean _isNotBlank_8 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.floatingip_pool);
if (_isNotBlank_8) {
StringBuilder _append_9 = sb.append(" --openstack-floatingip-pool ");
_append_9.append(ExecutableMachine_OpenStack.this.floatingip_pool);
}
boolean _isNotBlank_9 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.region);
if (_isNotBlank_9) {
StringBuilder _append_10 = sb.append(" --openstack-region ");
_append_10.append(ExecutableMachine_OpenStack.this.region);
}
boolean _isNotBlank_10 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.net_id);
if (_isNotBlank_10) {
StringBuilder _append_11 = sb.append(" --openstack-net-id ");
_append_11.append(ExecutableMachine_OpenStack.this.net_id);
}
boolean _isNotBlank_11 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.net_name);
if (_isNotBlank_11) {
StringBuilder _append_12 = sb.append(" --openstack-net-name ");
_append_12.append(ExecutableMachine_OpenStack.this.net_name);
}
boolean _isNotBlank_12 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.domain_id);
if (_isNotBlank_12) {
StringBuilder _append_13 = sb.append(" --openstack-domain-id ");
_append_13.append(ExecutableMachine_OpenStack.this.domain_id);
}
boolean _isNotBlank_13 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.domain_name);
if (_isNotBlank_13) {
StringBuilder _append_14 = sb.append(" --openstack-domain-name ");
_append_14.append(ExecutableMachine_OpenStack.this.domain_name);
}
boolean _isNotBlank_14 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.availability_zone);
if (_isNotBlank_14) {
StringBuilder _append_15 = sb.append(" --openstack-availability-zone ");
_append_15.append(ExecutableMachine_OpenStack.this.availability_zone);
}
if ((ExecutableMachine_OpenStack.this.active_timeout != 200)) {
StringBuilder _append_16 = sb.append(" --openstack-availability-zone ");
_append_16.append(ExecutableMachine_OpenStack.this.active_timeout);
}
boolean _isNotBlank_15 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.private_key_file);
if (_isNotBlank_15) {
StringBuilder _append_17 = sb.append(" --openstack-private-key-file ");
_append_17.append(ExecutableMachine_OpenStack.this.private_key_file);
}
String _string = Integer.valueOf(ExecutableMachine_OpenStack.this.ssh_port).toString();
boolean _isNotBlank_16 = StringUtils.isNotBlank(_string);
if (_isNotBlank_16) {
StringBuilder _append_18 = sb.append(" --openstack-ssh-port ");
_append_18.append(ExecutableMachine_OpenStack.this.ssh_port);
}
boolean _isNotBlank_17 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.ssh_user);
if (_isNotBlank_17) {
StringBuilder _append_19 = sb.append(" --openstack-ssh-user ");
_append_19.append(ExecutableMachine_OpenStack.this.ssh_user);
}
if (ExecutableMachine_OpenStack.this.insecure) {
StringBuilder _append_20 = sb.append(" --openstack-insecure ");
_append_20.append(ExecutableMachine_OpenStack.this.insecure);
}
boolean _isNotBlank_18 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.endpoint_type);
if (_isNotBlank_18) {
StringBuilder _append_21 = sb.append(" --openstack-endpoint-type ");
_append_21.append(ExecutableMachine_OpenStack.this.endpoint_type);
}
boolean _isNotBlank_19 = StringUtils.isNotBlank(ExecutableMachine_OpenStack.this.sec_groups);
if (_isNotBlank_19) {
StringBuilder _append_22 = sb.append(" --openstack-sec-groups ");
_append_22.append(ExecutableMachine_OpenStack.this.sec_groups);
} else {
StringBuilder _append_23 = sb.append(" --openstack-sec-groups ");
_append_23.append("default");
}
}
};
public void startAll() {
this.manager.startAll();
}
@Override
public void start() {
this.manager.start();
}
@Override
public void stop(final StopMethod method) {
this.manager.stop(method);
}
@Override
public void restart(final RestartMethod method) {
this.manager.restart(method);
}
@Override
public void suspend(final SuspendMethod method) {
this.manager.suspend(method);
}
public void synchronize() {
this.manager.synchronize();
}
}