mirror of https://github.com/apache/jclouds.git
fixed some merge glitches
This commit is contained in:
commit
adc275673d
|
@ -129,14 +129,31 @@ public class VCloudDirectorMediaType {
|
|||
|
||||
public static final String ADMIN_CATALOG = "application/vnd.vmware.admin.catalog+xml";
|
||||
|
||||
public static final String ADMIN_ORGANIZATION = "application/vnd.vmware.admin.organization+xml";
|
||||
public static final String ADMIN_ORG = "application/vnd.vmware.admin.organization+xml";
|
||||
|
||||
public static final String PUBLISH_CATALOG_PARAMS = "application/vnd.vmware.admin.publishCatalogParams+xml";
|
||||
|
||||
public static final String GROUP = "application/vnd.vmware.admin.group+xml";
|
||||
|
||||
public static final String ORG_VAPP_TEMPLATE_LEASE_SETTINGS = "application/vnd.vmware.admin.vAppTemplateLeaseSettings+xml";
|
||||
|
||||
public static final String ORG_LEASE_SETTINGS = "application/vnd.vmware.admin.vAppLeaseSettings+xml";
|
||||
|
||||
public static final String ORG_PASSWORD_POLICY_SETTINGS = "application/vnd.vmware.admin.organizationPasswordPolicySettings+xml";
|
||||
|
||||
public static final String ORG_LDAP_SETTINGS = "application/vnd.vmware.admin.organizationLdapSettings+xml";
|
||||
|
||||
public static final String ORG_GENERAL_SETTINGS = "application/vnd.vmware.admin.organizationGeneralSettings+xml";
|
||||
|
||||
public static final String ORG_EMAIL_SETTINGS = "application/vnd.vmware.admin.organizationEmailSettings+xml";
|
||||
|
||||
public static final String ORG_SETTINGS = "application/vnd.vmware.admin.orgSettings+xml";
|
||||
|
||||
public static final String ADMIN_NETWORK = "application/vnd.vmware.admin.network+xml";
|
||||
|
||||
public static final String ADMIN_ORG_NETWORK = "application/vnd.vmware.admin.orgNetwork+xml";
|
||||
|
||||
/**
|
||||
*
|
||||
* All acceptable media types.
|
||||
*
|
||||
* This list must be updated whenever a new media type constant is added.
|
||||
|
@ -148,11 +165,14 @@ public class VCloudDirectorMediaType {
|
|||
MEDIA, OWNER, VDC, ADMIN_USER, V_APP, V_APP_TEMPLATE,
|
||||
CAPTURE_VAPP_PARAMS, CLONE_V_APP_PARAMS, CLONE_V_APP_TEMPLATE_PARAMS,
|
||||
COMPOSE_VAPP_PARAMS, INSTANTIATE_VAPP_TEMPLATE_PARAMS,
|
||||
UPLOAD_VAPP_TEMPLATE_PARAMS, ADMIN_CATALOG, ADMIN_ORGANIZATION,
|
||||
UPLOAD_VAPP_TEMPLATE_PARAMS, ADMIN_CATALOG, ADMIN_ORG,
|
||||
QUERY_RESULT_RECORDS, QUERY_RESULT_REFERENCES, QUERY_RESULT_ID_RECORDS,
|
||||
CONTROL_ACCESS, VAPP_TEMPLATE, CUSTOMIZATION_SECTION, GUEST_CUSTOMIZATION_SECTION,
|
||||
NETWORK_SECTION, NETWORK_CONFIG_SECTION, NETWORK_CONNECTION_SECTION,
|
||||
CLONE_MEDIA_PARAMS, LEASE_SETTINGS_SECTION, RELOCATE_TEMPLATE, ENVELOPE,
|
||||
PUBLISH_CATALOG_PARAMS, GROUP
|
||||
PUBLISH_CATALOG_PARAMS, GROUP, ORG_VAPP_TEMPLATE_LEASE_SETTINGS,
|
||||
ORG_LEASE_SETTINGS, ORG_PASSWORD_POLICY_SETTINGS, ORG_LDAP_SETTINGS,
|
||||
ORG_GENERAL_SETTINGS, ORG_EMAIL_SETTINGS, ORG_SETTINGS, ADMIN_NETWORK,
|
||||
ADMIN_ORG_NETWORK
|
||||
);
|
||||
}
|
||||
|
|
|
@ -21,6 +21,9 @@ 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;
|
||||
|
@ -145,7 +148,8 @@ public class AdminOrg extends Org {
|
|||
}
|
||||
|
||||
public AdminOrg build() {
|
||||
return new AdminOrg(settings, users, groups, catalogs, vdcs, networks);
|
||||
return new AdminOrg(href, type, links, description, tasks, id,
|
||||
name, fullName, isEnabled, settings, users, groups, catalogs, vdcs, networks);
|
||||
}
|
||||
|
||||
public T fromAdminOrg(AdminOrg in) {
|
||||
|
@ -175,8 +179,11 @@ public class AdminOrg extends Org {
|
|||
// For JAXB
|
||||
}
|
||||
|
||||
protected AdminOrg(OrgSettings settings, UsersList users, GroupsList groups,
|
||||
protected AdminOrg(URI href, String type, Set<Link> links, String description,
|
||||
Set<Task> tasks, String id, String name, String fullName,
|
||||
Boolean enabled, OrgSettings settings, UsersList users, GroupsList groups,
|
||||
CatalogsList catalogs, Vdcs vdcs, Networks networks) {
|
||||
super(href, type, links, description, tasks, id, name, fullName, enabled);
|
||||
this.settings = settings;
|
||||
this.users = users;
|
||||
this.groups = groups;
|
||||
|
|
|
@ -68,6 +68,14 @@ public class CatalogsList {
|
|||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see CatalogsList#getCatalogItems()
|
||||
*/
|
||||
public Builder catalog(Reference catalog) {
|
||||
this.catalogReferences.add(checkNotNull(catalog, "catalog"));
|
||||
return this;
|
||||
}
|
||||
|
||||
public CatalogsList build() {
|
||||
return new CatalogsList(catalogReferences);
|
||||
}
|
||||
|
@ -81,7 +89,7 @@ public class CatalogsList {
|
|||
// for JAXB
|
||||
}
|
||||
|
||||
private CatalogsList(Set<Reference> tasks) {
|
||||
private CatalogsList(Set<Reference> catalogReferences) {
|
||||
this.catalogReferences = ImmutableSet.copyOf(checkNotNull(catalogReferences, "catalogReferences"));
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,9 @@ package org.jclouds.vcloud.director.v1_5.domain;
|
|||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
@ -86,6 +89,36 @@ import com.google.common.base.Objects.ToStringHelper;
|
|||
"groupAttributes"
|
||||
})
|
||||
public class CustomOrgLdapSettings {
|
||||
public static final class AuthenticationMechanism {
|
||||
public static final String SIMPLE = "simple";
|
||||
public static final String KERBEROS = "kerberos";
|
||||
public static final String MD5DIGEST = "md5digest";
|
||||
public static final String NTLM = "ntlm";
|
||||
|
||||
/**
|
||||
* All acceptable {@link CustomOrgLdapSettings#getAuthenticationMechanism()} values.
|
||||
* <p/>
|
||||
* This list must be updated whenever a new authentication mechanism is added.
|
||||
*/
|
||||
public static final List<String> ALL = Arrays.asList(
|
||||
SIMPLE, KERBEROS, MD5DIGEST, NTLM
|
||||
);
|
||||
}
|
||||
|
||||
public static final class ConnectorType {
|
||||
public static final String ACTIVE_DIRECTORY = "ACTIVE_DIRECTORY";
|
||||
public static final String OPEN_LDAP = "OPEN_LDAP";
|
||||
|
||||
/**
|
||||
* All acceptable {@link OrgLdapSettings#getLdapMode()} values.
|
||||
* <p/>
|
||||
* This list must be updated whenever a new mode is added.
|
||||
*/
|
||||
public static final List<String> ALL = Arrays.asList(
|
||||
ACTIVE_DIRECTORY, OPEN_LDAP
|
||||
);
|
||||
}
|
||||
|
||||
public static Builder<?> builder() {
|
||||
return new ConcreteBuilder();
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ import com.google.common.collect.ImmutableList;
|
|||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlRootElement(name = "GroupsList")
|
||||
@XmlType(propOrder = {
|
||||
"groupReference"
|
||||
"groups"
|
||||
})
|
||||
public class GroupsList {
|
||||
public static Builder builder() {
|
||||
|
|
|
@ -33,6 +33,7 @@ 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;
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -62,7 +63,7 @@ import com.google.common.collect.ImmutableList;
|
|||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "Networks", propOrder = {
|
||||
"network"
|
||||
"networks"
|
||||
})
|
||||
public class Networks {
|
||||
public static Builder builder() {
|
||||
|
@ -75,7 +76,7 @@ public class Networks {
|
|||
|
||||
public static class Builder {
|
||||
|
||||
private List<Reference> networks;
|
||||
private List<Reference> networks = Lists.newArrayList();
|
||||
|
||||
/**
|
||||
* @see Networks#getNetwork()
|
||||
|
|
|
@ -59,8 +59,8 @@ public class Org extends EntityType<Org> {
|
|||
|
||||
public static abstract class NewBuilder<T extends NewBuilder<T>> extends EntityType.NewBuilder<T> {
|
||||
|
||||
private String fullName;
|
||||
private Boolean isEnabled;
|
||||
protected String fullName;
|
||||
protected Boolean isEnabled;
|
||||
|
||||
/**
|
||||
* @see Org#getFullName()
|
||||
|
@ -232,8 +232,10 @@ public class Org extends EntityType<Org> {
|
|||
// for JAXB
|
||||
}
|
||||
|
||||
public Org(URI href, String type, Set<Link> links, String description, Set<Task> tasks, String id, String name, String fullName, Boolean enabled) {
|
||||
super(href, type, links, description, tasks, id, name);
|
||||
public Org(URI href, String type, Set<Link> links, String description,
|
||||
Set<Task> tasksInProgress, String id, String name,
|
||||
String fullName, Boolean enabled) {
|
||||
super(href, type, links, description, tasksInProgress, id, name);
|
||||
this.fullName = fullName;
|
||||
isEnabled = enabled;
|
||||
}
|
||||
|
|
|
@ -76,7 +76,7 @@ import com.google.common.collect.ImmutableList;
|
|||
"fromEmailAddress",
|
||||
"defaultSubjectPrefix",
|
||||
"isAlertEmailToAllAdmins",
|
||||
"alertEmailTo",
|
||||
"alertEmailsTo",
|
||||
"smtpServerSettings"
|
||||
})
|
||||
public class OrgEmailSettings extends ResourceType<OrgEmailSettings> {
|
||||
|
@ -142,7 +142,7 @@ public class OrgEmailSettings extends ResourceType<OrgEmailSettings> {
|
|||
* @see OrgEmailSettings#getAlertEmailTo()
|
||||
*/
|
||||
public Builder alertEmailsTo(List<String> alertEmailsTo) {
|
||||
this.alertEmailTo = ImmutableList.copyOf(alertEmailsTo);
|
||||
this.alertEmailTo = alertEmailsTo == null ? null : ImmutableList.copyOf(alertEmailsTo);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -163,7 +163,8 @@ public class OrgEmailSettings extends ResourceType<OrgEmailSettings> {
|
|||
}
|
||||
|
||||
public OrgEmailSettings build() {
|
||||
return new OrgEmailSettings(isDefaultSmtpServer, isDefaultOrgEmail, fromEmailAddress, defaultSubjectPrefix,
|
||||
return new OrgEmailSettings(href, type, links, isDefaultSmtpServer,
|
||||
isDefaultOrgEmail, fromEmailAddress, defaultSubjectPrefix,
|
||||
isAlertEmailToAllAdmins, alertEmailTo, smtpServerSettings);
|
||||
}
|
||||
|
||||
|
@ -225,9 +226,11 @@ public class OrgEmailSettings extends ResourceType<OrgEmailSettings> {
|
|||
// For JAXB
|
||||
}
|
||||
|
||||
private OrgEmailSettings(boolean isDefaultSmtpServer, boolean isDefaultOrgEmail,
|
||||
private OrgEmailSettings(URI href, String type, Set<Link> links,
|
||||
boolean isDefaultSmtpServer, boolean isDefaultOrgEmail,
|
||||
String fromEmailAddress, String defaultSubjectPrefix, boolean isAlertEmailToAllAdmins,
|
||||
List<String> alertEmailTo, SmtpServerSettings smtpServerSettings) {
|
||||
super(href, type, links);
|
||||
this.isDefaultSmtpServer = isDefaultSmtpServer;
|
||||
this.isDefaultOrgEmail = isDefaultOrgEmail;
|
||||
this.fromEmailAddress = fromEmailAddress;
|
||||
|
@ -323,9 +326,6 @@ public class OrgEmailSettings extends ResourceType<OrgEmailSettings> {
|
|||
*
|
||||
*/
|
||||
public List<String> getAlertEmailsTo() {
|
||||
if (alertEmailsTo == null) {
|
||||
alertEmailsTo = new ArrayList<String>();
|
||||
}
|
||||
return this.alertEmailsTo;
|
||||
}
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ import com.google.common.base.Objects.ToStringHelper;
|
|||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlRootElement(name = "OrgGeneralSettings")
|
||||
@XmlRootElement(name = "GeneralOrgSettings")
|
||||
@XmlType(propOrder = {
|
||||
"canPublishCatalogs",
|
||||
"deployedVMQuota",
|
||||
|
|
|
@ -22,11 +22,14 @@ package org.jclouds.vcloud.director.v1_5.domain;
|
|||
import static com.google.common.base.Objects.equal;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Arrays;
|
||||
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;
|
||||
|
@ -60,12 +63,28 @@ import com.google.common.base.Objects.ToStringHelper;
|
|||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "OrgLdapSettings", propOrder = {
|
||||
"orgLdapMode",
|
||||
@XmlRootElement(name = "OrgLdapSettings")
|
||||
@XmlType(propOrder = {
|
||||
"ldapMode",
|
||||
"customUsersOu",
|
||||
"customOrgLdapSettings"
|
||||
})
|
||||
public class OrgLdapSettings extends ResourceType<OrgLdapSettings> {
|
||||
public static final class LdapMode {
|
||||
public static final String NONE = "NONE";
|
||||
public static final String SYSTEM = "SYSTEM";
|
||||
public static final String CUSTOM = "CUSTOM";
|
||||
|
||||
/**
|
||||
* All acceptable {@link OrgLdapSettings#getLdapMode()} values.
|
||||
* <p/>
|
||||
* This list must be updated whenever a new mode is added.
|
||||
*/
|
||||
public static final List<String> ALL = Arrays.asList(
|
||||
NONE, SYSTEM, CUSTOM
|
||||
);
|
||||
}
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
@ -76,15 +95,15 @@ public class OrgLdapSettings extends ResourceType<OrgLdapSettings> {
|
|||
|
||||
public static class Builder extends ResourceType.Builder<OrgLdapSettings> {
|
||||
|
||||
private String orgLdapMode;
|
||||
private String ldapMode;
|
||||
private String customUsersOu;
|
||||
private CustomOrgLdapSettings customOrgLdapSettings;
|
||||
|
||||
/**
|
||||
* @see OrgLdapSettings#getOrgLdapMode()
|
||||
* @see OrgLdapSettings#getLdapMode()
|
||||
*/
|
||||
public Builder orgLdapMode(String orgLdapMode) {
|
||||
this.orgLdapMode = orgLdapMode;
|
||||
public Builder ldapMode(String ldapMode) {
|
||||
this.ldapMode = ldapMode;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -106,7 +125,7 @@ public class OrgLdapSettings extends ResourceType<OrgLdapSettings> {
|
|||
|
||||
public OrgLdapSettings build() {
|
||||
OrgLdapSettings orgLdapSettings = new OrgLdapSettings(href, type, links,
|
||||
orgLdapMode, customUsersOu, customOrgLdapSettings);
|
||||
ldapMode, customUsersOu, customOrgLdapSettings);
|
||||
return orgLdapSettings;
|
||||
}
|
||||
|
||||
|
@ -154,7 +173,7 @@ public class OrgLdapSettings extends ResourceType<OrgLdapSettings> {
|
|||
}
|
||||
public Builder fromOrgLdapSettings(OrgLdapSettings in) {
|
||||
return fromResourceType(in)
|
||||
.orgLdapMode(in.getOrgLdapMode())
|
||||
.ldapMode(in.getLdapMode())
|
||||
.customUsersOu(in.getCustomUsersOu())
|
||||
.customOrgLdapSettings(in.getCustomOrgLdapSettings());
|
||||
}
|
||||
|
@ -166,9 +185,9 @@ public class OrgLdapSettings extends ResourceType<OrgLdapSettings> {
|
|||
}
|
||||
|
||||
public OrgLdapSettings(URI href, String type, Set<Link> links,
|
||||
String orgLdapMode, String customUsersOu, CustomOrgLdapSettings customOrgLdapSettings) {
|
||||
String ldapMode, String customUsersOu, CustomOrgLdapSettings customOrgLdapSettings) {
|
||||
super(href, type, links);
|
||||
this.orgLdapMode = orgLdapMode;
|
||||
this.ldapMode = ldapMode;
|
||||
this.customUsersOu = customUsersOu;
|
||||
this.customOrgLdapSettings = customOrgLdapSettings;
|
||||
}
|
||||
|
@ -176,7 +195,7 @@ public class OrgLdapSettings extends ResourceType<OrgLdapSettings> {
|
|||
|
||||
|
||||
@XmlElement(name = "OrgLdapMode")
|
||||
protected String orgLdapMode;
|
||||
protected String ldapMode;
|
||||
@XmlElement(name = "CustomUsersOu")
|
||||
protected String customUsersOu;
|
||||
@XmlElement(name = "CustomOrgLdapSettings")
|
||||
|
@ -190,8 +209,8 @@ public class OrgLdapSettings extends ResourceType<OrgLdapSettings> {
|
|||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getOrgLdapMode() {
|
||||
return orgLdapMode;
|
||||
public String getLdapMode() {
|
||||
return ldapMode;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -226,7 +245,7 @@ public class OrgLdapSettings extends ResourceType<OrgLdapSettings> {
|
|||
return false;
|
||||
OrgLdapSettings that = OrgLdapSettings.class.cast(o);
|
||||
return super.equals(that) &&
|
||||
equal(orgLdapMode, that.orgLdapMode) &&
|
||||
equal(ldapMode, that.ldapMode) &&
|
||||
equal(customUsersOu, that.customUsersOu) &&
|
||||
equal(customOrgLdapSettings, that.customOrgLdapSettings);
|
||||
}
|
||||
|
@ -234,7 +253,7 @@ public class OrgLdapSettings extends ResourceType<OrgLdapSettings> {
|
|||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(super.hashCode(),
|
||||
orgLdapMode,
|
||||
ldapMode,
|
||||
customUsersOu,
|
||||
customOrgLdapSettings);
|
||||
}
|
||||
|
@ -242,7 +261,7 @@ public class OrgLdapSettings extends ResourceType<OrgLdapSettings> {
|
|||
@Override
|
||||
public ToStringHelper string() {
|
||||
return super.string()
|
||||
.add("orgLdapMode", orgLdapMode)
|
||||
.add("orgLdapMode", ldapMode)
|
||||
.add("customUsersOu", customUsersOu)
|
||||
.add("customOrgLdapSettings", customOrgLdapSettings);
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ 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;
|
||||
|
@ -60,7 +61,8 @@ import com.google.common.base.Objects.ToStringHelper;
|
|||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "OrgLeaseSettings", propOrder = {
|
||||
@XmlRootElement(name = "VAppLeaseSettings")
|
||||
@XmlType(propOrder = {
|
||||
"deleteOnStorageLeaseExpiration",
|
||||
"deploymentLeaseSeconds",
|
||||
"storageLeaseSeconds"
|
||||
|
|
|
@ -193,7 +193,7 @@ public class OrgPasswordPolicySettings extends ResourceType<OrgPasswordPolicySet
|
|||
* Gets the value of the invalidLoginsBeforeLockout property.
|
||||
*
|
||||
*/
|
||||
public int getInvalidLoginsBeforeLockout() {
|
||||
public Integer getInvalidLoginsBeforeLockout() {
|
||||
return invalidLoginsBeforeLockout;
|
||||
}
|
||||
|
||||
|
@ -201,7 +201,7 @@ public class OrgPasswordPolicySettings extends ResourceType<OrgPasswordPolicySet
|
|||
* Gets the value of the accountLockoutIntervalMinutes property.
|
||||
*
|
||||
*/
|
||||
public int getAccountLockoutIntervalMinutes() {
|
||||
public Integer getAccountLockoutIntervalMinutes() {
|
||||
return accountLockoutIntervalMinutes;
|
||||
}
|
||||
|
||||
|
|
|
@ -69,12 +69,12 @@ import com.google.common.base.Objects.ToStringHelper;
|
|||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlRootElement(name = "OrgSettings")
|
||||
@XmlType(propOrder = {
|
||||
"orgGeneralSettings",
|
||||
"generalSettings",
|
||||
"vAppLeaseSettings",
|
||||
"vAppTemplateLeaseSettings",
|
||||
"orgLdapSettings",
|
||||
"orgEmailSettings",
|
||||
"orgPasswordPolicySettings"
|
||||
"ldapSettings",
|
||||
"emailSettings",
|
||||
"passwordPolicy"
|
||||
})
|
||||
public class OrgSettings extends ResourceType<OrgSettings> {
|
||||
public static Builder builder() {
|
||||
|
@ -87,18 +87,18 @@ public class OrgSettings extends ResourceType<OrgSettings> {
|
|||
|
||||
public static class Builder extends ResourceType.Builder<OrgSettings> {
|
||||
|
||||
private OrgGeneralSettings orgGeneralSettings;
|
||||
private OrgGeneralSettings generalSettings;
|
||||
private OrgLeaseSettings vAppLeaseSettings;
|
||||
private OrgVAppTemplateLeaseSettings vAppTemplateLeaseSettings;
|
||||
private OrgLdapSettings orgLdapSettings;
|
||||
private OrgEmailSettings orgEmailSettings;
|
||||
private OrgPasswordPolicySettings orgPasswordPolicySettings;
|
||||
private OrgLdapSettings ldapSettings;
|
||||
private OrgEmailSettings emailSettings;
|
||||
private OrgPasswordPolicySettings passwordPolicy;
|
||||
|
||||
/**
|
||||
* @see OrgSettings#getOrgGeneralSettings()
|
||||
* @see OrgSettings#getGeneralSettings()
|
||||
*/
|
||||
public Builder orgGeneralSettings(OrgGeneralSettings orgGeneralSettings) {
|
||||
this.orgGeneralSettings = orgGeneralSettings;
|
||||
public Builder generalSettings(OrgGeneralSettings generalSettings) {
|
||||
this.generalSettings = generalSettings;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -119,32 +119,32 @@ public class OrgSettings extends ResourceType<OrgSettings> {
|
|||
}
|
||||
|
||||
/**
|
||||
* @see OrgSettings#getOrgLdapSettings()
|
||||
* @see OrgSettings#getLdapSettings()
|
||||
*/
|
||||
public Builder orgLdapSettings(OrgLdapSettings orgLdapSettings) {
|
||||
this.orgLdapSettings = orgLdapSettings;
|
||||
public Builder ldapSettings(OrgLdapSettings ldapSettings) {
|
||||
this.ldapSettings = ldapSettings;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see OrgSettings#getOrgEmailSettings()
|
||||
* @see OrgSettings#getEmailSettings()
|
||||
*/
|
||||
public Builder orgEmailSettings(OrgEmailSettings orgEmailSettings) {
|
||||
this.orgEmailSettings = orgEmailSettings;
|
||||
public Builder emailSettings(OrgEmailSettings emailSettings) {
|
||||
this.emailSettings = emailSettings;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see OrgSettings#getOrgPasswordPolicySettings()
|
||||
* @see OrgSettings#getPasswordPolicy()
|
||||
*/
|
||||
public Builder orgPasswordPolicySettings(OrgPasswordPolicySettings orgPasswordPolicySettings) {
|
||||
this.orgPasswordPolicySettings = orgPasswordPolicySettings;
|
||||
public Builder passwordPolicy(OrgPasswordPolicySettings passwordPolicy) {
|
||||
this.passwordPolicy = passwordPolicy;
|
||||
return this;
|
||||
}
|
||||
|
||||
public OrgSettings build() {
|
||||
return new OrgSettings(href, type, links, orgGeneralSettings, vAppLeaseSettings,
|
||||
vAppTemplateLeaseSettings, orgLdapSettings, orgEmailSettings, orgPasswordPolicySettings);
|
||||
return new OrgSettings(href, type, links, generalSettings, vAppLeaseSettings,
|
||||
vAppTemplateLeaseSettings, ldapSettings, emailSettings, passwordPolicy);
|
||||
}
|
||||
|
||||
|
||||
|
@ -191,12 +191,12 @@ public class OrgSettings extends ResourceType<OrgSettings> {
|
|||
}
|
||||
public Builder fromOrgSettings(OrgSettings in) {
|
||||
return fromResourceType(in)
|
||||
.orgGeneralSettings(in.getOrgGeneralSettings())
|
||||
.generalSettings(in.getGeneralSettings())
|
||||
.vAppLeaseSettings(in.getVAppLeaseSettings())
|
||||
.vAppTemplateLeaseSettings(in.getVAppTemplateLeaseSettings())
|
||||
.orgLdapSettings(in.getOrgLdapSettings())
|
||||
.orgEmailSettings(in.getOrgEmailSettings())
|
||||
.orgPasswordPolicySettings(in.getOrgPasswordPolicySettings());
|
||||
.ldapSettings(in.getLdapSettings())
|
||||
.emailSettings(in.getEmailSettings())
|
||||
.passwordPolicy(in.getPasswordPolicy());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -205,32 +205,33 @@ public class OrgSettings extends ResourceType<OrgSettings> {
|
|||
// For JAXB
|
||||
}
|
||||
|
||||
public OrgSettings(URI href, String type, Set<Link> links,
|
||||
OrgGeneralSettings orgGeneralSettings,
|
||||
public OrgSettings(URI href, String type, Set<Link> links,
|
||||
OrgGeneralSettings generalSettings,
|
||||
OrgLeaseSettings vAppLeaseSettings,
|
||||
OrgVAppTemplateLeaseSettings vAppTemplateLeaseSettings,
|
||||
OrgLdapSettings orgLdapSettings, OrgEmailSettings orgEmailSettings,
|
||||
OrgPasswordPolicySettings orgPasswordPolicySettings) {
|
||||
OrgLdapSettings ldapSettings, OrgEmailSettings emailSettings,
|
||||
OrgPasswordPolicySettings passwordPolicy) {
|
||||
super(href, type, links);
|
||||
this.orgGeneralSettings = orgGeneralSettings;
|
||||
this.generalSettings = generalSettings;
|
||||
this.vAppLeaseSettings = vAppLeaseSettings;
|
||||
this.vAppTemplateLeaseSettings = vAppTemplateLeaseSettings;
|
||||
this.orgLdapSettings = orgLdapSettings;
|
||||
this.orgPasswordPolicySettings = orgPasswordPolicySettings;
|
||||
this.ldapSettings = ldapSettings;
|
||||
this.emailSettings = emailSettings;
|
||||
this.passwordPolicy = passwordPolicy;
|
||||
}
|
||||
|
||||
@XmlElement(name = "OrgGeneralSettings")
|
||||
protected OrgGeneralSettings orgGeneralSettings;
|
||||
protected OrgGeneralSettings generalSettings;
|
||||
@XmlElement(name = "VAppLeaseSettings")
|
||||
protected OrgLeaseSettings vAppLeaseSettings;
|
||||
@XmlElement(name = "VAppTemplateLeaseSettings")
|
||||
protected OrgVAppTemplateLeaseSettings vAppTemplateLeaseSettings;
|
||||
@XmlElement(name = "OrgLdapSettings")
|
||||
protected OrgLdapSettings orgLdapSettings;
|
||||
protected OrgLdapSettings ldapSettings;
|
||||
@XmlElement(name = "OrgEmailSettings")
|
||||
protected OrgEmailSettings orgEmailSettings;
|
||||
protected OrgEmailSettings emailSettings;
|
||||
@XmlElement(name = "OrgPasswordPolicySettings")
|
||||
protected OrgPasswordPolicySettings orgPasswordPolicySettings;
|
||||
protected OrgPasswordPolicySettings passwordPolicy;
|
||||
|
||||
/**
|
||||
* Gets the value of the orgGeneralSettings property.
|
||||
|
@ -240,8 +241,8 @@ public class OrgSettings extends ResourceType<OrgSettings> {
|
|||
* {@link OrgGeneralSettings }
|
||||
*
|
||||
*/
|
||||
public OrgGeneralSettings getOrgGeneralSettings() {
|
||||
return orgGeneralSettings;
|
||||
public OrgGeneralSettings getGeneralSettings() {
|
||||
return generalSettings;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -276,8 +277,8 @@ public class OrgSettings extends ResourceType<OrgSettings> {
|
|||
* {@link OrgLdapSettings }
|
||||
*
|
||||
*/
|
||||
public OrgLdapSettings getOrgLdapSettings() {
|
||||
return orgLdapSettings;
|
||||
public OrgLdapSettings getLdapSettings() {
|
||||
return ldapSettings;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -288,8 +289,8 @@ public class OrgSettings extends ResourceType<OrgSettings> {
|
|||
* {@link OrgEmailSettings }
|
||||
*
|
||||
*/
|
||||
public OrgEmailSettings getOrgEmailSettings() {
|
||||
return orgEmailSettings;
|
||||
public OrgEmailSettings getEmailSettings() {
|
||||
return emailSettings;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -300,8 +301,8 @@ public class OrgSettings extends ResourceType<OrgSettings> {
|
|||
* {@link OrgPasswordPolicySettings }
|
||||
*
|
||||
*/
|
||||
public OrgPasswordPolicySettings getOrgPasswordPolicySettings() {
|
||||
return orgPasswordPolicySettings;
|
||||
public OrgPasswordPolicySettings getPasswordPolicy() {
|
||||
return passwordPolicy;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -312,34 +313,34 @@ public class OrgSettings extends ResourceType<OrgSettings> {
|
|||
return false;
|
||||
OrgSettings that = OrgSettings.class.cast(o);
|
||||
return super.equals(that) &&
|
||||
equal(orgGeneralSettings, that.orgGeneralSettings) &&
|
||||
equal(generalSettings, that.generalSettings) &&
|
||||
equal(vAppLeaseSettings, that.vAppLeaseSettings) &&
|
||||
equal(vAppTemplateLeaseSettings, that.vAppTemplateLeaseSettings) &&
|
||||
equal(orgLdapSettings, that.orgLdapSettings) &&
|
||||
equal(orgEmailSettings, that.orgEmailSettings) &&
|
||||
equal(orgPasswordPolicySettings, that.orgPasswordPolicySettings);
|
||||
equal(ldapSettings, that.ldapSettings) &&
|
||||
equal(emailSettings, that.emailSettings) &&
|
||||
equal(passwordPolicy, that.passwordPolicy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(super.hashCode(),
|
||||
orgGeneralSettings,
|
||||
generalSettings,
|
||||
vAppLeaseSettings,
|
||||
vAppTemplateLeaseSettings,
|
||||
orgLdapSettings,
|
||||
orgEmailSettings,
|
||||
orgPasswordPolicySettings);
|
||||
ldapSettings,
|
||||
emailSettings,
|
||||
passwordPolicy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ToStringHelper string() {
|
||||
return super.string()
|
||||
.add("orgGeneralSettings", orgGeneralSettings)
|
||||
.add("generalSettings", generalSettings)
|
||||
.add("vAppLeaseSettings", vAppLeaseSettings)
|
||||
.add("vAppTemplateLeaseSettings", vAppTemplateLeaseSettings)
|
||||
.add("orgLdapSettings", orgLdapSettings)
|
||||
.add("orgEmailSettings", orgEmailSettings)
|
||||
.add("orgPasswordPolicySettings", orgPasswordPolicySettings);
|
||||
.add("ldapSettings", ldapSettings)
|
||||
.add("emailSettings", emailSettings)
|
||||
.add("passwordPolicy", passwordPolicy);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ import com.google.common.base.Objects.ToStringHelper;
|
|||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "SmtpServerSettings", propOrder = {
|
||||
"isUseAuthentication",
|
||||
"useAuthentication",
|
||||
"host",
|
||||
"username",
|
||||
"password"
|
||||
|
@ -200,8 +200,7 @@ public class SmtpServerSettings {
|
|||
if (o == null || getClass() != o.getClass())
|
||||
return false;
|
||||
SmtpServerSettings that = SmtpServerSettings.class.cast(o);
|
||||
return super.equals(that) &&
|
||||
equal(useAuthentication, that.useAuthentication) &&
|
||||
return equal(useAuthentication, that.useAuthentication) &&
|
||||
equal(host, that.host) &&
|
||||
equal(username, that.username) &&
|
||||
equal(password, that.password);
|
||||
|
@ -209,8 +208,7 @@ public class SmtpServerSettings {
|
|||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(super.hashCode(),
|
||||
useAuthentication,
|
||||
return Objects.hashCode(useAuthentication,
|
||||
host,
|
||||
username,
|
||||
password);
|
||||
|
|
|
@ -33,6 +33,7 @@ import javax.xml.bind.annotation.XmlType;
|
|||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -62,7 +63,7 @@ import com.google.common.collect.ImmutableList;
|
|||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlRootElement(name = "UsersList")
|
||||
@XmlType(propOrder = {
|
||||
"userReference"
|
||||
"users"
|
||||
})
|
||||
public class UsersList {
|
||||
public static Builder builder() {
|
||||
|
@ -74,7 +75,7 @@ public class UsersList {
|
|||
}
|
||||
|
||||
public static class Builder {
|
||||
private List<Reference> users;
|
||||
private List<Reference> users = Lists.newArrayList();
|
||||
|
||||
/**
|
||||
* @see UsersList#getUsers()
|
||||
|
|
|
@ -34,6 +34,7 @@ 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;
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -76,7 +77,7 @@ public class Vdcs {
|
|||
|
||||
public static class Builder {
|
||||
|
||||
private List<Reference> vdcs;
|
||||
private List<Reference> vdcs = Lists.newArrayList();
|
||||
|
||||
/**
|
||||
* @see Vdcs#getVdc()
|
||||
|
|
|
@ -18,46 +18,203 @@
|
|||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.features;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.PUT;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
|
||||
import org.jclouds.rest.annotations.BinderParam;
|
||||
import org.jclouds.rest.annotations.EndpointParam;
|
||||
import org.jclouds.rest.annotations.ExceptionParser;
|
||||
import org.jclouds.rest.annotations.JAXBResponseParser;
|
||||
import org.jclouds.rest.annotations.RequestFilters;
|
||||
import org.jclouds.rest.binders.BindToXMLPayload;
|
||||
import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.AdminOrg;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgEmailSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgGeneralSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgLdapSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgLeaseSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgPasswordPolicySettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgVAppTemplateLeaseSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationToRequest;
|
||||
import org.jclouds.vcloud.director.v1_5.functions.ThrowVCloudErrorOn4xx;
|
||||
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
|
||||
/**
|
||||
* @see GroupClient
|
||||
* @author danikov
|
||||
*/
|
||||
@RequestFilters(AddVCloudAuthorizationToRequest.class)
|
||||
public interface AdminOrgAsyncClient {
|
||||
public interface AdminOrgAsyncClient extends OrgAsyncClient {
|
||||
|
||||
// GET /admin/org/{id}
|
||||
/**
|
||||
* @see AdminOrgClient#getOrg(URI)
|
||||
*/
|
||||
@GET
|
||||
@Consumes
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<AdminOrg> getOrg(
|
||||
@EndpointParam URI orgRef);
|
||||
|
||||
// POST /admin/org/{id}/catalogs
|
||||
/**
|
||||
* @see AdminOrgClient#getSettings(URI)
|
||||
*/
|
||||
@GET
|
||||
@Path("/settings")
|
||||
@Consumes
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<OrgSettings> getSettings(
|
||||
@EndpointParam URI orgRef);
|
||||
|
||||
// POST /admin/org/{id}/groups
|
||||
/**
|
||||
* @see AdminOrgClient#updateSettings(URI, OrgSettings)
|
||||
*/
|
||||
@PUT
|
||||
@Path("/settings")
|
||||
@Consumes(VCloudDirectorMediaType.ORG_SETTINGS)
|
||||
@Produces(VCloudDirectorMediaType.ORG_SETTINGS)
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<OrgSettings> updateSettings(
|
||||
@EndpointParam URI orgRef,
|
||||
@BinderParam(BindToXMLPayload.class) OrgSettings settings);
|
||||
|
||||
// GET /admin/org/{id}/settings
|
||||
/**
|
||||
* @see AdminOrgClient#getEmailSettings(URI)
|
||||
*/
|
||||
@GET
|
||||
@Path("/settings/email")
|
||||
@Consumes
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<OrgEmailSettings> getEmailSettings(
|
||||
@EndpointParam URI orgRef);
|
||||
|
||||
// PUT /admin/org/{id}/settings
|
||||
/**
|
||||
* @see AdminOrgClient#updateEmailSettings(URI, OrgEmailSettings)
|
||||
*/
|
||||
@PUT
|
||||
@Path("/settings/email")
|
||||
@Consumes(VCloudDirectorMediaType.ORG_EMAIL_SETTINGS)
|
||||
@Produces(VCloudDirectorMediaType.ORG_EMAIL_SETTINGS)
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<OrgEmailSettings> updateEmailSettings(
|
||||
@EndpointParam URI orgRef,
|
||||
@BinderParam(BindToXMLPayload.class) OrgEmailSettings settings);
|
||||
|
||||
// GET /admin/org/{id}/settings/email
|
||||
/**
|
||||
* @see AdminOrgClient#getGeneralSettings(URI)
|
||||
*/
|
||||
@GET
|
||||
@Path("/settings/general")
|
||||
@Consumes
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<OrgGeneralSettings> getGeneralSettings(
|
||||
@EndpointParam URI orgRef);
|
||||
|
||||
// PUT /admin/org/{id}/settings/email
|
||||
/**
|
||||
* @see AdminOrgClient#updateGeneralSettings(URI, OrgGeneralSettings)
|
||||
*/
|
||||
@PUT
|
||||
@Path("/settings/general")
|
||||
@Consumes(VCloudDirectorMediaType.ORG_GENERAL_SETTINGS)
|
||||
@Produces(VCloudDirectorMediaType.ORG_GENERAL_SETTINGS)
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<OrgGeneralSettings> updateGeneralSettings(
|
||||
@EndpointParam URI orgRef,
|
||||
@BinderParam(BindToXMLPayload.class) OrgGeneralSettings settings);
|
||||
|
||||
// GET /admin/org/{id}/settings/general
|
||||
/**
|
||||
* @see AdminOrgClient#getPasswordPolicy(URI)
|
||||
*/
|
||||
@GET
|
||||
@Path("/settings/ldap")
|
||||
@Consumes
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<OrgLdapSettings> getLdapSettings(@EndpointParam URI orgRef);
|
||||
|
||||
// PUT /admin/org/{id}/settings/general
|
||||
/**
|
||||
* @see AdminOrgClient#getPasswordPolicy(URI)
|
||||
*/
|
||||
@GET
|
||||
@Path("/settings/passwordPolicy")
|
||||
@Consumes
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<OrgPasswordPolicySettings> getPasswordPolicy(
|
||||
@EndpointParam URI orgRef);
|
||||
|
||||
// GET /admin/org/{id}/settings/ldap
|
||||
/**
|
||||
* @see AdminOrgClient#updatePasswordPolicy(URI, OrgPasswordPolicySettings)
|
||||
*/
|
||||
@PUT
|
||||
@Path("/settings/passwordPolicy")
|
||||
@Consumes(VCloudDirectorMediaType.ORG_PASSWORD_POLICY_SETTINGS)
|
||||
@Produces(VCloudDirectorMediaType.ORG_PASSWORD_POLICY_SETTINGS)
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<OrgPasswordPolicySettings> updatePasswordPolicy(
|
||||
@EndpointParam URI orgRef,
|
||||
@BinderParam(BindToXMLPayload.class) OrgPasswordPolicySettings settings);
|
||||
|
||||
// GET /admin/org/{id}/settings/passwordPolicy
|
||||
/**
|
||||
* @see AdminOrgClient#getVAppLeaseSettings(URI)
|
||||
*/
|
||||
@GET
|
||||
@Path("/settings/vAppLeaseSettings")
|
||||
@Consumes
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<OrgLeaseSettings> getVAppLeaseSettings(
|
||||
@EndpointParam URI orgRef);
|
||||
|
||||
// PUT /admin/org/{id}/settings/passwordPolicy
|
||||
/**
|
||||
* @see AdminOrgClient#updateVAppLeaseSettings(URI, OrgVAppLeaseSettings)
|
||||
*/
|
||||
@PUT
|
||||
@Path("/settings/vAppLeaseSettings")
|
||||
@Consumes(VCloudDirectorMediaType.ORG_LEASE_SETTINGS)
|
||||
@Produces(VCloudDirectorMediaType.ORG_LEASE_SETTINGS)
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<OrgLeaseSettings> updateVAppLeaseSettings(
|
||||
@EndpointParam URI orgRef,
|
||||
@BinderParam(BindToXMLPayload.class) OrgLeaseSettings settings);
|
||||
|
||||
// GET /admin/org/{id}/settings/vAppLeaseSettings
|
||||
/**
|
||||
* @see AdminOrgClient#getVAppTemplateLeaseSettings(URI)
|
||||
*/
|
||||
@GET
|
||||
@Path("/settings/vAppTemplateLeaseSettings")
|
||||
@Consumes
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<OrgVAppTemplateLeaseSettings> getVAppTemplateLeaseSettings(
|
||||
@EndpointParam URI orgRef);
|
||||
|
||||
// PUT /admin/org/{id}/settings/vAppLeaseSettings
|
||||
|
||||
// GET /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||
|
||||
// PUT /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||
/**
|
||||
* @see AdminOrgClient#updateVAppTemplateLeaseSettings(URI, OrgVAppTemplateLeaseSettings)
|
||||
*/
|
||||
@PUT
|
||||
@Path("/settings/vAppTemplateLeaseSettings")
|
||||
@Consumes(VCloudDirectorMediaType.ORG_VAPP_TEMPLATE_LEASE_SETTINGS)
|
||||
@Produces(VCloudDirectorMediaType.ORG_VAPP_TEMPLATE_LEASE_SETTINGS)
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<OrgVAppTemplateLeaseSettings> updateVAppTemplateLeaseSettings(
|
||||
@EndpointParam URI orgRef,
|
||||
@BinderParam(BindToXMLPayload.class) OrgVAppTemplateLeaseSettings settings);
|
||||
|
||||
}
|
||||
|
|
|
@ -18,9 +18,19 @@
|
|||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.features;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.jclouds.concurrent.Timeout;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.AdminOrg;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Group;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgEmailSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgGeneralSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgLdapSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgLeaseSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgPasswordPolicySettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgVAppTemplateLeaseSettings;
|
||||
|
||||
/**
|
||||
* Provides synchronous access to {@link Group} objects.
|
||||
|
@ -29,38 +39,181 @@ import org.jclouds.concurrent.Timeout;
|
|||
* @author danikov
|
||||
*/
|
||||
@Timeout(duration = 180, timeUnit = TimeUnit.SECONDS)
|
||||
public interface AdminOrgClient {
|
||||
public interface AdminOrgClient extends OrgClient {
|
||||
|
||||
// GET /admin/org/{id}
|
||||
/**
|
||||
* Retrieves an admin view of an organization.
|
||||
* The organization might be enabled or disabled.
|
||||
* If enabled, the organization allows login and all other operations.
|
||||
*
|
||||
* <pre>
|
||||
* GET /admin/org/{id}
|
||||
* </pre>
|
||||
*
|
||||
* @param orgRef the reference for the admin org
|
||||
* @return the admin org
|
||||
*/
|
||||
AdminOrg getOrg(URI orgRef);
|
||||
|
||||
// POST /admin/org/{id}/catalogs
|
||||
/**
|
||||
* Gets organizational settings for this organization.
|
||||
*
|
||||
* <pre>
|
||||
* GET /admin/org/{id}/settings
|
||||
* </pre>
|
||||
*
|
||||
* @param orgRef the reference for the admin org
|
||||
* @return the settings
|
||||
*/
|
||||
OrgSettings getSettings(URI orgRef);
|
||||
|
||||
// POST /admin/org/{id}/groups
|
||||
/**
|
||||
* Updates organizational settings for this organization.
|
||||
*
|
||||
* <pre>
|
||||
* PUT /admin/org/{id}/settings
|
||||
* </pre>
|
||||
* @param orgRef the reference for the admin org
|
||||
* @param newSettings the requested updated settings
|
||||
* @return the resultant settings
|
||||
*/
|
||||
OrgSettings updateSettings(URI orgRef, OrgSettings newSettings);
|
||||
|
||||
// GET /admin/org/{id}/settings
|
||||
/**
|
||||
* Retrieves email settings for an organization.
|
||||
*
|
||||
* <pre>
|
||||
* GET /admin/org/{id}/settings/email
|
||||
* </pre>
|
||||
*
|
||||
* @param orgRef the reference for the admin org
|
||||
* @return the email settings
|
||||
*/
|
||||
OrgEmailSettings getEmailSettings(URI orgRef);
|
||||
|
||||
// PUT /admin/org/{id}/settings
|
||||
/**
|
||||
* Updates email policy settings for organization.
|
||||
*
|
||||
* <pre>
|
||||
* PUT /admin/org/{id}/settings/email
|
||||
* </pre>
|
||||
* @param orgRef the reference for the admin org
|
||||
* @param newSettings the requested updated settings
|
||||
* @return the resultant settings
|
||||
*/
|
||||
OrgEmailSettings updateEmailSettings(URI orgRef,
|
||||
OrgEmailSettings newSettings);
|
||||
|
||||
// GET /admin/org/{id}/settings/email
|
||||
/**
|
||||
* Gets general organization settings.
|
||||
*
|
||||
* <pre>
|
||||
* GET /admin/org/{id}/settings/general
|
||||
* </pre>
|
||||
*
|
||||
* @param orgRef the reference for the admin org
|
||||
* @return the lease settings
|
||||
*/
|
||||
OrgGeneralSettings getGeneralSettings(URI orgRef);
|
||||
|
||||
// PUT /admin/org/{id}/settings/email
|
||||
/**
|
||||
* Updates general organization settings.
|
||||
*
|
||||
* <pre>
|
||||
* PUT /admin/org/{id}/settings/general
|
||||
* </pre>
|
||||
* @param orgRef the reference for the admin org
|
||||
* @param newSettings the requested updated settings
|
||||
* @return the resultant settings
|
||||
*/
|
||||
OrgGeneralSettings updateGeneralSettings(URI orgRef,
|
||||
OrgGeneralSettings newSettings);
|
||||
|
||||
// GET /admin/org/{id}/settings/general
|
||||
/**
|
||||
* Retrieves LDAP settings for an organization.
|
||||
*
|
||||
* <pre>
|
||||
* GET /admin/org/{id}/settings/ldap
|
||||
* </pre>
|
||||
*
|
||||
* @param orgRef the reference for the admin org
|
||||
* @return the ldap settings
|
||||
*/
|
||||
OrgLdapSettings getLdapSettings(URI orgRef);
|
||||
|
||||
// PUT /admin/org/{id}/settings/general
|
||||
/**
|
||||
* Retrieves password policy settings for an organization.
|
||||
*
|
||||
* <pre>
|
||||
* GET /admin/org/{id}/settings/passwordPolicy
|
||||
* </pre>
|
||||
*
|
||||
* @param orgRef the reference for the admin org
|
||||
* @return the lease settings
|
||||
*/
|
||||
OrgPasswordPolicySettings getPasswordPolicy(URI orgRef);
|
||||
|
||||
// GET /admin/org/{id}/settings/ldap
|
||||
/**
|
||||
* Updates password policy settings for organization.
|
||||
*
|
||||
* <pre>
|
||||
* PUT /admin/org/{id}/settings/passwordPolicy
|
||||
* </pre>
|
||||
* @param orgRef the reference for the admin org
|
||||
* @param newSettings the requested updated settings
|
||||
* @return the resultant settings
|
||||
*/
|
||||
OrgPasswordPolicySettings updatePasswordPolicy(URI orgRef,
|
||||
OrgPasswordPolicySettings newSettings);
|
||||
|
||||
// GET /admin/org/{id}/settings/passwordPolicy
|
||||
/**
|
||||
* Gets organization resource cleanup settings on the level of vApp.
|
||||
*
|
||||
* <pre>
|
||||
* GET /admin/org/{id}/settings/vAppLeaseSettings
|
||||
* </pre>
|
||||
*
|
||||
* @param orgRef the reference for the admin org
|
||||
* @return the lease settings
|
||||
*/
|
||||
OrgLeaseSettings getVAppLeaseSettings(URI orgRef);
|
||||
|
||||
// PUT /admin/org/{id}/settings/passwordPolicy
|
||||
/**
|
||||
* Updates organization resource cleanup settings on the level of vApp.
|
||||
*
|
||||
* <pre>
|
||||
* PUT /admin/org/{id}/settings/vAppLeaseSettings
|
||||
* </pre>
|
||||
* @param orgRef the reference for the admin org
|
||||
* @param newSettings the requested updated settings
|
||||
* @return the resultant settings
|
||||
*/
|
||||
OrgLeaseSettings updateVAppLeaseSettings(URI orgRef,
|
||||
OrgLeaseSettings newSettings);
|
||||
|
||||
// GET /admin/org/{id}/settings/vAppLeaseSettings
|
||||
/**
|
||||
* Retrieves expiration and storage policy for vApp templates in an organization.
|
||||
*
|
||||
* <pre>
|
||||
* GET /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||
* </pre>
|
||||
*
|
||||
* @param orgRef the reference for the admin org
|
||||
* @return the lease settings
|
||||
*/
|
||||
OrgVAppTemplateLeaseSettings getVAppTemplateLeaseSettings(URI orgRef);
|
||||
|
||||
// PUT /admin/org/{id}/settings/vAppLeaseSettings
|
||||
|
||||
// GET /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||
|
||||
// PUT /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||
/**
|
||||
* Updates vApp template policy settings for organization.
|
||||
*
|
||||
* <pre>
|
||||
* PUT /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||
* </pre>
|
||||
* @param orgRef the reference for the admin org
|
||||
* @param newSettings the requested updated settings
|
||||
* @return the resultant settings
|
||||
*/
|
||||
OrgVAppTemplateLeaseSettings updateVAppTemplateLeaseSettings(URI orgRef,
|
||||
OrgVAppTemplateLeaseSettings newSettings);
|
||||
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ public interface OrgAsyncClient {
|
|||
@Consumes
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
ListenableFuture<Org> getOrg(@EndpointParam URI orgUri);
|
||||
ListenableFuture<? extends Org> getOrg(@EndpointParam URI orgUri);
|
||||
|
||||
/**
|
||||
* @return asynchronous access to {@link Metadata.Readable} features
|
||||
|
|
|
@ -38,6 +38,9 @@ import java.util.Set;
|
|||
import java.util.UUID;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.CustomOrgLdapSettings.AuthenticationMechanism;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.CustomOrgLdapSettings.ConnectorType;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgLdapSettings.LdapMode;
|
||||
|
||||
import com.google.common.base.Splitter;
|
||||
import com.google.common.collect.Iterables;
|
||||
|
@ -229,6 +232,46 @@ public class Checks {
|
|||
checkEntityType(org);
|
||||
}
|
||||
|
||||
public static void checkAdminOrg(AdminOrg org) {
|
||||
// required
|
||||
assertNotNull(org.getSettings(), String.format(NOT_NULL_OBJECT_FMT, "settings", "AdminOrg"));
|
||||
|
||||
// optional
|
||||
if (org.getGroups() != null) {
|
||||
checkGroupsList(org.getGroups());
|
||||
}
|
||||
if (org.getCatalogs() != null) {
|
||||
checkCatalogsList(org.getCatalogs());
|
||||
}
|
||||
if (org.getVdcs() != null) {
|
||||
checkVdcs(org.getVdcs());
|
||||
}
|
||||
if (org.getNetworks() != null) {
|
||||
checkNetworks(org.getNetworks());
|
||||
}
|
||||
|
||||
// Check parent type
|
||||
checkOrg(org);
|
||||
}
|
||||
|
||||
public static void checkCatalogsList(CatalogsList catalogList) {
|
||||
for (Reference catalogItem : catalogList.getCatalogItems()) {
|
||||
checkReferenceType(catalogItem);
|
||||
}
|
||||
}
|
||||
|
||||
public static void checkVdcs(Vdcs vdcs) {
|
||||
for (Reference vdc : vdcs.getVdcs()) {
|
||||
checkReferenceType(vdc);
|
||||
}
|
||||
}
|
||||
|
||||
public static void checkNetworks(Networks networks) {
|
||||
for (Reference network : networks.getNetwork()) {
|
||||
checkReferenceType(network);
|
||||
}
|
||||
}
|
||||
|
||||
public static void checkAdminCatalog(AdminCatalog catalog) {
|
||||
// Check parent type
|
||||
checkCatalogType(catalog);
|
||||
|
@ -524,4 +567,185 @@ public class Checks {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void checkOrgSettings(OrgSettings settings) {
|
||||
// Check optional fields
|
||||
if (settings.getGeneralSettings() != null) {
|
||||
checkGeneralSettings(settings.getGeneralSettings());
|
||||
}
|
||||
if (settings.getVAppLeaseSettings() != null) {
|
||||
checkVAppLeaseSettings(settings.getVAppLeaseSettings());
|
||||
}
|
||||
if (settings.getVAppTemplateLeaseSettings() != null) {
|
||||
checkVAppTemplateLeaseSettings(settings.getVAppTemplateLeaseSettings());
|
||||
}
|
||||
if (settings.getLdapSettings() != null) {
|
||||
checkLdapSettings(settings.getLdapSettings());
|
||||
}
|
||||
if (settings.getEmailSettings() != null) {
|
||||
checkEmailSettings(settings.getEmailSettings());
|
||||
}
|
||||
if (settings.getPasswordPolicy() != null) {
|
||||
checkPasswordPolicySettings(settings.getPasswordPolicy());
|
||||
}
|
||||
|
||||
// parent type
|
||||
checkResourceType(settings);
|
||||
}
|
||||
|
||||
public static void checkEmailSettings(OrgEmailSettings settings) {
|
||||
// required
|
||||
assertNotNull(settings.isDefaultSmtpServer(), String.format(OBJ_FIELD_REQ, "OrgEmailSettings", "isDefaultSmtpServer"));
|
||||
assertNotNull(settings.isDefaultOrgEmail(), String.format(OBJ_FIELD_REQ, "OrgEmailSettings", "isDefaultOrgEmail"));
|
||||
assertNotNull(settings.getFromEmailAddress(), String.format(OBJ_FIELD_REQ, "OrgEmailSettings", "fromEmailAddress"));
|
||||
checkEmailAddress(settings.getFromEmailAddress());
|
||||
assertNotNull(settings.getDefaultSubjectPrefix(), String.format(OBJ_FIELD_REQ, "OrgEmailSettings", "defaultSubjectPrefix"));
|
||||
assertNotNull(settings.isAlertEmailToAllAdmins(), String.format(OBJ_FIELD_REQ, "OrgEmailSettings", "isAlertEmailToAllAdmins"));
|
||||
|
||||
// optional
|
||||
// NOTE alertEmailsTo cannot be checked
|
||||
|
||||
// parent type
|
||||
checkResourceType(settings);
|
||||
}
|
||||
|
||||
public static void checkEmailAddress(String email) {
|
||||
// TODO: validate email addresses
|
||||
}
|
||||
|
||||
public static void checkGeneralSettings(OrgGeneralSettings settings) {
|
||||
// Check optional fields
|
||||
// NOTE canPublishCatalogs cannot be checked
|
||||
// NOTE useServerBootSequence cannot be checked
|
||||
if (settings.getDeployedVMQuota() != null) {
|
||||
assertTrue(settings.getDeployedVMQuota() >= 0, String.format(
|
||||
OBJ_FIELD_GTE_0, "deployedVMQuota", "port", settings.getDeployedVMQuota()));
|
||||
}
|
||||
if (settings.getStoredVmQuota() != null) {
|
||||
assertTrue(settings.getStoredVmQuota() >= 0, String.format(
|
||||
OBJ_FIELD_GTE_0, "storedVmQuota", "port", settings.getStoredVmQuota()));
|
||||
}
|
||||
if (settings.getDelayAfterPowerOnSeconds() != null) {
|
||||
assertTrue(settings.getDelayAfterPowerOnSeconds() >= 0, String.format(
|
||||
OBJ_FIELD_GTE_0, "delayAfterPowerOnSeconds", "port", settings.getDelayAfterPowerOnSeconds()));
|
||||
}
|
||||
|
||||
// parent type
|
||||
checkResourceType(settings);
|
||||
}
|
||||
|
||||
public static void checkLdapSettings(OrgLdapSettings settings) {
|
||||
// Check optional fields
|
||||
// NOTE customUsersOu cannot be checked
|
||||
if (settings.getLdapMode() != null) {
|
||||
assertTrue(LdapMode.ALL.contains(settings.getLdapMode()), String.format(REQUIRED_VALUE_OBJECT_FMT,
|
||||
"LdapMode", "OrdLdapSettings", settings.getLdapMode(), Iterables.toString(OrgLdapSettings.LdapMode.ALL)));
|
||||
}
|
||||
if (settings.getCustomOrgLdapSettings() != null) {
|
||||
checkCustomOrgLdapSettings(settings.getCustomOrgLdapSettings());
|
||||
}
|
||||
|
||||
// parent type
|
||||
checkResourceType(settings);
|
||||
}
|
||||
|
||||
public static void checkCustomOrgLdapSettings(CustomOrgLdapSettings settings) {
|
||||
// required
|
||||
assertNotNull(settings.getHostName(), String.format(OBJ_FIELD_REQ, "CustomOrgLdapSettings", "hostName"));
|
||||
assertNotNull(settings.getPort(), String.format(OBJ_FIELD_REQ, "CustomOrgLdapSettings", "port"));
|
||||
assertTrue(settings.getPort() >= 0, String.format(
|
||||
OBJ_FIELD_GTE_0, "CustomOrgLdapSettings", "port", settings.getPort()));
|
||||
assertNotNull(settings.getAuthenticationMechanism(), String.format(OBJ_FIELD_REQ, "CustomOrgLdapSettings", "authenticationMechanism"));
|
||||
assertTrue(AuthenticationMechanism.ALL.contains(settings.getAuthenticationMechanism()), String.format(REQUIRED_VALUE_OBJECT_FMT,
|
||||
"AuthenticationMechanism", "CustomOrdLdapSettings", settings.getAuthenticationMechanism(),
|
||||
Iterables.toString(CustomOrgLdapSettings.AuthenticationMechanism.ALL)));
|
||||
assertNotNull(settings.isGroupSearchBaseEnabled(), String.format(OBJ_FIELD_REQ, "CustomOrgLdapSettings", "isGroupSearchBaseEnabled"));
|
||||
assertNotNull(settings.getConnectorType(), String.format(OBJ_FIELD_REQ, "CustomOrgLdapSettings", "connectorType"));
|
||||
assertTrue(ConnectorType.ALL.contains(settings.getConnectorType()), String.format(REQUIRED_VALUE_OBJECT_FMT,
|
||||
"ConnectorType", "CustomOrdLdapSettings", settings.getConnectorType(),
|
||||
Iterables.toString(CustomOrgLdapSettings.ConnectorType.ALL)));
|
||||
assertNotNull(settings.getUserAttributes(), String.format(OBJ_FIELD_REQ, "CustomOrgLdapSettings", "userAttributes"));
|
||||
checkUserAttributes("CustomOrdLdapSettings", settings.getUserAttributes());
|
||||
assertNotNull(settings.getGroupAttributes(), String.format(OBJ_FIELD_REQ, "CustomOrgLdapSettings", "groupAttributes"));
|
||||
checkGroupAttributes("CustomOrdLdapSettings", settings.getGroupAttributes());
|
||||
|
||||
// optional
|
||||
// NOTE isSsl cannot be checked
|
||||
// NOTE isSSlAcceptAll cannot be checked
|
||||
// NOTE realm cannot be checked
|
||||
// NOTE searchBase cannot be checked
|
||||
// NOTE userName cannot be checked
|
||||
// NOTE password cannot be checked
|
||||
// NOTE groupSearchBase cannot be checked
|
||||
}
|
||||
|
||||
public static void checkUserAttributes(String client, OrgLdapUserAttributes attributes) {
|
||||
// required
|
||||
assertNotNull(attributes.getObjectClass(), String.format(OBJ_FIELD_REQ, client, "objectClass"));
|
||||
assertNotNull(attributes.getObjectIdentifier(), String.format(OBJ_FIELD_REQ, client, "objectIdentifier"));
|
||||
assertNotNull(attributes.getUserName(), String.format(OBJ_FIELD_REQ, client, "userName"));
|
||||
assertNotNull(attributes.getEmail(), String.format(OBJ_FIELD_REQ, client, "email"));
|
||||
assertNotNull(attributes.getFullName(), String.format(OBJ_FIELD_REQ, client, "fullName"));
|
||||
assertNotNull(attributes.getGivenName(), String.format(OBJ_FIELD_REQ, client, "givenName"));
|
||||
assertNotNull(attributes.getSurname(), String.format(OBJ_FIELD_REQ, client, "surname"));
|
||||
assertNotNull(attributes.getTelephone(), String.format(OBJ_FIELD_REQ, client, "telephone"));
|
||||
assertNotNull(attributes.getGroupMembershipIdentifier(), String.format(OBJ_FIELD_REQ, client, "groupMembershipIdentifier"));
|
||||
|
||||
// optional
|
||||
// NOTE groupBackLinkIdentifier cannot be checked
|
||||
}
|
||||
|
||||
public static void checkGroupAttributes(String client, OrgLdapGroupAttributes attributes) {
|
||||
// required
|
||||
assertNotNull(attributes.getObjectClass(), String.format(OBJ_FIELD_REQ, client, "objectClass"));
|
||||
assertNotNull(attributes.getObjectIdentifier(), String.format(OBJ_FIELD_REQ, client, "objectIdentifier"));
|
||||
assertNotNull(attributes.getGroupName(), String.format(OBJ_FIELD_REQ, client, "groupName"));
|
||||
assertNotNull(attributes.getMembership(), String.format(OBJ_FIELD_REQ, client, "membership"));
|
||||
assertNotNull(attributes.getMembershipIdentifier(), String.format(OBJ_FIELD_REQ, client, "membershipIdentifier"));
|
||||
|
||||
// optional
|
||||
// NOTE backLinkIdentifier cannot be checked
|
||||
}
|
||||
|
||||
public static void checkPasswordPolicySettings(OrgPasswordPolicySettings settings) {
|
||||
// required
|
||||
assertNotNull(settings.isAccountLockoutEnabled(), String.format(OBJ_FIELD_REQ, "OrgPasswordPolicySettings", "isAccountLockoutEnabled"));
|
||||
assertNotNull(settings.getInvalidLoginsBeforeLockout(), String.format(OBJ_FIELD_REQ, "OrgPasswordPolicySettings", "invalidLoginsBeforeLockout"));
|
||||
assertTrue(settings.getInvalidLoginsBeforeLockout() >= 0, String.format(
|
||||
OBJ_FIELD_GTE_0, "OrgPasswordPolicySettings", "storageLeaseSeconds", settings.getInvalidLoginsBeforeLockout()));
|
||||
assertNotNull(settings.getAccountLockoutIntervalMinutes(), String.format(OBJ_FIELD_REQ, "OrgPasswordPolicySettings", "accountLockoutIntervalMinutes"));
|
||||
assertTrue(settings.getAccountLockoutIntervalMinutes() >= 0, String.format(
|
||||
OBJ_FIELD_GTE_0, "OrgPasswordPolicySettings", "accountLockoutIntervalMinutes", settings.getAccountLockoutIntervalMinutes()));
|
||||
|
||||
// parent type
|
||||
checkResourceType(settings);
|
||||
}
|
||||
|
||||
public static void checkVAppLeaseSettings(OrgLeaseSettings settings) {
|
||||
// Check optional fields
|
||||
// NOTE deleteOnStorageLeaseExpiration cannot be checked
|
||||
if (settings.getStorageLeaseSeconds() != null) {
|
||||
assertTrue(settings.getStorageLeaseSeconds() >= 0, String.format(
|
||||
OBJ_FIELD_GTE_0, "OrgLeaseSettings", "storageLeaseSeconds", settings.getStorageLeaseSeconds()));
|
||||
}
|
||||
if (settings.getDeploymentLeaseSeconds() != null) {
|
||||
assertTrue(settings.getDeploymentLeaseSeconds() >= 0, String.format(
|
||||
OBJ_FIELD_GTE_0, "OrgLeaseSettings", "deploymentLeaseSeconds", settings.getDeploymentLeaseSeconds()));
|
||||
}
|
||||
|
||||
// parent type
|
||||
checkResourceType(settings);
|
||||
}
|
||||
|
||||
public static void checkVAppTemplateLeaseSettings(OrgVAppTemplateLeaseSettings settings) {
|
||||
// Check optional fields
|
||||
// NOTE deleteOnStorageLeaseExpiration cannot be checked
|
||||
if (settings.getStorageLeaseSeconds() != null) {
|
||||
assertTrue(settings.getStorageLeaseSeconds() >= 0, String.format(
|
||||
OBJ_FIELD_GTE_0, "OrgVAppTemplateLeaseSettings", "storageLeaseSeconds", settings.getStorageLeaseSeconds()));
|
||||
}
|
||||
|
||||
// parent type
|
||||
checkResourceType(settings);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,10 +31,11 @@ import org.jclouds.vcloud.director.v1_5.domain.Owner;
|
|||
import org.jclouds.vcloud.director.v1_5.domain.PublishCatalogParams;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Reference;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Task;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.TasksInProgress;
|
||||
import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorRestClientExpectTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
||||
/**
|
||||
* Test the {@link CatalogClient} by observing its side effects.
|
||||
*
|
||||
|
@ -225,8 +226,8 @@ public class AdminCatalogClientExpectTest extends BaseVCloudDirectorRestClientEx
|
|||
.href(URI.create("https://vcloudbeta.bluelock.com/api/catalog/c56d9159-7838-446f-bb35-9ee12dfbbef3/metadata"))
|
||||
.build())
|
||||
.description("created by testCreateCatalog()")
|
||||
.tasksInProgress(TasksInProgress.builder()
|
||||
.task(Task.builder()
|
||||
.tasks(ImmutableSet.<Task>builder()
|
||||
.add(Task.builder()
|
||||
.status("running")
|
||||
.startTime(dateService.iso8601DateParse("2012-03-11T18:43:02.429-04:00"))
|
||||
.operationName("catalogCreateCatalog")
|
||||
|
|
|
@ -18,9 +18,28 @@
|
|||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.features;
|
||||
|
||||
import static org.testng.Assert.assertEquals;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.VCloudDirectorClient;
|
||||
import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.AdminOrg;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.CatalogsList;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.GroupsList;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Link;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Networks;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgEmailSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgGeneralSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgLdapSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgLeaseSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgPasswordPolicySettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgVAppTemplateLeaseSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Reference;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.SmtpServerSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.UsersList;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Vdcs;
|
||||
import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorRestClientExpectTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
|
@ -33,40 +52,571 @@ import org.testng.annotations.Test;
|
|||
public class AdminOrgClientExpectTest extends BaseVCloudDirectorRestClientExpectTest {
|
||||
|
||||
private Reference orgRef = Reference.builder()
|
||||
.type("application/vnd.vmware.admin.???+xml")
|
||||
.name("???")
|
||||
.href(URI.create(endpoint + "/admin/org/???"))
|
||||
.href(URI.create(endpoint + "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0"))
|
||||
.build();
|
||||
|
||||
// GET /admin/org/{id}
|
||||
@Test
|
||||
public void testGetOrg() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("GET", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0")
|
||||
.acceptAnyMedia()
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/org.xml",
|
||||
VCloudDirectorMediaType.ADMIN_ORG)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
// POST /admin/org/{id}/catalogs
|
||||
AdminOrg expected = adminOrg();
|
||||
|
||||
// POST /admin/org/{id}/groups
|
||||
assertEquals(client.getAdminOrgClient().getOrg(orgRef.getHref()), expected);
|
||||
}
|
||||
|
||||
// GET /admin/org/{id}/settings
|
||||
public static final AdminOrg adminOrg() {
|
||||
return AdminOrg.builder()
|
||||
.name("JClouds")
|
||||
.id("urn:vcloud:org:6f312e42-cd2b-488d-a2bb-97519cd57ed0")
|
||||
.type("application/vnd.vmware.admin.organization+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0"))
|
||||
.link(Link.builder()
|
||||
.rel("down")
|
||||
.type("application/vnd.vmware.vcloud.tasksList+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/tasksList/6f312e42-cd2b-488d-a2bb-97519cd57ed0"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("down")
|
||||
.type("application/vnd.vmware.vcloud.metadata+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/metadata"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("add")
|
||||
.type("application/vnd.vmware.admin.catalog+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/catalogs"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("add")
|
||||
.type("application/vnd.vmware.admin.user+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/users"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("add")
|
||||
.type("application/vnd.vmware.admin.group+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/groups"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("add")
|
||||
.type("application/vnd.vmware.admin.orgNetwork+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/networks"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("edit")
|
||||
.type("application/vnd.vmware.admin.organization+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("remove")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("alternate")
|
||||
.type("application/vnd.vmware.vcloud.org+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0"))
|
||||
.build())
|
||||
.description("")
|
||||
.fullName("JClouds")
|
||||
.isEnabled(true)
|
||||
.settings(settings())
|
||||
.users(UsersList.builder()
|
||||
.user(Reference.builder()
|
||||
.type("application/vnd.vmware.admin.user+xml")
|
||||
.name("adam.lowe@cloudsoftcorp.com")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/672ebb67-d8ff-4201-9c1b-c1be869e526c"))
|
||||
.build())
|
||||
.user(Reference.builder()
|
||||
.type("application/vnd.vmware.admin.user+xml")
|
||||
.name("adrian@jclouds.org")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/8c360b93-ed25-4c9a-8e24-d48cd9966d93"))
|
||||
.build())
|
||||
.user(Reference.builder()
|
||||
.type("application/vnd.vmware.admin.user+xml")
|
||||
.name("qunying.huang@enstratus.com")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/967d317c-4273-4a95-b8a4-bf63b78e9c69"))
|
||||
.build())
|
||||
.user(Reference.builder()
|
||||
.type("application/vnd.vmware.admin.user+xml")
|
||||
.name("dan@cloudsoftcorp.com")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/ae75edd2-12de-414c-8e85-e6ea10442c08"))
|
||||
.build())
|
||||
.user(Reference.builder()
|
||||
.type("application/vnd.vmware.admin.user+xml")
|
||||
.name("adk@cloudsoftcorp.com")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/e9eb1b29-0404-4c5e-8ef7-e584acc51da9"))
|
||||
.build())
|
||||
.build())
|
||||
.groups(GroupsList.builder()
|
||||
.build())
|
||||
.catalogs(CatalogsList.builder()
|
||||
.catalog(Reference.builder()
|
||||
.type("application/vnd.vmware.admin.catalog+xml")
|
||||
.name("QunyingTestCatalog")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/catalog/7212e451-76e1-4631-b2de-ba1dfd8080e4"))
|
||||
.build())
|
||||
.catalog(Reference.builder()
|
||||
.type("application/vnd.vmware.admin.catalog+xml")
|
||||
.name("Public")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/catalog/9e08c2f6-077a-42ce-bece-d5332e2ebb5c"))
|
||||
.build())
|
||||
.catalog(Reference.builder()
|
||||
.type("application/vnd.vmware.admin.catalog+xml")
|
||||
.name("dantest")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/catalog/b542aff4-9f97-4f51-a126-4330fbf62f02"))
|
||||
.build())
|
||||
.catalog(Reference.builder()
|
||||
.type("application/vnd.vmware.admin.catalog+xml")
|
||||
.name("test")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/catalog/b7289d54-4ca4-497f-9a93-2d4afc97e3da"))
|
||||
.build())
|
||||
.build())
|
||||
.vdcs(Vdcs.builder()
|
||||
.vdc(Reference.builder()
|
||||
.type("application/vnd.vmware.vcloud.vdc+xml")
|
||||
.name("Cluster01-JClouds")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/vdc/d16d333b-e3c0-4176-845d-a5ee6392df07"))
|
||||
.build())
|
||||
.build())
|
||||
.networks(Networks.builder()
|
||||
.network(Reference.builder()
|
||||
.type("application/vnd.vmware.admin.network+xml")
|
||||
.name("ilsolation01-Jclouds")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/network/f3ba8256-6f48-4512-aad6-600e85b4dc38"))
|
||||
.build())
|
||||
.network(Reference.builder()
|
||||
.type("application/vnd.vmware.admin.network+xml")
|
||||
.name("internet01-Jclouds")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/network/55a677cf-ab3f-48ae-b880-fab90421980c"))
|
||||
.build())
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
|
||||
// PUT /admin/org/{id}/settings
|
||||
@Test(enabled = false)
|
||||
public void testGetSettings() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("GET", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/")
|
||||
.acceptAnyMedia()
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/settings.xml",
|
||||
VCloudDirectorMediaType.ORG_SETTINGS)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
// GET /admin/org/{id}/settings/email
|
||||
OrgSettings expected = settings();
|
||||
|
||||
// PUT /admin/org/{id}/settings/email
|
||||
assertEquals(client.getAdminOrgClient().getSettings(orgRef.getHref()), expected);
|
||||
}
|
||||
|
||||
// GET /admin/org/{id}/settings/general
|
||||
public static final OrgSettings settings() {
|
||||
return OrgSettings.builder()
|
||||
.type("application/vnd.vmware.admin.orgSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings"))
|
||||
.link(Link.builder()
|
||||
.rel("down")
|
||||
.type("application/vnd.vmware.admin.vAppTemplateLeaseSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppTemplateLeaseSettings"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("down")
|
||||
.type("application/vnd.vmware.admin.organizationEmailSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("down")
|
||||
.type("application/vnd.vmware.admin.vAppLeaseSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppLeaseSettings"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("down")
|
||||
.type("application/vnd.vmware.admin.organizationPasswordPolicySettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("down")
|
||||
.type("application/vnd.vmware.admin.organizationGeneralSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/general"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("down")
|
||||
.type("application/vnd.vmware.admin.organizationLdapSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/ldap"))
|
||||
.build())
|
||||
.link(Link.builder()
|
||||
.rel("edit")
|
||||
.type("application/vnd.vmware.admin.orgSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings"))
|
||||
.build())
|
||||
.generalSettings(generalSettings())
|
||||
.vAppLeaseSettings(vAppLeaseSettings())
|
||||
.vAppTemplateLeaseSettings(vAppTemplateLeaseSettings())
|
||||
.ldapSettings(ldapSettings())
|
||||
.emailSettings(emailSettings())
|
||||
.passwordPolicy(passwordPolicy())
|
||||
.build();
|
||||
}
|
||||
|
||||
// PUT /admin/org/{id}/settings/general
|
||||
@Test(enabled = false)
|
||||
public void testUpdateSettings() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("PUT", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/")
|
||||
.xmlFilePayload("/org/admin/updateSettingsSource.xml",
|
||||
VCloudDirectorMediaType.ORG_SETTINGS)
|
||||
.acceptMedia(VCloudDirectorMediaType.ORG_SETTINGS)
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/updateSettings.xml",
|
||||
VCloudDirectorMediaType.ORG_SETTINGS)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
// GET /admin/org/{id}/settings/ldap
|
||||
OrgSettings expected = updateSettings();
|
||||
|
||||
// GET /admin/org/{id}/settings/passwordPolicy
|
||||
assertEquals(client.getAdminOrgClient().updateSettings(orgRef.getHref(), expected), expected);
|
||||
}
|
||||
|
||||
// PUT /admin/org/{id}/settings/passwordPolicy
|
||||
@Test
|
||||
public static final OrgSettings updateSettings() {
|
||||
return settings().toBuilder()
|
||||
.build();
|
||||
}
|
||||
|
||||
// GET /admin/org/{id}/settings/vAppLeaseSettings
|
||||
@Test
|
||||
public void testGetEmailSettings() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("GET", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email")
|
||||
.acceptAnyMedia()
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/emailSettings.xml",
|
||||
VCloudDirectorMediaType.ORG_GENERAL_SETTINGS)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
// PUT /admin/org/{id}/settings/vAppLeaseSettings
|
||||
OrgEmailSettings expected = emailSettings();
|
||||
|
||||
// GET /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||
assertEquals(client.getAdminOrgClient().getEmailSettings(orgRef.getHref()), expected);
|
||||
}
|
||||
|
||||
// PUT /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||
public static final OrgEmailSettings emailSettings() {
|
||||
return OrgEmailSettings.builder()
|
||||
.type("application/vnd.vmware.admin.organizationEmailSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email"))
|
||||
.link(Link.builder()
|
||||
.rel("edit")
|
||||
.type("application/vnd.vmware.admin.organizationEmailSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email"))
|
||||
.build())
|
||||
.isDefaultSmtpServer(true)
|
||||
.isDefaultOrgEmail(true)
|
||||
.fromEmailAddress("")
|
||||
.defaultSubjectPrefix("")
|
||||
.isAlertEmailToAllAdmins(true)
|
||||
.smtpServerSettings(SmtpServerSettings.builder()
|
||||
.useAuthentication(false)
|
||||
.host("")
|
||||
.username("")
|
||||
.password("")
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateEmailSettings() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("PUT", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email")
|
||||
.xmlFilePayload("/org/admin/updateEmailSettingsSource.xml",
|
||||
VCloudDirectorMediaType.ORG_EMAIL_SETTINGS)
|
||||
.acceptMedia(VCloudDirectorMediaType.ORG_EMAIL_SETTINGS)
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/updateEmailSettings.xml",
|
||||
VCloudDirectorMediaType.ORG_EMAIL_SETTINGS)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
OrgEmailSettings expected = updateEmailSettings();
|
||||
|
||||
assertEquals(client.getAdminOrgClient().updateEmailSettings(orgRef.getHref(), expected), expected);
|
||||
}
|
||||
|
||||
@Test
|
||||
public static final OrgEmailSettings updateEmailSettings() {
|
||||
return emailSettings().toBuilder()
|
||||
.isDefaultSmtpServer(false)
|
||||
.isDefaultOrgEmail(false)
|
||||
.fromEmailAddress("test@test.com")
|
||||
.defaultSubjectPrefix("new")
|
||||
.isAlertEmailToAllAdmins(false)
|
||||
.smtpServerSettings(emailSettings().getSmtpServerSettings().toBuilder()
|
||||
.useAuthentication(true)
|
||||
.host("new")
|
||||
.username("new")
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test(enabled = false)
|
||||
public void testGetGeneralSettings() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("GET", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/general")
|
||||
.acceptAnyMedia()
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/generalSettings.xml",
|
||||
VCloudDirectorMediaType.ORG_GENERAL_SETTINGS)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
OrgGeneralSettings expected = generalSettings();
|
||||
|
||||
assertEquals(client.getAdminOrgClient().getGeneralSettings(orgRef.getHref()), expected);
|
||||
}
|
||||
|
||||
public static final OrgGeneralSettings generalSettings() {
|
||||
return OrgGeneralSettings.builder()
|
||||
.type("application/vnd.vmware.admin.organizationGeneralSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/general"))
|
||||
.link(Link.builder()
|
||||
.rel("edit")
|
||||
.type("application/vnd.vmware.admin.organizationGeneralSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/general"))
|
||||
.build())
|
||||
.canPublishCatalogs(false)
|
||||
.deployedVMQuota(0)
|
||||
.storedVmQuota(0)
|
||||
.useServerBootSequence(false)
|
||||
.delayAfterPowerOnSeconds(0)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test(enabled = false)
|
||||
public void testUpdateGeneralSettings() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("PUT", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/general")
|
||||
.xmlFilePayload("/org/admin/updateGeneralSettingsSource.xml",
|
||||
VCloudDirectorMediaType.ORG_GENERAL_SETTINGS)
|
||||
.acceptMedia(VCloudDirectorMediaType.ORG_GENERAL_SETTINGS)
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/updateGeneralSettings.xml",
|
||||
VCloudDirectorMediaType.ORG_GENERAL_SETTINGS)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
OrgGeneralSettings expected = updateGeneralSettings();
|
||||
|
||||
assertEquals(client.getAdminOrgClient().updateGeneralSettings(orgRef.getHref(), expected), expected);
|
||||
}
|
||||
|
||||
public static final OrgGeneralSettings updateGeneralSettings() {
|
||||
return generalSettings().toBuilder()
|
||||
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetLdapSettings() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("GET", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/ldap")
|
||||
.acceptAnyMedia()
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/ldapSettings.xml",
|
||||
VCloudDirectorMediaType.ORG_LDAP_SETTINGS)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
OrgLdapSettings expected = ldapSettings();
|
||||
|
||||
assertEquals(client.getAdminOrgClient().getLdapSettings(orgRef.getHref()), expected);
|
||||
}
|
||||
|
||||
public static final OrgLdapSettings ldapSettings() {
|
||||
return OrgLdapSettings.builder()
|
||||
.type("application/vnd.vmware.admin.organizationLdapSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/ldap"))
|
||||
.ldapMode("NONE")
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetPasswordPolicy() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("GET", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy")
|
||||
.acceptAnyMedia()
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/passwordPolicy.xml",
|
||||
VCloudDirectorMediaType.ORG_PASSWORD_POLICY_SETTINGS)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
OrgPasswordPolicySettings expected = passwordPolicy();
|
||||
|
||||
assertEquals(client.getAdminOrgClient().getPasswordPolicy(orgRef.getHref()), expected);
|
||||
}
|
||||
|
||||
public static final OrgPasswordPolicySettings passwordPolicy() {
|
||||
return OrgPasswordPolicySettings.builder()
|
||||
.type("application/vnd.vmware.admin.organizationPasswordPolicySettings+xml")
|
||||
.link(Link.builder()
|
||||
.rel("edit")
|
||||
.type("application/vnd.vmware.admin.organizationPasswordPolicySettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy"))
|
||||
.build())
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy"))
|
||||
.accountLockoutEnabled(false)
|
||||
.invalidLoginsBeforeLockout(5)
|
||||
.accountLockoutIntervalMinutes(10)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdatePasswordPolicy() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("PUT", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy")
|
||||
.xmlFilePayload("/org/admin/updatePasswordPolicySource.xml",
|
||||
VCloudDirectorMediaType.ORG_PASSWORD_POLICY_SETTINGS)
|
||||
.acceptMedia(VCloudDirectorMediaType.ORG_PASSWORD_POLICY_SETTINGS)
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/updatePasswordPolicy.xml",
|
||||
VCloudDirectorMediaType.ORG_PASSWORD_POLICY_SETTINGS)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
OrgPasswordPolicySettings expected = updateOrgPasswordPolicy();
|
||||
|
||||
assertEquals(client.getAdminOrgClient().updatePasswordPolicy(orgRef.getHref(), expected), expected);
|
||||
}
|
||||
|
||||
public static final OrgPasswordPolicySettings updateOrgPasswordPolicy() {
|
||||
return passwordPolicy().toBuilder()
|
||||
.accountLockoutEnabled(true)
|
||||
.invalidLoginsBeforeLockout(6)
|
||||
.accountLockoutIntervalMinutes(11)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test(enabled = false)
|
||||
public void testGetVAppLeaseSettings() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("GET", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppLeaseSettings")
|
||||
.acceptAnyMedia()
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/vAppLeaseSettings.xml",
|
||||
VCloudDirectorMediaType.ORG_LEASE_SETTINGS)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
OrgLeaseSettings expected = vAppLeaseSettings();
|
||||
|
||||
assertEquals(client.getAdminOrgClient().getVAppLeaseSettings(orgRef.getHref()), expected);
|
||||
}
|
||||
|
||||
public static final OrgLeaseSettings vAppLeaseSettings() {
|
||||
return OrgLeaseSettings.builder()
|
||||
.type("application/vnd.vmware.admin.vAppLeaseSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppLeaseSettings"))
|
||||
.link(Link.builder()
|
||||
.rel("edit")
|
||||
.type("application/vnd.vmware.admin.vAppLeaseSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppLeaseSettings"))
|
||||
.build())
|
||||
.deleteOnStorageLeaseExpiration(false)
|
||||
.deploymentLeaseSeconds(0)
|
||||
.storageLeaseSeconds(0)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test(enabled = false)
|
||||
public void testUpdateOrgVAppLeaseSettings() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("PUT", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppLeaseSettings")
|
||||
.xmlFilePayload("/org/admin/updateVAppLeaseSettingsSource.xml",
|
||||
VCloudDirectorMediaType.ORG_LEASE_SETTINGS)
|
||||
.acceptMedia(VCloudDirectorMediaType.ORG_LEASE_SETTINGS)
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/updateVAppLeaseSettings.xml",
|
||||
VCloudDirectorMediaType.ORG_LEASE_SETTINGS)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
OrgLeaseSettings expected = updateVAppLeaseSettings();
|
||||
|
||||
assertEquals(client.getAdminOrgClient().updateVAppLeaseSettings(orgRef.getHref(), expected), expected);
|
||||
}
|
||||
|
||||
public static final OrgLeaseSettings updateVAppLeaseSettings() {
|
||||
return vAppLeaseSettings().toBuilder()
|
||||
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test(enabled = false)
|
||||
public void testGetVAppTemplateLeaseSettings() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("GET", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppTemplateLeaseSettings")
|
||||
.acceptAnyMedia()
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/vAppTemplateLeaseSettings.xml",
|
||||
VCloudDirectorMediaType.ORG_VAPP_TEMPLATE_LEASE_SETTINGS)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
OrgVAppTemplateLeaseSettings expected = vAppTemplateLeaseSettings();
|
||||
|
||||
assertEquals(client.getAdminOrgClient().getVAppTemplateLeaseSettings(orgRef.getHref()), expected);
|
||||
}
|
||||
|
||||
public static final OrgVAppTemplateLeaseSettings vAppTemplateLeaseSettings() {
|
||||
return OrgVAppTemplateLeaseSettings.builder()
|
||||
.type("application/vnd.vmware.admin.vAppTemplateLeaseSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppTemplateLeaseSettings"))
|
||||
.link(Link.builder()
|
||||
.rel("edit")
|
||||
.type("application/vnd.vmware.admin.vAppTemplateLeaseSettings+xml")
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppTemplateLeaseSettings"))
|
||||
.build())
|
||||
.deleteOnStorageLeaseExpiration(false)
|
||||
.storageLeaseSeconds(0)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test(enabled = false)
|
||||
public void testUpdateOrgVAppTemplateLeaseSettings() {
|
||||
VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse,
|
||||
new VcloudHttpRequestPrimer()
|
||||
.apiCommand("PUT", "/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppTemplateLeaseSettings")
|
||||
.xmlFilePayload("/org/admin/updateVAppLeaseSettingsSource.xml",
|
||||
VCloudDirectorMediaType.ORG_VAPP_TEMPLATE_LEASE_SETTINGS)
|
||||
.acceptMedia(VCloudDirectorMediaType.ORG_VAPP_TEMPLATE_LEASE_SETTINGS)
|
||||
.httpRequestBuilder().build(),
|
||||
new VcloudHttpResponsePrimer()
|
||||
.xmlFilePayload("/org/admin/updateVAppLeaseSettings.xml",
|
||||
VCloudDirectorMediaType.ORG_VAPP_TEMPLATE_LEASE_SETTINGS)
|
||||
.httpResponseBuilder().build());
|
||||
|
||||
OrgVAppTemplateLeaseSettings expected = updateVAppTemplateLeaseSettings();
|
||||
|
||||
assertEquals(client.getAdminOrgClient().updateVAppTemplateLeaseSettings(orgRef.getHref(), expected), expected);
|
||||
}
|
||||
|
||||
public static final OrgVAppTemplateLeaseSettings updateVAppTemplateLeaseSettings() {
|
||||
return vAppTemplateLeaseSettings().toBuilder()
|
||||
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,15 +18,29 @@
|
|||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.features;
|
||||
|
||||
import java.net.URI;
|
||||
import static com.google.common.base.Objects.equal;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_FIELD_UPDATABLE;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.REF_REQ_LIVE;
|
||||
import static org.testng.Assert.assertNotNull;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.AdminOrg;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Reference;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Checks;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgEmailSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgGeneralSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgLdapSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgLeaseSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgPasswordPolicySettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.OrgVAppTemplateLeaseSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ReferenceType;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.SmtpServerSettings;
|
||||
import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorClientLiveTest;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import com.google.common.collect.Iterables;
|
||||
|
||||
/**
|
||||
* Tests live behavior of {@link AdminGroupClient}.
|
||||
*
|
||||
|
@ -35,7 +49,7 @@ import org.testng.annotations.Test;
|
|||
@Test(groups = { "live", "admin", "org" }, singleThreaded = true, testName = "AdminOrgClientLiveTest")
|
||||
public class AdminOrgClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||
|
||||
public static final String GROUP = "admin org";
|
||||
public static final String ORG = "admin org";
|
||||
|
||||
/*
|
||||
* Convenience references to API clients.
|
||||
|
@ -47,46 +61,381 @@ public class AdminOrgClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
|||
* Shared state between dependant tests.
|
||||
*/
|
||||
private ReferenceType<?> orgRef;
|
||||
private AdminOrg org;
|
||||
private OrgSettings settings, newSettings;
|
||||
private OrgEmailSettings emailSettings, newEmailSettings;
|
||||
private OrgGeneralSettings generalSettings, newGeneralSettings;
|
||||
private OrgLdapSettings ldapSettings, newLdapSettings;
|
||||
private OrgPasswordPolicySettings passwordPolicy, newPasswordPolicy;
|
||||
private OrgLeaseSettings vAppLeaseSettings, newVAppLeaseSettings;
|
||||
private OrgVAppTemplateLeaseSettings vAppTemplateLeaseSettings, newVAppTemplateLeaseSettings;
|
||||
|
||||
@Override
|
||||
@BeforeClass(inheritGroups = true)
|
||||
public void setupRequiredClients() {
|
||||
orgClient = context.getApi().getAdminOrgClient();
|
||||
orgRef = Reference.builder()
|
||||
.href(URI.create("https://vcloudbeta.bluelock.com/api/admin/org/???"))
|
||||
.build();
|
||||
orgRef = Iterables.getFirst(orgClient.getOrgList().getOrgs(), null).toAdminReference(endpoint);
|
||||
assertNotNull(orgRef, String.format(REF_REQ_LIVE, "admin org"));
|
||||
}
|
||||
|
||||
// GET /admin/org/{id}
|
||||
@Test(testName = "GET /admin/org/{id}")
|
||||
public void testGetAdminOrg() {
|
||||
AdminOrg adminOrg = orgClient.getOrg(orgRef.getHref());
|
||||
|
||||
// POST /admin/org/{id}/catalogs
|
||||
Checks.checkAdminOrg(adminOrg);
|
||||
}
|
||||
|
||||
// POST /admin/org/{id}/groups
|
||||
@Test(testName = "GET /admin/org/{id}/settings/emailSettings")
|
||||
public void testGetEmailSettings() {
|
||||
emailSettings = orgClient.getEmailSettings(orgRef.getHref());
|
||||
|
||||
// GET /admin/org/{id}/settings
|
||||
Checks.checkEmailSettings(emailSettings);
|
||||
}
|
||||
|
||||
// PUT /admin/org/{id}/settings
|
||||
@Test(testName = "PUT /admin/org/{id}/settings/emailSettings",
|
||||
dependsOnMethods = { "testGetEmailSettings" })
|
||||
public void testUpdateEmailSettings() {
|
||||
boolean isDefaultSmtpServer = emailSettings.isDefaultSmtpServer();
|
||||
boolean isDefaultOrgEmail = emailSettings.isDefaultOrgEmail();
|
||||
String oldFromEmailAddress = emailSettings.getFromEmailAddress();
|
||||
String newFromEmailAddress = "test@test.com";
|
||||
String oldDefaultSubjectPrefix = emailSettings.getDefaultSubjectPrefix();
|
||||
String newDefaultSubjectPrefix = "new"+oldDefaultSubjectPrefix;
|
||||
boolean isAlertEmailToAllAdmins = emailSettings.isAlertEmailToAllAdmins();
|
||||
SmtpServerSettings oldSmtpServerSettings = emailSettings.getSmtpServerSettings();
|
||||
SmtpServerSettings newSmtpServerSettings = oldSmtpServerSettings.toBuilder()
|
||||
.useAuthentication(!oldSmtpServerSettings.useAuthentication())
|
||||
.host("new"+oldSmtpServerSettings.getHost())
|
||||
.username("new"+oldSmtpServerSettings.getUsername())
|
||||
.password("new"+oldSmtpServerSettings.getPassword())
|
||||
.build();
|
||||
|
||||
// GET /admin/org/{id}/settings/email
|
||||
try {
|
||||
newEmailSettings = emailSettings.toBuilder()
|
||||
.isDefaultSmtpServer(!isDefaultSmtpServer)
|
||||
.isDefaultOrgEmail(!isDefaultOrgEmail)
|
||||
.fromEmailAddress(newFromEmailAddress)
|
||||
.defaultSubjectPrefix(newDefaultSubjectPrefix)
|
||||
.isAlertEmailToAllAdmins(!isAlertEmailToAllAdmins)
|
||||
.smtpServerSettings(newSmtpServerSettings)
|
||||
.build();
|
||||
|
||||
// PUT /admin/org/{id}/settings/email
|
||||
emailSettings = orgClient.updateEmailSettings(
|
||||
orgRef.getHref(), newEmailSettings);
|
||||
|
||||
// GET /admin/org/{id}/settings/general
|
||||
assertTrue(equal(emailSettings.isDefaultSmtpServer(), !isDefaultSmtpServer),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"emailSettings", "isDefaultSmtpServer"));
|
||||
assertTrue(equal(emailSettings.isDefaultOrgEmail(), !isDefaultOrgEmail),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"emailSettings", "isDefaultOrgEmail"));
|
||||
assertTrue(equal(emailSettings.getFromEmailAddress(), newFromEmailAddress),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"emailSettings", "fromEmailAddress"));
|
||||
assertTrue(equal(emailSettings.getDefaultSubjectPrefix(), newDefaultSubjectPrefix),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"emailSettings", "defaultSubjectPrefix"));
|
||||
assertTrue(equal(emailSettings.isAlertEmailToAllAdmins(), !isAlertEmailToAllAdmins),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"emailSettings", "isAlertEmailToAllAdmins"));
|
||||
assertTrue(equal(emailSettings.getSmtpServerSettings(), newSmtpServerSettings),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"emailSettings", "smtpServerSettings"));
|
||||
|
||||
// PUT /admin/org/{id}/settings/general
|
||||
//TODO negative tests?
|
||||
|
||||
// GET /admin/org/{id}/settings/ldap
|
||||
Checks.checkEmailSettings(emailSettings);
|
||||
} finally {
|
||||
emailSettings = emailSettings.toBuilder()
|
||||
.isDefaultSmtpServer(isDefaultSmtpServer)
|
||||
.isDefaultOrgEmail(isDefaultOrgEmail)
|
||||
.fromEmailAddress(oldFromEmailAddress)
|
||||
.defaultSubjectPrefix(oldDefaultSubjectPrefix)
|
||||
.isAlertEmailToAllAdmins(isAlertEmailToAllAdmins)
|
||||
.smtpServerSettings(oldSmtpServerSettings)
|
||||
.build();
|
||||
|
||||
// GET /admin/org/{id}/settings/passwordPolicy
|
||||
emailSettings = orgClient.updateEmailSettings(
|
||||
orgRef.getHref(), emailSettings);
|
||||
}
|
||||
}
|
||||
|
||||
// PUT /admin/org/{id}/settings/passwordPolicy
|
||||
@Test(testName = "GET /admin/org/{id}/settings/generalSettings")
|
||||
public void testGetGeneralSettings() {
|
||||
generalSettings = orgClient.getGeneralSettings(orgRef.getHref());
|
||||
|
||||
// GET /admin/org/{id}/settings/vAppLeaseSettings
|
||||
Checks.checkGeneralSettings(generalSettings);
|
||||
}
|
||||
|
||||
// PUT /admin/org/{id}/settings/vAppLeaseSettings
|
||||
@Test(testName = "PUT /admin/org/{id}/settings/generalSettings",
|
||||
dependsOnMethods = { "testGetGeneralSettings" }, enabled = false )
|
||||
public void testUpdateGeneralSettings() {
|
||||
// boolean canPublishCatalogs = generalSettings.canPublishCatalogs(); // FIXME: did not update
|
||||
Integer deployedVMQuota = generalSettings.getDeployedVMQuota();
|
||||
Integer storedVmQuota = generalSettings.getStoredVmQuota();
|
||||
boolean useServerBootSequence = generalSettings.useServerBootSequence();
|
||||
Integer delayAfterPowerOnSeconds = generalSettings.getDelayAfterPowerOnSeconds();
|
||||
|
||||
// GET /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||
try {
|
||||
newGeneralSettings = generalSettings.toBuilder()
|
||||
// .canPublishCatalogs(!canPublishCatalogs)
|
||||
.deployedVMQuota(deployedVMQuota+1)
|
||||
.storedVmQuota(storedVmQuota+1)
|
||||
.useServerBootSequence(!useServerBootSequence)
|
||||
.delayAfterPowerOnSeconds(delayAfterPowerOnSeconds+1)
|
||||
.build();
|
||||
|
||||
// PUT /admin/org/{id}/settings/vAppTemplateLeaseSettings
|
||||
generalSettings = orgClient.updateGeneralSettings(
|
||||
orgRef.getHref(), newGeneralSettings);
|
||||
|
||||
// assertTrue(equal(generalSettings.canPublishCatalogs(), !canPublishCatalogs),
|
||||
// String.format(OBJ_FIELD_UPDATABLE,
|
||||
// "generalSettings", "canPublishCatalogs"));
|
||||
assertTrue(equal(generalSettings.getDeployedVMQuota(), deployedVMQuota+1),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"generalSettings", "deployedVMQuota"));
|
||||
assertTrue(equal(generalSettings.getStoredVmQuota(), storedVmQuota+1),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"generalSettings", "storedVmQuota"));
|
||||
assertTrue(equal(generalSettings.useServerBootSequence(), !useServerBootSequence),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"generalSettings", "useServerBootSequence"));
|
||||
assertTrue(equal(generalSettings.getDelayAfterPowerOnSeconds(), delayAfterPowerOnSeconds+1),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"generalSettings", "delayAfterPowerOnSeconds"));
|
||||
|
||||
//TODO negative tests?
|
||||
|
||||
Checks.checkGeneralSettings(generalSettings);
|
||||
} finally {
|
||||
generalSettings = generalSettings.toBuilder()
|
||||
// .canPublishCatalogs(canPublishCatalogs)
|
||||
.deployedVMQuota(deployedVMQuota)
|
||||
.storedVmQuota(storedVmQuota)
|
||||
.useServerBootSequence(useServerBootSequence)
|
||||
.delayAfterPowerOnSeconds(delayAfterPowerOnSeconds)
|
||||
.build();
|
||||
|
||||
generalSettings = orgClient.updateGeneralSettings(
|
||||
orgRef.getHref(), generalSettings);
|
||||
}
|
||||
}
|
||||
|
||||
@Test(testName = "GET /admin/org/{id}/settings/ldap")
|
||||
public void testGetLdapSettings() {
|
||||
ldapSettings = orgClient.getLdapSettings(orgRef.getHref());
|
||||
|
||||
Checks.checkLdapSettings(ldapSettings);
|
||||
}
|
||||
|
||||
@Test(testName = "GET /admin/org/{id}/settings/passwordPolicy")
|
||||
public void testGetPasswordPolicy() {
|
||||
passwordPolicy = orgClient.getPasswordPolicy(orgRef.getHref());
|
||||
|
||||
Checks.checkPasswordPolicySettings(passwordPolicy);
|
||||
}
|
||||
|
||||
@Test(testName = "PUT /admin/org/{id}/settings/passwordPolicy",
|
||||
dependsOnMethods = { "testGetPasswordPolicy" })
|
||||
public void testUpdatePasswordPolicy() {
|
||||
boolean accountLockoutEnabled = passwordPolicy.isAccountLockoutEnabled();
|
||||
Integer invalidLoginsBeforeLockout = passwordPolicy.getInvalidLoginsBeforeLockout();
|
||||
Integer accountLockoutIntervalMinutes = passwordPolicy.getAccountLockoutIntervalMinutes();
|
||||
|
||||
try {
|
||||
newPasswordPolicy = passwordPolicy.toBuilder()
|
||||
.accountLockoutEnabled(!accountLockoutEnabled)
|
||||
.invalidLoginsBeforeLockout(invalidLoginsBeforeLockout+1)
|
||||
.accountLockoutIntervalMinutes(accountLockoutIntervalMinutes+1)
|
||||
.build();
|
||||
|
||||
passwordPolicy = orgClient.updatePasswordPolicy(
|
||||
orgRef.getHref(), newPasswordPolicy);
|
||||
|
||||
assertTrue(equal(passwordPolicy.isAccountLockoutEnabled(), !accountLockoutEnabled),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"PasswordPolicySettings", "deleteOnStorageLeaseExpiration"));
|
||||
assertTrue(equal(passwordPolicy.getInvalidLoginsBeforeLockout(), invalidLoginsBeforeLockout+1),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"PasswordPolicySettings", "storageLeaseSeconds"));
|
||||
assertTrue(equal(passwordPolicy.getAccountLockoutIntervalMinutes(), accountLockoutIntervalMinutes+1),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"PasswordPolicySettings", "deploymentLeaseSeconds"));
|
||||
|
||||
//TODO negative tests?
|
||||
|
||||
Checks.checkPasswordPolicySettings(passwordPolicy);
|
||||
} finally {
|
||||
passwordPolicy = passwordPolicy.toBuilder()
|
||||
.accountLockoutEnabled(accountLockoutEnabled)
|
||||
.invalidLoginsBeforeLockout(invalidLoginsBeforeLockout)
|
||||
.accountLockoutIntervalMinutes(accountLockoutIntervalMinutes)
|
||||
.build();
|
||||
|
||||
passwordPolicy = orgClient.updatePasswordPolicy(
|
||||
orgRef.getHref(), passwordPolicy);
|
||||
}
|
||||
}
|
||||
|
||||
@Test(testName = "GET /admin/org/{id}/settings/vAppLeaseSettings")
|
||||
public void testGetVAppLeaseSettings() {
|
||||
vAppLeaseSettings = orgClient.getVAppLeaseSettings(orgRef.getHref());
|
||||
|
||||
Checks.checkVAppLeaseSettings(vAppLeaseSettings);
|
||||
}
|
||||
|
||||
@Test(testName = "PUT /admin/org/{id}/settings/vAppLeaseSettings",
|
||||
dependsOnMethods = { "testGetVAppLeaseSettings" }, enabled = false) // FIXME: fails with 403 forbidden
|
||||
public void testUpdateVAppLeaseSettings() {
|
||||
boolean deleteOnStorageLeaseExpiration = vAppLeaseSettings.deleteOnStorageLeaseExpiration();
|
||||
Integer storageLeaseSeconds = vAppLeaseSettings.getStorageLeaseSeconds();
|
||||
Integer deploymentLeaseSeconds = vAppLeaseSettings.getDeploymentLeaseSeconds();
|
||||
|
||||
try {
|
||||
newVAppLeaseSettings = vAppLeaseSettings.toBuilder()
|
||||
.deleteOnStorageLeaseExpiration(!deleteOnStorageLeaseExpiration)
|
||||
.storageLeaseSeconds(storageLeaseSeconds+1)
|
||||
.deploymentLeaseSeconds(deploymentLeaseSeconds+1)
|
||||
.build();
|
||||
|
||||
vAppLeaseSettings = orgClient.updateVAppLeaseSettings(
|
||||
orgRef.getHref(), newVAppLeaseSettings);
|
||||
|
||||
assertTrue(equal(vAppLeaseSettings.deleteOnStorageLeaseExpiration(), !deleteOnStorageLeaseExpiration),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"vAppLeaseSettings", "deleteOnStorageLeaseExpiration"));
|
||||
assertTrue(equal(vAppLeaseSettings.getStorageLeaseSeconds(), storageLeaseSeconds+1),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"vAppLeaseSettings", "storageLeaseSeconds"));
|
||||
assertTrue(equal(vAppLeaseSettings.getDeploymentLeaseSeconds(), deploymentLeaseSeconds+1),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"vAppLeaseSettings", "deploymentLeaseSeconds"));
|
||||
|
||||
//TODO negative tests?
|
||||
|
||||
Checks.checkVAppLeaseSettings(vAppLeaseSettings);
|
||||
} finally {
|
||||
vAppLeaseSettings = vAppLeaseSettings.toBuilder()
|
||||
.deleteOnStorageLeaseExpiration(deleteOnStorageLeaseExpiration)
|
||||
.storageLeaseSeconds(storageLeaseSeconds)
|
||||
.deploymentLeaseSeconds(deploymentLeaseSeconds)
|
||||
.build();
|
||||
|
||||
vAppLeaseSettings = orgClient.updateVAppLeaseSettings(
|
||||
orgRef.getHref(), vAppLeaseSettings);
|
||||
}
|
||||
}
|
||||
|
||||
@Test(testName = "GET /admin/org/{id}/settings/vAppTemplateLeaseSettings")
|
||||
public void testGetVAppTemplateLeaseSettings() {
|
||||
vAppTemplateLeaseSettings = orgClient.getVAppTemplateLeaseSettings(orgRef.getHref());
|
||||
|
||||
Checks.checkVAppTemplateLeaseSettings(vAppTemplateLeaseSettings);
|
||||
}
|
||||
|
||||
@Test(testName = "PUT /admin/org/{id}/settings/vAppTemplateLeaseSettings",
|
||||
dependsOnMethods = { "testGetVAppTemplateLeaseSettings" }, enabled = false) // FIXME: fails with 403 forbidden
|
||||
public void testUpdateVAppTemplateLeaseSettings() {
|
||||
boolean deleteOnStorageLeaseExpiration = vAppTemplateLeaseSettings.deleteOnStorageLeaseExpiration();
|
||||
Integer storageLeaseSeconds = vAppTemplateLeaseSettings.getStorageLeaseSeconds();
|
||||
|
||||
try {
|
||||
newVAppTemplateLeaseSettings = vAppTemplateLeaseSettings.toBuilder()
|
||||
.deleteOnStorageLeaseExpiration(!deleteOnStorageLeaseExpiration)
|
||||
.storageLeaseSeconds(storageLeaseSeconds+1)
|
||||
.build();
|
||||
|
||||
vAppTemplateLeaseSettings = orgClient.updateVAppTemplateLeaseSettings(
|
||||
orgRef.getHref(), newVAppTemplateLeaseSettings);
|
||||
|
||||
assertTrue(equal(vAppTemplateLeaseSettings.deleteOnStorageLeaseExpiration(), !deleteOnStorageLeaseExpiration),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"vAppTemplateLeaseSettings", "deleteOnStorageLeaseExpiration"));
|
||||
assertTrue(equal(vAppTemplateLeaseSettings.getStorageLeaseSeconds(), storageLeaseSeconds+1),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"vAppTemplateLeaseSettings", "storageLeaseSeconds"));
|
||||
|
||||
//TODO negative tests?
|
||||
|
||||
Checks.checkVAppTemplateLeaseSettings(vAppTemplateLeaseSettings);
|
||||
} finally {
|
||||
vAppTemplateLeaseSettings = vAppTemplateLeaseSettings.toBuilder()
|
||||
.deleteOnStorageLeaseExpiration(deleteOnStorageLeaseExpiration)
|
||||
.storageLeaseSeconds(storageLeaseSeconds)
|
||||
.build();
|
||||
|
||||
vAppTemplateLeaseSettings = orgClient.updateVAppTemplateLeaseSettings(
|
||||
orgRef.getHref(), vAppTemplateLeaseSettings);
|
||||
}
|
||||
}
|
||||
|
||||
@Test(testName = "GET /admin/org/{id}/settings/settings",
|
||||
dependsOnMethods = { "testGetGeneralSettings",
|
||||
"testGetVAppLeaseSettings",
|
||||
"testGetVAppTemplateLeaseSettings",
|
||||
"testGetLdapSettings",
|
||||
"testGetEmailSettings",
|
||||
"testGetPasswordPolicy"})
|
||||
public void testGetSettings() {
|
||||
settings = orgClient.getSettings(orgRef.getHref());
|
||||
|
||||
Checks.checkOrgSettings(settings);
|
||||
}
|
||||
|
||||
@Test(testName = "PUT /admin/org/{id}/settings/settings",
|
||||
dependsOnMethods = { "testUpdateGeneralSettings",
|
||||
"testUpdateVAppLeaseSettings",
|
||||
"testUpdateVAppTemplateLeaseSettings",
|
||||
"testUpdateEmailSettings",
|
||||
"testUpdatePasswordPolicy"},
|
||||
enabled = false )
|
||||
public void testUpdateSettings() {
|
||||
try {
|
||||
newSettings = settings.toBuilder()
|
||||
.generalSettings(newGeneralSettings)
|
||||
.vAppLeaseSettings(newVAppLeaseSettings)
|
||||
.vAppTemplateLeaseSettings(newVAppTemplateLeaseSettings)
|
||||
.ldapSettings(newLdapSettings)
|
||||
.emailSettings(newEmailSettings)
|
||||
.passwordPolicy(newPasswordPolicy)
|
||||
.build();
|
||||
|
||||
settings = orgClient.updateSettings(
|
||||
orgRef.getHref(), newSettings);
|
||||
|
||||
assertTrue(equal(settings.getGeneralSettings(), newGeneralSettings),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"orgSettings", "generalSettings"));
|
||||
assertTrue(equal(settings.getVAppLeaseSettings(), newVAppLeaseSettings),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"orgSettings", "vAppLeaseSettings"));
|
||||
assertTrue(equal(settings.getVAppTemplateLeaseSettings(), newVAppTemplateLeaseSettings),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"orgSettings", "vAppTemplateLeaseSettings"));
|
||||
assertTrue(equal(settings.getLdapSettings(), newLdapSettings),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"orgSettings", "ldapSettings"));
|
||||
assertTrue(equal(settings.getEmailSettings(), newEmailSettings),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"orgSettings", "emailSettings"));
|
||||
assertTrue(equal(settings.getPasswordPolicy(), newPasswordPolicy),
|
||||
String.format(OBJ_FIELD_UPDATABLE,
|
||||
"orgSettings", "passwordPolicy"));
|
||||
|
||||
//TODO negative tests?
|
||||
|
||||
Checks.checkOrgSettings(settings);
|
||||
} finally {
|
||||
settings = settings.toBuilder()
|
||||
.generalSettings(generalSettings)
|
||||
.vAppLeaseSettings(vAppLeaseSettings)
|
||||
.vAppTemplateLeaseSettings(vAppTemplateLeaseSettings)
|
||||
.ldapSettings(ldapSettings)
|
||||
.emailSettings(emailSettings)
|
||||
.passwordPolicy(passwordPolicy)
|
||||
.build();
|
||||
|
||||
settings = orgClient.updateSettings(
|
||||
orgRef.getHref(), settings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<OrgEmailSettings xmlns="http://www.vmware.com/vcloud/v1.5" type="application/vnd.vmware.admin.organizationEmailSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.vmware.com/vcloud/v1.5 http://vcloudbeta.bluelock.com/api/v1.5/schema/master.xsd">
|
||||
<Link rel="edit" type="application/vnd.vmware.admin.organizationEmailSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email"/>
|
||||
<IsDefaultSmtpServer>true</IsDefaultSmtpServer>
|
||||
<IsDefaultOrgEmail>true</IsDefaultOrgEmail>
|
||||
<FromEmailAddress/>
|
||||
<DefaultSubjectPrefix/>
|
||||
<IsAlertEmailToAllAdmins>true</IsAlertEmailToAllAdmins>
|
||||
<SmtpServerSettings>
|
||||
<IsUseAuthentication>false</IsUseAuthentication>
|
||||
<Host/>
|
||||
<Username/>
|
||||
</SmtpServerSettings>
|
||||
</OrgEmailSettings>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<OrgLdapSettings xmlns="http://www.vmware.com/vcloud/v1.5" type="application/vnd.vmware.admin.organizationLdapSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/ldap" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.vmware.com/vcloud/v1.5 http://vcloudbeta.bluelock.com/api/v1.5/schema/master.xsd">
|
||||
<OrgLdapMode>NONE</OrgLdapMode>
|
||||
</OrgLdapSettings>
|
|
@ -0,0 +1,86 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AdminOrg xmlns="http://www.vmware.com/vcloud/v1.5" name="JClouds" id="urn:vcloud:org:6f312e42-cd2b-488d-a2bb-97519cd57ed0" type="application/vnd.vmware.admin.organization+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.vmware.com/vcloud/v1.5 http://vcloudbeta.bluelock.com/api/v1.5/schema/master.xsd">
|
||||
<Link rel="down" type="application/vnd.vmware.vcloud.tasksList+xml" href="https://vcloudbeta.bluelock.com/api/tasksList/6f312e42-cd2b-488d-a2bb-97519cd57ed0"/>
|
||||
<Link rel="down" type="application/vnd.vmware.vcloud.metadata+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/metadata"/>
|
||||
<Link rel="add" type="application/vnd.vmware.admin.catalog+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/catalogs"/>
|
||||
<Link rel="add" type="application/vnd.vmware.admin.user+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/users"/>
|
||||
<Link rel="add" type="application/vnd.vmware.admin.group+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/groups"/>
|
||||
<Link rel="add" type="application/vnd.vmware.admin.orgNetwork+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/networks"/>
|
||||
<Link rel="edit" type="application/vnd.vmware.admin.organization+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0"/>
|
||||
<Link rel="remove" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0"/>
|
||||
<Link rel="alternate" type="application/vnd.vmware.vcloud.org+xml" href="https://vcloudbeta.bluelock.com/api/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0"/>
|
||||
<Description/>
|
||||
<FullName>JClouds</FullName>
|
||||
<IsEnabled>true</IsEnabled>
|
||||
<Settings type="application/vnd.vmware.admin.orgSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings">
|
||||
<Link rel="down" type="application/vnd.vmware.admin.vAppTemplateLeaseSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppTemplateLeaseSettings"/>
|
||||
<Link rel="down" type="application/vnd.vmware.admin.organizationEmailSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email"/>
|
||||
<Link rel="down" type="application/vnd.vmware.admin.vAppLeaseSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppLeaseSettings"/>
|
||||
<Link rel="down" type="application/vnd.vmware.admin.organizationPasswordPolicySettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy"/>
|
||||
<Link rel="down" type="application/vnd.vmware.admin.organizationGeneralSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/general"/>
|
||||
<Link rel="down" type="application/vnd.vmware.admin.organizationLdapSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/ldap"/>
|
||||
<Link rel="edit" type="application/vnd.vmware.admin.orgSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings"/>
|
||||
<OrgGeneralSettings type="application/vnd.vmware.admin.organizationGeneralSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/general">
|
||||
<Link rel="edit" type="application/vnd.vmware.admin.organizationGeneralSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/general"/>
|
||||
<CanPublishCatalogs>false</CanPublishCatalogs>
|
||||
<DeployedVMQuota>0</DeployedVMQuota>
|
||||
<StoredVmQuota>0</StoredVmQuota>
|
||||
<UseServerBootSequence>false</UseServerBootSequence>
|
||||
<DelayAfterPowerOnSeconds>0</DelayAfterPowerOnSeconds>
|
||||
</OrgGeneralSettings>
|
||||
<VAppLeaseSettings type="application/vnd.vmware.admin.vAppLeaseSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppLeaseSettings">
|
||||
<Link rel="edit" type="application/vnd.vmware.admin.vAppLeaseSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppLeaseSettings"/>
|
||||
<DeleteOnStorageLeaseExpiration>false</DeleteOnStorageLeaseExpiration>
|
||||
<DeploymentLeaseSeconds>0</DeploymentLeaseSeconds>
|
||||
<StorageLeaseSeconds>0</StorageLeaseSeconds>
|
||||
</VAppLeaseSettings>
|
||||
<VAppTemplateLeaseSettings type="application/vnd.vmware.admin.vAppTemplateLeaseSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppTemplateLeaseSettings">
|
||||
<Link rel="edit" type="application/vnd.vmware.admin.vAppTemplateLeaseSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/vAppTemplateLeaseSettings"/>
|
||||
<DeleteOnStorageLeaseExpiration>false</DeleteOnStorageLeaseExpiration>
|
||||
<StorageLeaseSeconds>0</StorageLeaseSeconds>
|
||||
</VAppTemplateLeaseSettings>
|
||||
<OrgLdapSettings type="application/vnd.vmware.admin.organizationLdapSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/ldap">
|
||||
<OrgLdapMode>NONE</OrgLdapMode>
|
||||
</OrgLdapSettings>
|
||||
<OrgEmailSettings type="application/vnd.vmware.admin.organizationEmailSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email">
|
||||
<Link rel="edit" type="application/vnd.vmware.admin.organizationEmailSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email"/>
|
||||
<IsDefaultSmtpServer>true</IsDefaultSmtpServer>
|
||||
<IsDefaultOrgEmail>true</IsDefaultOrgEmail>
|
||||
<FromEmailAddress/>
|
||||
<DefaultSubjectPrefix/>
|
||||
<IsAlertEmailToAllAdmins>true</IsAlertEmailToAllAdmins>
|
||||
<SmtpServerSettings>
|
||||
<IsUseAuthentication>false</IsUseAuthentication>
|
||||
<Host/>
|
||||
<Username/>
|
||||
</SmtpServerSettings>
|
||||
</OrgEmailSettings>
|
||||
<OrgPasswordPolicySettings type="application/vnd.vmware.admin.organizationPasswordPolicySettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy">
|
||||
<Link rel="edit" type="application/vnd.vmware.admin.organizationPasswordPolicySettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy"/>
|
||||
<AccountLockoutEnabled>false</AccountLockoutEnabled>
|
||||
<InvalidLoginsBeforeLockout>5</InvalidLoginsBeforeLockout>
|
||||
<AccountLockoutIntervalMinutes>10</AccountLockoutIntervalMinutes>
|
||||
</OrgPasswordPolicySettings>
|
||||
</Settings>
|
||||
<Users>
|
||||
<UserReference type="application/vnd.vmware.admin.user+xml" name="adam.lowe@cloudsoftcorp.com" href="https://vcloudbeta.bluelock.com/api/admin/user/672ebb67-d8ff-4201-9c1b-c1be869e526c"/>
|
||||
<UserReference type="application/vnd.vmware.admin.user+xml" name="adrian@jclouds.org" href="https://vcloudbeta.bluelock.com/api/admin/user/8c360b93-ed25-4c9a-8e24-d48cd9966d93"/>
|
||||
<UserReference type="application/vnd.vmware.admin.user+xml" name="qunying.huang@enstratus.com" href="https://vcloudbeta.bluelock.com/api/admin/user/967d317c-4273-4a95-b8a4-bf63b78e9c69"/>
|
||||
<UserReference type="application/vnd.vmware.admin.user+xml" name="dan@cloudsoftcorp.com" href="https://vcloudbeta.bluelock.com/api/admin/user/ae75edd2-12de-414c-8e85-e6ea10442c08"/>
|
||||
<UserReference type="application/vnd.vmware.admin.user+xml" name="adk@cloudsoftcorp.com" href="https://vcloudbeta.bluelock.com/api/admin/user/e9eb1b29-0404-4c5e-8ef7-e584acc51da9"/>
|
||||
</Users>
|
||||
<Groups/>
|
||||
<Catalogs>
|
||||
<CatalogReference type="application/vnd.vmware.admin.catalog+xml" name="QunyingTestCatalog" href="https://vcloudbeta.bluelock.com/api/admin/catalog/7212e451-76e1-4631-b2de-ba1dfd8080e4"/>
|
||||
<CatalogReference type="application/vnd.vmware.admin.catalog+xml" name="Public" href="https://vcloudbeta.bluelock.com/api/admin/catalog/9e08c2f6-077a-42ce-bece-d5332e2ebb5c"/>
|
||||
<CatalogReference type="application/vnd.vmware.admin.catalog+xml" name="dantest" href="https://vcloudbeta.bluelock.com/api/admin/catalog/b542aff4-9f97-4f51-a126-4330fbf62f02"/>
|
||||
<CatalogReference type="application/vnd.vmware.admin.catalog+xml" name="test" href="https://vcloudbeta.bluelock.com/api/admin/catalog/b7289d54-4ca4-497f-9a93-2d4afc97e3da"/>
|
||||
</Catalogs>
|
||||
<Vdcs>
|
||||
<Vdc type="application/vnd.vmware.vcloud.vdc+xml" name="Cluster01-JClouds" href="https://vcloudbeta.bluelock.com/api/vdc/d16d333b-e3c0-4176-845d-a5ee6392df07"/>
|
||||
</Vdcs>
|
||||
<Networks>
|
||||
<Network type="application/vnd.vmware.admin.network+xml" name="ilsolation01-Jclouds" href="https://vcloudbeta.bluelock.com/api/admin/network/f3ba8256-6f48-4512-aad6-600e85b4dc38"/>
|
||||
<Network type="application/vnd.vmware.admin.network+xml" name="internet01-Jclouds" href="https://vcloudbeta.bluelock.com/api/admin/network/55a677cf-ab3f-48ae-b880-fab90421980c"/>
|
||||
</Networks>
|
||||
</AdminOrg>
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<OrgPasswordPolicySettings xmlns="http://www.vmware.com/vcloud/v1.5" type="application/vnd.vmware.admin.organizationPasswordPolicySettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.vmware.com/vcloud/v1.5 http://vcloudbeta.bluelock.com/api/v1.5/schema/master.xsd">
|
||||
<Link rel="edit" type="application/vnd.vmware.admin.organizationPasswordPolicySettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy"/>
|
||||
<AccountLockoutEnabled>false</AccountLockoutEnabled>
|
||||
<InvalidLoginsBeforeLockout>5</InvalidLoginsBeforeLockout>
|
||||
<AccountLockoutIntervalMinutes>10</AccountLockoutIntervalMinutes>
|
||||
</OrgPasswordPolicySettings>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<OrgEmailSettings xmlns="http://www.vmware.com/vcloud/v1.5" type="application/vnd.vmware.admin.organizationEmailSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.vmware.com/vcloud/v1.5 http://vcloudbeta.bluelock.com/api/v1.5/schema/master.xsd">
|
||||
<Link rel="edit" type="application/vnd.vmware.admin.organizationEmailSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email"/>
|
||||
<IsDefaultSmtpServer>false</IsDefaultSmtpServer>
|
||||
<IsDefaultOrgEmail>false</IsDefaultOrgEmail>
|
||||
<FromEmailAddress>test@test.com</FromEmailAddress>
|
||||
<DefaultSubjectPrefix>new</DefaultSubjectPrefix>
|
||||
<IsAlertEmailToAllAdmins>false</IsAlertEmailToAllAdmins>
|
||||
<SmtpServerSettings>
|
||||
<IsUseAuthentication>true</IsUseAuthentication>
|
||||
<Host>new</Host>
|
||||
<Username>new</Username>
|
||||
</SmtpServerSettings>
|
||||
</OrgEmailSettings>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<OrgEmailSettings type="application/vnd.vmware.admin.organizationEmailSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email" xmlns="http://www.vmware.com/vcloud/v1.5">
|
||||
<Link rel="edit" type="application/vnd.vmware.admin.organizationEmailSettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/email"/>
|
||||
<IsDefaultSmtpServer>false</IsDefaultSmtpServer>
|
||||
<IsDefaultOrgEmail>false</IsDefaultOrgEmail>
|
||||
<FromEmailAddress>test@test.com</FromEmailAddress>
|
||||
<DefaultSubjectPrefix>new</DefaultSubjectPrefix>
|
||||
<IsAlertEmailToAllAdmins>false</IsAlertEmailToAllAdmins>
|
||||
<SmtpServerSettings>
|
||||
<IsUseAuthentication>true</IsUseAuthentication>
|
||||
<Host>new</Host>
|
||||
<Username>new</Username>
|
||||
</SmtpServerSettings>
|
||||
</OrgEmailSettings>
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<OrgPasswordPolicySettings xmlns="http://www.vmware.com/vcloud/v1.5" type="application/vnd.vmware.admin.organizationPasswordPolicySettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.vmware.com/vcloud/v1.5 http://vcloudbeta.bluelock.com/api/v1.5/schema/master.xsd">
|
||||
<Link rel="edit" type="application/vnd.vmware.admin.organizationPasswordPolicySettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy"/>
|
||||
<AccountLockoutEnabled>true</AccountLockoutEnabled>
|
||||
<InvalidLoginsBeforeLockout>6</InvalidLoginsBeforeLockout>
|
||||
<AccountLockoutIntervalMinutes>11</AccountLockoutIntervalMinutes>
|
||||
</OrgPasswordPolicySettings>
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<OrgPasswordPolicySettings type="application/vnd.vmware.admin.organizationPasswordPolicySettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy" xmlns="http://www.vmware.com/vcloud/v1.5">
|
||||
<Link rel="edit" type="application/vnd.vmware.admin.organizationPasswordPolicySettings+xml" href="https://vcloudbeta.bluelock.com/api/admin/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0/settings/passwordPolicy"/>
|
||||
<AccountLockoutEnabled>true</AccountLockoutEnabled>
|
||||
<InvalidLoginsBeforeLockout>6</InvalidLoginsBeforeLockout>
|
||||
<AccountLockoutIntervalMinutes>11</AccountLockoutIntervalMinutes>
|
||||
</OrgPasswordPolicySettings>
|
Loading…
Reference in New Issue