use of org.platformlayer.core.model.Secret in project platformlayer by platformlayer.
the class IpsecHelpers method getIpsecSecret.
public Secret getIpsecSecret() throws OpsException {
Secret secret = null;
for (ProviderOf<HasIpsecPolicy> ipsecPolicyProvider : providerHelper.listItemsProviding(HasIpsecPolicy.class)) {
ItemBase item = ipsecPolicyProvider.getItem();
if (item.getState() != ManagedItemState.ACTIVE) {
continue;
}
HasIpsecPolicy ipsec = ipsecPolicyProvider.get();
if (secret != null) {
throw new IllegalStateException("Multiple IPSEC policies found");
}
secret = ipsec.getIpsecPreSharedKey(item);
if (secret == null) {
// Should we allow this?
throw new IllegalStateException();
}
}
if (secret == null) {
throw new OpsException("Ipsec policy not found");
}
return secret;
}
use of org.platformlayer.core.model.Secret in project platformlayer by platformlayer.
the class PlatformLayerObjectWrapper method wrap.
@Override
public TemplateModel wrap(Object obj) throws TemplateModelException {
if (obj instanceof javax.inject.Provider<?>) {
Object provided = ((javax.inject.Provider<?>) obj).get();
return wrap(provided);
}
if (obj instanceof Secret) {
Secret secret = (Secret) obj;
String plaintext = secret.plaintext();
return wrap(plaintext);
}
return super.wrap(obj);
}
use of org.platformlayer.core.model.Secret in project platformlayer by platformlayer.
the class OpenLdapTestHelpers method createLdapServer.
public LdapService createLdapServer() throws OpsException, IOException {
String id = random.randomAlphanumericString(8);
Secret ldapServerPassword = randomSecret();
LdapService service = new LdapService();
service.dnsName = id + ".test.platformlayer.org";
service.ldapServerPassword = ldapServerPassword;
service = context.putItem(id, service);
service = context.waitForHealthy(service);
return service;
}
use of org.platformlayer.core.model.Secret in project platformlayer by platformlayer.
the class OpenLdapTestHelpers method createLdapDomain.
public LdapDomain createLdapDomain(LdapService ldapService, String organizationName) throws OpsException, IOException {
String domainId = "domain-" + ldapService.getId();
Secret adminPassword = randomSecret();
LdapDomain domain = new LdapDomain();
domain.organizationName = organizationName;
domain.adminPassword = adminPassword;
domain = context.putItem(domainId, domain);
domain = context.waitForHealthy(domain);
return domain;
}
use of org.platformlayer.core.model.Secret in project platformlayer by platformlayer.
the class ServiceProviderBase method autoPopulate.
public void autoPopulate(Object item) throws OpsException {
Class<? extends Object> itemClass = item.getClass();
for (Field field : itemClass.getFields()) {
Generate defaultAnnotation = field.getAnnotation(Generate.class);
if (defaultAnnotation != null) {
Class<?> fieldType = field.getType();
Object value;
try {
value = field.get(item);
} catch (IllegalAccessException e) {
throw new IllegalStateException("Error getting field: " + field, e);
}
if (value == null) {
String defaultValue = defaultAnnotation.value();
if (!Strings.isNullOrEmpty(defaultValue)) {
value = defaultValue;
} else {
if (fieldType == Secret.class) {
Passwords passwords = new Passwords();
Secret secret = passwords.generateRandomPassword(12);
value = secret;
}
}
if (value != null) {
try {
field.set(item, value);
} catch (IllegalAccessException e) {
throw new IllegalStateException("Error setting field: " + field, e);
}
}
}
}
}
}
Aggregations