confidant.models package

Submodules

confidant.models.blind_credential module

class confidant.models.blind_credential.BlindCredential(hash_key: Optional[Any] = None, range_key: Optional[Any] = None, _user_instantiated: bool = True, **attributes: Any)

Bases: Model

exception DoesNotExist(msg: Optional[str] = None, cause: Optional[Exception] = None)

Bases: DoesNotExist

class Meta

Bases: object

aws_access_key_id = None
aws_secret_access_key = None
aws_session_token = None
base_backoff_ms = 25
connect_timeout_seconds = 1
extra_headers = None
host = None
max_pool_connection = 100
max_pool_connections = 10
max_retry_attempts = 3
read_timeout_seconds = 1
region = 'us-east-1'
table_name = ''
_attributes = {'cipher_type': <pynamodb.attributes.UnicodeAttribute object>, 'cipher_version': <pynamodb.attributes.NumberAttribute object>, 'credential_keys': <confidant.models.non_null_unicode_set_attribute.NonNullUnicodeSetAttribute object>, 'credential_pairs': <pynamodb.attributes.JSONAttribute object>, 'data_key': <pynamodb.attributes.JSONAttribute object>, 'data_type': <pynamodb.attributes.UnicodeAttribute object>, 'documentation': <pynamodb.attributes.UnicodeAttribute object>, 'enabled': <pynamodb.attributes.BooleanAttribute object>, 'id': <pynamodb.attributes.UnicodeAttribute object>, 'metadata': <pynamodb.attributes.JSONAttribute object>, 'modified_by': <pynamodb.attributes.UnicodeAttribute object>, 'modified_date': <pynamodb.attributes.UTCDateTimeAttribute object>, 'name': <pynamodb.attributes.UnicodeAttribute object>, 'revision': <pynamodb.attributes.NumberAttribute object>}
_discriminator = None
_dynamo_to_python_attrs = {}
_hash_keyname: Optional[str] = 'id'
_indexes: Dict[str, Index] = {'data_type_date_index': <confidant.models.blind_credential.DataTypeDateIndex object>}
cipher_type

A unicode attribute

cipher_version

A number attribute

credential_keys
credential_pairs

A JSON Attribute

Encodes JSON to unicode internally

data_key

A JSON Attribute

Encodes JSON to unicode internally

data_type

A unicode attribute

data_type_date_index = <confidant.models.blind_credential.DataTypeDateIndex object>
documentation

A unicode attribute

enabled

A class for boolean attributes

equals(other_cred)
id

A unicode attribute

metadata

A JSON Attribute

Encodes JSON to unicode internally

modified_by

A unicode attribute

modified_date

An attribute for storing a UTC Datetime

name

A unicode attribute

revision

A number attribute

class confidant.models.blind_credential.DataTypeDateIndex

Bases: GlobalSecondaryIndex

class Meta

Bases: object

attributes = {'data_type': <pynamodb.attributes.UnicodeAttribute object>, 'modified_date': <pynamodb.attributes.UTCDateTimeAttribute object>}
index_name = 'data_type_date_index'
model

alias of BlindCredential

projection = <pynamodb.indexes.AllProjection object>
read_capacity_units = 10
write_capacity_units = 10
data_type

A unicode attribute

modified_date

An attribute for storing a UTC Datetime

confidant.models.credential module

class confidant.models.credential.ArchiveDataTypeDateIndex

Bases: GlobalSecondaryIndex

class Meta

Bases: object

attributes = {'data_type': <pynamodb.attributes.UnicodeAttribute object>, 'modified_date': <pynamodb.attributes.UTCDateTimeAttribute object>}
index_name = 'data_type_date_index'
model

alias of CredentialArchive

projection = <pynamodb.indexes.AllProjection object>
read_capacity_units = 10
write_capacity_units = 10
data_type

A unicode attribute

modified_date

An attribute for storing a UTC Datetime

class confidant.models.credential.Credential(hash_key: Optional[Any] = None, range_key: Optional[Any] = None, _user_instantiated: bool = True, **attributes: Any)

Bases: CredentialBase

exception DoesNotExist(msg: Optional[str] = None, cause: Optional[Exception] = None)

Bases: DoesNotExist

class Meta

Bases: object

aws_access_key_id = None
aws_secret_access_key = None
aws_session_token = None
base_backoff_ms = 25
connect_timeout_seconds = 1
extra_headers = None
host = None
max_pool_connection = 100
max_pool_connections = 10
max_retry_attempts = 3
read_timeout_seconds = 1
region = 'us-east-1'
table_name = ''
_attributes = {'cipher_version': <pynamodb.attributes.NumberAttribute object>, 'credential_pairs': <pynamodb.attributes.UnicodeAttribute object>, 'data_key': <pynamodb.attributes.BinaryAttribute object>, 'data_type': <pynamodb.attributes.UnicodeAttribute object>, 'documentation': <pynamodb.attributes.UnicodeAttribute object>, 'enabled': <pynamodb.attributes.BooleanAttribute object>, 'id': <pynamodb.attributes.UnicodeAttribute object>, 'last_decrypted_date': <pynamodb.attributes.UTCDateTimeAttribute object>, 'last_rotation_date': <pynamodb.attributes.UTCDateTimeAttribute object>, 'metadata': <pynamodb.attributes.JSONAttribute object>, 'modified_by': <pynamodb.attributes.UnicodeAttribute object>, 'modified_date': <pynamodb.attributes.UTCDateTimeAttribute object>, 'name': <pynamodb.attributes.UnicodeAttribute object>, 'revision': <pynamodb.attributes.NumberAttribute object>, 'tags': <pynamodb.attributes.ListAttribute object>}
_diff_dict(old, new)
_discriminator = None
_dynamo_to_python_attrs = {}
_get_decrypted_credential_pairs()
_hash_keyname: Optional[str] = 'id'
_indexes: Dict[str, Index] = {'data_type_date_index': <confidant.models.credential.DataTypeDateIndex object>}
property credential_keys
data_type_date_index = <confidant.models.credential.DataTypeDateIndex object>
property decrypted_credential_pairs
diff(other_cred)
equals(other_cred)
property exempt_from_rotation

Credentials with certain tags can be exempt from rotation

classmethod from_archive_credential(archive_credential)
property next_rotation_date

Return when a credential needs to be rotated for security purposes.

class confidant.models.credential.CredentialArchive(hash_key: Optional[Any] = None, range_key: Optional[Any] = None, _user_instantiated: bool = True, **attributes: Any)

Bases: CredentialBase

exception DoesNotExist(msg: Optional[str] = None, cause: Optional[Exception] = None)

Bases: DoesNotExist

class Meta

Bases: object

aws_access_key_id = None
aws_secret_access_key = None
aws_session_token = None
base_backoff_ms = 25
connect_timeout_seconds = 1
extra_headers = None
host = None
max_pool_connection = 100
max_pool_connections = 10
max_retry_attempts = 3
read_timeout_seconds = 1
region = 'us-east-1'
table_name = ''
_attributes = {'archive_date': <pynamodb.attributes.UTCDateTimeAttribute object>, 'cipher_version': <pynamodb.attributes.NumberAttribute object>, 'credential_pairs': <pynamodb.attributes.UnicodeAttribute object>, 'data_key': <pynamodb.attributes.BinaryAttribute object>, 'data_type': <pynamodb.attributes.UnicodeAttribute object>, 'documentation': <pynamodb.attributes.UnicodeAttribute object>, 'enabled': <pynamodb.attributes.BooleanAttribute object>, 'id': <pynamodb.attributes.UnicodeAttribute object>, 'last_decrypted_date': <pynamodb.attributes.UTCDateTimeAttribute object>, 'last_rotation_date': <pynamodb.attributes.UTCDateTimeAttribute object>, 'metadata': <pynamodb.attributes.JSONAttribute object>, 'modified_by': <pynamodb.attributes.UnicodeAttribute object>, 'modified_date': <pynamodb.attributes.UTCDateTimeAttribute object>, 'name': <pynamodb.attributes.UnicodeAttribute object>, 'revision': <pynamodb.attributes.NumberAttribute object>, 'tags': <pynamodb.attributes.ListAttribute object>}
_discriminator = None
_dynamo_to_python_attrs = {}
_hash_keyname: Optional[str] = 'id'
_indexes: Dict[str, Index] = {'data_type_date_index': <confidant.models.credential.ArchiveDataTypeDateIndex object>}
archive_date

An attribute for storing a UTC Datetime

data_type_date_index = <confidant.models.credential.ArchiveDataTypeDateIndex object>
classmethod from_credential(credential)
class confidant.models.credential.CredentialBase(hash_key: Optional[Any] = None, range_key: Optional[Any] = None, _user_instantiated: bool = True, **attributes: Any)

Bases: Model

exception DoesNotExist(msg: Optional[str] = None, cause: Optional[Exception] = None)

Bases: DoesNotExist

