core

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2024 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ActiveAssignmentsStructLevelValidation

func ActiveAssignmentsStructLevelValidation(sl validator.StructLevel)

func AzureRmConfigStructLevelValidation

func AzureRmConfigStructLevelValidation(sl validator.StructLevel)

func CountUniqueActiveAssignments

func CountUniqueActiveAssignments(activeAssignments []*ActiveAssignment) int

Types

type ActiveAssignment

type ActiveAssignment struct {
	PrincipalName string
	RoleName      string `yaml:"roleName" validate:"required"`
	Scope         string
}

type AzureRmConfig

type AzureRmConfig struct {
	Groups                       []*Principal                   `validate:"dive"` // TODO: Make private
	RoleManagementPolicyRulesets []*RoleManagementPolicyRuleset `validate:"dive"` // TODO: Make private
	Users                        []*Principal                   `validate:"dive"` // TODO: Make private
}

func (*AzureRmConfig) GetGroupActiveAssignments

func (c *AzureRmConfig) GetGroupActiveAssignments(subscriptionId string) []*ActiveAssignment

func (*AzureRmConfig) GetGroupEligibleAssignments

func (c *AzureRmConfig) GetGroupEligibleAssignments(subscriptionId string) []*EligibleAssignment

func (*AzureRmConfig) GetUserActiveAssignments

func (c *AzureRmConfig) GetUserActiveAssignments(subscriptionId string) []*ActiveAssignment

func (*AzureRmConfig) GetUserEligibleAssignments

func (c *AzureRmConfig) GetUserEligibleAssignments(subscriptionId string) []*EligibleAssignment

func (*AzureRmConfig) Validate

func (c *AzureRmConfig) Validate() error

type ConfigurationEmptyError

type ConfigurationEmptyError struct{}

func (*ConfigurationEmptyError) Error

func (m *ConfigurationEmptyError) Error() string

type EligibleAssignment

type EligibleAssignment struct {
	EndDateTime                     *time.Time `yaml:"endDateTime"`
	PrincipalName                   string
	RoleManagementPolicyRulesetName *string `yaml:"roleManagementPolicyRulesetName"`
	RoleName                        string  `yaml:"roleName" validate:"required"`
	Scope                           string
	StartDateTime                   *time.Time `yaml:"startDateTime"`
}

type Principal

type Principal struct {
	Active   *activeAssignments   `yaml:"active"`
	Eligible *eligibleAssignments `yaml:"eligible"`
	Name     string
}

type RoleAssignmentCreate

type RoleAssignmentCreate struct {
	PrincipalName                  string
	PrincipalType                  armauthorization.PrincipalType
	RoleAssignmentCreateParameters *armauthorization.RoleAssignmentCreateParameters
	RoleAssignmentName             string
	RoleName                       string
	Scope                          string
}

type RoleAssignmentDelete

type RoleAssignmentDelete struct {
	PrincipalName    string
	PrincipalType    armauthorization.PrincipalType
	RoleAssignmentID string
	RoleName         string
	Scope            string
}

type RoleEligibilityScheduleCreate

type RoleEligibilityScheduleCreate struct {
	EndDateTime                        *time.Time
	PrincipalName                      string
	PrincipalType                      armauthorization.PrincipalType
	RoleEligibilityScheduleRequest     *armauthorization.RoleEligibilityScheduleRequest
	RoleEligibilityScheduleRequestName string
	RoleName                           string
	Scope                              string
	StartDateTime                      *time.Time
}

type RoleEligibilityScheduleDelete

type RoleEligibilityScheduleDelete struct {
	Cancel                             bool
	EndDateTime                        *time.Time
	PrincipalName                      string
	PrincipalType                      armauthorization.PrincipalType
	RoleEligibilityScheduleRequest     *armauthorization.RoleEligibilityScheduleRequest
	RoleEligibilityScheduleRequestName string
	RoleName                           string
	Scope                              string
	StartDateTime                      *time.Time
}

type RoleEligibilityScheduleUpdate

type RoleEligibilityScheduleUpdate struct {
	EndDateTime                        *time.Time
	PrincipalName                      string
	PrincipalType                      armauthorization.PrincipalType
	RoleEligibilityScheduleRequest     *armauthorization.RoleEligibilityScheduleRequest
	RoleEligibilityScheduleRequestName string
	RoleName                           string
	Scope                              string
	StartDateTime                      *time.Time
}

type RoleManagementPolicyRule

type RoleManagementPolicyRule struct {
	ID    string      `yaml:"id"`
	Patch interface{} `yaml:"patch"`
}

type RoleManagementPolicyRuleset

type RoleManagementPolicyRuleset struct {
	Name  string                      `yaml:"name"`
	Rules []*RoleManagementPolicyRule `yaml:"rules"`
}

type RoleManagementPolicyUpdate

type RoleManagementPolicyUpdate struct {
	RoleManagementPolicy *armauthorization.RoleManagementPolicy
	RoleName             string
	Scope                string
}

Jump to

Keyboard shortcuts

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