Service Networking API . services

Instance Methods

connections()

Returns the connections Resource.

addSubnetwork(parent, body, x__xgafv=None)

For service producers, provisions a new subnet in a

searchRange(parent, body, x__xgafv=None)

Service producers can use this method to find a currently unused range

updateConnections(name, body, force=None, updateMask=None, x__xgafv=None)

Updates the allocated ranges that are assigned to a connection.

Method Details

addSubnetwork(parent, body, x__xgafv=None)
For service producers, provisions a new subnet in a
peered service's shared VPC network in the requested region and with the
requested size that's expressed as a CIDR range (number of leading bits of
ipV4 network mask). The method checks against the assigned allocated ranges
to find a non-conflicting IP address range. The method will reuse a subnet
if subsequent calls contain the same subnet name, region, and prefix
length. This method will make producer's tenant project to be a shared VPC
service project as needed. The response from the `get` operation will be of
type `Subnetwork` if the operation successfully completes.

Args:
  parent: string, Required. A tenant project in the service producer organization, in the
following format: services/{service}/{collection-id}/{resource-id}.
{collection-id} is the cloud resource collection type that represents the
tenant project. Only `projects` are supported.
{resource-id} is the tenant project numeric id, such as
`123456`. {service} the name of the peering service, such as
`service-peering.example.com`. This service must already be
enabled in the service consumer's project. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # Request to create a subnetwork in a previously peered service network.
    "description": "A String", # An optional description of the subnet.
    "consumerNetwork": "A String", # Required. The name of the service consumer's VPC network. The network
        # must have an existing private connection that was provisioned through the
        # connections.create method. The name must be in the following format:
        # `projects/{project}/global/networks/{network}`, where {project}
        # is a project number, such as `12345`. {network} is the name of a
        # VPC network in the project.
    "region": "A String", # Required. The name of a [region](/compute/docs/regions-zones)
        # for the subnet, such `europe-west1`.
    "requestedAddress": "A String", # Optional. The starting address of a range. The address must be a valid
        # IPv4 address in the x.x.x.x format. This value combined with the IP prefix
        # range is the CIDR range for the subnet. The range must be within the
        # allocated range that is assigned to the private connection. If the CIDR
        # range isn't available, the call fails.
    "ipPrefixLength": 42, # Required. The prefix length of the subnet's IP address range.  Use CIDR
        # range notation, such as `30` to provision a subnet with an
        # `x.x.x.x/30` CIDR range. The IP address range is drawn from a
        # pool of available ranges in the service consumer's allocated range.
    "subnetwork": "A String", # Required. A name for the new subnet. For information about the naming
        # requirements, see [subnetwork](/compute/docs/reference/rest/v1/subnetworks)
        # in the Compute API documentation.
    "consumer": "A String", # Required. A resource that represents the service consumer, such as
        # `projects/123456`. The project number can be different from the
        # value in the consumer network parameter. For example, the network might be
        # part of a Shared VPC network. In those cases, Service Networking validates
        # that this resource belongs to that Shared VPC.
    "subnetworkUsers": [ # A list of members that are granted the `compute.networkUser`
        # role on the subnet.
      "A String",
    ],
  }

  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.
    "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.
    },
    "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.
    "response": { # The normal response of the operation in case of success.  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.
    },
    "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}`.
    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
        # 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).
      "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.
      "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.
        },
      ],
    },
  }
searchRange(parent, body, x__xgafv=None)
Service producers can use this method to find a currently unused range
within consumer allocated ranges.   This returned range is not reserved,
and not guaranteed to remain unused.
It will validate previously provided allocated ranges, find
non-conflicting sub-range of requested size (expressed in
number of leading bits of ipv4 network mask, as in CIDR range
notation).
Operation

Args:
  parent: string, Required. This is in a form services/{service}.
{service} the name of the private access management service, for example
'service-peering.example.com'. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # Request to search for an unused range within allocated ranges.
    "ipPrefixLength": 42, # Required. The prefix length of the IP range.
        # Use usual CIDR range notation.
        # For example, '30' to find unused x.x.x.x/30 CIDR range.
        # Actual range will be determined using allocated range for the consumer
        # peered network and returned in the result.
    "network": "A String", # Network name in the consumer project.   This network must have been
        # already peered with a shared VPC network using CreateConnection
        # method.
        # Must be in a form 'projects/{project}/global/networks/{network}'.
        # {project} is a project number, as in '12345'
        # {network} is network name.
  }

  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.
    "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.
    },
    "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.
    "response": { # The normal response of the operation in case of success.  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.
    },
    "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}`.
    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
        # 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).
      "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.
      "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.
        },
      ],
    },
  }
updateConnections(name, body, force=None, updateMask=None, x__xgafv=None)
Updates the allocated ranges that are assigned to a connection.
The response from the `get` operation will be of type `Connection` if the
operation successfully completes.

Args:
  name: string, The service producer peering service that is managing peering connectivity
for a service producer organization.
For Google services that support this functionality, this is
`services/servicenetworking.googleapis.com`. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # Represents a private connection resource. A private connection is implemented
      # as a VPC Network Peering connection between a service producer's VPC network
      # and a service consumer's VPC network.
    "peering": "A String", # Output only.
        # The name of the VPC Network Peering connection that was created by the
        # service producer.
    "reservedPeeringRanges": [ # The name of one or more allocated IP address ranges for this service
        # producer of type `PEERING`.
        # Note that invoking this method with a different range when connection is
        # already established will not modify already provisioned service
        # producer subnetworks.
      "A String",
    ],
    "network": "A String", # The name of service consumer's VPC network that's connected with service
        # producer network, in the following format:
        # `projects/{project}/global/networks/{network}`.
        # `{project}` is a project number, such as in `12345` that includes
        # the VPC service consumer's VPC network. `{network}` is the name of the
        # service consumer's VPC network.
    "service": "A String", # Output only.
        # The name of the peering service that's associated with this connection, in
        # the following format: `services/{service name}`.
  }

  force: boolean, If a previously defined allocated range is removed, force flag must be
set to true.
  updateMask: string, The update mask. If this is omitted, it defaults to "*". You can only
update the listed peering ranges.
  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.
    "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.
    },
    "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.
    "response": { # The normal response of the operation in case of success.  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.
    },
    "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}`.
    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
        # 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).
      "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.
      "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.
        },
      ],
    },
  }