in aws-frauddetector-detector/src/aws_frauddetector_detector/helpers/model_helpers.py [0:0]
def _get_labels_and_return_labels_model(frauddetector_client, label_names, reference_label_names: set):
label_models = []
for label_name in label_names:
get_labels_response = api_helpers.call_get_labels(frauddetector_client, label_name)
labels = get_labels_response.get("labels", [])
if not labels:
raise RuntimeError(f"Error! Expected an existing label, but label did not exist! label name {label_name}")
label = labels[0]
label_arn = label.get("arn", "")
LOG.debug(f"checking if {label_name} is in {reference_label_names}")
if label_name in reference_label_names:
LOG.debug(f"in reference set, {label_name} is not inline")
label_model = models.Label(
Arn=label_arn,
Name=label_name,
Tags=None,
Description=None,
CreatedTime=None,
LastUpdatedTime=None,
Inline=False,
)
else:
LOG.debug(f"not in reference set, {label_name} is inline")
label_tags = _get_tags_for_given_arn(frauddetector_client, label_arn)
tag_models = get_tag_models_from_tags(label_tags)
label_model = models.Label(
Name=label_name,
Tags=tag_models,
Description=label.get("description", ""),
Arn=label_arn,
CreatedTime=label.get("createdTime", ""),
LastUpdatedTime=label.get("lastUpdatedTime", ""),
Inline=True,
)
# remove empty description/tags
if not label_model.Tags:
del label_model.Tags
if label_model.Description is None or label_model.Description == "":
del label_model.Description
label_models.append(label_model)
return label_models