Optional('storage_path', default=os.path.expanduser("~/.elasticluster/storage")): str, Optional('storage_type'): ['yaml', 'json', 'pickle'], }, } CLOUD_PROVIDER_SCHEMAS = { 'azure': { "provider": 'azure', Optional("subscription_id", default=os.getenv('AZURE_SUBSCRIPTION_ID', '')): nonempty_str, Optional("tenant_id", default=os.getenv('AZURE_TENANT_ID', '')): nonempty_str, Optional("client_id", default=os.getenv('AZURE_CLIENT_ID', '')): nonempty_str, Optional("secret", default=os.getenv('AZURE_CLIENT_SECRET', '')): nonempty_str, Optional("location", default="westus"): nonempty_str, Optional("certificate"): alert( "The `certificate` setting is no longer valid" " in the Azure configuration." " Please remove it from your configuration file."), Optional("wait_timeout"): alert( "The `wait_timeout` setting is no longer valid" " in the Azure configuration." " Please remove it from your configuration file."), }, 'ec2_boto': { "provider": 'ec2_boto', "ec2_url": url, Optional("ec2_access_key", default=os.getenv('EC2_ACCESS_KEY', '')): nonempty_str, Optional("ec2_secret_key", default=os.getenv('EC2_SECRET_KEY', '')): nonempty_str, "ec2_region": nonempty_str, Optional("request_floating_ip", default=False): boolean, Optional("vpc"): nonempty_str,
"provider": 'azure', Optional("subscription_id", default=os.getenv('AZURE_SUBSCRIPTION_ID', '')): nonempty_str, Optional("tenant_id", default=os.getenv('AZURE_TENANT_ID', '')): nonempty_str, Optional("client_id", default=os.getenv('AZURE_CLIENT_ID', '')): nonempty_str, Optional("secret", default=os.getenv('AZURE_CLIENT_SECRET', '')): nonempty_str, Optional("location", default="westus"): nonempty_str, Optional("certificate"): alert("The `certificate` setting is no longer valid" " in the Azure configuration." " Please remove it from your configuration file."), Optional("wait_timeout"): alert("The `wait_timeout` setting is no longer valid" " in the Azure configuration." " Please remove it from your configuration file."), }, 'ec2_boto': { "provider": 'ec2_boto', "ec2_url": url, Optional("ec2_access_key", default=os.getenv('EC2_ACCESS_KEY', '')): nonempty_str, Optional("ec2_secret_key", default=os.getenv('EC2_SECRET_KEY', '')): nonempty_str, "ec2_region": nonempty_str, Optional("request_floating_ip", default=False): boolean,