googlegroup

package
v0.12.14 Latest Latest
Warning

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

Go to latest
Published: Jul 1, 2025 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidResourceType              = errors.New("invalid resource type")
	ErrMissingServiceAccountKey         = errors.New("service_account_key_base64 is required")
	ErrMissingImpersonateUserEmail      = errors.New("impersonate_user_email is required")
	ErrInvalidBase64                    = errors.New("service_account_key_base64 must be a valid base64 encoded string")
	ErrInvalidEmailFormat               = errors.New("impersonate_user_email must be a valid email address")
	ErrUnableToEncryptNilCredentials    = errors.New("unable to encrypt nil credentials")
	ErrUnableToDecryptNilCredentials    = errors.New("unable to decrypt nil credentials")
	ErrCredentialsNotFound              = errors.New("credentials not found in provider config")
	ErrInvalidUserEmailFormat           = errors.New("invalid email format for user account type")
	ErrInvalidServiceAccountEmailFormat = errors.New("invalid email format for service account, must end with .iam.gserviceaccount.com")
)

errors

Functions

This section is empty.

Types

type AdminService

type AdminService interface {
	ListGroups(ctx context.Context, customer string, pageToken string) ([]*admin.Group, string, error)
	InsertMember(ctx context.Context, groupKey string, member *admin.Member) (*admin.Member, error)
	RemoveMember(ctx context.Context, groupKey string, memberKey string) error
}

type Credentials

type Credentials struct {
	ServiceAccountKey    string `` /* 136-byte string literal not displayed */
	ImpersonateUserEmail string `mapstructure:"impersonate_user_email" yaml:"impersonate_user_email" json:"impersonate_user_email" validate:"required,email"`
}

type GoogleAdminService

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

func (*GoogleAdminService) InsertMember

func (m *GoogleAdminService) InsertMember(ctx context.Context, groupKey string, member *admin.Member) (*admin.Member, error)

func (*GoogleAdminService) ListGroups

func (m *GoogleAdminService) ListGroups(ctx context.Context, customer string, pageToken string) ([]*admin.Group, string, error)

func (*GoogleAdminService) RemoveMember

func (m *GoogleAdminService) RemoveMember(ctx context.Context, groupKey string, memberKey string) error

type Provider

type Provider struct {
	pv.UnimplementedClient
	pv.PermissionManager

	Clients map[string]AdminService
	// contains filtered or unexported fields
}

func NewProvider

func NewProvider(
	typeName string,
	encryptor encryptor,
	logger log.Logger,
) *Provider

func (*Provider) CreateConfig

func (p *Provider) CreateConfig(pc *domain.ProviderConfig) error

func (*Provider) GetAccountTypes

func (p *Provider) GetAccountTypes() []string

func (*Provider) GetAdminServiceClient

func (p *Provider) GetAdminServiceClient(ctx context.Context, pc domain.ProviderConfig) (AdminService, error)

func (*Provider) GetResources

func (p *Provider) GetResources(ctx context.Context, pc *domain.ProviderConfig) ([]*domain.Resource, error)

func (*Provider) GetRoles

func (p *Provider) GetRoles(pc *domain.ProviderConfig, resourceType string) ([]*domain.Role, error)

func (*Provider) GetType

func (p *Provider) GetType() string

func (*Provider) GrantAccess

func (p *Provider) GrantAccess(ctx context.Context, pc *domain.ProviderConfig, grant domain.Grant) error

func (*Provider) RevokeAccess

func (p *Provider) RevokeAccess(ctx context.Context, pc *domain.ProviderConfig, grant domain.Grant) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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