def create_stackdriver_group()

in cli/src/klio_cli/utils/stackdriver_utils.py [0:0]


def create_stackdriver_group(project, job_name, region):
    client = monitoring.GroupServiceClient()
    name, dashboard_name = generate_group_meta(project, job_name, region)
    group = {
        "display_name": dashboard_name,
        "filter": "resource.metadata.name=starts_with({})".format(job_name),
    }

    try:
        group = client.create_group(request={"name": name, "group": group})
    except Exception as e:
        msg = (
            "Could not create a Stackdriver for job '{}': {}. "
            "Skipping...".format(job_name, e)
        )
        logging.error(msg)
        return

    group_id = group.name.split("/")[-1]
    url = STACKDRIVER_GROUP_TPL.format(
        base_url=STACKDRIVER_GROUP_BASE_URL,
        group_id=group_id,
        display_name=dashboard_name,
        project=project,
    )
    msg = "Created dashboard '{}' for job '{}': {}".format(
        dashboard_name, job_name, url
    )
    logging.info(msg)
    return url