# Kubernetes Engine API . projects . aggregated . usableSubnetworks

## Instance Methods

Lists subnetworks that are usable for creating clusters in a project.

Retrieves the next page of results.

### Method Details

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

    Lists subnetworks that are usable for creating clusters in a project.

    Args:
      parent: string, The parent project where subnetworks are usable.
    Specified in the format `projects/*`. (required)
      filter: string, Filtering currently only supports equality on the networkProjectId and must
    be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId`
    is the project which owns the listed subnetworks. This defaults to the
    parent project ID.
      pageSize: integer, The max number of results per page that should be returned. If the number
    of available results is larger than `page_size`, a `next_page_token` is
    returned which can be used to get the next page of results in subsequent
    requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
      pageToken: string, Specifies a page token to use. Set this to the nextPageToken returned by
    previous list requests to get the next page of results.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # ListUsableSubnetworksResponse is the response of
          # ListUsableSubnetworksRequest.
        "subnetworks": [ # A list of usable subnetworks in the specified network project.
          { # UsableSubnetwork resource returns the subnetwork name, its associated network
              # and the primary CIDR range.
            "subnetwork": "A String", # Subnetwork Name.
                # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
            "statusMessage": "A String", # A human readable status message representing the reasons for cases where
                # the caller cannot use the secondary ranges under the subnet. For example if
                # the secondary_ip_ranges is empty due to a permission issue, an insufficient
                # permission message will be given by status_message.
            "network": "A String", # Network Name.
                # Example: projects/my-project/global/networks/my-network
            "secondaryIpRanges": [ # Secondary IP ranges.
              { # Secondary IP range of a usable subnetwork.
                "ipCidrRange": "A String", # The range of IP addresses belonging to this subnetwork secondary range.
                "status": "A String", # This field is to determine the status of the secondary range programmably.
                "rangeName": "A String", # The name associated with this subnetwork secondary range, used when adding
                    # an alias IP range to a VM instance.
              },
            ],
            "ipCidrRange": "A String", # The range of internal addresses that are owned by this subnetwork.
          },
        ],
        "nextPageToken": "A String", # This token allows you to get the next page of results for list requests.
            # If the number of results is larger than `page_size`, use the
            # `next_page_token` as a value for the query parameter `page_token` in the
            # next request. The value will become empty when there are no more pages.
      }

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