api

package
v0.0.0-...-fb7f86c Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2023 License: AGPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ServiceID = "sa"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateServiceAccountParams

type CreateServiceAccountParams struct {
	//in:body
	Body serviceaccounts.CreateServiceAccountForm
}

swagger:parameters createServiceAccount

type CreateServiceAccountResponse

type CreateServiceAccountResponse struct {
	// in:body
	Body *serviceaccounts.ServiceAccountDTO
}

swagger:response createServiceAccountResponse

type CreateTokenParams

type CreateTokenParams struct {
	// in:path
	ServiceAccountId int64 `json:"serviceAccountId"`
	// in:body
	Body serviceaccounts.AddServiceAccountTokenCommand
}

swagger:parameters createToken

type CreateTokenResponse

type CreateTokenResponse struct {
	// in:body
	Body *dtos.NewApiKeyResult
}

swagger:response createTokenResponse

type DeleteServiceAccountParams

type DeleteServiceAccountParams struct {
	// in:path
	ServiceAccountId int64 `json:"serviceAccountId"`
}

swagger:parameters deleteServiceAccount

type DeleteTokenParams

type DeleteTokenParams struct {
	// in:path
	TokenId int64 `json:"tokenId"`
	// in:path
	ServiceAccountId int64 `json:"serviceAccountId"`
}

swagger:parameters deleteToken

type ListTokensParams

type ListTokensParams struct {
	// in:path
	ServiceAccountId int64 `json:"serviceAccountId"`
}

swagger:parameters listTokens

type ListTokensResponse

type ListTokensResponse struct {
	// in:body
	Body *TokenDTO
}

swagger:response listTokensResponse

type RetrieveServiceAccountParams

type RetrieveServiceAccountParams struct {
	// in:path
	ServiceAccountId int64 `json:"serviceAccountId"`
}

swagger:parameters retrieveServiceAccount

type RetrieveServiceAccountResponse

type RetrieveServiceAccountResponse struct {
	// in:body
	Body *serviceaccounts.ServiceAccountDTO
}

swagger:response retrieveServiceAccountResponse

type SearchOrgServiceAccountsWithPagingParams

type SearchOrgServiceAccountsWithPagingParams struct {
	// in:query
	// required:false
	Disabled bool `jsson:"disabled"`
	// in:query
	// required:false
	ExpiredTokens bool `json:"expiredTokens"`
	// It will return results where the query value is contained in one of the name.
	// Query values with spaces need to be URL encoded.
	// in:query
	// required:false
	Query string `json:"query"`
	// The default value is 1000.
	// in:query
	// required:false
	PerPage int `json:"perpage"`
	// The default value is 1.
	// in:query
	// required:false
	Page int `json:"page"`
}

swagger:parameters searchOrgServiceAccountsWithPaging

type SearchOrgServiceAccountsWithPagingResponse

type SearchOrgServiceAccountsWithPagingResponse struct {
	// in:body
	Body *serviceaccounts.SearchOrgServiceAccountsResult
}

swagger:response searchOrgServiceAccountsWithPagingResponse

type ServiceAccountsAPI

type ServiceAccountsAPI struct {
	RouterRegister routing.RouteRegister
	// contains filtered or unexported fields
}

func NewServiceAccountsAPI

func NewServiceAccountsAPI(
	cfg *setting.Cfg,
	service service,
	accesscontrol accesscontrol.AccessControl,
	accesscontrolService accesscontrol.Service,
	routerRegister routing.RouteRegister,
	permissionService accesscontrol.ServiceAccountPermissionsService,
) *ServiceAccountsAPI

func (*ServiceAccountsAPI) ConvertToServiceAccount

func (api *ServiceAccountsAPI) ConvertToServiceAccount(ctx *contextmodel.ReqContext) response.Response

POST /api/serviceaccounts/migrate/:keyId

func (*ServiceAccountsAPI) CreateServiceAccount

func (api *ServiceAccountsAPI) CreateServiceAccount(c *contextmodel.ReqContext) response.Response

swagger:route POST /serviceaccounts service_accounts createServiceAccount

Create service account

Required permissions (See note in the [introduction](https://grafana.com/docs/grafana/latest/developers/http_api/serviceaccount/#service-account-api) for an explanation): action: `serviceaccounts:write` scope: `serviceaccounts:*`

Requires basic authentication and that the authenticated user is a Grafana Admin.

Responses: 201: createServiceAccountResponse 400: badRequestError 401: unauthorisedError 403: forbiddenError 500: internalServerError

func (*ServiceAccountsAPI) CreateToken

swagger:route POST /serviceaccounts/{serviceAccountId}/tokens service_accounts createToken

CreateNewToken adds a token to a service account

Required permissions (See note in the [introduction](https://grafana.com/docs/grafana/latest/developers/http_api/serviceaccount/#service-account-api) for an explanation): action: `serviceaccounts:write` scope: `serviceaccounts:id:1` (single service account)

Responses: 200: createTokenResponse 400: badRequestError 401: unauthorisedError 403: forbiddenError 404: notFoundError 409: conflictError 500: internalServerError

func (*ServiceAccountsAPI) DeleteServiceAccount

func (api *ServiceAccountsAPI) DeleteServiceAccount(ctx *contextmodel.ReqContext) response.Response

swagger:route DELETE /serviceaccounts/{serviceAccountId} service_accounts deleteServiceAccount

Delete service account

Required permissions (See note in the [introduction](https://grafana.com/docs/grafana/latest/developers/http_api/serviceaccount/#service-account-api) for an explanation): action: `serviceaccounts:delete` scope: `serviceaccounts:id:1` (single service account)

Responses: 200: okResponse 400: badRequestError 401: unauthorisedError 403: forbiddenError 500: internalServerError

func (*ServiceAccountsAPI) DeleteToken

swagger:route DELETE /serviceaccounts/{serviceAccountId}/tokens/{tokenId} service_accounts deleteToken

DeleteToken deletes service account tokens

Required permissions (See note in the [introduction](https://grafana.com/docs/grafana/latest/developers/http_api/serviceaccount/#service-account-api) for an explanation): action: `serviceaccounts:write` scope: `serviceaccounts:id:1` (single service account)

Requires basic authentication and that the authenticated user is a Grafana Admin.

Responses: 200: okResponse 400: badRequestError 401: unauthorisedError 403: forbiddenError 404: notFoundError 500: internalServerError

func (*ServiceAccountsAPI) ListTokens

swagger:route GET /serviceaccounts/{serviceAccountId}/tokens service_accounts listTokens

Get service account tokens

Required permissions (See note in the [introduction](https://grafana.com/docs/grafana/latest/developers/http_api/serviceaccount/#service-account-api) for an explanation): action: `serviceaccounts:read` scope: `global:serviceaccounts:id:1` (single service account)

Requires basic authentication and that the authenticated user is a Grafana Admin.

Responses: 200: listTokensResponse 400: badRequestError 401: unauthorisedError 403: forbiddenError 500: internalServerError

func (*ServiceAccountsAPI) MigrateApiKeysToServiceAccounts

func (api *ServiceAccountsAPI) MigrateApiKeysToServiceAccounts(ctx *contextmodel.ReqContext) response.Response

POST /api/serviceaccounts/migrate

func (*ServiceAccountsAPI) RegisterAPIEndpoints

func (api *ServiceAccountsAPI) RegisterAPIEndpoints()

func (*ServiceAccountsAPI) RetrieveServiceAccount

func (api *ServiceAccountsAPI) RetrieveServiceAccount(ctx *contextmodel.ReqContext) response.Response

swagger:route GET /serviceaccounts/{serviceAccountId} service_accounts retrieveServiceAccount

Get single serviceaccount by Id

Required permissions (See note in the [introduction](https://grafana.com/docs/grafana/latest/developers/http_api/serviceaccount/#service-account-api) for an explanation): action: `serviceaccounts:read` scope: `serviceaccounts:id:1` (single service account)

Responses: 200: retrieveServiceAccountResponse 400: badRequestError 401: unauthorisedError 403: forbiddenError 404: notFoundError 500: internalServerError

func (*ServiceAccountsAPI) SearchOrgServiceAccountsWithPaging

func (api *ServiceAccountsAPI) SearchOrgServiceAccountsWithPaging(c *contextmodel.ReqContext) response.Response

swagger:route GET /serviceaccounts/search service_accounts searchOrgServiceAccountsWithPaging

Search service accounts with paging

Required permissions (See note in the [introduction](https://grafana.com/docs/grafana/latest/developers/http_api/serviceaccount/#service-account-api) for an explanation): action: `serviceaccounts:read` scope: `serviceaccounts:*`

Responses: 200: searchOrgServiceAccountsWithPagingResponse 401: unauthorisedError 403: forbiddenError 500: internalServerError

func (*ServiceAccountsAPI) UpdateServiceAccount

func (api *ServiceAccountsAPI) UpdateServiceAccount(c *contextmodel.ReqContext) response.Response

swagger:route PATCH /serviceaccounts/{serviceAccountId} service_accounts updateServiceAccount

Update service account

Required permissions (See note in the [introduction](https://grafana.com/docs/grafana/latest/developers/http_api/serviceaccount/#service-account-api) for an explanation): action: `serviceaccounts:write` scope: `serviceaccounts:id:1` (single service account)

Responses: 200: updateServiceAccountResponse 400: badRequestError 401: unauthorisedError 403: forbiddenError 404: notFoundError 500: internalServerError

type TokenDTO

type TokenDTO struct {
	// example: 1
	Id int64 `json:"id"`
	// example: grafana
	Name string `json:"name"`
	// example: 2022-03-23T10:31:02Z
	Created *time.Time `json:"created"`
	// example: 2022-03-23T10:31:02Z
	LastUsedAt *time.Time `json:"lastUsedAt"`
	// example: 2022-03-23T10:31:02Z
	Expiration *time.Time `json:"expiration"`
	// example: 0
	SecondsUntilExpiration *float64 `json:"secondsUntilExpiration"`
	// example: false
	HasExpired bool `json:"hasExpired"`
	// example: false
	IsRevoked *bool `json:"isRevoked"`
}

swagger:model

type UpdateServiceAccountParams

type UpdateServiceAccountParams struct {
	// in:path
	ServiceAccountId int64 `json:"serviceAccountId"`
	// in:body
	Body serviceaccounts.UpdateServiceAccountForm
}

swagger:parameters updateServiceAccount

type UpdateServiceAccountResponse

type UpdateServiceAccountResponse struct {
	// in:body
	Body struct {
		Message        string                                    `json:"message"`
		ID             int64                                     `json:"id"`
		Name           string                                    `json:"name"`
		ServiceAccount *serviceaccounts.ServiceAccountProfileDTO `json:"serviceaccount"`
	}
}

swagger:response updateServiceAccountResponse

Jump to

Keyboard shortcuts

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