# 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=None, 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.
        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'
      "createTime": "A String", # The creation time of this Lien.
      "name": "A String", # A system-generated unique identifier for this Lien.
          #
          # Example: `liens/1234abcd`
      "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",
      ],
      "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'
    }

      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'
        "createTime": "A String", # The creation time of this Lien.
        "name": "A String", # A system-generated unique identifier for this Lien.
            #
            # Example: `liens/1234abcd`
        "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",
        ],
        "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'
      }

`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, Required. 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, Required. 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'
        "createTime": "A String", # The creation time of this Lien.
        "name": "A String", # A system-generated unique identifier for this Lien.
            #
            # Example: `liens/1234abcd`
        "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",
        ],
        "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'
      }

`list(pageSize=None, parent=None, pageToken=None, x__xgafv=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:
      pageSize: integer, The maximum number of items to return. This is a suggestion for the server.
      parent: string, Required. The name of the resource to list all attached Liens.
    For example, `projects/1234`.

    (google.api.field_policy).resource_type annotation is not set since the
    parent depends on the meta api implementation. This field could be a
    project or other sub project resources.
      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

    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'
            "createTime": "A String", # The creation time of this Lien.
            "name": "A String", # A system-generated unique identifier for this Lien.
                #
                # Example: `liens/1234abcd`
            "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",
            ],
            "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'
          },
        ],
      }

`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.