api

package
v0.14.1 Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2022 License: MPL-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PasswordLength = 36
)

Variables

This section is empty.

Functions

Types

type AppClient

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

func NewMSGraphApplicationClient

func NewMSGraphApplicationClient(subscriptionId string, userAgentExtension string, graphURI string, auth autorest.Authorizer) (*AppClient, error)

func (*AppClient) AddApplicationPassword

func (c *AppClient) AddApplicationPassword(ctx context.Context, applicationObjectID string, displayName string, endDateTime time.Time) (PasswordCredentialResult, error)

func (AppClient) AddGroupMember

func (c AppClient) AddGroupMember(ctx context.Context, groupObjectID string, memberObjectID string) error

func (*AppClient) AddToUserAgent

func (c *AppClient) AddToUserAgent(extension string) error

func (*AppClient) CreateApplication

func (c *AppClient) CreateApplication(ctx context.Context, displayName string) (ApplicationResult, error)

CreateApplication create a new Azure application object.

func (*AppClient) CreateServicePrincipal

func (c *AppClient) CreateServicePrincipal(ctx context.Context, appID string, startDate time.Time, endDate time.Time) (string, string, error)

func (*AppClient) DeleteApplication

func (c *AppClient) DeleteApplication(ctx context.Context, applicationObjectID string, permanentlyDelete bool) error

DeleteApplication deletes an Azure application object. This will in turn remove the service principal (but not the role assignments).

func (*AppClient) DeleteServicePrincipal added in v0.14.0

func (c *AppClient) DeleteServicePrincipal(ctx context.Context, spObjectID string, permanentlyDelete bool) error

func (*AppClient) GetApplication

func (c *AppClient) GetApplication(ctx context.Context, applicationObjectID string) (ApplicationResult, error)

func (AppClient) GetGroup

func (c AppClient) GetGroup(ctx context.Context, groupID string) (Group, error)

func (*AppClient) GetPreparer

func (c *AppClient) GetPreparer(prepareDecorators ...autorest.PrepareDecorator) autorest.Preparer

func (*AppClient) ListApplications

func (c *AppClient) ListApplications(ctx context.Context, filter string) ([]ApplicationResult, error)

func (AppClient) ListGroups

func (c AppClient) ListGroups(ctx context.Context, filter string) ([]Group, error)

func (*AppClient) RemoveApplicationPassword

func (c *AppClient) RemoveApplicationPassword(ctx context.Context, applicationObjectID string, keyID string) error

func (AppClient) RemoveGroupMember

func (c AppClient) RemoveGroupMember(ctx context.Context, groupObjectID, memberObjectID string) error

func (*AppClient) SendRequest

func (c *AppClient) SendRequest(ctx context.Context, preparer autorest.Preparer, respDecs ...autorest.RespondDecorator) error

type ApplicationResult

type ApplicationResult struct {
	autorest.Response `json:"-"`

	AppID               *string               `json:"appId,omitempty"`
	ID                  *string               `json:"id,omitempty"`
	PasswordCredentials []*PasswordCredential `json:"passwordCredentials,omitempty"`
}

type ApplicationsClient

type ApplicationsClient interface {
	GetApplication(ctx context.Context, applicationObjectID string) (ApplicationResult, error)
	CreateApplication(ctx context.Context, displayName string) (ApplicationResult, error)
	DeleteApplication(ctx context.Context, applicationObjectID string, permanentlyDelete bool) error
	ListApplications(ctx context.Context, filter string) ([]ApplicationResult, error)
	AddApplicationPassword(ctx context.Context, applicationObjectID string, displayName string, endDateTime time.Time) (PasswordCredentialResult, error)
	RemoveApplicationPassword(ctx context.Context, applicationObjectID string, keyID string) error
}

type AzureProvider

type AzureProvider interface {
	ApplicationsClient
	GroupsClient
	ServicePrincipalClient

	CreateRoleAssignment(
		ctx context.Context,
		scope string,
		roleAssignmentName string,
		parameters authorization.RoleAssignmentCreateParameters) (authorization.RoleAssignment, error)
	DeleteRoleAssignmentByID(ctx context.Context, roleID string) (authorization.RoleAssignment, error)

	ListRoleDefinitions(ctx context.Context, scope string, filter string) ([]authorization.RoleDefinition, error)
	GetRoleDefinitionByID(ctx context.Context, roleID string) (authorization.RoleDefinition, error)
}

AzureProvider is an interface to access underlying Azure Client objects and supporting services. Where practical the original function signature is preserved. Client provides higher level operations atop AzureProvider.

type Group

type Group struct {
	ID          string
	DisplayName string
}

type GroupsClient

type GroupsClient interface {
	AddGroupMember(ctx context.Context, groupObjectID string, memberObjectID string) error
	RemoveGroupMember(ctx context.Context, groupObjectID, memberObjectID string) error
	GetGroup(ctx context.Context, objectID string) (result Group, err error)
	ListGroups(ctx context.Context, filter string) (result []Group, err error)
}

type PasswordCredential

type PasswordCredential struct {
	DisplayName *string    `json:"displayName"`
	StartDate   *date.Time `json:"startDateTime,omitempty"`
	EndDate     *date.Time `json:"endDateTime,omitempty"`
	KeyID       *string    `json:"keyId,omitempty"`
	SecretText  *string    `json:"secretText,omitempty"`
}

type PasswordCredentialResult

type PasswordCredentialResult struct {
	autorest.Response `json:"-"`

	PasswordCredential
}

type PasswordGenerator

type PasswordGenerator interface {
	GeneratePasswordFromPolicy(ctx context.Context, policyName string) (password string, err error)
}

type Passwords

type Passwords struct {
	PolicyGenerator PasswordGenerator
	PolicyName      string
}

func (Passwords) Generate

func (p Passwords) Generate(ctx context.Context) (string, error)

type ServicePrincipal

type ServicePrincipal struct {
	ObjectID string
	AppID    string
}

type ServicePrincipalClient

type ServicePrincipalClient interface {
	// CreateServicePrincipal in Azure. The password returned is the actual password that the appID was created with
	CreateServicePrincipal(ctx context.Context, appID string, startDate time.Time, endDate time.Time) (id string, password string, err error)
	DeleteServicePrincipal(ctx context.Context, spObjectID string, permanentlyDelete bool) error
}

Jump to

Keyboard shortcuts

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