mirror of https://github.com/apache/jclouds.git
Merge pull request #414 from danikov/vclouds-director-admin-org
Issue 830: vCloud director Admin Org
This commit is contained in:
commit
a8fa0c57d1
|
@ -28,6 +28,7 @@ import org.jclouds.vcloud.director.v1_5.domain.Task;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Vdc;
|
import org.jclouds.vcloud.director.v1_5.domain.Vdc;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.Network;
|
import org.jclouds.vcloud.director.v1_5.domain.ovf.Network;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.AdminCatalogAsyncClient;
|
import org.jclouds.vcloud.director.v1_5.features.AdminCatalogAsyncClient;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.features.AdminOrgAsyncClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.CatalogAsyncClient;
|
import org.jclouds.vcloud.director.v1_5.features.CatalogAsyncClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.GroupAsyncClient;
|
import org.jclouds.vcloud.director.v1_5.features.GroupAsyncClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.NetworkAsyncClient;
|
import org.jclouds.vcloud.director.v1_5.features.NetworkAsyncClient;
|
||||||
|
@ -120,4 +121,10 @@ public interface VCloudDirectorAsyncClient {
|
||||||
*/
|
*/
|
||||||
@Delegate
|
@Delegate
|
||||||
GroupAsyncClient getGroupClient();
|
GroupAsyncClient getGroupClient();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return asynchronous access to {@link AdminOrg} features
|
||||||
|
*/
|
||||||
|
@Delegate
|
||||||
|
AdminOrgAsyncClient getAdminOrgClient();
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@ import org.jclouds.vcloud.director.v1_5.domain.Task;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Vdc;
|
import org.jclouds.vcloud.director.v1_5.domain.Vdc;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.Network;
|
import org.jclouds.vcloud.director.v1_5.domain.ovf.Network;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.AdminCatalogClient;
|
import org.jclouds.vcloud.director.v1_5.features.AdminCatalogClient;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.features.AdminOrgClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.CatalogClient;
|
import org.jclouds.vcloud.director.v1_5.features.CatalogClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.GroupClient;
|
import org.jclouds.vcloud.director.v1_5.features.GroupClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.MediaClient;
|
import org.jclouds.vcloud.director.v1_5.features.MediaClient;
|
||||||
|
@ -123,4 +124,10 @@ public interface VCloudDirectorClient {
|
||||||
*/
|
*/
|
||||||
@Delegate
|
@Delegate
|
||||||
GroupClient getGroupClient();
|
GroupClient getGroupClient();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return synchronous access to {@link AdminOrg} features
|
||||||
|
*/
|
||||||
|
@Delegate
|
||||||
|
AdminOrgClient getAdminOrgClient();
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,311 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* The AdminOrg represents an administrative view of an organization.
|
||||||
|
* It includes all members of the Org element, and adds several
|
||||||
|
* elements that can be viewed and modified only by system administrators.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Java class for AdminOrg complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="AdminOrg">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}OrgType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="Settings" type="{http://www.vmware.com/vcloud/v1.5}OrgSettingsType"/>
|
||||||
|
* <element name="Users" type="{http://www.vmware.com/vcloud/v1.5}UsersListType" minOccurs="0"/>
|
||||||
|
* <element name="Groups" type="{http://www.vmware.com/vcloud/v1.5}GroupsListType" minOccurs="0"/>
|
||||||
|
* <element name="Catalogs" type="{http://www.vmware.com/vcloud/v1.5}CatalogsListType" minOccurs="0"/>
|
||||||
|
* <element name="Vdcs" type="{http://www.vmware.com/vcloud/v1.5}VdcsType" minOccurs="0"/>
|
||||||
|
* <element name="Networks" type="{http://www.vmware.com/vcloud/v1.5}NetworksType" minOccurs="0"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlRootElement(name = "AdminOrg")
|
||||||
|
@XmlType(propOrder = {
|
||||||
|
"settings",
|
||||||
|
"users",
|
||||||
|
"groups",
|
||||||
|
"catalogs",
|
||||||
|
"vdcs",
|
||||||
|
"networks"
|
||||||
|
})
|
||||||
|
public class AdminOrg extends Org {
|
||||||
|
public static Builder<?> builder() {
|
||||||
|
return new ConcreteBuilder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Builder<?> newBuilder() {
|
||||||
|
return new ConcreteBuilder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder<?> toNewBuilder() {
|
||||||
|
return new ConcreteBuilder().fromAdminOrg(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static abstract class Builder<T extends Builder<T>> extends Org.NewBuilder<T> {
|
||||||
|
|
||||||
|
private OrgSettings settings;
|
||||||
|
private UsersList users;
|
||||||
|
private GroupsList groups;
|
||||||
|
private CatalogsList catalogs;
|
||||||
|
private Vdcs vdcs;
|
||||||
|
private Networks networks;
|
||||||
|
|
||||||
|
protected abstract T self();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see AdminOrg#getSettings()
|
||||||
|
*/
|
||||||
|
public T settings(OrgSettings settings) {
|
||||||
|
this.settings = settings;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see AdminOrg#getUsers()
|
||||||
|
*/
|
||||||
|
public T users(UsersList users) {
|
||||||
|
this.users = users;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see AdminOrg#getGroups()
|
||||||
|
*/
|
||||||
|
public T groups(GroupsList groups) {
|
||||||
|
this.groups = groups;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see AdminOrg#getCatalogs()
|
||||||
|
*/
|
||||||
|
public T catalogs(CatalogsList catalogs) {
|
||||||
|
this.catalogs = catalogs;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see AdminOrg#getVdcs()
|
||||||
|
*/
|
||||||
|
public T vdcs(Vdcs vdcs) {
|
||||||
|
this.vdcs = vdcs;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see AdminOrg#getNetworks()
|
||||||
|
*/
|
||||||
|
public T networks(Networks networks) {
|
||||||
|
this.networks = networks;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
public AdminOrg build() {
|
||||||
|
return new AdminOrg(settings, users, groups, catalogs, vdcs, networks);
|
||||||
|
}
|
||||||
|
|
||||||
|
public T fromAdminOrg(AdminOrg in) {
|
||||||
|
return fromOrg(in)
|
||||||
|
.settings(in.getSettings())
|
||||||
|
.users(in.getUsers())
|
||||||
|
.groups(in.getGroups())
|
||||||
|
.catalogs(in.getCatalogs())
|
||||||
|
.vdcs(in.getVdcs())
|
||||||
|
.networks(in.getNetworks());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
|
||||||
|
@Override
|
||||||
|
protected ConcreteBuilder self() {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
public Org.Builder toBuilder() {
|
||||||
|
throw new UnsupportedOperationException("Use toNewBuilder() instead");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected AdminOrg() {
|
||||||
|
// For JAXB
|
||||||
|
}
|
||||||
|
|
||||||
|
protected AdminOrg(OrgSettings settings, UsersList users, GroupsList groups,
|
||||||
|
CatalogsList catalogs, Vdcs vdcs, Networks networks) {
|
||||||
|
this.settings = settings;
|
||||||
|
this.users = users;
|
||||||
|
this.groups = groups;
|
||||||
|
this.catalogs = catalogs;
|
||||||
|
this.vdcs = vdcs;
|
||||||
|
this.networks = networks;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "Settings", required = true)
|
||||||
|
protected OrgSettings settings;
|
||||||
|
@XmlElement(name = "Users")
|
||||||
|
protected UsersList users;
|
||||||
|
@XmlElement(name = "Groups")
|
||||||
|
protected GroupsList groups;
|
||||||
|
@XmlElement(name = "Catalogs")
|
||||||
|
protected CatalogsList catalogs;
|
||||||
|
@XmlElement(name = "Vdcs")
|
||||||
|
protected Vdcs vdcs;
|
||||||
|
@XmlElement(name = "Networks")
|
||||||
|
protected Networks networks;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the settings property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link OrgSettings }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public OrgSettings getSettings() {
|
||||||
|
return settings;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the users property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link UsersList }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public UsersList getUsers() {
|
||||||
|
return users;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the groups property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link GroupsList }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public GroupsList getGroups() {
|
||||||
|
return groups;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the catalogs property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link CatalogsList }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public CatalogsList getCatalogs() {
|
||||||
|
return catalogs;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the vdcs property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Vdcs }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Vdcs getVdcs() {
|
||||||
|
return vdcs;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the networks property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Networks }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Networks getNetworks() {
|
||||||
|
return networks;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
AdminOrg that = AdminOrg.class.cast(o);
|
||||||
|
return super.equals(that) &&
|
||||||
|
equal(settings, that.settings) &&
|
||||||
|
equal(users, that.users) &&
|
||||||
|
equal(groups, that.groups) &&
|
||||||
|
equal(catalogs, that.catalogs) &&
|
||||||
|
equal(vdcs, that.vdcs) &&
|
||||||
|
equal(networks, that.networks);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(super.hashCode(),
|
||||||
|
settings,
|
||||||
|
users,
|
||||||
|
groups,
|
||||||
|
catalogs,
|
||||||
|
vdcs,
|
||||||
|
networks);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ToStringHelper string() {
|
||||||
|
return super.string()
|
||||||
|
.add("settings", settings)
|
||||||
|
.add("users", users)
|
||||||
|
.add("groups", groups)
|
||||||
|
.add("catalogs", catalogs)
|
||||||
|
.add("vdcs", vdcs)
|
||||||
|
.add("networks", networks);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,537 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Used when OrgLdapMode=CUSTOM to define connection details for
|
||||||
|
* the organization's LDAP service.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Java class for CustomOrgLdapSettings complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="CustomOrgLdapSettings">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}VCloudExtensibleType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="HostName" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="Port" type="{http://www.w3.org/2001/XMLSchema}int"/>
|
||||||
|
* <element name="IsSsl" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
|
||||||
|
* <element name="IsSslAcceptAll" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
|
||||||
|
* <element name="Realm" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
|
||||||
|
* <element name="SearchBase" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
|
||||||
|
* <element name="UserName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
|
||||||
|
* <element name="Password" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
|
||||||
|
* <element name="AuthenticationMechanism" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="GroupSearchBase" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
|
||||||
|
* <element name="IsGroupSearchBaseEnabled" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
|
||||||
|
* <element name="ConnectorType" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="UserAttributes" type="{http://www.vmware.com/vcloud/v1.5}OrgLdapUserAttributesType"/>
|
||||||
|
* <element name="GroupAttributes" type="{http://www.vmware.com/vcloud/v1.5}OrgLdapGroupAttributesType"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlType(name = "CustomOrgLdapSettings", propOrder = {
|
||||||
|
"hostName",
|
||||||
|
"port",
|
||||||
|
"isSsl",
|
||||||
|
"isSslAcceptAll",
|
||||||
|
"realm",
|
||||||
|
"searchBase",
|
||||||
|
"userName",
|
||||||
|
"password",
|
||||||
|
"authenticationMechanism",
|
||||||
|
"groupSearchBase",
|
||||||
|
"isGroupSearchBaseEnabled",
|
||||||
|
"connectorType",
|
||||||
|
"userAttributes",
|
||||||
|
"groupAttributes"
|
||||||
|
})
|
||||||
|
public class CustomOrgLdapSettings {
|
||||||
|
public static Builder<?> builder() {
|
||||||
|
return new ConcreteBuilder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder<?> toBuilder() {
|
||||||
|
return new ConcreteBuilder().fromCustomOrgLdapSettings(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static abstract class Builder<T extends Builder<T>> {
|
||||||
|
protected abstract T self();
|
||||||
|
|
||||||
|
private String hostName;
|
||||||
|
private int port;
|
||||||
|
private Boolean isSsl;
|
||||||
|
private Boolean isSslAcceptAll;
|
||||||
|
private String realm;
|
||||||
|
private String searchBase;
|
||||||
|
private String userName;
|
||||||
|
private String password;
|
||||||
|
private String authenticationMechanism;
|
||||||
|
private String groupSearchBase;
|
||||||
|
private boolean isGroupSearchBaseEnabled;
|
||||||
|
private String connectorType;
|
||||||
|
private OrgLdapUserAttributes userAttributes;
|
||||||
|
private OrgLdapGroupAttributes groupAttributes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getHostName()
|
||||||
|
*/
|
||||||
|
public T hostName(String hostName) {
|
||||||
|
this.hostName = hostName;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getPort()
|
||||||
|
*/
|
||||||
|
public T port(int port) {
|
||||||
|
this.port = port;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getIsSsl()
|
||||||
|
*/
|
||||||
|
public T isSsl(Boolean isSsl) {
|
||||||
|
this.isSsl = isSsl;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getIsSslAcceptAll()
|
||||||
|
*/
|
||||||
|
public T isSslAcceptAll(Boolean isSslAcceptAll) {
|
||||||
|
this.isSslAcceptAll = isSslAcceptAll;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getRealm()
|
||||||
|
*/
|
||||||
|
public T realm(String realm) {
|
||||||
|
this.realm = realm;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getSearchBase()
|
||||||
|
*/
|
||||||
|
public T searchBase(String searchBase) {
|
||||||
|
this.searchBase = searchBase;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getUserName()
|
||||||
|
*/
|
||||||
|
public T userName(String userName) {
|
||||||
|
this.userName = userName;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getPassword()
|
||||||
|
*/
|
||||||
|
public T password(String password) {
|
||||||
|
this.password = password;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getAuthenticationMechanism()
|
||||||
|
*/
|
||||||
|
public T authenticationMechanism(String authenticationMechanism) {
|
||||||
|
this.authenticationMechanism = authenticationMechanism;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getGroupSearchBase()
|
||||||
|
*/
|
||||||
|
public T groupSearchBase(String groupSearchBase) {
|
||||||
|
this.groupSearchBase = groupSearchBase;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getIsGroupSearchBaseEnabled()
|
||||||
|
*/
|
||||||
|
public T isGroupSearchBaseEnabled(boolean isGroupSearchBaseEnabled) {
|
||||||
|
this.isGroupSearchBaseEnabled = isGroupSearchBaseEnabled;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getConnectorType()
|
||||||
|
*/
|
||||||
|
public T connectorType(String connectorType) {
|
||||||
|
this.connectorType = connectorType;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getUserAttributes()
|
||||||
|
*/
|
||||||
|
public T userAttributes(OrgLdapUserAttributes userAttributes) {
|
||||||
|
this.userAttributes = userAttributes;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see CustomOrgLdapSettings#getGroupAttributes()
|
||||||
|
*/
|
||||||
|
public T groupAttributes(OrgLdapGroupAttributes groupAttributes) {
|
||||||
|
this.groupAttributes = groupAttributes;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public CustomOrgLdapSettings build() {
|
||||||
|
return new CustomOrgLdapSettings(hostName, port, isSsl, isSslAcceptAll,
|
||||||
|
realm, searchBase, userName, password, authenticationMechanism,
|
||||||
|
groupSearchBase, isGroupSearchBaseEnabled, connectorType,
|
||||||
|
userAttributes, groupAttributes);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public T fromCustomOrgLdapSettings(CustomOrgLdapSettings in) {
|
||||||
|
return hostName(in.getHostName())
|
||||||
|
.port(in.getPort())
|
||||||
|
.isSsl(in.isSsl())
|
||||||
|
.isSslAcceptAll(in.isSslAcceptAll())
|
||||||
|
.realm(in.getRealm())
|
||||||
|
.searchBase(in.getSearchBase())
|
||||||
|
.userName(in.getUserName())
|
||||||
|
.password(in.getPassword())
|
||||||
|
.authenticationMechanism(in.getAuthenticationMechanism())
|
||||||
|
.groupSearchBase(in.getGroupSearchBase())
|
||||||
|
.isGroupSearchBaseEnabled(in.isGroupSearchBaseEnabled())
|
||||||
|
.connectorType(in.getConnectorType())
|
||||||
|
.userAttributes(in.getUserAttributes())
|
||||||
|
.groupAttributes(in.getGroupAttributes());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class ConcreteBuilder extends Builder<ConcreteBuilder> {
|
||||||
|
@Override
|
||||||
|
protected ConcreteBuilder self() {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected CustomOrgLdapSettings() {
|
||||||
|
// For JAXB
|
||||||
|
}
|
||||||
|
|
||||||
|
private CustomOrgLdapSettings(String hostName, int port, Boolean isSsl,
|
||||||
|
Boolean isSslAcceptAll, String realm, String searchBase, String userName,
|
||||||
|
String password, String authenticationMechanism, String groupSearchBase,
|
||||||
|
boolean isGroupSearchBaseEnabled, String connectorType,
|
||||||
|
OrgLdapUserAttributes userAttributes, OrgLdapGroupAttributes groupAttributes) {
|
||||||
|
this.hostName = hostName;
|
||||||
|
this.port = port;
|
||||||
|
this.isSsl = isSsl;
|
||||||
|
this.password = password;
|
||||||
|
this.authenticationMechanism = authenticationMechanism;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@XmlElement(name = "HostName", required = true)
|
||||||
|
protected String hostName;
|
||||||
|
@XmlElement(name = "Port")
|
||||||
|
protected int port;
|
||||||
|
@XmlElement(name = "IsSsl")
|
||||||
|
protected Boolean isSsl;
|
||||||
|
@XmlElement(name = "IsSslAcceptAll")
|
||||||
|
protected Boolean isSslAcceptAll;
|
||||||
|
@XmlElement(name = "Realm")
|
||||||
|
protected String realm;
|
||||||
|
@XmlElement(name = "SearchBase")
|
||||||
|
protected String searchBase;
|
||||||
|
@XmlElement(name = "UserName")
|
||||||
|
protected String userName;
|
||||||
|
@XmlElement(name = "Password")
|
||||||
|
protected String password;
|
||||||
|
@XmlElement(name = "AuthenticationMechanism", required = true)
|
||||||
|
protected String authenticationMechanism;
|
||||||
|
@XmlElement(name = "GroupSearchBase")
|
||||||
|
protected String groupSearchBase;
|
||||||
|
@XmlElement(name = "IsGroupSearchBaseEnabled")
|
||||||
|
protected boolean isGroupSearchBaseEnabled;
|
||||||
|
@XmlElement(name = "ConnectorType", required = true)
|
||||||
|
protected String connectorType;
|
||||||
|
@XmlElement(name = "UserAttributes", required = true)
|
||||||
|
protected OrgLdapUserAttributes userAttributes;
|
||||||
|
@XmlElement(name = "GroupAttributes", required = true)
|
||||||
|
protected OrgLdapGroupAttributes groupAttributes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the hostName property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getHostName() {
|
||||||
|
return hostName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the port property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public int getPort() {
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the isSsl property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Boolean }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Boolean isSsl() {
|
||||||
|
return isSsl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the isSslAcceptAll property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Boolean }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Boolean isSslAcceptAll() {
|
||||||
|
return isSslAcceptAll;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the realm property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getRealm() {
|
||||||
|
return realm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the searchBase property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getSearchBase() {
|
||||||
|
return searchBase;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the userName property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getUserName() {
|
||||||
|
return userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the password property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getPassword() {
|
||||||
|
return password;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the authenticationMechanism property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getAuthenticationMechanism() {
|
||||||
|
return authenticationMechanism;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the groupSearchBase property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getGroupSearchBase() {
|
||||||
|
return groupSearchBase;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the isGroupSearchBaseEnabled property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public boolean isGroupSearchBaseEnabled() {
|
||||||
|
return isGroupSearchBaseEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the connectorType property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getConnectorType() {
|
||||||
|
return connectorType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the userAttributes property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link OrgLdapUserAttributes }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public OrgLdapUserAttributes getUserAttributes() {
|
||||||
|
return userAttributes;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the groupAttributes property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link OrgLdapGroupAttributes }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public OrgLdapGroupAttributes getGroupAttributes() {
|
||||||
|
return groupAttributes;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
CustomOrgLdapSettings that = CustomOrgLdapSettings.class.cast(o);
|
||||||
|
return super.equals(that) &&
|
||||||
|
equal(hostName, that.hostName) &&
|
||||||
|
equal(port, that.port) &&
|
||||||
|
equal(isSsl, that.isSsl) &&
|
||||||
|
equal(isSslAcceptAll, that.isSslAcceptAll) &&
|
||||||
|
equal(realm, that.realm) &&
|
||||||
|
equal(searchBase, that.searchBase) &&
|
||||||
|
equal(userName, that.userName) &&
|
||||||
|
equal(password, that.password) &&
|
||||||
|
equal(authenticationMechanism, that.authenticationMechanism) &&
|
||||||
|
equal(groupSearchBase, that.groupSearchBase) &&
|
||||||
|
equal(isGroupSearchBaseEnabled, that.isGroupSearchBaseEnabled) &&
|
||||||
|
equal(connectorType, that.connectorType) &&
|
||||||
|
equal(userAttributes, that.userAttributes) &&
|
||||||
|
equal(groupAttributes, that.groupAttributes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(super.hashCode(),
|
||||||
|
hostName,
|
||||||
|
port,
|
||||||
|
isSsl,
|
||||||
|
isSslAcceptAll,
|
||||||
|
realm,
|
||||||
|
searchBase,
|
||||||
|
userName,
|
||||||
|
password,
|
||||||
|
authenticationMechanism,
|
||||||
|
groupSearchBase,
|
||||||
|
isGroupSearchBaseEnabled,
|
||||||
|
connectorType,
|
||||||
|
userAttributes,
|
||||||
|
groupAttributes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return string().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected ToStringHelper string() {
|
||||||
|
return Objects.toStringHelper("")
|
||||||
|
.add("hostName", hostName)
|
||||||
|
.add("port", port)
|
||||||
|
.add("isSsl", isSsl)
|
||||||
|
.add("isSslAcceptAll", isSslAcceptAll)
|
||||||
|
.add("realm", realm)
|
||||||
|
.add("searchBase", searchBase)
|
||||||
|
.add("userName", userName)
|
||||||
|
.add("password", password)
|
||||||
|
.add("authenticationMechanism", authenticationMechanism)
|
||||||
|
.add("groupSearchBase", groupSearchBase)
|
||||||
|
.add("isGroupSearchBaseEnabled", isGroupSearchBaseEnabled)
|
||||||
|
.add("connectorType", connectorType)
|
||||||
|
.add("userAttributes", userAttributes)
|
||||||
|
.add("groupAttributes", groupAttributes);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -45,6 +45,52 @@ import com.google.common.collect.Sets;
|
||||||
*/
|
*/
|
||||||
public abstract class EntityType<T extends EntityType<T>> extends ResourceType<T> {
|
public abstract class EntityType<T extends EntityType<T>> extends ResourceType<T> {
|
||||||
|
|
||||||
|
public static abstract class NewBuilder<T extends NewBuilder<T>> extends ResourceType.NewBuilder<T> {
|
||||||
|
|
||||||
|
protected String description;
|
||||||
|
protected TasksInProgress tasksInProgress;
|
||||||
|
protected String name;
|
||||||
|
protected String id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see EntityType#getName()
|
||||||
|
*/
|
||||||
|
public T name(String name) {
|
||||||
|
this.name = name;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see EntityType#getDescription()
|
||||||
|
*/
|
||||||
|
public T description(String description) {
|
||||||
|
this.description = description;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see EntityType#getId()
|
||||||
|
*/
|
||||||
|
public T id(String id) {
|
||||||
|
this.id = id;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see EntityType#getTasksInProgress()
|
||||||
|
*/
|
||||||
|
public T tasksInProgress(TasksInProgress tasksInProgress) {
|
||||||
|
this.tasksInProgress = tasksInProgress;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
public T fromEntityType(EntityType<?> in) {
|
||||||
|
return fromResourceType(in)
|
||||||
|
.description(in.getDescription()).tasksInProgress(in.getTasksInProgress())
|
||||||
|
.id(in.getId()).name(in.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static abstract class Builder<T extends EntityType<T>> extends ResourceType.Builder<T> {
|
public static abstract class Builder<T extends EntityType<T>> extends ResourceType.Builder<T> {
|
||||||
|
|
||||||
protected String description;
|
protected String description;
|
||||||
|
|
|
@ -0,0 +1,171 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Container for ReferenceType elements that reference ExternalNetwork objects.
|
||||||
|
* This element is created by the server and is read only.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Java class for Networks complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="Networks">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}VCloudExtensibleType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="Network" type="{http://www.vmware.com/vcloud/v1.5}ReferenceType" maxOccurs="unbounded" minOccurs="0"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlType(name = "Networks", propOrder = {
|
||||||
|
"network"
|
||||||
|
})
|
||||||
|
public class Networks {
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return new Builder().fromNetworks(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder {
|
||||||
|
|
||||||
|
private List<Reference> networks;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Networks#getNetwork()
|
||||||
|
*/
|
||||||
|
public Builder networks(List<Reference> networks) {
|
||||||
|
this.networks = ImmutableList.copyOf(networks);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Networks#getNetwork()
|
||||||
|
*/
|
||||||
|
public Builder network(Reference network) {
|
||||||
|
this.networks.add(checkNotNull(network, "network"));
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Networks build() {
|
||||||
|
return new Networks(networks);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Builder fromNetworks(Networks in) {
|
||||||
|
return networks(in.getNetwork());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Networks() {
|
||||||
|
// For JAXB
|
||||||
|
}
|
||||||
|
|
||||||
|
private Networks(List<Reference> networks) {
|
||||||
|
this.networks = networks;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "Network")
|
||||||
|
protected List<Reference> networks;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the network property.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* This accessor method returns a reference to the live list,
|
||||||
|
* not a snapshot. Therefore any modification you make to the
|
||||||
|
* returned list will be present inside the JAXB object.
|
||||||
|
* This is why there is not a <CODE>set</CODE> method for the network property.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* For example, to add a new item, do as follows:
|
||||||
|
* <pre>
|
||||||
|
* getNetwork().add(newItem);
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* Objects of the following type(s) are allowed in the list
|
||||||
|
* {@link ReferenceType }
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public List<Reference> getNetwork() {
|
||||||
|
if (networks == null) {
|
||||||
|
networks = new ArrayList<Reference>();
|
||||||
|
}
|
||||||
|
return this.networks;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
Networks that = Networks.class.cast(o);
|
||||||
|
return equal(networks, that.networks);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(networks);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return string().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ToStringHelper string() {
|
||||||
|
return Objects.toStringHelper("")
|
||||||
|
.add("networks", networks);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -23,6 +23,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
|
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
|
||||||
|
@ -48,8 +49,53 @@ public class Org extends EntityType<Org> {
|
||||||
|
|
||||||
public static final String MEDIA_TYPE = VCloudDirectorMediaType.ORG;
|
public static final String MEDIA_TYPE = VCloudDirectorMediaType.ORG;
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
public static NewBuilder<?> builder() {
|
||||||
public static Builder builder() {
|
return new ConcreteBuilder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public NewBuilder<?> toNewBuilder() {
|
||||||
|
return new ConcreteBuilder().fromOrg(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static abstract class NewBuilder<T extends NewBuilder<T>> extends EntityType.NewBuilder<T> {
|
||||||
|
|
||||||
|
private String fullName;
|
||||||
|
private Boolean isEnabled;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Org#getFullName()
|
||||||
|
*/
|
||||||
|
public T fullName(String fullName) {
|
||||||
|
this.fullName = fullName;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Org#isEnabled()
|
||||||
|
*/
|
||||||
|
public T isEnabled(Boolean isEnabled) {
|
||||||
|
this.isEnabled = isEnabled;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Org build() {
|
||||||
|
return new Org(href, type, links, description, tasksInProgress, id, name, fullName, isEnabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
public T fromOrg(Org in) {
|
||||||
|
return fromEntityType(in).fullName(in.getFullName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class ConcreteBuilder extends NewBuilder<ConcreteBuilder> {
|
||||||
|
@Override
|
||||||
|
protected ConcreteBuilder self() {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Builder oldBuilder() {
|
||||||
return new Builder();
|
return new Builder();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,7 +228,7 @@ public class Org extends EntityType<Org> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Org() {
|
protected Org() {
|
||||||
// for JAXB
|
// for JAXB
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,385 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Defines the email settings for an organization.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Java class for OrgEmailSettings complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="OrgEmailSettings">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}ResourceType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="IsDefaultSmtpServer" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
|
||||||
|
* <element name="IsDefaultOrgEmail" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
|
||||||
|
* <element name="FromEmailAddress" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="DefaultSubjectPrefix" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="IsAlertEmailToAllAdmins" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
|
||||||
|
* <element name="AlertEmailTo" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
|
||||||
|
* <element name="SmtpServerSettings" type="{http://www.vmware.com/vcloud/v1.5}SmtpServerSettingsType" minOccurs="0"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlRootElement(name = "OrgEmailSettings")
|
||||||
|
@XmlType(propOrder = {
|
||||||
|
"isDefaultSmtpServer",
|
||||||
|
"isDefaultOrgEmail",
|
||||||
|
"fromEmailAddress",
|
||||||
|
"defaultSubjectPrefix",
|
||||||
|
"isAlertEmailToAllAdmins",
|
||||||
|
"alertEmailTo",
|
||||||
|
"smtpServerSettings"
|
||||||
|
})
|
||||||
|
public class OrgEmailSettings extends ResourceType<OrgEmailSettings> {
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return new Builder().fromOrgEmailSettings(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder extends ResourceType.Builder<OrgEmailSettings> {
|
||||||
|
|
||||||
|
private boolean isDefaultSmtpServer;
|
||||||
|
private boolean isDefaultOrgEmail;
|
||||||
|
private String fromEmailAddress;
|
||||||
|
private String defaultSubjectPrefix;
|
||||||
|
private boolean isAlertEmailToAllAdmins;
|
||||||
|
private List<String> alertEmailTo;
|
||||||
|
private SmtpServerSettings smtpServerSettings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgEmailSettings#getIsDefaultSmtpServer()
|
||||||
|
*/
|
||||||
|
public Builder isDefaultSmtpServer(boolean isDefaultSmtpServer) {
|
||||||
|
this.isDefaultSmtpServer = isDefaultSmtpServer;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgEmailSettings#getIsDefaultOrgEmail()
|
||||||
|
*/
|
||||||
|
public Builder isDefaultOrgEmail(boolean isDefaultOrgEmail) {
|
||||||
|
this.isDefaultOrgEmail = isDefaultOrgEmail;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgEmailSettings#getFromEmailAddress()
|
||||||
|
*/
|
||||||
|
public Builder fromEmailAddress(String fromEmailAddress) {
|
||||||
|
this.fromEmailAddress = fromEmailAddress;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgEmailSettings#getDefaultSubjectPrefix()
|
||||||
|
*/
|
||||||
|
public Builder defaultSubjectPrefix(String defaultSubjectPrefix) {
|
||||||
|
this.defaultSubjectPrefix = defaultSubjectPrefix;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgEmailSettings#getIsAlertEmailToAllAdmins()
|
||||||
|
*/
|
||||||
|
public Builder isAlertEmailToAllAdmins(boolean isAlertEmailToAllAdmins) {
|
||||||
|
this.isAlertEmailToAllAdmins = isAlertEmailToAllAdmins;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgEmailSettings#getAlertEmailTo()
|
||||||
|
*/
|
||||||
|
public Builder alertEmailsTo(List<String> alertEmailsTo) {
|
||||||
|
this.alertEmailTo = ImmutableList.copyOf(alertEmailsTo);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgEmailSettings#getAlertEmailTo()
|
||||||
|
*/
|
||||||
|
public Builder alertEmailTo(String alertEmailTo) {
|
||||||
|
this.alertEmailTo.add(checkNotNull(alertEmailTo, "alertEmailTo"));
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgEmailSettings#getSmtpServerSettings()
|
||||||
|
*/
|
||||||
|
public Builder smtpServerSettings(SmtpServerSettings smtpServerSettings) {
|
||||||
|
this.smtpServerSettings = smtpServerSettings;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrgEmailSettings build() {
|
||||||
|
return new OrgEmailSettings(isDefaultSmtpServer, isDefaultOrgEmail, fromEmailAddress, defaultSubjectPrefix,
|
||||||
|
isAlertEmailToAllAdmins, alertEmailTo, smtpServerSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getHref()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder href(URI href) {
|
||||||
|
super.href(href);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getType()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder type(String type) {
|
||||||
|
super.type(type);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder links(Set<Link> links) {
|
||||||
|
super.links(links);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder link(Link link) {
|
||||||
|
super.link(link);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Builder fromResourceType(ResourceType<OrgEmailSettings> in) {
|
||||||
|
return Builder.class.cast(super.fromResourceType(in));
|
||||||
|
}
|
||||||
|
public Builder fromOrgEmailSettings(OrgEmailSettings in) {
|
||||||
|
return fromResourceType(in)
|
||||||
|
.isDefaultSmtpServer(in.isDefaultSmtpServer())
|
||||||
|
.isDefaultOrgEmail(in.isDefaultOrgEmail())
|
||||||
|
.fromEmailAddress(in.getFromEmailAddress())
|
||||||
|
.defaultSubjectPrefix(in.getDefaultSubjectPrefix())
|
||||||
|
.isAlertEmailToAllAdmins(in.isAlertEmailToAllAdmins())
|
||||||
|
.alertEmailsTo(in.getAlertEmailsTo())
|
||||||
|
.smtpServerSettings(in.getSmtpServerSettings());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private OrgEmailSettings() {
|
||||||
|
// For JAXB
|
||||||
|
}
|
||||||
|
|
||||||
|
private OrgEmailSettings(boolean isDefaultSmtpServer, boolean isDefaultOrgEmail,
|
||||||
|
String fromEmailAddress, String defaultSubjectPrefix, boolean isAlertEmailToAllAdmins,
|
||||||
|
List<String> alertEmailTo, SmtpServerSettings smtpServerSettings) {
|
||||||
|
this.isDefaultSmtpServer = isDefaultSmtpServer;
|
||||||
|
this.isDefaultOrgEmail = isDefaultOrgEmail;
|
||||||
|
this.fromEmailAddress = fromEmailAddress;
|
||||||
|
this.defaultSubjectPrefix = defaultSubjectPrefix;
|
||||||
|
this.isAlertEmailToAllAdmins = isAlertEmailToAllAdmins;
|
||||||
|
this.alertEmailsTo = alertEmailTo;
|
||||||
|
this.smtpServerSettings = smtpServerSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "IsDefaultSmtpServer")
|
||||||
|
protected boolean isDefaultSmtpServer;
|
||||||
|
@XmlElement(name = "IsDefaultOrgEmail")
|
||||||
|
protected boolean isDefaultOrgEmail;
|
||||||
|
@XmlElement(name = "FromEmailAddress", required = true)
|
||||||
|
protected String fromEmailAddress;
|
||||||
|
@XmlElement(name = "DefaultSubjectPrefix", required = true)
|
||||||
|
protected String defaultSubjectPrefix;
|
||||||
|
@XmlElement(name = "IsAlertEmailToAllAdmins")
|
||||||
|
protected boolean isAlertEmailToAllAdmins;
|
||||||
|
@XmlElement(name = "AlertEmailTo")
|
||||||
|
protected List<String> alertEmailsTo;
|
||||||
|
@XmlElement(name = "SmtpServerSettings")
|
||||||
|
protected SmtpServerSettings smtpServerSettings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the isDefaultSmtpServer property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public boolean isDefaultSmtpServer() {
|
||||||
|
return isDefaultSmtpServer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the isDefaultOrgEmail property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public boolean isDefaultOrgEmail() {
|
||||||
|
return isDefaultOrgEmail;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the fromEmailAddress property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getFromEmailAddress() {
|
||||||
|
return fromEmailAddress;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the defaultSubjectPrefix property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getDefaultSubjectPrefix() {
|
||||||
|
return defaultSubjectPrefix;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the isAlertEmailToAllAdmins property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public boolean isAlertEmailToAllAdmins() {
|
||||||
|
return isAlertEmailToAllAdmins;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the alertEmailTo property.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* This accessor method returns a reference to the live list,
|
||||||
|
* not a snapshot. Therefore any modification you make to the
|
||||||
|
* returned list will be present inside the JAXB object.
|
||||||
|
* This is why there is not a <CODE>set</CODE> method for the alertEmailTo property.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* For example, to add a new item, do as follows:
|
||||||
|
* <pre>
|
||||||
|
* getAlertEmailTo().add(newItem);
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* Objects of the following type(s) are allowed in the list
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public List<String> getAlertEmailsTo() {
|
||||||
|
if (alertEmailsTo == null) {
|
||||||
|
alertEmailsTo = new ArrayList<String>();
|
||||||
|
}
|
||||||
|
return this.alertEmailsTo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the smtpServerSettings property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link SmtpServerSettings }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public SmtpServerSettings getSmtpServerSettings() {
|
||||||
|
return smtpServerSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
OrgEmailSettings that = OrgEmailSettings.class.cast(o);
|
||||||
|
return super.equals(that) &&
|
||||||
|
equal(isDefaultSmtpServer, that.isDefaultSmtpServer) &&
|
||||||
|
equal(isDefaultOrgEmail, that.isDefaultOrgEmail) &&
|
||||||
|
equal(fromEmailAddress, that.fromEmailAddress) &&
|
||||||
|
equal(defaultSubjectPrefix, that.defaultSubjectPrefix) &&
|
||||||
|
equal(isAlertEmailToAllAdmins, that.isAlertEmailToAllAdmins) &&
|
||||||
|
equal(alertEmailsTo, that.alertEmailsTo) &&
|
||||||
|
equal(smtpServerSettings, that.smtpServerSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(super.hashCode(),
|
||||||
|
isDefaultSmtpServer,
|
||||||
|
isDefaultOrgEmail,
|
||||||
|
fromEmailAddress,
|
||||||
|
defaultSubjectPrefix,
|
||||||
|
isAlertEmailToAllAdmins,
|
||||||
|
alertEmailsTo,
|
||||||
|
smtpServerSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ToStringHelper string() {
|
||||||
|
return super.string()
|
||||||
|
.add("isDefaultSmtpServer", isDefaultSmtpServer)
|
||||||
|
.add("isDefaultOrgEmail", isDefaultOrgEmail)
|
||||||
|
.add("fromEmailAddress", fromEmailAddress)
|
||||||
|
.add("defaultSubjectPrefix", defaultSubjectPrefix)
|
||||||
|
.add("isAlertEmailToAllAdmins", isAlertEmailToAllAdmins)
|
||||||
|
.add("alertEmailsTo", alertEmailsTo)
|
||||||
|
.add("smtpServerSettings", smtpServerSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,311 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Defines general org settings.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Java class for OrgGeneralSettings complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="OrgGeneralSettings">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}ResourceType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="CanPublishCatalogs" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
|
||||||
|
* <element name="DeployedVMQuota" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
|
||||||
|
* <element name="StoredVmQuota" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
|
||||||
|
* <element name="UseServerBootSequence" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
|
||||||
|
* <element name="DelayAfterPowerOnSeconds" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlRootElement(name = "OrgGeneralSettings")
|
||||||
|
@XmlType(propOrder = {
|
||||||
|
"canPublishCatalogs",
|
||||||
|
"deployedVMQuota",
|
||||||
|
"storedVmQuota",
|
||||||
|
"useServerBootSequence",
|
||||||
|
"delayAfterPowerOnSeconds"
|
||||||
|
})
|
||||||
|
public class OrgGeneralSettings extends ResourceType<OrgGeneralSettings> {
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return new Builder().fromOrgGeneralSettings(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder extends ResourceType.Builder<OrgGeneralSettings> {
|
||||||
|
|
||||||
|
private Boolean canPublishCatalogs;
|
||||||
|
private Integer deployedVMQuota;
|
||||||
|
private Integer storedVmQuota;
|
||||||
|
private Boolean useServerBootSequence;
|
||||||
|
private Integer delayAfterPowerOnSeconds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgGeneralSettings#getCanPublishCatalogs()
|
||||||
|
*/
|
||||||
|
public Builder canPublishCatalogs(Boolean canPublishCatalogs) {
|
||||||
|
this.canPublishCatalogs = canPublishCatalogs;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgGeneralSettings#getDeployedVMQuota()
|
||||||
|
*/
|
||||||
|
public Builder deployedVMQuota(Integer deployedVMQuota) {
|
||||||
|
this.deployedVMQuota = deployedVMQuota;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgGeneralSettings#getStoredVmQuota()
|
||||||
|
*/
|
||||||
|
public Builder storedVmQuota(Integer storedVmQuota) {
|
||||||
|
this.storedVmQuota = storedVmQuota;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgGeneralSettings#getUseServerBootSequence()
|
||||||
|
*/
|
||||||
|
public Builder useServerBootSequence(Boolean useServerBootSequence) {
|
||||||
|
this.useServerBootSequence = useServerBootSequence;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgGeneralSettings#getDelayAfterPowerOnSeconds()
|
||||||
|
*/
|
||||||
|
public Builder delayAfterPowerOnSeconds(Integer delayAfterPowerOnSeconds) {
|
||||||
|
this.delayAfterPowerOnSeconds = delayAfterPowerOnSeconds;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public OrgGeneralSettings build() {
|
||||||
|
return new OrgGeneralSettings(href, type, links,
|
||||||
|
canPublishCatalogs, deployedVMQuota,
|
||||||
|
storedVmQuota, useServerBootSequence, delayAfterPowerOnSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getHref()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder href(URI href) {
|
||||||
|
super.href(href);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getType()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder type(String type) {
|
||||||
|
super.type(type);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder links(Set<Link> links) {
|
||||||
|
super.links(links);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder link(Link link) {
|
||||||
|
super.link(link);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Builder fromResourceType(ResourceType<OrgGeneralSettings> in) {
|
||||||
|
return Builder.class.cast(super.fromResourceType(in));
|
||||||
|
}
|
||||||
|
public Builder fromOrgGeneralSettings(OrgGeneralSettings in) {
|
||||||
|
return fromResourceType(in)
|
||||||
|
.canPublishCatalogs(in.canPublishCatalogs())
|
||||||
|
.deployedVMQuota(in.getDeployedVMQuota())
|
||||||
|
.storedVmQuota(in.getStoredVmQuota())
|
||||||
|
.useServerBootSequence(in.useServerBootSequence())
|
||||||
|
.delayAfterPowerOnSeconds(in.getDelayAfterPowerOnSeconds());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
private OrgGeneralSettings() {
|
||||||
|
// For JAXB
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrgGeneralSettings(URI href, String type, Set<Link> links,
|
||||||
|
Boolean canPublishCatalogs, Integer deployedVMQuota,
|
||||||
|
Integer storedVmQuota, Boolean useServerBootSequence, Integer delayAfterPowerOnSeconds) {
|
||||||
|
super(href, type, links);
|
||||||
|
this.canPublishCatalogs = canPublishCatalogs;
|
||||||
|
this.deployedVMQuota = deployedVMQuota;
|
||||||
|
this.storedVmQuota = storedVmQuota;
|
||||||
|
this.useServerBootSequence = useServerBootSequence;
|
||||||
|
this.delayAfterPowerOnSeconds = delayAfterPowerOnSeconds;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "CanPublishCatalogs")
|
||||||
|
protected Boolean canPublishCatalogs;
|
||||||
|
@XmlElement(name = "DeployedVMQuota")
|
||||||
|
protected Integer deployedVMQuota;
|
||||||
|
@XmlElement(name = "StoredVmQuota")
|
||||||
|
protected Integer storedVmQuota;
|
||||||
|
@XmlElement(name = "UseServerBootSequence")
|
||||||
|
protected Boolean useServerBootSequence;
|
||||||
|
@XmlElement(name = "DelayAfterPowerOnSeconds")
|
||||||
|
protected Integer delayAfterPowerOnSeconds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the canPublishCatalogs property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Boolean }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Boolean canPublishCatalogs() {
|
||||||
|
return canPublishCatalogs;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the deployedVMQuota property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Integer }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Integer getDeployedVMQuota() {
|
||||||
|
return deployedVMQuota;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the storedVmQuota property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Integer }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Integer getStoredVmQuota() {
|
||||||
|
return storedVmQuota;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the useServerBootSequence property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Boolean }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Boolean useServerBootSequence() {
|
||||||
|
return useServerBootSequence;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the delayAfterPowerOnSeconds property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Integer }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Integer getDelayAfterPowerOnSeconds() {
|
||||||
|
return delayAfterPowerOnSeconds;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
OrgGeneralSettings that = OrgGeneralSettings.class.cast(o);
|
||||||
|
return super.equals(that) &&
|
||||||
|
equal(canPublishCatalogs, that.canPublishCatalogs) &&
|
||||||
|
equal(deployedVMQuota, that.deployedVMQuota) &&
|
||||||
|
equal(storedVmQuota, that.storedVmQuota) &&
|
||||||
|
equal(useServerBootSequence, that.useServerBootSequence) &&
|
||||||
|
equal(delayAfterPowerOnSeconds, that.delayAfterPowerOnSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(super.hashCode(),
|
||||||
|
canPublishCatalogs,
|
||||||
|
deployedVMQuota,
|
||||||
|
storedVmQuota,
|
||||||
|
useServerBootSequence,
|
||||||
|
delayAfterPowerOnSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ToStringHelper string() {
|
||||||
|
return super.string()
|
||||||
|
.add("canPublishCatalogs", canPublishCatalogs)
|
||||||
|
.add("deployedVMQuota", deployedVMQuota)
|
||||||
|
.add("storedVmQuota", storedVmQuota)
|
||||||
|
.add("useServerBootSequence", useServerBootSequence)
|
||||||
|
.add("delayAfterPowerOnSeconds", delayAfterPowerOnSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,294 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Defines how a group is imported from LDAP.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Java class for OrgLdapGroupAttributes complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="OrgLdapGroupAttributes">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}VCloudExtensibleType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="ObjectClass" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="ObjectIdentifier" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="GroupName" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="Membership" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="MembershipIdentifier" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="BackLinkIdentifier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlType(name = "OrgLdapGroupAttributes", propOrder = {
|
||||||
|
"objectClass",
|
||||||
|
"objectIdentifier",
|
||||||
|
"groupName",
|
||||||
|
"membership",
|
||||||
|
"membershipIdentifier",
|
||||||
|
"backLinkIdentifier"
|
||||||
|
})
|
||||||
|
public class OrgLdapGroupAttributes {
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return new Builder().fromOrgLdapGroupAttributes(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder {
|
||||||
|
|
||||||
|
private String objectClass;
|
||||||
|
private String objectIdentifier;
|
||||||
|
private String groupName;
|
||||||
|
private String membership;
|
||||||
|
private String membershipIdentifier;
|
||||||
|
private String backLinkIdentifier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapGroupAttributes#getObjectClass()
|
||||||
|
*/
|
||||||
|
public Builder objectClass(String objectClass) {
|
||||||
|
this.objectClass = objectClass;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapGroupAttributes#getObjectIdentifier()
|
||||||
|
*/
|
||||||
|
public Builder objectIdentifier(String objectIdentifier) {
|
||||||
|
this.objectIdentifier = objectIdentifier;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapGroupAttributes#getGroupName()
|
||||||
|
*/
|
||||||
|
public Builder groupName(String groupName) {
|
||||||
|
this.groupName = groupName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapGroupAttributes#getMembership()
|
||||||
|
*/
|
||||||
|
public Builder membership(String membership) {
|
||||||
|
this.membership = membership;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapGroupAttributes#getMembershipIdentifier()
|
||||||
|
*/
|
||||||
|
public Builder membershipIdentifier(String membershipIdentifier) {
|
||||||
|
this.membershipIdentifier = membershipIdentifier;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapGroupAttributes#getBackLinkIdentifier()
|
||||||
|
*/
|
||||||
|
public Builder backLinkIdentifier(String backLinkIdentifier) {
|
||||||
|
this.backLinkIdentifier = backLinkIdentifier;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public OrgLdapGroupAttributes build() {
|
||||||
|
return new OrgLdapGroupAttributes(objectClass, objectIdentifier, groupName,
|
||||||
|
membership, membershipIdentifier, backLinkIdentifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder fromOrgLdapGroupAttributes(OrgLdapGroupAttributes in) {
|
||||||
|
return objectClass(in.getObjectClass())
|
||||||
|
.objectIdentifier(in.getObjectIdentifier())
|
||||||
|
.groupName(in.getGroupName())
|
||||||
|
.membership(in.getMembership())
|
||||||
|
.membershipIdentifier(in.getMembershipIdentifier())
|
||||||
|
.backLinkIdentifier(in.getBackLinkIdentifier());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
private OrgLdapGroupAttributes() {
|
||||||
|
// For JAXB
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrgLdapGroupAttributes(String objectClass, String objectIdentifier,
|
||||||
|
String groupName, String membership, String membershipIdentifier,
|
||||||
|
String backLinkIdentifier) {
|
||||||
|
this.objectClass = objectClass;
|
||||||
|
this.objectIdentifier = objectIdentifier;
|
||||||
|
this.groupName = groupName;
|
||||||
|
this.membership = membership;
|
||||||
|
this.membershipIdentifier = membershipIdentifier;
|
||||||
|
this.backLinkIdentifier = backLinkIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "ObjectClass", required = true)
|
||||||
|
protected String objectClass;
|
||||||
|
@XmlElement(name = "ObjectIdentifier", required = true)
|
||||||
|
protected String objectIdentifier;
|
||||||
|
@XmlElement(name = "GroupName", required = true)
|
||||||
|
protected String groupName;
|
||||||
|
@XmlElement(name = "Membership", required = true)
|
||||||
|
protected String membership;
|
||||||
|
@XmlElement(name = "MembershipIdentifier", required = true)
|
||||||
|
protected String membershipIdentifier;
|
||||||
|
@XmlElement(name = "BackLinkIdentifier")
|
||||||
|
protected String backLinkIdentifier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the objectClass property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getObjectClass() {
|
||||||
|
return objectClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the objectIdentifier property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getObjectIdentifier() {
|
||||||
|
return objectIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the groupName property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getGroupName() {
|
||||||
|
return groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the membership property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getMembership() {
|
||||||
|
return membership;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the membershipIdentifier property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getMembershipIdentifier() {
|
||||||
|
return membershipIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the backLinkIdentifier property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getBackLinkIdentifier() {
|
||||||
|
return backLinkIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
OrgLdapGroupAttributes that = OrgLdapGroupAttributes.class.cast(o);
|
||||||
|
return equal(objectClass, that.objectClass) &&
|
||||||
|
equal(objectIdentifier, that.objectIdentifier) &&
|
||||||
|
equal(groupName, that.groupName) &&
|
||||||
|
equal(membership, that.membership) &&
|
||||||
|
equal(membershipIdentifier, that.membershipIdentifier) &&
|
||||||
|
equal(backLinkIdentifier, that.backLinkIdentifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(objectClass,
|
||||||
|
objectIdentifier,
|
||||||
|
groupName,
|
||||||
|
membership,
|
||||||
|
membershipIdentifier,
|
||||||
|
backLinkIdentifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return string().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ToStringHelper string() {
|
||||||
|
return Objects.toStringHelper("")
|
||||||
|
.add("objectClass", objectClass)
|
||||||
|
.add("objectIdentifier", objectIdentifier)
|
||||||
|
.add("groupName", groupName)
|
||||||
|
.add("membership", membership)
|
||||||
|
.add("membershipIdentifier", membershipIdentifier)
|
||||||
|
.add("backLinkIdentifier", backLinkIdentifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,250 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Base settings for LDAP connection
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Java class for OrgLdapSettings complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="OrgLdapSettings">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}ResourceType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="OrgLdapMode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
|
||||||
|
* <element name="CustomUsersOu" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
|
||||||
|
* <element name="CustomOrgLdapSettings" type="{http://www.vmware.com/vcloud/v1.5}CustomOrgLdapSettings" minOccurs="0"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlType(name = "OrgLdapSettings", propOrder = {
|
||||||
|
"orgLdapMode",
|
||||||
|
"customUsersOu",
|
||||||
|
"customOrgLdapSettings"
|
||||||
|
})
|
||||||
|
public class OrgLdapSettings extends ResourceType<OrgLdapSettings> {
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return new Builder().fromOrgLdapSettings(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder extends ResourceType.Builder<OrgLdapSettings> {
|
||||||
|
|
||||||
|
private String orgLdapMode;
|
||||||
|
private String customUsersOu;
|
||||||
|
private CustomOrgLdapSettings customOrgLdapSettings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapSettings#getOrgLdapMode()
|
||||||
|
*/
|
||||||
|
public Builder orgLdapMode(String orgLdapMode) {
|
||||||
|
this.orgLdapMode = orgLdapMode;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapSettings#getCustomUsersOu()
|
||||||
|
*/
|
||||||
|
public Builder customUsersOu(String customUsersOu) {
|
||||||
|
this.customUsersOu = customUsersOu;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapSettings#getCustomOrgLdapSettings()
|
||||||
|
*/
|
||||||
|
public Builder customOrgLdapSettings(CustomOrgLdapSettings customOrgLdapSettings) {
|
||||||
|
this.customOrgLdapSettings = customOrgLdapSettings;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrgLdapSettings build() {
|
||||||
|
OrgLdapSettings orgLdapSettings = new OrgLdapSettings(href, type, links,
|
||||||
|
orgLdapMode, customUsersOu, customOrgLdapSettings);
|
||||||
|
return orgLdapSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getHref()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder href(URI href) {
|
||||||
|
super.href(href);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getType()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder type(String type) {
|
||||||
|
super.type(type);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder links(Set<Link> links) {
|
||||||
|
super.links(links);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder link(Link link) {
|
||||||
|
super.link(link);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Builder fromResourceType(ResourceType<OrgLdapSettings> in) {
|
||||||
|
return Builder.class.cast(super.fromResourceType(in));
|
||||||
|
}
|
||||||
|
public Builder fromOrgLdapSettings(OrgLdapSettings in) {
|
||||||
|
return fromResourceType(in)
|
||||||
|
.orgLdapMode(in.getOrgLdapMode())
|
||||||
|
.customUsersOu(in.getCustomUsersOu())
|
||||||
|
.customOrgLdapSettings(in.getCustomOrgLdapSettings());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
private OrgLdapSettings() {
|
||||||
|
// For JAXB
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrgLdapSettings(URI href, String type, Set<Link> links,
|
||||||
|
String orgLdapMode, String customUsersOu, CustomOrgLdapSettings customOrgLdapSettings) {
|
||||||
|
super(href, type, links);
|
||||||
|
this.orgLdapMode = orgLdapMode;
|
||||||
|
this.customUsersOu = customUsersOu;
|
||||||
|
this.customOrgLdapSettings = customOrgLdapSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@XmlElement(name = "OrgLdapMode")
|
||||||
|
protected String orgLdapMode;
|
||||||
|
@XmlElement(name = "CustomUsersOu")
|
||||||
|
protected String customUsersOu;
|
||||||
|
@XmlElement(name = "CustomOrgLdapSettings")
|
||||||
|
protected CustomOrgLdapSettings customOrgLdapSettings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the orgLdapMode property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getOrgLdapMode() {
|
||||||
|
return orgLdapMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the customUsersOu property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getCustomUsersOu() {
|
||||||
|
return customUsersOu;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the customOrgLdapSettings property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link CustomOrgLdapSettings }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public CustomOrgLdapSettings getCustomOrgLdapSettings() {
|
||||||
|
return customOrgLdapSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
OrgLdapSettings that = OrgLdapSettings.class.cast(o);
|
||||||
|
return super.equals(that) &&
|
||||||
|
equal(orgLdapMode, that.orgLdapMode) &&
|
||||||
|
equal(customUsersOu, that.customUsersOu) &&
|
||||||
|
equal(customOrgLdapSettings, that.customOrgLdapSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(super.hashCode(),
|
||||||
|
orgLdapMode,
|
||||||
|
customUsersOu,
|
||||||
|
customOrgLdapSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ToStringHelper string() {
|
||||||
|
return super.string()
|
||||||
|
.add("orgLdapMode", orgLdapMode)
|
||||||
|
.add("customUsersOu", customUsersOu)
|
||||||
|
.add("customOrgLdapSettings", customOrgLdapSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,415 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Defines how LDAP attributes are used when importing a user.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Java class for OrgLdapUserAttributes complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="OrgLdapUserAttributes">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}VCloudExtensibleType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="ObjectClass" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="ObjectIdentifier" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="UserName" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="Email" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="FullName" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="GivenName" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="Surname" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="Telephone" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="GroupMembershipIdentifier" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="GroupBackLinkIdentifier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlType(name = "OrgLdapUserAttributes", propOrder = {
|
||||||
|
"objectClass",
|
||||||
|
"objectIdentifier",
|
||||||
|
"userName",
|
||||||
|
"email",
|
||||||
|
"fullName",
|
||||||
|
"givenName",
|
||||||
|
"surname",
|
||||||
|
"telephone",
|
||||||
|
"groupMembershipIdentifier",
|
||||||
|
"groupBackLinkIdentifier"
|
||||||
|
})
|
||||||
|
public class OrgLdapUserAttributes {
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return new Builder().fromOrgLdapUserAttributes(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder {
|
||||||
|
|
||||||
|
private String objectClass;
|
||||||
|
private String objectIdentifier;
|
||||||
|
private String userName;
|
||||||
|
private String email;
|
||||||
|
private String fullName;
|
||||||
|
private String givenName;
|
||||||
|
private String surname;
|
||||||
|
private String telephone;
|
||||||
|
private String groupMembershipIdentifier;
|
||||||
|
private String groupBackLinkIdentifier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapUserAttributes#getObjectClass()
|
||||||
|
*/
|
||||||
|
public Builder objectClass(String objectClass) {
|
||||||
|
this.objectClass = objectClass;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapUserAttributes#getObjectIdentifier()
|
||||||
|
*/
|
||||||
|
public Builder objectIdentifier(String objectIdentifier) {
|
||||||
|
this.objectIdentifier = objectIdentifier;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapUserAttributes#getUserName()
|
||||||
|
*/
|
||||||
|
public Builder userName(String userName) {
|
||||||
|
this.userName = userName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapUserAttributes#getEmail()
|
||||||
|
*/
|
||||||
|
public Builder email(String email) {
|
||||||
|
this.email = email;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapUserAttributes#getFullName()
|
||||||
|
*/
|
||||||
|
public Builder fullName(String fullName) {
|
||||||
|
this.fullName = fullName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapUserAttributes#getGivenName()
|
||||||
|
*/
|
||||||
|
public Builder givenName(String givenName) {
|
||||||
|
this.givenName = givenName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapUserAttributes#getSurname()
|
||||||
|
*/
|
||||||
|
public Builder surname(String surname) {
|
||||||
|
this.surname = surname;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapUserAttributes#getTelephone()
|
||||||
|
*/
|
||||||
|
public Builder telephone(String telephone) {
|
||||||
|
this.telephone = telephone;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapUserAttributes#getGroupMembershipIdentifier()
|
||||||
|
*/
|
||||||
|
public Builder groupMembershipIdentifier(String groupMembershipIdentifier) {
|
||||||
|
this.groupMembershipIdentifier = groupMembershipIdentifier;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLdapUserAttributes#getGroupBackLinkIdentifier()
|
||||||
|
*/
|
||||||
|
public Builder groupBackLinkIdentifier(String groupBackLinkIdentifier) {
|
||||||
|
this.groupBackLinkIdentifier = groupBackLinkIdentifier;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public OrgLdapUserAttributes build() {
|
||||||
|
return new OrgLdapUserAttributes(objectClass, objectIdentifier, userName, email,
|
||||||
|
fullName, givenName, surname, telephone, groupMembershipIdentifier, groupBackLinkIdentifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder fromOrgLdapUserAttributes(OrgLdapUserAttributes in) {
|
||||||
|
return objectClass(in.getObjectClass())
|
||||||
|
.objectIdentifier(in.getObjectIdentifier())
|
||||||
|
.userName(in.getUserName())
|
||||||
|
.email(in.getEmail())
|
||||||
|
.fullName(in.getFullName())
|
||||||
|
.givenName(in.getGivenName())
|
||||||
|
.surname(in.getSurname())
|
||||||
|
.telephone(in.getTelephone())
|
||||||
|
.groupMembershipIdentifier(in.getGroupMembershipIdentifier())
|
||||||
|
.groupBackLinkIdentifier(in.getGroupBackLinkIdentifier());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
private OrgLdapUserAttributes() {
|
||||||
|
// For JAXB
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrgLdapUserAttributes(String objectClass, String objectIdentifier,
|
||||||
|
String userName, String email, String fullName, String givenName,
|
||||||
|
String surname, String telephone, String groupMembershipIdentifier,
|
||||||
|
String groupBackLinkIdentifier) {
|
||||||
|
this.objectClass = objectClass;
|
||||||
|
this.objectIdentifier = objectIdentifier;
|
||||||
|
this.userName = userName;
|
||||||
|
this.email = email;
|
||||||
|
this.fullName = fullName;
|
||||||
|
this.givenName = givenName;
|
||||||
|
this.surname = surname;
|
||||||
|
this.telephone = telephone;
|
||||||
|
this.groupMembershipIdentifier = groupMembershipIdentifier;
|
||||||
|
this.groupBackLinkIdentifier = groupBackLinkIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "ObjectClass", required = true)
|
||||||
|
protected String objectClass;
|
||||||
|
@XmlElement(name = "ObjectIdentifier", required = true)
|
||||||
|
protected String objectIdentifier;
|
||||||
|
@XmlElement(name = "UserName", required = true)
|
||||||
|
protected String userName;
|
||||||
|
@XmlElement(name = "Email", required = true)
|
||||||
|
protected String email;
|
||||||
|
@XmlElement(name = "FullName", required = true)
|
||||||
|
protected String fullName;
|
||||||
|
@XmlElement(name = "GivenName", required = true)
|
||||||
|
protected String givenName;
|
||||||
|
@XmlElement(name = "Surname", required = true)
|
||||||
|
protected String surname;
|
||||||
|
@XmlElement(name = "Telephone", required = true)
|
||||||
|
protected String telephone;
|
||||||
|
@XmlElement(name = "GroupMembershipIdentifier", required = true)
|
||||||
|
protected String groupMembershipIdentifier;
|
||||||
|
@XmlElement(name = "GroupBackLinkIdentifier")
|
||||||
|
protected String groupBackLinkIdentifier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the objectClass property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getObjectClass() {
|
||||||
|
return objectClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the objectIdentifier property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getObjectIdentifier() {
|
||||||
|
return objectIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the userName property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getUserName() {
|
||||||
|
return userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the email property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getEmail() {
|
||||||
|
return email;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the fullName property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getFullName() {
|
||||||
|
return fullName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the givenName property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getGivenName() {
|
||||||
|
return givenName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the surname property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getSurname() {
|
||||||
|
return surname;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the telephone property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getTelephone() {
|
||||||
|
return telephone;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the groupMembershipIdentifier property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getGroupMembershipIdentifier() {
|
||||||
|
return groupMembershipIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the groupBackLinkIdentifier property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getGroupBackLinkIdentifier() {
|
||||||
|
return groupBackLinkIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
OrgLdapUserAttributes that = OrgLdapUserAttributes.class.cast(o);
|
||||||
|
return equal(objectClass, that.objectClass) &&
|
||||||
|
equal(objectIdentifier, that.objectIdentifier) &&
|
||||||
|
equal(userName, that.userName) &&
|
||||||
|
equal(email, that.email) &&
|
||||||
|
equal(fullName, that.fullName) &&
|
||||||
|
equal(givenName, that.givenName) &&
|
||||||
|
equal(surname, that.surname) &&
|
||||||
|
equal(telephone, that.telephone) &&
|
||||||
|
equal(groupMembershipIdentifier, that.groupMembershipIdentifier) &&
|
||||||
|
equal(groupBackLinkIdentifier, that.groupBackLinkIdentifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(objectClass,
|
||||||
|
objectIdentifier,
|
||||||
|
userName,
|
||||||
|
email,
|
||||||
|
fullName,
|
||||||
|
givenName,
|
||||||
|
surname,
|
||||||
|
telephone,
|
||||||
|
groupMembershipIdentifier,
|
||||||
|
groupBackLinkIdentifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return string().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ToStringHelper string() {
|
||||||
|
return Objects.toStringHelper("")
|
||||||
|
.add("objectClass", objectClass)
|
||||||
|
.add("objectIdentifier", objectIdentifier)
|
||||||
|
.add("userName", userName)
|
||||||
|
.add("email", email)
|
||||||
|
.add("fullName", fullName)
|
||||||
|
.add("givenName", givenName)
|
||||||
|
.add("surname", surname)
|
||||||
|
.add("telephone", telephone)
|
||||||
|
.add("groupMembershipIdentifier", groupMembershipIdentifier)
|
||||||
|
.add("groupBackLinkIdentifier", groupBackLinkIdentifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,249 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Defines default lease durations and policies for an organization.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Java class for OrgLeaseSettings complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="OrgLeaseSettings">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}ResourceType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="DeleteOnStorageLeaseExpiration" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
|
||||||
|
* <element name="DeploymentLeaseSeconds" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
|
||||||
|
* <element name="StorageLeaseSeconds" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlType(name = "OrgLeaseSettings", propOrder = {
|
||||||
|
"deleteOnStorageLeaseExpiration",
|
||||||
|
"deploymentLeaseSeconds",
|
||||||
|
"storageLeaseSeconds"
|
||||||
|
})
|
||||||
|
public class OrgLeaseSettings extends ResourceType<OrgLeaseSettings> {
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return new Builder().fromOrgLeaseSettings(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder extends ResourceType.Builder<OrgLeaseSettings> {
|
||||||
|
|
||||||
|
private Boolean deleteOnStorageLeaseExpiration;
|
||||||
|
private Integer deploymentLeaseSeconds;
|
||||||
|
private Integer storageLeaseSeconds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLeaseSettings#getDeleteOnStorageLeaseExpiration()
|
||||||
|
*/
|
||||||
|
public Builder deleteOnStorageLeaseExpiration(Boolean deleteOnStorageLeaseExpiration) {
|
||||||
|
this.deleteOnStorageLeaseExpiration = deleteOnStorageLeaseExpiration;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLeaseSettings#getDeploymentLeaseSeconds()
|
||||||
|
*/
|
||||||
|
public Builder deploymentLeaseSeconds(Integer deploymentLeaseSeconds) {
|
||||||
|
this.deploymentLeaseSeconds = deploymentLeaseSeconds;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgLeaseSettings#getStorageLeaseSeconds()
|
||||||
|
*/
|
||||||
|
public Builder storageLeaseSeconds(Integer storageLeaseSeconds) {
|
||||||
|
this.storageLeaseSeconds = storageLeaseSeconds;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public OrgLeaseSettings build() {
|
||||||
|
return new OrgLeaseSettings(href, type, links, deleteOnStorageLeaseExpiration,
|
||||||
|
deploymentLeaseSeconds, storageLeaseSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getHref()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder href(URI href) {
|
||||||
|
super.href(href);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getType()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder type(String type) {
|
||||||
|
super.type(type);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder links(Set<Link> links) {
|
||||||
|
super.links(links);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder link(Link link) {
|
||||||
|
super.link(link);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Builder fromResourceType(ResourceType<OrgLeaseSettings> in) {
|
||||||
|
return Builder.class.cast(super.fromResourceType(in));
|
||||||
|
}
|
||||||
|
public Builder fromOrgLeaseSettings(OrgLeaseSettings in) {
|
||||||
|
return fromResourceType(in)
|
||||||
|
.deleteOnStorageLeaseExpiration(in.deleteOnStorageLeaseExpiration())
|
||||||
|
.deploymentLeaseSeconds(in.getDeploymentLeaseSeconds())
|
||||||
|
.storageLeaseSeconds(in.getStorageLeaseSeconds());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
private OrgLeaseSettings() {
|
||||||
|
// For JAXB
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrgLeaseSettings(URI href, String type, Set<Link> links,
|
||||||
|
Boolean deleteOnStorageLeaseExpiration,
|
||||||
|
Integer deploymentLeaseSeconds, Integer storageLeaseSeconds) {
|
||||||
|
super(href, type, links);
|
||||||
|
this.deleteOnStorageLeaseExpiration = deleteOnStorageLeaseExpiration;
|
||||||
|
this.deploymentLeaseSeconds = deploymentLeaseSeconds;
|
||||||
|
this.storageLeaseSeconds = storageLeaseSeconds;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "DeleteOnStorageLeaseExpiration")
|
||||||
|
protected Boolean deleteOnStorageLeaseExpiration;
|
||||||
|
@XmlElement(name = "DeploymentLeaseSeconds")
|
||||||
|
protected Integer deploymentLeaseSeconds;
|
||||||
|
@XmlElement(name = "StorageLeaseSeconds")
|
||||||
|
protected Integer storageLeaseSeconds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the deleteOnStorageLeaseExpiration property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Boolean }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Boolean deleteOnStorageLeaseExpiration() {
|
||||||
|
return deleteOnStorageLeaseExpiration;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the deploymentLeaseSeconds property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Integer }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Integer getDeploymentLeaseSeconds() {
|
||||||
|
return deploymentLeaseSeconds;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the storageLeaseSeconds property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Integer }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Integer getStorageLeaseSeconds() {
|
||||||
|
return storageLeaseSeconds;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
OrgLeaseSettings that = OrgLeaseSettings.class.cast(o);
|
||||||
|
return super.equals(that) &&
|
||||||
|
equal(deleteOnStorageLeaseExpiration, that.deleteOnStorageLeaseExpiration) &&
|
||||||
|
equal(deploymentLeaseSeconds, that.deploymentLeaseSeconds) &&
|
||||||
|
equal(storageLeaseSeconds, that.storageLeaseSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(super.hashCode(),
|
||||||
|
deleteOnStorageLeaseExpiration,
|
||||||
|
deploymentLeaseSeconds,
|
||||||
|
storageLeaseSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ToStringHelper string() {
|
||||||
|
return super.string()
|
||||||
|
.add("deleteOnStorageLeaseExpiration", deleteOnStorageLeaseExpiration)
|
||||||
|
.add("deploymentLeaseSeconds", deploymentLeaseSeconds)
|
||||||
|
.add("storageLeaseSeconds", storageLeaseSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,237 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1.5
|
||||||
|
*
|
||||||
|
* <p>Java class for OrgPasswordPolicySettings complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="OrgPasswordPolicySettings">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}ResourceType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="AccountLockoutEnabled" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
|
||||||
|
* <element name="InvalidLoginsBeforeLockout" type="{http://www.w3.org/2001/XMLSchema}int"/>
|
||||||
|
* <element name="AccountLockoutIntervalMinutes" type="{http://www.w3.org/2001/XMLSchema}int"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlRootElement(name = "OrgPasswordPolicySettings")
|
||||||
|
@XmlType(propOrder = {
|
||||||
|
"accountLockoutEnabled",
|
||||||
|
"invalidLoginsBeforeLockout",
|
||||||
|
"accountLockoutIntervalMinutes"
|
||||||
|
})
|
||||||
|
public class OrgPasswordPolicySettings extends ResourceType<OrgPasswordPolicySettings> {
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return new Builder().fromOrgPasswordPolicySettings(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder extends ResourceType.Builder<OrgPasswordPolicySettings> {
|
||||||
|
|
||||||
|
private boolean accountLockoutEnabled;
|
||||||
|
private int invalidLoginsBeforeLockout;
|
||||||
|
private int accountLockoutIntervalMinutes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgPasswordPolicySettings#getAccountLockoutEnabled()
|
||||||
|
*/
|
||||||
|
public Builder accountLockoutEnabled(boolean accountLockoutEnabled) {
|
||||||
|
this.accountLockoutEnabled = accountLockoutEnabled;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgPasswordPolicySettings#getInvalidLoginsBeforeLockout()
|
||||||
|
*/
|
||||||
|
public Builder invalidLoginsBeforeLockout(int invalidLoginsBeforeLockout) {
|
||||||
|
this.invalidLoginsBeforeLockout = invalidLoginsBeforeLockout;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgPasswordPolicySettings#getAccountLockoutIntervalMinutes()
|
||||||
|
*/
|
||||||
|
public Builder accountLockoutIntervalMinutes(int accountLockoutIntervalMinutes) {
|
||||||
|
this.accountLockoutIntervalMinutes = accountLockoutIntervalMinutes;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrgPasswordPolicySettings build() {
|
||||||
|
return new OrgPasswordPolicySettings(href, type, links, accountLockoutEnabled, invalidLoginsBeforeLockout,
|
||||||
|
accountLockoutIntervalMinutes);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getHref()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder href(URI href) {
|
||||||
|
super.href(href);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getType()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder type(String type) {
|
||||||
|
super.type(type);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder links(Set<Link> links) {
|
||||||
|
super.links(links);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder link(Link link) {
|
||||||
|
super.link(link);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Builder fromResourceType(ResourceType<OrgPasswordPolicySettings> in) {
|
||||||
|
return Builder.class.cast(super.fromResourceType(in));
|
||||||
|
}
|
||||||
|
public Builder fromOrgPasswordPolicySettings(OrgPasswordPolicySettings in) {
|
||||||
|
return fromResourceType(in)
|
||||||
|
.accountLockoutEnabled(in.isAccountLockoutEnabled())
|
||||||
|
.invalidLoginsBeforeLockout(in.getInvalidLoginsBeforeLockout())
|
||||||
|
.accountLockoutIntervalMinutes(in.getAccountLockoutIntervalMinutes());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
private OrgPasswordPolicySettings() {
|
||||||
|
// For JAXB
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrgPasswordPolicySettings(URI href, String type, Set<Link> links,
|
||||||
|
boolean accountLockoutEnabled, int invalidLoginsBeforeLockout,
|
||||||
|
int accountLockoutIntervalMinutes) {
|
||||||
|
super(href, type, links);
|
||||||
|
this.accountLockoutEnabled = accountLockoutEnabled;
|
||||||
|
this.invalidLoginsBeforeLockout = invalidLoginsBeforeLockout;
|
||||||
|
this.accountLockoutIntervalMinutes = accountLockoutIntervalMinutes;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "AccountLockoutEnabled")
|
||||||
|
protected boolean accountLockoutEnabled;
|
||||||
|
@XmlElement(name = "InvalidLoginsBeforeLockout")
|
||||||
|
protected int invalidLoginsBeforeLockout;
|
||||||
|
@XmlElement(name = "AccountLockoutIntervalMinutes")
|
||||||
|
protected int accountLockoutIntervalMinutes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the accountLockoutEnabled property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public boolean isAccountLockoutEnabled() {
|
||||||
|
return accountLockoutEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the invalidLoginsBeforeLockout property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public int getInvalidLoginsBeforeLockout() {
|
||||||
|
return invalidLoginsBeforeLockout;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the accountLockoutIntervalMinutes property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public int getAccountLockoutIntervalMinutes() {
|
||||||
|
return accountLockoutIntervalMinutes;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
OrgPasswordPolicySettings that = OrgPasswordPolicySettings.class.cast(o);
|
||||||
|
return super.equals(that) &&
|
||||||
|
equal(accountLockoutEnabled, that.accountLockoutEnabled) &&
|
||||||
|
equal(invalidLoginsBeforeLockout, that.invalidLoginsBeforeLockout) &&
|
||||||
|
equal(accountLockoutIntervalMinutes, that.accountLockoutIntervalMinutes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(super.hashCode(),
|
||||||
|
accountLockoutEnabled,
|
||||||
|
invalidLoginsBeforeLockout,
|
||||||
|
accountLockoutIntervalMinutes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ToStringHelper string() {
|
||||||
|
return super.string()
|
||||||
|
.add("accountLockoutEnabled", accountLockoutEnabled)
|
||||||
|
.add("invalidLoginsBeforeLockout", invalidLoginsBeforeLockout)
|
||||||
|
.add("accountLockoutIntervalMinutes", accountLockoutIntervalMinutes);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,345 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Describes various settings for some organization.
|
||||||
|
* This type establishes quotas and policies for the organization.
|
||||||
|
* It also contains elements that specify the details of
|
||||||
|
* how the organization connects to LDAP and email services.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Java class for OrgSettings complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="OrgSettings">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}ResourceType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="OrgGeneralSettings" type="{http://www.vmware.com/vcloud/v1.5}OrgGeneralSettingsType" minOccurs="0"/>
|
||||||
|
* <element name="VAppLeaseSettings" type="{http://www.vmware.com/vcloud/v1.5}OrgLeaseSettingsType" minOccurs="0"/>
|
||||||
|
* <element name="VAppTemplateLeaseSettings" type="{http://www.vmware.com/vcloud/v1.5}OrgVAppTemplateLeaseSettingsType" minOccurs="0"/>
|
||||||
|
* <element name="OrgLdapSettings" type="{http://www.vmware.com/vcloud/v1.5}OrgLdapSettingsType" minOccurs="0"/>
|
||||||
|
* <element name="OrgEmailSettings" type="{http://www.vmware.com/vcloud/v1.5}OrgEmailSettingsType" minOccurs="0"/>
|
||||||
|
* <element name="OrgPasswordPolicySettings" type="{http://www.vmware.com/vcloud/v1.5}OrgPasswordPolicySettingsType" minOccurs="0"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlRootElement(name = "OrgSettings")
|
||||||
|
@XmlType(propOrder = {
|
||||||
|
"orgGeneralSettings",
|
||||||
|
"vAppLeaseSettings",
|
||||||
|
"vAppTemplateLeaseSettings",
|
||||||
|
"orgLdapSettings",
|
||||||
|
"orgEmailSettings",
|
||||||
|
"orgPasswordPolicySettings"
|
||||||
|
})
|
||||||
|
public class OrgSettings extends ResourceType<OrgSettings> {
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return new Builder().fromOrgSettings(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder extends ResourceType.Builder<OrgSettings> {
|
||||||
|
|
||||||
|
private OrgGeneralSettings orgGeneralSettings;
|
||||||
|
private OrgLeaseSettings vAppLeaseSettings;
|
||||||
|
private OrgVAppTemplateLeaseSettings vAppTemplateLeaseSettings;
|
||||||
|
private OrgLdapSettings orgLdapSettings;
|
||||||
|
private OrgEmailSettings orgEmailSettings;
|
||||||
|
private OrgPasswordPolicySettings orgPasswordPolicySettings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgSettings#getOrgGeneralSettings()
|
||||||
|
*/
|
||||||
|
public Builder orgGeneralSettings(OrgGeneralSettings orgGeneralSettings) {
|
||||||
|
this.orgGeneralSettings = orgGeneralSettings;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgSettings#getVAppLeaseSettings()
|
||||||
|
*/
|
||||||
|
public Builder vAppLeaseSettings(OrgLeaseSettings vAppLeaseSettings) {
|
||||||
|
this.vAppLeaseSettings = vAppLeaseSettings;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgSettings#getVAppTemplateLeaseSettings()
|
||||||
|
*/
|
||||||
|
public Builder vAppTemplateLeaseSettings(OrgVAppTemplateLeaseSettings vAppTemplateLeaseSettings) {
|
||||||
|
this.vAppTemplateLeaseSettings = vAppTemplateLeaseSettings;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgSettings#getOrgLdapSettings()
|
||||||
|
*/
|
||||||
|
public Builder orgLdapSettings(OrgLdapSettings orgLdapSettings) {
|
||||||
|
this.orgLdapSettings = orgLdapSettings;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgSettings#getOrgEmailSettings()
|
||||||
|
*/
|
||||||
|
public Builder orgEmailSettings(OrgEmailSettings orgEmailSettings) {
|
||||||
|
this.orgEmailSettings = orgEmailSettings;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgSettings#getOrgPasswordPolicySettings()
|
||||||
|
*/
|
||||||
|
public Builder orgPasswordPolicySettings(OrgPasswordPolicySettings orgPasswordPolicySettings) {
|
||||||
|
this.orgPasswordPolicySettings = orgPasswordPolicySettings;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrgSettings build() {
|
||||||
|
return new OrgSettings(href, type, links, orgGeneralSettings, vAppLeaseSettings,
|
||||||
|
vAppTemplateLeaseSettings, orgLdapSettings, orgEmailSettings, orgPasswordPolicySettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getHref()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder href(URI href) {
|
||||||
|
super.href(href);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getType()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder type(String type) {
|
||||||
|
super.type(type);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder links(Set<Link> links) {
|
||||||
|
super.links(links);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder link(Link link) {
|
||||||
|
super.link(link);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Builder fromResourceType(ResourceType<OrgSettings> in) {
|
||||||
|
return Builder.class.cast(super.fromResourceType(in));
|
||||||
|
}
|
||||||
|
public Builder fromOrgSettings(OrgSettings in) {
|
||||||
|
return fromResourceType(in)
|
||||||
|
.orgGeneralSettings(in.getOrgGeneralSettings())
|
||||||
|
.vAppLeaseSettings(in.getVAppLeaseSettings())
|
||||||
|
.vAppTemplateLeaseSettings(in.getVAppTemplateLeaseSettings())
|
||||||
|
.orgLdapSettings(in.getOrgLdapSettings())
|
||||||
|
.orgEmailSettings(in.getOrgEmailSettings())
|
||||||
|
.orgPasswordPolicySettings(in.getOrgPasswordPolicySettings());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
private OrgSettings() {
|
||||||
|
// For JAXB
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrgSettings(URI href, String type, Set<Link> links,
|
||||||
|
OrgGeneralSettings orgGeneralSettings,
|
||||||
|
OrgLeaseSettings vAppLeaseSettings,
|
||||||
|
OrgVAppTemplateLeaseSettings vAppTemplateLeaseSettings,
|
||||||
|
OrgLdapSettings orgLdapSettings, OrgEmailSettings orgEmailSettings,
|
||||||
|
OrgPasswordPolicySettings orgPasswordPolicySettings) {
|
||||||
|
super(href, type, links);
|
||||||
|
this.orgGeneralSettings = orgGeneralSettings;
|
||||||
|
this.vAppLeaseSettings = vAppLeaseSettings;
|
||||||
|
this.vAppTemplateLeaseSettings = vAppTemplateLeaseSettings;
|
||||||
|
this.orgLdapSettings = orgLdapSettings;
|
||||||
|
this.orgPasswordPolicySettings = orgPasswordPolicySettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "OrgGeneralSettings")
|
||||||
|
protected OrgGeneralSettings orgGeneralSettings;
|
||||||
|
@XmlElement(name = "VAppLeaseSettings")
|
||||||
|
protected OrgLeaseSettings vAppLeaseSettings;
|
||||||
|
@XmlElement(name = "VAppTemplateLeaseSettings")
|
||||||
|
protected OrgVAppTemplateLeaseSettings vAppTemplateLeaseSettings;
|
||||||
|
@XmlElement(name = "OrgLdapSettings")
|
||||||
|
protected OrgLdapSettings orgLdapSettings;
|
||||||
|
@XmlElement(name = "OrgEmailSettings")
|
||||||
|
protected OrgEmailSettings orgEmailSettings;
|
||||||
|
@XmlElement(name = "OrgPasswordPolicySettings")
|
||||||
|
protected OrgPasswordPolicySettings orgPasswordPolicySettings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the orgGeneralSettings property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link OrgGeneralSettings }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public OrgGeneralSettings getOrgGeneralSettings() {
|
||||||
|
return orgGeneralSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the vAppLeaseSettings property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link OrgLeaseSettings }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public OrgLeaseSettings getVAppLeaseSettings() {
|
||||||
|
return vAppLeaseSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the vAppTemplateLeaseSettings property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link OrgVAppTemplateLeaseSettings }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public OrgVAppTemplateLeaseSettings getVAppTemplateLeaseSettings() {
|
||||||
|
return vAppTemplateLeaseSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the orgLdapSettings property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link OrgLdapSettings }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public OrgLdapSettings getOrgLdapSettings() {
|
||||||
|
return orgLdapSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the orgEmailSettings property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link OrgEmailSettings }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public OrgEmailSettings getOrgEmailSettings() {
|
||||||
|
return orgEmailSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the orgPasswordPolicySettings property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link OrgPasswordPolicySettings }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public OrgPasswordPolicySettings getOrgPasswordPolicySettings() {
|
||||||
|
return orgPasswordPolicySettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
OrgSettings that = OrgSettings.class.cast(o);
|
||||||
|
return super.equals(that) &&
|
||||||
|
equal(orgGeneralSettings, that.orgGeneralSettings) &&
|
||||||
|
equal(vAppLeaseSettings, that.vAppLeaseSettings) &&
|
||||||
|
equal(vAppTemplateLeaseSettings, that.vAppTemplateLeaseSettings) &&
|
||||||
|
equal(orgLdapSettings, that.orgLdapSettings) &&
|
||||||
|
equal(orgEmailSettings, that.orgEmailSettings) &&
|
||||||
|
equal(orgPasswordPolicySettings, that.orgPasswordPolicySettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(super.hashCode(),
|
||||||
|
orgGeneralSettings,
|
||||||
|
vAppLeaseSettings,
|
||||||
|
vAppTemplateLeaseSettings,
|
||||||
|
orgLdapSettings,
|
||||||
|
orgEmailSettings,
|
||||||
|
orgPasswordPolicySettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ToStringHelper string() {
|
||||||
|
return super.string()
|
||||||
|
.add("orgGeneralSettings", orgGeneralSettings)
|
||||||
|
.add("vAppLeaseSettings", vAppLeaseSettings)
|
||||||
|
.add("vAppTemplateLeaseSettings", vAppTemplateLeaseSettings)
|
||||||
|
.add("orgLdapSettings", orgLdapSettings)
|
||||||
|
.add("orgEmailSettings", orgEmailSettings)
|
||||||
|
.add("orgPasswordPolicySettings", orgPasswordPolicySettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,219 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Defines default lease policies for vAppTemplate on organization level.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Java class for OrgVAppTemplateLeaseSettings complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="OrgVAppTemplateLeaseSettings">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}ResourceType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="DeleteOnStorageLeaseExpiration" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
|
||||||
|
* <element name="StorageLeaseSeconds" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlRootElement(name = "OrgVAppTemplateLeaseSettings")
|
||||||
|
@XmlType(propOrder = {
|
||||||
|
"deleteOnStorageLeaseExpiration",
|
||||||
|
"storageLeaseSeconds"
|
||||||
|
})
|
||||||
|
public class OrgVAppTemplateLeaseSettings extends ResourceType<OrgVAppTemplateLeaseSettings> {
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return new Builder().fromOrgVAppTemplateLeaseSettings(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder extends ResourceType.Builder<OrgVAppTemplateLeaseSettings> {
|
||||||
|
|
||||||
|
private Boolean deleteOnStorageLeaseExpiration;
|
||||||
|
private Integer storageLeaseSeconds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgVAppTemplateLeaseSettings#getDeleteOnStorageLeaseExpiration()
|
||||||
|
*/
|
||||||
|
public Builder deleteOnStorageLeaseExpiration(Boolean deleteOnStorageLeaseExpiration) {
|
||||||
|
this.deleteOnStorageLeaseExpiration = deleteOnStorageLeaseExpiration;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see OrgVAppTemplateLeaseSettings#getStorageLeaseSeconds()
|
||||||
|
*/
|
||||||
|
public Builder storageLeaseSeconds(Integer storageLeaseSeconds) {
|
||||||
|
this.storageLeaseSeconds = storageLeaseSeconds;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public OrgVAppTemplateLeaseSettings build() {
|
||||||
|
return new OrgVAppTemplateLeaseSettings(href, type, links, deleteOnStorageLeaseExpiration, storageLeaseSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getHref()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder href(URI href) {
|
||||||
|
super.href(href);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getType()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder type(String type) {
|
||||||
|
super.type(type);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder links(Set<Link> links) {
|
||||||
|
super.links(links);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Builder link(Link link) {
|
||||||
|
super.link(link);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Builder fromResourceType(ResourceType<OrgVAppTemplateLeaseSettings> in) {
|
||||||
|
return Builder.class.cast(super.fromResourceType(in));
|
||||||
|
}
|
||||||
|
public Builder fromOrgVAppTemplateLeaseSettings(OrgVAppTemplateLeaseSettings in) {
|
||||||
|
return fromResourceType(in)
|
||||||
|
.deleteOnStorageLeaseExpiration(in.deleteOnStorageLeaseExpiration())
|
||||||
|
.storageLeaseSeconds(in.getStorageLeaseSeconds());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
private OrgVAppTemplateLeaseSettings() {
|
||||||
|
// For JAXB and builder use
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrgVAppTemplateLeaseSettings(URI href, String type, Set<Link> links,
|
||||||
|
Boolean deleteOnStorageLeaseExpiration, Integer storageLeaseSeconds) {
|
||||||
|
super(href, type, links);
|
||||||
|
this.deleteOnStorageLeaseExpiration = deleteOnStorageLeaseExpiration;
|
||||||
|
this.storageLeaseSeconds = storageLeaseSeconds;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "DeleteOnStorageLeaseExpiration")
|
||||||
|
protected Boolean deleteOnStorageLeaseExpiration;
|
||||||
|
@XmlElement(name = "StorageLeaseSeconds")
|
||||||
|
protected Integer storageLeaseSeconds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the deleteOnStorageLeaseExpiration property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Boolean }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Boolean deleteOnStorageLeaseExpiration() {
|
||||||
|
return deleteOnStorageLeaseExpiration;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the storageLeaseSeconds property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Integer }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Integer getStorageLeaseSeconds() {
|
||||||
|
return storageLeaseSeconds;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
OrgVAppTemplateLeaseSettings that = OrgVAppTemplateLeaseSettings.class.cast(o);
|
||||||
|
return super.equals(that) &&
|
||||||
|
equal(deleteOnStorageLeaseExpiration, that.deleteOnStorageLeaseExpiration) &&
|
||||||
|
equal(storageLeaseSeconds, that.storageLeaseSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(super.hashCode(),
|
||||||
|
deleteOnStorageLeaseExpiration,
|
||||||
|
storageLeaseSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ToStringHelper string() {
|
||||||
|
return super.string()
|
||||||
|
.add("deleteOnStorageLeaseExpiration", deleteOnStorageLeaseExpiration)
|
||||||
|
.add("storageLeaseSeconds", storageLeaseSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -24,9 +24,12 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlAttribute;
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.EntityType.NewBuilder;
|
||||||
|
|
||||||
import com.google.common.base.Objects;
|
import com.google.common.base.Objects;
|
||||||
import com.google.common.base.Objects.ToStringHelper;
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -45,6 +48,56 @@ import com.google.common.collect.Sets;
|
||||||
*/
|
*/
|
||||||
public abstract class ResourceType<T extends ResourceType<T>> implements URISupplier {
|
public abstract class ResourceType<T extends ResourceType<T>> implements URISupplier {
|
||||||
|
|
||||||
|
public NewBuilder<?> toNewBuilder() {
|
||||||
|
throw new UnsupportedOperationException("New builder not yet implemented for this class");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static abstract class NewBuilder<T extends NewBuilder<T>> {
|
||||||
|
protected abstract T self();
|
||||||
|
|
||||||
|
protected URI href;
|
||||||
|
protected String type;
|
||||||
|
protected Set<Link> links = Sets.newLinkedHashSet();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getHref()
|
||||||
|
*/
|
||||||
|
public T href(URI href) {
|
||||||
|
this.href = href;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getType()
|
||||||
|
*/
|
||||||
|
public T type(String type) {
|
||||||
|
this.type = type;
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
public T links(Set<Link> links) {
|
||||||
|
this.links = Sets.newLinkedHashSet(checkNotNull(links, "links"));
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
public T link(Link link) {
|
||||||
|
this.links.add(checkNotNull(link, "link"));
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract ResourceType<?> build();
|
||||||
|
|
||||||
|
protected T fromResourceType(ResourceType<?> in) {
|
||||||
|
return href(in.getHref()).type(in.getType()).links(in.getLinks());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public abstract Builder<T> toBuilder();
|
public abstract Builder<T> toBuilder();
|
||||||
|
|
||||||
public static abstract class Builder<T extends ResourceType<T>> {
|
public static abstract class Builder<T extends ResourceType<T>> {
|
||||||
|
|
|
@ -0,0 +1,232 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Specifies connection details for the organization s SMTP server.
|
||||||
|
* If IsDefaultSmtpServer (in OrgEmailSettings) is false, the SmtpServerSettings
|
||||||
|
* element is taken into account.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Java class for SmtpServerSettings complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="SmtpServerSettings">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}VCloudExtensibleType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="IsUseAuthentication" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
|
||||||
|
* <element name="Host" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="Username" type="{http://www.w3.org/2001/XMLSchema}string"/>
|
||||||
|
* <element name="Password" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlType(name = "SmtpServerSettings", propOrder = {
|
||||||
|
"isUseAuthentication",
|
||||||
|
"host",
|
||||||
|
"username",
|
||||||
|
"password"
|
||||||
|
})
|
||||||
|
public class SmtpServerSettings {
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return new Builder().fromSmtpServerSettings(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder {
|
||||||
|
|
||||||
|
private boolean useAuthentication;
|
||||||
|
private String host;
|
||||||
|
private String username;
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see SmtpServerSettings#getIsUseAuthentication()
|
||||||
|
*/
|
||||||
|
public Builder useAuthentication(boolean useAuthentication) {
|
||||||
|
this.useAuthentication = useAuthentication;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see SmtpServerSettings#getHost()
|
||||||
|
*/
|
||||||
|
public Builder host(String host) {
|
||||||
|
this.host = host;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see SmtpServerSettings#getUsername()
|
||||||
|
*/
|
||||||
|
public Builder username(String username) {
|
||||||
|
this.username = username;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see SmtpServerSettings#getPassword()
|
||||||
|
*/
|
||||||
|
public Builder password(String password) {
|
||||||
|
this.password = password;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public SmtpServerSettings build() {
|
||||||
|
return new SmtpServerSettings(useAuthentication, host, username, password);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Builder fromSmtpServerSettings(SmtpServerSettings in) {
|
||||||
|
return useAuthentication(in.useAuthentication())
|
||||||
|
.host(in.getHost())
|
||||||
|
.username(in.getUsername())
|
||||||
|
.password(in.getPassword());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
private SmtpServerSettings() {
|
||||||
|
// For JAXB
|
||||||
|
}
|
||||||
|
|
||||||
|
public SmtpServerSettings(boolean useAuthentication, String host,
|
||||||
|
String username, String password) {
|
||||||
|
this.useAuthentication = useAuthentication;
|
||||||
|
this.host = host;
|
||||||
|
this.username = username;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "IsUseAuthentication")
|
||||||
|
protected boolean useAuthentication;
|
||||||
|
@XmlElement(name = "Host", required = true)
|
||||||
|
protected String host;
|
||||||
|
@XmlElement(name = "Username", required = true)
|
||||||
|
protected String username;
|
||||||
|
@XmlElement(name = "Password")
|
||||||
|
protected String password;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the isUseAuthentication property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public boolean useAuthentication() {
|
||||||
|
return useAuthentication;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the host property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getHost() {
|
||||||
|
return host;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the username property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getUsername() {
|
||||||
|
return username;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the password property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getPassword() {
|
||||||
|
return password;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
SmtpServerSettings that = SmtpServerSettings.class.cast(o);
|
||||||
|
return super.equals(that) &&
|
||||||
|
equal(useAuthentication, that.useAuthentication) &&
|
||||||
|
equal(host, that.host) &&
|
||||||
|
equal(username, that.username) &&
|
||||||
|
equal(password, that.password);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(super.hashCode(),
|
||||||
|
useAuthentication,
|
||||||
|
host,
|
||||||
|
username,
|
||||||
|
password);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return string().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ToStringHelper string() {
|
||||||
|
return Objects.toStringHelper("")
|
||||||
|
.add("isUseAuthentication", useAuthentication)
|
||||||
|
.add("host", host)
|
||||||
|
.add("username", username)
|
||||||
|
.add("password", password);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,171 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.domain;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Represents a list of references to virtual data centers.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Java class for Vdcs complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType name="Vdcs">
|
||||||
|
* <complexContent>
|
||||||
|
* <extension base="{http://www.vmware.com/vcloud/v1.5}VCloudExtensibleType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="Vdc" type="{http://www.vmware.com/vcloud/v1.5}ReferenceType" maxOccurs="unbounded" minOccurs="0"/>
|
||||||
|
* </sequence>
|
||||||
|
* <anyAttribute processContents='lax' namespace='##other'/>
|
||||||
|
* </extension>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlRootElement(name = "Vdcs")
|
||||||
|
@XmlType(propOrder = {
|
||||||
|
"vdcs"
|
||||||
|
})
|
||||||
|
public class Vdcs {
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return new Builder().fromVdcs(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder {
|
||||||
|
|
||||||
|
private List<Reference> vdcs;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Vdcs#getVdc()
|
||||||
|
*/
|
||||||
|
public Builder vdcs(List<Reference> vdcs) {
|
||||||
|
this.vdcs = ImmutableList.copyOf(vdcs);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Vdcs#getVdc()
|
||||||
|
*/
|
||||||
|
public Builder vdc(Reference vdc) {
|
||||||
|
this.vdcs.add(checkNotNull(vdc, "vdc"));
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vdcs build() {
|
||||||
|
return new Vdcs(vdcs);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder fromVdcs(Vdcs in) {
|
||||||
|
return vdcs(in.getVdcs());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Vdcs() {
|
||||||
|
// For JAXB and builder use
|
||||||
|
}
|
||||||
|
|
||||||
|
private Vdcs(List<Reference> vdcs) {
|
||||||
|
this.vdcs = vdcs;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@XmlElement(name = "Vdc")
|
||||||
|
protected List<Reference> vdcs;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the vdc property.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* This accessor method returns a reference to the live list,
|
||||||
|
* not a snapshot. Therefore any modification you make to the
|
||||||
|
* returned list will be present inside the JAXB object.
|
||||||
|
* This is why there is not a <CODE>set</CODE> method for the vdc property.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* For example, to add a new item, do as follows:
|
||||||
|
* <pre>
|
||||||
|
* getVdc().add(newItem);
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* Objects of the following type(s) are allowed in the list
|
||||||
|
* {@link ReferenceType }
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public List<Reference> getVdcs() {
|
||||||
|
if (vdcs == null) {
|
||||||
|
vdcs = new ArrayList<Reference>();
|
||||||
|
}
|
||||||
|
return this.vdcs;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
Vdcs that = Vdcs.class.cast(o);
|
||||||
|
return equal(vdcs, that.vdcs);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(vdcs);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return string().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ToStringHelper string() {
|
||||||
|
return Objects.toStringHelper("")
|
||||||
|
.add("vdcs", vdcs);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,63 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.features;
|
||||||
|
|
||||||
|
import org.jclouds.rest.annotations.RequestFilters;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationToRequest;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see GroupClient
|
||||||
|
* @author danikov
|
||||||
|
*/
|
||||||
|
@RequestFilters(AddVCloudAuthorizationToRequest.class)
|
||||||
|
public interface AdminOrgAsyncClient {
|
||||||
|
|
||||||
|
// GET /admin/org/{id}
|
||||||
|
|
||||||
|
// POST /admin/org/{id}/catalogs
|
||||||
|
|
||||||
|
// POST /admin/org/{id}/groups
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/email
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/email
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/general
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/general
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/ldap
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/passwordPolicy
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/passwordPolicy
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/vAppLeaseSettings
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/vAppLeaseSettings
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,66 @@
|
||||||
|
/**
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.features;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import org.jclouds.concurrent.Timeout;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides synchronous access to {@link Group} objects.
|
||||||
|
*
|
||||||
|
* @see GroupAsyncClient
|
||||||
|
* @author danikov
|
||||||
|
*/
|
||||||
|
@Timeout(duration = 180, timeUnit = TimeUnit.SECONDS)
|
||||||
|
public interface AdminOrgClient {
|
||||||
|
|
||||||
|
// GET /admin/org/{id}
|
||||||
|
|
||||||
|
// POST /admin/org/{id}/catalogs
|
||||||
|
|
||||||
|
// POST /admin/org/{id}/groups
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/email
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/email
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/general
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/general
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/ldap
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/passwordPolicy
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/passwordPolicy
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/vAppLeaseSettings
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/vAppLeaseSettings
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,72 @@
|
||||||
|
/*
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.features;
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
|
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.Reference;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorRestClientExpectTest;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test the {@link GroupClient} by observing its side effects.
|
||||||
|
*
|
||||||
|
* @author danikov
|
||||||
|
*/
|
||||||
|
@Test(groups = { "unit", "user", "org"}, singleThreaded = true, testName = "AdminOrgClientExpectTest")
|
||||||
|
public class AdminOrgClientExpectTest extends BaseVCloudDirectorRestClientExpectTest {
|
||||||
|
|
||||||
|
private Reference orgRef = Reference.builder()
|
||||||
|
.type("application/vnd.vmware.admin.???+xml")
|
||||||
|
.name("???")
|
||||||
|
.href(URI.create(endpoint + "/admin/org/???"))
|
||||||
|
.build();
|
||||||
|
|
||||||
|
// GET /admin/org/{id}
|
||||||
|
|
||||||
|
// POST /admin/org/{id}/catalogs
|
||||||
|
|
||||||
|
// POST /admin/org/{id}/groups
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/email
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/email
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/general
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/general
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/ldap
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/passwordPolicy
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/passwordPolicy
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/vAppLeaseSettings
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/vAppLeaseSettings
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||||
|
}
|
|
@ -0,0 +1,108 @@
|
||||||
|
/*
|
||||||
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
|
* to you 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.jclouds.vcloud.director.v1_5.features;
|
||||||
|
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.REF_REQ_LIVE;
|
||||||
|
import static org.testng.Assert.assertNotNull;
|
||||||
|
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_DEL;
|
||||||
|
import static org.testng.Assert.assertEquals;
|
||||||
|
import static org.testng.Assert.assertNull;
|
||||||
|
import static org.testng.Assert.fail;
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_FIELD_UPDATABLE;
|
||||||
|
import static org.testng.Assert.assertTrue;
|
||||||
|
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
|
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.Checks;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.VCloudDirectorException;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.AdminOrg;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.Error;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.Group;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.Owner;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.Reference;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.ReferenceType;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorClientLiveTest;
|
||||||
|
import org.testng.annotations.BeforeClass;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests live behavior of {@link AdminGroupClient}.
|
||||||
|
*
|
||||||
|
* @author danikov
|
||||||
|
*/
|
||||||
|
@Test(groups = { "live", "admin", "org" }, singleThreaded = true, testName = "AdminOrgClientLiveTest")
|
||||||
|
public class AdminOrgClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
|
|
||||||
|
public static final String GROUP = "admin org";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Convenience references to API clients.
|
||||||
|
*/
|
||||||
|
|
||||||
|
private AdminOrgClient orgClient;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Shared state between dependant tests.
|
||||||
|
*/
|
||||||
|
private ReferenceType<?> orgRef;
|
||||||
|
private AdminOrg org;
|
||||||
|
|
||||||
|
@BeforeClass(inheritGroups = true)
|
||||||
|
public void setupRequiredClients() {
|
||||||
|
orgClient = context.getApi().getAdminOrgClient();
|
||||||
|
orgRef = Reference.builder()
|
||||||
|
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/???"))
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
// GET /admin/org/{id}
|
||||||
|
|
||||||
|
// POST /admin/org/{id}/catalogs
|
||||||
|
|
||||||
|
// POST /admin/org/{id}/groups
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/email
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/email
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/general
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/general
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/ldap
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/passwordPolicy
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/passwordPolicy
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/vAppLeaseSettings
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/vAppLeaseSettings
|
||||||
|
|
||||||
|
// GET /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||||
|
|
||||||
|
// PUT /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||||
|
}
|
Loading…
Reference in New Issue