utils

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Jun 11, 2021 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var PermissionTypeValues = permissionTypeValuesType{
	Deny:   "deny",
	Allow:  "allow",
	NotSet: "notset",
}

PermissionTypeValues valid permission action values

View Source
var SecurityNamespaceIDValues = securityNamespaceIDValuesType{
	Analytics:                      SecurityNamespaceID(uuid.MustParse("58450c49-b02d-465a-ab12-59ae512d6531")),
	AnalyticsViews:                 SecurityNamespaceID(uuid.MustParse("d34d3680-dfe5-4cc6-a949-7d9c68f73cba")),
	ReleaseManagement:              SecurityNamespaceID(uuid.MustParse("7c7d32f7-0e86-4cd6-892e-b35dbba870bd")),
	ReleaseManagement2:             SecurityNamespaceID(uuid.MustParse("c788c23e-1b46-4162-8f5e-d7585343b5de")),
	AuditLog:                       SecurityNamespaceID(uuid.MustParse("a6cc6381-a1ca-4b36-b3c1-4e65211e82b6")),
	Identity:                       SecurityNamespaceID(uuid.MustParse("5a27515b-ccd7-42c9-84f1-54c998f03866")),
	WorkItemTrackingAdministration: SecurityNamespaceID(uuid.MustParse("445d2788-c5fb-4132-bbef-09c4045ad93f")),
	DistributedTask:                SecurityNamespaceID(uuid.MustParse("101eae8c-1709-47f9-b228-0e476c35b3ba")),
	GitRepositories:                SecurityNamespaceID(uuid.MustParse("2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87")),
	VersionControlItems2:           SecurityNamespaceID(uuid.MustParse("3c15a8b7-af1a-45c2-aa97-2cb97078332e")),
	EventSubscriber:                SecurityNamespaceID(uuid.MustParse("2bf24a2b-70ba-43d3-ad97-3d9e1f75622f")),
	WorkItemTrackingProvision:      SecurityNamespaceID(uuid.MustParse("5a6cd233-6615-414d-9393-48dbb252bd23")),
	ServiceEndpoints:               SecurityNamespaceID(uuid.MustParse("49b48001-ca20-4adc-8111-5b60c903a50c")),
	ServiceHooks:                   SecurityNamespaceID(uuid.MustParse("cb594ebe-87dd-4fc9-ac2c-6a10a4c92046")),
	Collection:                     SecurityNamespaceID(uuid.MustParse("3e65f728-f8bc-4ecd-8764-7e378b19bfa7")),
	Proxy:                          SecurityNamespaceID(uuid.MustParse("cb4d56d2-e84b-457e-8845-81320a133fbb")),
	Plan:                           SecurityNamespaceID(uuid.MustParse("bed337f8-e5f3-4fb9-80da-81e17d06e7a8")),
	Process:                        SecurityNamespaceID(uuid.MustParse("2dab47f9-bd70-49ed-9bd5-8eb051e59c02")),
	AccountAdminSecurity:           SecurityNamespaceID(uuid.MustParse("11238e09-49f2-40c7-94d0-8f0307204ce4")),
	Library:                        SecurityNamespaceID(uuid.MustParse("b7e84409-6553-448a-bbb2-af228e07cbeb")),
	Environment:                    SecurityNamespaceID(uuid.MustParse("83d4c2e6-e57d-4d6e-892b-b87222b7ad20")),
	Project:                        SecurityNamespaceID(uuid.MustParse("52d39943-cb85-4d7f-8fa8-c6baac873819")),
	EventSubscription:              SecurityNamespaceID(uuid.MustParse("58b176e7-3411-457a-89d0-c6d0ccb3c52b")),
	CSS:                            SecurityNamespaceID(uuid.MustParse("83e28ad4-2d72-4ceb-97b0-c7726d5502c3")),
	TeamLabSecurity:                SecurityNamespaceID(uuid.MustParse("9e4894c3-ff9a-4eac-8a85-ce11cafdc6f1")),
	ProjectAnalysisLanguageMetrics: SecurityNamespaceID(uuid.MustParse("fc5b7b85-5d6b-41eb-8534-e128cb10eb67")),
	Tagging:                        SecurityNamespaceID(uuid.MustParse("bb50f182-8e5e-40b8-bc21-e8752a1e7ae2")),
	MetaTask:                       SecurityNamespaceID(uuid.MustParse("f6a4de49-dbe2-4704-86dc-f8ec1a294436")),
	Iteration:                      SecurityNamespaceID(uuid.MustParse("bf7bfa03-b2b7-47db-8113-fa2e002cc5b1")),
	WorkItemQueryFolders:           SecurityNamespaceID(uuid.MustParse("71356614-aad7-4757-8f2c-0fb3bff6f680")),
	Favorites:                      SecurityNamespaceID(uuid.MustParse("fa557b48-b5bf-458a-bb2b-1b680426fe8b")),
	Registry:                       SecurityNamespaceID(uuid.MustParse("4ae0db5d-8437-4ee8-a18b-1f6fb38bd34c")),
	Graph:                          SecurityNamespaceID(uuid.MustParse("c2ee56c9-e8fa-4cdd-9d48-2c44f697a58e")),
	ViewActivityPaneSecurity:       SecurityNamespaceID(uuid.MustParse("dc02bf3d-cd48-46c3-8a41-345094ecc94b")),
	Job:                            SecurityNamespaceID(uuid.MustParse("2a887f97-db68-4b7c-9ae3-5cebd7add999")),
	WorkItemTracking:               SecurityNamespaceID(uuid.MustParse("73e71c45-d483-40d5-bdba-62fd076f7f87")),
	StrongBox:                      SecurityNamespaceID(uuid.MustParse("4a9e8381-289a-4dfd-8460-69028eaa93b3")),
	Server:                         SecurityNamespaceID(uuid.MustParse("1f4179b3-6bac-4d01-b421-71ea09171400")),
	TestManagement:                 SecurityNamespaceID(uuid.MustParse("e06e1c24-e93d-4e4a-908a-7d951187b483")),
	SettingEntries:                 SecurityNamespaceID(uuid.MustParse("6ec4592e-048c-434e-8e6c-8671753a8418")),
	BuildAdministration:            SecurityNamespaceID(uuid.MustParse("302acaca-b667-436d-a946-87133492041c")),
	Location:                       SecurityNamespaceID(uuid.MustParse("2725d2bc-7520-4af4-b0e3-8d876494731f")),
	Boards:                         SecurityNamespaceID(uuid.MustParse("251e12d9-bea3-43a8-bfdb-901b98c0125e")),
	UtilizationPermissions:         SecurityNamespaceID(uuid.MustParse("83abde3a-4593-424e-b45f-9898af99034d")),
	WorkItemsHub:                   SecurityNamespaceID(uuid.MustParse("c0e7a722-1cad-4ae6-b340-a8467501e7ce")),
	WebPlatform:                    SecurityNamespaceID(uuid.MustParse("0582eb05-c896-449a-b933-aa3d99e121d6")),
	VersionControlPrivileges:       SecurityNamespaceID(uuid.MustParse("66312704-deb5-43f9-b51c-ab4ff5e351c3")),
	Workspaces:                     SecurityNamespaceID(uuid.MustParse("93bafc04-9075-403a-9367-b7164eac6b5c")),
	CrossProjectWidgetView:         SecurityNamespaceID(uuid.MustParse("093cbb02-722b-4ad6-9f88-bc452043fa63")),
	WorkItemTrackingConfiguration:  SecurityNamespaceID(uuid.MustParse("35e35e8e-686d-4b01-aff6-c369d6e36ce0")),
	DiscussionThreads:              SecurityNamespaceID(uuid.MustParse("0d140cae-8ac1-4f48-b6d1-c93ce0301a12")),
	BoardsExternalIntegration:      SecurityNamespaceID(uuid.MustParse("5ab15bc8-4ea1-d0f3-8344-cab8fe976877")),
	DataProvider:                   SecurityNamespaceID(uuid.MustParse("7ffa7cf4-317c-4fea-8f1d-cfda50cfa956")),
	Social:                         SecurityNamespaceID(uuid.MustParse("81c27cc8-7a9f-48ee-b63f-df1e1d0412dd")),
	Security:                       SecurityNamespaceID(uuid.MustParse("9a82c708-bfbe-4f31-984c-e860c2196781")),
	IdentityPicker:                 SecurityNamespaceID(uuid.MustParse("a60e0d84-c2f8-48e4-9c0c-f32da48d5fd1")),
	ServicingOrchestration:         SecurityNamespaceID(uuid.MustParse("84cc1aa4-15bc-423d-90d9-f97c450fc729")),
	Build:                          SecurityNamespaceID(uuid.MustParse("33344d9c-fc72-4d6f-aba5-fa317101a7e9")),
	DashboardsPrivileges:           SecurityNamespaceID(uuid.MustParse("8adf73b7-389a-4276-b638-fe1653f7efc7")),
	VersionControlItems:            SecurityNamespaceID(uuid.MustParse("a39371cf-0841-4c16-bbd3-276e341bc052")),
}

