public abstract class AbstractCloudMachineProvisioningLocation extends AbstractLocation implements MachineProvisioningLocation<MachineLocation>, CloudLocationConfig
AbstractLocation.BasicSubscriptionSupport
BrooklynObject.RelationSupport<T extends BrooklynObject>, BrooklynObject.SubscriptionSupport, BrooklynObject.TagSupport
Configurable.ConfigurationSupport
BrooklynObjectInternal.ConfigurationSupportInternal, BrooklynObjectInternal.RelationSupportInternal<T extends BrooklynObject>, BrooklynObjectInternal.SubscriptionSupportInternal
PARENT_LOCATION, TEMPORARY_LOCATION
ACCESS_CREDENTIAL, ACCESS_IDENTITY, ADDITIONAL_INBOUND_PORTS, CALLER_CONTEXT, CLOUD_AVAILABILITY_ZONE_ID, CLOUD_ENDPOINT, CLOUD_REGION_ID, DESTROY_ON_FAILURE, DOMAIN_NAME, EXTENSION, INBOUND_PORTS, LEGACY_PRIVATE_KEY_DATA, LEGACY_PRIVATE_KEY_FILE, LEGACY_PRIVATE_KEY_PASSPHRASE, LEGACY_PUBLIC_KEY_DATA, LEGACY_PUBLIC_KEY_FILE, LOG_CREDENTIALS, MACHINE_LOCATION_CUSTOMIZERS, MIN_CORES, MIN_DISK, MIN_RAM, OAUTH_ENDPOINT, OS_64_BIT, PASSWORD, POLL_FOR_FIRST_REACHABLE_ADDRESS, POLL_FOR_FIRST_REACHABLE_ADDRESS_PREDICATE, POLL_FOR_FIRST_REACHABLE_ADDRESS_PREDICATE_TYPE, PRIVATE_KEY_DATA, PRIVATE_KEY_FILE, PRIVATE_KEY_PASSPHRASE, PUBLIC_KEY_DATA, PUBLIC_KEY_FILE, USER, VM_NAME_ALLOWED_CHARACTERS, VM_NAME_MAX_LENGTH, VM_NAME_SALT_LENGTH, WAIT_FOR_SSHABLE, WAIT_FOR_WINRM_AVAILABLE
FINAL_SPEC, NAMED_SPEC_NAME, ORIGINAL_SPEC
Constructor and Description |
---|
AbstractCloudMachineProvisioningLocation() |
AbstractCloudMachineProvisioningLocation(java.util.Map<?,?> conf)
typically wants at least ACCESS_IDENTITY and ACCESS_CREDENTIAL
|
Modifier and Type | Method and Description |
---|---|
java.util.Map<java.lang.String,java.lang.Object> |
getProvisioningFlags(java.util.Collection<java.lang.String> tags)
Gets flags, suitable as an argument to
MachineProvisioningLocation.obtain(Map) . |
AbstractCloudMachineProvisioningLocation |
newSubLocation(java.lang.Class<? extends AbstractCloudMachineProvisioningLocation> type,
java.util.Map<?,?> newFlags) |
AbstractCloudMachineProvisioningLocation |
newSubLocation(java.util.Map<?,?> newFlags)
uses reflection to create an object of the same type, assuming a Map constructor;
subclasses can extend and downcast the result
|
addChild, addExtension, config, configure, containsLocation, equals, getChildren, getConfig, getConfig, getDisplayName, getExtension, getHostGeoInfo, getLocationTypeInternal, getParent, getRebindSupport, hasExtension, hashCode, init, isManaged, onManagementStarted, onManagementStopped, rebind, relations, removeChild, setDisplayName, setHostGeoInfo, setManagementContext, setParent, setParent, subscriptions, toMetadataRecord, toString, toVerboseString
addSearchPath, getCatalogItemId, getCatalogItemIdSearchPath, getId, getManagementContext, setCatalogItemId, setCatalogItemIdAndSearchPath, stackCatalogItemId, tags
obtain, release
containsLocation, getChildren, getConfig, getDisplayName, getExtension, getId, getParent, hasExtension, relations, setParent, toVerboseString
getCatalogItemId, getCatalogItemIdSearchPath, subscriptions, tags
config, getConfig
getManagementContext
addSearchPath, setCatalogItemId, setCatalogItemIdAndSearchPath, stackCatalogItemId
public AbstractCloudMachineProvisioningLocation()
public AbstractCloudMachineProvisioningLocation(java.util.Map<?,?> conf)
public AbstractCloudMachineProvisioningLocation newSubLocation(java.util.Map<?,?> newFlags)
newSubLocation
in interface MachineProvisioningLocation<MachineLocation>
public AbstractCloudMachineProvisioningLocation newSubLocation(java.lang.Class<? extends AbstractCloudMachineProvisioningLocation> type, java.util.Map<?,?> newFlags)
public java.util.Map<java.lang.String,java.lang.Object> getProvisioningFlags(java.util.Collection<java.lang.String> tags)
MachineProvisioningLocation
MachineProvisioningLocation.obtain(Map)
. The tags provided give
hints about the machine required. The provisioning-location could be configured to
understand those tags.
For example, an AWS-location could be configured to understand that a particular entity
type (e.g. "TomcatServer") requires a particular AMI in that region, so would return the
required image id.getProvisioningFlags
in interface MachineProvisioningLocation<MachineLocation>