Documentation
¶
Index ¶
- Variables
- type AuditActionCategory
- type AuditActionInfo
- type AuditLogQueryResult
- type AuditStream
- type AuditStreamStatus
- type Client
- type ClientImpl
- func (client *ClientImpl) CreateStream(ctx context.Context, args CreateStreamArgs) (*AuditStream, error)
- func (client *ClientImpl) DeleteStream(ctx context.Context, args DeleteStreamArgs) error
- func (client *ClientImpl) DownloadLog(ctx context.Context, args DownloadLogArgs) (io.ReadCloser, error)
- func (client *ClientImpl) GetActions(ctx context.Context, args GetActionsArgs) (*[]AuditActionInfo, error)
- func (client *ClientImpl) QueryAllStreams(ctx context.Context, args QueryAllStreamsArgs) (*[]AuditStream, error)
- func (client *ClientImpl) QueryLog(ctx context.Context, args QueryLogArgs) (*AuditLogQueryResult, error)
- func (client *ClientImpl) QueryStreamById(ctx context.Context, args QueryStreamByIdArgs) (*AuditStream, error)
- func (client *ClientImpl) UpdateStatus(ctx context.Context, args UpdateStatusArgs) (*AuditStream, error)
- func (client *ClientImpl) UpdateStream(ctx context.Context, args UpdateStreamArgs) (*AuditStream, error)
- type CreateStreamArgs
- type DecoratedAuditLogEntry
- type DeleteStreamArgs
- type DownloadLogArgs
- type GetActionsArgs
- type QueryAllStreamsArgs
- type QueryLogArgs
- type QueryStreamByIdArgs
- type UpdateStatusArgs
- type UpdateStreamArgs
Constants ¶
This section is empty.
Variables ¶
var AuditActionCategoryValues = auditActionCategoryValuesType{
Unknown: "unknown",
Modify: "modify",
Remove: "remove",
Create: "create",
Access: "access",
Execute: "execute",
}
var AuditStreamStatusValues = auditStreamStatusValuesType{
Unknown: "unknown",
Enabled: "enabled",
DisabledByUser: "disabledByUser",
DisabledBySystem: "disabledBySystem",
Deleted: "deleted",
Backfilling: "backfilling",
}
var ResourceAreaId, _ = uuid.Parse("94ff054d-5ee1-413d-9341-3f4a7827de2e")
Functions ¶
This section is empty.
Types ¶
type AuditActionCategory ¶
type AuditActionCategory string
Defines all the categories an AuditAction can be
type AuditActionInfo ¶
type AuditActionInfo struct {
// The action id for the event, i.e Git.CreateRepo, Project.RenameProject
ActionId *string `json:"actionId,omitempty"`
// Area of Azure DevOps the action occurred
Area *string `json:"area,omitempty"`
// Type of action executed
Category *AuditActionCategory `json:"category,omitempty"`
}
type AuditLogQueryResult ¶
type AuditLogQueryResult struct {
// The continuation token to pass to get the next set of results
ContinuationToken *string `json:"continuationToken,omitempty"`
// The list of audit log entries
DecoratedAuditLogEntries *[]DecoratedAuditLogEntry `json:"decoratedAuditLogEntries,omitempty"`
// True when there are more matching results to be fetched, false otherwise.
HasMore *bool `json:"hasMore,omitempty"`
}
The object returned when the audit log is queried. It contains the log and the information needed to query more audit entries.
type AuditStream ¶
type AuditStream struct {
// Inputs used to communicate with external service. Inputs could be url, a connection string, a token, etc.
ConsumerInputs *map[string]string `json:"consumerInputs,omitempty"`
// Type of the consumer, i.e. splunk, azureEventHub, etc.
ConsumerType *string `json:"consumerType,omitempty"`
// The time when the stream was created
CreatedTime *azuredevops.Time `json:"createdTime,omitempty"`
// Used to identify individual streams
DisplayName *string `json:"displayName,omitempty"`
// Unique stream identifier
Id *int `json:"id,omitempty"`
// Status of the stream, Enabled, Disabled
Status *AuditStreamStatus `json:"status,omitempty"`
// Reason for the current stream status, i.e. Disabled by the system, Invalid credentials, etc.
StatusReason *string `json:"statusReason,omitempty"`
// The time when the stream was last updated
UpdatedTime *azuredevops.Time `json:"updatedTime,omitempty"`
}
This class represents an audit stream
type Client ¶
type Client interface {
// [Preview API] Create new Audit Stream
CreateStream(context.Context, CreateStreamArgs) (*AuditStream, error)
// [Preview API] Delete Audit Stream
DeleteStream(context.Context, DeleteStreamArgs) error
// [Preview API] Downloads audit log entries.
DownloadLog(context.Context, DownloadLogArgs) (io.ReadCloser, error)
// [Preview API] Get all auditable actions filterable by area.
GetActions(context.Context, GetActionsArgs) (*[]AuditActionInfo, error)
// [Preview API] Return all Audit Streams scoped to an organization
QueryAllStreams(context.Context, QueryAllStreamsArgs) (*[]AuditStream, error)
// [Preview API] Queries audit log entries
QueryLog(context.Context, QueryLogArgs) (*AuditLogQueryResult, error)
// [Preview API] Return Audit Stream with id of streamId if one exists otherwise throw
QueryStreamById(context.Context, QueryStreamByIdArgs) (*AuditStream, error)
// [Preview API] Update existing Audit Stream status
UpdateStatus(context.Context, UpdateStatusArgs) (*AuditStream, error)
// [Preview API] Update existing Audit Stream
UpdateStream(context.Context, UpdateStreamArgs) (*AuditStream, error)
}
type ClientImpl ¶
type ClientImpl struct {
Client azuredevops.Client
}
func (*ClientImpl) CreateStream ¶
func (client *ClientImpl) CreateStream(ctx context.Context, args CreateStreamArgs) (*AuditStream, error)
[Preview API] Create new Audit Stream
func (*ClientImpl) DeleteStream ¶
func (client *ClientImpl) DeleteStream(ctx context.Context, args DeleteStreamArgs) error
[Preview API] Delete Audit Stream
func (*ClientImpl) DownloadLog ¶
func (client *ClientImpl) DownloadLog(ctx context.Context, args DownloadLogArgs) (io.ReadCloser, error)
[Preview API] Downloads audit log entries.
func (*ClientImpl) GetActions ¶
func (client *ClientImpl) GetActions(ctx context.Context, args GetActionsArgs) (*[]AuditActionInfo, error)
[Preview API] Get all auditable actions filterable by area.
func (*ClientImpl) QueryAllStreams ¶
func (client *ClientImpl) QueryAllStreams(ctx context.Context, args QueryAllStreamsArgs) (*[]AuditStream, error)
[Preview API] Return all Audit Streams scoped to an organization
func (*ClientImpl) QueryLog ¶
func (client *ClientImpl) QueryLog(ctx context.Context, args QueryLogArgs) (*AuditLogQueryResult, error)
[Preview API] Queries audit log entries
func (*ClientImpl) QueryStreamById ¶
func (client *ClientImpl) QueryStreamById(ctx context.Context, args QueryStreamByIdArgs) (*AuditStream, error)
[Preview API] Return Audit Stream with id of streamId if one exists otherwise throw
func (*ClientImpl) UpdateStatus ¶
func (client *ClientImpl) UpdateStatus(ctx context.Context, args UpdateStatusArgs) (*AuditStream, error)
[Preview API] Update existing Audit Stream status
func (*ClientImpl) UpdateStream ¶
func (client *ClientImpl) UpdateStream(ctx context.Context, args UpdateStreamArgs) (*AuditStream, error)
[Preview API] Update existing Audit Stream
type CreateStreamArgs ¶
type CreateStreamArgs struct {
// (required) Stream entry
Stream *AuditStream
// (required) The number of days of previously recorded audit data that will be replayed into the stream. A value of zero will result in only new events being streamed.
DaysToBackfill *int
}
Arguments for the CreateStream function
type DecoratedAuditLogEntry ¶
type DecoratedAuditLogEntry struct {
// The action id for the event, i.e Git.CreateRepo, Project.RenameProject
ActionId *string `json:"actionId,omitempty"`
// ActivityId
ActivityId *uuid.UUID `json:"activityId,omitempty"`
// The Actor's Client Id (if actor is a service principal)
ActorClientId *uuid.UUID `json:"actorClientId,omitempty"`
// The Actor's CUID
ActorCUID *uuid.UUID `json:"actorCUID,omitempty"`
// DisplayName of the user who initiated the action
ActorDisplayName *string `json:"actorDisplayName,omitempty"`
// URL of Actor's Profile image
ActorImageUrl *string `json:"actorImageUrl,omitempty"`
// The Actor's UPN
ActorUPN *string `json:"actorUPN,omitempty"`
// The Actor's User Id (if actor is a user)
ActorUserId *uuid.UUID `json:"actorUserId,omitempty"`
// Area of Azure DevOps the action occurred
Area *string `json:"area,omitempty"`
// Type of authentication used by the actor
AuthenticationMechanism *string `json:"authenticationMechanism,omitempty"`
// Type of action executed
Category *AuditActionCategory `json:"category,omitempty"`
// DisplayName of the category
CategoryDisplayName *string `json:"categoryDisplayName,omitempty"`
// This allows related audit entries to be grouped together. Generally this occurs when a single action causes a cascade of audit entries. For example, project creation.
CorrelationId *uuid.UUID `json:"correlationId,omitempty"`
// External data such as CUIDs, item names, etc.
Data *map[string]interface{} `json:"data,omitempty"`
// Decorated details
Details *string `json:"details,omitempty"`
// EventId - Needs to be unique per service
Id *string `json:"id,omitempty"`
// IP Address where the event was originated
IpAddress *string `json:"ipAddress,omitempty"`
// When specified, the id of the project this event is associated to
ProjectId *uuid.UUID `json:"projectId,omitempty"`
// When specified, the name of the project this event is associated to
ProjectName *string `json:"projectName,omitempty"`
// DisplayName of the scope
ScopeDisplayName *string `json:"scopeDisplayName,omitempty"`
// The organization Id (Organization is the only scope currently supported)
ScopeId *uuid.UUID `json:"scopeId,omitempty"`
// The type of the scope (Organization is only scope currently supported)
ScopeType *string `json:"scopeType,omitempty"`
// The time when the event occurred in UTC
Timestamp *azuredevops.Time `json:"timestamp,omitempty"`
// The user agent from the request
UserAgent *string `json:"userAgent,omitempty"`
}
type DeleteStreamArgs ¶
type DeleteStreamArgs struct {
// (required) Id of stream entry to delete
StreamId *int
}
Arguments for the DeleteStream function
type DownloadLogArgs ¶
type DownloadLogArgs struct {
// (required) File format for download. Can be "json" or "csv".
Format *string
// (optional) Start time of download window. Optional
StartTime *azuredevops.Time
// (optional) End time of download window. Optional
EndTime *azuredevops.Time
}
Arguments for the DownloadLog function
type GetActionsArgs ¶
type GetActionsArgs struct {
// (optional) Optional. Get actions scoped to area
AreaName *string
}
Arguments for the GetActions function
type QueryAllStreamsArgs ¶
type QueryAllStreamsArgs struct {
}
Arguments for the QueryAllStreams function
type QueryLogArgs ¶
type QueryLogArgs struct {
// (optional) Start time of download window. Optional
StartTime *azuredevops.Time
// (optional) End time of download window. Optional
EndTime *azuredevops.Time
// (optional) Max number of results to return. Optional
BatchSize *int
// (optional) Token used for returning next set of results from previous query. Optional
ContinuationToken *string
// (optional) Skips aggregating events and leaves them as individual entries instead. By default events are aggregated. Event types that are aggregated: AuditLog.AccessLog.
SkipAggregation *bool
}
Arguments for the QueryLog function
type QueryStreamByIdArgs ¶
type QueryStreamByIdArgs struct {
// (required) Id of stream entry to retrieve
StreamId *int
}
Arguments for the QueryStreamById function
type UpdateStatusArgs ¶
type UpdateStatusArgs struct {
// (required) Id of stream entry to be updated
StreamId *int
// (required) Status of the stream
Status *AuditStreamStatus
}
Arguments for the UpdateStatus function
type UpdateStreamArgs ¶
type UpdateStreamArgs struct {
// (required) Stream entry
Stream *AuditStream
}
Arguments for the UpdateStream function