sdm

package module
v0.9.40 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2022 License: Apache-2.0 Imports: 19 Imported by: 5

README

strongDM SDK for Go

This is the official strongDM SDK for the Go programming language.

Learn more with our 📚strongDM API docs or 📓browse the SDK reference.

Installation

$ go get github.com/strongdm/strongdm-sdk-go

Authentication

If you don't already have them you will need to generate a set of API keys, instructions are here: API Credentials

Add the keys as environment variables; the SDK will need to access these keys for every request.

$ export SDM_API_ACCESS_KEY=<YOUR ACCESS KEY>
$ export SDM_API_SECRET_KEY=<YOUR SECRET KEY>

List Users

The following code lists all registered users:

func main() {
	log.SetFlags(0)
	accessKey := os.Getenv("SDM_API_ACCESS_KEY")
	secretKey := os.Getenv("SDM_API_SECRET_KEY")
	if accessKey == "" || secretKey == "" {
		log.Fatal("SDM_API_ACCESS_KEY and SDM_API_SECRET_KEY must be provided")
	}

	client, err := sdm.New(accessKey, secretKey)
	if err != nil {
		log.Fatal("failed to create strongDM client:", err)
	}

	ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
	defer cancel()

	users, err := client.Accounts().List(ctx, "")
	if err != nil {
		log.Fatal("failed to query accounts:", err)
	}
	for users.Next() {
		user := users.Value()
		fmt.Println(user)
	}
	if err := users.Err(); err != nil {
		log.Fatal("error while iterating users:", err)
	}
}

License

Apache 2

Contributing

Currently, we are not accepting pull requests directly to this repository, but our users are some of the most resourceful and ambitious folks out there. So, if you have something to contribute, find a bug, or just want to give us some feedback, please email support@strongdm.com.

Documentation

Overview

Package sdm implements an API client to strongDM restful API.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AKS

type AKS struct {
	CertificateAuthority string `json:"certificateAuthority"`

	ClientCertificate string `json:"clientCertificate"`

	ClientKey string `json:"clientKey"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*AKS) GetEgressFilter added in v0.9.28

func (m *AKS) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AKS.

func (*AKS) GetID

func (m *AKS) GetID() string

GetID returns the unique identifier of the AKS.

func (*AKS) GetName added in v0.9.4

func (m *AKS) GetName() string

GetName returns the name of the AKS.

func (*AKS) GetSecretStoreID added in v0.9.21

func (m *AKS) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AKS.

func (*AKS) GetTags added in v0.9.9

func (m *AKS) GetTags() Tags

GetTags returns the tags of the AKS.

func (*AKS) SetEgressFilter added in v0.9.28

func (m *AKS) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AKS.

func (*AKS) SetName added in v0.9.9

func (m *AKS) SetName(v string)

SetName sets the name of the AKS.

func (*AKS) SetSecretStoreID added in v0.9.21

func (m *AKS) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AKS.

func (*AKS) SetTags added in v0.9.9

func (m *AKS) SetTags(v Tags)

SetTags sets the tags of the AKS.

type AKSBasicAuth

type AKSBasicAuth struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*AKSBasicAuth) GetEgressFilter added in v0.9.28

func (m *AKSBasicAuth) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AKSBasicAuth.

func (*AKSBasicAuth) GetID

func (m *AKSBasicAuth) GetID() string

GetID returns the unique identifier of the AKSBasicAuth.

func (*AKSBasicAuth) GetName added in v0.9.4

func (m *AKSBasicAuth) GetName() string

GetName returns the name of the AKSBasicAuth.

func (*AKSBasicAuth) GetSecretStoreID added in v0.9.21

func (m *AKSBasicAuth) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AKSBasicAuth.

func (*AKSBasicAuth) GetTags added in v0.9.9

func (m *AKSBasicAuth) GetTags() Tags

GetTags returns the tags of the AKSBasicAuth.

func (*AKSBasicAuth) SetEgressFilter added in v0.9.28

func (m *AKSBasicAuth) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AKSBasicAuth.

func (*AKSBasicAuth) SetName added in v0.9.9

func (m *AKSBasicAuth) SetName(v string)

SetName sets the name of the AKSBasicAuth.

func (*AKSBasicAuth) SetSecretStoreID added in v0.9.21

func (m *AKSBasicAuth) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AKSBasicAuth.

func (*AKSBasicAuth) SetTags added in v0.9.9

func (m *AKSBasicAuth) SetTags(v Tags)

SetTags sets the tags of the AKSBasicAuth.

type AKSServiceAccount

type AKSServiceAccount struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Token string `json:"token"`
}

func (*AKSServiceAccount) GetEgressFilter added in v0.9.28

func (m *AKSServiceAccount) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AKSServiceAccount.

func (*AKSServiceAccount) GetID

func (m *AKSServiceAccount) GetID() string

GetID returns the unique identifier of the AKSServiceAccount.

func (*AKSServiceAccount) GetName added in v0.9.4

func (m *AKSServiceAccount) GetName() string

GetName returns the name of the AKSServiceAccount.

func (*AKSServiceAccount) GetSecretStoreID added in v0.9.21

func (m *AKSServiceAccount) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AKSServiceAccount.

func (*AKSServiceAccount) GetTags added in v0.9.9

func (m *AKSServiceAccount) GetTags() Tags

GetTags returns the tags of the AKSServiceAccount.

func (*AKSServiceAccount) SetEgressFilter added in v0.9.28

func (m *AKSServiceAccount) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AKSServiceAccount.

func (*AKSServiceAccount) SetName added in v0.9.9

func (m *AKSServiceAccount) SetName(v string)

SetName sets the name of the AKSServiceAccount.

func (*AKSServiceAccount) SetSecretStoreID added in v0.9.21

func (m *AKSServiceAccount) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AKSServiceAccount.

func (*AKSServiceAccount) SetTags added in v0.9.9

func (m *AKSServiceAccount) SetTags(v Tags)

SetTags sets the tags of the AKSServiceAccount.

type AKSServiceAccountUserImpersonation added in v0.9.28

type AKSServiceAccountUserImpersonation struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Token string `json:"token"`
}

func (*AKSServiceAccountUserImpersonation) GetEgressFilter added in v0.9.28

func (m *AKSServiceAccountUserImpersonation) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AKSServiceAccountUserImpersonation.

func (*AKSServiceAccountUserImpersonation) GetID added in v0.9.28

GetID returns the unique identifier of the AKSServiceAccountUserImpersonation.

func (*AKSServiceAccountUserImpersonation) GetName added in v0.9.28

GetName returns the name of the AKSServiceAccountUserImpersonation.

func (*AKSServiceAccountUserImpersonation) GetSecretStoreID added in v0.9.28

func (m *AKSServiceAccountUserImpersonation) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AKSServiceAccountUserImpersonation.

func (*AKSServiceAccountUserImpersonation) GetTags added in v0.9.28

GetTags returns the tags of the AKSServiceAccountUserImpersonation.

func (*AKSServiceAccountUserImpersonation) SetEgressFilter added in v0.9.28

func (m *AKSServiceAccountUserImpersonation) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AKSServiceAccountUserImpersonation.

func (*AKSServiceAccountUserImpersonation) SetName added in v0.9.28

SetName sets the name of the AKSServiceAccountUserImpersonation.

func (*AKSServiceAccountUserImpersonation) SetSecretStoreID added in v0.9.28

func (m *AKSServiceAccountUserImpersonation) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AKSServiceAccountUserImpersonation.

func (*AKSServiceAccountUserImpersonation) SetTags added in v0.9.28

SetTags sets the tags of the AKSServiceAccountUserImpersonation.

type AKSUserImpersonation added in v0.9.28

type AKSUserImpersonation struct {
	CertificateAuthority string `json:"certificateAuthority"`

	ClientCertificate string `json:"clientCertificate"`

	ClientKey string `json:"clientKey"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*AKSUserImpersonation) GetEgressFilter added in v0.9.28

func (m *AKSUserImpersonation) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AKSUserImpersonation.

func (*AKSUserImpersonation) GetID added in v0.9.28

func (m *AKSUserImpersonation) GetID() string

GetID returns the unique identifier of the AKSUserImpersonation.

func (*AKSUserImpersonation) GetName added in v0.9.28

func (m *AKSUserImpersonation) GetName() string

GetName returns the name of the AKSUserImpersonation.

func (*AKSUserImpersonation) GetSecretStoreID added in v0.9.28

func (m *AKSUserImpersonation) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AKSUserImpersonation.

func (*AKSUserImpersonation) GetTags added in v0.9.28

func (m *AKSUserImpersonation) GetTags() Tags

GetTags returns the tags of the AKSUserImpersonation.

func (*AKSUserImpersonation) SetEgressFilter added in v0.9.28

func (m *AKSUserImpersonation) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AKSUserImpersonation.

func (*AKSUserImpersonation) SetName added in v0.9.28

func (m *AKSUserImpersonation) SetName(v string)

SetName sets the name of the AKSUserImpersonation.

func (*AKSUserImpersonation) SetSecretStoreID added in v0.9.28

func (m *AKSUserImpersonation) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AKSUserImpersonation.

func (*AKSUserImpersonation) SetTags added in v0.9.28

func (m *AKSUserImpersonation) SetTags(v Tags)

SetTags sets the tags of the AKSUserImpersonation.

type AWS added in v0.9.22

type AWS struct {
	AccessKey string `json:"accessKey"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`

	HealthcheckRegion string `json:"healthcheckRegion"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	RoleArn string `json:"roleArn"`

	RoleExternalID string `json:"roleExternalId"`

	SecretAccessKey string `json:"secretAccessKey"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*AWS) GetEgressFilter added in v0.9.28

func (m *AWS) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AWS.

func (*AWS) GetID added in v0.9.22

func (m *AWS) GetID() string

GetID returns the unique identifier of the AWS.

func (*AWS) GetName added in v0.9.22

func (m *AWS) GetName() string

GetName returns the name of the AWS.

func (*AWS) GetSecretStoreID added in v0.9.22

func (m *AWS) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AWS.

func (*AWS) GetTags added in v0.9.22

func (m *AWS) GetTags() Tags

GetTags returns the tags of the AWS.

func (*AWS) SetEgressFilter added in v0.9.28

func (m *AWS) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AWS.

func (*AWS) SetName added in v0.9.22

func (m *AWS) SetName(v string)

SetName sets the name of the AWS.

func (*AWS) SetSecretStoreID added in v0.9.22

func (m *AWS) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AWS.

func (*AWS) SetTags added in v0.9.22

func (m *AWS) SetTags(v Tags)

SetTags sets the tags of the AWS.

type AWSStore added in v0.9.21

type AWSStore struct {
	// Unique identifier of the SecretStore.
	ID string `json:"id"`
	// Unique human-readable name of the SecretStore.
	Name string `json:"name"`

	Region string `json:"region"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*AWSStore) GetID added in v0.9.21

func (m *AWSStore) GetID() string

GetID returns the unique identifier of the AWSStore.

func (*AWSStore) GetName added in v0.9.21

func (m *AWSStore) GetName() string

GetName returns the name of the AWSStore.

func (*AWSStore) GetTags added in v0.9.21

func (m *AWSStore) GetTags() Tags

GetTags returns the tags of the AWSStore.

func (*AWSStore) SetName added in v0.9.21

func (m *AWSStore) SetName(v string)

SetName sets the name of the AWSStore.

func (*AWSStore) SetTags added in v0.9.21

func (m *AWSStore) SetTags(v Tags)

SetTags sets the tags of the AWSStore.

type Account

type Account interface {
	// GetID returns the unique identifier of the Account.
	GetID() string
	// IsSuspended returns whether the Account is suspended.
	IsSuspended() bool
	// SetSuspended sets the suspended of the Account.
	SetSuspended(bool)
	// GetTags returns the tags of the Account.
	GetTags() Tags
	// SetTags sets the tags of the Account.
	SetTags(Tags)
	// contains filtered or unexported methods
}

Accounts are users that have access to strongDM. There are two types of accounts: 1. **Users:** humans who are authenticated through username and password or SSO. 2. **Service Accounts:** machines that are authenticated using a service token.

type AccountAttachment

type AccountAttachment struct {
	// The id of the account of this AccountAttachment.
	AccountID string `json:"accountId"`
	// Unique identifier of the AccountAttachment.
	ID string `json:"id"`
	// The id of the attached role of this AccountAttachment.
	RoleID string `json:"roleId"`
}

AccountAttachments assign an account to a role or composite role.

type AccountAttachmentCreateResponse

type AccountAttachmentCreateResponse struct {
	// The created AccountAttachment.
	AccountAttachment *AccountAttachment `json:"accountAttachment"`
	// Reserved for future use.
	Meta *CreateResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.

type AccountAttachmentDeleteResponse

type AccountAttachmentDeleteResponse struct {
	// Reserved for future use.
	Meta *DeleteResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.

type AccountAttachmentGetResponse

type AccountAttachmentGetResponse struct {
	// The requested AccountAttachment.
	AccountAttachment *AccountAttachment `json:"accountAttachment"`
	// Reserved for future use.
	Meta *GetResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

AccountAttachmentGetResponse returns a requested AccountAttachment.

type AccountAttachmentIterator

type AccountAttachmentIterator interface {
	// Next advances the iterator to the next item in the list. It returns
	// true if an item is available to retrieve via the `Value()` function.
	Next() bool
	// Value returns the current item, if one is available.
	Value() *AccountAttachment
	// Err returns the first error encountered during iteration, if any.
	Err() error
}

AccountAttachmentIterator provides read access to a list of AccountAttachment. Use it like so:

for iterator.Next() {
    accountAttachment := iterator.Value()
    // ...
}

type AccountAttachments

type AccountAttachments struct {
	// contains filtered or unexported fields
}

AccountAttachments assign an account to a role or composite role.

func (*AccountAttachments) Create

func (svc *AccountAttachments) Create(
	ctx context.Context,
	accountAttachment *AccountAttachment) (
	*AccountAttachmentCreateResponse,
	error)

Create registers a new AccountAttachment.

func (*AccountAttachments) Delete

Delete removes a AccountAttachment by ID.

func (*AccountAttachments) Get

Get reads one AccountAttachment by ID.

func (*AccountAttachments) List

func (svc *AccountAttachments) List(
	ctx context.Context,
	filter string,
	args ...interface{}) (
	AccountAttachmentIterator,
	error)

List gets a list of AccountAttachments matching a given set of criteria.

type AccountCreateResponse

type AccountCreateResponse struct {
	// The created Account.
	Account Account `json:"account"`
	// Reserved for future use.
	Meta *CreateResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The auth token generated for the Account. The Account will use this token to
	// authenticate with the strongDM API.
	Token string `json:"token"`
}

AccountCreateResponse reports how the Accounts were created in the system.

type AccountDeleteResponse

type AccountDeleteResponse struct {
	// Reserved for future use.
	Meta *DeleteResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

AccountDeleteResponse returns information about a Account that was deleted.

type AccountGetResponse

type AccountGetResponse struct {
	// The requested Account.
	Account Account `json:"account"`
	// Reserved for future use.
	Meta *GetResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

AccountGetResponse returns a requested Account.

type AccountGrant

type AccountGrant struct {
	// The id of the attached role of this AccountGrant.
	AccountID string `json:"accountId"`
	// Unique identifier of the AccountGrant.
	ID string `json:"id"`
	// The id of the composite role of this AccountGrant.
	ResourceID string `json:"resourceId"`
	// The timestamp when the resource will be granted. Optional. Both start_at
	// and end_at must be defined together, or not defined at all.
	StartFrom time.Time `json:"startFrom"`
	// The timestamp when the resource grant will expire. Optional. Both
	// start_at and end_at must be defined together, or not defined at all.
	ValidUntil time.Time `json:"validUntil"`
}

AccountGrants connect a resource directly to an account, giving the account the permission to connect to that resource.

type AccountGrantCreateResponse

type AccountGrantCreateResponse struct {
	// The created AccountGrant.
	AccountGrant *AccountGrant `json:"accountGrant"`
	// Reserved for future use.
	Meta *CreateResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

AccountGrantCreateResponse reports how the AccountGrants were created in the system.

type AccountGrantDeleteResponse

type AccountGrantDeleteResponse struct {
	// Reserved for future use.
	Meta *DeleteResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.

type AccountGrantGetResponse

type AccountGrantGetResponse struct {
	// The requested AccountGrant.
	AccountGrant *AccountGrant `json:"accountGrant"`
	// Reserved for future use.
	Meta *GetResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

AccountGrantGetResponse returns a requested AccountGrant.

type AccountGrantIterator

type AccountGrantIterator interface {
	// Next advances the iterator to the next item in the list. It returns
	// true if an item is available to retrieve via the `Value()` function.
	Next() bool
	// Value returns the current item, if one is available.
	Value() *AccountGrant
	// Err returns the first error encountered during iteration, if any.
	Err() error
}

AccountGrantIterator provides read access to a list of AccountGrant. Use it like so:

for iterator.Next() {
    accountGrant := iterator.Value()
    // ...
}

type AccountGrants

type AccountGrants struct {
	// contains filtered or unexported fields
}

AccountGrants assign a resource directly to an account, giving the account the permission to connect to that resource.

func (*AccountGrants) Create

func (svc *AccountGrants) Create(
	ctx context.Context,
	accountGrant *AccountGrant) (
	*AccountGrantCreateResponse,
	error)

Create registers a new AccountGrant.

func (*AccountGrants) Delete

Delete removes a AccountGrant by ID.

func (*AccountGrants) Get

Get reads one AccountGrant by ID.

func (*AccountGrants) List

func (svc *AccountGrants) List(
	ctx context.Context,
	filter string,
	args ...interface{}) (
	AccountGrantIterator,
	error)

List gets a list of AccountGrants matching a given set of criteria.

type AccountIterator

type AccountIterator interface {
	// Next advances the iterator to the next item in the list. It returns
	// true if an item is available to retrieve via the `Value()` function.
	Next() bool
	// Value returns the current item, if one is available.
	Value() Account
	// Err returns the first error encountered during iteration, if any.
	Err() error
}

AccountIterator provides read access to a list of Account. Use it like so:

for iterator.Next() {
    account := iterator.Value()
    // ...
}

type AccountUpdateResponse

type AccountUpdateResponse struct {
	// The updated Account.
	Account Account `json:"account"`
	// Reserved for future use.
	Meta *UpdateResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

AccountUpdateResponse returns the fields of a Account after it has been updated by a AccountUpdateRequest.

type Accounts

type Accounts struct {
	// contains filtered or unexported fields
}

Accounts are users that have access to strongDM. There are two types of accounts: 1. **Users:** humans who are authenticated through username and password or SSO. 2. **Service Accounts:** machines that are authenticated using a service token.

func (*Accounts) Create

func (svc *Accounts) Create(
	ctx context.Context,
	account Account) (
	*AccountCreateResponse,
	error)

Create registers a new Account.

func (*Accounts) Delete

func (svc *Accounts) Delete(
	ctx context.Context,
	id string) (
	*AccountDeleteResponse,
	error)

Delete removes a Account by ID.

func (*Accounts) Get

func (svc *Accounts) Get(
	ctx context.Context,
	id string) (
	*AccountGetResponse,
	error)

Get reads one Account by ID.

func (*Accounts) List

func (svc *Accounts) List(
	ctx context.Context,
	filter string,
	args ...interface{}) (
	AccountIterator,
	error)

List gets a list of Accounts matching a given set of criteria.

func (*Accounts) Update

func (svc *Accounts) Update(
	ctx context.Context,
	account Account) (
	*AccountUpdateResponse,
	error)

Update patches a Account by ID.

type AlreadyExistsError

type AlreadyExistsError struct {
	Message string
}

AlreadyExistsError is used when an entity already exists in the system

func (AlreadyExistsError) Code

func (e AlreadyExistsError) Code() int

func (AlreadyExistsError) Error

func (e AlreadyExistsError) Error() string

type AmazonEKS

type AmazonEKS struct {
	AccessKey string `json:"accessKey"`

	CertificateAuthority string `json:"certificateAuthority"`

	ClusterName string `json:"clusterName"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`

	Endpoint string `json:"endpoint"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Region string `json:"region"`

	RoleArn string `json:"roleArn"`

	RoleExternalID string `json:"roleExternalId"`

	SecretAccessKey string `json:"secretAccessKey"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*AmazonEKS) GetEgressFilter added in v0.9.28

func (m *AmazonEKS) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AmazonEKS.

func (*AmazonEKS) GetID

func (m *AmazonEKS) GetID() string

GetID returns the unique identifier of the AmazonEKS.

func (*AmazonEKS) GetName added in v0.9.4

func (m *AmazonEKS) GetName() string

GetName returns the name of the AmazonEKS.

func (*AmazonEKS) GetSecretStoreID added in v0.9.21

func (m *AmazonEKS) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AmazonEKS.

func (*AmazonEKS) GetTags added in v0.9.9

func (m *AmazonEKS) GetTags() Tags

GetTags returns the tags of the AmazonEKS.

func (*AmazonEKS) SetEgressFilter added in v0.9.28

func (m *AmazonEKS) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AmazonEKS.

func (*AmazonEKS) SetName added in v0.9.9

func (m *AmazonEKS) SetName(v string)

SetName sets the name of the AmazonEKS.

func (*AmazonEKS) SetSecretStoreID added in v0.9.21

func (m *AmazonEKS) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AmazonEKS.

func (*AmazonEKS) SetTags added in v0.9.9

func (m *AmazonEKS) SetTags(v Tags)

SetTags sets the tags of the AmazonEKS.

type AmazonEKSUserImpersonation added in v0.9.28

type AmazonEKSUserImpersonation struct {
	AccessKey string `json:"accessKey"`

	CertificateAuthority string `json:"certificateAuthority"`

	ClusterName string `json:"clusterName"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`

	Endpoint string `json:"endpoint"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Region string `json:"region"`

	RoleArn string `json:"roleArn"`

	RoleExternalID string `json:"roleExternalId"`

	SecretAccessKey string `json:"secretAccessKey"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*AmazonEKSUserImpersonation) GetEgressFilter added in v0.9.28

func (m *AmazonEKSUserImpersonation) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AmazonEKSUserImpersonation.

func (*AmazonEKSUserImpersonation) GetID added in v0.9.28

GetID returns the unique identifier of the AmazonEKSUserImpersonation.

func (*AmazonEKSUserImpersonation) GetName added in v0.9.28

func (m *AmazonEKSUserImpersonation) GetName() string

GetName returns the name of the AmazonEKSUserImpersonation.

func (*AmazonEKSUserImpersonation) GetSecretStoreID added in v0.9.28

func (m *AmazonEKSUserImpersonation) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AmazonEKSUserImpersonation.

func (*AmazonEKSUserImpersonation) GetTags added in v0.9.28

func (m *AmazonEKSUserImpersonation) GetTags() Tags

GetTags returns the tags of the AmazonEKSUserImpersonation.

func (*AmazonEKSUserImpersonation) SetEgressFilter added in v0.9.28

func (m *AmazonEKSUserImpersonation) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AmazonEKSUserImpersonation.

func (*AmazonEKSUserImpersonation) SetName added in v0.9.28

func (m *AmazonEKSUserImpersonation) SetName(v string)

SetName sets the name of the AmazonEKSUserImpersonation.

func (*AmazonEKSUserImpersonation) SetSecretStoreID added in v0.9.28

func (m *AmazonEKSUserImpersonation) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AmazonEKSUserImpersonation.

func (*AmazonEKSUserImpersonation) SetTags added in v0.9.28

func (m *AmazonEKSUserImpersonation) SetTags(v Tags)

SetTags sets the tags of the AmazonEKSUserImpersonation.

type AmazonES

type AmazonES struct {
	AccessKey string `json:"accessKey"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`

	Endpoint string `json:"endpoint"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	PortOverride int32 `json:"portOverride"`

	Region string `json:"region"`

	RoleArn string `json:"roleArn"`

	RoleExternalID string `json:"roleExternalId"`

	SecretAccessKey string `json:"secretAccessKey"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*AmazonES) GetEgressFilter added in v0.9.28

func (m *AmazonES) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AmazonES.

func (*AmazonES) GetID

func (m *AmazonES) GetID() string

GetID returns the unique identifier of the AmazonES.

func (*AmazonES) GetName added in v0.9.4

func (m *AmazonES) GetName() string

GetName returns the name of the AmazonES.

func (*AmazonES) GetSecretStoreID added in v0.9.21

func (m *AmazonES) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AmazonES.

func (*AmazonES) GetTags added in v0.9.9

func (m *AmazonES) GetTags() Tags

GetTags returns the tags of the AmazonES.

func (*AmazonES) SetEgressFilter added in v0.9.28

func (m *AmazonES) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AmazonES.

func (*AmazonES) SetName added in v0.9.9

func (m *AmazonES) SetName(v string)

SetName sets the name of the AmazonES.

func (*AmazonES) SetSecretStoreID added in v0.9.21

func (m *AmazonES) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AmazonES.

func (*AmazonES) SetTags added in v0.9.9

func (m *AmazonES) SetTags(v Tags)

SetTags sets the tags of the AmazonES.

type AmazonMQAMQP091 added in v0.9.30

type AmazonMQAMQP091 struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TlsRequired bool `json:"tlsRequired"`

	Username string `json:"username"`
}

func (*AmazonMQAMQP091) GetEgressFilter added in v0.9.30

func (m *AmazonMQAMQP091) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AmazonMQAMQP091.

func (*AmazonMQAMQP091) GetID added in v0.9.30

func (m *AmazonMQAMQP091) GetID() string

GetID returns the unique identifier of the AmazonMQAMQP091.

func (*AmazonMQAMQP091) GetName added in v0.9.30

func (m *AmazonMQAMQP091) GetName() string

GetName returns the name of the AmazonMQAMQP091.

func (*AmazonMQAMQP091) GetSecretStoreID added in v0.9.30

func (m *AmazonMQAMQP091) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AmazonMQAMQP091.

func (*AmazonMQAMQP091) GetTags added in v0.9.30

func (m *AmazonMQAMQP091) GetTags() Tags

GetTags returns the tags of the AmazonMQAMQP091.

func (*AmazonMQAMQP091) SetEgressFilter added in v0.9.30

func (m *AmazonMQAMQP091) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AmazonMQAMQP091.

func (*AmazonMQAMQP091) SetName added in v0.9.30

func (m *AmazonMQAMQP091) SetName(v string)

SetName sets the name of the AmazonMQAMQP091.

func (*AmazonMQAMQP091) SetSecretStoreID added in v0.9.30

func (m *AmazonMQAMQP091) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AmazonMQAMQP091.

func (*AmazonMQAMQP091) SetTags added in v0.9.30

func (m *AmazonMQAMQP091) SetTags(v Tags)

SetTags sets the tags of the AmazonMQAMQP091.

type Athena

type Athena struct {
	AccessKey string `json:"accessKey"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Output string `json:"output"`

	PortOverride int32 `json:"portOverride"`

	Region string `json:"region"`

	RoleArn string `json:"roleArn"`

	RoleExternalID string `json:"roleExternalId"`

	SecretAccessKey string `json:"secretAccessKey"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*Athena) GetEgressFilter added in v0.9.28

func (m *Athena) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Athena.

func (*Athena) GetID

func (m *Athena) GetID() string

GetID returns the unique identifier of the Athena.

func (*Athena) GetName added in v0.9.4

func (m *Athena) GetName() string

GetName returns the name of the Athena.

func (*Athena) GetSecretStoreID added in v0.9.21

func (m *Athena) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Athena.

func (*Athena) GetTags added in v0.9.9

func (m *Athena) GetTags() Tags

GetTags returns the tags of the Athena.

func (*Athena) SetEgressFilter added in v0.9.28

func (m *Athena) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Athena.

func (*Athena) SetName added in v0.9.9

func (m *Athena) SetName(v string)

SetName sets the name of the Athena.

func (*Athena) SetSecretStoreID added in v0.9.21

func (m *Athena) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Athena.

func (*Athena) SetTags added in v0.9.9

func (m *Athena) SetTags(v Tags)

SetTags sets the tags of the Athena.

type AuroraMysql

type AuroraMysql struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*AuroraMysql) GetEgressFilter added in v0.9.28

func (m *AuroraMysql) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AuroraMysql.

func (*AuroraMysql) GetID

func (m *AuroraMysql) GetID() string

GetID returns the unique identifier of the AuroraMysql.

func (*AuroraMysql) GetName added in v0.9.4

func (m *AuroraMysql) GetName() string

GetName returns the name of the AuroraMysql.

func (*AuroraMysql) GetSecretStoreID added in v0.9.21

func (m *AuroraMysql) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AuroraMysql.

func (*AuroraMysql) GetTags added in v0.9.9

func (m *AuroraMysql) GetTags() Tags

GetTags returns the tags of the AuroraMysql.

func (*AuroraMysql) SetEgressFilter added in v0.9.28

func (m *AuroraMysql) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AuroraMysql.

func (*AuroraMysql) SetName added in v0.9.9

func (m *AuroraMysql) SetName(v string)

SetName sets the name of the AuroraMysql.

func (*AuroraMysql) SetSecretStoreID added in v0.9.21

func (m *AuroraMysql) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AuroraMysql.

func (*AuroraMysql) SetTags added in v0.9.9

func (m *AuroraMysql) SetTags(v Tags)

SetTags sets the tags of the AuroraMysql.

type AuroraPostgres

type AuroraPostgres struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	OverrideDatabase bool `json:"overrideDatabase"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*AuroraPostgres) GetEgressFilter added in v0.9.28

func (m *AuroraPostgres) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AuroraPostgres.

func (*AuroraPostgres) GetID

func (m *AuroraPostgres) GetID() string

GetID returns the unique identifier of the AuroraPostgres.

func (*AuroraPostgres) GetName added in v0.9.4

func (m *AuroraPostgres) GetName() string

GetName returns the name of the AuroraPostgres.

func (*AuroraPostgres) GetSecretStoreID added in v0.9.21

func (m *AuroraPostgres) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AuroraPostgres.

func (*AuroraPostgres) GetTags added in v0.9.9

func (m *AuroraPostgres) GetTags() Tags

GetTags returns the tags of the AuroraPostgres.

func (*AuroraPostgres) SetEgressFilter added in v0.9.28

func (m *AuroraPostgres) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AuroraPostgres.

func (*AuroraPostgres) SetName added in v0.9.9

func (m *AuroraPostgres) SetName(v string)

SetName sets the name of the AuroraPostgres.

func (*AuroraPostgres) SetSecretStoreID added in v0.9.21

func (m *AuroraPostgres) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AuroraPostgres.

func (*AuroraPostgres) SetTags added in v0.9.9

func (m *AuroraPostgres) SetTags(v Tags)

SetTags sets the tags of the AuroraPostgres.

type AuthenticationError

type AuthenticationError struct {
	Message string
}

AuthenticationError is used to specify an authentication failure condition

func (AuthenticationError) Code

func (e AuthenticationError) Code() int

func (AuthenticationError) Error

func (e AuthenticationError) Error() string

type Azure added in v0.9.38

type Azure struct {
	AppID string `json:"appId"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TenantID string `json:"tenantId"`
}

func (*Azure) GetEgressFilter added in v0.9.38

func (m *Azure) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Azure.

func (*Azure) GetID added in v0.9.38

func (m *Azure) GetID() string

GetID returns the unique identifier of the Azure.

func (*Azure) GetName added in v0.9.38

func (m *Azure) GetName() string

GetName returns the name of the Azure.

func (*Azure) GetSecretStoreID added in v0.9.38

func (m *Azure) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Azure.

func (*Azure) GetTags added in v0.9.38

func (m *Azure) GetTags() Tags

GetTags returns the tags of the Azure.

func (*Azure) SetEgressFilter added in v0.9.38

func (m *Azure) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Azure.

func (*Azure) SetName added in v0.9.38

func (m *Azure) SetName(v string)

SetName sets the name of the Azure.

func (*Azure) SetSecretStoreID added in v0.9.38

func (m *Azure) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Azure.

func (*Azure) SetTags added in v0.9.38

func (m *Azure) SetTags(v Tags)

SetTags sets the tags of the Azure.

type AzureCertificate added in v0.9.38

type AzureCertificate struct {
	AppID string `json:"appId"`

	ClientCertificate string `json:"clientCertificate"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TenantID string `json:"tenantId"`
}

func (*AzureCertificate) GetEgressFilter added in v0.9.38

func (m *AzureCertificate) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AzureCertificate.

func (*AzureCertificate) GetID added in v0.9.38

func (m *AzureCertificate) GetID() string

GetID returns the unique identifier of the AzureCertificate.

func (*AzureCertificate) GetName added in v0.9.38

func (m *AzureCertificate) GetName() string

GetName returns the name of the AzureCertificate.

func (*AzureCertificate) GetSecretStoreID added in v0.9.38

func (m *AzureCertificate) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AzureCertificate.

func (*AzureCertificate) GetTags added in v0.9.38

func (m *AzureCertificate) GetTags() Tags

GetTags returns the tags of the AzureCertificate.

func (*AzureCertificate) SetEgressFilter added in v0.9.38

func (m *AzureCertificate) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AzureCertificate.

func (*AzureCertificate) SetName added in v0.9.38

func (m *AzureCertificate) SetName(v string)

SetName sets the name of the AzureCertificate.

func (*AzureCertificate) SetSecretStoreID added in v0.9.38

func (m *AzureCertificate) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AzureCertificate.

func (*AzureCertificate) SetTags added in v0.9.38

func (m *AzureCertificate) SetTags(v Tags)

SetTags sets the tags of the AzureCertificate.

type AzurePostgres added in v0.9.37

type AzurePostgres struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	OverrideDatabase bool `json:"overrideDatabase"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*AzurePostgres) GetEgressFilter added in v0.9.37

func (m *AzurePostgres) GetEgressFilter() string

GetEgressFilter returns the egress filter of the AzurePostgres.

func (*AzurePostgres) GetID added in v0.9.37

func (m *AzurePostgres) GetID() string

GetID returns the unique identifier of the AzurePostgres.

func (*AzurePostgres) GetName added in v0.9.37

func (m *AzurePostgres) GetName() string

GetName returns the name of the AzurePostgres.

func (*AzurePostgres) GetSecretStoreID added in v0.9.37

func (m *AzurePostgres) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the AzurePostgres.

func (*AzurePostgres) GetTags added in v0.9.37

func (m *AzurePostgres) GetTags() Tags

GetTags returns the tags of the AzurePostgres.

func (*AzurePostgres) SetEgressFilter added in v0.9.37

func (m *AzurePostgres) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the AzurePostgres.

func (*AzurePostgres) SetName added in v0.9.37

func (m *AzurePostgres) SetName(v string)

SetName sets the name of the AzurePostgres.

func (*AzurePostgres) SetSecretStoreID added in v0.9.37

func (m *AzurePostgres) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the AzurePostgres.

func (*AzurePostgres) SetTags added in v0.9.37

func (m *AzurePostgres) SetTags(v Tags)

SetTags sets the tags of the AzurePostgres.

type AzureStore added in v0.9.40

type AzureStore struct {
	// Unique identifier of the SecretStore.
	ID string `json:"id"`
	// Unique human-readable name of the SecretStore.
	Name string `json:"name"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	VaultUri string `json:"vaultUri"`
}

func (*AzureStore) GetID added in v0.9.40

func (m *AzureStore) GetID() string

GetID returns the unique identifier of the AzureStore.

func (*AzureStore) GetName added in v0.9.40

func (m *AzureStore) GetName() string

GetName returns the name of the AzureStore.

func (*AzureStore) GetTags added in v0.9.40

func (m *AzureStore) GetTags() Tags

GetTags returns the tags of the AzureStore.

func (*AzureStore) SetName added in v0.9.40

func (m *AzureStore) SetName(v string)

SetName sets the name of the AzureStore.

func (*AzureStore) SetTags added in v0.9.40

func (m *AzureStore) SetTags(v Tags)

SetTags sets the tags of the AzureStore.

type BadRequestError

type BadRequestError struct {
	Message string
}

BadRequestError identifies a bad request sent by the client

func (BadRequestError) Code

func (e BadRequestError) Code() int

func (BadRequestError) Error

func (e BadRequestError) Error() string

type BigQuery

type BigQuery struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`

	Endpoint string `json:"endpoint"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	PortOverride int32 `json:"portOverride"`

	PrivateKey string `json:"privateKey"`

	Project string `json:"project"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*BigQuery) GetEgressFilter added in v0.9.28

func (m *BigQuery) GetEgressFilter() string

GetEgressFilter returns the egress filter of the BigQuery.

func (*BigQuery) GetID

func (m *BigQuery) GetID() string

GetID returns the unique identifier of the BigQuery.

func (*BigQuery) GetName added in v0.9.4

func (m *BigQuery) GetName() string

GetName returns the name of the BigQuery.

func (*BigQuery) GetSecretStoreID added in v0.9.21

func (m *BigQuery) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the BigQuery.

func (*BigQuery) GetTags added in v0.9.9

func (m *BigQuery) GetTags() Tags

GetTags returns the tags of the BigQuery.

func (*BigQuery) SetEgressFilter added in v0.9.28

func (m *BigQuery) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the BigQuery.

func (*BigQuery) SetName added in v0.9.9

func (m *BigQuery) SetName(v string)

SetName sets the name of the BigQuery.

func (*BigQuery) SetSecretStoreID added in v0.9.21

func (m *BigQuery) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the BigQuery.

func (*BigQuery) SetTags added in v0.9.9

func (m *BigQuery) SetTags(v Tags)

SetTags sets the tags of the BigQuery.

type Cassandra

type Cassandra struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TlsRequired bool `json:"tlsRequired"`

	Username string `json:"username"`
}

func (*Cassandra) GetEgressFilter added in v0.9.28

func (m *Cassandra) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Cassandra.

func (*Cassandra) GetID

func (m *Cassandra) GetID() string

GetID returns the unique identifier of the Cassandra.

func (*Cassandra) GetName added in v0.9.4

func (m *Cassandra) GetName() string

GetName returns the name of the Cassandra.

func (*Cassandra) GetSecretStoreID added in v0.9.21

func (m *Cassandra) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Cassandra.

func (*Cassandra) GetTags added in v0.9.9

func (m *Cassandra) GetTags() Tags

GetTags returns the tags of the Cassandra.

func (*Cassandra) SetEgressFilter added in v0.9.28

func (m *Cassandra) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Cassandra.

func (*Cassandra) SetName added in v0.9.9

func (m *Cassandra) SetName(v string)

SetName sets the name of the Cassandra.

func (*Cassandra) SetSecretStoreID added in v0.9.21

func (m *Cassandra) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Cassandra.

func (*Cassandra) SetTags added in v0.9.9

func (m *Cassandra) SetTags(v Tags)

SetTags sets the tags of the Cassandra.

type Citus added in v0.9.10

type Citus struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	OverrideDatabase bool `json:"overrideDatabase"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*Citus) GetEgressFilter added in v0.9.28

func (m *Citus) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Citus.

func (*Citus) GetID added in v0.9.10

func (m *Citus) GetID() string

GetID returns the unique identifier of the Citus.

func (*Citus) GetName added in v0.9.10

func (m *Citus) GetName() string

GetName returns the name of the Citus.

func (*Citus) GetSecretStoreID added in v0.9.21

func (m *Citus) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Citus.

func (*Citus) GetTags added in v0.9.10

func (m *Citus) GetTags() Tags

GetTags returns the tags of the Citus.

func (*Citus) SetEgressFilter added in v0.9.28

func (m *Citus) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Citus.

func (*Citus) SetName added in v0.9.10

func (m *Citus) SetName(v string)

SetName sets the name of the Citus.

func (*Citus) SetSecretStoreID added in v0.9.21

func (m *Citus) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Citus.

func (*Citus) SetTags added in v0.9.10

func (m *Citus) SetTags(v Tags)

SetTags sets the tags of the Citus.

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is the strongDM API client implementation.

func New

func New(token, secret string, opts ...ClientOption) (*Client, error)

New creates a new strongDM API client.

func (*Client) AccountAttachments

func (c *Client) AccountAttachments() *AccountAttachments

AccountAttachments assign an account to a role or composite role.

func (*Client) AccountGrants

func (c *Client) AccountGrants() *AccountGrants

AccountGrants assign a resource directly to an account, giving the account the permission to connect to that resource.

func (*Client) Accounts

func (c *Client) Accounts() *Accounts

Accounts are users that have access to strongDM. There are two types of accounts: 1. **Users:** humans who are authenticated through username and password or SSO. 2. **Service Accounts:** machines that are authenticated using a service token.

func (*Client) ControlPanel added in v0.9.19

func (c *Client) ControlPanel() *ControlPanel

ControlPanel contains all administrative controls.

func (*Client) Nodes

func (c *Client) Nodes() *Nodes

Nodes make up the strongDM network, and allow your users to connect securely to your resources. There are two types of nodes: - **Gateways** are the entry points into network. They listen for connection from the strongDM client, and provide access to databases and servers. - **Relays** are used to extend the strongDM network into segmented subnets. They provide access to databases and servers but do not listen for incoming connections.

func (*Client) Resources

func (c *Client) Resources() *Resources

func (*Client) RoleAttachments

func (c *Client) RoleAttachments() *RoleAttachments

RoleAttachments represent relationships between composite roles and the roles that make up those composite roles. When a composite role is attached to another role, the permissions granted to members of the composite role are augmented to include the permissions granted to members of the attached role.

func (*Client) RoleGrants

func (c *Client) RoleGrants() *RoleGrants

RoleGrants represent relationships between composite roles and the roles that make up those composite roles. When a composite role is attached to another role, the permissions granted to members of the composite role are augmented to include the permissions granted to members of the attached role.

func (*Client) Roles

func (c *Client) Roles() *Roles

Roles are tools for controlling user access to resources. Each Role holds a list of resources which they grant access to. Composite roles are a special type of Role which have no resource associations of their own, but instead grant access to the combined resources associated with a set of child roles. Each user can be a member of one Role or composite role.

func (*Client) SecretStores added in v0.9.21

func (c *Client) SecretStores() *SecretStores

SecretStores are servers where resource secrets (passwords, keys) are stored.

func (*Client) Sign

func (c *Client) Sign(methodName string, message []byte) string

Sign returns the signature for the given byte array

type ClientOption added in v0.9.2

type ClientOption func(c *Client)

func WithHost added in v0.9.2

func WithHost(host string) ClientOption

func WithInsecure added in v0.9.2

func WithInsecure() ClientOption

func WithUserAgentExtra added in v0.9.34

func WithUserAgentExtra(userAgentExtra string) ClientOption

type Clustrix

type Clustrix struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*Clustrix) GetEgressFilter added in v0.9.28

func (m *Clustrix) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Clustrix.

func (*Clustrix) GetID

func (m *Clustrix) GetID() string

GetID returns the unique identifier of the Clustrix.

func (*Clustrix) GetName added in v0.9.4

func (m *Clustrix) GetName() string

GetName returns the name of the Clustrix.

func (*Clustrix) GetSecretStoreID added in v0.9.21

func (m *Clustrix) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Clustrix.

func (*Clustrix) GetTags added in v0.9.9

func (m *Clustrix) GetTags() Tags

GetTags returns the tags of the Clustrix.

func (*Clustrix) SetEgressFilter added in v0.9.28

func (m *Clustrix) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Clustrix.

func (*Clustrix) SetName added in v0.9.9

func (m *Clustrix) SetName(v string)

SetName sets the name of the Clustrix.

func (*Clustrix) SetSecretStoreID added in v0.9.21

func (m *Clustrix) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Clustrix.

func (*Clustrix) SetTags added in v0.9.9

func (m *Clustrix) SetTags(v Tags)

SetTags sets the tags of the Clustrix.

type Cockroach

type Cockroach struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	OverrideDatabase bool `json:"overrideDatabase"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*Cockroach) GetEgressFilter added in v0.9.28

func (m *Cockroach) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Cockroach.

func (*Cockroach) GetID

func (m *Cockroach) GetID() string

GetID returns the unique identifier of the Cockroach.

func (*Cockroach) GetName added in v0.9.4

func (m *Cockroach) GetName() string

GetName returns the name of the Cockroach.

func (*Cockroach) GetSecretStoreID added in v0.9.21

func (m *Cockroach) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Cockroach.

func (*Cockroach) GetTags added in v0.9.9

func (m *Cockroach) GetTags() Tags

GetTags returns the tags of the Cockroach.

func (*Cockroach) SetEgressFilter added in v0.9.28

func (m *Cockroach) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Cockroach.

func (*Cockroach) SetName added in v0.9.9

func (m *Cockroach) SetName(v string)

SetName sets the name of the Cockroach.

func (*Cockroach) SetSecretStoreID added in v0.9.21

func (m *Cockroach) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Cockroach.

func (*Cockroach) SetTags added in v0.9.9

func (m *Cockroach) SetTags(v Tags)

SetTags sets the tags of the Cockroach.

type ContextCanceledError

type ContextCanceledError struct {
	Wrapped error
}

ContextCanceledError indicates an operation was canceled.

func (*ContextCanceledError) Code

func (e *ContextCanceledError) Code() int

func (*ContextCanceledError) Error

func (e *ContextCanceledError) Error() string

func (*ContextCanceledError) Unwrap

func (e *ContextCanceledError) Unwrap() error

type ControlPanel added in v0.9.19

type ControlPanel struct {
	// contains filtered or unexported fields
}

ControlPanel contains all administrative controls.

func (*ControlPanel) GetSSHCAPublicKey added in v0.9.19

func (svc *ControlPanel) GetSSHCAPublicKey(
	ctx context.Context) (
	*ControlPanelGetSSHCAPublicKeyResponse,
	error)

GetSSHCAPublicKey retrieves the SSH CA public key.

func (*ControlPanel) VerifyJWT added in v0.9.25

func (svc *ControlPanel) VerifyJWT(
	ctx context.Context,
	token string) (
	*ControlPanelVerifyJWTResponse,
	error)

VerifyJWT reports whether the given JWT token (x-sdm-token) is valid.

type ControlPanelGetSSHCAPublicKeyResponse added in v0.9.19

type ControlPanelGetSSHCAPublicKeyResponse struct {
	// Reserved for future use.
	Meta *GetResponseMetadata `json:"meta"`
	// The public key of the SSH Certificate Authority, in OpenSSH RSA public
	// key format.
	PublicKey string `json:"publicKey"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

ControlPanelGetSSHCAPublicKeyResponse represents a request for an organization's SSH Certificate Authority public key.

type ControlPanelVerifyJWTResponse added in v0.9.25

type ControlPanelVerifyJWTResponse struct {
	// Reserved for future use.
	Meta *GetResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// Reports if the given token is valid.
	ValID bool `json:"valid"`
}

ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.

type CreateResponseMetadata

type CreateResponseMetadata struct {
}

CreateResponseMetadata is reserved for future use.

type DB2I added in v0.9.15

type DB2I struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TlsRequired bool `json:"tlsRequired"`

	Username string `json:"username"`
}

func (*DB2I) GetEgressFilter added in v0.9.28

func (m *DB2I) GetEgressFilter() string

GetEgressFilter returns the egress filter of the DB2I.

func (*DB2I) GetID added in v0.9.15

func (m *DB2I) GetID() string

GetID returns the unique identifier of the DB2I.

func (*DB2I) GetName added in v0.9.15

func (m *DB2I) GetName() string

GetName returns the name of the DB2I.

func (*DB2I) GetSecretStoreID added in v0.9.21

func (m *DB2I) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the DB2I.

func (*DB2I) GetTags added in v0.9.15

func (m *DB2I) GetTags() Tags

GetTags returns the tags of the DB2I.

func (*DB2I) SetEgressFilter added in v0.9.28

func (m *DB2I) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the DB2I.

func (*DB2I) SetName added in v0.9.15

func (m *DB2I) SetName(v string)

SetName sets the name of the DB2I.

func (*DB2I) SetSecretStoreID added in v0.9.21

func (m *DB2I) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the DB2I.

func (*DB2I) SetTags added in v0.9.15

func (m *DB2I) SetTags(v Tags)

SetTags sets the tags of the DB2I.

type DB2LUW added in v0.9.15

type DB2LUW struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*DB2LUW) GetEgressFilter added in v0.9.28

func (m *DB2LUW) GetEgressFilter() string

GetEgressFilter returns the egress filter of the DB2LUW.

func (*DB2LUW) GetID added in v0.9.15

func (m *DB2LUW) GetID() string

GetID returns the unique identifier of the DB2LUW.

func (*DB2LUW) GetName added in v0.9.15

func (m *DB2LUW) GetName() string

GetName returns the name of the DB2LUW.

func (*DB2LUW) GetSecretStoreID added in v0.9.21

func (m *DB2LUW) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the DB2LUW.

func (*DB2LUW) GetTags added in v0.9.15

func (m *DB2LUW) GetTags() Tags

GetTags returns the tags of the DB2LUW.

func (*DB2LUW) SetEgressFilter added in v0.9.28

func (m *DB2LUW) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the DB2LUW.

func (*DB2LUW) SetName added in v0.9.15

func (m *DB2LUW) SetName(v string)

SetName sets the name of the DB2LUW.

func (*DB2LUW) SetSecretStoreID added in v0.9.21

func (m *DB2LUW) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the DB2LUW.

func (*DB2LUW) SetTags added in v0.9.15

func (m *DB2LUW) SetTags(v Tags)

SetTags sets the tags of the DB2LUW.

type DeadlineExceededError

type DeadlineExceededError struct {
	Wrapped error
}

DeadlineExceededError indicates a timeout occurred.

func (*DeadlineExceededError) Code

func (e *DeadlineExceededError) Code() int

func (*DeadlineExceededError) Error

func (e *DeadlineExceededError) Error() string

func (*DeadlineExceededError) Unwrap

func (e *DeadlineExceededError) Unwrap() error

type DeleteResponseMetadata

type DeleteResponseMetadata struct {
}

DeleteResponseMetadata is reserved for future use.

type DocumentDBHost added in v0.9.36

type DocumentDBHost struct {
	AuthDatabase string `json:"authDatabase"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*DocumentDBHost) GetEgressFilter added in v0.9.36

func (m *DocumentDBHost) GetEgressFilter() string

GetEgressFilter returns the egress filter of the DocumentDBHost.

func (*DocumentDBHost) GetID added in v0.9.36

func (m *DocumentDBHost) GetID() string

GetID returns the unique identifier of the DocumentDBHost.

func (*DocumentDBHost) GetName added in v0.9.36

func (m *DocumentDBHost) GetName() string

GetName returns the name of the DocumentDBHost.

func (*DocumentDBHost) GetSecretStoreID added in v0.9.36

func (m *DocumentDBHost) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the DocumentDBHost.

func (*DocumentDBHost) GetTags added in v0.9.36

func (m *DocumentDBHost) GetTags() Tags

GetTags returns the tags of the DocumentDBHost.

func (*DocumentDBHost) SetEgressFilter added in v0.9.36

func (m *DocumentDBHost) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the DocumentDBHost.

func (*DocumentDBHost) SetName added in v0.9.36

func (m *DocumentDBHost) SetName(v string)

SetName sets the name of the DocumentDBHost.

func (*DocumentDBHost) SetSecretStoreID added in v0.9.36

func (m *DocumentDBHost) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the DocumentDBHost.

func (*DocumentDBHost) SetTags added in v0.9.36

func (m *DocumentDBHost) SetTags(v Tags)

SetTags sets the tags of the DocumentDBHost.

type DocumentDBReplicaSet added in v0.9.36

type DocumentDBReplicaSet struct {
	AuthDatabase string `json:"authDatabase"`

	ConnectToReplica bool `json:"connectToReplica"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	PortOverride int32 `json:"portOverride"`

	ReplicaSet string `json:"replicaSet"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*DocumentDBReplicaSet) GetEgressFilter added in v0.9.36

func (m *DocumentDBReplicaSet) GetEgressFilter() string

GetEgressFilter returns the egress filter of the DocumentDBReplicaSet.

func (*DocumentDBReplicaSet) GetID added in v0.9.36

func (m *DocumentDBReplicaSet) GetID() string

GetID returns the unique identifier of the DocumentDBReplicaSet.

func (*DocumentDBReplicaSet) GetName added in v0.9.36

func (m *DocumentDBReplicaSet) GetName() string

GetName returns the name of the DocumentDBReplicaSet.

func (*DocumentDBReplicaSet) GetSecretStoreID added in v0.9.36

func (m *DocumentDBReplicaSet) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the DocumentDBReplicaSet.

func (*DocumentDBReplicaSet) GetTags added in v0.9.36

func (m *DocumentDBReplicaSet) GetTags() Tags

GetTags returns the tags of the DocumentDBReplicaSet.

func (*DocumentDBReplicaSet) SetEgressFilter added in v0.9.36

func (m *DocumentDBReplicaSet) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the DocumentDBReplicaSet.

func (*DocumentDBReplicaSet) SetName added in v0.9.36

func (m *DocumentDBReplicaSet) SetName(v string)

SetName sets the name of the DocumentDBReplicaSet.

func (*DocumentDBReplicaSet) SetSecretStoreID added in v0.9.36

func (m *DocumentDBReplicaSet) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the DocumentDBReplicaSet.

func (*DocumentDBReplicaSet) SetTags added in v0.9.36

func (m *DocumentDBReplicaSet) SetTags(v Tags)

SetTags sets the tags of the DocumentDBReplicaSet.

type Druid

type Druid struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*Druid) GetEgressFilter added in v0.9.28

func (m *Druid) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Druid.

func (*Druid) GetID

func (m *Druid) GetID() string

GetID returns the unique identifier of the Druid.

func (*Druid) GetName added in v0.9.4

func (m *Druid) GetName() string

GetName returns the name of the Druid.

func (*Druid) GetSecretStoreID added in v0.9.21

func (m *Druid) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Druid.

func (*Druid) GetTags added in v0.9.9

func (m *Druid) GetTags() Tags

GetTags returns the tags of the Druid.

func (*Druid) SetEgressFilter added in v0.9.28

func (m *Druid) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Druid.

func (*Druid) SetName added in v0.9.9

func (m *Druid) SetName(v string)

SetName sets the name of the Druid.

func (*Druid) SetSecretStoreID added in v0.9.21

func (m *Druid) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Druid.

func (*Druid) SetTags added in v0.9.9

func (m *Druid) SetTags(v Tags)

SetTags sets the tags of the Druid.

type DynamoDB

type DynamoDB struct {
	AccessKey string `json:"accessKey"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`

	Endpoint string `json:"endpoint"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	PortOverride int32 `json:"portOverride"`

	Region string `json:"region"`

	RoleArn string `json:"roleArn"`

	RoleExternalID string `json:"roleExternalId"`

	SecretAccessKey string `json:"secretAccessKey"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*DynamoDB) GetEgressFilter added in v0.9.28

func (m *DynamoDB) GetEgressFilter() string

GetEgressFilter returns the egress filter of the DynamoDB.

func (*DynamoDB) GetID

func (m *DynamoDB) GetID() string

GetID returns the unique identifier of the DynamoDB.

func (*DynamoDB) GetName added in v0.9.4

func (m *DynamoDB) GetName() string

GetName returns the name of the DynamoDB.

func (*DynamoDB) GetSecretStoreID added in v0.9.21

func (m *DynamoDB) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the DynamoDB.

func (*DynamoDB) GetTags added in v0.9.9

func (m *DynamoDB) GetTags() Tags

GetTags returns the tags of the DynamoDB.

func (*DynamoDB) SetEgressFilter added in v0.9.28

func (m *DynamoDB) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the DynamoDB.

func (*DynamoDB) SetName added in v0.9.9

func (m *DynamoDB) SetName(v string)

SetName sets the name of the DynamoDB.

func (*DynamoDB) SetSecretStoreID added in v0.9.21

func (m *DynamoDB) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the DynamoDB.

func (*DynamoDB) SetTags added in v0.9.9

func (m *DynamoDB) SetTags(v Tags)

SetTags sets the tags of the DynamoDB.

type Elastic

type Elastic struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TlsRequired bool `json:"tlsRequired"`

	Username string `json:"username"`
}

func (*Elastic) GetEgressFilter added in v0.9.28

func (m *Elastic) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Elastic.

func (*Elastic) GetID

func (m *Elastic) GetID() string

GetID returns the unique identifier of the Elastic.

func (*Elastic) GetName added in v0.9.4

func (m *Elastic) GetName() string

GetName returns the name of the Elastic.

func (*Elastic) GetSecretStoreID added in v0.9.21

func (m *Elastic) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Elastic.

func (*Elastic) GetTags added in v0.9.9

func (m *Elastic) GetTags() Tags

GetTags returns the tags of the Elastic.

func (*Elastic) SetEgressFilter added in v0.9.28

func (m *Elastic) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Elastic.

func (*Elastic) SetName added in v0.9.9

func (m *Elastic) SetName(v string)

SetName sets the name of the Elastic.

func (*Elastic) SetSecretStoreID added in v0.9.21

func (m *Elastic) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Elastic.

func (*Elastic) SetTags added in v0.9.9

func (m *Elastic) SetTags(v Tags)

SetTags sets the tags of the Elastic.

type ElasticacheRedis

type ElasticacheRedis struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TlsRequired bool `json:"tlsRequired"`
}

func (*ElasticacheRedis) GetEgressFilter added in v0.9.28

func (m *ElasticacheRedis) GetEgressFilter() string

GetEgressFilter returns the egress filter of the ElasticacheRedis.

func (*ElasticacheRedis) GetID

func (m *ElasticacheRedis) GetID() string

GetID returns the unique identifier of the ElasticacheRedis.

func (*ElasticacheRedis) GetName added in v0.9.4

func (m *ElasticacheRedis) GetName() string

GetName returns the name of the ElasticacheRedis.

func (*ElasticacheRedis) GetSecretStoreID added in v0.9.21

func (m *ElasticacheRedis) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the ElasticacheRedis.

func (*ElasticacheRedis) GetTags added in v0.9.9

func (m *ElasticacheRedis) GetTags() Tags

GetTags returns the tags of the ElasticacheRedis.

func (*ElasticacheRedis) SetEgressFilter added in v0.9.28

func (m *ElasticacheRedis) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the ElasticacheRedis.

func (*ElasticacheRedis) SetName added in v0.9.9

func (m *ElasticacheRedis) SetName(v string)

SetName sets the name of the ElasticacheRedis.

func (*ElasticacheRedis) SetSecretStoreID added in v0.9.21

func (m *ElasticacheRedis) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the ElasticacheRedis.

func (*ElasticacheRedis) SetTags added in v0.9.9

func (m *ElasticacheRedis) SetTags(v Tags)

SetTags sets the tags of the ElasticacheRedis.

type Error

type Error interface {
	// Code returns the gRPC error code
	Code() int
	error
}

Error is a generic RPC error indicating something went wrong at the transport layer. Use Code() and Unwrap() to inspect the actual failed condition.

type GCP added in v0.9.38

type GCP struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`

	Keyfile string `json:"keyfile"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Scopes string `json:"scopes"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*GCP) GetEgressFilter added in v0.9.38

func (m *GCP) GetEgressFilter() string

GetEgressFilter returns the egress filter of the GCP.

func (*GCP) GetID added in v0.9.38

func (m *GCP) GetID() string

GetID returns the unique identifier of the GCP.

func (*GCP) GetName added in v0.9.38

func (m *GCP) GetName() string

GetName returns the name of the GCP.

func (*GCP) GetSecretStoreID added in v0.9.38

func (m *GCP) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the GCP.

func (*GCP) GetTags added in v0.9.38

func (m *GCP) GetTags() Tags

GetTags returns the tags of the GCP.

func (*GCP) SetEgressFilter added in v0.9.38

func (m *GCP) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the GCP.

func (*GCP) SetName added in v0.9.38

func (m *GCP) SetName(v string)

SetName sets the name of the GCP.

func (*GCP) SetSecretStoreID added in v0.9.38

func (m *GCP) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the GCP.

func (*GCP) SetTags added in v0.9.38

func (m *GCP) SetTags(v Tags)

SetTags sets the tags of the GCP.

type Gateway

type Gateway struct {
	// The hostname/port tuple which the gateway daemon will bind to.
	// If not provided on create, set to "0.0.0.0:<listen_address_port>".
	BindAddress string `json:"bindAddress"`
	// GatewayFilter can be used to restrict the peering between relays and
	// gateways.
	GatewayFilter string `json:"gatewayFilter"`
	// Unique identifier of the Gateway.
	ID string `json:"id"`
	// The public hostname/port tuple at which the gateway will be accessible to clients.
	ListenAddress string `json:"listenAddress"`
	// Unique human-readable name of the Gateway. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
	Name string `json:"name"`
	// The current state of the gateway. One of: "new", "verifying_restart",
	// "restarting", "started", "stopped", "dead", "unknown"
	State string `json:"state"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

Gateway represents a StrongDM CLI installation running in gateway mode.

func (*Gateway) GetID

func (m *Gateway) GetID() string

GetID returns the unique identifier of the Gateway.

func (*Gateway) GetTags added in v0.9.12

func (m *Gateway) GetTags() Tags

GetTags returns the tags of the Gateway.

func (*Gateway) SetTags added in v0.9.12

func (m *Gateway) SetTags(v Tags)

SetTags sets the tags of the Gateway.

type GetResponseMetadata

type GetResponseMetadata struct {
}

GetResponseMetadata is reserved for future use.

type GoogleGKE

type GoogleGKE struct {
	CertificateAuthority string `json:"certificateAuthority"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`

	Endpoint string `json:"endpoint"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`

	ServiceAccountKey string `json:"serviceAccountKey"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*GoogleGKE) GetEgressFilter added in v0.9.28

func (m *GoogleGKE) GetEgressFilter() string

GetEgressFilter returns the egress filter of the GoogleGKE.

func (*GoogleGKE) GetID

func (m *GoogleGKE) GetID() string

GetID returns the unique identifier of the GoogleGKE.

func (*GoogleGKE) GetName added in v0.9.4

func (m *GoogleGKE) GetName() string

GetName returns the name of the GoogleGKE.

func (*GoogleGKE) GetSecretStoreID added in v0.9.21

func (m *GoogleGKE) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the GoogleGKE.

func (*GoogleGKE) GetTags added in v0.9.9

func (m *GoogleGKE) GetTags() Tags

GetTags returns the tags of the GoogleGKE.

func (*GoogleGKE) SetEgressFilter added in v0.9.28

func (m *GoogleGKE) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the GoogleGKE.

func (*GoogleGKE) SetName added in v0.9.9

func (m *GoogleGKE) SetName(v string)

SetName sets the name of the GoogleGKE.

func (*GoogleGKE) SetSecretStoreID added in v0.9.21

func (m *GoogleGKE) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the GoogleGKE.

func (*GoogleGKE) SetTags added in v0.9.9

func (m *GoogleGKE) SetTags(v Tags)

SetTags sets the tags of the GoogleGKE.

type GoogleGKEUserImpersonation added in v0.9.28

type GoogleGKEUserImpersonation struct {
	CertificateAuthority string `json:"certificateAuthority"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`

	Endpoint string `json:"endpoint"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`

	ServiceAccountKey string `json:"serviceAccountKey"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*GoogleGKEUserImpersonation) GetEgressFilter added in v0.9.28

func (m *GoogleGKEUserImpersonation) GetEgressFilter() string

GetEgressFilter returns the egress filter of the GoogleGKEUserImpersonation.

func (*GoogleGKEUserImpersonation) GetID added in v0.9.28

GetID returns the unique identifier of the GoogleGKEUserImpersonation.

func (*GoogleGKEUserImpersonation) GetName added in v0.9.28

func (m *GoogleGKEUserImpersonation) GetName() string

GetName returns the name of the GoogleGKEUserImpersonation.

func (*GoogleGKEUserImpersonation) GetSecretStoreID added in v0.9.28

func (m *GoogleGKEUserImpersonation) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the GoogleGKEUserImpersonation.

func (*GoogleGKEUserImpersonation) GetTags added in v0.9.28

func (m *GoogleGKEUserImpersonation) GetTags() Tags

GetTags returns the tags of the GoogleGKEUserImpersonation.

func (*GoogleGKEUserImpersonation) SetEgressFilter added in v0.9.28

func (m *GoogleGKEUserImpersonation) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the GoogleGKEUserImpersonation.

func (*GoogleGKEUserImpersonation) SetName added in v0.9.28

func (m *GoogleGKEUserImpersonation) SetName(v string)

SetName sets the name of the GoogleGKEUserImpersonation.

func (*GoogleGKEUserImpersonation) SetSecretStoreID added in v0.9.28

func (m *GoogleGKEUserImpersonation) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the GoogleGKEUserImpersonation.

func (*GoogleGKEUserImpersonation) SetTags added in v0.9.28

func (m *GoogleGKEUserImpersonation) SetTags(v Tags)

SetTags sets the tags of the GoogleGKEUserImpersonation.

type Greenplum

type Greenplum struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	OverrideDatabase bool `json:"overrideDatabase"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*Greenplum) GetEgressFilter added in v0.9.28

func (m *Greenplum) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Greenplum.

func (*Greenplum) GetID

func (m *Greenplum) GetID() string

GetID returns the unique identifier of the Greenplum.

func (*Greenplum) GetName added in v0.9.4

func (m *Greenplum) GetName() string

GetName returns the name of the Greenplum.

func (*Greenplum) GetSecretStoreID added in v0.9.21

func (m *Greenplum) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Greenplum.

func (*Greenplum) GetTags added in v0.9.9

func (m *Greenplum) GetTags() Tags

GetTags returns the tags of the Greenplum.

func (*Greenplum) SetEgressFilter added in v0.9.28

func (m *Greenplum) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Greenplum.

func (*Greenplum) SetName added in v0.9.9

func (m *Greenplum) SetName(v string)

SetName sets the name of the Greenplum.

func (*Greenplum) SetSecretStoreID added in v0.9.21

func (m *Greenplum) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Greenplum.

func (*Greenplum) SetTags added in v0.9.9

func (m *Greenplum) SetTags(v Tags)

SetTags sets the tags of the Greenplum.

type HTTPAuth

type HTTPAuth struct {
	AuthHeader string `json:"authHeader"`

	DefaultPath string `json:"defaultPath"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`

	HeadersBlacklist string `json:"headersBlacklist"`

	HealthcheckPath string `json:"healthcheckPath"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`

	Subdomain string `json:"subdomain"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Url string `json:"url"`
}

func (*HTTPAuth) GetEgressFilter added in v0.9.28

func (m *HTTPAuth) GetEgressFilter() string

GetEgressFilter returns the egress filter of the HTTPAuth.

func (*HTTPAuth) GetID

func (m *HTTPAuth) GetID() string

GetID returns the unique identifier of the HTTPAuth.

func (*HTTPAuth) GetName added in v0.9.4

func (m *HTTPAuth) GetName() string

GetName returns the name of the HTTPAuth.

func (*HTTPAuth) GetSecretStoreID added in v0.9.21

func (m *HTTPAuth) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the HTTPAuth.

func (*HTTPAuth) GetTags added in v0.9.9

func (m *HTTPAuth) GetTags() Tags

GetTags returns the tags of the HTTPAuth.

func (*HTTPAuth) SetEgressFilter added in v0.9.28

func (m *HTTPAuth) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the HTTPAuth.

func (*HTTPAuth) SetName added in v0.9.9

func (m *HTTPAuth) SetName(v string)

SetName sets the name of the HTTPAuth.

func (*HTTPAuth) SetSecretStoreID added in v0.9.21

func (m *HTTPAuth) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the HTTPAuth.

func (*HTTPAuth) SetTags added in v0.9.9

func (m *HTTPAuth) SetTags(v Tags)

SetTags sets the tags of the HTTPAuth.

type HTTPBasicAuth

type HTTPBasicAuth struct {
	DefaultPath string `json:"defaultPath"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`

	HeadersBlacklist string `json:"headersBlacklist"`

	HealthcheckPath string `json:"healthcheckPath"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`

	Subdomain string `json:"subdomain"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Url string `json:"url"`

	Username string `json:"username"`
}

func (*HTTPBasicAuth) GetEgressFilter added in v0.9.28

func (m *HTTPBasicAuth) GetEgressFilter() string

GetEgressFilter returns the egress filter of the HTTPBasicAuth.

func (*HTTPBasicAuth) GetID

func (m *HTTPBasicAuth) GetID() string

GetID returns the unique identifier of the HTTPBasicAuth.

func (*HTTPBasicAuth) GetName added in v0.9.4

func (m *HTTPBasicAuth) GetName() string

GetName returns the name of the HTTPBasicAuth.

func (*HTTPBasicAuth) GetSecretStoreID added in v0.9.21

func (m *HTTPBasicAuth) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the HTTPBasicAuth.

func (*HTTPBasicAuth) GetTags added in v0.9.9

func (m *HTTPBasicAuth) GetTags() Tags

GetTags returns the tags of the HTTPBasicAuth.

func (*HTTPBasicAuth) SetEgressFilter added in v0.9.28

func (m *HTTPBasicAuth) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the HTTPBasicAuth.

func (*HTTPBasicAuth) SetName added in v0.9.9

func (m *HTTPBasicAuth) SetName(v string)

SetName sets the name of the HTTPBasicAuth.

func (*HTTPBasicAuth) SetSecretStoreID added in v0.9.21

func (m *HTTPBasicAuth) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the HTTPBasicAuth.

func (*HTTPBasicAuth) SetTags added in v0.9.9

func (m *HTTPBasicAuth) SetTags(v Tags)

SetTags sets the tags of the HTTPBasicAuth.

type HTTPNoAuth

type HTTPNoAuth struct {
	DefaultPath string `json:"defaultPath"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`

	HeadersBlacklist string `json:"headersBlacklist"`

	HealthcheckPath string `json:"healthcheckPath"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`

	Subdomain string `json:"subdomain"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Url string `json:"url"`
}

func (*HTTPNoAuth) GetEgressFilter added in v0.9.28

func (m *HTTPNoAuth) GetEgressFilter() string

GetEgressFilter returns the egress filter of the HTTPNoAuth.

func (*HTTPNoAuth) GetID

func (m *HTTPNoAuth) GetID() string

GetID returns the unique identifier of the HTTPNoAuth.

func (*HTTPNoAuth) GetName added in v0.9.4

func (m *HTTPNoAuth) GetName() string

GetName returns the name of the HTTPNoAuth.

func (*HTTPNoAuth) GetSecretStoreID added in v0.9.21

func (m *HTTPNoAuth) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the HTTPNoAuth.

func (*HTTPNoAuth) GetTags added in v0.9.9

func (m *HTTPNoAuth) GetTags() Tags

GetTags returns the tags of the HTTPNoAuth.

func (*HTTPNoAuth) SetEgressFilter added in v0.9.28

func (m *HTTPNoAuth) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the HTTPNoAuth.

func (*HTTPNoAuth) SetName added in v0.9.9

func (m *HTTPNoAuth) SetName(v string)

SetName sets the name of the HTTPNoAuth.

func (*HTTPNoAuth) SetSecretStoreID added in v0.9.21

func (m *HTTPNoAuth) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the HTTPNoAuth.

func (*HTTPNoAuth) SetTags added in v0.9.9

func (m *HTTPNoAuth) SetTags(v Tags)

SetTags sets the tags of the HTTPNoAuth.

type InternalError

type InternalError struct {
	Message string
}

InternalError is used to specify an internal system error

func (InternalError) Code

func (e InternalError) Code() int

func (InternalError) Error

func (e InternalError) Error() string

type Kubernetes

type Kubernetes struct {
	CertificateAuthority string `json:"certificateAuthority"`

	ClientCertificate string `json:"clientCertificate"`

	ClientKey string `json:"clientKey"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*Kubernetes) GetEgressFilter added in v0.9.28

func (m *Kubernetes) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Kubernetes.

func (*Kubernetes) GetID

func (m *Kubernetes) GetID() string

GetID returns the unique identifier of the Kubernetes.

func (*Kubernetes) GetName added in v0.9.4

func (m *Kubernetes) GetName() string

GetName returns the name of the Kubernetes.

func (*Kubernetes) GetSecretStoreID added in v0.9.21

func (m *Kubernetes) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Kubernetes.

func (*Kubernetes) GetTags added in v0.9.9

func (m *Kubernetes) GetTags() Tags

GetTags returns the tags of the Kubernetes.

func (*Kubernetes) SetEgressFilter added in v0.9.28

func (m *Kubernetes) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Kubernetes.

func (*Kubernetes) SetName added in v0.9.9

func (m *Kubernetes) SetName(v string)

SetName sets the name of the Kubernetes.

func (*Kubernetes) SetSecretStoreID added in v0.9.21

func (m *Kubernetes) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Kubernetes.

func (*Kubernetes) SetTags added in v0.9.9

func (m *Kubernetes) SetTags(v Tags)

SetTags sets the tags of the Kubernetes.

type KubernetesBasicAuth

type KubernetesBasicAuth struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*KubernetesBasicAuth) GetEgressFilter added in v0.9.28

func (m *KubernetesBasicAuth) GetEgressFilter() string

GetEgressFilter returns the egress filter of the KubernetesBasicAuth.

func (*KubernetesBasicAuth) GetID

func (m *KubernetesBasicAuth) GetID() string

GetID returns the unique identifier of the KubernetesBasicAuth.

func (*KubernetesBasicAuth) GetName added in v0.9.4

func (m *KubernetesBasicAuth) GetName() string

GetName returns the name of the KubernetesBasicAuth.

func (*KubernetesBasicAuth) GetSecretStoreID added in v0.9.21

func (m *KubernetesBasicAuth) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the KubernetesBasicAuth.

func (*KubernetesBasicAuth) GetTags added in v0.9.9

func (m *KubernetesBasicAuth) GetTags() Tags

GetTags returns the tags of the KubernetesBasicAuth.

func (*KubernetesBasicAuth) SetEgressFilter added in v0.9.28

func (m *KubernetesBasicAuth) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the KubernetesBasicAuth.

func (*KubernetesBasicAuth) SetName added in v0.9.9

func (m *KubernetesBasicAuth) SetName(v string)

SetName sets the name of the KubernetesBasicAuth.

func (*KubernetesBasicAuth) SetSecretStoreID added in v0.9.21

func (m *KubernetesBasicAuth) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the KubernetesBasicAuth.

func (*KubernetesBasicAuth) SetTags added in v0.9.9

func (m *KubernetesBasicAuth) SetTags(v Tags)

SetTags sets the tags of the KubernetesBasicAuth.

type KubernetesServiceAccount

type KubernetesServiceAccount struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Token string `json:"token"`
}

func (*KubernetesServiceAccount) GetEgressFilter added in v0.9.28

func (m *KubernetesServiceAccount) GetEgressFilter() string

GetEgressFilter returns the egress filter of the KubernetesServiceAccount.

func (*KubernetesServiceAccount) GetID

func (m *KubernetesServiceAccount) GetID() string

GetID returns the unique identifier of the KubernetesServiceAccount.

func (*KubernetesServiceAccount) GetName added in v0.9.4

func (m *KubernetesServiceAccount) GetName() string

GetName returns the name of the KubernetesServiceAccount.

func (*KubernetesServiceAccount) GetSecretStoreID added in v0.9.21

func (m *KubernetesServiceAccount) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the KubernetesServiceAccount.

func (*KubernetesServiceAccount) GetTags added in v0.9.9

func (m *KubernetesServiceAccount) GetTags() Tags

GetTags returns the tags of the KubernetesServiceAccount.

func (*KubernetesServiceAccount) SetEgressFilter added in v0.9.28

func (m *KubernetesServiceAccount) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the KubernetesServiceAccount.

func (*KubernetesServiceAccount) SetName added in v0.9.9

func (m *KubernetesServiceAccount) SetName(v string)

SetName sets the name of the KubernetesServiceAccount.

func (*KubernetesServiceAccount) SetSecretStoreID added in v0.9.21

func (m *KubernetesServiceAccount) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the KubernetesServiceAccount.

func (*KubernetesServiceAccount) SetTags added in v0.9.9

func (m *KubernetesServiceAccount) SetTags(v Tags)

SetTags sets the tags of the KubernetesServiceAccount.

type KubernetesServiceAccountUserImpersonation added in v0.9.28

type KubernetesServiceAccountUserImpersonation struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Token string `json:"token"`
}

func (*KubernetesServiceAccountUserImpersonation) GetEgressFilter added in v0.9.28

GetEgressFilter returns the egress filter of the KubernetesServiceAccountUserImpersonation.

func (*KubernetesServiceAccountUserImpersonation) GetID added in v0.9.28

GetID returns the unique identifier of the KubernetesServiceAccountUserImpersonation.

func (*KubernetesServiceAccountUserImpersonation) GetName added in v0.9.28

GetName returns the name of the KubernetesServiceAccountUserImpersonation.

func (*KubernetesServiceAccountUserImpersonation) GetSecretStoreID added in v0.9.28

func (m *KubernetesServiceAccountUserImpersonation) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the KubernetesServiceAccountUserImpersonation.

func (*KubernetesServiceAccountUserImpersonation) GetTags added in v0.9.28

GetTags returns the tags of the KubernetesServiceAccountUserImpersonation.

func (*KubernetesServiceAccountUserImpersonation) SetEgressFilter added in v0.9.28

func (m *KubernetesServiceAccountUserImpersonation) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the KubernetesServiceAccountUserImpersonation.

func (*KubernetesServiceAccountUserImpersonation) SetName added in v0.9.28

SetName sets the name of the KubernetesServiceAccountUserImpersonation.

func (*KubernetesServiceAccountUserImpersonation) SetSecretStoreID added in v0.9.28

func (m *KubernetesServiceAccountUserImpersonation) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the KubernetesServiceAccountUserImpersonation.

func (*KubernetesServiceAccountUserImpersonation) SetTags added in v0.9.28

SetTags sets the tags of the KubernetesServiceAccountUserImpersonation.

type KubernetesUserImpersonation added in v0.9.28

type KubernetesUserImpersonation struct {
	CertificateAuthority string `json:"certificateAuthority"`

	ClientCertificate string `json:"clientCertificate"`

	ClientKey string `json:"clientKey"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// The path used to check the health of your connection.  Defaults to `default`.
	HealthcheckNamespace string `json:"healthcheckNamespace"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*KubernetesUserImpersonation) GetEgressFilter added in v0.9.28

func (m *KubernetesUserImpersonation) GetEgressFilter() string

GetEgressFilter returns the egress filter of the KubernetesUserImpersonation.

func (*KubernetesUserImpersonation) GetID added in v0.9.28

GetID returns the unique identifier of the KubernetesUserImpersonation.

func (*KubernetesUserImpersonation) GetName added in v0.9.28

func (m *KubernetesUserImpersonation) GetName() string

GetName returns the name of the KubernetesUserImpersonation.

func (*KubernetesUserImpersonation) GetSecretStoreID added in v0.9.28

func (m *KubernetesUserImpersonation) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the KubernetesUserImpersonation.

func (*KubernetesUserImpersonation) GetTags added in v0.9.28

func (m *KubernetesUserImpersonation) GetTags() Tags

GetTags returns the tags of the KubernetesUserImpersonation.

func (*KubernetesUserImpersonation) SetEgressFilter added in v0.9.28

func (m *KubernetesUserImpersonation) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the KubernetesUserImpersonation.

func (*KubernetesUserImpersonation) SetName added in v0.9.28

func (m *KubernetesUserImpersonation) SetName(v string)

SetName sets the name of the KubernetesUserImpersonation.

func (*KubernetesUserImpersonation) SetSecretStoreID added in v0.9.28

func (m *KubernetesUserImpersonation) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the KubernetesUserImpersonation.

func (*KubernetesUserImpersonation) SetTags added in v0.9.28

func (m *KubernetesUserImpersonation) SetTags(v Tags)

SetTags sets the tags of the KubernetesUserImpersonation.

type Maria

type Maria struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*Maria) GetEgressFilter added in v0.9.28

func (m *Maria) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Maria.

func (*Maria) GetID

func (m *Maria) GetID() string

GetID returns the unique identifier of the Maria.

func (*Maria) GetName added in v0.9.4

func (m *Maria) GetName() string

GetName returns the name of the Maria.

func (*Maria) GetSecretStoreID added in v0.9.21

func (m *Maria) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Maria.

func (*Maria) GetTags added in v0.9.9

func (m *Maria) GetTags() Tags

GetTags returns the tags of the Maria.

func (*Maria) SetEgressFilter added in v0.9.28

func (m *Maria) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Maria.

func (*Maria) SetName added in v0.9.9

func (m *Maria) SetName(v string)

SetName sets the name of the Maria.

func (*Maria) SetSecretStoreID added in v0.9.21

func (m *Maria) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Maria.

func (*Maria) SetTags added in v0.9.9

func (m *Maria) SetTags(v Tags)

SetTags sets the tags of the Maria.

type Memcached

type Memcached struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*Memcached) GetEgressFilter added in v0.9.28

func (m *Memcached) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Memcached.

func (*Memcached) GetID

func (m *Memcached) GetID() string

GetID returns the unique identifier of the Memcached.

func (*Memcached) GetName added in v0.9.4

func (m *Memcached) GetName() string

GetName returns the name of the Memcached.

func (*Memcached) GetSecretStoreID added in v0.9.21

func (m *Memcached) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Memcached.

func (*Memcached) GetTags added in v0.9.9

func (m *Memcached) GetTags() Tags

GetTags returns the tags of the Memcached.

func (*Memcached) SetEgressFilter added in v0.9.28

func (m *Memcached) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Memcached.

func (*Memcached) SetName added in v0.9.9

func (m *Memcached) SetName(v string)

SetName sets the name of the Memcached.

func (*Memcached) SetSecretStoreID added in v0.9.21

func (m *Memcached) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Memcached.

func (*Memcached) SetTags added in v0.9.9

func (m *Memcached) SetTags(v Tags)

SetTags sets the tags of the Memcached.

type Memsql

type Memsql struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*Memsql) GetEgressFilter added in v0.9.28

func (m *Memsql) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Memsql.

func (*Memsql) GetID

func (m *Memsql) GetID() string

GetID returns the unique identifier of the Memsql.

func (*Memsql) GetName added in v0.9.4

func (m *Memsql) GetName() string

GetName returns the name of the Memsql.

func (*Memsql) GetSecretStoreID added in v0.9.21

func (m *Memsql) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Memsql.

func (*Memsql) GetTags added in v0.9.9

func (m *Memsql) GetTags() Tags

GetTags returns the tags of the Memsql.

func (*Memsql) SetEgressFilter added in v0.9.28

func (m *Memsql) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Memsql.

func (*Memsql) SetName added in v0.9.9

func (m *Memsql) SetName(v string)

SetName sets the name of the Memsql.

func (*Memsql) SetSecretStoreID added in v0.9.21

func (m *Memsql) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Memsql.

func (*Memsql) SetTags added in v0.9.9

func (m *Memsql) SetTags(v Tags)

SetTags sets the tags of the Memsql.

type MongoHost

type MongoHost struct {
	AuthDatabase string `json:"authDatabase"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TlsRequired bool `json:"tlsRequired"`

	Username string `json:"username"`
}

func (*MongoHost) GetEgressFilter added in v0.9.28

func (m *MongoHost) GetEgressFilter() string

GetEgressFilter returns the egress filter of the MongoHost.

func (*MongoHost) GetID

func (m *MongoHost) GetID() string

GetID returns the unique identifier of the MongoHost.

func (*MongoHost) GetName added in v0.9.4

func (m *MongoHost) GetName() string

GetName returns the name of the MongoHost.

func (*MongoHost) GetSecretStoreID added in v0.9.21

func (m *MongoHost) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the MongoHost.

func (*MongoHost) GetTags added in v0.9.9

func (m *MongoHost) GetTags() Tags

GetTags returns the tags of the MongoHost.

func (*MongoHost) SetEgressFilter added in v0.9.28

func (m *MongoHost) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the MongoHost.

func (*MongoHost) SetName added in v0.9.9

func (m *MongoHost) SetName(v string)

SetName sets the name of the MongoHost.

func (*MongoHost) SetSecretStoreID added in v0.9.21

func (m *MongoHost) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the MongoHost.

func (*MongoHost) SetTags added in v0.9.9

func (m *MongoHost) SetTags(v Tags)

SetTags sets the tags of the MongoHost.

type MongoLegacyHost

type MongoLegacyHost struct {
	AuthDatabase string `json:"authDatabase"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`

	ReplicaSet string `json:"replicaSet"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TlsRequired bool `json:"tlsRequired"`

	Username string `json:"username"`
}

func (*MongoLegacyHost) GetEgressFilter added in v0.9.28

func (m *MongoLegacyHost) GetEgressFilter() string

GetEgressFilter returns the egress filter of the MongoLegacyHost.

func (*MongoLegacyHost) GetID

func (m *MongoLegacyHost) GetID() string

GetID returns the unique identifier of the MongoLegacyHost.

func (*MongoLegacyHost) GetName added in v0.9.4

func (m *MongoLegacyHost) GetName() string

GetName returns the name of the MongoLegacyHost.

func (*MongoLegacyHost) GetSecretStoreID added in v0.9.21

func (m *MongoLegacyHost) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the MongoLegacyHost.

func (*MongoLegacyHost) GetTags added in v0.9.9

func (m *MongoLegacyHost) GetTags() Tags

GetTags returns the tags of the MongoLegacyHost.

func (*MongoLegacyHost) SetEgressFilter added in v0.9.28

func (m *MongoLegacyHost) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the MongoLegacyHost.

func (*MongoLegacyHost) SetName added in v0.9.9

func (m *MongoLegacyHost) SetName(v string)

SetName sets the name of the MongoLegacyHost.

func (*MongoLegacyHost) SetSecretStoreID added in v0.9.21

func (m *MongoLegacyHost) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the MongoLegacyHost.

func (*MongoLegacyHost) SetTags added in v0.9.9

func (m *MongoLegacyHost) SetTags(v Tags)

SetTags sets the tags of the MongoLegacyHost.

type MongoLegacyReplicaset

type MongoLegacyReplicaset struct {
	AuthDatabase string `json:"authDatabase"`

	ConnectToReplica bool `json:"connectToReplica"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`

	ReplicaSet string `json:"replicaSet"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TlsRequired bool `json:"tlsRequired"`

	Username string `json:"username"`
}

func (*MongoLegacyReplicaset) GetEgressFilter added in v0.9.28

func (m *MongoLegacyReplicaset) GetEgressFilter() string

GetEgressFilter returns the egress filter of the MongoLegacyReplicaset.

func (*MongoLegacyReplicaset) GetID

func (m *MongoLegacyReplicaset) GetID() string

GetID returns the unique identifier of the MongoLegacyReplicaset.

func (*MongoLegacyReplicaset) GetName added in v0.9.4

func (m *MongoLegacyReplicaset) GetName() string

GetName returns the name of the MongoLegacyReplicaset.

func (*MongoLegacyReplicaset) GetSecretStoreID added in v0.9.21

func (m *MongoLegacyReplicaset) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the MongoLegacyReplicaset.

func (*MongoLegacyReplicaset) GetTags added in v0.9.9

func (m *MongoLegacyReplicaset) GetTags() Tags

GetTags returns the tags of the MongoLegacyReplicaset.

func (*MongoLegacyReplicaset) SetEgressFilter added in v0.9.28

func (m *MongoLegacyReplicaset) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the MongoLegacyReplicaset.

func (*MongoLegacyReplicaset) SetName added in v0.9.9

func (m *MongoLegacyReplicaset) SetName(v string)

SetName sets the name of the MongoLegacyReplicaset.

func (*MongoLegacyReplicaset) SetSecretStoreID added in v0.9.21

func (m *MongoLegacyReplicaset) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the MongoLegacyReplicaset.

func (*MongoLegacyReplicaset) SetTags added in v0.9.9

func (m *MongoLegacyReplicaset) SetTags(v Tags)

SetTags sets the tags of the MongoLegacyReplicaset.

type MongoReplicaSet

type MongoReplicaSet struct {
	AuthDatabase string `json:"authDatabase"`

	ConnectToReplica bool `json:"connectToReplica"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`

	ReplicaSet string `json:"replicaSet"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TlsRequired bool `json:"tlsRequired"`

	Username string `json:"username"`
}

func (*MongoReplicaSet) GetEgressFilter added in v0.9.28

func (m *MongoReplicaSet) GetEgressFilter() string

GetEgressFilter returns the egress filter of the MongoReplicaSet.

func (*MongoReplicaSet) GetID

func (m *MongoReplicaSet) GetID() string

GetID returns the unique identifier of the MongoReplicaSet.

func (*MongoReplicaSet) GetName added in v0.9.4

func (m *MongoReplicaSet) GetName() string

GetName returns the name of the MongoReplicaSet.

func (*MongoReplicaSet) GetSecretStoreID added in v0.9.21

func (m *MongoReplicaSet) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the MongoReplicaSet.

func (*MongoReplicaSet) GetTags added in v0.9.9

func (m *MongoReplicaSet) GetTags() Tags

GetTags returns the tags of the MongoReplicaSet.

func (*MongoReplicaSet) SetEgressFilter added in v0.9.28

func (m *MongoReplicaSet) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the MongoReplicaSet.

func (*MongoReplicaSet) SetName added in v0.9.9

func (m *MongoReplicaSet) SetName(v string)

SetName sets the name of the MongoReplicaSet.

func (*MongoReplicaSet) SetSecretStoreID added in v0.9.21

func (m *MongoReplicaSet) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the MongoReplicaSet.

func (*MongoReplicaSet) SetTags added in v0.9.9

func (m *MongoReplicaSet) SetTags(v Tags)

SetTags sets the tags of the MongoReplicaSet.

type MongoShardedCluster added in v0.9.39

type MongoShardedCluster struct {
	AuthDatabase string `json:"authDatabase"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TlsRequired bool `json:"tlsRequired"`

	Username string `json:"username"`
}

func (*MongoShardedCluster) GetEgressFilter added in v0.9.39

func (m *MongoShardedCluster) GetEgressFilter() string

GetEgressFilter returns the egress filter of the MongoShardedCluster.

func (*MongoShardedCluster) GetID added in v0.9.39

func (m *MongoShardedCluster) GetID() string

GetID returns the unique identifier of the MongoShardedCluster.

func (*MongoShardedCluster) GetName added in v0.9.39

func (m *MongoShardedCluster) GetName() string

GetName returns the name of the MongoShardedCluster.

func (*MongoShardedCluster) GetSecretStoreID added in v0.9.39

func (m *MongoShardedCluster) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the MongoShardedCluster.

func (*MongoShardedCluster) GetTags added in v0.9.39

func (m *MongoShardedCluster) GetTags() Tags

GetTags returns the tags of the MongoShardedCluster.

func (*MongoShardedCluster) SetEgressFilter added in v0.9.39

func (m *MongoShardedCluster) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the MongoShardedCluster.

func (*MongoShardedCluster) SetName added in v0.9.39

func (m *MongoShardedCluster) SetName(v string)

SetName sets the name of the MongoShardedCluster.

func (*MongoShardedCluster) SetSecretStoreID added in v0.9.39

func (m *MongoShardedCluster) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the MongoShardedCluster.

func (*MongoShardedCluster) SetTags added in v0.9.39

func (m *MongoShardedCluster) SetTags(v Tags)

SetTags sets the tags of the MongoShardedCluster.

type Mysql

type Mysql struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*Mysql) GetEgressFilter added in v0.9.28

func (m *Mysql) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Mysql.

func (*Mysql) GetID

func (m *Mysql) GetID() string

GetID returns the unique identifier of the Mysql.

func (*Mysql) GetName added in v0.9.4

func (m *Mysql) GetName() string

GetName returns the name of the Mysql.

func (*Mysql) GetSecretStoreID added in v0.9.21

func (m *Mysql) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Mysql.

func (*Mysql) GetTags added in v0.9.9

func (m *Mysql) GetTags() Tags

GetTags returns the tags of the Mysql.

func (*Mysql) SetEgressFilter added in v0.9.28

func (m *Mysql) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Mysql.

func (*Mysql) SetName added in v0.9.9

func (m *Mysql) SetName(v string)

SetName sets the name of the Mysql.

func (*Mysql) SetSecretStoreID added in v0.9.21

func (m *Mysql) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Mysql.

func (*Mysql) SetTags added in v0.9.9

func (m *Mysql) SetTags(v Tags)

SetTags sets the tags of the Mysql.

type Neptune added in v0.9.36

type Neptune struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`

	Endpoint string `json:"endpoint"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*Neptune) GetEgressFilter added in v0.9.36

func (m *Neptune) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Neptune.

func (*Neptune) GetID added in v0.9.36

func (m *Neptune) GetID() string

GetID returns the unique identifier of the Neptune.

func (*Neptune) GetName added in v0.9.36

func (m *Neptune) GetName() string

GetName returns the name of the Neptune.

func (*Neptune) GetSecretStoreID added in v0.9.36

func (m *Neptune) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Neptune.

func (*Neptune) GetTags added in v0.9.36

func (m *Neptune) GetTags() Tags

GetTags returns the tags of the Neptune.

func (*Neptune) SetEgressFilter added in v0.9.36

func (m *Neptune) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Neptune.

func (*Neptune) SetName added in v0.9.36

func (m *Neptune) SetName(v string)

SetName sets the name of the Neptune.

func (*Neptune) SetSecretStoreID added in v0.9.36

func (m *Neptune) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Neptune.

func (*Neptune) SetTags added in v0.9.36

func (m *Neptune) SetTags(v Tags)

SetTags sets the tags of the Neptune.

type NeptuneIAM added in v0.9.36

type NeptuneIAM struct {
	AccessKey string `json:"accessKey"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`

	Endpoint string `json:"endpoint"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`

	Region string `json:"region"`

	RoleArn string `json:"roleArn"`

	RoleExternalID string `json:"roleExternalId"`

	SecretAccessKey string `json:"secretAccessKey"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*NeptuneIAM) GetEgressFilter added in v0.9.36

func (m *NeptuneIAM) GetEgressFilter() string

GetEgressFilter returns the egress filter of the NeptuneIAM.

func (*NeptuneIAM) GetID added in v0.9.36

func (m *NeptuneIAM) GetID() string

GetID returns the unique identifier of the NeptuneIAM.

func (*NeptuneIAM) GetName added in v0.9.36

func (m *NeptuneIAM) GetName() string

GetName returns the name of the NeptuneIAM.

func (*NeptuneIAM) GetSecretStoreID added in v0.9.36

func (m *NeptuneIAM) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the NeptuneIAM.

func (*NeptuneIAM) GetTags added in v0.9.36

func (m *NeptuneIAM) GetTags() Tags

GetTags returns the tags of the NeptuneIAM.

func (*NeptuneIAM) SetEgressFilter added in v0.9.36

func (m *NeptuneIAM) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the NeptuneIAM.

func (*NeptuneIAM) SetName added in v0.9.36

func (m *NeptuneIAM) SetName(v string)

SetName sets the name of the NeptuneIAM.

func (*NeptuneIAM) SetSecretStoreID added in v0.9.36

func (m *NeptuneIAM) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the NeptuneIAM.

func (*NeptuneIAM) SetTags added in v0.9.36

func (m *NeptuneIAM) SetTags(v Tags)

SetTags sets the tags of the NeptuneIAM.

type Node

type Node interface {
	// GetID returns the unique identifier of the Node.
	GetID() string
	// GetTags returns the tags of the Node.
	GetTags() Tags
	// SetTags sets the tags of the Node.
	SetTags(Tags)
	// contains filtered or unexported methods
}

Nodes make up the strongDM network, and allow your users to connect securely to your resources. There are two types of nodes: 1. **Relay:** creates connectivity to your datasources, while maintaining the egress-only nature of your firewall 1. **Gateways:** a relay that also listens for connections from strongDM clients

type NodeCreateResponse

type NodeCreateResponse struct {
	// Reserved for future use.
	Meta *CreateResponseMetadata `json:"meta"`
	// The created Node.
	Node Node `json:"node"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The auth token generated for the Node. The Node will use this token to
	// authenticate with the strongDM API.
	Token string `json:"token"`
}

NodeCreateResponse reports how the Nodes were created in the system.

type NodeDeleteResponse

type NodeDeleteResponse struct {
	// Reserved for future use.
	Meta *DeleteResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

NodeDeleteResponse returns information about a Node that was deleted.

type NodeGetResponse

type NodeGetResponse struct {
	// Reserved for future use.
	Meta *GetResponseMetadata `json:"meta"`
	// The requested Node.
	Node Node `json:"node"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

NodeGetResponse returns a requested Node.

type NodeIterator

type NodeIterator interface {
	// Next advances the iterator to the next item in the list. It returns
	// true if an item is available to retrieve via the `Value()` function.
	Next() bool
	// Value returns the current item, if one is available.
	Value() Node
	// Err returns the first error encountered during iteration, if any.
	Err() error
}

NodeIterator provides read access to a list of Node. Use it like so:

for iterator.Next() {
    node := iterator.Value()
    // ...
}

type NodeUpdateResponse

type NodeUpdateResponse struct {
	// Reserved for future use.
	Meta *UpdateResponseMetadata `json:"meta"`
	// The updated Node.
	Node Node `json:"node"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

NodeUpdateResponse returns the fields of a Node after it has been updated by a NodeUpdateRequest.

type Nodes

type Nodes struct {
	// contains filtered or unexported fields
}

Nodes make up the strongDM network, and allow your users to connect securely to your resources. There are two types of nodes: - **Gateways** are the entry points into network. They listen for connection from the strongDM client, and provide access to databases and servers. - **Relays** are used to extend the strongDM network into segmented subnets. They provide access to databases and servers but do not listen for incoming connections.

func (*Nodes) Create

func (svc *Nodes) Create(
	ctx context.Context,
	node Node) (
	*NodeCreateResponse,
	error)

Create registers a new Node.

func (*Nodes) Delete

func (svc *Nodes) Delete(
	ctx context.Context,
	id string) (
	*NodeDeleteResponse,
	error)

Delete removes a Node by ID.

func (*Nodes) Get

func (svc *Nodes) Get(
	ctx context.Context,
	id string) (
	*NodeGetResponse,
	error)

Get reads one Node by ID.

func (*Nodes) List

func (svc *Nodes) List(
	ctx context.Context,
	filter string,
	args ...interface{}) (
	NodeIterator,
	error)

List gets a list of Nodes matching a given set of criteria.

func (*Nodes) Update

func (svc *Nodes) Update(
	ctx context.Context,
	node Node) (
	*NodeUpdateResponse,
	error)

Update patches a Node by ID.

type NotFoundError

type NotFoundError struct {
	Message string
}

NotFoundError is used when an entity does not exist in the system

func (NotFoundError) Code

func (e NotFoundError) Code() int

func (NotFoundError) Error

func (e NotFoundError) Error() string

type Oracle

type Oracle struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TlsRequired bool `json:"tlsRequired"`

	Username string `json:"username"`
}

func (*Oracle) GetEgressFilter added in v0.9.28

func (m *Oracle) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Oracle.

func (*Oracle) GetID

func (m *Oracle) GetID() string

GetID returns the unique identifier of the Oracle.

func (*Oracle) GetName added in v0.9.4

func (m *Oracle) GetName() string

GetName returns the name of the Oracle.

func (*Oracle) GetSecretStoreID added in v0.9.21

func (m *Oracle) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Oracle.

func (*Oracle) GetTags added in v0.9.9

func (m *Oracle) GetTags() Tags

GetTags returns the tags of the Oracle.

func (*Oracle) SetEgressFilter added in v0.9.28

func (m *Oracle) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Oracle.

func (*Oracle) SetName added in v0.9.9

func (m *Oracle) SetName(v string)

SetName sets the name of the Oracle.

func (*Oracle) SetSecretStoreID added in v0.9.21

func (m *Oracle) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Oracle.

func (*Oracle) SetTags added in v0.9.9

func (m *Oracle) SetTags(v Tags)

SetTags sets the tags of the Oracle.

type PermissionError

type PermissionError struct {
	Message string
}

PermissionError is used to specify a permissions violation

func (PermissionError) Code

func (e PermissionError) Code() int

func (PermissionError) Error

func (e PermissionError) Error() string

type Postgres

type Postgres struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	OverrideDatabase bool `json:"overrideDatabase"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*Postgres) GetEgressFilter added in v0.9.28

func (m *Postgres) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Postgres.

func (*Postgres) GetID

func (m *Postgres) GetID() string

GetID returns the unique identifier of the Postgres.

func (*Postgres) GetName added in v0.9.4

func (m *Postgres) GetName() string

GetName returns the name of the Postgres.

func (*Postgres) GetSecretStoreID added in v0.9.21

func (m *Postgres) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Postgres.

func (*Postgres) GetTags added in v0.9.9

func (m *Postgres) GetTags() Tags

GetTags returns the tags of the Postgres.

func (*Postgres) SetEgressFilter added in v0.9.28

func (m *Postgres) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Postgres.

func (*Postgres) SetName added in v0.9.9

func (m *Postgres) SetName(v string)

SetName sets the name of the Postgres.

func (*Postgres) SetSecretStoreID added in v0.9.21

func (m *Postgres) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Postgres.

func (*Postgres) SetTags added in v0.9.9

func (m *Postgres) SetTags(v Tags)

SetTags sets the tags of the Postgres.

type Presto

type Presto struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TlsRequired bool `json:"tlsRequired"`

	Username string `json:"username"`
}

func (*Presto) GetEgressFilter added in v0.9.28

func (m *Presto) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Presto.

func (*Presto) GetID

func (m *Presto) GetID() string

GetID returns the unique identifier of the Presto.

func (*Presto) GetName added in v0.9.4

func (m *Presto) GetName() string

GetName returns the name of the Presto.

func (*Presto) GetSecretStoreID added in v0.9.21

func (m *Presto) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Presto.

func (*Presto) GetTags added in v0.9.9

func (m *Presto) GetTags() Tags

GetTags returns the tags of the Presto.

func (*Presto) SetEgressFilter added in v0.9.28

func (m *Presto) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Presto.

func (*Presto) SetName added in v0.9.9

func (m *Presto) SetName(v string)

SetName sets the name of the Presto.

func (*Presto) SetSecretStoreID added in v0.9.21

func (m *Presto) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Presto.

func (*Presto) SetTags added in v0.9.9

func (m *Presto) SetTags(v Tags)

SetTags sets the tags of the Presto.

type RDP

type RDP struct {
	DowngradeNlaConnections bool `json:"downgradeNlaConnections"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*RDP) GetEgressFilter added in v0.9.28

func (m *RDP) GetEgressFilter() string

GetEgressFilter returns the egress filter of the RDP.

func (*RDP) GetID

func (m *RDP) GetID() string

GetID returns the unique identifier of the RDP.

func (*RDP) GetName added in v0.9.4

func (m *RDP) GetName() string

GetName returns the name of the RDP.

func (*RDP) GetSecretStoreID added in v0.9.21

func (m *RDP) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the RDP.

func (*RDP) GetTags added in v0.9.9

func (m *RDP) GetTags() Tags

GetTags returns the tags of the RDP.

func (*RDP) SetEgressFilter added in v0.9.28

func (m *RDP) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the RDP.

func (*RDP) SetName added in v0.9.9

func (m *RDP) SetName(v string)

SetName sets the name of the RDP.

func (*RDP) SetSecretStoreID added in v0.9.21

func (m *RDP) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the RDP.

func (*RDP) SetTags added in v0.9.9

func (m *RDP) SetTags(v Tags)

SetTags sets the tags of the RDP.

type RabbitMQAMQP091 added in v0.9.30

type RabbitMQAMQP091 struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	TlsRequired bool `json:"tlsRequired"`

	Username string `json:"username"`
}

func (*RabbitMQAMQP091) GetEgressFilter added in v0.9.30

func (m *RabbitMQAMQP091) GetEgressFilter() string

GetEgressFilter returns the egress filter of the RabbitMQAMQP091.

func (*RabbitMQAMQP091) GetID added in v0.9.30

func (m *RabbitMQAMQP091) GetID() string

GetID returns the unique identifier of the RabbitMQAMQP091.

func (*RabbitMQAMQP091) GetName added in v0.9.30

func (m *RabbitMQAMQP091) GetName() string

GetName returns the name of the RabbitMQAMQP091.

func (*RabbitMQAMQP091) GetSecretStoreID added in v0.9.30

func (m *RabbitMQAMQP091) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the RabbitMQAMQP091.

func (*RabbitMQAMQP091) GetTags added in v0.9.30

func (m *RabbitMQAMQP091) GetTags() Tags

GetTags returns the tags of the RabbitMQAMQP091.

func (*RabbitMQAMQP091) SetEgressFilter added in v0.9.30

func (m *RabbitMQAMQP091) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the RabbitMQAMQP091.

func (*RabbitMQAMQP091) SetName added in v0.9.30

func (m *RabbitMQAMQP091) SetName(v string)

SetName sets the name of the RabbitMQAMQP091.

func (*RabbitMQAMQP091) SetSecretStoreID added in v0.9.30

func (m *RabbitMQAMQP091) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the RabbitMQAMQP091.

func (*RabbitMQAMQP091) SetTags added in v0.9.30

func (m *RabbitMQAMQP091) SetTags(v Tags)

SetTags sets the tags of the RabbitMQAMQP091.

type RateLimitError

type RateLimitError struct {
	Message   string
	RateLimit *RateLimitMetadata
}

RateLimitError is used for rate limit excess condition

func (RateLimitError) Code

func (e RateLimitError) Code() int

func (RateLimitError) Error

func (e RateLimitError) Error() string

type RateLimitMetadata

type RateLimitMetadata struct {
	// The bucket this user/token is associated with, which may be shared between
	// multiple users/tokens.
	Bucket string `json:"bucket"`
	// How many total requests the user/token is authorized to make before being
	// rate limited.
	Limit int64 `json:"limit"`
	// How many remaining requests out of the limit are still avaialable.
	Remaining int64 `json:"remaining"`
	// The time when remaining will be reset to limit.
	ResetAt time.Time `json:"resetAt"`
}

RateLimitMetadata contains information about remaining requests avaialable to the user over some timeframe.

type RawTCP added in v0.9.32

type RawTCP struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*RawTCP) GetEgressFilter added in v0.9.32

func (m *RawTCP) GetEgressFilter() string

GetEgressFilter returns the egress filter of the RawTCP.

func (*RawTCP) GetID added in v0.9.32

func (m *RawTCP) GetID() string

GetID returns the unique identifier of the RawTCP.

func (*RawTCP) GetName added in v0.9.32

func (m *RawTCP) GetName() string

GetName returns the name of the RawTCP.

func (*RawTCP) GetSecretStoreID added in v0.9.32

func (m *RawTCP) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the RawTCP.

func (*RawTCP) GetTags added in v0.9.32

func (m *RawTCP) GetTags() Tags

GetTags returns the tags of the RawTCP.

func (*RawTCP) SetEgressFilter added in v0.9.32

func (m *RawTCP) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the RawTCP.

func (*RawTCP) SetName added in v0.9.32

func (m *RawTCP) SetName(v string)

SetName sets the name of the RawTCP.

func (*RawTCP) SetSecretStoreID added in v0.9.32

func (m *RawTCP) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the RawTCP.

func (*RawTCP) SetTags added in v0.9.32

func (m *RawTCP) SetTags(v Tags)

SetTags sets the tags of the RawTCP.

type Redis

type Redis struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*Redis) GetEgressFilter added in v0.9.28

func (m *Redis) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Redis.

func (*Redis) GetID

func (m *Redis) GetID() string

GetID returns the unique identifier of the Redis.

func (*Redis) GetName added in v0.9.4

func (m *Redis) GetName() string

GetName returns the name of the Redis.

func (*Redis) GetSecretStoreID added in v0.9.21

func (m *Redis) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Redis.

func (*Redis) GetTags added in v0.9.9

func (m *Redis) GetTags() Tags

GetTags returns the tags of the Redis.

func (*Redis) SetEgressFilter added in v0.9.28

func (m *Redis) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Redis.

func (*Redis) SetName added in v0.9.9

func (m *Redis) SetName(v string)

SetName sets the name of the Redis.

func (*Redis) SetSecretStoreID added in v0.9.21

func (m *Redis) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Redis.

func (*Redis) SetTags added in v0.9.9

func (m *Redis) SetTags(v Tags)

SetTags sets the tags of the Redis.

type Redshift

type Redshift struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	OverrideDatabase bool `json:"overrideDatabase"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*Redshift) GetEgressFilter added in v0.9.28

