# Cloud Resource Manager API . liens

## Instance Methods

Create a Lien which applies to the resource denoted by the `parent` field.

Delete a Lien by `name`.

Retrieve a Lien by `name`.

List all Liens applied to the `parent` resource.

Retrieves the next page of results.

### Method Details

`create(body, x__xgafv=None)`

    Create a Lien which applies to the resource denoted by the `parent` field.

    Callers of this method will require permission on the `parent` resource.
    For example, applying to `projects/1234` requires permission
    `resourcemanager.projects.updateLiens`.

    NOTE: Some resources may limit the number of Liens which may be applied.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # A Lien represents an encumbrance on the actions that can be performed on a
          # resource.
        "origin": "A String", # A stable, user-visible/meaningful string identifying the origin of the
            # Lien, intended to be inspected programmatically. Maximum length of 200
            # characters.
            #
            # Example: 'compute.googleapis.com'
        "restrictions": [ # The types of operations which should be blocked as a result of this Lien.
            # Each value should correspond to an IAM permission. The server will
            # validate the permissions against those for which Liens are supported.
            #
            # An empty list is meaningless and will be rejected.
            #
            # Example: ['resourcemanager.projects.delete']
          "A String",
        ],
        "name": "A String", # A system-generated unique identifier for this Lien.
            #
            # Example: `liens/1234abcd`
        "parent": "A String", # A reference to the resource this Lien is attached to. The server will
            # validate the parent against those for which Liens are supported.
            #
            # Example: `projects/1234`
        "reason": "A String", # Concise user-visible strings indicating why an action cannot be performed
            # on a resource. Maximum length of 200 characters.
            #
            # Example: 'Holds production API key'
        "createTime": "A String", # The creation time of this Lien.
      }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A Lien represents an encumbrance on the actions that can be performed on a
            # resource.
          "origin": "A String", # A stable, user-visible/meaningful string identifying the origin of the
              # Lien, intended to be inspected programmatically. Maximum length of 200
              # characters.
              #
              # Example: 'compute.googleapis.com'
          "restrictions": [ # The types of operations which should be blocked as a result of this Lien.
              # Each value should correspond to an IAM permission. The server will
              # validate the permissions against those for which Liens are supported.
              #
              # An empty list is meaningless and will be rejected.
              #
              # Example: ['resourcemanager.projects.delete']
            "A String",
          ],
          "name": "A String", # A system-generated unique identifier for this Lien.
              #
              # Example: `liens/1234abcd`
          "parent": "A String", # A reference to the resource this Lien is attached to. The server will
              # validate the parent against those for which Liens are supported.
              #
              # Example: `projects/1234`
          "reason": "A String", # Concise user-visible strings indicating why an action cannot be performed
              # on a resource. Maximum length of 200 characters.
              #
              # Example: 'Holds production API key'
          "createTime": "A String", # The creation time of this Lien.
        }

`delete(name, x__xgafv=None)`

    Delete a Lien by `name`.

    Callers of this method will require permission on the `parent` resource.
    For example, a Lien with a `parent` of `projects/1234` requires permission
    `resourcemanager.projects.updateLiens`.

    Args:
      name: string, The name/identifier of the Lien to delete. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated
          # empty messages in your APIs. A typical example is to use it as the request
          # or the response type of an API method. For instance:
          #
          #     service Foo {
          #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
          #     }
          #
          # The JSON representation for `Empty` is empty JSON object `{}`.
      }

`get(name, x__xgafv=None)`

    Retrieve a Lien by `name`.

    Callers of this method will require permission on the `parent` resource.
    For example, a Lien with a `parent` of `projects/1234` requires permission
    requires permission `resourcemanager.projects.get` or
    `resourcemanager.projects.updateLiens`.

    Args:
      name: string, The name/identifier of the Lien. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A Lien represents an encumbrance on the actions that can be performed on a
            # resource.
          "origin": "A String", # A stable, user-visible/meaningful string identifying the origin of the
              # Lien, intended to be inspected programmatically. Maximum length of 200
              # characters.
              #
              # Example: 'compute.googleapis.com'
          "restrictions": [ # The types of operations which should be blocked as a result of this Lien.
              # Each value should correspond to an IAM permission. The server will
              # validate the permissions against those for which Liens are supported.
              #
              # An empty list is meaningless and will be rejected.
              #
              # Example: ['resourcemanager.projects.delete']
            "A String",
          ],
          "name": "A String", # A system-generated unique identifier for this Lien.
              #
              # Example: `liens/1234abcd`
          "parent": "A String", # A reference to the resource this Lien is attached to. The server will
              # validate the parent against those for which Liens are supported.
              #
              # Example: `projects/1234`
          "reason": "A String", # Concise user-visible strings indicating why an action cannot be performed
              # on a resource. Maximum length of 200 characters.
              #
              # Example: 'Holds production API key'
          "createTime": "A String", # The creation time of this Lien.
        }

`list(parent=None, pageToken=None, x__xgafv=None, pageSize=None)`

    List all Liens applied to the `parent` resource.

    Callers of this method will require permission on the `parent` resource.
    For example, a Lien with a `parent` of `projects/1234` requires permission
    `resourcemanager.projects.get`.

    Args:
      parent: string, The name of the resource to list all attached Liens.
    For example, `projects/1234`.
      pageToken: string, The `next_page_token` value returned from a previous List request, if any.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format
      pageSize: integer, The maximum number of items to return. This is a suggestion for the server.

    Returns:
      An object of the form:

        { # The response message for Liens.ListLiens.
        "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more
            # results in the list.
        "liens": [ # A list of Liens.
          { # A Lien represents an encumbrance on the actions that can be performed on a
                # resource.
              "origin": "A String", # A stable, user-visible/meaningful string identifying the origin of the
                  # Lien, intended to be inspected programmatically. Maximum length of 200
                  # characters.
                  #
                  # Example: 'compute.googleapis.com'
              "restrictions": [ # The types of operations which should be blocked as a result of this Lien.
                  # Each value should correspond to an IAM permission. The server will
                  # validate the permissions against those for which Liens are supported.
                  #
                  # An empty list is meaningless and will be rejected.
                  #
                  # Example: ['resourcemanager.projects.delete']
                "A String",
              ],
              "name": "A String", # A system-generated unique identifier for this Lien.
                  #
                  # Example: `liens/1234abcd`
              "parent": "A String", # A reference to the resource this Lien is attached to. The server will
                  # validate the parent against those for which Liens are supported.
                  #
                  # Example: `projects/1234`
              "reason": "A String", # Concise user-visible strings indicating why an action cannot be performed
                  # on a resource. Maximum length of 200 characters.
                  #
                  # Example: 'Holds production API key'
              "createTime": "A String", # The creation time of this Lien.
            },
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.