<s> import uuid <EOL> import six <EOL> import sqlalchemy as sa <EOL> from sqlalchemy . orm import relationship <EOL> from sahara . db . sqlalchemy import model_base as mb <EOL> from sahara . db . sqlalchemy import types as st <EOL> def _generate_unicode_uuid ( ) : <EOL> return six . text_type ( uuid . uuid4 ( ) ) <EOL> def _id_column ( ) : <EOL> return sa . Column ( sa . String ( <NUM_LIT> ) , <EOL> primary_key = True , <EOL> default = _generate_unicode_uuid ) <EOL> class Cluster ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( <EOL> sa . UniqueConstraint ( '<STR_LIT:name>' , '<STR_LIT>' ) , <EOL> ) <EOL> id = _id_column ( ) <EOL> name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> description = sa . Column ( sa . Text ) <EOL> tenant_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> trust_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> is_transient = sa . Column ( sa . Boolean , default = False ) <EOL> plugin_name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> hadoop_version = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> cluster_configs = sa . Column ( st . JsonDictType ( ) ) <EOL> default_image_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> neutron_management_network = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> anti_affinity = sa . Column ( st . JsonListType ( ) ) <EOL> management_private_key = sa . Column ( sa . Text , nullable = False ) <EOL> management_public_key = sa . Column ( sa . Text , nullable = False ) <EOL> user_keypair_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> status = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> status_description = sa . Column ( st . LongText ( ) ) <EOL> info = sa . Column ( st . JsonDictType ( ) ) <EOL> extra = sa . Column ( st . JsonDictType ( ) ) <EOL> rollback_info = sa . Column ( st . JsonDictType ( ) ) <EOL> sahara_info = sa . Column ( st . JsonDictType ( ) ) <EOL> use_autoconfig = sa . Column ( sa . Boolean ( ) , default = True ) <EOL> provision_progress = relationship ( '<STR_LIT>' , <EOL> cascade = "<STR_LIT>" , <EOL> backref = '<STR_LIT>' , <EOL> lazy = '<STR_LIT>' ) <EOL> verification = relationship ( '<STR_LIT>' , cascade = "<STR_LIT>" , <EOL> backref = "<STR_LIT>" , lazy = '<STR_LIT>' ) <EOL> node_groups = relationship ( '<STR_LIT>' , cascade = "<STR_LIT>" , <EOL> backref = '<STR_LIT>' , lazy = '<STR_LIT>' ) <EOL> cluster_template_id = sa . Column ( sa . String ( <NUM_LIT> ) , <EOL> sa . ForeignKey ( '<STR_LIT>' ) ) <EOL> cluster_template = relationship ( '<STR_LIT>' , <EOL> backref = "<STR_LIT>" , lazy = '<STR_LIT>' ) <EOL> shares = sa . Column ( st . JsonListType ( ) ) <EOL> is_public = sa . Column ( sa . Boolean ( ) ) <EOL> is_protected = sa . Column ( sa . Boolean ( ) ) <EOL> def to_dict ( self , show_progress = False ) : <EOL> d = super ( Cluster , self ) . to_dict ( ) <EOL> d [ '<STR_LIT>' ] = [ ng . to_dict ( ) for ng in self . node_groups ] <EOL> d [ '<STR_LIT>' ] = [ pp . to_dict ( show_progress ) for pp in <EOL> self . provision_progress ] <EOL> if self . verification : <EOL> d [ '<STR_LIT>' ] = self . verification [ <NUM_LIT:0> ] . to_dict ( ) <EOL> return d <EOL> class NodeGroup ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( <EOL> sa . UniqueConstraint ( '<STR_LIT:name>' , '<STR_LIT>' ) , <EOL> ) <EOL> id = _id_column ( ) <EOL> name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> tenant_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> flavor_id = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> image_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> image_username = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> node_processes = sa . Column ( st . JsonListType ( ) ) <EOL> node_configs = sa . Column ( st . JsonDictType ( ) ) <EOL> volumes_per_node = sa . Column ( sa . Integer ) <EOL> volumes_size = sa . Column ( sa . Integer ) <EOL> volumes_availability_zone = sa . Column ( sa . String ( <NUM_LIT:255> ) ) <EOL> volume_mount_prefix = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> volume_type = sa . Column ( sa . String ( <NUM_LIT:255> ) ) <EOL> count = sa . Column ( sa . Integer , nullable = False ) <EOL> use_autoconfig = sa . Column ( sa . Boolean ( ) , default = True ) <EOL> instances = relationship ( '<STR_LIT>' , cascade = "<STR_LIT>" , <EOL> backref = '<STR_LIT>' , <EOL> order_by = "<STR_LIT>" , lazy = '<STR_LIT>' ) <EOL> cluster_id = sa . Column ( sa . String ( <NUM_LIT> ) , sa . ForeignKey ( '<STR_LIT>' ) ) <EOL> node_group_template_id = sa . Column ( sa . String ( <NUM_LIT> ) , <EOL> sa . ForeignKey ( <EOL> '<STR_LIT>' ) ) <EOL> node_group_template = relationship ( '<STR_LIT>' , <EOL> backref = "<STR_LIT>" , lazy = '<STR_LIT>' ) <EOL> floating_ip_pool = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> security_groups = sa . Column ( st . JsonListType ( ) ) <EOL> auto_security_group = sa . Column ( sa . Boolean ( ) ) <EOL> availability_zone = sa . Column ( sa . String ( <NUM_LIT:255> ) ) <EOL> open_ports = sa . Column ( st . JsonListType ( ) ) <EOL> is_proxy_gateway = sa . Column ( sa . Boolean ( ) ) <EOL> volume_local_to_instance = sa . Column ( sa . Boolean ( ) ) <EOL> shares = sa . Column ( st . JsonListType ( ) ) <EOL> def to_dict ( self ) : <EOL> d = super ( NodeGroup , self ) . to_dict ( ) <EOL> d [ '<STR_LIT>' ] = [ i . to_dict ( ) for i in self . instances ] <EOL> return d <EOL> class Instance ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( <EOL> sa . UniqueConstraint ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ) <EOL> id = _id_column ( ) <EOL> tenant_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> node_group_id = sa . Column ( sa . String ( <NUM_LIT> ) , sa . ForeignKey ( '<STR_LIT>' ) ) <EOL> instance_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> instance_name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> internal_ip = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> management_ip = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> volumes = sa . Column ( st . JsonListType ( ) ) <EOL> storage_devices_number = sa . Column ( sa . Integer ) <EOL> class ClusterTemplate ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( <EOL> sa . UniqueConstraint ( '<STR_LIT:name>' , '<STR_LIT>' ) , <EOL> ) <EOL> id = _id_column ( ) <EOL> name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> description = sa . Column ( sa . Text ) <EOL> cluster_configs = sa . Column ( st . JsonDictType ( ) ) <EOL> default_image_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> anti_affinity = sa . Column ( st . JsonListType ( ) ) <EOL> tenant_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> neutron_management_network = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> plugin_name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> hadoop_version = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> node_groups = relationship ( '<STR_LIT>' , cascade = "<STR_LIT>" , <EOL> backref = '<STR_LIT>' , lazy = '<STR_LIT>' ) <EOL> is_default = sa . Column ( sa . Boolean ( ) , default = False ) <EOL> use_autoconfig = sa . Column ( sa . Boolean ( ) , default = True ) <EOL> shares = sa . Column ( st . JsonListType ( ) ) <EOL> is_public = sa . Column ( sa . Boolean ( ) ) <EOL> is_protected = sa . Column ( sa . Boolean ( ) ) <EOL> def to_dict ( self ) : <EOL> d = super ( ClusterTemplate , self ) . to_dict ( ) <EOL> d [ '<STR_LIT>' ] = [ tr . to_dict ( ) for tr in <EOL> self . node_groups ] <EOL> return d <EOL> class NodeGroupTemplate ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( <EOL> sa . UniqueConstraint ( '<STR_LIT:name>' , '<STR_LIT>' ) , <EOL> ) <EOL> id = _id_column ( ) <EOL> name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> description = sa . Column ( sa . Text ) <EOL> tenant_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> flavor_id = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> image_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> plugin_name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> hadoop_version = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> node_processes = sa . Column ( st . JsonListType ( ) ) <EOL> node_configs = sa . Column ( st . JsonDictType ( ) ) <EOL> volumes_per_node = sa . Column ( sa . Integer , nullable = False ) <EOL> volumes_size = sa . Column ( sa . Integer ) <EOL> volumes_availability_zone = sa . Column ( sa . String ( <NUM_LIT:255> ) ) <EOL> volume_mount_prefix = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> volume_type = sa . Column ( sa . String ( <NUM_LIT:255> ) ) <EOL> floating_ip_pool = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> security_groups = sa . Column ( st . JsonListType ( ) ) <EOL> auto_security_group = sa . Column ( sa . Boolean ( ) ) <EOL> availability_zone = sa . Column ( sa . String ( <NUM_LIT:255> ) ) <EOL> is_proxy_gateway = sa . Column ( sa . Boolean ( ) ) <EOL> volume_local_to_instance = sa . Column ( sa . Boolean ( ) ) <EOL> is_default = sa . Column ( sa . Boolean ( ) , default = False ) <EOL> use_autoconfig = sa . Column ( sa . Boolean ( ) , default = True ) <EOL> shares = sa . Column ( st . JsonListType ( ) ) <EOL> is_public = sa . Column ( sa . Boolean ( ) ) <EOL> is_protected = sa . Column ( sa . Boolean ( ) ) <EOL> class TemplatesRelation ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> id = _id_column ( ) <EOL> tenant_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> flavor_id = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> image_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> node_processes = sa . Column ( st . JsonListType ( ) ) <EOL> node_configs = sa . Column ( st . JsonDictType ( ) ) <EOL> volumes_per_node = sa . Column ( sa . Integer ) <EOL> volumes_size = sa . Column ( sa . Integer ) <EOL> volumes_availability_zone = sa . Column ( sa . String ( <NUM_LIT:255> ) ) <EOL> volume_mount_prefix = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> volume_type = sa . Column ( sa . String ( <NUM_LIT:255> ) ) <EOL> count = sa . Column ( sa . Integer , nullable = False ) <EOL> use_autoconfig = sa . Column ( sa . Boolean ( ) , default = True ) <EOL> cluster_template_id = sa . Column ( sa . String ( <NUM_LIT> ) , <EOL> sa . ForeignKey ( '<STR_LIT>' ) ) <EOL> node_group_template_id = sa . Column ( sa . String ( <NUM_LIT> ) , <EOL> sa . ForeignKey ( <EOL> '<STR_LIT>' ) ) <EOL> node_group_template = relationship ( '<STR_LIT>' , <EOL> backref = "<STR_LIT>" , <EOL> lazy = '<STR_LIT>' ) <EOL> floating_ip_pool = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> security_groups = sa . Column ( st . JsonListType ( ) ) <EOL> auto_security_group = sa . Column ( sa . Boolean ( ) ) <EOL> availability_zone = sa . Column ( sa . String ( <NUM_LIT:255> ) ) <EOL> is_proxy_gateway = sa . Column ( sa . Boolean ( ) ) <EOL> volume_local_to_instance = sa . Column ( sa . Boolean ( ) ) <EOL> shares = sa . Column ( st . JsonListType ( ) ) <EOL> class DataSource ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( <EOL> sa . UniqueConstraint ( '<STR_LIT:name>' , '<STR_LIT>' ) , <EOL> ) <EOL> id = _id_column ( ) <EOL> tenant_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> description = sa . Column ( sa . Text ( ) ) <EOL> type = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> url = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> credentials = sa . Column ( st . JsonDictType ( ) ) <EOL> is_public = sa . Column ( sa . Boolean ( ) ) <EOL> is_protected = sa . Column ( sa . Boolean ( ) ) <EOL> class JobExecution ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> id = _id_column ( ) <EOL> tenant_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> job_id = sa . Column ( sa . String ( <NUM_LIT> ) , <EOL> sa . ForeignKey ( '<STR_LIT>' ) ) <EOL> input_id = sa . Column ( sa . String ( <NUM_LIT> ) , <EOL> sa . ForeignKey ( '<STR_LIT>' ) ) <EOL> output_id = sa . Column ( sa . String ( <NUM_LIT> ) , <EOL> sa . ForeignKey ( '<STR_LIT>' ) ) <EOL> start_time = sa . Column ( sa . DateTime ( ) ) <EOL> end_time = sa . Column ( sa . DateTime ( ) ) <EOL> cluster_id = sa . Column ( sa . String ( <NUM_LIT> ) , <EOL> sa . ForeignKey ( '<STR_LIT>' ) ) <EOL> info = sa . Column ( st . JsonDictType ( ) ) <EOL> engine_job_id = sa . Column ( sa . String ( <NUM_LIT:100> ) ) <EOL> return_code = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> job_configs = sa . Column ( st . JsonDictType ( ) ) <EOL> extra = sa . Column ( st . JsonDictType ( ) ) <EOL> data_source_urls = sa . Column ( st . JsonDictType ( ) ) <EOL> is_public = sa . Column ( sa . Boolean ( ) ) <EOL> is_protected = sa . Column ( sa . Boolean ( ) ) <EOL> def to_dict ( self ) : <EOL> d = super ( JobExecution , self ) . to_dict ( ) <EOL> d [ '<STR_LIT>' ] = self . engine_job_id <EOL> return d <EOL> mains_association = sa . Table ( "<STR_LIT>" , <EOL> mb . SaharaBase . metadata , <EOL> sa . Column ( "<STR_LIT>" , <EOL> sa . String ( <NUM_LIT> ) , <EOL> sa . ForeignKey ( "<STR_LIT>" ) ) , <EOL> sa . Column ( "<STR_LIT>" , <EOL> sa . String ( <NUM_LIT> ) , <EOL> sa . ForeignKey ( "<STR_LIT>" ) ) <EOL> ) <EOL> libs_association = sa . Table ( "<STR_LIT>" , <EOL> mb . SaharaBase . metadata , <EOL> sa . Column ( "<STR_LIT>" , <EOL> sa . String ( <NUM_LIT> ) , <EOL> sa . ForeignKey ( "<STR_LIT>" ) ) , <EOL> sa . Column ( "<STR_LIT>" , <EOL> sa . String ( <NUM_LIT> ) , <EOL> sa . ForeignKey ( "<STR_LIT>" ) ) <EOL> ) <EOL> class Job ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( <EOL> sa . UniqueConstraint ( '<STR_LIT:name>' , '<STR_LIT>' ) , <EOL> ) <EOL> id = _id_column ( ) <EOL> tenant_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> description = sa . Column ( sa . Text ( ) ) <EOL> type = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> is_public = sa . Column ( sa . Boolean ( ) ) <EOL> is_protected = sa . Column ( sa . Boolean ( ) ) <EOL> mains = relationship ( "<STR_LIT>" , <EOL> secondary = mains_association , lazy = "<STR_LIT>" ) <EOL> libs = relationship ( "<STR_LIT>" , <EOL> secondary = libs_association , lazy = "<STR_LIT>" ) <EOL> interface = relationship ( '<STR_LIT>' , <EOL> cascade = "<STR_LIT>" , <EOL> order_by = "<STR_LIT>" , <EOL> backref = '<STR_LIT>' , <EOL> lazy = '<STR_LIT>' ) <EOL> def to_dict ( self ) : <EOL> d = super ( Job , self ) . to_dict ( ) <EOL> d [ '<STR_LIT>' ] = [ jb . to_dict ( ) for jb in self . mains ] <EOL> d [ '<STR_LIT>' ] = [ jb . to_dict ( ) for jb in self . libs ] <EOL> d [ '<STR_LIT>' ] = [ arg . to_dict ( ) for arg in self . interface ] <EOL> return d <EOL> class JobInterfaceArgument ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( <EOL> sa . UniqueConstraint ( '<STR_LIT>' , '<STR_LIT:name>' ) , <EOL> sa . UniqueConstraint ( '<STR_LIT>' , '<STR_LIT>' ) <EOL> ) <EOL> id = _id_column ( ) <EOL> job_id = sa . Column ( sa . String ( <NUM_LIT> ) , sa . ForeignKey ( '<STR_LIT>' ) , <EOL> nullable = False ) <EOL> tenant_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> description = sa . Column ( sa . Text ( ) ) <EOL> mapping_type = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> location = sa . Column ( sa . Text ( ) , nullable = False ) <EOL> value_type = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> required = sa . Column ( sa . Boolean ( ) , nullable = False ) <EOL> order = sa . Column ( sa . SmallInteger ( ) , nullable = False ) <EOL> default = sa . Column ( sa . Text ( ) ) <EOL> class JobBinaryInternal ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( <EOL> sa . UniqueConstraint ( '<STR_LIT:name>' , '<STR_LIT>' ) , <EOL> ) <EOL> id = _id_column ( ) <EOL> tenant_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> data = sa . orm . deferred ( sa . Column ( st . LargeBinary ( ) ) ) <EOL> datasize = sa . Column ( sa . BIGINT ) <EOL> is_public = sa . Column ( sa . Boolean ( ) ) <EOL> is_protected = sa . Column ( sa . Boolean ( ) ) <EOL> class JobBinary ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( <EOL> sa . UniqueConstraint ( '<STR_LIT:name>' , '<STR_LIT>' ) , <EOL> ) <EOL> id = _id_column ( ) <EOL> tenant_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> name = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> description = sa . Column ( sa . Text ( ) ) <EOL> url = sa . Column ( sa . String ( <NUM_LIT> ) , nullable = False ) <EOL> extra = sa . Column ( st . JsonDictType ( ) ) <EOL> is_public = sa . Column ( sa . Boolean ( ) ) <EOL> is_protected = sa . Column ( sa . Boolean ( ) ) <EOL> class ClusterEvent ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( <EOL> sa . UniqueConstraint ( '<STR_LIT:id>' , '<STR_LIT>' ) , <EOL> ) <EOL> id = _id_column ( ) <EOL> node_group_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> instance_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> instance_name = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> event_info = sa . Column ( sa . Text ) <EOL> successful = sa . Column ( sa . Boolean , nullable = False ) <EOL> step_id = sa . Column ( sa . String ( <NUM_LIT> ) , sa . ForeignKey ( <EOL> '<STR_LIT>' ) ) <EOL> class ClusterProvisionStep ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( <EOL> sa . UniqueConstraint ( '<STR_LIT:id>' , '<STR_LIT>' ) , <EOL> ) <EOL> id = _id_column ( ) <EOL> cluster_id = sa . Column ( sa . String ( <NUM_LIT> ) , sa . ForeignKey ( '<STR_LIT>' ) ) <EOL> tenant_id = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> step_name = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> step_type = sa . Column ( sa . String ( <NUM_LIT> ) ) <EOL> total = sa . Column ( sa . Integer ) <EOL> successful = sa . Column ( sa . Boolean , nullable = True ) <EOL> events = relationship ( '<STR_LIT>' , cascade = "<STR_LIT>" , <EOL> backref = '<STR_LIT>' , <EOL> lazy = '<STR_LIT>' ) <EOL> def to_dict ( self , show_progress ) : <EOL> d = super ( ClusterProvisionStep , self ) . to_dict ( ) <EOL> if show_progress : <EOL> d [ '<STR_LIT>' ] = [ event . to_dict ( ) for event in self . events ] <EOL> return d <EOL> class ClusterVerification ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( sa . UniqueConstraint ( '<STR_LIT:id>' , '<STR_LIT>' ) , ) <EOL> id = _id_column ( ) <EOL> cluster_id = sa . Column ( <EOL> sa . String ( <NUM_LIT> ) , sa . ForeignKey ( '<STR_LIT>' ) ) <EOL> status = sa . Column ( sa . String ( <NUM_LIT:15> ) ) <EOL> checks = relationship ( <EOL> '<STR_LIT>' , cascade = "<STR_LIT>" , <EOL> backref = '<STR_LIT>' , lazy = '<STR_LIT>' ) <EOL> def to_dict ( self ) : <EOL> base = super ( ClusterVerification , self ) . to_dict ( ) <EOL> base [ '<STR_LIT>' ] = [ check . to_dict ( ) for check in self . checks ] <EOL> return base <EOL> class ClusterHealthCheck ( mb . SaharaBase ) : <EOL> """<STR_LIT>""" <EOL> __tablename__ = '<STR_LIT>' <EOL> __table_args__ = ( sa . UniqueConstraint ( '<STR_LIT:id>' , '<STR_LIT>' ) , ) <EOL> id = _id_column ( ) <EOL> verification_id = sa . Column ( <EOL> sa . String ( <NUM_LIT> ) , sa . ForeignKey ( '<STR_LIT>' ) ) <EOL> status = sa . Column ( sa . String ( <NUM_LIT:15> ) ) <EOL> description = sa . Column ( sa . Text ) <EOL> name = sa . Column ( sa . String ( <NUM_LIT> ) ) </s>
