bastionzero-sdk-go

module
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 15, 2023 License: Apache-2.0

README

bastionzero-sdk-go

bastionzero-sdk-go release (latest SemVer) GoDoc Test Status

bastionzero-sdk-go is a Go client library for accessing the BastionZero API v2.

You can view the client API docs here: https://pkg.go.dev/github.com/bastionzero/bastionzero-sdk-go

You can view BastionZero API docs here: https://cloud.bastionzero.com/api/

Install

go get github.com/bastionzero/bastionzero-sdk-go@vX.Y.Z

where X.Y.Z is the version you need.

Alternatively,

go get github.com/bastionzero/bastionzero-sdk-go

to get the latest version.

Usage

import "github.com/bastionzero/bastionzero-sdk-go"

Currently, using an API key is the only method of authentication that is supported by this library. You can manage your API keys at the BastionZero API key panel found here. See the admin guide for more information.

After an API key has been created, you can use its secret to create a new client:

client, err := bastionzero.NewFromAPISecret(http.DefaultClient, "bastionzero-api-secret")
if err != nil {
    return err
}

// list all target connect policies in your organization
policies, _, err := client.Policies.ListTargetConnectPolicies(context.Background(), nil)

The services of a bastionzero.Client divide the API into logical chunks and correspond to the structure of the BastionZero API documentation.

NOTE: Using the context package, one can easily pass cancellation signals and deadlines to various services of the client for handling a request. In case there is no context available, then context.Background() can be used as a starting point.

Examples

To create a new environment:

createRequest := &environments.CreateEnvironmentRequest{
    Name: "my-new-env",
    Description: "An environment created using the BastionZero Go SDK.",
    OfflineCleanupTimeoutHours: uint(24),
}

createResponse, _, err := client.Environments.CreateEnvironment(context.TODO(), createRequest)
if err != nil {
    return err
}

fmt.Printf("Created new environment with ID: %s", createResponse.ID)

Versioning

Each version of the client is tagged and the version is updated accordingly.

In general, bastionzero-sdk-go follows semver as closely as we can for tagging releases of the package.

License

This library is distributed under the Apache License 2.0 license found in the LICENSE file.

Directories

Path Synopsis
service
Package service provides modularized service objects for interacting with different components of the BastionZero API.
Package service provides modularized service objects for interacting with different components of the BastionZero API.
service/agents/agentstatus
Code generated by "string-enumer -t AgentStatus -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t AgentStatus -o ./generated.go ."; DO NOT EDIT.
service/agents/agenttype
Code generated by "string-enumer -t AgentType -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t AgentType -o ./generated.go ."; DO NOT EDIT.
service/autodiscoveryscripts/targetnameoption
Code generated by "string-enumer -t TargetNameOption -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t TargetNameOption -o ./generated.go ."; DO NOT EDIT.
service/connections/connectionstate
Code generated by "string-enumer -t ConnectionState -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t ConnectionState -o ./generated.go ."; DO NOT EDIT.
service/connections/connectiontype
Code generated by "string-enumer -t ConnectionType -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t ConnectionType -o ./generated.go ."; DO NOT EDIT.
service/connections/datstate
Code generated by "string-enumer -t DATState -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t DATState -o ./generated.go ."; DO NOT EDIT.
service/events/connectioneventtype
Code generated by "string-enumer -t ConnectionEventType -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t ConnectionEventType -o ./generated.go ."; DO NOT EDIT.
service/policies/policytype
Code generated by "string-enumer -t PolicyType -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t PolicyType -o ./generated.go ."; DO NOT EDIT.
service/policies/verbtype
Code generated by "string-enumer -t VerbType -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t VerbType -o ./generated.go ."; DO NOT EDIT.
service/subjects/roletype
Code generated by "string-enumer -t RoleType -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t RoleType -o ./generated.go ."; DO NOT EDIT.
service/targets/dacstatus
Code generated by "string-enumer -t DynamicAccessConfigurationStatus -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t DynamicAccessConfigurationStatus -o ./generated.go ."; DO NOT EDIT.
service/targets/targetstatus
Code generated by "string-enumer -t TargetStatus -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t TargetStatus -o ./generated.go ."; DO NOT EDIT.
types
Package types provides common API objects used by all BastionZero services
Package types provides common API objects used by all BastionZero services
types/subjecttype
Code generated by "string-enumer -t SubjectType -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t SubjectType -o ./generated.go ."; DO NOT EDIT.
types/targettype
Code generated by "string-enumer -t TargetType -o ./generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t TargetType -o ./generated.go ."; DO NOT EDIT.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL