Connect download service (gRPC)#

Service for downloading Connect binaries

Endpoints#

Get latest connect uri#

gRPC /nominal.connect.download.v1.ConnectDownloadService/GetLatestConnectUri

Get a pre-signed URL for downloading the latest version of Connect for a given platform Scoped to the caller’s org, which picks the release channel. Any session may call it.

Request: GetLatestConnectUriRequest

platform string, one of macos, macos-pkg, windows, ubuntu

One of macos, macos-pkg, windows, ubuntu.

Response: GetLatestConnectUriResponse

uri string

​

Request

import grpc
from nominal.protos.connect.download.v1 import connect_download_pb2, connect_download_pb2_grpc

channel = grpc.secure_channel("api.gov.nominal.io:443", grpc.ssl_channel_credentials())
connect_download_service = connect_download_pb2_grpc.ConnectDownloadServiceStub(channel)
auth = [("authorization", "Bearer <api key>")]

request = connect_download_pb2.GetLatestConnectUriRequest(platform="macos")
response = connect_download_service.GetLatestConnectUri(request, metadata=auth)
print(response)
package main

import (
	"context"
	"crypto/tls"
	"fmt"
	"log"

	downloadv1 "github.com/nominal-io/nominal-api-protos-go/nominal/protos/connect/download/v1"
	"google.golang.org/grpc"
	"google.golang.org/grpc/credentials"
	"google.golang.org/grpc/metadata"
)

func main() {
	conn, err := grpc.NewClient("api.gov.nominal.io:443",
		grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})))
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close()
	connectDownloadService := downloadv1.NewConnectDownloadServiceClient(conn)
	ctx := metadata.AppendToOutgoingContext(context.Background(), "authorization", "Bearer <api key>")

	request := &downloadv1.GetLatestConnectUriRequest{
		Platform: "macos",
	}
	response, err := connectDownloadService.GetLatestConnectUri(ctx, request)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(response)
}

Response

{
  "uri": "<uri>"
}

Get latest version#

gRPC /nominal.connect.download.v1.ConnectDownloadService/GetLatestVersion

Get the latest version string of Connect for a given platform Scoped to the caller’s org, which picks the release channel. Any session may call it.

Request: GetLatestVersionRequest

platform string, one of macos, macos-pkg, windows, ubuntu

One of macos, macos-pkg, windows, ubuntu.

Response: GetLatestVersionResponse

version string

​

Request

import grpc
from nominal.protos.connect.download.v1 import connect_download_pb2, connect_download_pb2_grpc

channel = grpc.secure_channel("api.gov.nominal.io:443", grpc.ssl_channel_credentials())
connect_download_service = connect_download_pb2_grpc.ConnectDownloadServiceStub(channel)
auth = [("authorization", "Bearer <api key>")]

request = connect_download_pb2.GetLatestVersionRequest(platform="macos")
response = connect_download_service.GetLatestVersion(request, metadata=auth)
print(response)
package main

import (
	"context"
	"crypto/tls"
	"fmt"
	"log"

	downloadv1 "github.com/nominal-io/nominal-api-protos-go/nominal/protos/connect/download/v1"
	"google.golang.org/grpc"
	"google.golang.org/grpc/credentials"
	"google.golang.org/grpc/metadata"
)

func main() {
	conn, err := grpc.NewClient("api.gov.nominal.io:443",
		grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})))
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close()
	connectDownloadService := downloadv1.NewConnectDownloadServiceClient(conn)
	ctx := metadata.AppendToOutgoingContext(context.Background(), "authorization", "Bearer <api key>")

	request := &downloadv1.GetLatestVersionRequest{
		Platform: "macos",
	}
	response, err := connectDownloadService.GetLatestVersion(ctx, request)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(response)
}

Response

{
  "version": "<version>"
}

Errors#

Errors shows how these errors are sent.

Code

Reason

Message

NOT_FOUND

CONNECT_DOWNLOAD_SERVICE_ERROR_CONNECT_NOT_AVAILABLE

Connect not available for download on this stack. Please contact support.

Page design based on Scalar, MIT License.