poppy.provider extensions¶
poppy.provider.base base classes¶
-
class
poppy.provider.base.driver.ProviderDriverBase(conf)¶ Bases:
objectInterface 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:
objectTop-level class for controllers.
Parameters: driver – Instance of the driver instantiating this controller.
-
class
poppy.provider.base.responder.Responder(provider_type)¶ Bases:
objectResponder 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.ProviderControllerBaseServices 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.ProviderDriverBaseFastly 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.ServicesControllerBaseFastly 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.ProviderDriverBaseMock 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.ServicesControllerBaseMock 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)¶
-