func (m *Redshift) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Redshift.

func (*Redshift) GetID

func (m *Redshift) GetID() string

GetID returns the unique identifier of the Redshift.

func (*Redshift) GetName added in v0.9.4

func (m *Redshift) GetName() string

GetName returns the name of the Redshift.

func (*Redshift) GetSecretStoreID added in v0.9.21

func (m *Redshift) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Redshift.

func (*Redshift) GetTags added in v0.9.9

func (m *Redshift) GetTags() Tags

GetTags returns the tags of the Redshift.

func (*Redshift) SetEgressFilter added in v0.9.28

func (m *Redshift) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Redshift.

func (*Redshift) SetName added in v0.9.9

func (m *Redshift) SetName(v string)

SetName sets the name of the Redshift.

func (*Redshift) SetSecretStoreID added in v0.9.21

func (m *Redshift) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Redshift.

func (*Redshift) SetTags added in v0.9.9

func (m *Redshift) SetTags(v Tags)

SetTags sets the tags of the Redshift.

type Relay

type Relay struct {
	// GatewayFilter can be used to restrict the peering between relays and
	// gateways.
	GatewayFilter string `json:"gatewayFilter"`
	// Unique identifier of the Relay.
	ID string `json:"id"`
	// Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
	Name string `json:"name"`
	// The current state of the relay. One of: "new", "verifying_restart",
	// "awaiting_restart", "restarting", "started", "stopped", "dead",
	// "unknown".
	State string `json:"state"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

Relay represents a StrongDM CLI installation running in relay mode.

func (*Relay) GetID

func (m *Relay) GetID() string

GetID returns the unique identifier of the Relay.

func (*Relay) GetTags added in v0.9.12

func (m *Relay) GetTags() Tags

GetTags returns the tags of the Relay.

func (*Relay) SetTags added in v0.9.12

func (m *Relay) SetTags(v Tags)

SetTags sets the tags of the Relay.

type Resource

type Resource interface {
	// GetID returns the unique identifier of the Resource.
	GetID() string
	// GetName returns the name of the Resource.
	GetName() string
	// SetName sets the name of the Resource.
	SetName(string)
	// GetTags returns the tags of the Resource.
	GetTags() Tags
	// SetTags sets the tags of the Resource.
	SetTags(Tags)
	// GetSecretStoreID returns the secret store id of the Resource.
	GetSecretStoreID() string
	// SetSecretStoreID sets the secret store id of the Resource.
	SetSecretStoreID(string)
	// GetEgressFilter returns the egress filter of the Resource.
	GetEgressFilter() string
	// SetEgressFilter sets the egress filter of the Resource.
	SetEgressFilter(string)
	// contains filtered or unexported methods
}

A Resource is a database or server for which strongDM manages access.

type ResourceCreateResponse

type ResourceCreateResponse struct {
	// Reserved for future use.
	Meta *CreateResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The created Resource.
	Resource Resource `json:"resource"`
}

ResourceCreateResponse reports how the Resources were created in the system.

type ResourceDeleteResponse

type ResourceDeleteResponse struct {
	// Reserved for future use.
	Meta *DeleteResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

ResourceDeleteResponse returns information about a Resource that was deleted.

type ResourceGetResponse

type ResourceGetResponse struct {
	// Reserved for future use.
	Meta *GetResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The requested Resource.
	Resource Resource `json:"resource"`
}

ResourceGetResponse returns a requested Resource.

type ResourceIterator

type ResourceIterator interface {
	// Next advances the iterator to the next item in the list. It returns
	// true if an item is available to retrieve via the `Value()` function.
	Next() bool
	// Value returns the current item, if one is available.
	Value() Resource
	// Err returns the first error encountered during iteration, if any.
	Err() error
}

ResourceIterator provides read access to a list of Resource. Use it like so:

for iterator.Next() {
    resource := iterator.Value()
    // ...
}

type ResourceUpdateResponse

type ResourceUpdateResponse struct {
	// Reserved for future use.
	Meta *UpdateResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The updated Resource.
	Resource Resource `json:"resource"`
}

ResourceUpdateResponse returns the fields of a Resource after it has been updated by a ResourceUpdateRequest.

type Resources

type Resources struct {
	// contains filtered or unexported fields
}

func (*Resources) Create

func (svc *Resources) Create(
	ctx context.Context,
	resource Resource) (
	*ResourceCreateResponse,
	error)

Create registers a new Resource.

func (*Resources) Delete

func (svc *Resources) Delete(
	ctx context.Context,
	id string) (
	*ResourceDeleteResponse,
	error)

Delete removes a Resource by ID.

func (*Resources) EnumerateTags added in v0.9.24

func (svc *Resources) EnumerateTags(
	ctx context.Context,
	filter string,
	args ...interface{}) (
	TagIterator,
	error)

EnumerateTags gets a list of the filter matching tags.

func (*Resources) Get

func (svc *Resources) Get(
	ctx context.Context,
	id string) (
	*ResourceGetResponse,
	error)

Get reads one Resource by ID.

func (*Resources) List

func (svc *Resources) List(
	ctx context.Context,
	filter string,
	args ...interface{}) (
	ResourceIterator,
	error)

List gets a list of Resources matching a given set of criteria.

func (*Resources) Update

func (svc *Resources) Update(
	ctx context.Context,
	resource Resource) (
	*ResourceUpdateResponse,
	error)

Update patches a Resource by ID.

type Role

type Role struct {
	// AccessRules JSON encoded access rules data.
	AccessRules string `json:"accessRules"`
	// True if the Role is a composite role.
	Composite bool `json:"composite"`
	// Unique identifier of the Role.
	ID string `json:"id"`
	// Unique human-readable name of the Role.
	Name string `json:"name"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

A Role is a collection of access grants, and typically corresponds to a team, Active Directory OU, or other organizational unit. Users are granted access to resources by assigning them to roles.

type RoleAttachment

type RoleAttachment struct {
	// The id of the attached role of this RoleAttachment.
	AttachedRoleID string `json:"attachedRoleId"`
	// The id of the composite role of this RoleAttachment.
	CompositeRoleID string `json:"compositeRoleId"`
	// Unique identifier of the RoleAttachment.
	ID string `json:"id"`
}

A RoleAttachment assigns a role to a composite role.

type RoleAttachmentCreateResponse

type RoleAttachmentCreateResponse struct {
	// Reserved for future use.
	Meta *CreateResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The created RoleAttachment.
	RoleAttachment *RoleAttachment `json:"roleAttachment"`
}

RoleAttachmentCreateResponse reports how the RoleAttachments were created in the system.

type RoleAttachmentDeleteResponse

type RoleAttachmentDeleteResponse struct {
	// Reserved for future use.
	Meta *DeleteResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

RoleAttachmentDeleteResponse returns information about a RoleAttachment that was deleted.

type RoleAttachmentGetResponse

type RoleAttachmentGetResponse struct {
	// Reserved for future use.
	Meta *GetResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The requested RoleAttachment.
	RoleAttachment *RoleAttachment `json:"roleAttachment"`
}

RoleAttachmentGetResponse returns a requested RoleAttachment.

type RoleAttachmentIterator

type RoleAttachmentIterator interface {
	// Next advances the iterator to the next item in the list. It returns
	// true if an item is available to retrieve via the `Value()` function.
	Next() bool
	// Value returns the current item, if one is available.
	Value() *RoleAttachment
	// Err returns the first error encountered during iteration, if any.
	Err() error
}

RoleAttachmentIterator provides read access to a list of RoleAttachment. Use it like so:

for iterator.Next() {
    roleAttachment := iterator.Value()
    // ...
}

type RoleAttachments

type RoleAttachments struct {
	// contains filtered or unexported fields
}

RoleAttachments represent relationships between composite roles and the roles that make up those composite roles. When a composite role is attached to another role, the permissions granted to members of the composite role are augmented to include the permissions granted to members of the attached role.

func (*RoleAttachments) Create

func (svc *RoleAttachments) Create(
	ctx context.Context,
	roleAttachment *RoleAttachment) (
	*RoleAttachmentCreateResponse,
	error)

Create registers a new RoleAttachment.

func (*RoleAttachments) Delete

Delete removes a RoleAttachment by ID.

func (*RoleAttachments) Get

Get reads one RoleAttachment by ID.

func (*RoleAttachments) List

func (svc *RoleAttachments) List(
	ctx context.Context,
	filter string,
	args ...interface{}) (
	RoleAttachmentIterator,
	error)

List gets a list of RoleAttachments matching a given set of criteria.

type RoleCreateResponse

type RoleCreateResponse struct {
	// Reserved for future use.
	Meta *CreateResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The created Role.
	Role *Role `json:"role"`
}

RoleCreateResponse reports how the Roles were created in the system. It can communicate partial successes or failures.

type RoleDeleteResponse

type RoleDeleteResponse struct {
	// Reserved for future use.
	Meta *DeleteResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

RoleDeleteResponse returns information about a Role that was deleted.

type RoleGetResponse

type RoleGetResponse struct {
	// Reserved for future use.
	Meta *GetResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The requested Role.
	Role *Role `json:"role"`
}

RoleGetResponse returns a requested Role.

type RoleGrant

type RoleGrant struct {
	// Unique identifier of the RoleGrant.
	ID string `json:"id"`
	// The id of the resource of this RoleGrant.
	ResourceID string `json:"resourceId"`
	// The id of the attached role of this RoleGrant.
	RoleID string `json:"roleId"`
}

A RoleGrant connects a resource to a role, granting members of the role access to that resource.

type RoleGrantCreateResponse

type RoleGrantCreateResponse struct {
	// Reserved for future use.
	Meta *CreateResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The created RoleGrant.
	RoleGrant *RoleGrant `json:"roleGrant"`
}

RoleGrantCreateResponse reports how the RoleGrants were created in the system.

type RoleGrantDeleteResponse

type RoleGrantDeleteResponse struct {
	// Reserved for future use.
	Meta *DeleteResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

RoleGrantDeleteResponse returns information about a RoleGrant that was deleted.

type RoleGrantGetResponse

type RoleGrantGetResponse struct {
	// Reserved for future use.
	Meta *GetResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The requested RoleGrant.
	RoleGrant *RoleGrant `json:"roleGrant"`
}

RoleGrantGetResponse returns a requested RoleGrant.

type RoleGrantIterator

type RoleGrantIterator interface {
	// Next advances the iterator to the next item in the list. It returns
	// true if an item is available to retrieve via the `Value()` function.
	Next() bool
	// Value returns the current item, if one is available.
	Value() *RoleGrant
	// Err returns the first error encountered during iteration, if any.
	Err() error
}

RoleGrantIterator provides read access to a list of RoleGrant. Use it like so:

for iterator.Next() {
    roleGrant := iterator.Value()
    // ...
}

type RoleGrants

type RoleGrants struct {
	// contains filtered or unexported fields
}

RoleGrants represent relationships between composite roles and the roles that make up those composite roles. When a composite role is attached to another role, the permissions granted to members of the composite role are augmented to include the permissions granted to members of the attached role.

func (*RoleGrants) Create

func (svc *RoleGrants) Create(
	ctx context.Context,
	roleGrant *RoleGrant) (
	*RoleGrantCreateResponse,
	error)

Create registers a new RoleGrant.

func (*RoleGrants) Delete

func (svc *RoleGrants) Delete(
	ctx context.Context,
	id string) (
	*RoleGrantDeleteResponse,
	error)

Delete removes a RoleGrant by ID.

func (*RoleGrants) Get

func (svc *RoleGrants) Get(
	ctx context.Context,
	id string) (
	*RoleGrantGetResponse,
	error)

Get reads one RoleGrant by ID.

func (*RoleGrants) List

func (svc *RoleGrants) List(
	ctx context.Context,
	filter string,
	args ...interface{}) (
	RoleGrantIterator,
	error)

List gets a list of RoleGrants matching a given set of criteria.

type RoleIterator

type RoleIterator interface {
	// Next advances the iterator to the next item in the list. It returns
	// true if an item is available to retrieve via the `Value()` function.
	Next() bool
	// Value returns the current item, if one is available.
	Value() *Role
	// Err returns the first error encountered during iteration, if any.
	Err() error
}

RoleIterator provides read access to a list of Role. Use it like so:

for iterator.Next() {
    role := iterator.Value()
    // ...
}

type RoleUpdateResponse

type RoleUpdateResponse struct {
	// Reserved for future use.
	Meta *UpdateResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The updated Role.
	Role *Role `json:"role"`
}

RoleUpdateResponse returns the fields of a Role after it has been updated by a RoleUpdateRequest.

type Roles

type Roles struct {
	// contains filtered or unexported fields
}

Roles are tools for controlling user access to resources. Each Role holds a list of resources which they grant access to. Composite roles are a special type of Role which have no resource associations of their own, but instead grant access to the combined resources associated with a set of child roles. Each user can be a member of one Role or composite role.

func (*Roles) Create

func (svc *Roles) Create(
	ctx context.Context,
	role *Role) (
	*RoleCreateResponse,
	error)

Create registers a new Role.

func (*Roles) Delete

func (svc *Roles) Delete(
	ctx context.Context,
	id string) (
	*RoleDeleteResponse,
	error)

Delete removes a Role by ID.

func (*Roles) Get

func (svc *Roles) Get(
	ctx context.Context,
	id string) (
	*RoleGetResponse,
	error)

Get reads one Role by ID.

func (*Roles) List

func (svc *Roles) List(
	ctx context.Context,
	filter string,
	args ...interface{}) (
	RoleIterator,
	error)

List gets a list of Roles matching a given set of criteria.

func (*Roles) Update

func (svc *Roles) Update(
	ctx context.Context,
	role *Role) (
	*RoleUpdateResponse,
	error)

Update patches a Role by ID.

type SQLServer

type SQLServer struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	OverrideDatabase bool `json:"overrideDatabase"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`

	Schema string `json:"schema"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*SQLServer) GetEgressFilter added in v0.9.28

func (m *SQLServer) GetEgressFilter() string

GetEgressFilter returns the egress filter of the SQLServer.

func (*SQLServer) GetID

func (m *SQLServer) GetID() string

GetID returns the unique identifier of the SQLServer.

func (*SQLServer) GetName added in v0.9.4

func (m *SQLServer) GetName() string

GetName returns the name of the SQLServer.

func (*SQLServer) GetSecretStoreID added in v0.9.21

func (m *SQLServer) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the SQLServer.

func (*SQLServer) GetTags added in v0.9.9

func (m *SQLServer) GetTags() Tags

GetTags returns the tags of the SQLServer.

func (*SQLServer) SetEgressFilter added in v0.9.28

func (m *SQLServer) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the SQLServer.

func (*SQLServer) SetName added in v0.9.9

func (m *SQLServer) SetName(v string)

SetName sets the name of the SQLServer.

func (*SQLServer) SetSecretStoreID added in v0.9.21

func (m *SQLServer) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the SQLServer.

func (*SQLServer) SetTags added in v0.9.9

func (m *SQLServer) SetTags(v Tags)

SetTags sets the tags of the SQLServer.

type SSH

type SSH struct {
	AllowDeprecatedKeyExchanges bool `json:"allowDeprecatedKeyExchanges"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`

	PortForwarding bool `json:"portForwarding"`

	PublicKey string `json:"publicKey"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*SSH) GetEgressFilter added in v0.9.28

func (m *SSH) GetEgressFilter() string

GetEgressFilter returns the egress filter of the SSH.

func (*SSH) GetID

func (m *SSH) GetID() string

GetID returns the unique identifier of the SSH.

func (*SSH) GetName added in v0.9.4

func (m *SSH) GetName() string

GetName returns the name of the SSH.

func (*SSH) GetSecretStoreID added in v0.9.21

func (m *SSH) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the SSH.

func (*SSH) GetTags added in v0.9.9

func (m *SSH) GetTags() Tags

GetTags returns the tags of the SSH.

func (*SSH) SetEgressFilter added in v0.9.28

func (m *SSH) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the SSH.

func (*SSH) SetName added in v0.9.9

func (m *SSH) SetName(v string)

SetName sets the name of the SSH.

func (*SSH) SetSecretStoreID added in v0.9.21

func (m *SSH) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the SSH.

func (*SSH) SetTags added in v0.9.9

func (m *SSH) SetTags(v Tags)

SetTags sets the tags of the SSH.

type SSHCert added in v0.9.10

type SSHCert struct {
	AllowDeprecatedKeyExchanges bool `json:"allowDeprecatedKeyExchanges"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`

	PortForwarding bool `json:"portForwarding"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*SSHCert) GetEgressFilter added in v0.9.28

func (m *SSHCert) GetEgressFilter() string

GetEgressFilter returns the egress filter of the SSHCert.

func (*SSHCert) GetID added in v0.9.10

func (m *SSHCert) GetID() string

GetID returns the unique identifier of the SSHCert.

func (*SSHCert) GetName added in v0.9.10

func (m *SSHCert) GetName() string

GetName returns the name of the SSHCert.

func (*SSHCert) GetSecretStoreID added in v0.9.21

func (m *SSHCert) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the SSHCert.

func (*SSHCert) GetTags added in v0.9.10

func (m *SSHCert) GetTags() Tags

GetTags returns the tags of the SSHCert.

func (*SSHCert) SetEgressFilter added in v0.9.28

func (m *SSHCert) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the SSHCert.

func (*SSHCert) SetName added in v0.9.10

func (m *SSHCert) SetName(v string)

SetName sets the name of the SSHCert.

func (*SSHCert) SetSecretStoreID added in v0.9.21

func (m *SSHCert) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the SSHCert.

func (*SSHCert) SetTags added in v0.9.10

func (m *SSHCert) SetTags(v Tags)

SetTags sets the tags of the SSHCert.

type SSHCustomerKey added in v0.9.26

type SSHCustomerKey struct {
	AllowDeprecatedKeyExchanges bool `json:"allowDeprecatedKeyExchanges"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Port int32 `json:"port"`

	PortForwarding bool `json:"portForwarding"`

	PrivateKey string `json:"privateKey"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*SSHCustomerKey) GetEgressFilter added in v0.9.28

func (m *SSHCustomerKey) GetEgressFilter() string

GetEgressFilter returns the egress filter of the SSHCustomerKey.

func (*SSHCustomerKey) GetID added in v0.9.26

func (m *SSHCustomerKey) GetID() string

GetID returns the unique identifier of the SSHCustomerKey.

func (*SSHCustomerKey) GetName added in v0.9.26

func (m *SSHCustomerKey) GetName() string

GetName returns the name of the SSHCustomerKey.

func (*SSHCustomerKey) GetSecretStoreID added in v0.9.26

func (m *SSHCustomerKey) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the SSHCustomerKey.

func (*SSHCustomerKey) GetTags added in v0.9.26

func (m *SSHCustomerKey) GetTags() Tags

GetTags returns the tags of the SSHCustomerKey.

func (*SSHCustomerKey) SetEgressFilter added in v0.9.28

func (m *SSHCustomerKey) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the SSHCustomerKey.

func (*SSHCustomerKey) SetName added in v0.9.26

func (m *SSHCustomerKey) SetName(v string)

SetName sets the name of the SSHCustomerKey.

func (*SSHCustomerKey) SetSecretStoreID added in v0.9.26

func (m *SSHCustomerKey) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the SSHCustomerKey.

func (*SSHCustomerKey) SetTags added in v0.9.26

func (m *SSHCustomerKey) SetTags(v Tags)

SetTags sets the tags of the SSHCustomerKey.

type SecretStore added in v0.9.21

type SecretStore interface {
	// GetID returns the unique identifier of the SecretStore.
	GetID() string
	// GetTags returns the tags of the SecretStore.
	GetTags() Tags
	// SetTags sets the tags of the SecretStore.
	SetTags(Tags)
	// GetName returns the name of the SecretStore.
	GetName() string
	// SetName sets the name of the SecretStore.
	SetName(string)
	// contains filtered or unexported methods
}

A SecretStore is a server where resource secrets (passwords, keys) are stored. Coming soon support for HashiCorp Vault and AWS Secret Store. Contact support@strongdm.com to request access to the beta.

type SecretStoreCreateResponse added in v0.9.21

type SecretStoreCreateResponse struct {
	// Reserved for future use.
	Meta *CreateResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The created SecretStore.
	SecretStore SecretStore `json:"secretStore"`
}

SecretStoreCreateResponse reports how the SecretStores were created in the system.

type SecretStoreDeleteResponse added in v0.9.21

type SecretStoreDeleteResponse struct {
	// Reserved for future use.
	Meta *DeleteResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
}

SecretStoreDeleteResponse returns information about a SecretStore that was deleted.

type SecretStoreGetResponse added in v0.9.21

type SecretStoreGetResponse struct {
	// Reserved for future use.
	Meta *GetResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The requested SecretStore.
	SecretStore SecretStore `json:"secretStore"`
}

SecretStoreGetResponse returns a requested SecretStore.

type SecretStoreIterator added in v0.9.21

type SecretStoreIterator interface {
	// Next advances the iterator to the next item in the list. It returns
	// true if an item is available to retrieve via the `Value()` function.
	Next() bool
	// Value returns the current item, if one is available.
	Value() SecretStore
	// Err returns the first error encountered during iteration, if any.
	Err() error
}

SecretStoreIterator provides read access to a list of SecretStore. Use it like so:

for iterator.Next() {
    secretStore := iterator.Value()
    // ...
}

type SecretStoreUpdateResponse added in v0.9.21

type SecretStoreUpdateResponse struct {
	// Reserved for future use.
	Meta *UpdateResponseMetadata `json:"meta"`
	// Rate limit information.
	RateLimit *RateLimitMetadata `json:"rateLimit"`
	// The updated SecretStore.
	SecretStore SecretStore `json:"secretStore"`
}

SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by a SecretStoreUpdateRequest.

type SecretStores added in v0.9.21

type SecretStores struct {
	// contains filtered or unexported fields
}

SecretStores are servers where resource secrets (passwords, keys) are stored.

func (*SecretStores) Create added in v0.9.21

func (svc *SecretStores) Create(
	ctx context.Context,
	secretStore SecretStore) (
	*SecretStoreCreateResponse,
	error)

func (*SecretStores) Delete added in v0.9.21

Delete removes a SecretStore by ID.

func (*SecretStores) Get added in v0.9.21

Get reads one SecretStore by ID.

func (*SecretStores) List added in v0.9.21

func (svc *SecretStores) List(
	ctx context.Context,
	filter string,
	args ...interface{}) (
	SecretStoreIterator,
	error)

List gets a list of SecretStores matching a given set of criteria.

func (*SecretStores) Update added in v0.9.21

func (svc *SecretStores) Update(
	ctx context.Context,
	secretStore SecretStore) (
	*SecretStoreUpdateResponse,
	error)

Update patches a SecretStore by ID.

type Service

type Service struct {
	// Unique identifier of the Service.
	ID string `json:"id"`
	// Unique human-readable name of the Service.
	Name string `json:"name"`
	// The Service's suspended state.
	Suspended bool `json:"suspended"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

A Service is a service account that can connect to resources they are granted directly, or granted via roles. Services are typically automated jobs.

func (*Service) GetID

func (m *Service) GetID() string

GetID returns the unique identifier of the Service.

func (*Service) GetTags added in v0.9.12

func (m *Service) GetTags() Tags

GetTags returns the tags of the Service.

func (*Service) IsSuspended added in v0.9.5

func (m *Service) IsSuspended() bool

IsSuspended returns whether the Service is suspended.

func (*Service) SetSuspended added in v0.9.9

func (m *Service) SetSuspended(v bool)

SetSuspended sets the suspended of the Service.

func (*Service) SetTags added in v0.9.12

func (m *Service) SetTags(v Tags)

SetTags sets the tags of the Service.

type SingleStore added in v0.9.31

type SingleStore struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*SingleStore) GetEgressFilter added in v0.9.31

func (m *SingleStore) GetEgressFilter() string

GetEgressFilter returns the egress filter of the SingleStore.

func (*SingleStore) GetID added in v0.9.31

func (m *SingleStore) GetID() string

GetID returns the unique identifier of the SingleStore.

func (*SingleStore) GetName added in v0.9.31

func (m *SingleStore) GetName() string

GetName returns the name of the SingleStore.

func (*SingleStore) GetSecretStoreID added in v0.9.31

func (m *SingleStore) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the SingleStore.

func (*SingleStore) GetTags added in v0.9.31

func (m *SingleStore) GetTags() Tags

GetTags returns the tags of the SingleStore.

func (*SingleStore) SetEgressFilter added in v0.9.31

func (m *SingleStore) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the SingleStore.

func (*SingleStore) SetName added in v0.9.31

func (m *SingleStore) SetName(v string)

SetName sets the name of the SingleStore.

func (*SingleStore) SetSecretStoreID added in v0.9.31

func (m *SingleStore) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the SingleStore.

func (*SingleStore) SetTags added in v0.9.31

func (m *SingleStore) SetTags(v Tags)

SetTags sets the tags of the SingleStore.

type Snowflake

type Snowflake struct {
	Database string `json:"database"`
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	PortOverride int32 `json:"portOverride"`

	Schema string `json:"schema"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*Snowflake) GetEgressFilter added in v0.9.28

func (m *Snowflake) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Snowflake.

func (*Snowflake) GetID

func (m *Snowflake) GetID() string

GetID returns the unique identifier of the Snowflake.

func (*Snowflake) GetName added in v0.9.4

func (m *Snowflake) GetName() string

GetName returns the name of the Snowflake.

func (*Snowflake) GetSecretStoreID added in v0.9.21

func (m *Snowflake) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Snowflake.

func (*Snowflake) GetTags added in v0.9.9

func (m *Snowflake) GetTags() Tags

GetTags returns the tags of the Snowflake.

func (*Snowflake) SetEgressFilter added in v0.9.28

func (m *Snowflake) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Snowflake.

func (*Snowflake) SetName added in v0.9.9

func (m *Snowflake) SetName(v string)

SetName sets the name of the Snowflake.

func (*Snowflake) SetSecretStoreID added in v0.9.21

func (m *Snowflake) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Snowflake.

func (*Snowflake) SetTags added in v0.9.9

func (m *Snowflake) SetTags(v Tags)

SetTags sets the tags of the Snowflake.

type Sybase

type Sybase struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*Sybase) GetEgressFilter added in v0.9.28

func (m *Sybase) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Sybase.

func (*Sybase) GetID

func (m *Sybase) GetID() string

GetID returns the unique identifier of the Sybase.

func (*Sybase) GetName added in v0.9.4

func (m *Sybase) GetName() string

GetName returns the name of the Sybase.

func (*Sybase) GetSecretStoreID added in v0.9.21

func (m *Sybase) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Sybase.

func (*Sybase) GetTags added in v0.9.9

func (m *Sybase) GetTags() Tags

GetTags returns the tags of the Sybase.

func (*Sybase) SetEgressFilter added in v0.9.28

func (m *Sybase) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Sybase.

func (*Sybase) SetName added in v0.9.9

func (m *Sybase) SetName(v string)

SetName sets the name of the Sybase.

func (*Sybase) SetSecretStoreID added in v0.9.21

func (m *Sybase) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Sybase.

func (*Sybase) SetTags added in v0.9.9

func (m *Sybase) SetTags(v Tags)

SetTags sets the tags of the Sybase.

type SybaseIQ

type SybaseIQ struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*SybaseIQ) GetEgressFilter added in v0.9.28

func (m *SybaseIQ) GetEgressFilter() string

GetEgressFilter returns the egress filter of the SybaseIQ.

func (*SybaseIQ) GetID

func (m *SybaseIQ) GetID() string

GetID returns the unique identifier of the SybaseIQ.

func (*SybaseIQ) GetName added in v0.9.4

func (m *SybaseIQ) GetName() string

GetName returns the name of the SybaseIQ.

func (*SybaseIQ) GetSecretStoreID added in v0.9.21

func (m *SybaseIQ) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the SybaseIQ.

func (*SybaseIQ) GetTags added in v0.9.9

func (m *SybaseIQ) GetTags() Tags

GetTags returns the tags of the SybaseIQ.

func (*SybaseIQ) SetEgressFilter added in v0.9.28

func (m *SybaseIQ) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the SybaseIQ.

func (*SybaseIQ) SetName added in v0.9.9

func (m *SybaseIQ) SetName(v string)

SetName sets the name of the SybaseIQ.

func (*SybaseIQ) SetSecretStoreID added in v0.9.21

func (m *SybaseIQ) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the SybaseIQ.

func (*SybaseIQ) SetTags added in v0.9.9

func (m *SybaseIQ) SetTags(v Tags)

SetTags sets the tags of the SybaseIQ.

type Tag added in v0.9.24

type Tag struct {
	Name string `json:"name"`

	Value string `json:"value"`
}

type TagIterator added in v0.9.24

type TagIterator interface {
	// Next advances the iterator to the next item in the list. It returns
	// true if an item is available to retrieve via the `Value()` function.
	Next() bool
	// Value returns the current item, if one is available.
	Value() *Tag
	// Err returns the first error encountered during iteration, if any.
	Err() error
}

TagIterator provides read access to a list of Tag. Use it like so:

for iterator.Next() {
    tag := iterator.Value()
    // ...
}

type Tags added in v0.9.9

type Tags map[string]string

type Teradata

type Teradata struct {
	// A filter applied to the routing logic to pin datasource to nodes.
	EgressFilter string `json:"egressFilter"`
	// True if the datasource is reachable and the credentials are valid.
	Healthy bool `json:"healthy"`

	Hostname string `json:"hostname"`
	// Unique identifier of the Resource.
	ID string `json:"id"`
	// Unique human-readable name of the Resource.
	Name string `json:"name"`

	Password string `json:"password"`

	Port int32 `json:"port"`

	PortOverride int32 `json:"portOverride"`
	// ID of the secret store containing credentials for this resource, if any.
	SecretStoreID string `json:"secretStoreId"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`

	Username string `json:"username"`
}

func (*Teradata) GetEgressFilter added in v0.9.28

func (m *Teradata) GetEgressFilter() string

GetEgressFilter returns the egress filter of the Teradata.

func (*Teradata) GetID

func (m *Teradata) GetID() string

GetID returns the unique identifier of the Teradata.

func (*Teradata) GetName added in v0.9.4

func (m *Teradata) GetName() string

GetName returns the name of the Teradata.

func (*Teradata) GetSecretStoreID added in v0.9.21

func (m *Teradata) GetSecretStoreID() string

GetSecretStoreID returns the secret store id of the Teradata.

func (*Teradata) GetTags added in v0.9.9

func (m *Teradata) GetTags() Tags

GetTags returns the tags of the Teradata.

func (*Teradata) SetEgressFilter added in v0.9.28

func (m *Teradata) SetEgressFilter(v string)

SetEgressFilter sets the egress filter of the Teradata.

func (*Teradata) SetName added in v0.9.9

func (m *Teradata) SetName(v string)

SetName sets the name of the Teradata.

func (*Teradata) SetSecretStoreID added in v0.9.21

func (m *Teradata) SetSecretStoreID(v string)

SetSecretStoreID sets the secret store id of the Teradata.

func (*Teradata) SetTags added in v0.9.9

func (m *Teradata) SetTags(v Tags)

SetTags sets the tags of the Teradata.

type UnknownError

type UnknownError struct {
	Wrapped error
}

UnknownError is a generic wrapper that indicates an unknown internal error in the SDK.

func (*UnknownError) Code

func (e *UnknownError) Code() int

func (*UnknownError) Error

func (e *UnknownError) Error() string

func (*UnknownError) Unwrap

func (e *UnknownError) Unwrap() error

type UpdateResponseMetadata

type UpdateResponseMetadata struct {
}

UpdateResponseMetadata is reserved for future use.

type User

type User struct {
	// The User's email address. Must be unique.
	Email string `json:"email"`
	// The User's first name.
	FirstName string `json:"firstName"`
	// Unique identifier of the User.
	ID string `json:"id"`
	// The User's last name.
	LastName string `json:"lastName"`
	// The User's suspended state.
	Suspended bool `json:"suspended"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

A User can connect to resources they are granted directly, or granted via roles.

func (*User) GetID

func (m *User) GetID() string

GetID returns the unique identifier of the User.

func (*User) GetTags added in v0.9.12

func (m *User) GetTags() Tags

GetTags returns the tags of the User.

func (*User) IsSuspended added in v0.9.5

func (m *User) IsSuspended() bool

IsSuspended returns whether the User is suspended.

func (*User) SetSuspended added in v0.9.9

func (m *User) SetSuspended(v bool)

SetSuspended sets the suspended of the User.

func (*User) SetTags added in v0.9.12

func (m *User) SetTags(v Tags)

SetTags sets the tags of the User.

type VaultTLSStore added in v0.9.21

type VaultTLSStore struct {
	CACertPath string `json:"caCertPath"`

	ClientCertPath string `json:"clientCertPath"`

	ClientKeyPath string `json:"clientKeyPath"`
	// Unique identifier of the SecretStore.
	ID string `json:"id"`
	// Unique human-readable name of the SecretStore.
	Name string `json:"name"`

	Namespace string `json:"namespace"`

	ServerAddress string `json:"serverAddress"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*VaultTLSStore) GetID added in v0.9.21

func (m *VaultTLSStore) GetID() string

GetID returns the unique identifier of the VaultTLSStore.

func (*VaultTLSStore) GetName added in v0.9.21

func (m *VaultTLSStore) GetName() string

GetName returns the name of the VaultTLSStore.

func (*VaultTLSStore) GetTags added in v0.9.21

func (m *VaultTLSStore) GetTags() Tags

GetTags returns the tags of the VaultTLSStore.

func (*VaultTLSStore) SetName added in v0.9.21

func (m *VaultTLSStore) SetName(v string)

SetName sets the name of the VaultTLSStore.

func (*VaultTLSStore) SetTags added in v0.9.21

func (m *VaultTLSStore) SetTags(v Tags)

SetTags sets the tags of the VaultTLSStore.

type VaultTokenStore added in v0.9.21

type VaultTokenStore struct {
	// Unique identifier of the SecretStore.
	ID string `json:"id"`
	// Unique human-readable name of the SecretStore.
	Name string `json:"name"`

	Namespace string `json:"namespace"`

	ServerAddress string `json:"serverAddress"`
	// Tags is a map of key, value pairs.
	Tags Tags `json:"tags"`
}

func (*VaultTokenStore) GetID added in v0.9.21

func (m *VaultTokenStore) GetID() string

GetID returns the unique identifier of the VaultTokenStore.

func (*VaultTokenStore) GetName added in v0.9.21

func (m *VaultTokenStore) GetName() string

GetName returns the name of the VaultTokenStore.

func (*VaultTokenStore) GetTags added in v0.9.21

func (m *VaultTokenStore) GetTags() Tags

GetTags returns the tags of the VaultTokenStore.

func (*VaultTokenStore) SetName added in v0.9.21

func (m *VaultTokenStore) SetName(v string)

SetName sets the name of the VaultTokenStore.

func (*VaultTokenStore) SetTags added in v0.9.21

func (m *VaultTokenStore) SetTags(v Tags)

SetTags sets the tags of the VaultTokenStore.

Directories

Path Synopsis
example
okta-sync Module
internal
v1

Jump to

Keyboard shortcuts

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