def _get_event_variables_model_for_given_variables()

in aws-frauddetector-detector/src/aws_frauddetector_detector/helpers/model_helpers.py [0:0]


def _get_event_variables_model_for_given_variables(frauddetector_client, variables, reference_variable_names: set):
    variable_models = []
    for variable in variables:
        variable_tags = _get_tags_for_given_arn(frauddetector_client, variable.get("arn", ""))
        tag_models = get_tag_models_from_tags(variable_tags)
        variable_name = util.extract_name_from_arn(variable.get("arn", ""))
        LOG.debug(f"checking if {variable_name} is in {reference_variable_names}")
        if variable_name in reference_variable_names:
            LOG.debug(f"in reference set, {variable_name} is not inline")
            variable_model = models.EventVariable(
                Arn=variable.get("arn", ""),
                Name=variable_name,
                Tags=None,
                Description=None,
                DataType=None,
                DataSource=None,
                DefaultValue=None,
                VariableType=None,
                CreatedTime=None,
                LastUpdatedTime=None,
                Inline=False,
            )
        else:
            LOG.debug(f"not in reference set, {variable_name} is inline")
            variable_model = models.EventVariable(
                Name=variable.get("name", ""),
                Tags=tag_models,
                Description=variable.get("description", ""),
                DataType=variable.get("dataType", ""),
                DataSource=variable.get("dataSource", ""),
                DefaultValue=variable.get("defaultValue", ""),
                VariableType=variable.get("variableType", ""),
                Arn=variable.get("arn", ""),
                CreatedTime=variable.get("createdTime", ""),
                LastUpdatedTime=variable.get("lastUpdatedTime", ""),
                Inline=True,
            )
        # remove empty description/tags
        if not variable_model.Tags:
            del variable_model.Tags
        if variable_model.Description is None or variable_model.Description == "":
            del variable_model.Description
        variable_models.append(variable_model)
    return variable_models