# Compute Engine API . routes

## Instance Methods

Deletes the specified route resource.

Returns the specified route resource.

Creates a route resource in the specified project using the data included in the request.

Retrieves the list of route resources available to the specified project.

Retrieves the next page of results.

### Method Details

`delete(project, route)`

    Deletes the specified route resource.

    Args:
      project: string, Name of the project scoping this request. (required)
      route: string, Name of the route resource to delete. (required)

    Returns:
      An object of the form:

        { # An operation resource, used to manage asynchronous API requests.
        "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
        "clientOperationId": "A String",
        "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
        "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
        "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
        "operationType": "A String",
        "httpErrorMessage": "A String",
        "progress": 42,
        "httpErrorStatusCode": 42,
        "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
        "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
        "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
        "warnings": [
          {
            "message": "A String", # Optional human-readable details for this warning.
            "code": "A String", # The warning type identifier for this warning.
            "data": [ # Metadata for this warning in 'key: value' format.
              {
                "value": "A String", # A warning data value corresponding to the key.
                "key": "A String", # A key for the warning data.
              },
            ],
          },
        ],
        "user": "A String",
        "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
        "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
        "name": "A String", # [Output Only] Name of the resource (output only).
        "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
        "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
          "errors": [ # [Output Only] The array of errors encountered while processing this operation.
            {
              "message": "A String", # [Output Only] An optional, human-readable error message.
              "code": "A String", # [Output Only] The error type identifier for this error.
              "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
            },
          ],
        },
        "endTime": "A String",
        "selfLink": "A String", # [Output Only] Server defined URL for the resource.
        "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
      }

`get(project, route)`

    Returns the specified route resource.

    Args:
      project: string, Name of the project scoping this request. (required)
      route: string, Name of the route resource to return. (required)

    Returns:
      An object of the form:

        { # The route resource. A Route is a rule that specifies how certain packets should be handled by the virtual network. Routes are associated with VMs by tag and the set of Routes for a particular VM is called its routing table. For each packet leaving a VM, the system searches that VM's routing table for a single best matching Route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the Route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the next_hop field of the winning Route -- either to another VM destination, a VM gateway or a GCE operated gateway. Packets that do not match any Route in the sending VM's routing table will be dropped.
          "nextHopGateway": "A String", # The URL to a gateway that should handle matching packets.
          "priority": 42, # Breaks ties between Routes of equal specificity. Routes with smaller values win when tied with routes with larger values.
          "kind": "compute#route", # Type of the resource.
          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
          "tags": [ # A list of instance tags to which this route applies.
            "A String",
          ],
          "nextHopInstance": "A String", # The URL to an instance that should handle matching packets.
          "warnings": [ # If potential misconfigurations are detected for this route, this field will be populated with warning messages.
            {
              "message": "A String", # Optional human-readable details for this warning.
              "code": "A String", # The warning type identifier for this warning.
              "data": [ # Metadata for this warning in 'key: value' format.
                {
                  "value": "A String", # A warning data value corresponding to the key.
                  "key": "A String", # A key for the warning data.
                },
              ],
            },
          ],
          "nextHopNetwork": "A String", # The URL of the local network if it should handle matching packets.
          "network": "A String", # URL of the network to which this route is applied; provided by the client when the route is created.
          "selfLink": "A String", # Server defined URL for the resource (output only).
          "destRange": "A String", # Which packets does this route apply to?
          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
          "nextHopIp": "A String", # The network IP address of an instance that should handle matching packets.
          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
        }

`insert(project, body)`

    Creates a route resource in the specified project using the data included in the request.

    Args:
      project: string, Name of the project scoping this request. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # The route resource. A Route is a rule that specifies how certain packets should be handled by the virtual network. Routes are associated with VMs by tag and the set of Routes for a particular VM is called its routing table. For each packet leaving a VM, the system searches that VM's routing table for a single best matching Route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the Route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the next_hop field of the winning Route -- either to another VM destination, a VM gateway or a GCE operated gateway. Packets that do not match any Route in the sending VM's routing table will be dropped.
        "nextHopGateway": "A String", # The URL to a gateway that should handle matching packets.
        "priority": 42, # Breaks ties between Routes of equal specificity. Routes with smaller values win when tied with routes with larger values.
        "kind": "compute#route", # Type of the resource.
        "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
        "tags": [ # A list of instance tags to which this route applies.
          "A String",
        ],
        "nextHopInstance": "A String", # The URL to an instance that should handle matching packets.
        "warnings": [ # If potential misconfigurations are detected for this route, this field will be populated with warning messages.
          {
            "message": "A String", # Optional human-readable details for this warning.
            "code": "A String", # The warning type identifier for this warning.
            "data": [ # Metadata for this warning in 'key: value' format.
              {
                "value": "A String", # A warning data value corresponding to the key.
                "key": "A String", # A key for the warning data.
              },
            ],
          },
        ],
        "nextHopNetwork": "A String", # The URL of the local network if it should handle matching packets.
        "network": "A String", # URL of the network to which this route is applied; provided by the client when the route is created.
        "selfLink": "A String", # Server defined URL for the resource (output only).
        "destRange": "A String", # Which packets does this route apply to?
        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
        "nextHopIp": "A String", # The network IP address of an instance that should handle matching packets.
        "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
      }

    Returns:
      An object of the form:

        { # An operation resource, used to manage asynchronous API requests.
        "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
        "clientOperationId": "A String",
        "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
        "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
        "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
        "operationType": "A String",
        "httpErrorMessage": "A String",
        "progress": 42,
        "httpErrorStatusCode": 42,
        "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
        "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
        "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
        "warnings": [
          {
            "message": "A String", # Optional human-readable details for this warning.
            "code": "A String", # The warning type identifier for this warning.
            "data": [ # Metadata for this warning in 'key: value' format.
              {
                "value": "A String", # A warning data value corresponding to the key.
                "key": "A String", # A key for the warning data.
              },
            ],
          },
        ],
        "user": "A String",
        "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
        "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
        "name": "A String", # [Output Only] Name of the resource (output only).
        "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
        "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
          "errors": [ # [Output Only] The array of errors encountered while processing this operation.
            {
              "message": "A String", # [Output Only] An optional, human-readable error message.
              "code": "A String", # [Output Only] The error type identifier for this error.
              "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
            },
          ],
        },
        "endTime": "A String",
        "selfLink": "A String", # [Output Only] Server defined URL for the resource.
        "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
      }

`list(project, maxResults=None, pageToken=None, filter=None)`

    Retrieves the list of route resources available to the specified project.

    Args:
      project: string, Name of the project scoping this request. (required)
      maxResults: integer, Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500.
      pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
      filter: string, Optional. Filter expression for filtering listed resources.

    Returns:
      An object of the form:

        { # Contains a list of route resources.
        "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
        "items": [ # A list of Route resources.
          { # The route resource. A Route is a rule that specifies how certain packets should be handled by the virtual network. Routes are associated with VMs by tag and the set of Routes for a particular VM is called its routing table. For each packet leaving a VM, the system searches that VM's routing table for a single best matching Route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the Route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the next_hop field of the winning Route -- either to another VM destination, a VM gateway or a GCE operated gateway. Packets that do not match any Route in the sending VM's routing table will be dropped.
              "nextHopGateway": "A String", # The URL to a gateway that should handle matching packets.
              "priority": 42, # Breaks ties between Routes of equal specificity. Routes with smaller values win when tied with routes with larger values.
              "kind": "compute#route", # Type of the resource.
              "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
              "tags": [ # A list of instance tags to which this route applies.
                "A String",
              ],
              "nextHopInstance": "A String", # The URL to an instance that should handle matching packets.
              "warnings": [ # If potential misconfigurations are detected for this route, this field will be populated with warning messages.
                {
                  "message": "A String", # Optional human-readable details for this warning.
                  "code": "A String", # The warning type identifier for this warning.
                  "data": [ # Metadata for this warning in 'key: value' format.
                    {
                      "value": "A String", # A warning data value corresponding to the key.
                      "key": "A String", # A key for the warning data.
                    },
                  ],
                },
              ],
              "nextHopNetwork": "A String", # The URL of the local network if it should handle matching packets.
              "network": "A String", # URL of the network to which this route is applied; provided by the client when the route is created.
              "selfLink": "A String", # Server defined URL for the resource (output only).
              "destRange": "A String", # Which packets does this route apply to?
              "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
              "id": "A String", # Unique identifier for the resource; defined by the server (output only).
              "nextHopIp": "A String", # The network IP address of an instance that should handle matching packets.
              "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
            },
        ],
        "kind": "compute#routeList", # Type of resource.
        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
        "selfLink": "A String", # Server defined URL for this resource (output only).
      }

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