SecurityNamespaceIDValues contains all available security namespaces

Functions

func CreateClassificationNodeSecurityToken

func CreateClassificationNodeSecurityToken(context context.Context, workItemTrackingClient workitemtracking.Client, structureGroup workitemtracking.TreeStructureGroup, projectID string, path string) (string, error)

CreateClassificationNodeSecurityToken create security namespace token for iterations and areas

func CreatePermissionResourceSchema

func CreatePermissionResourceSchema(outer map[string]*schema.Schema) map[string]*schema.Schema

CreatePermissionResourceSchema creates a resources schema for a Terraform permission resource

func SetPrincipalPermissions

func SetPrincipalPermissions(d *schema.ResourceData, sn *SecurityNamespace, forcePermission *PermissionType, forceReplace bool) error

SetPrincipalPermissions sets permissions for a specific security namespac

Types

type ActionName

type ActionName string

ActionName type for an permission actions

type PermissionType

type PermissionType string

PermissionType type for a single permission

type PrincipalPermission

type PrincipalPermission struct {
	SubjectDescriptor string
	Permissions       map[ActionName]PermissionType
}

PrincipalPermission describes permissions of a principal

func GetPrincipalPermissions

func GetPrincipalPermissions(d *schema.ResourceData, sn *SecurityNamespace) (*PrincipalPermission, error)

GetPrincipalPermissions gets permissions for a specific security namespac

type SecurityNamespace

type SecurityNamespace struct {
	// contains filtered or unexported fields
}

SecurityNamespace an Azure DevOps Security Namespace

func NewSecurityNamespace

func NewSecurityNamespace(d *schema.ResourceData, clients *client.AggregatedClient, namespaceID SecurityNamespaceID, tokenCreator TokenCreatorFunc) (*SecurityNamespace, error)

NewSecurityNamespace Creates a new instance of a security namespace

func (*SecurityNamespace) GetPrincipalPermissions

func (sn *SecurityNamespace) GetPrincipalPermissions(principal *[]string) (*[]PrincipalPermission, error)

GetPrincipalPermissions returns an array of PrincipalPermission for a Security Namespace token an a list of principals

func (*SecurityNamespace) GetToken

func (sn *SecurityNamespace) GetToken() string

GetToken return namespace tokens

func (*SecurityNamespace) RemovePrincipalPermissions

func (sn *SecurityNamespace) RemovePrincipalPermissions(principal *[]string) error

RemovePrincipalPermissions removes all permissions for given principals and a Security Namespace token

func (*SecurityNamespace) SetPrincipalPermissions

func (sn *SecurityNamespace) SetPrincipalPermissions(permissionList *[]SetPrincipalPermission) error

SetPrincipalPermissions sets ACLs for specifc token inside a security namespace

type SecurityNamespaceID

type SecurityNamespaceID uuid.UUID

SecurityNamespaceID the type of a security namespace id

type SetPrincipalPermission

type SetPrincipalPermission struct {
	Replace             bool
	PrincipalPermission PrincipalPermission
}

SetPrincipalPermission sets permissions for a principal

type TokenCreatorFunc

type TokenCreatorFunc func(d *schema.ResourceData, clients *client.AggregatedClient) (string, error)

TokenCreatorFunc signature for creating namespace tokens

Jump to

Keyboard shortcuts

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