def update()

in modular-service-cli/modular_service_cli/group/role.py [0:0]


def update(ctx: ContextObj, name, attach_policy, detach_policy, expiration,
           customer_id):
    """
    Updates role configuration.
    """

    if not attach_policy and not detach_policy and not expiration:
        return ApiResponse.build(
            'Either --attach_policy or --detach_policy or --expiration must be provided'
        )
    if expiration:
        try:
            isoparse(expiration)
        except ValueError:
            return ApiResponse.build('Could not parse value from --expiration')
    return ctx.api_client.patch_role(
        name=name,
        expiration=expiration,
        policies_to_attach=attach_policy,
        policies_to_detach=detach_policy,
        customer_id=customer_id
    )