Documentation
¶
Overview ¶
Package accountsapi holds Go data models for the ivcap-accounts HTTP API, generated from the OpenAPI spec ivcap-id publishes at https://id.<domain>/openapi.json (the Goa designs are the source of truth). Do not edit models.gen.go by hand.
The spec is vendored here as openapi.json (refresh with `make sync-specs`); regenerate the models with `make gen`. Keep the oapi-codegen version in step with OAPI_CODEGEN_VERSION in the Makefile.
Package accountsapi provides primitives to interact with the openapi HTTP API.
Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.8.0 DO NOT EDIT.
Index ¶
- type Account
- type AccountsAddAccountGrantJSONRequestBody
- type AccountsAddDatasetGrantJSONRequestBody
- type AccountsAddProjectGrantJSONRequestBody
- type AccountsCreateAccountInvitationJSONRequestBody
- type AccountsCreateAccountJSONRequestBody
- type AccountsCreateDatasetJSONRequestBody
- type AccountsCreateInvitationJSONRequestBody
- type AccountsCreateProjectJSONRequestBody
- type AccountsRemoveAccountGrantParams
- type AccountsRemoveDatasetGrantParams
- type AccountsRemoveProjectGrantParams
- type AccountsRemoveProjectMemberParams
- type AccountsUpdateDatasetJSONRequestBody
- type AccountsUpdateProjectJSONRequestBody
- type AddAccountGrantPayload
- type AddProjectGrantPayload
- type BadRequestT
- type CapabilitiesResult
- type Capability
- type ConflictT
- type CreateAccountInvitationPayload
- type CreateAccountPayload
- type CreateDatasetPayload
- type CreateInvitationPayload
- type CreateProjectPayload
- type Dataset
- type DatasetEvent
- type DatasetGrant
- type DatasetGrantPayload
- type ForbiddenT
- type Invitation
- type ListAccountsResult
- type ListDatasetEventsResult
- type ListDatasetGrantsResult
- type ListInvitationsResult
- type ListMembersResult
- type ListProjectDatasetsResult
- type ListProjectsResult
- type MemberProfile
- type NotFoundT
- type Project
- type ProjectDataset
- type UnauthorizedT
- type UpdateDatasetPayload
- type UpdateProjectPayload
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account struct {
// Id Account URN
Id string `json:"id"`
// Kind personal | workspace
Kind string `json:"kind"`
// Name Display name
Name string `json:"name"`
}
Account defines model for Account.
type AccountsAddAccountGrantJSONRequestBody ¶
type AccountsAddAccountGrantJSONRequestBody = AddAccountGrantPayload
AccountsAddAccountGrantJSONRequestBody defines body for AccountsAddAccountGrant for application/json ContentType.
type AccountsAddDatasetGrantJSONRequestBody ¶
type AccountsAddDatasetGrantJSONRequestBody = DatasetGrantPayload
AccountsAddDatasetGrantJSONRequestBody defines body for AccountsAddDatasetGrant for application/json ContentType.
type AccountsAddProjectGrantJSONRequestBody ¶
type AccountsAddProjectGrantJSONRequestBody = AddProjectGrantPayload
AccountsAddProjectGrantJSONRequestBody defines body for AccountsAddProjectGrant for application/json ContentType.
type AccountsCreateAccountInvitationJSONRequestBody ¶
type AccountsCreateAccountInvitationJSONRequestBody = CreateAccountInvitationPayload
AccountsCreateAccountInvitationJSONRequestBody defines body for AccountsCreateAccountInvitation for application/json ContentType.
type AccountsCreateAccountJSONRequestBody ¶
type AccountsCreateAccountJSONRequestBody = CreateAccountPayload
AccountsCreateAccountJSONRequestBody defines body for AccountsCreateAccount for application/json ContentType.
type AccountsCreateDatasetJSONRequestBody ¶
type AccountsCreateDatasetJSONRequestBody = CreateDatasetPayload
AccountsCreateDatasetJSONRequestBody defines body for AccountsCreateDataset for application/json ContentType.
type AccountsCreateInvitationJSONRequestBody ¶
type AccountsCreateInvitationJSONRequestBody = CreateInvitationPayload
AccountsCreateInvitationJSONRequestBody defines body for AccountsCreateInvitation for application/json ContentType.
type AccountsCreateProjectJSONRequestBody ¶
type AccountsCreateProjectJSONRequestBody = CreateProjectPayload
AccountsCreateProjectJSONRequestBody defines body for AccountsCreateProject for application/json ContentType.
type AccountsRemoveAccountGrantParams ¶
type AccountsRemoveAccountGrantParams struct {
// Capability Account capability to revoke
Capability string `form:"capability" json:"capability"`
}
AccountsRemoveAccountGrantParams defines parameters for AccountsRemoveAccountGrant.
type AccountsRemoveDatasetGrantParams ¶
type AccountsRemoveDatasetGrantParams struct {
// GranteeKind project | service | public
GranteeKind string `form:"grantee_kind" json:"grantee_kind"`
// GranteeId Project URN or principal URN; omitted for public
GranteeId *string `form:"grantee_id,omitempty" json:"grantee_id,omitempty"`
// Access read | write (public is read only)
Access string `form:"access" json:"access"`
}
AccountsRemoveDatasetGrantParams defines parameters for AccountsRemoveDatasetGrant.
type AccountsRemoveProjectGrantParams ¶
type AccountsRemoveProjectGrantParams struct {
// PrincipalKind user | service
PrincipalKind string `form:"principal_kind" json:"principal_kind"`
// Capability Project capability to revoke
Capability string `form:"capability" json:"capability"`
}
AccountsRemoveProjectGrantParams defines parameters for AccountsRemoveProjectGrant.
type AccountsRemoveProjectMemberParams ¶
type AccountsRemoveProjectMemberParams struct {
// PrincipalKind user | service
PrincipalKind string `form:"principal_kind" json:"principal_kind"`
}
AccountsRemoveProjectMemberParams defines parameters for AccountsRemoveProjectMember.
type AccountsUpdateDatasetJSONRequestBody ¶
type AccountsUpdateDatasetJSONRequestBody = UpdateDatasetPayload
AccountsUpdateDatasetJSONRequestBody defines body for AccountsUpdateDataset for application/json ContentType.
type AccountsUpdateProjectJSONRequestBody ¶
type AccountsUpdateProjectJSONRequestBody = UpdateProjectPayload
AccountsUpdateProjectJSONRequestBody defines body for AccountsUpdateProject for application/json ContentType.
type AddAccountGrantPayload ¶
type AddAccountGrantPayload struct {
// Capabilities Account capabilities: read, create_project, manage_members. The caller must hold each capability they grant.
Capabilities []string `json:"capabilities"`
// UserId User URN to grant capabilities to
UserId string `json:"user_id"`
}
AddAccountGrantPayload Request body for add-account-grant.
type AddProjectGrantPayload ¶
type AddProjectGrantPayload struct {
// Capabilities Project capabilities: read, write, delete, add_user, remove_user, add_child_project. The caller must hold each capability they grant.
Capabilities []string `json:"capabilities"`
// PrincipalId Principal URN (for service: the m2m_clients.id, i.e. the session pseudonym)
PrincipalId string `json:"principal_id"`
// PrincipalKind user | service
PrincipalKind string `json:"principal_kind"`
}
AddProjectGrantPayload Request body for add-project-grant.
type BadRequestT ¶
type BadRequestT struct {
// Message Error message
Message string `json:"message"`
}
BadRequestT bad request
type CapabilitiesResult ¶
type CapabilitiesResult struct {
// Account Capabilities grantable on an account
Account []Capability `json:"account"`
// Project Capabilities grantable on a project
Project []Capability `json:"project"`
}
CapabilitiesResult defines model for CapabilitiesResult.
type Capability ¶
type Capability struct {
// Description Human-readable description of what the capability allows
Description *string `json:"description,omitempty"`
// Name Capability name as used in grants and invitations
Name string `json:"name"`
}
Capability defines model for Capability.
type ConflictT ¶
type ConflictT struct {
// Message Error message
Message string `json:"message"`
}
ConflictT conflict
type CreateAccountInvitationPayload ¶
type CreateAccountInvitationPayload struct {
// Capabilities Elevated account capabilities to grant on accept (create_project, manage_members); omit for a read-only member. The inviter must hold each capability the invitation carries.
Capabilities *[]string `json:"capabilities,omitempty"`
// Email Invitee email address
Email string `json:"email"`
}
CreateAccountInvitationPayload Request body for create-account-invitation.
type CreateAccountPayload ¶
type CreateAccountPayload struct {
// Name Display name for the new workspace account
Name string `json:"name"`
}
CreateAccountPayload Request body for create-account.
type CreateDatasetPayload ¶
type CreateDatasetPayload struct {
// Description Description
Description *string `json:"description,omitempty"`
// Name Display name
Name string `json:"name"`
}
CreateDatasetPayload Request body for create-dataset.
type CreateInvitationPayload ¶
type CreateInvitationPayload struct {
// Capabilities Project capabilities to grant on accept. The inviter must hold each capability the invitation carries.
Capabilities []string `json:"capabilities"`
// Email Invitee email address
Email string `json:"email"`
}
CreateInvitationPayload Request body for create-invitation.
type CreateProjectPayload ¶
type CreateProjectPayload struct {
// AccountId Owning account URN. Optional when parent_id is given (defaults to the parent's account); required otherwise. When supplied it overrides the inherited account, and the caller must have can_create_project on it.
AccountId *string `json:"account_id,omitempty"`
// Name Display name for the new project
Name string `json:"name"`
// ParentId Optional parent project URN. The new project inherits this parent's account unless account_id overrides it. The caller must have can_add_child_project on the parent.
ParentId *string `json:"parent_id,omitempty"`
}
CreateProjectPayload Request body for create-project.
type Dataset ¶
type Dataset struct {
// Capability Datafabric capability for this dataset's data, as a decimal uint64; pass it as can-read and can-retract
Capability string `json:"capability"`
// CreatedAt Creation time
CreatedAt time.Time `json:"created_at"`
// CreatedBy Creator URN (user or principal); absent if created by the platform
CreatedBy *string `json:"created_by,omitempty"`
// Default Whether this is the owning project's default dataset (same id as the project)
Default bool `json:"default"`
// Description Description
Description string `json:"description"`
// Id Dataset URN
Id string `json:"id"`
// Name Display name
Name string `json:"name"`
// ProjectId Owning project URN. The owner manages the dataset; access is by grant.
ProjectId string `json:"project_id"`
}
Dataset defines model for Dataset.
type DatasetEvent ¶
type DatasetEvent struct {
// Access For grant and revoke: read | write
Access *string `json:"access,omitempty"`
// Action create | update | delete | grant | revoke
Action string `json:"action"`
// Actor Who made the change (user or principal URN); absent if the platform did
Actor *string `json:"actor,omitempty"`
// At When
At time.Time `json:"at"`
// GranteeId For grant and revoke: project or principal URN; absent for public
GranteeId *string `json:"grantee_id,omitempty"`
// GranteeKind For grant and revoke: project | service | public
GranteeKind *string `json:"grantee_kind,omitempty"`
}
DatasetEvent defines model for DatasetEvent.
type DatasetGrant ¶
type DatasetGrant struct {
// Access read | write
Access string `json:"access"`
// GrantedAt Grant time
GrantedAt time.Time `json:"granted_at"`
// GrantedBy Granter URN (user or principal); absent if granted by the platform
GrantedBy *string `json:"granted_by,omitempty"`
// GranteeId Project or principal URN; absent for public
GranteeId *string `json:"grantee_id,omitempty"`
// GranteeKind project | service | public
GranteeKind string `json:"grantee_kind"`
}
DatasetGrant defines model for DatasetGrant.
type DatasetGrantPayload ¶
type DatasetGrantPayload struct {
// Access read | write (public is read only)
Access string `json:"access"`
// GranteeId Project URN or principal URN; omitted for public
GranteeId *string `json:"grantee_id,omitempty"`
// GranteeKind project | service | public
GranteeKind string `json:"grantee_kind"`
}
DatasetGrantPayload Request body for add-dataset-grant.
type ForbiddenT ¶
type ForbiddenT struct {
// Message Error message
Message string `json:"message"`
}
ForbiddenT forbidden
type Invitation ¶
type Invitation struct {
// AccountId Account URN (set for account invitations)
AccountId *string `json:"account_id,omitempty"`
// Capabilities Capabilities the invite grants (project or account caps per kind)
Capabilities []string `json:"capabilities"`
// Email Invitee email (only on the inviter's create response / project listing)
Email *string `json:"email,omitempty"`
// ExpiresAt RFC3339 expiry
ExpiresAt string `json:"expires_at"`
// Id Invitation URN
Id string `json:"id"`
// Kind Invitation target kind: project | account
Kind string `json:"kind"`
// ProjectId Project URN (set for project invitations)
ProjectId *string `json:"project_id,omitempty"`
// Status pending | accepted | declined | revoked
Status string `json:"status"`
}
Invitation defines model for Invitation.
type ListAccountsResult ¶
type ListAccountsResult struct {
Accounts []Account `json:"accounts"`
}
ListAccountsResult defines model for ListAccountsResult.
type ListDatasetEventsResult ¶
type ListDatasetEventsResult struct {
// Events Oldest first
Events []DatasetEvent `json:"events"`
}
ListDatasetEventsResult defines model for ListDatasetEventsResult.
type ListDatasetGrantsResult ¶
type ListDatasetGrantsResult struct {
Grants []DatasetGrant `json:"grants"`
}
ListDatasetGrantsResult defines model for ListDatasetGrantsResult.
type ListInvitationsResult ¶
type ListInvitationsResult struct {
Invitations []Invitation `json:"invitations"`
}
ListInvitationsResult defines model for ListInvitationsResult.
type ListMembersResult ¶
type ListMembersResult struct {
Members []MemberProfile `json:"members"`
}
ListMembersResult defines model for ListMembersResult.
type ListProjectDatasetsResult ¶
type ListProjectDatasetsResult struct {
Datasets []ProjectDataset `json:"datasets"`
}
ListProjectDatasetsResult defines model for ListProjectDatasetsResult.
type ListProjectsResult ¶
type ListProjectsResult struct {
Projects []Project `json:"projects"`
}
ListProjectsResult defines model for ListProjectsResult.
type MemberProfile ¶
type MemberProfile struct {
// Capabilities Granted capabilities on the object (project or account grants)
Capabilities []string `json:"capabilities"`
// DisplayName Display name (empty if not available)
DisplayName string `json:"display_name"`
// Email Email (empty if not available or service principal)
Email string `json:"email"`
// Kind user | service
Kind string `json:"kind"`
// UserId Principal URN
UserId string `json:"user_id"`
}
MemberProfile defines model for MemberProfile.
type NotFoundT ¶
type NotFoundT struct {
// Id Resource identifier
Id *string `json:"id,omitempty"`
// Message Error message
Message string `json:"message"`
}
NotFoundT not found
type Project ¶
type Project struct {
// AccountId Owning account URN
AccountId string `json:"account_id"`
// Id Project URN
Id string `json:"id"`
// Kind personal | workspace
Kind string `json:"kind"`
// Name Display name
Name string `json:"name"`
// OwnerUserId Owner user URN (record of provenance)
OwnerUserId string `json:"owner_user_id"`
// ParentId Parent project URN, if any
ParentId *string `json:"parent_id,omitempty"`
}
Project defines model for Project.
type ProjectDataset ¶
type ProjectDataset struct {
// Access Access granted to the project: read, write
Access []string `json:"access"`
// Capability Datafabric capability for this dataset's data, as a decimal uint64; pass it as can-read and can-retract
Capability string `json:"capability"`
// CreatedAt Creation time
CreatedAt time.Time `json:"created_at"`
// CreatedBy Creator URN (user or principal); absent if created by the platform
CreatedBy *string `json:"created_by,omitempty"`
// Default Whether this is the owning project's default dataset (same id as the project)
Default bool `json:"default"`
// Description Description
Description string `json:"description"`
// Id Dataset URN
Id string `json:"id"`
// Name Display name
Name string `json:"name"`
// Owned Whether the project owns the dataset
Owned bool `json:"owned"`
// ProjectId Owning project URN. The owner manages the dataset; access is by grant.
ProjectId string `json:"project_id"`
}
ProjectDataset defines model for ProjectDataset.
type UnauthorizedT ¶
type UnauthorizedT struct {
Message string `json:"message"`
}
UnauthorizedT not authorized
type UpdateDatasetPayload ¶
type UpdateDatasetPayload struct {
// Description New description
Description *string `json:"description,omitempty"`
// Name New display name
Name *string `json:"name,omitempty"`
}
UpdateDatasetPayload Request body for update-dataset.
type UpdateProjectPayload ¶
type UpdateProjectPayload struct {
// Name New display name
Name string `json:"name"`
}
UpdateProjectPayload Request body for update-project.