# Subscription Methods

class `rucio.client.subscriptionclient.``SubscriptionClient`(rucio_host=None, auth_host=None, account=None, ca_cert=None, auth_type=None, creds=None, timeout=600, user_agent='rucio-clients')

  Bases: `rucio.client.baseclient.BaseClient`

  SubscriptionClient class for working with subscriptions

  `SUB_BASEURL` = 'subscriptions'
  `add_subscription`(name, account, filter, replication_rules, comments, lifetime, retroactive, dry_run, priority=3)

    Adds a new subscription which will be verified against every new added file and dataset

    Parameters: | name – Name of the subscription account (String) – Account identifier filter (Dict) – Dictionary of attributes by which the input data should be filtered Example: `{'dsn': 'data11_hi*.express_express.*,data11_hi*physics_MinBiasOverlay*', 'account': 'tzero'}` replication_rules (Dict) – Replication rules to be set : Dictionary with keys copies, rse_expression, weight, rse_expression comments (String) – Comments for the subscription lifetime (Integer or False) – Subscription’s lifetime (days); False if subscription has no lifetime retroactive (Boolean) – Flag to know if the subscription should be applied on previous data dry_run (Boolean) – Just print the subscriptions actions without actually executing them (Useful if retroactive flag is set) priority (Integer) – The priority of the subscription (3 by default)
    Type: | String

  `list_subscription_rules`(account, name)

    List the associated rules of a subscription.

    Parameters: | account – Account of the subscription. name – Name of the subscription.

  `list_subscriptions`(name=None, account=None)

    Returns a dictionary with the subscription information : Examples: `{'status': 'INACTIVE/ACTIVE/BROKEN', 'last_modified_date': ...}`

    Parameters: | name – Name of the subscription account (String) – Account identifier
    Type: | String
    Returns: | Dictionary containing subscription parameter
    Return type: | Dict
    Raises: | exception.NotFound if subscription is not found

  `update_subscription`(name, account=None, filter=None, replication_rules=None, comments=None, lifetime=None, retroactive=None, dry_run=None, priority=None)

    Updates a subscription

    Parameters: | name – Name of the subscription account (String) – Account identifier filter (Dict) – Dictionary of attributes by which the input data should be filtered Example: `{'dsn': 'data11_hi*.express_express.*,data11_hi*physics_MinBiasOverlay*', 'account': 'tzero'}` replication_rules (Dict) – Replication rules to be set : Dictionary with keys copies, rse_expression, weight, rse_expression comments (String) – Comments for the subscription lifetime (Integer or False) – Subscription’s lifetime (days); False if subscription has no lifetime retroactive (Boolean) – Flag to know if the subscription should be applied on previous data dry_run (Boolean) – Just print the subscriptions actions without actually executing them (Useful if retroactive flag is set) priority (Integer) – The priority of the subscription
    Type: | String
    Raises: | exception.NotFound if subscription is not found