Cloudforms.ProviderManager¶
Provider Manager
license: | MIT, see LICENSE for more details. |
---|
-
class
Cloudforms.managers.provider.
ProviderManager
(client)[source]¶ Manages Providers.
Parameters: client (Cloudforms.API.Client) – an API client instance Example:
import Cloudforms client = Cloudforms.Client() provider_mgr = Cloudforms.ProviderManager(client)
-
create
(params=None)[source]¶ Creates a new provider on the account (pass-through params)
Parameters: params (dict) – Additional POST request data Returns: Provider dictionary object Example:
# Creates a new provider using pass-through params provider = provider_mgr.create({ 'type': 'EmsRedhat', 'name': 'rhevm101', 'hostname': 'rhevm101', 'ipaddress': '127.0.0.1', 'credentials': { 'userid': 'admin', 'password': 'smartvm' } }) # Refresh the provider provider_mgr.refresh(provider['id'])
-
create_amazon
(name, region, access_key, secret_key, params=None)[source]¶ Creates a new Amazon (AWS) provider on the account
Parameters: - string (secret_key) – Display name of the provider
- string – AWS region (ex. us-east-1)
- string – AWS API Access Key ID
- string – AWS API Access Secret Key
- params (dict) – Additional POST request data
Returns: Provider dictionary object
Example:
# Creates a new Amazon (AWS) provider provider = provider_mgr.create_amazon( name='MyAWSProvider', region='us-east-1', access_key='MY4CC3SSK3Y', secret_key='My$Freak1shly/L0ng=S3cr3t&K3y' ) # Refresh the provider provider_mgr.refresh(provider['id'])
-
delete
(_id, params=None)[source]¶ Sends a request to delete a provider
Parameters: - _id (string) – Specifies which provider the request is for
- params (dict) – Additional POST request data
Returns: Task request dictionary (see TaskManager)
Example:
# Gets a list of all providers for provider in provider_mgr.list(): # Send requests to delete all providers task = provider_mgr.delete(provider['id']) # Wait for the request to be processed task_mgr.wait_for_task(task.get('task_id'))
-
get
(_id, params=None)[source]¶ Retrieve details about a provider on the account
Parameters: - _id (string) – Specifies which provider the request is for
- params (dict) – response-level options (attributes, limit, etc.)
Returns: Dictionary representing the matching provider
Example:
# Gets a list of all providers (returns IDs only) providers = provider_mgr.list({'attributes': 'id'}) for provider in providers: provider_details = provider_mgr.get(provider['id'])
-
list
(params=None)[source]¶ Retrieve a list of all providers on the account
Parameters: params (dict) – response-level options (attributes, limit, etc.) Returns: List of dictionaries representing the matching providers Example:
# Gets a list of all providers (returns IDs only) providers = provider_mgr.list({'attributes': 'id'})
-
perform_action
(_id, action, params=None)[source]¶ Sends a request to perform an action on a provider
Parameters: - _id (string) – Specifies which provider the request is for
- action (string) – The action to request (delete, refresh, etc.)
- params (dict) – Additional POST request data
Returns: Task request, or Provider, dictionary object
Example:
# Gets a list of all providers for provider in provider_mgr.list(): # Send requests to refresh all providers provider_mgr.perform_action(provider['id'], 'refresh')
-
refresh
(_id, params=None)[source]¶ Sends a request to refresh a provider
Parameters: - _id (string) – Specifies which provider the request is for
- params (dict) – Additional POST request data
Returns: JSON object with a ‘success’ key
Example:
# Gets a list of all providers for provider in provider_mgr.list(): # Send requests to refresh all providers res = provider_mgr.refresh(provider['id']) if not res or not res.get('success'): raise RuntimeError('An error occurred')
-
update
(_id, params=None)[source]¶ Sends a request to update a provider
Parameters: - _id (string) – Specifies which provider the request is for
- params (dict) – Additional POST request data
Returns: Provider dictionary object (with updates applied)
Example:
# Gets a list of all providers for provider in provider_mgr.list(): # Send requests to update all providers provider_mgr.update( provider['id'], params={ 'credentials': [{ 'userid': 'metrics_userid', 'password': 'metrics_password', 'auth_type': 'metrics' }] } )
-