_attributes = {'cipher_version': <pynamodb.attributes.NumberAttribute object>, 'credential_pairs': <pynamodb.attributes.UnicodeAttribute object>, 'data_key': <pynamodb.attributes.BinaryAttribute object>, 'data_type': <pynamodb.attributes.UnicodeAttribute object>, 'documentation': <pynamodb.attributes.UnicodeAttribute object>, 'enabled': <pynamodb.attributes.BooleanAttribute object>, 'id': <pynamodb.attributes.UnicodeAttribute object>, 'last_decrypted_date': <pynamodb.attributes.UTCDateTimeAttribute object>, 'last_rotation_date': <pynamodb.attributes.UTCDateTimeAttribute object>, 'metadata': <pynamodb.attributes.JSONAttribute object>, 'modified_by': <pynamodb.attributes.UnicodeAttribute object>, 'modified_date': <pynamodb.attributes.UTCDateTimeAttribute object>, 'name': <pynamodb.attributes.UnicodeAttribute object>, 'revision': <pynamodb.attributes.NumberAttribute object>, 'tags': <pynamodb.attributes.ListAttribute object>}
_discriminator = None
_dynamo_to_python_attrs = {}
_hash_keyname: Optional[str] = 'id'
_indexes: Dict[str, Index] = {}
cipher_version

A number attribute

credential_pairs

A unicode attribute

data_key

A binary attribute

data_type

A unicode attribute

documentation

A unicode attribute

enabled

A class for boolean attributes

id

A unicode attribute

last_decrypted_date

An attribute for storing a UTC Datetime

last_rotation_date

An attribute for storing a UTC Datetime

metadata

A JSON Attribute

Encodes JSON to unicode internally

modified_by

A unicode attribute

modified_date

An attribute for storing a UTC Datetime

name

A unicode attribute

revision

A number attribute

tags
class confidant.models.credential.DataTypeDateIndex

Bases: GlobalSecondaryIndex

class Meta

Bases: object

attributes = {'data_type': <pynamodb.attributes.UnicodeAttribute object>, 'modified_date': <pynamodb.attributes.UTCDateTimeAttribute object>}
index_name = 'data_type_date_index'
model

alias of Credential

projection = <pynamodb.indexes.AllProjection object>
read_capacity_units = 10
write_capacity_units = 10
data_type

A unicode attribute

modified_date

An attribute for storing a UTC Datetime

confidant.models.non_null_unicode_set_attribute module

class confidant.models.non_null_unicode_set_attribute.NonNullUnicodeSetAttribute(hash_key: bool = False, range_key: bool = False, null: Optional[bool] = None, default: Optional[Union[_T, Callable[[...], _T]]] = None, default_for_new: Optional[Union[Any, Callable[[...], _T]]] = None, attr_name: Optional[str] = None)

Bases: UnicodeSetAttribute

confidant.models.service module

class confidant.models.service.DataTypeDateIndex

Bases: GlobalSecondaryIndex

class Meta

Bases: object

attributes = {'data_type': <pynamodb.attributes.UnicodeAttribute object>, 'modified_date': <pynamodb.attributes.UTCDateTimeAttribute object>}
index_name = 'data_type_date_index'
model

alias of Service

projection = <pynamodb.indexes.AllProjection object>
read_capacity_units = 10
write_capacity_units = 10
data_type

A unicode attribute

modified_date

An attribute for storing a UTC Datetime

class confidant.models.service.Service(hash_key: Optional[Any] = None, range_key: Optional[Any] = None, _user_instantiated: bool = True, **attributes: Any)

Bases: Model

exception DoesNotExist(msg: Optional[str] = None, cause: Optional[Exception] = None)

Bases: DoesNotExist

class Meta

Bases: object

aws_access_key_id = None
aws_secret_access_key = None
aws_session_token = None
base_backoff_ms = 25
connect_timeout_seconds = 1
extra_headers = None
host = None
max_pool_connection = 100
max_pool_connections = 10
max_retry_attempts = 3
read_timeout_seconds = 1
region = 'us-east-1'
table_name = ''
_attributes = {'account': <pynamodb.attributes.UnicodeAttribute object>, 'blind_credentials': <confidant.models.non_null_unicode_set_attribute.NonNullUnicodeSetAttribute object>, 'credentials': <confidant.models.non_null_unicode_set_attribute.NonNullUnicodeSetAttribute object>, 'data_type': <pynamodb.attributes.UnicodeAttribute object>, 'enabled': <pynamodb.attributes.BooleanAttribute object>, 'id': <pynamodb.attributes.UnicodeAttribute object>, 'modified_by': <pynamodb.attributes.UnicodeAttribute object>, 'modified_date': <pynamodb.attributes.UTCDateTimeAttribute object>, 'revision': <pynamodb.attributes.NumberAttribute object>}
_diff_list(old, new)
_discriminator = None
_dynamo_to_python_attrs = {}
_hash_keyname: Optional[str] = 'id'
_indexes: Dict[str, Index] = {'data_type_date_index': <confidant.models.service.DataTypeDateIndex object>}
account

A unicode attribute

blind_credentials
credentials
data_type

A unicode attribute

data_type_date_index = <confidant.models.service.DataTypeDateIndex object>
diff(other_service)
enabled

A class for boolean attributes

equals(other_service)
id

A unicode attribute

modified_by

A unicode attribute

modified_date

An attribute for storing a UTC Datetime

revision

A number attribute

Module contents