Class v1.TetherClient (1.1.1)

Tether provides a way for the control plane to send HTTP API requests to services in data planes that runs in a remote datacenter without requiring customers to open firewalls on their runtime plane. v1

Package

@google-cloud/apigee-connect

Constructors

(constructor)(opts)

constructor(opts?: ClientOptions);

Construct an instance of TetherClient.

Parameter
NameDescription
opts ClientOptions

Properties

apiEndpoint

static get apiEndpoint(): string;

The DNS address for this API service - same as servicePath(), exists for compatibility reasons.

auth

auth: gax.GoogleAuth;

descriptors

descriptors: Descriptors;

innerApiCalls

innerApiCalls: {
        [name: string]: Function;
    };

port

static get port(): number;

The port for this API service.

scopes

static get scopes(): string[];

The scopes needed to make gRPC calls for every method defined in this service.

servicePath

static get servicePath(): string;

The DNS address for this API service.

tetherStub

tetherStub?: Promise<{
        [name: string]: Function;
    }>;

warn

warn: (code: string, message: string, warnType?: string) => void;

Methods

close()

close(): Promise<void>;

Terminate the gRPC channel and close the client.

The client will no longer be usable and all future behavior is undefined.

Returns
TypeDescription
Promise<void>

{Promise} A promise that resolves when the client is closed.

egress(options)

egress(options?: CallOptions): gax.CancellableStream;

Egress streams egress requests and responses. Logically, this is not actually a streaming request, but uses streaming as a mechanism to flip the client-server relationship of gRPC so that the server can act as a client. The listener, the RPC server, accepts connections from the dialer, the RPC client. The listener streams http requests and the dialer streams http responses.

Parameter
NameDescription
options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
gax.CancellableStream

{Stream} An object stream which is both readable and writable. It accepts objects representing [EgressResponse] for write() method, and will emit objects representing [EgressRequest] on 'data' event asynchronously. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#bi-directional-streaming) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Unique identifier for the response. Matches the EgressRequest's id.
   */
  // const id = 'abc123'
  /**
   *  HttpResponse.
   */
  // const httpResponse = {}
  /**
   *  Errors from application when handling the http request.
   */
  // const status = {}
  /**
   *  GCP Project.
   *  Format: `projects/{project_number}`.
   */
  // const project = 'my-project'
  /**
   *  Unique identifier for clients to trace their request/response. Matches the
   *  EgressRequest's trace id
   */
  // const traceId = 'abc123'
  /**
   *  Tether Endpoint.
   */
  // const endpoint = {}
  /**
   *  Name is the full resource path of endpoint.
   *  Format: `projects/{project_number or project_id}/endpoints/{endpoint}`
   */
  // const name = 'abc123'

  // Imports the Apigeeconnect library
  const {TetherClient} = require('@google-cloud/apigee-connect').v1;

  // Instantiates a client
  const apigeeconnectClient = new TetherClient();

  async function callEgress() {
    // Construct request
    const request = {};

    // Run request
    const stream = await apigeeconnectClient.egress();
    stream.on('data', response => {
      console.log(response);
    });
    stream.on('error', err => {
      throw err;
    });
    stream.on('end', () => {
      /* API call completed */
    });
    stream.write(request);
    stream.end();
  }

  callEgress();

getProjectId()

getProjectId(): Promise<string>;
Returns
TypeDescription
Promise<string>

getProjectId(callback)

getProjectId(callback: Callback<string, undefined, undefined>): void;
Parameter
NameDescription
callback Callback<string, undefined, undefined>
Returns
TypeDescription
void

initialize()

initialize(): Promise<{
        [name: string]: Function;
    }>;

Initialize the client. Performs asynchronous operations (such as authentication) and prepares the client. This function will be called automatically when any class method is called for the first time, but if you need to initialize it before calling an actual method, feel free to call initialize() directly.

You can await on this method if you want to make sure the client is initialized.

Returns
TypeDescription
Promise<{ [name: string]: Function; }>

{Promise} A promise that resolves to an authenticated service stub.