Instance Types - greese/dasein-cloud-aws GitHub Wiki
In Dasein Cloud AWS 2013.01, we introduced a resource-based mechanism for defining AWS instance types as Dasein Cloud virtual machine products. There are two components to this:
- The Dasein Cloud vmproducts.json resource file
- A custom vmproducts-custom.json resource file
The standard resource file is bundled in with the dasein-cloud-aws JAR and includes product definitions for AWS. By default, any one using the AWS implementation of Dasein Cloud will use these AWS instance types regardless of what cloud they are working against. This behavior is, however, not likely to be the desired behavior for Eucalyptus or other EC2-compatible environments.
You can thus create your own vmproducts-custom.json and package it in your classpath under org/dasein/cloud/aws to extend/override the vmproducts.json entry.
Extending it looks like this:
` [
{
"provider":"PROVIDER",
"cloud":"CLOUD",
"endpoint":"ENDPOINT"
"discardAll":true|false,
"discard":["t1.micro"],
"products":[
{
"architectures":["I32","I64"],
"id":"MY_INSTANCE_TYPE_ID",
"name":"SOME FANCY NAME",
"description":"SOME FANCY DESCRIPTION",
"cpuCount":CPU_COUNT,
"rootVolumeSizeInGb":ROOT_VOLUME_SIZE,
"ramSizeInMb":RAM_SIZE
},
}
] `
endpoint, discardAll, discard are optional.
You generally include either discard or discardAll or neither. If you omit them, Dasein Cloud will ADD the instance types you define here to the defaults in the Dasein Cloud JAR. If you have discardAll=true, it will replace all AWS instance types with the ones you specify. If you specify a list of instance types via discard, it will use all of the default instance types EXCEPT the ones you indicate to discard.
Endpoint is useful for private clouds so that if you have an environment talking to different Eucalyptus endpoints with different instance types, the endpoint will differentiate them.