Source code for stacker.providers.base

from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from builtins import object


[docs]def not_implemented(method): raise NotImplementedError("Provider does not support '%s' " "method." % method)
[docs]class BaseProviderBuilder(object):
[docs] def build(self, region=None): not_implemented("build")
[docs]class BaseProvider(object):
[docs] def get_stack(self, stack_name, *args, **kwargs): # pylint: disable=unused-argument not_implemented("get_stack")
[docs] def create_stack(self, *args, **kwargs): # pylint: disable=unused-argument not_implemented("create_stack")
[docs] def update_stack(self, *args, **kwargs): # pylint: disable=unused-argument not_implemented("update_stack")
[docs] def destroy_stack(self, *args, **kwargs): # pylint: disable=unused-argument not_implemented("destroy_stack")
[docs] def get_stack_status(self, stack_name, *args, **kwargs): # pylint: disable=unused-argument not_implemented("get_stack_status")
[docs] def get_outputs(self, stack_name, *args, **kwargs): # pylint: disable=unused-argument not_implemented("get_outputs")
[docs] def get_output(self, stack_name, output): # pylint: disable=unused-argument return self.get_outputs(stack_name)[output]
[docs]class Template(object): """A value object that represents a CloudFormation stack template, which could be optionally uploaded to s3. Presence of the url attribute indicates that the template was uploaded to S3, and the uploaded template should be used for CreateStack/UpdateStack calls. """ def __init__(self, url=None, body=None): self.url = url self.body = body