Odyssey
Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
cli.s3.StackTracker Class Reference
Inheritance diagram for cli.s3.StackTracker:

Public Member Functions

def __init__ (self, s3_obj)
 
def region (self)
 
def region (self, value)
 
def set (self, key, value, meta=False)
 
def unset (self, key, meta=False)
 
def gen_passphrase_hash (self, passphrase)
 
def save (self, changelog=None, passphrase=None)
 
def get_changelog (self)
 
def check_passphrase (self, passphrase=None)
 
def delete (self, passphrase=None)
 
def add_resource (self, kind, ident, **options)
 
def has_resource (self, kind, ident)
 
def update_state (self, state)
 

Public Attributes

 state
 

Static Public Attributes

string default_region = 'us-west-2'
 

Private Member Functions

def _save (self, changelog=None)
 

Private Attributes

 _s3_obj
 
 _meta_keys
 
 _body_keys
 
 _region
 

Detailed Description

State and config for a stack.  This wraps the single object kept in
the stacks S3 bucket. 

Definition at line 14 of file s3.py.

Member Function Documentation

◆ add_resource()

def cli.s3.StackTracker.add_resource (   self,
  kind,
  ident,
**  options 
)
A resource is an AWS asset that we need to track. 

Definition at line 105 of file s3.py.

105  def add_resource(self, kind, ident, **options):
106  """ A resource is an AWS asset that we need to track. """
107  if self.has_resource(kind, ident):
108  raise ValueError('Duplicate resource: %s %s' % (kind, ident))
109  self.resources.append({
110  "kind": kind,
111  "ident": ident,
112  "options": options
113  })
114  self._save()
115 

◆ get_changelog()

def cli.s3.StackTracker.get_changelog (   self)
Parse old tuple format and newer dict format. 

Definition at line 82 of file s3.py.

82  def get_changelog(self):
83  """ Parse old tuple format and newer dict format. """
84  to_dict = lambda x: {
85  "ts": x[0],
86  "msg": x[1],
87  "operator": '-'
88  }
89  return [entry if isinstance(entry, dict) else to_dict(entry)
90  for entry in self.changelog]
91 

◆ set()

def cli.s3.StackTracker.set (   self,
  key,
  value,
  meta = False 
)
Use for new object creation to track a key. 

Definition at line 49 of file s3.py.

49  def set(self, key, value, meta=False):
50  """ Use for new object creation to track a key. """
51  keys = self._meta_keys if meta else self._body_keys
52  keys.add(key)
53  setattr(self, key, value)
54 

◆ unset()

def cli.s3.StackTracker.unset (   self,
  key,
  meta = False 
)
Use to remove keys from meta and regular keys

Definition at line 55 of file s3.py.

55  def unset(self, key, meta=False):
56  '''Use to remove keys from meta and regular keys'''
57  if meta:
58  self._meta_keys.discard(key)
59  else:
60  self._body_keys.discard(key)
61  setattr(self, key, None)
62 

The documentation for this class was generated from the following file: