Bare Metal Solution API . projects . locations . networks

Instance Methods

close()

Close httplib2 connections.

get(name, x__xgafv=None)

Get details of a single network.

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

List network in a given project and location.

listNetworkUsage(location, x__xgafv=None)

List all Networks (and used IPs for each Network) in the vendor account associated with the specified project.

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

Update details of a single network.

rename(name, body=None, x__xgafv=None)

RenameNetwork sets a new name for a network. Use with caution, previous names become immediately invalidated.

Method Details

close()
Close httplib2 connections.
get(name, x__xgafv=None)
Get details of a single network.

Args:
  name: string, Required. Name of the resource. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A Network.
  "cidr": "A String", # The cidr of the Network.
  "gatewayIp": "A String", # Output only. Gateway ip address.
  "id": "A String", # An identifier for the `Network`, generated by the backend.
  "ipAddress": "A String", # IP address configured.
  "jumboFramesEnabled": True or False, # Whether network uses standard frames or jumbo ones.
  "labels": { # Labels as key value pairs.
    "a_key": "A String",
  },
  "macAddress": [ # List of physical interfaces.
    "A String",
  ],
  "mountPoints": [ # Input only. List of mount points to attach the network to.
    { # Mount point for a network.
      "defaultGateway": True or False, # Network should be a default gateway.
      "instance": "A String", # Instance to attach network to.
      "ipAddress": "A String", # Ip address of the server.
      "logicalInterface": "A String", # Logical interface to detach from.
    },
  ],
  "name": "A String", # Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}`
  "pod": "A String", # Immutable. Pod name. Pod is an independent part of infrastructure. Network can only be connected to the assets (instances, nfsshares) allocated in the same pod.
  "reservations": [ # List of IP address reservations in this network. When updating this field, an error will be generated if a reservation conflicts with an IP address already allocated to a physical server.
    { # A reservation of one or more addresses in a network.
      "endAddress": "A String", # The last address of this reservation block, inclusive. I.e., for cases when reservations are only single addresses, end_address and start_address will be the same. Must be specified as a single IPv4 address, e.g. 10.1.2.2.
      "note": "A String", # A note about this reservation, intended for human consumption.
      "startAddress": "A String", # The first address of this reservation block. Must be specified as a single IPv4 address, e.g. 10.1.2.2.
    },
  ],
  "servicesCidr": "A String", # IP range for reserved for services (e.g. NFS).
  "state": "A String", # The Network state.
  "type": "A String", # The type of this network.
  "vlanId": "A String", # The vlan id of the Network.
  "vrf": { # A network VRF. # The Vrf for the Network. Use this only if a new Vrf needs to be created.
    "name": "A String", # The name of the VRF.
    "qosPolicy": { # QOS policy parameters. # The QOS policy applied to this VRF. The value is only meaningful when all the vlan attachments have the same QoS. This field should not be used for new integrations, use vlan attachment level qos instead. The field is left for backward-compatibility.
      "bandwidthGbps": 3.14, # The bandwidth permitted by the QOS policy, in gbps.
    },
    "state": "A String", # The possible state of VRF.
    "vlanAttachments": [ # The list of VLAN attachments for the VRF.
      { # VLAN attachment details.
        "id": "A String", # Immutable. The identifier of the attachment within vrf.
        "interconnectAttachment": "A String", # Optional. The name of the vlan attachment within vrf. This is of the form projects/{project_number}/regions/{region}/interconnectAttachments/{interconnect_attachment}
        "pairingKey": "A String", # Input only. Pairing key.
        "peerIp": "A String", # The peer IP of the attachment.
        "peerVlanId": "A String", # The peer vlan ID of the attachment.
        "qosPolicy": { # QOS policy parameters. # The QOS policy applied to this VLAN attachment. This value should be preferred to using qos at vrf level.
          "bandwidthGbps": 3.14, # The bandwidth permitted by the QOS policy, in gbps.
        },
        "routerIp": "A String", # The router IP of the attachment.
      },
    ],
  },
  "vrfAttachment": "A String", # Optional. The name of a pre-existing Vrf that the network should be attached to. Format is `vrfs/{vrf}`.
}
list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)
List network in a given project and location.

Args:
  parent: string, Required. Parent value for ListNetworksRequest. (required)
  filter: string, List filter.
  pageSize: integer, Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default.
  pageToken: string, A token identifying a page of results from the server.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message containing the list of networks.
  "networks": [ # The list of networks.
    { # A Network.
      "cidr": "A String", # The cidr of the Network.
      "gatewayIp": "A String", # Output only. Gateway ip address.
      "id": "A String", # An identifier for the `Network`, generated by the backend.
      "ipAddress": "A String", # IP address configured.
      "jumboFramesEnabled": True or False, # Whether network uses standard frames or jumbo ones.
      "labels": { # Labels as key value pairs.
        "a_key": "A String",
      },
      "macAddress": [ # List of physical interfaces.
        "A String",
      ],
      "mountPoints": [ # Input only. List of mount points to attach the network to.
        { # Mount point for a network.
          "defaultGateway": True or False, # Network should be a default gateway.
          "instance": "A String", # Instance to attach network to.
          "ipAddress": "A String", # Ip address of the server.
          "logicalInterface": "A String", # Logical interface to detach from.
        },
      ],
      "name": "A String", # Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}`
      "pod": "A String", # Immutable. Pod name. Pod is an independent part of infrastructure. Network can only be connected to the assets (instances, nfsshares) allocated in the same pod.
      "reservations": [ # List of IP address reservations in this network. When updating this field, an error will be generated if a reservation conflicts with an IP address already allocated to a physical server.
        { # A reservation of one or more addresses in a network.
          "endAddress": "A String", # The last address of this reservation block, inclusive. I.e., for cases when reservations are only single addresses, end_address and start_address will be the same. Must be specified as a single IPv4 address, e.g. 10.1.2.2.
          "note": "A String", # A note about this reservation, intended for human consumption.
          "startAddress": "A String", # The first address of this reservation block. Must be specified as a single IPv4 address, e.g. 10.1.2.2.
        },
      ],
      "servicesCidr": "A String", # IP range for reserved for services (e.g. NFS).
      "state": "A String", # The Network state.
      "type": "A String", # The type of this network.
      "vlanId": "A String", # The vlan id of the Network.
      "vrf": { # A network VRF. # The Vrf for the Network. Use this only if a new Vrf needs to be created.
        "name": "A String", # The name of the VRF.
        "qosPolicy": { # QOS policy parameters. # The QOS policy applied to this VRF. The value is only meaningful when all the vlan attachments have the same QoS. This field should not be used for new integrations, use vlan attachment level qos instead. The field is left for backward-compatibility.
          "bandwidthGbps": 3.14, # The bandwidth permitted by the QOS policy, in gbps.
        },
        "state": "A String", # The possible state of VRF.
        "vlanAttachments": [ # The list of VLAN attachments for the VRF.
          { # VLAN attachment details.
            "id": "A String", # Immutable. The identifier of the attachment within vrf.
            "interconnectAttachment": "A String", # Optional. The name of the vlan attachment within vrf. This is of the form projects/{project_number}/regions/{region}/interconnectAttachments/{interconnect_attachment}
            "pairingKey": "A String", # Input only. Pairing key.
            "peerIp": "A String", # The peer IP of the attachment.
            "peerVlanId": "A String", # The peer vlan ID of the attachment.
            "qosPolicy": { # QOS policy parameters. # The QOS policy applied to this VLAN attachment. This value should be preferred to using qos at vrf level.
              "bandwidthGbps": 3.14, # The bandwidth permitted by the QOS policy, in gbps.
            },
            "routerIp": "A String", # The router IP of the attachment.
          },
        ],
      },
      "vrfAttachment": "A String", # Optional. The name of a pre-existing Vrf that the network should be attached to. Format is `vrfs/{vrf}`.
    },
  ],
  "nextPageToken": "A String", # A token identifying a page of results from the server.
  "unreachable": [ # Locations that could not be reached.
    "A String",
  ],
}
listNetworkUsage(location, x__xgafv=None)
List all Networks (and used IPs for each Network) in the vendor account associated with the specified project.

Args:
  location: string, Required. Parent value (project and location). (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response with Networks with IPs
  "networks": [ # Networks with IPs.
    { # Network with all used IP addresses.
      "network": { # A Network. # Network.
        "cidr": "A String", # The cidr of the Network.
        "gatewayIp": "A String", # Output only. Gateway ip address.
        "id": "A String", # An identifier for the `Network`, generated by the backend.
        "ipAddress": "A String", # IP address configured.
        "jumboFramesEnabled": True or False, # Whether network uses standard frames or jumbo ones.
        "labels": { # Labels as key value pairs.
          "a_key": "A String",
        },
        "macAddress": [ # List of physical interfaces.
          "A String",
        ],
        "mountPoints": [ # Input only. List of mount points to attach the network to.
          { # Mount point for a network.
            "defaultGateway": True or False, # Network should be a default gateway.
            "instance": "A String", # Instance to attach network to.
            "ipAddress": "A String", # Ip address of the server.
            "logicalInterface": "A String", # Logical interface to detach from.
          },
        ],
        "name": "A String", # Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}`
        "pod": "A String", # Immutable. Pod name. Pod is an independent part of infrastructure. Network can only be connected to the assets (instances, nfsshares) allocated in the same pod.
        "reservations": [ # List of IP address reservations in this network. When updating this field, an error will be generated if a reservation conflicts with an IP address already allocated to a physical server.
          { # A reservation of one or more addresses in a network.
            "endAddress": "A String", # The last address of this reservation block, inclusive. I.e., for cases when reservations are only single addresses, end_address and start_address will be the same. Must be specified as a single IPv4 address, e.g. 10.1.2.2.
            "note": "A String", # A note about this reservation, intended for human consumption.
            "startAddress": "A String", # The first address of this reservation block. Must be specified as a single IPv4 address, e.g. 10.1.2.2.
          },
        ],
        "servicesCidr": "A String", # IP range for reserved for services (e.g. NFS).
        "state": "A String", # The Network state.
        "type": "A String", # The type of this network.
        "vlanId": "A String", # The vlan id of the Network.
        "vrf": { # A network VRF. # The Vrf for the Network. Use this only if a new Vrf needs to be created.
          "name": "A String", # The name of the VRF.
          "qosPolicy": { # QOS policy parameters. # The QOS policy applied to this VRF. The value is only meaningful when all the vlan attachments have the same QoS. This field should not be used for new integrations, use vlan attachment level qos instead. The field is left for backward-compatibility.
            "bandwidthGbps": 3.14, # The bandwidth permitted by the QOS policy, in gbps.
          },
          "state": "A String", # The possible state of VRF.
          "vlanAttachments": [ # The list of VLAN attachments for the VRF.
            { # VLAN attachment details.
              "id": "A String", # Immutable. The identifier of the attachment within vrf.
              "interconnectAttachment": "A String", # Optional. The name of the vlan attachment within vrf. This is of the form projects/{project_number}/regions/{region}/interconnectAttachments/{interconnect_attachment}
              "pairingKey": "A String", # Input only. Pairing key.
              "peerIp": "A String", # The peer IP of the attachment.
              "peerVlanId": "A String", # The peer vlan ID of the attachment.
              "qosPolicy": { # QOS policy parameters. # The QOS policy applied to this VLAN attachment. This value should be preferred to using qos at vrf level.
                "bandwidthGbps": 3.14, # The bandwidth permitted by the QOS policy, in gbps.
              },
              "routerIp": "A String", # The router IP of the attachment.
            },
          ],
        },
        "vrfAttachment": "A String", # Optional. The name of a pre-existing Vrf that the network should be attached to. Format is `vrfs/{vrf}`.
      },
      "usedIps": [ # All used IP addresses in this network.
        "A String",
      ],
    },
  ],
}
list_next()
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.
        
patch(name, body=None, updateMask=None, x__xgafv=None)
Update details of a single network.

Args:
  name: string, Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}` (required)
  body: object, The request body.
    The object takes the form of:

{ # A Network.
  "cidr": "A String", # The cidr of the Network.
  "gatewayIp": "A String", # Output only. Gateway ip address.
  "id": "A String", # An identifier for the `Network`, generated by the backend.
  "ipAddress": "A String", # IP address configured.
  "jumboFramesEnabled": True or False, # Whether network uses standard frames or jumbo ones.
  "labels": { # Labels as key value pairs.
    "a_key": "A String",
  },
  "macAddress": [ # List of physical interfaces.
    "A String",
  ],
  "mountPoints": [ # Input only. List of mount points to attach the network to.
    { # Mount point for a network.
      "defaultGateway": True or False, # Network should be a default gateway.
      "instance": "A String", # Instance to attach network to.
      "ipAddress": "A String", # Ip address of the server.
      "logicalInterface": "A String", # Logical interface to detach from.
    },
  ],
  "name": "A String", # Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}`
  "pod": "A String", # Immutable. Pod name. Pod is an independent part of infrastructure. Network can only be connected to the assets (instances, nfsshares) allocated in the same pod.
  "reservations": [ # List of IP address reservations in this network. When updating this field, an error will be generated if a reservation conflicts with an IP address already allocated to a physical server.
    { # A reservation of one or more addresses in a network.
      "endAddress": "A String", # The last address of this reservation block, inclusive. I.e., for cases when reservations are only single addresses, end_address and start_address will be the same. Must be specified as a single IPv4 address, e.g. 10.1.2.2.
      "note": "A String", # A note about this reservation, intended for human consumption.
      "startAddress": "A String", # The first address of this reservation block. Must be specified as a single IPv4 address, e.g. 10.1.2.2.
    },
  ],
  "servicesCidr": "A String", # IP range for reserved for services (e.g. NFS).
  "state": "A String", # The Network state.
  "type": "A String", # The type of this network.
  "vlanId": "A String", # The vlan id of the Network.
  "vrf": { # A network VRF. # The Vrf for the Network. Use this only if a new Vrf needs to be created.
    "name": "A String", # The name of the VRF.
    "qosPolicy": { # QOS policy parameters. # The QOS policy applied to this VRF. The value is only meaningful when all the vlan attachments have the same QoS. This field should not be used for new integrations, use vlan attachment level qos instead. The field is left for backward-compatibility.
      "bandwidthGbps": 3.14, # The bandwidth permitted by the QOS policy, in gbps.
    },
    "state": "A String", # The possible state of VRF.
    "vlanAttachments": [ # The list of VLAN attachments for the VRF.
      { # VLAN attachment details.
        "id": "A String", # Immutable. The identifier of the attachment within vrf.
        "interconnectAttachment": "A String", # Optional. The name of the vlan attachment within vrf. This is of the form projects/{project_number}/regions/{region}/interconnectAttachments/{interconnect_attachment}
        "pairingKey": "A String", # Input only. Pairing key.
        "peerIp": "A String", # The peer IP of the attachment.
        "peerVlanId": "A String", # The peer vlan ID of the attachment.
        "qosPolicy": { # QOS policy parameters. # The QOS policy applied to this VLAN attachment. This value should be preferred to using qos at vrf level.
          "bandwidthGbps": 3.14, # The bandwidth permitted by the QOS policy, in gbps.
        },
        "routerIp": "A String", # The router IP of the attachment.
      },
    ],
  },
  "vrfAttachment": "A String", # Optional. The name of a pre-existing Vrf that the network should be attached to. Format is `vrfs/{vrf}`.
}

  updateMask: string, The list of fields to update. The only currently supported fields are: `labels`, `reservations`, `vrf.vlan_attachments`
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
rename(name, body=None, x__xgafv=None)
RenameNetwork sets a new name for a network. Use with caution, previous names become immediately invalidated.

