@Beta public class CreateUserPolicy extends AbstractPolicy implements SensorEventListener<Location>
SshMachineLocation
is added to that entity
(e.g. when a VM has been provisioned for it).
The policy will then (asynchronously) add a new user to the VM, with a randomly generated password.
The ssh details will be set as a sensor on the entity.
If this is used, it is strongly encouraged to tell users to change the password on first login.
A preferred mechanism would be for an external key-management tool to generate ssh key-pairs for
the user, and for the public key to be passed to Brooklyn. However, there is not a customer
requirement for that yet, so focusing on the password-approach.AbstractEntityAdjunct.AdjunctTagSupport
BrooklynObject.TagSupport
Configurable.ConfigurationSupport
BrooklynObjectInternal.ConfigurationSupportInternal
Modifier and Type | Field and Description |
---|---|
static ConfigKey<java.lang.Boolean> |
GRANT_SUDO |
static AttributeSensor<java.lang.String> |
VM_USER_CREDENTIALS |
static ConfigKey<java.lang.String> |
VM_USERNAME |
NOOP
Constructor and Description |
---|
CreateUserPolicy() |
Modifier and Type | Method and Description |
---|---|
void |
onEvent(SensorEvent<Location> event)
The
SensorEvent handler method. |
void |
setEntity(EntityLocal entity) |
destroy, getPolicyType, getRebindSupport, isRunning, isSuspended, resume, suspend, toString
config, configure, getAllConfig, getConfig, getConfigMap, getDisplayName, getName, getUniqueTag, isDestroyed, setConfig, setDisplayName, setName, tags
getCatalogItemId, getId, getManagementContext, getTagSupport, init, rebind, setCatalogItemId, setManagementContext
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
getAllConfig, getConfig, getId, getName, setConfig
getUniqueTag, isDestroyed
getCatalogItemId, getDisplayName, getTagSupport, tags
config
setCatalogItemId
public static final ConfigKey<java.lang.String> VM_USERNAME
public static final ConfigKey<java.lang.Boolean> GRANT_SUDO
public static final AttributeSensor<java.lang.String> VM_USER_CREDENTIALS
public void setEntity(EntityLocal entity)
setEntity
in class AbstractEntityAdjunct
public void onEvent(SensorEvent<Location> event)
SensorEventListener
SensorEvent
handler method.onEvent
in interface SensorEventListener<Location>