poppy.provider
extensions¶
poppy.provider.base
base classes¶
-
class
poppy.provider.base.driver.
ProviderDriverBase
(conf)¶ Bases:
object
Interface definition for storage drivers.
Data plane storage drivers are responsible for implementing the core functionality of the system.
Connection information and driver-specific options are loaded from the config file.
Parameters: conf (oslo_config.ConfigOpts) – Configuration containing options for this driver. -
is_alive
()¶ Check whether the storage is ready.
:raises NotImplementedError
-
provider_name
¶ provider name.
:raises NotImplementedError
-
service_controller
¶ Returns the driver’s hostname controller.
:raises NotImplementedError
-
-
class
poppy.provider.base.controller.
ProviderControllerBase
(driver)¶ Bases:
object
Top-level class for controllers.
Parameters: driver – Instance of the driver instantiating this controller.
-
class
poppy.provider.base.responder.
Responder
(provider_type)¶ Bases:
object
Responder Class.
-
created
(provider_service_id, links, **extras)¶ created.
:param provider_service_id :param links :param **extras :returns provider msg{id, links}
-
deleted
(provider_service_id)¶ deleted.
:param provider_service_id :returns provider msg{provider service id}
-
failed
(msg)¶ failed.
:param msg :returns provider msg{msg, error details}
-
get
(domain_list, origin_list, cache_list)¶ get.
:param domain_list :param origin_list :param cache_list :returns provider msg{domain, origins, caching}
-
purged
(provider_service_id, purge_url)¶ purged.
:param provider_service_id :param purge_url :param hard :returns provider msg{provider service id, purge urls}
-
ssl_certificate_provisioned
(cert_domain, extra_info=None)¶ ssl_certificate_provisioned.
:param cert_domain :param extra_info :returns provider msg{cert_domain, extra_info}
-
-
class
poppy.provider.base.services.
ServicesControllerBase
(driver)¶ Bases:
poppy.provider.base.controller.ProviderControllerBase
Services Controller Base.
-
create
(service_name, service_obj)¶ create.
:param service_name :param service_obj :raises NotImplementedError
-
current_customer
()¶ Return the current customer for a provider.
This will needed call each provider’s customer API, useful for certain providers ( e.g fastly) and manage master-sub account.
:param service_name :raises NotImplementedError
-
delete
(provider_service_id)¶ delete.
:param provider_service_id :raises NotImplementedError
-
get
(service_name)¶ Get details of the service, as stored by the provider.
:param service_name :raises NotImplementedError
-
get_provider_service_id
(service_obj)¶ Get the provider side service id for the service object.
:param service_obj :raises NotImplementedError
-
purge
(provider_service_id, hard=True, purge_url='/*')¶ purge.
:param provider_service_id :param purge_url :raises NotImplementedError
-
update
(provider_service_id, service_obj)¶ update.
:raises NotImplementedError
-
poppy.provider.fastly
extension¶
Fastly CDN Extension for CDN
Exports Fastly CDN controllers.
- Field Mappings:
- In order to reduce the disk / memory space used, fields name will be, most of the time, the first letter of their long name. Fields mapping will be updated and documented in each controller class.
Fastly CDN Provider implementation.
-
class
poppy.provider.fastly.driver.
CDNProvider
(conf)¶ Bases:
poppy.provider.base.driver.ProviderDriverBase
Fastly CNDProvider.
-
client
¶ client to this provider.
:return client
-
is_alive
()¶ is_alive.
:return boolean
-
provider_name
¶ provider name.
:return ‘Fastly’
-
service_controller
¶ Hook for service controller.
:return service controller
-
-
class
poppy.provider.fastly.services.
ServiceController
(driver)¶ Bases:
poppy.provider.base.services.ServicesControllerBase
Fastly Service Controller Class.
-
client
¶
-
create
(service_obj)¶
-
current_customer
¶
-
delete
(provider_service_id)¶
-
get
(service_name)¶
-
get_provider_service_id
(service_obj)¶
-
purge
(service_id, hard=True, purge_url='/*')¶
-
update
(provider_service_id, service_obj)¶
-
poppy.provider.mock
extension¶
CDN Extension for CDN
Exports Sample CDN controllers.
- Field Mappings:
- In order to reduce the disk / memory space used, fields name will be, most of the time, the first letter of their long name. Fields mapping will be updated and documented in each controller class.
CDN Provider implementation.
-
class
poppy.provider.mock.driver.
CDNProvider
(conf)¶ Bases:
poppy.provider.base.driver.ProviderDriverBase
Mock CDNProvider.
-
is_alive
()¶ is_alive.
:return True
-
provider_name
¶ provider name.
:return ‘Mock’
-
service_controller
¶ Hook for service controller.
:return service controller
-
-
class
poppy.provider.mock.services.
ServiceController
(driver)¶ Bases:
poppy.provider.base.services.ServicesControllerBase
Mock Service Controller.
-
create
(service_obj)¶
-
current_customer
¶ return current_customer for Mock. We can return a None.
-
delete
(provider_service_id)¶
-
get
(service_name)¶
-
get_provider_service_id
(service_obj)¶
-
purge
(provider_service_id, hard=True, purge_url='/*')¶
-
update
(service_name, service_obj)¶
-