Args:
  name: string, Required. The `name` field is used to identify the network. Format: projects/{project}/locations/{location}/networks/{network} (required)
  body: object, The request body.
    The object takes the form of:

{ # Message requesting rename of a server.
  "newNetworkId": "A String", # Required. The new `id` of the network.
}

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

Returns:
  An object of the form:

    { # A Network.
  "cidr": "A String", # The cidr of the Network.
  "gatewayIp": "A String", # Output only. Gateway ip address.
  "id": "A String", # An identifier for the `Network`, generated by the backend.
  "ipAddress": "A String", # IP address configured.
  "jumboFramesEnabled": True or False, # Whether network uses standard frames or jumbo ones.
  "labels": { # Labels as key value pairs.
    "a_key": "A String",
  },
  "macAddress": [ # List of physical interfaces.
    "A String",
  ],
  "mountPoints": [ # Input only. List of mount points to attach the network to.
    { # Mount point for a network.
      "defaultGateway": True or False, # Network should be a default gateway.
      "instance": "A String", # Instance to attach network to.
      "ipAddress": "A String", # Ip address of the server.
      "logicalInterface": "A String", # Logical interface to detach from.
    },
  ],
  "name": "A String", # Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}`
  "pod": "A String", # Immutable. Pod name. Pod is an independent part of infrastructure. Network can only be connected to the assets (instances, nfsshares) allocated in the same pod.
  "reservations": [ # List of IP address reservations in this network. When updating this field, an error will be generated if a reservation conflicts with an IP address already allocated to a physical server.
    { # A reservation of one or more addresses in a network.
      "endAddress": "A String", # The last address of this reservation block, inclusive. I.e., for cases when reservations are only single addresses, end_address and start_address will be the same. Must be specified as a single IPv4 address, e.g. 10.1.2.2.
      "note": "A String", # A note about this reservation, intended for human consumption.
      "startAddress": "A String", # The first address of this reservation block. Must be specified as a single IPv4 address, e.g. 10.1.2.2.
    },
  ],
  "servicesCidr": "A String", # IP range for reserved for services (e.g. NFS).
  "state": "A String", # The Network state.
  "type": "A String", # The type of this network.
  "vlanId": "A String", # The vlan id of the Network.
  "vrf": { # A network VRF. # The Vrf for the Network. Use this only if a new Vrf needs to be created.
    "name": "A String", # The name of the VRF.
    "qosPolicy": { # QOS policy parameters. # The QOS policy applied to this VRF. The value is only meaningful when all the vlan attachments have the same QoS. This field should not be used for new integrations, use vlan attachment level qos instead. The field is left for backward-compatibility.
      "bandwidthGbps": 3.14, # The bandwidth permitted by the QOS policy, in gbps.
    },
    "state": "A String", # The possible state of VRF.
    "vlanAttachments": [ # The list of VLAN attachments for the VRF.
      { # VLAN attachment details.
        "id": "A String", # Immutable. The identifier of the attachment within vrf.
        "interconnectAttachment": "A String", # Optional. The name of the vlan attachment within vrf. This is of the form projects/{project_number}/regions/{region}/interconnectAttachments/{interconnect_attachment}
        "pairingKey": "A String", # Input only. Pairing key.
        "peerIp": "A String", # The peer IP of the attachment.
        "peerVlanId": "A String", # The peer vlan ID of the attachment.
        "qosPolicy": { # QOS policy parameters. # The QOS policy applied to this VLAN attachment. This value should be preferred to using qos at vrf level.
          "bandwidthGbps": 3.14, # The bandwidth permitted by the QOS policy, in gbps.
        },
        "routerIp": "A String", # The router IP of the attachment.
      },
    ],
  },
  "vrfAttachment": "A String", # Optional. The name of a pre-existing Vrf that the network should be attached to. Format is `vrfs/{vrf}`.
}