Documentation
¶
Index ¶
- Constants
- type APIKey
- type APIKeyList
- type APIKeyListParams
- type APIKeyNewParams
- type APIKeyNewParamsPermission
- type APIKeyPermission
- type APIKeyService
- func (r *APIKeyService) Delete(ctx context.Context, apiKeyID string, opts ...option.RequestOption) (err error)
- func (r *APIKeyService) Get(ctx context.Context, apiKeyID string, opts ...option.RequestOption) (res *APIKey, err error)
- func (r *APIKeyService) List(ctx context.Context, query APIKeyListParams, opts ...option.RequestOption) (res *pagination.Cursor[APIKey], err error)
- func (r *APIKeyService) ListAutoPaging(ctx context.Context, query APIKeyListParams, opts ...option.RequestOption) *pagination.CursorAutoPager[APIKey]
- func (r *APIKeyService) New(ctx context.Context, body APIKeyNewParams, opts ...option.RequestOption) (res *APIKey, err error)
- func (r *APIKeyService) Update(ctx context.Context, apiKeyID string, body APIKeyUpdateParams, ...) (res *APIKey, err error)
- type APIKeyStatus
- type APIKeyUpdateParams
- type APIKeyUpdateParamsPermission
- type APIPermissionLevel
- type APIPermissionResourceType
- type Error
- type Pagination
- type RegionName
- type ResourceStatus
- type SourceIPRuleParam
- type SourceIPRuleResponse
Constants ¶
const RegionNameUsChi1 = shared.RegionNameUsChi1
Equals "us-chi-1"
const RegionNameUsSva1 = shared.RegionNameUsSva1
Equals "us-sva-1"
const RegionNameUsSva2 = shared.RegionNameUsSva2
Equals "us-sva-2"
const ResourceStatusCreating = shared.ResourceStatusCreating
Equals "creating"
const ResourceStatusDeleted = shared.ResourceStatusDeleted
Equals "deleted"
const ResourceStatusDeleting = shared.ResourceStatusDeleting
Equals "deleting"
const ResourceStatusError = shared.ResourceStatusError
Equals "error"
const ResourceStatusPending = shared.ResourceStatusPending
Equals "pending"
const ResourceStatusReady = shared.ResourceStatusReady
Equals "ready"
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) UnmarshalJSON ¶
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
func (r *APIKeyService) ListAutoPaging(ctx context.Context, query APIKeyListParams, opts ...option.RequestOption) *pagination.CursorAutoPager[APIKey]
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 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.