var configSchema = environschema.Fields{
"username": {
Description: "The user name for user-password authentication (when auth-mode is userpass)",
Type: environschema.Tstring,
EnvVars: []string{
"OS_USERNAME",
"NOVA_USERNAME",
"OS_ACCESS_KEY",
"NOVA_API_KEY",
},
Group: environschema.AccountGroup,
},
"password": {
Description: "The password for user-password authentication (when auth-mode is userpass)",
Type: environschema.Tstring,
EnvVars: []string{
"OS_PASSWORD",
"NOVA_PASSWORD",
"OS_SECRET_KEY",
// Apparently some clients really used these, so we use them for backward compatiblity.
"EC2_SECRET_KEYS",
"AWS_SECRET_ACCESS_KEY",
},
Group: environschema.AccountGroup,
},
"tenant-name": {
Description: "The openstack tenant name",
Type: environschema.Tstring,
EnvVars: []string{
"OS_TENANT_NAME",
"NOVA_PROJECT_ID",
},
Group: environschema.AccountGroup,
},
"auth-url": {
Description: "The keystone URL for authentication",
Type: environschema.Tstring,
EnvVar: "OS_AUTH_URL",
Example: "https://yourkeystoneurl:443/v2.0/",
Group: environschema.AccountGroup,
},
"auth-mode": {
Description: "The authentication mode to use. When set to keypair, the access-key and secret-key parameters should be set; when set to userpass or legacy, the username and password parameters should be set ",
Type: environschema.Tstring,
Values: []interface{}{AuthKeyPair, AuthLegacy, AuthUserPass},
Group: environschema.AccountGroup,
},
"access-key": {
Description: "The access key to use when auth-mode is set to keypair",
Type: environschema.Tstring,
EnvVars: []string{
"OS_USERNAME",
"NOVA_USERNAME",
"OS_ACCESS_KEY",
"NOVA_API_KEY",
},
Group: environschema.AccountGroup,
},
"secret-key": {
Description: "The secret key to use when auth-mode is set to keypair",
EnvVars: []string{
"OS_PASSWORD",
"NOVA_PASSWORD",
"OS_SECRET_KEY",
// Apparently some clients really used these, so we use them for backward compatiblity.
"EC2_SECRET_KEYS",
"AWS_SECRET_ACCESS_KEY",
},
Group: environschema.AccountGroup,
Type: environschema.Tstring,
},
"region": {
Description: "The openstack region.",
Type: environschema.Tstring,
EnvVars: []string{
"OS_REGION_NAME",
"NOVA_REGION",
},
},
"control-bucket": {
Description: "The name to use for the control bucket",
Type: environschema.Tstring,
},
"use-floating-ip": {
Description: "Whether a floating IP address is required to give the nodes a public IP address. Some installations assign public IP addresses by default without requiring a floating IP address",
Type: environschema.Tbool,
},
"use-default-secgroup": {
Description: `Whether new machine instances should have the "default" Openstack security group assigned`,
Type: environschema.Tbool,
},
"network": {
Description: "The network label or UUID to bring machines up on when multiple networks exist",
Type: environschema.Tstring,
},
}