Documentation
¶
Index ¶
- type AccessRequest
- type ApproverAction
- type CancelAccessRequest
- type DirectorySource
- type Entity
- type FinalizeAccessRequest
- type FormQuestion
- type ListRequestsResponse
- type RequestForm
- type RequestFormEntry
- type RequestFormResponse
- type RequestResult
- type RequestState
- type SubmitAccessRequest
- type Validator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessRequest ¶
type AccessRequest struct {
RequestID string `json:"requestId"`
TargetCategory string `json:"targetCategory"`
RequestState RequestState `json:"requestState"`
RequestResult RequestResult `json:"requestResult"`
RequestLink string `json:"requestLink,omitempty"`
RequestDetails map[string]interface{} `json:"requestDetails,omitempty"`
RequestApprovers []ApproverAction `json:"requestApprovers,omitempty"`
AssignedApprovers []Entity `json:"assignedApprovers,omitempty"`
Requester *Entity `json:"requester,omitempty"`
RequestOutcomes map[string]string `json:"requestOutcomes,omitempty"`
FinalizationReason string `json:"finalizationReason,omitempty"`
CreatedBy string `json:"createdBy"`
CreatedAt string `json:"createdAt"`
UpdatedBy string `json:"updatedBy"`
UpdatedAt string `json:"updatedAt"`
}
AccessRequest represents a single access request from the API.
func (*AccessRequest) DetailString ¶
func (r *AccessRequest) DetailString(key string) string
DetailString returns a human-readable detail from requestDetails for the given key.
type ApproverAction ¶
type ApproverAction struct {
Approver Entity `json:"approver"`
Result RequestResult `json:"result"`
}
ApproverAction represents an action taken by an approver on a request.
type CancelAccessRequest ¶
type CancelAccessRequest struct {
CancelReason *string `json:"cancelReason"`
}
CancelAccessRequest is the request body for canceling an access request.
type DirectorySource ¶
type DirectorySource struct {
DirectoryID string `json:"directoryId"`
DirectoryName string `json:"directoryName"`
DirectoryType string `json:"directoryType,omitempty"`
}
DirectorySource represents the directory source of an entity.
type Entity ¶
type Entity struct {
EntityID string `json:"entityId"`
EntityName string `json:"entityName"`
EntityDisplayName string `json:"entityDisplayName,omitempty"`
EntityEmail string `json:"entityEmail,omitempty"`
EntityDirectorySource *DirectorySource `json:"entityDirectorySource,omitempty"`
}
Entity represents a user or approver identity.
type FinalizeAccessRequest ¶
type FinalizeAccessRequest struct {
Result string `json:"result"`
FinalizationReason *string `json:"finalizationReason,omitempty"`
}
FinalizeAccessRequest is the request body for approving or rejecting an access request.
type FormQuestion ¶
type FormQuestion struct {
Key string `json:"key"`
Required json.RawMessage `json:"required"`
Default interface{} `json:"default,omitempty"`
Title string `json:"title,omitempty"`
Description string `json:"description,omitempty"`
ValueType string `json:"valueType,omitempty"`
ValueChoices []interface{} `json:"valueChoices,omitempty"`
Validators []Validator `json:"validators,omitempty"`
}
FormQuestion represents a single question in a request form.
func (*FormQuestion) IsRequired ¶
func (q *FormQuestion) IsRequired() bool
IsRequired returns true if the question is unconditionally required. Returns false for conditional requirements (which are JSON objects).
type ListRequestsResponse ¶
type ListRequestsResponse struct {
Items []AccessRequest `json:"items"`
Count int `json:"count"`
TotalCount int `json:"totalCount"`
}
ListRequestsResponse represents the paginated response from the list requests endpoint.
type RequestForm ¶
type RequestForm struct {
Questions []FormQuestion `json:"questions"`
}
RequestForm contains the questions that make up an access request form.
type RequestFormEntry ¶
type RequestFormEntry struct {
TargetCategory string `json:"targetCategory"`
RequestType string `json:"requestType"`
RequestForm RequestForm `json:"requestForm"`
}
RequestFormEntry represents a single form entry for a target category and request type.
type RequestFormResponse ¶
type RequestFormResponse struct {
RequestForms []RequestFormEntry `json:"requestForms"`
}
RequestFormResponse wraps the list of request forms returned by the API.
type RequestResult ¶
type RequestResult string
RequestResult represents the outcome of an access request.
const ( RequestResultApproved RequestResult = "APPROVED" RequestResultRejected RequestResult = "REJECTED" RequestResultCanceled RequestResult = "CANCELED" RequestResultFailed RequestResult = "FAILED" RequestResultUnknown RequestResult = "UNKNOWN" )
type RequestState ¶
type RequestState string
RequestState represents the system activity status of an access request.
const ( RequestStateStarting RequestState = "STARTING" RequestStateRunning RequestState = "RUNNING" RequestStatePending RequestState = "PENDING" RequestStateFinished RequestState = "FINISHED" RequestStateExpired RequestState = "EXPIRED" )
type SubmitAccessRequest ¶
type SubmitAccessRequest struct {
TargetCategory string `json:"targetCategory"`
RequestDetails map[string]interface{} `json:"requestDetails"`
}
SubmitAccessRequest is the request body for creating a new access request.
type Validator ¶
type Validator struct {
Name string `json:"name"`
Regex string `json:"regex,omitempty"`
ErrorMessage string `json:"errorMessage,omitempty"`
Format string `json:"format,omitempty"`
MinLength *int `json:"minLength,omitempty"`
MaxLength *int `json:"maxLength,omitempty"`
}
Validator represents a validation rule for a form question.