class Options: def __init__(self, args): self.options = { "corporate_store": None, "service_name": None, "source_schema": None, "source_table": None, "access_type": None, "oracle_metadata_table": None, "oracle_igam_table": None, "query_metadata_access_type1": None, "query_metadata_access_type2a": None, "query_igam_roles": None, "ora_jdbc_url_dwh": None, "ora_jdbc_url_ods": None, "sql_file_path": None, "sql_filename_grants": None, "sentry_role_environment": None, "ranger_script": None, "type3_access_table": None, "type3_access_table_key_column": None, "type3_source_table_key_column": None, "target_s3_bucket": None, "ranger_s3_bucket": None, "ranger_s3_path": None, "rar_full_access_entitlement_list": None, "target_table": None, "tech_meta_data_fields": None, "full_access_entitlement_list": None } # Initialize options from arguments self.initialize_options(args) def initialize_options(self, args): # Assuming args is a list of key-value pairs for key in args.keys(): if key in self.options: self.options[key] = args[key] def get_option_value(self, key): return self.options.get(key, "") @property def corporate_store(self): return self.get_option_value("corporate_store") @property def source_schema(self): return self.get_option_value("source_schema") @property def source_table(self): return self.get_option_value("source_table") @property def access_type(self): return self.get_option_value("access_type") @property def oracle_metadata_table(self): return self.get_option_value("oracle_metadata_table") @property def oracle_igam_table(self): return self.get_option_value("oracle_igam_table") @property def query_metadata_access_type1(self): return self.get_option_value("query_metadata_access_type1") @property def query_metadata_access_type2a(self): return self.get_option_value("query_metadata_access_type2a") @property def query_igam_roles(self): return self.get_option_value("query_igam_roles") @property def ora_jdbc_url_dwh(self): return self.get_option_value("ora_jdbc_url_dwh") @property def ora_jdbc_url_ods(self): return self.get_option_value("ora_jdbc_url_ods") @property def sql_file_path(self): return self.get_option_value("sql_file_path") @property def sql_filename_grants(self): return self.get_option_value("sql_filename_grants") @property def sentry_role_environment(self): return self.get_option_value("sentry_role_environment") @property def ranger_script(self): return self.get_option_value("ranger_script") @property def type3_access_table(self): return self.get_option_value("type3_access_table") @property def type3_access_table_key_column(self): return self.get_option_value("type3_access_table_key_column") @property def type3_source_table_key_column(self): return self.get_option_value("type3_source_table_key_column") @property def target_s3_bucket(self): return self.get_option_value("target_s3_bucket") @property def ranger_s3_bucket(self): return self.get_option_value("ranger_s3_bucket") @property def ranger_s3_path(self): return self.get_option_value("ranger_s3_path") @property def rar_full_access_entitlement_list(self): return self.get_option_value("rar_full_access_entitlement_list") @property def target_table(self): return self.get_option_value("target_table") @property def tech_meta_data_fields(self): return self.get_option_value("tech_meta_data_fields") @property def full_access_entitlement_list(self): return self.get_option_value("full_access_entitlement_list") @property def service_name(self): return self.get_option_value("service_name")