api_keys

package
v1.79.0 Latest Latest
Warning

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

Go to latest
Published: May 5, 2026 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const RegionNameUsChi1 = shared.RegionNameUsChi1

Equals "us-chi-1"

View Source
const RegionNameUsSva1 = shared.RegionNameUsSva1

Equals "us-sva-1"

View Source
const RegionNameUsSva2 = shared.RegionNameUsSva2

Equals "us-sva-2"

View Source
const ResourceStatusCreating = shared.ResourceStatusCreating

Equals "creating"

View Source
const ResourceStatusDeleted = shared.ResourceStatusDeleted

Equals "deleted"

View Source
const ResourceStatusDeleting = shared.ResourceStatusDeleting

Equals "deleting"

View Source
const ResourceStatusError = shared.ResourceStatusError

Equals "error"

View Source
const ResourceStatusPending = shared.ResourceStatusPending

Equals "pending"

View Source
const ResourceStatusReady = shared.ResourceStatusReady

Equals "ready"

View Source
const ResourceStatusUpdating = shared.ResourceStatusUpdating

Equals "updating"

Variables

This section is empty.

Functions

This section is empty.

Types

type APIKey

type APIKey struct {
	// API Key ID.
	ID string `json:"id" api:"required"`
	// When the API Key was created.
	CreatedAt time.Time `json:"created_at" api:"required" format:"date-time"`
	// When the API Key expires and is no longer valid.
	ExpiresAt time.Time `json:"expires_at" api:"required" format:"date-time"`
	// Whether this API key is system-managed.
	Managed bool `json:"managed" api:"required"`
	// API Key name.
	Name string `json:"name" api:"required"`
	// Scoped permissions for this API key.
	Permissions []APIKeyPermission `json:"permissions" api:"required"`
	// Project IDs this API key is scoped to.
	ProjectIDs []string `json:"project_ids" api:"required"`
	// IP filter rules.
	SourceIPRule shared.SourceIPRuleResponse `json:"source_ip_rule" api:"required"`
	// Status of the API Key.
	//
	// Any of "active", "inactive", "expired".
	Status APIKeyStatus `json:"status" api:"required"`
	// Tags to attach to the API Key.
	Tags []string `json:"tags" api:"required"`
	// When the API Key was updated.
	UpdatedAt time.Time `json:"updated_at" api:"required" format:"date-time"`
	// API Key. Only returned on creation.
	Key string `json:"key"`
	// When the API Key starts to be valid.
	StartsAt time.Time `json:"starts_at" format:"date-time"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		ID           respjson.Field
		CreatedAt    respjson.Field
		ExpiresAt    respjson.Field
		Managed      respjson.Field
		Name         respjson.Field
		Permissions  respjson.Field
		ProjectIDs   respjson.Field
		SourceIPRule respjson.Field
		Status       respjson.Field
		Tags         respjson.Field
		UpdatedAt    respjson.Field
		Key          respjson.Field
		StartsAt     respjson.Field
		ExtraFields  map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

API Key response.

func (APIKey) RawJSON added in v1.1.0

func (r APIKey) RawJSON() string

Returns the unmodified JSON received from the API

func (*APIKey) UnmarshalJSON

func (r *APIKey) UnmarshalJSON(data []byte) error

type APIKeyList

type APIKeyList struct {
	Items []APIKey `json:"items" api:"required"`
	// Pagination response details.
	Pagination shared.Pagination `json:"pagination" api:"required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Items       respjson.Field
		Pagination  respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (APIKeyList) RawJSON added in v1.1.0

func (r APIKeyList) RawJSON() string

Returns the unmodified JSON received from the API

func (*APIKeyList) UnmarshalJSON

func (r *APIKeyList) UnmarshalJSON(data []byte) error

type APIKeyListParams added in v1.21.0

type APIKeyListParams struct {
	// Pagination cursor returned by a previous request
	Cursor param.Opt[string] `query:"cursor,omitzero" json:"-"`
	// Maximum number of items to return
	Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
	// contains filtered or unexported fields
}

func (APIKeyListParams) URLQuery added in v1.21.0

func (r APIKeyListParams) URLQuery() (v url.Values, err error)

URLQuery serializes APIKeyListParams's query parameters as `url.Values`.

type APIKeyNewParams

type APIKeyNewParams struct {
	// When the API Key expires and is no longer valid.
	ExpiresAt time.Time `json:"expires_at" api:"required" format:"date-time"`
	// API Key name.
	Name string `json:"name" api:"required"`
	// Scoped permissions for this API key. At least one is required.
	Permissions []APIKeyNewParamsPermission `json:"permissions,omitzero" api:"required"`
	// Project IDs this API key is scoped to. At least one is required.
	ProjectIDs []string `json:"project_ids,omitzero" api:"required"`
	// When the API Key starts to be valid.
	StartsAt param.Opt[time.Time] `json:"starts_at,omitzero" format:"date-time"`
	// IP filter rules.
	SourceIPRule shared.SourceIPRuleParam `json:"source_ip_rule,omitzero"`
	// Tags to attach to the API Key.
	Tags []string `json:"tags,omitzero"`
	// contains filtered or unexported fields
}

func (APIKeyNewParams) MarshalJSON

func (r APIKeyNewParams) MarshalJSON() (data []byte, err error)

func (*APIKeyNewParams) UnmarshalJSON added in v1.1.0

func (r *APIKeyNewParams) UnmarshalJSON(data []byte) error

type APIKeyNewParamsPermission added in v1.55.0

type APIKeyNewParamsPermission struct {
	// Permission level: "read" or "edit".
	//
	// Any of "read", "edit".
	Permission APIPermissionLevel `json:"permission,omitzero" api:"required"`
	// Resource type this permission applies to.
	//
	// Any of "vm", "vpc", "volume", "connect_connection", "rpc_node_dedicated",
	// "rpc_node_flex", "nks_cluster", "nks_node_pool", "project", "api_key",
	// "organization", "audit_log".
	ResourceType APIPermissionResourceType `json:"resource_type,omitzero" api:"required"`
	// contains filtered or unexported fields
}

API Key permission request.

The properties Permission, ResourceType are required.

func (APIKeyNewParamsPermission) MarshalJSON added in v1.55.0

func (r APIKeyNewParamsPermission) MarshalJSON() (data []byte, err error)

func (*APIKeyNewParamsPermission) UnmarshalJSON added in v1.55.0

func (r *APIKeyNewParamsPermission) UnmarshalJSON(data []byte) error

type APIKeyPermission added in v1.55.0

type APIKeyPermission struct {
	// Permission level: "read" or "edit".
	//
	// Any of "read", "edit".
	Permission APIPermissionLevel `json:"permission" api:"required"`
	// Resource type this permission applies to.
	//
	// Any of "vm", "vpc", "volume", "connect_connection", "rpc_node_dedicated",
	// "rpc_node_flex", "nks_cluster", "nks_node_pool", "project", "api_key",
	// "organization", "audit_log".
	ResourceType APIPermissionResourceType `json:"resource_type" api:"required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Permission   respjson.Field
		ResourceType respjson.Field
		ExtraFields  map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

API Key permission.

func (APIKeyPermission) RawJSON added in v1.55.0

func (r APIKeyPermission) RawJSON() string

Returns the unmodified JSON received from the API

func (*APIKeyPermission) UnmarshalJSON added in v1.55.0

func (r *APIKeyPermission) UnmarshalJSON(data []byte) error

type APIKeyService

type APIKeyService struct {
	Options []option.RequestOption
}

APIKeyService contains methods and other services that help with interacting with the Nirvana Labs API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAPIKeyService method instead.

func NewAPIKeyService

func NewAPIKeyService(opts ...option.RequestOption) (r APIKeyService)

NewAPIKeyService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*APIKeyService) Delete

func (r *APIKeyService) Delete(ctx context.Context, apiKeyID string, opts ...option.RequestOption) (err error)

Delete an API key

func (*APIKeyService) Get

func (r *APIKeyService) Get(ctx context.Context, apiKeyID string, opts ...option.RequestOption) (res *APIKey, err error)

Get details about an API key

func (*APIKeyService) List

func (r *APIKeyService) List(ctx context.Context, query APIKeyListParams, opts ...option.RequestOption) (res *pagination.Cursor[APIKey], err error)

List all API keys

func (*APIKeyService) ListAutoPaging added in v1.21.0

List all API keys

func (*APIKeyService) New

func (r *APIKeyService) New(ctx context.Context, body APIKeyNewParams, opts ...option.RequestOption) (res *APIKey, err error)

Create a new API key

func (*APIKeyService) Update added in v0.4.0

func (r *APIKeyService) Update(ctx context.Context, apiKeyID string, body APIKeyUpdateParams, opts ...option.RequestOption) (res *APIKey, err error)

Update an existing API key

type APIKeyStatus

type APIKeyStatus string

Status of the API Key.

const (
	APIKeyStatusActive   APIKeyStatus = "active"
	APIKeyStatusInactive APIKeyStatus = "inactive"
	APIKeyStatusExpired  APIKeyStatus = "expired"
)

type APIKeyUpdateParams added in v0.4.0

type APIKeyUpdateParams struct {
	// API Key name.
	Name param.Opt[string] `json:"name,omitzero"`
	// Scoped permissions for this API key. When provided, replaces the entire set. At
	// least one is required.
	Permissions []APIKeyUpdateParamsPermission `json:"permissions,omitzero"`
	// Project IDs this API key is scoped to. When provided, replaces the entire set.
	// At least one is required.
	ProjectIDs []string `json:"project_ids,omitzero"`
	// IP filter rules.
	SourceIPRule shared.SourceIPRuleParam `json:"source_ip_rule,omitzero"`
	// Tags to attach to the API Key.
	Tags []string `json:"tags,omitzero"`
	// contains filtered or unexported fields
}

func (APIKeyUpdateParams) MarshalJSON added in v0.4.0

func (r APIKeyUpdateParams) MarshalJSON() (data []byte, err error)

func (*APIKeyUpdateParams) UnmarshalJSON added in v1.1.0

func (r *APIKeyUpdateParams) UnmarshalJSON(data []byte) error

type APIKeyUpdateParamsPermission added in v1.55.0

type APIKeyUpdateParamsPermission struct {
	// Permission level: "read" or "edit".
	//
	// Any of "read", "edit".
	Permission APIPermissionLevel `json:"permission,omitzero" api:"required"`
	// Resource type this permission applies to.
	//
	// Any of "vm", "vpc", "volume", "connect_connection", "rpc_node_dedicated",
	// "rpc_node_flex", "nks_cluster", "nks_node_pool", "project", "api_key",
	// "organization", "audit_log".
	ResourceType APIPermissionResourceType `json:"resource_type,omitzero" api:"required"`
	// contains filtered or unexported fields
}

API Key permission request.

The properties Permission, ResourceType are required.

func (APIKeyUpdateParamsPermission) MarshalJSON added in v1.55.0

func (r APIKeyUpdateParamsPermission) MarshalJSON() (data []byte, err error)

func (*APIKeyUpdateParamsPermission) UnmarshalJSON added in v1.55.0

func (r *APIKeyUpdateParamsPermission) UnmarshalJSON(data []byte) error

type APIPermissionLevel added in v1.55.0

type APIPermissionLevel string

Permission level: "read" or "edit".

const (
	APIPermissionLevelRead APIPermissionLevel = "read"
	APIPermissionLevelEdit APIPermissionLevel = "edit"
)

type APIPermissionResourceType added in v1.55.0

type APIPermissionResourceType string

Resource type this permission applies to.

const (
	APIPermissionResourceTypeVM                APIPermissionResourceType = "vm"
	APIPermissionResourceTypeVPC               APIPermissionResourceType = "vpc"
	APIPermissionResourceTypeVolume            APIPermissionResourceType = "volume"
	APIPermissionResourceTypeConnectConnection APIPermissionResourceType = "connect_connection"
	APIPermissionResourceTypeRPCNodeDedicated  APIPermissionResourceType = "rpc_node_dedicated"
	APIPermissionResourceTypeRPCNodeFlex       APIPermissionResourceType = "rpc_node_flex"
	APIPermissionResourceTypeNKSCluster        APIPermissionResourceType = "nks_cluster"
	APIPermissionResourceTypeNKSNodePool       APIPermissionResourceType = "nks_node_pool"
	APIPermissionResourceTypeProject           APIPermissionResourceType = "project"
	APIPermissionResourceTypeAPIKey            APIPermissionResourceType = "api_key"
	APIPermissionResourceTypeOrganization      APIPermissionResourceType = "organization"
	APIPermissionResourceTypeAuditLog          APIPermissionResourceType = "audit_log"
)

type Error

type Error = apierror.Error

type Pagination added in v1.21.0

type Pagination = shared.Pagination

Pagination response details.

This is an alias to an internal type.

type RegionName

type RegionName = shared.RegionName

Region the resource is in.

This is an alias to an internal type.

type ResourceStatus

type ResourceStatus = shared.ResourceStatus

Status of the resource.

This is an alias to an internal type.

type SourceIPRuleParam added in v1.35.0

type SourceIPRuleParam = shared.SourceIPRuleParam

IP filter rules.

This is an alias to an internal type.

type SourceIPRuleResponse added in v1.54.0

type SourceIPRuleResponse = shared.SourceIPRuleResponse

IP filter rules.

This is an alias to an internal type.

Jump to

Keyboard shortcuts

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