msgraph

package
v0.45.0 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2022 License: Apache-2.0 Imports: 16 Imported by: 12

Documentation

Index

Constants

View Source
const (
	AccessPackageCatalogStatusPublished   AccessPackageCatalogStatus = "Published"
	AccessPackageCatalogStatusUnpublished AccessPackageCatalogState  = "Unpublished"
)

Variables

This section is empty.

Functions

func MarshalDocs added in v0.23.0

func MarshalDocs(docs [][]byte) ([]byte, error)

func RetryOn404ConsistencyFailureFunc added in v0.16.0

func RetryOn404ConsistencyFailureFunc(resp *http.Response, _ *odata.OData) bool

RetryOn404ConsistencyFailureFunc can be used to retry a request when a 404 response is received

func RetryableErrorHandler added in v0.28.2

func RetryableErrorHandler(resp *http.Response, err error, numTries int) (*http.Response, error)

RetryableErrorHandler ensures that the response is returned after exhausting retries for a request We can't return an error here, or net/http will not return the response

Types

type AccessPackage added in v0.31.0

type AccessPackage struct {
	ID               *string               `json:"id,omitempty"`
	Catalog          *AccessPackageCatalog `json:"catalog,omitempty"`
	CreatedDateTime  *time.Time            `json:"createdDateTime,omitempty"`
	Description      *string               `json:"description,omitempty"`
	DisplayName      *string               `json:"displayName,omitempty"`
	IsHidden         *bool                 `json:"isHidden,omitempty"`
	ModifiedDateTime *time.Time            `json:"modifiedDateTime,omitempty"`
	//Beta
	IsRoleScopesVisible *bool   `json:"isRoleScopesVisible,omitempty"`
	ModifiedBy          *string `json:"modifiedBy,omitempty"`
	CatalogId           *string `json:"catalogId,omitempty"`
	CreatedBy           *string `json:"createdBy,omitempty"`
}

type AccessPackageAssignmentPolicy added in v0.31.0

type AccessPackageAssignmentPolicy struct {
	AccessPackageId         *string                   `json:"accessPackageId,omitempty"`
	AccessReviewSettings    *AssignmentReviewSettings `json:"accessReviewSettings,omitempty"`
	CanExtend               *bool                     `json:"canExtend,omitempty"`
	CreatedBy               *string                   `json:"createdBy,omitempty"`
	CreatedDateTime         *time.Time                `json:"createdDateTime,omitempty"`
	Description             *string                   `json:"description,omitempty"`
	DisplayName             *string                   `json:"displayName,omitempty"`
	DurationInDays          *int32                    `json:"durationInDays,omitempty"`
	ExpirationDateTime      *time.Time                `json:"expirationDateTime,omitempty"`
	ID                      *string                   `json:"id,omitempty"`
	ModifiedBy              *string                   `json:"modifiedBy,omitempty"`
	ModifiedDateTime        *time.Time                `json:"modifiedDateTime,omitempty"`
	RequestApprovalSettings *ApprovalSettings         `json:"requestApprovalSettings,omitempty"`
	RequestorSettings       *RequestorSettings        `json:"requestorSettings,omitempty"`
	Questions               *[]AccessPackageQuestion  `json:"questions,omitempty"`
}

type AccessPackageAssignmentPolicyClient added in v0.31.0

type AccessPackageAssignmentPolicyClient struct {
	BaseClient Client
}

func NewAccessPackageAssignmentPolicyClient added in v0.31.0

func NewAccessPackageAssignmentPolicyClient(tenantId string) *AccessPackageAssignmentPolicyClient

func (*AccessPackageAssignmentPolicyClient) Create added in v0.31.0

Create creates a new AccessPackageAssignmentPolicy.

func (*AccessPackageAssignmentPolicyClient) Delete added in v0.31.0

Delete removes a AccessPackageAssignmentPolicy.

func (*AccessPackageAssignmentPolicyClient) Get added in v0.31.0

Get retrieves a AccessPackageAssignmentPolicy.

func (*AccessPackageAssignmentPolicyClient) List added in v0.31.0

List returns a list of AccessPackageAssignmentPolicy

func (*AccessPackageAssignmentPolicyClient) Update added in v0.31.0

func (c *AccessPackageAssignmentPolicyClient) Update(ctx context.Context, accessPackageAssignmentPolicy AccessPackageAssignmentPolicy) (int, error)

Update amends an existing AccessPackageAssignmentPolicy.

type AccessPackageCatalog added in v0.31.0

type AccessPackageCatalog struct {
	ID                  *string                   `json:"id,omitempty"`
	State               AccessPackageCatalogState `json:"state,omitempty"`
	CatalogType         AccessPackageCatalogType  `json:"catalogType,omitempty"`
	CreatedDateTime     *time.Time                `json:"createdDateTime,omitempty"`
	Description         *string                   `json:"description,omitempty"`
	DisplayName         *string                   `json:"displayName,omitempty"`
	IsExternallyVisible *bool                     `json:"isExternallyVisible,omitempty"`
	ModifiedDateTime    *time.Time                `json:"modifiedDateTime,omitempty"`
	//Beta
	CatalogStatus AccessPackageCatalogStatus `json:"catalogStatus,omitempty"`
	CreatedBy     *string                    `json:"createdBy,omitempty"`
	ModifiedBy    *string                    `json:"modifiedBy,omitempty"`
}

type AccessPackageCatalogClient added in v0.31.0

type AccessPackageCatalogClient struct {
	BaseClient Client
}

func NewAccessPackageCatalogClient added in v0.31.0

func NewAccessPackageCatalogClient(tenantId string) *AccessPackageCatalogClient

func (*AccessPackageCatalogClient) Create added in v0.31.0

Create creates a new AccessPackageCatalog.

func (*AccessPackageCatalogClient) Delete added in v0.31.0

func (c *AccessPackageCatalogClient) Delete(ctx context.Context, id string) (int, error)

Delete removes a AccessPackageCatalog.

func (*AccessPackageCatalogClient) Get added in v0.31.0

Get retrieves a AccessPackageCatalog.

func (*AccessPackageCatalogClient) List added in v0.31.0

List returns a list of AccessPackageCatalog.

func (*AccessPackageCatalogClient) Update added in v0.31.0

func (c *AccessPackageCatalogClient) Update(ctx context.Context, accessPackageCatalog AccessPackageCatalog) (int, error)

Update amends an existing AccessPackageCatalog.

type AccessPackageCatalogState added in v0.40.0

type AccessPackageCatalogState = string
const (
	AccessPackageCatalogStatePublished   AccessPackageCatalogState = "published"
	AccessPackageCatalogStateUnpublished AccessPackageCatalogState = "unpublished"
)

type AccessPackageCatalogStatus added in v0.31.0

type AccessPackageCatalogStatus = string

type AccessPackageCatalogType added in v0.31.0

type AccessPackageCatalogType = string
const (
	AccessPackageCatalogTypeServiceDefault AccessPackageCatalogType = "ServiceDefault"
	AccessPackageCatalogTypeUserManaged    AccessPackageCatalogType = "UserManaged"
)

type AccessPackageClient added in v0.31.0

type AccessPackageClient struct {
	BaseClient Client
}

func NewAccessPackageClient added in v0.31.0

func NewAccessPackageClient(tenantId string) *AccessPackageClient

func (*AccessPackageClient) Create added in v0.31.0

func (c *AccessPackageClient) Create(ctx context.Context, accessPackage AccessPackage) (*AccessPackage, int, error)

Create creates a new AccessPackage.

func (*AccessPackageClient) Delete added in v0.31.0

func (c *AccessPackageClient) Delete(ctx context.Context, id string) (int, error)

Delete removes a AccessPackage.

func (*AccessPackageClient) Get added in v0.31.0

Get retrieves a AccessPackage.

func (*AccessPackageClient) List added in v0.31.0

func (c *AccessPackageClient) List(ctx context.Context, query odata.Query) (*[]AccessPackage, int, error)

List returns a list of AccessPackage

func (*AccessPackageClient) Update added in v0.31.0

func (c *AccessPackageClient) Update(ctx context.Context, accessPackage AccessPackage) (int, error)

Update amends an existing AccessPackage.

type AccessPackageLocalizedContent added in v0.31.0

type AccessPackageLocalizedContent struct {
	DefaultText    *string                        `json:"defaultText,omitempty"`
	LocalizedTexts *[]AccessPackageLocalizedTexts `json:"localizedTexts,omitempty"`
}

type AccessPackageLocalizedTexts added in v0.31.0

type AccessPackageLocalizedTexts struct {
	Text         *string `json:"text,omitempty"`
	LanguageCode *string `json:"languageCode,omitempty"`
}

type AccessPackageMultipleChoiceQuestions added in v0.40.0

type AccessPackageMultipleChoiceQuestions struct {
	ODataType    *odata.Type                    `json:"@odata.type,omitempty"`
	ActualValue  *string                        `json:"actualValue,string"`
	DisplayValue *AccessPackageLocalizedContent `json:"displayValue,omitempty"`
}

type AccessPackageQuestion added in v0.31.0

type AccessPackageQuestion struct {
	ODataType            *odata.Type                             `json:"@odata.type,omitempty"`
	ID                   *string                                 `json:"id,omitempty"`
	IsRequired           *bool                                   `json:"isRequired,omitempty"`
	Sequence             *int32                                  `json:"sequence,omitempty"`
	Text                 *AccessPackageLocalizedContent          `json:"text,omitempty"`
	Choices              *[]AccessPackageMultipleChoiceQuestions `json:"choices,omitempty"`
	IsSingleLineQuestion *bool                                   `json:"isSingleLineQuestion,omitempty"`
}

type AccessPackageResource added in v0.31.0

type AccessPackageResource struct {
	AccessPackageResourceEnvironment *AccessPackageResourceEnvironment `json:"accessPackageResourceEnvironment,omitempty"`
	AddedBy                          *string                           `json:"addedBy,omitempty"`
	AddedOn                          *time.Time                        `json:"addedOn,omitempty"`
	Description                      *bool                             `json:"description,omitempty"`
	DisplayName                      *string                           `json:"displayName,omitempty"`
	ID                               *string                           `json:"id,omitempty"`
	IsPendingOnboarding              *bool                             `json:"isPendingOnboarding,omitempty"`
	OriginId                         *string                           `json:"originId,omitempty"`
	OriginSystem                     AccessPackageResourceOriginSystem `json:"originSystem,omitempty"`
	ResourceType                     *AccessPackageResourceType        `json:"resourceType,omitempty"`
	Url                              *string                           `json:"url,omitempty"`
}

type AccessPackageResourceClient added in v0.31.0

type AccessPackageResourceClient struct {
	BaseClient Client
}

func NewAccessPackageResourceClient added in v0.31.0

func NewAccessPackageResourceClient(tenantId string) *AccessPackageResourceClient

func (*AccessPackageResourceClient) Get added in v0.31.0

Get retrieves an AccessPackageResource for the specified catalog This uses OData Filter as there is no native Get method

func (*AccessPackageResourceClient) List added in v0.31.0

List retrieves a list of AccessPackageResources for the specified catalog

type AccessPackageResourceEnvironment added in v0.31.0

type AccessPackageResourceEnvironment struct {
	ConnectionInfo       *ConnectionInfo                   `json:"connectionInfo,omitempty"`
	CreatedBy            *string                           `json:"createdBy,omitempty"`
	CreatedDateTime      *time.Time                        `json:"createdDateTime,omitempty"`
	Description          *string                           `json:"description,omitempty"`
	DisplayName          *string                           `json:"displayName,omitempty"`
	ID                   *string                           `json:"id,omitempty"`
	IsDefaultEnvironment *bool                             `json:"isDefaultEnvironment,omitempty"`
	ModifiedBy           *string                           `json:"modifiedBy,omitempty"`
	ModifiedDateTime     *time.Time                        `json:"modifiedDateTime,omitempty"`
	OriginId             *string                           `json:"originId,omitempty"`
	OriginSystem         AccessPackageResourceOriginSystem `json:"originSystem,omitempty"`
}

type AccessPackageResourceOriginSystem added in v0.31.0

type AccessPackageResourceOriginSystem = string
const (
	AccessPackageResourceOriginSystemAadApplication   AccessPackageResourceOriginSystem = "AadApplication"
	AccessPackageResourceOriginSystemAadGroup         AccessPackageResourceOriginSystem = "AadGroup"
	AccessPackageResourceOriginSystemSharePointOnline AccessPackageResourceOriginSystem = "SharePointOnline"
)

type AccessPackageResourceRequest added in v0.31.0

type AccessPackageResourceRequest struct {
	CatalogId             *string                            `json:"catalogId,omitempty"`
	ExpirationDateTime    *time.Time                         `json:"expirationDateTime,omitempty"`
	ID                    *string                            `json:"id,omitempty"`
	IsValidationOnly      *bool                              `json:"isValidationOnly,omitempty"`
	Justification         *string                            `json:"justification,omitempty"`
	RequestState          *AccessPackageResourceRequestState `json:"requestState,omitempty"`
	RequestStatus         *string                            `json:"requestStatus,omitempty"`
	RequestType           *AccessPackageResourceRequestType  `json:"requestType,omitempty"`
	AccessPackageResource *AccessPackageResource             `json:"accessPackageResource,omitempty"`
	ExecuteImmediately    *bool                              `json:"executeImmediately,omitempty"`
}

type AccessPackageResourceRequestClient added in v0.31.0

type AccessPackageResourceRequestClient struct {
	BaseClient Client
}

func NewAccessPackageResourceRequestClient added in v0.31.0

func NewAccessPackageResourceRequestClient(tenantId string) *AccessPackageResourceRequestClient

func (*AccessPackageResourceRequestClient) Create added in v0.31.0

Create creates a new AccessPackageResourceRequest.

func (*AccessPackageResourceRequestClient) Delete added in v0.31.0

func (c *AccessPackageResourceRequestClient) Delete(ctx context.Context, accessPackageResourceRequest AccessPackageResourceRequest) (int, error)

Delete removes a AccessPackageResourceRequest This is a pseudo delete method because there is no Delete endpoint. Instead, we construct and send a request to delete a resource assignment. See tests for example usage. Docs: https://docs.microsoft.com/en-us/graph/api/accesspackageresourcerequest-post?view=graph-rest-beta#example-5-create-an-accesspackageresourcerequest-for-removing-a-resource

func (*AccessPackageResourceRequestClient) Get added in v0.31.0

Get retrieves an AccessPackageResourceRequest This uses OData Filter as there is no native Get method

func (*AccessPackageResourceRequestClient) List added in v0.31.0

List returns a list of AccessPackageResourceRequest

type AccessPackageResourceRequestState added in v0.31.0

type AccessPackageResourceRequestState = string
const (
	AccessPackageResourceRequestStateDelivered AccessPackageResourceRequestState = "Delivered"
)

type AccessPackageResourceRequestType added in v0.31.0

type AccessPackageResourceRequestType = string
const (
	AccessPackageResourceRequestTypeAdminAdd    AccessPackageResourceRequestType = "AdminAdd"
	AccessPackageResourceRequestTypeAdminRemove AccessPackageResourceRequestType = "AdminRemove"
)

type AccessPackageResourceRole added in v0.31.0

type AccessPackageResourceRole struct {
	Description           *string                           `json:"description"`
	ID                    *string                           `json:"id,omitempty"`
	DisplayName           *string                           `json:"displayName,omitempty"`
	OriginId              *string                           `json:"originId,omitempty"`
	OriginSystem          AccessPackageResourceOriginSystem `json:"originSystem,omitempty"`
	AccessPackageResource *AccessPackageResource            `json:"accessPackageResource,omitempty"`
}

type AccessPackageResourceRoleScope added in v0.31.0

type AccessPackageResourceRoleScope struct {
	AccessPackageId *string `json:"-"`

	ID                         *string                     `json:"id,omitempty"`
	CreatedBy                  *string                     `json:"createdBy,omitempty"`
	CreatedDateTime            *time.Time                  `json:"createdDateTime,omitempty"`
	ModifiedBy                 *string                     `json:"modifiedBy,omitempty"`
	ModifiedDateTime           *time.Time                  `json:"modifiedDateTime,omitempty"`
	AccessPackageResourceRole  *AccessPackageResourceRole  `json:"accessPackageResourceRole,omitempty"`
	AccessPackageResourceScope *AccessPackageResourceScope `json:"accessPackageResourceScope,omitempty"`
}

type AccessPackageResourceRoleScopeClient added in v0.31.0

type AccessPackageResourceRoleScopeClient struct {
	BaseClient Client
}

func NewAccessPackageResourceRoleScopeClient added in v0.31.0

func NewAccessPackageResourceRoleScopeClient(tenantId string) *AccessPackageResourceRoleScopeClient

func (*AccessPackageResourceRoleScopeClient) Create added in v0.31.0

Create creates a new AccessPackageResourceRoleScope.

func (*AccessPackageResourceRoleScopeClient) Get added in v0.31.0

Get retrieves a AccessPackageResourceRoleScope.

func (*AccessPackageResourceRoleScopeClient) List added in v0.31.0

List returns a list of AccessPackageResourceRoleScope(s)

type AccessPackageResourceScope added in v0.31.0

type AccessPackageResourceScope struct {
	Description  *string                           `json:"description,omitempty"`
	DisplayName  *string                           `json:"displayName,omitempty"`
	ID           *string                           `json:"id,omitempty"`
	IsRootScope  *bool                             `json:"isRootScope,omitempty"`
	OriginId     *string                           `json:"originId,omitempty"`
	OriginSystem AccessPackageResourceOriginSystem `json:"originSystem,omitempty"`
	Url          *string                           `json:"url"`
}

type AccessPackageResourceType added in v0.31.0

type AccessPackageResourceType = string
const (
	AccessPackageResourceTypeApplication          AccessPackageResourceType = "Application"
	AccessPackageResourceTypeSharePointOnlineSite AccessPackageResourceType = "SharePoint Online Site"
)

type AccessReviewRecurranceType added in v0.40.0

type AccessReviewRecurranceType = string
const (
	AccessReviewRecurranceTypeWeekly     AccessReviewRecurranceType = "weekly"
	AccessReviewRecurranceTypeMonthly    AccessReviewRecurranceType = "monthly"
	AccessReviewRecurranceTypeQuarterly  AccessReviewRecurranceType = "quarterly"
	AccessReviewRecurranceTypeHalfYearly AccessReviewRecurranceType = "halfyearly"
	AccessReviewRecurranceTypeAnnual     AccessReviewRecurranceType = "annual"
)

type AccessReviewReviewerType added in v0.40.0

type AccessReviewReviewerType = string
const (
	AccessReviewReviewerTypeSelf      AccessReviewReviewerType = "Self"
	AccessReviewReviewerTypeReviewers AccessReviewReviewerType = "Reviewers"
)

type AccessReviewTimeoutBehaviorType added in v0.40.0

type AccessReviewTimeoutBehaviorType = string
const (
	AccessReviewTimeoutBehaviorTypeAcceptAccessRecommendation AccessReviewTimeoutBehaviorType = "acceptAccessRecommendation"
	AccessReviewTimeoutBehaviorTypeKeepAccess                 AccessReviewTimeoutBehaviorType = "keepAccess"
	AccessReviewTimeoutBehaviorTypeRemoveAccess               AccessReviewTimeoutBehaviorType = "removeAccess"
)

type AddIn

type AddIn struct {
	ID         *string          `json:"id,omitempty"`
	Properties *[]AddInKeyValue `json:"properties,omitempty"`
	Type       *string          `json:"type,omitempty"`
}

type AddInKeyValue

type AddInKeyValue struct {
	Key   *string `json:"key,omitempty"`
	Value *string `json:"value,omitempty"`
}

type AdministrativeUnit added in v0.36.0

type AdministrativeUnit struct {
	Description *StringNullWhenEmpty          `json:"description,omitempty"`
	DisplayName *string                       `json:"displayName,omitempty"`
	ID          *string                       `json:"id,omitempty"`
	Visibility  *AdministrativeUnitVisibility `json:"visibility,omitempty"`
}

type AdministrativeUnitVisibility added in v0.36.0

type AdministrativeUnitVisibility = string
const (
	AdministrativeUnitVisibilityHiddenMembership AdministrativeUnitVisibility = "HiddenMembership"
	AdministrativeUnitVisibilityPublic           AdministrativeUnitVisibility = "Public"
)

type AdministrativeUnitsClient added in v0.36.0

type AdministrativeUnitsClient struct {
	BaseClient Client
}

AdministrativeUnitsClient performs operations on Administrative Units

func NewAdministrativeUnitsClient added in v0.36.0

func NewAdministrativeUnitsClient(tenantId string) *AdministrativeUnitsClient

NewAdministrativeUnitsClient returns a new AdministrativeUnitsClient.

func (*AdministrativeUnitsClient) AddMembers added in v0.36.0

func (c *AdministrativeUnitsClient) AddMembers(ctx context.Context, administrativeUnitId string, members *Members) (int, error)

AddMembers adds new members to a AdministrativeUnit.

func (*AdministrativeUnitsClient) AddScopedRoleMember added in v0.36.0

func (c *AdministrativeUnitsClient) AddScopedRoleMember(ctx context.Context, administrativeUnitId string, scopedRoleMembership ScopedRoleMembership) (*ScopedRoleMembership, int, error)

AddScopedRoleMember adds a new scoped role membership for a AdministrativeUnit.

func (*AdministrativeUnitsClient) Create added in v0.36.0

Create creates a new AdministrativeUnit.

func (*AdministrativeUnitsClient) Delete added in v0.36.0

func (c *AdministrativeUnitsClient) Delete(ctx context.Context, id string) (int, error)

Delete removes a AdministrativeUnit.

func (*AdministrativeUnitsClient) Get added in v0.36.0

Get retrieves an AdministrativeUnit

func (*AdministrativeUnitsClient) GetMember added in v0.36.0

func (c *AdministrativeUnitsClient) GetMember(ctx context.Context, administrativeUnitId, memberId string) (*string, int, error)

GetMember retrieves a single member of the specified AdministrativeUnit.

func (*AdministrativeUnitsClient) GetScopedRoleMember added in v0.36.0

func (c *AdministrativeUnitsClient) GetScopedRoleMember(ctx context.Context, administrativeUnitId, scopedRoleMembershipId string, query odata.Query) (*ScopedRoleMembership, int, error)

GetScopedRoleMember retrieves a single member of the specified AdministrativeUnit.

func (*AdministrativeUnitsClient) List added in v0.36.0

List returns a list of AdministrativeUnits, optionally queried using OData.

func (*AdministrativeUnitsClient) ListMembers added in v0.36.0

func (c *AdministrativeUnitsClient) ListMembers(ctx context.Context, administrativeUnitId string) (*[]string, int, error)

ListMembers retrieves the members of the specified AdministrativeUnit.

func (*AdministrativeUnitsClient) ListScopedRoleMembers added in v0.36.0

func (c *AdministrativeUnitsClient) ListScopedRoleMembers(ctx context.Context, administrativeUnitId string, query odata.Query) (*[]ScopedRoleMembership, int, error)

ListScopedRoleMembers retrieves the members of the specified AdministrativeUnit.

func (*AdministrativeUnitsClient) RemoveMembers added in v0.36.0

func (c *AdministrativeUnitsClient) RemoveMembers(ctx context.Context, administrativeUnitId string, memberIds *[]string) (int, error)

RemoveMembers removes members from a AdministrativeUnit.

func (*AdministrativeUnitsClient) RemoveScopedRoleMembers added in v0.36.0

func (c *AdministrativeUnitsClient) RemoveScopedRoleMembers(ctx context.Context, administrativeUnitId, scopedRoleMembershipId string) (int, error)

RemoveScopedRoleMembers removes members from a AdministrativeUnit.

func (*AdministrativeUnitsClient) Update added in v0.36.0

func (c *AdministrativeUnitsClient) Update(ctx context.Context, administrativeUnit AdministrativeUnit) (int, error)

Update amends an existing AdministrativeUnit.

type AgeGroup added in v0.21.0

type AgeGroup = StringNullWhenEmpty
const (
	AgeGroupNone     AgeGroup = ""
	AgeGroupAdult    AgeGroup = "Adult"
	AgeGroupMinor    AgeGroup = "Minor"
	AgeGroupNotAdult AgeGroup = "NotAdult"
)

type ApiPreAuthorizedApplication

type ApiPreAuthorizedApplication struct {
	AppId         *string   `json:"appId,omitempty"`
	PermissionIds *[]string `json:"permissionIds,omitempty"`
}

type ApiVersion

type ApiVersion string
const (
	Version10   ApiVersion = "v1.0"
	VersionBeta ApiVersion = "beta"
)

type AppIdentity added in v0.18.0

type AppIdentity struct {
	AppId                *string `json:"appId,omitempty"`
	DisplayName          *string `json:"displayName,omitempty"`
	ServicePrincipalId   *string `json:"servicePrincipalId,omitempty"`
	ServicePrincipalName *string `json:"servicePrincipalName,omitempty"`
}

type AppRole

type AppRole struct {
	ID                 *string                     `json:"id,omitempty"`
	AllowedMemberTypes *[]AppRoleAllowedMemberType `json:"allowedMemberTypes,omitempty"`
	Description        *string                     `json:"description,omitempty"`
	DisplayName        *string                     `json:"displayName,omitempty"`
	IsEnabled          *bool                       `json:"isEnabled,omitempty"`
	Origin             *string                     `json:"origin,omitempty"`
	Value              *string                     `json:"value,omitempty"`
}

type AppRoleAllowedMemberType added in v0.12.0

type AppRoleAllowedMemberType = string
const (
	AppRoleAllowedMemberTypeApplication AppRoleAllowedMemberType = "Application"
	AppRoleAllowedMemberTypeUser        AppRoleAllowedMemberType = "User"
)

type AppRoleAssignedToClient added in v0.30.0

type AppRoleAssignedToClient struct {
	BaseClient Client
}

AppRoleAssignedToClient performs operations on AppRoleAssignments.

func NewAppRoleAssignedToClient added in v0.30.0

func NewAppRoleAssignedToClient(tenantId string) *AppRoleAssignedToClient

NewAppRoleAssignedToClient returns a new AppRoleAssignedToClient

func (*AppRoleAssignedToClient) Assign added in v0.30.0

func (c *AppRoleAssignedToClient) Assign(ctx context.Context, appRoleAssignment AppRoleAssignment) (*AppRoleAssignment, int, error)

Assign assigns an app role for a service principal to the specified user/group/service principal object

func (*AppRoleAssignedToClient) List added in v0.30.0

List returns a list of app role assignments granted for a service principal

func (*AppRoleAssignedToClient) Remove added in v0.30.0

func (c *AppRoleAssignedToClient) Remove(ctx context.Context, resourceId, appRoleAssignmentId string) (int, error)

Remove removes an app role assignment for a service principal

type AppRoleAssignment added in v0.12.0

type AppRoleAssignment struct {
	Id                   *string    `json:"id,omitempty"`
	DeletedDateTime      *time.Time `json:"deletedDateTime,omitempty"`
	AppRoleId            *string    `json:"appRoleId,omitempty"`
	CreatedDateTime      *time.Time `json:"createdDateTime,omitempty"`
	PrincipalDisplayName *string    `json:"principalDisplayName,omitempty"`
	PrincipalId          *string    `json:"principalId,omitempty"`
	PrincipalType        *string    `json:"principalType,omitempty"`
	ResourceDisplayName  *string    `json:"resourceDisplayName,omitempty"`
	ResourceId           *string    `json:"resourceId,omitempty"`
}

type AppRoleAssignmentsClient added in v0.12.0

type AppRoleAssignmentsClient struct {
	BaseClient Client
	// contains filtered or unexported fields
}

AppRoleAssignmentsClient performs operations on AppRoleAssignments.

func NewGroupsAppRoleAssignmentsClient added in v0.14.0

func NewGroupsAppRoleAssignmentsClient(tenantId string) *AppRoleAssignmentsClient

NewGroupsAppRoleAssignmentsClient returns a new AppRoleAssignmentsClient for groups assignments

func NewServicePrincipalsAppRoleAssignmentsClient added in v0.14.0

func NewServicePrincipalsAppRoleAssignmentsClient(tenantId string) *AppRoleAssignmentsClient

NewServicePrincipalsAppRoleAssignmentsClient returns a new AppRoleAssignmentsClient for service principal assignments

func NewUsersAppRoleAssignmentsClient added in v0.14.0

func NewUsersAppRoleAssignmentsClient(tenantId string) *AppRoleAssignmentsClient

NewUsersAppRoleAssignmentsClient returns a new AppRoleAssignmentsClient for users assignments

func (*AppRoleAssignmentsClient) Assign added in v0.12.0

func (c *AppRoleAssignmentsClient) Assign(ctx context.Context, clientServicePrincipalId, resourceServicePrincipalId, appRoleId string) (*AppRoleAssignment, int, error)

Assign assigns an app role to a user, group or service principal depending on client resource type.

func (*AppRoleAssignmentsClient) List added in v0.12.0

List returns a list of app role assignments.

func (*AppRoleAssignmentsClient) Remove added in v0.12.0

func (c *AppRoleAssignmentsClient) Remove(ctx context.Context, id, appRoleAssignmentId string) (int, error)

Remove removes a app role assignment.

type Application

type Application struct {
	DirectoryObject
	Owners *Owners `json:"owners@odata.bind,omitempty"`

	AddIns                        *[]AddIn                  `json:"addIns,omitempty"`
	Api                           *ApplicationApi           `json:"api,omitempty"`
	AppId                         *string                   `json:"appId,omitempty"`
	ApplicationTemplateId         *string                   `json:"applicationTemplateId,omitempty"`
	AppRoles                      *[]AppRole                `json:"appRoles,omitempty"`
	CreatedDateTime               *time.Time                `json:"createdDateTime,omitempty"`
	DefaultRedirectUri            *string                   `json:"defaultRedirectUri,omitempty"`
	DeletedDateTime               *time.Time                `json:"deletedDateTime,omitempty"`
	DisabledByMicrosoftStatus     interface{}               `json:"disabledByMicrosoftStatus,omitempty"`
	DisplayName                   *string                   `json:"displayName,omitempty"`
	GroupMembershipClaims         *[]GroupMembershipClaim   `json:"-"` // see Application.MarshalJSON / Application.UnmarshalJSON
	IdentifierUris                *[]string                 `json:"identifierUris,omitempty"`
	Info                          *InformationalUrl         `json:"info,omitempty"`
	IsAuthorizationServiceEnabled *bool                     `json:"isAuthorizationServiceEnabled,omitempty"`
	IsDeviceOnlyAuthSupported     *bool                     `json:"isDeviceOnlyAuthSupported,omitempty"`
	IsFallbackPublicClient        *bool                     `json:"isFallbackPublicClient,omitempty"`
	IsManagementRestricted        *bool                     `json:"isManagementRestricted,omitempty"`
	KeyCredentials                *[]KeyCredential          `json:"keyCredentials,omitempty"`
	Oauth2RequirePostResponse     *bool                     `json:"oauth2RequirePostResponse,omitempty"`
	OnPremisesPublishing          *OnPremisesPublishing     `json:"onPremisePublishing,omitempty"`
	OptionalClaims                *OptionalClaims           `json:"optionalClaims,omitempty"`
	ParentalControlSettings       *ParentalControlSettings  `json:"parentalControlSettings,omitempty"`
	PasswordCredentials           *[]PasswordCredential     `json:"passwordCredentials,omitempty"`
	PublicClient                  *PublicClient             `json:"publicClient,omitempty"`
	PublisherDomain               *string                   `json:"publisherDomain,omitempty"`
	RequiredResourceAccess        *[]RequiredResourceAccess `json:"requiredResourceAccess,omitempty"`
	SignInAudience                *SignInAudience           `json:"signInAudience,omitempty"`
	Spa                           *ApplicationSpa           `json:"spa,omitempty"`
	Tags                          *[]string                 `json:"tags,omitempty"`
	TokenEncryptionKeyId          *string                   `json:"tokenEncryptionKeyId,omitempty"`
	UniqueName                    *string                   `json:"uniqueName,omitempty"`
	VerifiedPublisher             *VerifiedPublisher        `json:"verifiedPublisher,omitempty"`
	Web                           *ApplicationWeb           `json:"web,omitempty"`
}

Application describes an Application object.

func (*Application) AppendAppRole

func (a *Application) AppendAppRole(role AppRole) error

AppendAppRole adds a new AppRole to an Application, checking to see if it already exists.

func (Application) MarshalJSON added in v0.12.0

func (a Application) MarshalJSON() ([]byte, error)

func (*Application) RemoveAppRole

func (a *Application) RemoveAppRole(role AppRole) error

RemoveAppRole removes an AppRole from an Application.

func (*Application) UnmarshalJSON added in v0.12.0

func (a *Application) UnmarshalJSON(data []byte) error

func (*Application) UpdateAppRole

func (a *Application) UpdateAppRole(role AppRole) error

UpdateAppRole amends an existing AppRole defined in an Application.

type ApplicationApi

type ApplicationApi struct {
	AcceptMappedClaims          *bool                          `json:"acceptMappedClaims,omitempty"`
	KnownClientApplications     *[]string                      `json:"knownClientApplications,omitempty"`
	OAuth2PermissionScopes      *[]PermissionScope             `json:"oauth2PermissionScopes,omitempty"`
	PreAuthorizedApplications   *[]ApiPreAuthorizedApplication `json:"preAuthorizedApplications,omitempty"`
	RequestedAccessTokenVersion *int32                         `json:"requestedAccessTokenVersion,omitempty"`
}

func (*ApplicationApi) AppendOAuth2PermissionScope

func (a *ApplicationApi) AppendOAuth2PermissionScope(scope PermissionScope) error

AppendOAuth2PermissionScope adds a new ApplicationOAuth2PermissionScope to an ApplicationApi, checking to see if it already exists.

func (*ApplicationApi) RemoveOAuth2PermissionScope

func (a *ApplicationApi) RemoveOAuth2PermissionScope(scope PermissionScope) error

RemoveOAuth2PermissionScope removes an ApplicationOAuth2PermissionScope from an ApplicationApi.

func (*ApplicationApi) UpdateOAuth2PermissionScope

func (a *ApplicationApi) UpdateOAuth2PermissionScope(scope PermissionScope) error

UpdateOAuth2PermissionScope amends an existing ApplicationOAuth2PermissionScope defined in an ApplicationApi.

type ApplicationEnforcedRestrictionsSessionControl added in v0.11.0

type ApplicationEnforcedRestrictionsSessionControl struct {
	IsEnabled *bool `json:"isEnabled,omitempty"`
}

type ApplicationExtension added in v0.18.0

type ApplicationExtension struct {
	Id                     *string                             `json:"id,omitempty"`
	AppDisplayName         *string                             `json:"appDisplayName,omitempty"`
	DataType               ApplicationExtensionDataType        `json:"dataType,omitempty"`
	IsSyncedFromOnPremises *bool                               `json:"isSyncedFromOnPremises,omitempty"`
	Name                   *string                             `json:"name,omitempty"`
	TargetObjects          *[]ApplicationExtensionTargetObject `json:"targetObjects,omitempty"`
}

type ApplicationExtensionDataType added in v0.18.0

type ApplicationExtensionDataType = string
const (
	ApplicationExtensionDataTypeBinary       ApplicationExtensionDataType = "Binary"
	ApplicationExtensionDataTypeBoolean      ApplicationExtensionDataType = "Boolean"
	ApplicationExtensionDataTypeDateTime     ApplicationExtensionDataType = "DateTime"
	ApplicationExtensionDataTypeInteger      ApplicationExtensionDataType = "Integer"
	ApplicationExtensionDataTypeLargeInteger ApplicationExtensionDataType = "LargeInteger"
	ApplicationExtensionDataTypeString       ApplicationExtensionDataType = "String"
)

type ApplicationExtensionTargetObject added in v0.18.0

type ApplicationExtensionTargetObject = string
const (
	ApplicationExtensionTargetObjectApplication  ApplicationExtensionTargetObject = "Application"
	ApplicationExtensionTargetObjectDevice       ApplicationExtensionTargetObject = "Device"
	ApplicationExtensionTargetObjectGroup        ApplicationExtensionTargetObject = "Group"
	ApplicationExtensionTargetObjectOrganization ApplicationExtensionTargetObject = "Organization"
	ApplicationExtensionTargetObjectUser         ApplicationExtensionTargetObject = "User"
)

type ApplicationSpa added in v0.20.0

type ApplicationSpa struct {
	RedirectUris *[]string `json:"redirectUris,omitempty"`
}

type ApplicationTemplate added in v0.28.0

type ApplicationTemplate struct {
	ID                         *string                        `json:"id,omitempty"`
	Categories                 *[]ApplicationTemplateCategory `json:"categories,omitempty"`
	Description                *string                        `json:"description,omitempty"`
	DisplayName                *string                        `json:"displayName,omitempty"`
	HomePageUrl                *string                        `json:"homePageUrl,omitempty"`
	LogoUrl                    *string                        `json:"logoUrl,omitempty"`
	Publisher                  *string                        `json:"publisher,omitempty"`
	SupportedProvisioningTypes *[]string                      `json:"supportedProvisioningTypes,omitempty"`
	SupportedSingleSignOnModes *[]string                      `json:"supportedSingleSignOnModes,omitempty"`

	Application      *Application      `json:"application,omitempty"`
	ServicePrincipal *ServicePrincipal `json:"servicePrincipal,omitempty"`
}

type ApplicationTemplateCategory added in v0.28.0

type ApplicationTemplateCategory = string
const (
	ApplicationTemplateCategoryCollaboration      ApplicationTemplateCategory = "Collaboration"
	ApplicationTemplateCategoryBusinessManagement ApplicationTemplateCategory = "Business Management"
	ApplicationTemplateCategoryConsumer           ApplicationTemplateCategory = "Consumer"
	ApplicationTemplateCategoryContentManagement  ApplicationTemplateCategory = "Content management"
	ApplicationTemplateCategoryCRM                ApplicationTemplateCategory = "CRM"
	ApplicationTemplateCategoryDataServices       ApplicationTemplateCategory = "Data services"
	ApplicationTemplateCategoryDeveloperServices  ApplicationTemplateCategory = "Developer services"
	ApplicationTemplateCategoryECommerce          ApplicationTemplateCategory = "E-commerce"
	ApplicationTemplateCategoryEducation          ApplicationTemplateCategory = "Education"
	ApplicationTemplateCategoryERP                ApplicationTemplateCategory = "ERP"
	ApplicationTemplateCategoryFinance            ApplicationTemplateCategory = "Finance"
	ApplicationTemplateCategoryHealth             ApplicationTemplateCategory = "Health"
	ApplicationTemplateCategoryHumanResources     ApplicationTemplateCategory = "Human resources"
	ApplicationTemplateCategoryITInfrastructure   ApplicationTemplateCategory = "IT infrastructure"
	ApplicationTemplateCategoryMail               ApplicationTemplateCategory = "Mail"
	ApplicationTemplateCategoryManagement         ApplicationTemplateCategory = "Management"
	ApplicationTemplateCategoryMarketing          ApplicationTemplateCategory = "Marketing"
	ApplicationTemplateCategoryMedia              ApplicationTemplateCategory = "Media"
	ApplicationTemplateCategoryProductivity       ApplicationTemplateCategory = "Productivity"
	ApplicationTemplateCategoryProjectManagement  ApplicationTemplateCategory = "Project management"
	ApplicationTemplateCategoryTelecommunications ApplicationTemplateCategory = "Telecommunications"
	ApplicationTemplateCategoryTools              ApplicationTemplateCategory = "Tools"
	ApplicationTemplateCategoryTravel             ApplicationTemplateCategory = "Travel"
	ApplicationTemplateCategoryWebDesignHosting   ApplicationTemplateCategory = "Web design & hosting"
)

type ApplicationTemplatesClient added in v0.28.0

type ApplicationTemplatesClient struct {
	BaseClient Client
}

ApplicationTemplatesClient performs operations on ApplicationTemplates.

func NewApplicationTemplatesClient added in v0.28.0

func NewApplicationTemplatesClient(tenantId string) *ApplicationTemplatesClient

NewApplicationTemplatesClient returns a new ApplicationTemplatesClient

func (*ApplicationTemplatesClient) Get added in v0.28.0

Get retrieves an ApplicationTemplate

func (*ApplicationTemplatesClient) Instantiate added in v0.28.0

func (c *ApplicationTemplatesClient) Instantiate(ctx context.Context, applicationTemplate ApplicationTemplate) (*ApplicationTemplate, int, error)

Instantiate instantiates an ApplicationTemplate, which creates an Application and Service Principal in the tenant. The created Application and ServicePrincipal are provided in the response.

func (*ApplicationTemplatesClient) List added in v0.28.0

List returns a list of ApplicationTemplates, optionally queried using OData.

type ApplicationWeb

type ApplicationWeb struct {
	HomePageUrl           *StringNullWhenEmpty   `json:"homePageUrl,omitempty"`
	ImplicitGrantSettings *ImplicitGrantSettings `json:"implicitGrantSettings,omitempty"`
	LogoutUrl             *StringNullWhenEmpty   `json:"logoutUrl,omitempty"`
	RedirectUris          *[]string              `json:"redirectUris,omitempty"`
}

type ApplicationsClient

type ApplicationsClient struct {
	BaseClient Client
}

ApplicationsClient performs operations on Applications.

func NewApplicationsClient

func NewApplicationsClient(tenantId string) *ApplicationsClient

NewApplicationsClient returns a new ApplicationsClient

func (*ApplicationsClient) AddOwners

func (c *ApplicationsClient) AddOwners(ctx context.Context, application *Application) (int, error)

AddOwners adds new owners to an Application. First populate the `owners` field, then call this method

func (*ApplicationsClient) AddPassword added in v0.13.0

func (c *ApplicationsClient) AddPassword(ctx context.Context, applicationId string, passwordCredential PasswordCredential) (*PasswordCredential, int, error)

AddPassword appends a new password credential to an Application.

func (*ApplicationsClient) Create

func (c *ApplicationsClient) Create(ctx context.Context, application Application) (*Application, int, error)

Create creates a new Application.

func (*ApplicationsClient) CreateExtension added in v0.18.0

func (c *ApplicationsClient) CreateExtension(ctx context.Context, applicationExtension ApplicationExtension, id string) (*ApplicationExtension, int, error)

Create creates a new ApplicationExtension.

func (*ApplicationsClient) CreateFederatedIdentityCredential added in v0.39.0

func (c *ApplicationsClient) CreateFederatedIdentityCredential(ctx context.Context, applicationId string, credential FederatedIdentityCredential) (*FederatedIdentityCredential, int, error)

CreateFederatedIdentityCredential adds a new federated identity credential for an application

func (*ApplicationsClient) Delete

func (c *ApplicationsClient) Delete(ctx context.Context, id string) (int, error)

Delete removes an Application.

func (*ApplicationsClient) DeleteExtension added in v0.18.0

func (c *ApplicationsClient) DeleteExtension(ctx context.Context, applicationId, extensionId string) (int, error)

DeleteExtension removes an Application Extension.

func (*ApplicationsClient) DeleteFederatedIdentityCredential added in v0.39.0

func (c *ApplicationsClient) DeleteFederatedIdentityCredential(ctx context.Context, applicationId, credentialId string) (int, error)

DeleteFederatedIdentityCredential removes a federated identity credential from an application

func (*ApplicationsClient) DeletePermanently added in v0.15.0

func (c *ApplicationsClient) DeletePermanently(ctx context.Context, id string) (int, error)

DeletePermanently removes a deleted Application permanently. id is the object ID of the application.

func (*ApplicationsClient) Get

func (c *ApplicationsClient) Get(ctx context.Context, id string, query odata.Query) (*Application, int, error)

Get retrieves an Application manifest.

func (*ApplicationsClient) GetDeleted added in v0.14.0

func (c *ApplicationsClient) GetDeleted(ctx context.Context, id string, query odata.Query) (*Application, int, error)

GetDeleted retrieves a deleted Application manifest. id is the object ID of the application.

func (*ApplicationsClient) GetFederatedIdentityCredential added in v0.39.0

func (c *ApplicationsClient) GetFederatedIdentityCredential(ctx context.Context, applicationId, credentialId string, query odata.Query) (*FederatedIdentityCredential, int, error)

GetFederatedIdentityCredential returns the federated identity credentials for an application

func (*ApplicationsClient) GetOwner

func (c *ApplicationsClient) GetOwner(ctx context.Context, applicationId, ownerId string) (*string, int, error)

GetOwner retrieves a single owner for the specified Application. applicationId is the object ID of the application. ownerId is the object ID of the owning object.

func (*ApplicationsClient) List

func (c *ApplicationsClient) List(ctx context.Context, query odata.Query) (*[]Application, int, error)

List returns a list of Applications, optionally queried using OData.

func (*ApplicationsClient) ListDeleted added in v0.14.0

func (c *ApplicationsClient) ListDeleted(ctx context.Context, query odata.Query) (*[]Application, int, error)

ListDeleted retrieves a list of recently deleted applications, optionally queried using OData.

func (*ApplicationsClient) ListExtensions added in v0.18.0

func (c *ApplicationsClient) ListExtensions(ctx context.Context, id string, query odata.Query) (*[]ApplicationExtension, int, error)

func (*ApplicationsClient) ListFederatedIdentityCredentials added in v0.39.0

func (c *ApplicationsClient) ListFederatedIdentityCredentials(ctx context.Context, applicationId string, query odata.Query) (*[]FederatedIdentityCredential, int, error)

ListFederatedIdentityCredentials returns the federated identity credentials for an application

func (*ApplicationsClient) ListOwners

func (c *ApplicationsClient) ListOwners(ctx context.Context, id string) (*[]string, int, error)

ListOwners retrieves the owners of the specified Application. id is the object ID of the application.

func (*ApplicationsClient) RemoveOwners

func (c *ApplicationsClient) RemoveOwners(ctx context.Context, applicationId string, ownerIds *[]string) (int, error)

RemoveOwners removes owners from an Application. applicationId is the object ID of the application. ownerIds is a *[]string containing object IDs of owners to remove.

func (*ApplicationsClient) RemovePassword added in v0.13.0

func (c *ApplicationsClient) RemovePassword(ctx context.Context, applicationId string, keyId string) (int, error)

RemovePassword removes a password credential from an Application.

func (*ApplicationsClient) RestoreDeleted added in v0.17.0

func (c *ApplicationsClient) RestoreDeleted(ctx context.Context, id string) (*Application, int, error)

RestoreDeleted restores a recently deleted Application. id is the object ID of the application.

func (*ApplicationsClient) Update

func (c *ApplicationsClient) Update(ctx context.Context, application Application) (int, error)

Update amends the manifest of an existing Application.

func (*ApplicationsClient) UpdateFederatedIdentityCredential added in v0.39.0

func (c *ApplicationsClient) UpdateFederatedIdentityCredential(ctx context.Context, applicationId string, credential FederatedIdentityCredential) (int, error)

UpdateFederatedIdentityCredential updates an existing federated identity credential for an application

func (c *ApplicationsClient) UploadLogo(ctx context.Context, applicationId, contentType string, logoData []byte) (int, error)

UploadLogo uploads the application logo which should be a gif, jpeg or png image

type AppliedConditionalAccessPolicy added in v0.18.0

type AppliedConditionalAccessPolicy struct {
	DisplayName             *string   `json:"displayName,omitempty"`
	EnforcedGrantControls   *[]string `json:"enforcedGrantControls,omitempty"`
	EnforcedSessionControls *[]string `json:"enforcedSessionControls,omitempty"`
	Id                      *string   `json:"id,omitempty"`
	Result                  *string   `json:"appliedConditionalAccessPolicyResult,omitempty"`
}

type ApprovalMode added in v0.31.0

type ApprovalMode = string
const (
	ApprovalModeNoApproval  ApprovalMode = "NoApproval"
	ApprovalModeSerial      ApprovalMode = "Serial"
	ApprovalModeSingleStage ApprovalMode = "SingleStage"
)

type ApprovalSettings added in v0.31.0

type ApprovalSettings struct {
	IsApprovalRequired               *bool            `json:"isApprovalRequired,omitempty"`
	IsApprovalRequiredForExtension   *bool            `json:"isApprovalRequiredForExtension,omitempty"`
	IsRequestorJustificationRequired *bool            `json:"isRequestorJustificationRequired,omitempty"`
	ApprovalMode                     ApprovalMode     `json:"approvalMode,omitempty"`
	ApprovalStages                   *[]ApprovalStage `json:"approvalStages,omitempty"`
}

type ApprovalStage added in v0.31.0

type ApprovalStage struct {
	ApprovalStageTimeOutInDays      *int32     `json:"approvalStageTimeOutInDays,omitempty"`
	IsApproverJustificationRequired *bool      `json:"isApproverJustificationRequired,omitempty"`
	IsEscalationEnabled             *bool      `json:"isEscalationEnabled,omitempty"`
	EscalationTimeInMinutes         *int32     `json:"escalationTimeInMinutes,omitempty"`
	PrimaryApprovers                *[]UserSet `json:"primaryApprovers,omitempty"`
	EscalationApprovers             *[]UserSet `json:"escalationApprovers,omitempty"`
}

type AssignmentReviewSettings added in v0.31.0

type AssignmentReviewSettings struct {
	IsEnabled                       *bool                           `json:"isEnabled,omitempty"`
	RecurrenceType                  AccessReviewRecurranceType      `json:"recurrenceType,omitempty"`
	ReviewerType                    AccessReviewReviewerType        `json:"reviewerType,omitempty"`
	StartDateTime                   *time.Time                      `json:"startDateTime,omitempty"`
	DurationInDays                  *int32                          `json:"durationInDays,omitempty"`
	Reviewers                       *[]UserSet                      `json:"reviewers,omitempty"`
	IsAccessRecommendationEnabled   *bool                           `json:"isAccessRecommendationEnabled,omitempty"`
	IsApprovalJustificationRequired *bool                           `json:"isApprovalJustificationRequired,omitempty"`
	AccessReviewTimeoutBehavior     AccessReviewTimeoutBehaviorType `json:"accessReviewTimeoutBehavior,omitempty"`
}

type AttestationLevel added in v0.25.0

type AttestationLevel = string
const (
	AttestationLevelAttested    AttestationLevel = "attested"
	AttestationLevelNotAttested AttestationLevel = "notAttested"
)

type AuditActivityInitiator added in v0.18.0

type AuditActivityInitiator struct {
	App  *AppIdentity  `json:"app,omitempty"`
	User *UserIdentity `json:"user,omitempty"`
}

type AuthenticationMethod added in v0.25.0

type AuthenticationMethod interface{}

type AuthenticationMethodFeature added in v0.24.0

type AuthenticationMethodFeature = string
const (
	AuthenticationMethodFeatureSsprRegistered      AuthenticationMethodFeature = "ssprRegistered"
	AuthenticationMethodFeatureSsprEnabled         AuthenticationMethodFeature = "ssprEnabled"
	AuthenticationMethodFeatureSsprCapable         AuthenticationMethodFeature = "ssprCapable"
	AuthenticationMethodFeaturePasswordlessCapable AuthenticationMethodFeature = "passwordlessCapable"
	AuthenticationMethodFeatureMfaCapable          AuthenticationMethodFeature = "mfaCapable"
)

type AuthenticationMethodKeyStrength added in v0.25.0

type AuthenticationMethodKeyStrength = string
const (
	AuthenticationMethodKeyStrengthNormal  AuthenticationMethodKeyStrength = "normal"
	AuthenticationMethodKeyStrengthWeak    AuthenticationMethodKeyStrength = "weak"
	AuthenticationMethodKeyStrengthUnknown AuthenticationMethodKeyStrength = "unknown"
)

type AuthenticationMethodsClient added in v0.25.0

type AuthenticationMethodsClient struct {
	BaseClient Client
}

AuthenticationMethodsClient performs operations on the Authentications methods endpoint under Identity and Sign-in

func NewAuthenticationMethodsClient added in v0.25.0

func NewAuthenticationMethodsClient(tenantId string) *AuthenticationMethodsClient

NewAuthenticationMethodsClient returns a new AuthenticationMethodsClient

func (*AuthenticationMethodsClient) CreateEmailMethod added in v0.25.0

func (*AuthenticationMethodsClient) CreatePhoneMethod added in v0.25.0

func (*AuthenticationMethodsClient) CreateTemporaryAccessPassMethod added in v0.25.0

func (*AuthenticationMethodsClient) DeleteEmailMethod added in v0.25.0

func (c *AuthenticationMethodsClient) DeleteEmailMethod(ctx context.Context, userID, id string) (int, error)

func (*AuthenticationMethodsClient) DeleteFido2Method added in v0.25.0

func (c *AuthenticationMethodsClient) DeleteFido2Method(ctx context.Context, userID, id string) (int, error)

func (*AuthenticationMethodsClient) DeleteMicrosoftAuthenticatorMethod added in v0.25.0

func (c *AuthenticationMethodsClient) DeleteMicrosoftAuthenticatorMethod(ctx context.Context, userID, id string) (int, error)

func (*AuthenticationMethodsClient) DeletePhoneMethod added in v0.25.0

func (c *AuthenticationMethodsClient) DeletePhoneMethod(ctx context.Context, userID, id string) (int, error)

func (*AuthenticationMethodsClient) DeleteTemporaryAccessPassMethod added in v0.25.0

func (c *AuthenticationMethodsClient) DeleteTemporaryAccessPassMethod(ctx context.Context, userID, id string) (int, error)

func (*AuthenticationMethodsClient) DeleteWindowsHelloMethod added in v0.25.0

func (c *AuthenticationMethodsClient) DeleteWindowsHelloMethod(ctx context.Context, userID, id string) (int, error)

func (*AuthenticationMethodsClient) DisablePhoneSMS added in v0.25.0

func (c *AuthenticationMethodsClient) DisablePhoneSMS(ctx context.Context, userID, id string) (int, error)

func (*AuthenticationMethodsClient) EnablePhoneSMS added in v0.25.0

func (c *AuthenticationMethodsClient) EnablePhoneSMS(ctx context.Context, userID, id string) (int, error)

func (*AuthenticationMethodsClient) GetEmailMethod added in v0.25.0

func (c *AuthenticationMethodsClient) GetEmailMethod(ctx context.Context, userID, id string, query odata.Query) (*EmailAuthenticationMethod, int, error)

func (*AuthenticationMethodsClient) GetFido2Method added in v0.25.0

func (c *AuthenticationMethodsClient) GetFido2Method(ctx context.Context, userID, id string, query odata.Query) (*Fido2AuthenticationMethod, int, error)

func (*AuthenticationMethodsClient) GetMicrosoftAuthenticatorMethod added in v0.25.0

func (c *AuthenticationMethodsClient) GetMicrosoftAuthenticatorMethod(ctx context.Context, userID, id string, query odata.Query) (*MicrosoftAuthenticatorAuthenticationMethod, int, error)

func (*AuthenticationMethodsClient) GetPasswordMethod added in v0.25.0

func (c *AuthenticationMethodsClient) GetPasswordMethod(ctx context.Context, userID, id string, query odata.Query) (*PasswordAuthenticationMethod, int, error)

func (*AuthenticationMethodsClient) GetPhoneMethod added in v0.25.0

func (c *AuthenticationMethodsClient) GetPhoneMethod(ctx context.Context, userID, id string, query odata.Query) (*PhoneAuthenticationMethod, int, error)

func (*AuthenticationMethodsClient) GetTemporaryAccessPassMethod added in v0.25.0

func (c *AuthenticationMethodsClient) GetTemporaryAccessPassMethod(ctx context.Context, userID, id string, query odata.Query) (*TemporaryAccessPassAuthenticationMethod, int, error)

func (*AuthenticationMethodsClient) GetWindowsHelloMethod added in v0.25.0

func (*AuthenticationMethodsClient) List added in v0.25.0

List all authentication methods

func (*AuthenticationMethodsClient) ListEmailMethods added in v0.25.0

func (c *AuthenticationMethodsClient) ListEmailMethods(ctx context.Context, userID string, query odata.Query) (*[]EmailAuthenticationMethod, int, error)

func (*AuthenticationMethodsClient) ListFido2Methods added in v0.25.0

func (c *AuthenticationMethodsClient) ListFido2Methods(ctx context.Context, userID string, query odata.Query) (*[]Fido2AuthenticationMethod, int, error)

func (*AuthenticationMethodsClient) ListMicrosoftAuthenticatorMethods added in v0.25.0

func (c *AuthenticationMethodsClient) ListMicrosoftAuthenticatorMethods(ctx context.Context, userID string, query odata.Query) (*[]MicrosoftAuthenticatorAuthenticationMethod, int, error)

func (*AuthenticationMethodsClient) ListPasswordMethods added in v0.25.0

func (c *AuthenticationMethodsClient) ListPasswordMethods(ctx context.Context, userID string, query odata.Query) (*[]PasswordAuthenticationMethod, int, error)

func (*AuthenticationMethodsClient) ListPhoneMethods added in v0.25.0

func (c *AuthenticationMethodsClient) ListPhoneMethods(ctx context.Context, userID string, query odata.Query) (*[]PhoneAuthenticationMethod, int, error)

func (*AuthenticationMethodsClient) ListTemporaryAccessPassMethods added in v0.25.0

func (c *AuthenticationMethodsClient) ListTemporaryAccessPassMethods(ctx context.Context, userID string, query odata.Query) (*[]TemporaryAccessPassAuthenticationMethod, int, error)

func (*AuthenticationMethodsClient) ListWindowsHelloMethods added in v0.25.0

func (*AuthenticationMethodsClient) UpdateEmailMethod added in v0.25.0

func (c *AuthenticationMethodsClient) UpdateEmailMethod(ctx context.Context, userID string, email EmailAuthenticationMethod) (int, error)

func (*AuthenticationMethodsClient) UpdatePhoneMethod added in v0.25.0

func (c *AuthenticationMethodsClient) UpdatePhoneMethod(ctx context.Context, userID string, phone PhoneAuthenticationMethod) (int, error)

type AuthenticationPhoneType added in v0.25.0

type AuthenticationPhoneType = string
const (
	AuthenticationPhoneTypeMobile          AuthenticationPhoneType = "mobile"
	AuthenticationPhoneTypeAlternateMobile AuthenticationPhoneType = "alternateMobile"
	AuthenticationPhoneTypeOffice          AuthenticationPhoneType = "office"
)

type BaseNamedLocation added in v0.11.0

type BaseNamedLocation struct {
	ODataType        *odata.Type `json:"@odata.type,omitempty"`
	ID               *string     `json:"id,omitempty"`
	DisplayName      *string     `json:"displayName,omitempty"`
	CreatedDateTime  *time.Time  `json:"createdDateTime,omitempty"`
	ModifiedDateTime *time.Time  `json:"modifiedDateTime,omitempty"`
}

type BodyType added in v0.13.0

type BodyType = string
const (
	BodyTypeText BodyType = "text"
	BodyTypeHtml BodyType = "html"
)

type ClaimsMappingPolicy added in v0.42.0

type ClaimsMappingPolicy struct {
	DirectoryObject
	Definition            *[]string `json:"definition,omitempty"`
	Description           *string   `json:"description,omitempty"`
	DisplayName           *string   `json:"displayName,omitempty"`
	IsOrganizationDefault *bool     `json:"isOrganizationDefault,omitempty"`
}

type ClaimsMappingPolicyClient added in v0.42.0

type ClaimsMappingPolicyClient struct {
	BaseClient Client
}

func NewClaimsMappingPolicyClient added in v0.42.0

func NewClaimsMappingPolicyClient(tenantId string) *ClaimsMappingPolicyClient

NewClaimsMappingPolicyClient returns a new ClaimsMappingPolicyClient

func (*ClaimsMappingPolicyClient) Create added in v0.42.0

Create creates a new ClaimsMappingPolicy.

func (*ClaimsMappingPolicyClient) Delete added in v0.42.0

func (c *ClaimsMappingPolicyClient) Delete(ctx context.Context, id string) (int, error)

Delete removes a ClaimsMappingPolicy.

func (*ClaimsMappingPolicyClient) Get added in v0.42.0

Get retrieves a ClaimsMappingPolicy.

func (*ClaimsMappingPolicyClient) List added in v0.42.0

List returns a list of ClaimsMappingPolicy, optionally queried using OData.

func (*ClaimsMappingPolicyClient) Update added in v0.42.0

func (c *ClaimsMappingPolicyClient) Update(ctx context.Context, claimsMappingPolicy ClaimsMappingPolicy) (int, error)

Update amends an existing ClaimsMappingPolicy.

type Client

type Client struct {
	// Endpoint is the base endpoint for Microsoft Graph, usually "https://graph.microsoft.com".
	Endpoint environments.ApiEndpoint

	// ApiVersion is the Microsoft Graph API version to use.
	ApiVersion ApiVersion

	// TenantId is the tenant ID to use in requests.
	TenantId string

	// UserAgent is the HTTP user agent string to send in requests.
	UserAgent string

	// Authorizer is anything that can provide an access token with which to authorize requests.
	Authorizer auth.Authorizer

	// DisableRetries prevents the client from reattempting failed requests (which it does to work around eventual consistency issues).
	// This does not impact handling of retries related to rate limiting, which are always performed.
	DisableRetries bool

	// RequestMiddlewares is a slice of functions that are called in order before a request is sent
	RequestMiddlewares *[]RequestMiddleware

	// ResponseMiddlewares is a slice of functions that are called in order before a response is parsed and returned
	ResponseMiddlewares *[]ResponseMiddleware

	// HttpClient is the underlying http.Client, which by default uses a retryable client
	HttpClient      *http.Client
	RetryableClient *retryablehttp.Client
}

Client is a base client to be used by clients for specific entities. It can send GET, POST, PUT, PATCH and DELETE requests to Microsoft Graph and is API version and tenant aware.

func NewClient

func NewClient(apiVersion ApiVersion, tenantId string) Client

NewClient returns a new Client configured with the specified API version and tenant ID.

func (Client) Delete

Delete performs a DELETE request.

func (Client) Get

Get performs a GET request.

func (Client) Patch

Patch performs a PATCH request.

func (Client) Post

Post performs a POST request.

func (Client) Put

Put performs a PUT request.

type CloudAppSecurityControl added in v0.11.0

type CloudAppSecurityControl struct {
	IsEnabled            *bool                                                `json:"isEnabled,omitempty"`
	CloudAppSecurityType *ConditionalAccessCloudAppSecuritySessionControlType `json:"cloudAppSecurityType,omitempty"`
}

type ConditionalAccessApplications added in v0.11.0

type ConditionalAccessApplications struct {
	IncludeApplications *[]string `json:"includeApplications,omitempty"`
	ExcludeApplications *[]string `json:"excludeApplications,omitempty"`
	IncludeUserActions  *[]string `json:"includeUserActions,omitempty"`
}

type ConditionalAccessClientAppType added in v0.36.0

type ConditionalAccessClientAppType = string
const (
	ConditionalAccessClientAppTypeAll                         ConditionalAccessClientAppType = "all"
	ConditionalAccessClientAppTypeBrowser                     ConditionalAccessClientAppType = "browser"
	ConditionalAccessClientAppTypeEasSupported                ConditionalAccessClientAppType = "easSupported"
	ConditionalAccessClientAppTypeExchangeActiveSync          ConditionalAccessClientAppType = "exchangeActiveSync"
	ConditionalAccessClientAppTypeMobileAppsAndDesktopClients ConditionalAccessClientAppType = "mobileAppsAndDesktopClients"
	ConditionalAccessClientAppTypeOther                       ConditionalAccessClientAppType = "other"
)

type ConditionalAccessCloudAppSecuritySessionControlType added in v0.36.0

type ConditionalAccessCloudAppSecuritySessionControlType = string
const (
	ConditionalAccessCloudAppSecuritySessionControlTypeBlockDownloads     ConditionalAccessCloudAppSecuritySessionControlType = "blockDownloads"
	ConditionalAccessCloudAppSecuritySessionControlTypeMcasConfigured     ConditionalAccessCloudAppSecuritySessionControlType = "mcasConfigured"
	ConditionalAccessCloudAppSecuritySessionControlTypeMonitorOnly        ConditionalAccessCloudAppSecuritySessionControlType = "monitorOnly"
	ConditionalAccessCloudAppSecuritySessionControlTypeUnknownFutureValue ConditionalAccessCloudAppSecuritySessionControlType = "unknownFutureValue"
)

type ConditionalAccessConditionSet added in v0.11.0

type ConditionalAccessConditionSet struct {
	Applications     *ConditionalAccessApplications    `json:"applications,omitempty"`
	ClientAppTypes   *[]ConditionalAccessClientAppType `json:"clientAppTypes,omitempty"`
	Devices          *ConditionalAccessDevices         `json:"devices,omitempty"`
	DeviceStates     *ConditionalAccessDeviceStates    `json:"deviceStates,omitempty"`
	Locations        *ConditionalAccessLocations       `json:"locations"`
	Platforms        *ConditionalAccessPlatforms       `json:"platforms"`
	SignInRiskLevels *[]ConditionalAccessRiskLevel     `json:"signInRiskLevels,omitempty"`
	UserRiskLevels   *[]ConditionalAccessRiskLevel     `json:"userRiskLevels,omitempty"`
	Users            *ConditionalAccessUsers           `json:"users,omitempty"`
}

type ConditionalAccessDevicePlatform added in v0.36.0

type ConditionalAccessDevicePlatform = string
const (
	ConditionalAccessDevicePlatformAll                ConditionalAccessDevicePlatform = "all"
	ConditionalAccessDevicePlatformAndroid            ConditionalAccessDevicePlatform = "android"
	ConditionalAccessDevicePlatformIos                ConditionalAccessDevicePlatform = "iOS"
	ConditionalAccessDevicePlatformMacOs              ConditionalAccessDevicePlatform = "macOS"
	ConditionalAccessDevicePlatformUnknownFutureValue ConditionalAccessDevicePlatform = "unknownFutureValue"
	ConditionalAccessDevicePlatformWindows            ConditionalAccessDevicePlatform = "windows"
	ConditionalAccessDevicePlatformWindowsPhone       ConditionalAccessDevicePlatform = "windowsPhone"
)

type ConditionalAccessDeviceStates added in v0.36.0

type ConditionalAccessDeviceStates struct {
	IncludeStates *ConditionalAccessDeviceStatesInclude `json:"includeStates,omitempty"`
	ExcludeStates *ConditionalAccessDeviceStatesExclude `json:"excludeStates,omitempty"`
}

type ConditionalAccessDeviceStatesExclude added in v0.36.0

type ConditionalAccessDeviceStatesExclude = string
const (
	ConditionalAccessDeviceStatesExcludeCompliant    ConditionalAccessDeviceStatesExclude = "Compliant"
	ConditionalAccessDeviceStatesExcludeDomainJoined ConditionalAccessDeviceStatesExclude = "DomainJoined"
)

type ConditionalAccessDeviceStatesInclude added in v0.36.0

type ConditionalAccessDeviceStatesInclude = string
const (
	ConditionalAccessDeviceStatesIncludeAll ConditionalAccessDeviceStatesInclude = "All"
)

type ConditionalAccessDevices added in v0.36.0

type ConditionalAccessDevices struct {
	IncludeDevices *[]string                `json:"includeDevices,omitempty"`
	ExcludeDevices *[]string                `json:"excludeDevices,omitempty"`
	DeviceFilter   *ConditionalAccessFilter `json:"deviceFilter,omitempty"`
}

type ConditionalAccessFilter added in v0.36.0

type ConditionalAccessFilter struct {
	Mode *ConditionalAccessFilterMode `json:"mode,omitempty"`
	Rule *string                      `json:"rule,omitempty"`
}

type ConditionalAccessFilterMode added in v0.36.0

type ConditionalAccessFilterMode = string
const (
	ConditionalAccessFilterModeExclude ConditionalAccessFilterMode = "exclude"
	ConditionalAccessFilterModeInclude ConditionalAccessFilterMode = "include"
)

type ConditionalAccessGrantControl added in v0.36.0

type ConditionalAccessGrantControl = string
const (
	ConditionalAccessGrantControlApprovedApplication  ConditionalAccessGrantControl = "approvedApplication"
	ConditionalAccessGrantControlBlock                ConditionalAccessGrantControl = "block"
	ConditionalAccessGrantControlCompliantApplication ConditionalAccessGrantControl = "compliantApplication"
	ConditionalAccessGrantControlCompliantDevice      ConditionalAccessGrantControl = "compliantDevice"
	ConditionalAccessGrantControlDomainJoinedDevice   ConditionalAccessGrantControl = "domainJoinedDevice"
	ConditionalAccessGrantControlMfa                  ConditionalAccessGrantControl = "mfa"
	ConditionalAccessGrantControlPasswordChange       ConditionalAccessGrantControl = "passwordChange"
	ConditionalAccessGrantControlUnknownFutureValue   ConditionalAccessGrantControl = "unknownFutureValue"
)

type ConditionalAccessGrantControls added in v0.11.0

type ConditionalAccessGrantControls struct {
	Operator                    *string                          `json:"operator,omitempty"`
	BuiltInControls             *[]ConditionalAccessGrantControl `json:"builtInControls,omitempty"`
	CustomAuthenticationFactors *[]string                        `json:"customAuthenticationFactors,omitempty"`
	TermsOfUse                  *[]string                        `json:"termsOfUse,omitempty"`
}

type ConditionalAccessLocations added in v0.11.0

type ConditionalAccessLocations struct {
	IncludeLocations *[]string `json:"includeLocations,omitempty"`
	ExcludeLocations *[]string `json:"excludeLocations,omitempty"`
}

type ConditionalAccessPlatforms added in v0.11.0

type ConditionalAccessPlatforms struct {
	IncludePlatforms *[]ConditionalAccessDevicePlatform `json:"includePlatforms,omitempty"`
	ExcludePlatforms *[]ConditionalAccessDevicePlatform `json:"excludePlatforms,omitempty"`
}

type ConditionalAccessPoliciesClient added in v0.35.0

type ConditionalAccessPoliciesClient struct {
	BaseClient Client
}

ConditionalAccessPoliciesClient performs operations on ConditionalAccessPolicy.

func NewConditionalAccessPoliciesClient added in v0.35.0

func NewConditionalAccessPoliciesClient(tenantId string) *ConditionalAccessPoliciesClient

NewConditionalAccessPoliciesClient returns a new ConditionalAccessPoliciesClient

func (*ConditionalAccessPoliciesClient) Create added in v0.35.0

Create creates a new ConditionalAccessPolicy.

func (*ConditionalAccessPoliciesClient) Delete added in v0.35.0

Delete removes a ConditionalAccessPolicy.

func (*ConditionalAccessPoliciesClient) Get added in v0.35.0

Get retrieves a ConditionalAccessPolicy.

func (*ConditionalAccessPoliciesClient) List added in v0.35.0

List returns a list of ConditionalAccessPolicy, optionally queried using OData.

func (*ConditionalAccessPoliciesClient) Update added in v0.35.0

func (c *ConditionalAccessPoliciesClient) Update(ctx context.Context, conditionalAccessPolicy ConditionalAccessPolicy) (int, error)

Update amends an existing ConditionalAccessPolicy.

type ConditionalAccessPolicy added in v0.11.0

type ConditionalAccessPolicy struct {
	Conditions       *ConditionalAccessConditionSet    `json:"conditions,omitempty"`
	CreatedDateTime  *time.Time                        `json:"createdDateTime,omitempty"`
	DisplayName      *string                           `json:"displayName,omitempty"`
	GrantControls    *ConditionalAccessGrantControls   `json:"grantControls,omitempty"`
	ID               *string                           `json:"id,omitempty"`
	ModifiedDateTime *time.Time                        `json:"modifiedDateTime,omitempty"`
	SessionControls  *ConditionalAccessSessionControls `json:"sessionControls,omitempty"`
	State            *ConditionalAccessPolicyState     `json:"state,omitempty"`
}

ConditionalAccessPolicy describes an Conditional Access Policy object.

type ConditionalAccessPolicyState added in v0.27.0

type ConditionalAccessPolicyState = string
const (
	ConditionalAccessPolicyStateEnabled                           ConditionalAccessPolicyState = "enabled"
	ConditionalAccessPolicyStateDisabled                          ConditionalAccessPolicyState = "disabled"
	ConditionalAccessPolicyStateEnabledForReportingButNotEnforced ConditionalAccessPolicyState = "enabledForReportingButNotEnforced"
)

type ConditionalAccessRiskLevel added in v0.36.0

type ConditionalAccessRiskLevel = string
const (
	ConditionalAccessRiskLevelHidden             ConditionalAccessRiskLevel = "hidden"
	ConditionalAccessRiskLevelHigh               ConditionalAccessRiskLevel = "high"
	ConditionalAccessRiskLevelLow                ConditionalAccessRiskLevel = "low"
	ConditionalAccessRiskLevelMedium             ConditionalAccessRiskLevel = "medium"
	ConditionalAccessRiskLevelNone               ConditionalAccessRiskLevel = "none"
	ConditionalAccessRiskLevelUnknownFutureValue ConditionalAccessRiskLevel = "unknownFutureValue"
)

type ConditionalAccessSessionControls added in v0.11.0

type ConditionalAccessSessionControls struct {
	ApplicationEnforcedRestrictions *ApplicationEnforcedRestrictionsSessionControl `json:"applicationEnforcedRestrictions,omitempty"`
	CloudAppSecurity                *CloudAppSecurityControl                       `json:"cloudAppSecurity,omitempty"`
	PersistentBrowser               *PersistentBrowserSessionControl               `json:"persistentBrowser,omitempty"`
	SignInFrequency                 *SignInFrequencySessionControl                 `json:"signInFrequency,omitempty"`
}

type ConditionalAccessUsers added in v0.11.0

type ConditionalAccessUsers struct {
	IncludeUsers  *[]string `json:"includeUsers,omitempty"`
	ExcludeUsers  *[]string `json:"excludeUsers,omitempty"`
	IncludeGroups *[]string `json:"includeGroups,omitempty"`
	ExcludeGroups *[]string `json:"excludeGroups,omitempty"`
	IncludeRoles  *[]string `json:"includeRoles,omitempty"`
	ExcludeRoles  *[]string `json:"excludeRoles,omitempty"`
}

type ConnectionInfo added in v0.31.0

type ConnectionInfo struct {
	Url *string `json:"url,omitempty"`
}

type ConsentProvidedForMinor added in v0.21.0

type ConsentProvidedForMinor = StringNullWhenEmpty
const (
	ConsentProvidedForMinorNone        ConsentProvidedForMinor = ""
	ConsentProvidedForMinorDenied      ConsentProvidedForMinor = "Denied"
	ConsentProvidedForMinorGranted     ConsentProvidedForMinor = "Granted"
	ConsentProvidedForMinorNotRequired ConsentProvidedForMinor = "NotRequired"
)

type ConsistencyFailureFunc added in v0.16.0

type ConsistencyFailureFunc func(*http.Response, *odata.OData) bool

ConsistencyFailureFunc is a function that determines whether an HTTP request has failed due to eventual consistency and should be retried

type CountryNamedLocation added in v0.11.0

type CountryNamedLocation struct {
	*BaseNamedLocation
	CountriesAndRegions               *[]string `json:"countriesAndRegions,omitempty"`
	IncludeUnknownCountriesAndRegions *bool     `json:"includeUnknownCountriesAndRegions,omitempty"`
}

CountryNamedLocation describes an Country Named Location object.

type CredentialUsageSummary added in v0.24.0

type CredentialUsageSummary struct {
	AuthMethod              *UsageAuthMethod `json:"usageAuthMethod,omitempty"`
	FailureActivityCount    *int64           `json:"failureActivityCount,omitempty"`
	Feature                 *FeatureType     `json:"feature,omitempty"`
	ID                      *string          `json:"id,omitempty"`
	SuccessfulActivityCount *int64           `json:"successfulActivityCount,omitempty"`
}

type CredentialUsageSummaryPeriod added in v0.24.0

type CredentialUsageSummaryPeriod = string
const (
	CredentialUsageSummaryPeriod30 CredentialUsageSummaryPeriod = "D30"
	CredentialUsageSummaryPeriod7  CredentialUsageSummaryPeriod = "D7"
	CredentialUsageSummaryPeriod1  CredentialUsageSummaryPeriod = "D1"
)

type CredentialUserRegistrationCount added in v0.24.0

type CredentialUserRegistrationCount struct {
	ID                     *string                  `json:"id,omitempty"`
	TotalUserCount         *int64                   `json:"totalUserCount,omitempty"`
	UserRegistrationCounts *[]UserRegistrationCount `json:"userRegistrationCounts,omitempty"`
}

type CredentialUserRegistrationDetails added in v0.24.0

type CredentialUserRegistrationDetails struct {
	AuthMethods       *[]RegistrationAuthMethod `json:"authMethods,omitempty"`
	ID                *string                   `json:"id,omitempty"`
	IsCapable         *bool                     `json:"isCapable,omitempty"`
	IsEnabled         *bool                     `json:"isEnabled,omitempty"`
	IsMfaRegistered   *bool                     `json:"isMfaRegistered,omitempty"`
	IsRegistered      *bool                     `json:"isRegistered,omitempty"`
	UserDisplayName   *string                   `json:"userDisplayName,omitempty"`
	UserPrincipalName *string                   `json:"UserPrincipalName,omitempty"`
}

type DelegatedPermissionGrant added in v0.36.0

type DelegatedPermissionGrant struct {
	Id          *string                              `json:"id,omitempty"`
	ClientId    *string                              `json:"clientId,omitempty"`
	ConsentType *DelegatedPermissionGrantConsentType `json:"consentType,omitempty"`
	PrincipalId *string                              `json:"principalId,omitempty"`
	ResourceId  *string                              `json:"resourceId,omitempty"`
	Scopes      *[]string                            `json:"-"`
}

func (DelegatedPermissionGrant) MarshalJSON added in v0.36.0

func (d DelegatedPermissionGrant) MarshalJSON() ([]byte, error)

func (*DelegatedPermissionGrant) UnmarshalJSON added in v0.36.0

func (d *DelegatedPermissionGrant) UnmarshalJSON(data []byte) error

type DelegatedPermissionGrantConsentType added in v0.36.0

type DelegatedPermissionGrantConsentType = string
const (
	DelegatedPermissionGrantConsentTypeAllPrincipals DelegatedPermissionGrantConsentType = "AllPrincipals"
	DelegatedPermissionGrantConsentTypePrincipal     DelegatedPermissionGrantConsentType = "Principal"
)

type DelegatedPermissionGrantsClient added in v0.36.0

type DelegatedPermissionGrantsClient struct {
	BaseClient Client
}

DelegatedPermissionGrantsClient performs operations on DelegatedPermissionGrants.

func NewDelegatedPermissionGrantsClient added in v0.36.0

func NewDelegatedPermissionGrantsClient(tenantId string) *DelegatedPermissionGrantsClient

NewDelegatedPermissionGrantsClient returns a new DelegatedPermissionGrantsClient

func (*DelegatedPermissionGrantsClient) Create added in v0.36.0

Create creates a new delegated permission grant

func (*DelegatedPermissionGrantsClient) Delete added in v0.36.0

Delete removes a delegated permission grant

func (*DelegatedPermissionGrantsClient) Get added in v0.36.0

Get returns a delegated permission grant

func (*DelegatedPermissionGrantsClient) List added in v0.36.0

List returns a list of delegated permission grants

func (*DelegatedPermissionGrantsClient) Update added in v0.36.0

func (c *DelegatedPermissionGrantsClient) Update(ctx context.Context, delegatedPermissionGrant DelegatedPermissionGrant) (int, error)

Update amends an existing delegated permission grant

type DeleteHttpRequestInput

type DeleteHttpRequestInput struct {
	ConsistencyFailureFunc ConsistencyFailureFunc
	OData                  odata.Query
	ValidStatusCodes       []int
	ValidStatusFunc        ValidStatusFunc
	Uri                    Uri
}

DeleteHttpRequestInput configures a DELETE request.

func (DeleteHttpRequestInput) GetConsistencyFailureFunc added in v0.16.0

func (i DeleteHttpRequestInput) GetConsistencyFailureFunc() ConsistencyFailureFunc

GetConsistencyFailureFunc returns a function used to evaluate whether a failed request is due to eventual consistency and should be retried.

func (DeleteHttpRequestInput) GetContentType added in v0.29.0

func (i DeleteHttpRequestInput) GetContentType() string

GetContentType returns the content type for the request, currently only application/json is supported

func (DeleteHttpRequestInput) GetOData added in v0.32.0

func (i DeleteHttpRequestInput) GetOData() odata.Query

GetOData returns the OData request metadata

func (DeleteHttpRequestInput) GetValidStatusCodes

func (i DeleteHttpRequestInput) GetValidStatusCodes() []int

GetValidStatusCodes returns a []int of status codes considered valid for a DELETE request.

func (DeleteHttpRequestInput) GetValidStatusFunc

func (i DeleteHttpRequestInput) GetValidStatusFunc() ValidStatusFunc

GetValidStatusFunc returns a function used to evaluate whether the response to a DELETE request is considered valid.

type DeviceDetail added in v0.18.0

type DeviceDetail struct {
	Browser         *string `json:"browser,omitempty"`
	DeviceId        *string `json:"deviceId,omitempty"`
	DisplayName     *string `json:"displayName,omitempty"`
	IsCompliant     *bool   `json:"isCompliant,omitempty"`
	IsManaged       *bool   `json:"isManaged,omitempty"`
	OperatingSystem *string `json:"operatingSystem,omitempty"`
	TrustType       *string `json:"trustType,omitempty"`
}

type DirectoryAudit added in v0.18.0

type DirectoryAudit struct {
	ActivityDateTime    *time.Time              `json:"activityDateTime,omitempty"`
	ActivityDisplayName *string                 `json:"activityDisplayName,omitempty"`
	AdditionalDetails   *[]KeyValue             `json:"additionalDetails,omitempty"`
	Category            *string                 `json:"category,omitempty"`
	CorrelationId       *string                 `json:"correlationId,omitempty"`
	Id                  *string                 `json:"id,omitempty"`
	InitiatedBy         *AuditActivityInitiator `json:"initiatedBy,omitempty"`
	LoggedByService     *string                 `json:"loggedByService,omitempty"`
	Result              *string                 `json:"result,omitempty"`
	ResultReason        *string                 `json:"resultReason,omitempty"`
	TargetResources     *[]TargetResource       `json:"targetResources,omitempty"`
}

type DirectoryAuditReportsClient added in v0.18.0

type DirectoryAuditReportsClient struct {
	BaseClient Client
}

DirectoryAuditReportsClient performs operations on directory Audit reports.

func NewDirectoryAuditReportsClient added in v0.18.0

func NewDirectoryAuditReportsClient(tenantId string) *DirectoryAuditReportsClient

NewDirectoryAuditReportsClient returns a new DirectoryAuditReportsClient.

func (*DirectoryAuditReportsClient) Get added in v0.18.0

Get retrieves a Directory audit report.

func (*DirectoryAuditReportsClient) List added in v0.18.0

List returns a list of Directory audit report logs, optionally queried using OData.

type DirectoryObject added in v0.24.0

type DirectoryObject struct {
	ODataId   *odata.Id   `json:"@odata.id,omitempty"`
	ODataType *odata.Type `json:"@odata.type,omitempty"`
	ID        *string     `json:"id,omitempty"`
}

func (*DirectoryObject) Uri added in v0.24.0

func (o *DirectoryObject) Uri(endpoint environments.ApiEndpoint, apiVersion ApiVersion) string

type DirectoryObjectsClient added in v0.24.0

type DirectoryObjectsClient struct {
	BaseClient Client
}

DirectoryObjectsClient performs operations on Directory Objects (the base type for other objects such as users and groups)

func NewDirectoryObjectsClient added in v0.24.0

func NewDirectoryObjectsClient(tenantId string) *DirectoryObjectsClient

NewDirectoryObjectsClient returns a new DirectoryObjectsClient.

func (*DirectoryObjectsClient) Delete added in v0.24.0

func (c *DirectoryObjectsClient) Delete(ctx context.Context, id string) (int, error)

Delete removes a DirectoryObject.

func (*DirectoryObjectsClient) Get added in v0.24.0

Get retrieves a DirectoryObject.

func (*DirectoryObjectsClient) GetByIds added in v0.24.0

func (c *DirectoryObjectsClient) GetByIds(ctx context.Context, ids []string, types []odata.ShortType) (*[]DirectoryObject, int, error)

GetByIds retrieves multiple DirectoryObjects from a list of IDs.

func (*DirectoryObjectsClient) GetMemberGroups added in v0.24.0

func (c *DirectoryObjectsClient) GetMemberGroups(ctx context.Context, id string, securityEnabledOnly bool) (*[]DirectoryObject, int, error)

GetMemberGroups retrieves IDs of the groups and directory roles that a directory object is a member of. id is the object ID of the directory object.

func (*DirectoryObjectsClient) GetMemberObjects added in v0.24.0

func (c *DirectoryObjectsClient) GetMemberObjects(ctx context.Context, id string, securityEnabledOnly bool) (*[]DirectoryObject, int, error)

GetMemberObjects retrieves IDs of the groups and directory roles that a directory object is a member of. id is the object ID of the directory object.

type DirectoryRole added in v0.12.0

type DirectoryRole struct {
	DirectoryObject
	Members *Members `json:"-"`

	Description    *string `json:"description,omitempty"`
	DisplayName    *string `json:"displayName,omitempty"`
	RoleTemplateId *string `json:"roleTemplateId,omitempty"`
}

func (*DirectoryRole) UnmarshalJSON added in v0.24.0

func (r *DirectoryRole) UnmarshalJSON(data []byte) error

type DirectoryRoleTemplate added in v0.11.0

type DirectoryRoleTemplate struct {
	ID              *string    `json:"id,omitempty"`
	DeletedDateTime *time.Time `json:"deletedDateTime,omitempty"`
	Description     *string    `json:"description,omitempty"`
	DisplayName     *string    `json:"displayName,omitempty"`
}

DirectoryRoleTemplate describes a Directory Role Template.

type DirectoryRoleTemplatesClient added in v0.11.0

type DirectoryRoleTemplatesClient struct {
	BaseClient Client
}

DirectoryRoleTemplatesClient performs operations on DirectoryRoleTemplates.

func NewDirectoryRoleTemplatesClient added in v0.11.0

func NewDirectoryRoleTemplatesClient(tenantId string) *DirectoryRoleTemplatesClient

NewDirectoryRoleTemplatesClient returns a new DirectoryRoleTemplatesClient

func (*DirectoryRoleTemplatesClient) Get added in v0.11.0

Get retrieves a DirectoryRoleTemplate manifest.

func (*DirectoryRoleTemplatesClient) List added in v0.11.0

List returns a list of DirectoryRoleTemplates.

type DirectoryRolesClient added in v0.12.0

type DirectoryRolesClient struct {
	BaseClient Client
}

DirectoryRolesClient performs operations on DirectoryRoles.

func NewDirectoryRolesClient added in v0.12.0

func NewDirectoryRolesClient(tenantId string) *DirectoryRolesClient

NewDirectoryRolesClient returns a new DirectoryRolesClient

func (*DirectoryRolesClient) Activate added in v0.12.0

func (c *DirectoryRolesClient) Activate(ctx context.Context, roleTemplateID string) (*DirectoryRole, int, error)

Activate activates a directory role. To read a directory role or update its members, it must first be activated in the tenant using role template id. This method will attempt to detect whether a role is already activated in the tenant, but may fail in some circumstances.

func (*DirectoryRolesClient) AddMembers added in v0.12.0

func (c *DirectoryRolesClient) AddMembers(ctx context.Context, directoryRole *DirectoryRole) (int, error)

AddMembers adds new members to a Directory Role. First populate the `members` field, then call this method

func (*DirectoryRolesClient) Get added in v0.12.0

Get retrieves a DirectoryRole manifest.

func (*DirectoryRolesClient) GetByTemplateId added in v0.29.0

func (c *DirectoryRolesClient) GetByTemplateId(ctx context.Context, templateId string) (*DirectoryRole, int, error)

GetByTemplateId retrieves a DirectoryRole manifest for a DirectoryRoleTemplate id.

func (*DirectoryRolesClient) GetMember added in v0.12.0

func (c *DirectoryRolesClient) GetMember(ctx context.Context, directoryRoleId, memberId string) (*string, int, error)

GetMember retrieves a single member of the specified DirectoryRole. directoryRoleId is the object ID of the directory role. memberId is the object ID of the member object.

func (*DirectoryRolesClient) List added in v0.12.0

List returns a list of DirectoryRoles activated in the tenant.

func (*DirectoryRolesClient) ListMembers added in v0.12.0

func (c *DirectoryRolesClient) ListMembers(ctx context.Context, id string) (*[]string, int, error)

ListMembers retrieves the members of the specified directory role. id is the object ID of the directory role.

func (*DirectoryRolesClient) RemoveMembers added in v0.12.0

func (c *DirectoryRolesClient) RemoveMembers(ctx context.Context, directoryRoleId string, memberIds *[]string) (int, error)

RemoveMembers removes members from a Directory Role. id is the object ID of the Directory Role. memberIds is a *[]string containing object IDs of members to remove.

type Domain

type Domain struct {
	ID                               *string   `json:"id,omitempty"`
	AuthenticationType               *string   `json:"authenticationType,omitempty"`
	IsAdminManaged                   *bool     `json:"isAdminManaged,omitempty"`
	IsDefault                        *bool     `json:"isDefault,omitempty"`
	IsInitial                        *bool     `json:"isInitial,omitempty"`
	IsRoot                           *bool     `json:"isRoot,omitempty"`
	IsVerified                       *bool     `json:"isVerified,omitempty"`
	PasswordNotificationWindowInDays *int      `json:"passwordNotificationWindowInDays,omitempty"`
	PasswordValidityPeriodInDays     *int      `json:"passwordValidityPeriodInDays,omitempty"`
	SupportedServices                *[]string `json:"supportedServices,omitempty"`

	State *DomainState `json:"state,omitempty"`
}

Domain describes a Domain object.

type DomainState

type DomainState struct {
	LastActionDateTime *time.Time `json:"lastActionDateTime,omitempty"`
	Operation          *string    `json:"operation,omitempty"`
	Status             *string    `json:"status,omitempty"`
}

type DomainsClient

type DomainsClient struct {
	BaseClient Client
}

DomainsClient performs operations on Domains.

func NewDomainsClient

func NewDomainsClient(tenantId string) *DomainsClient

NewDomainsClient returns a new DomainsClient.

func (*DomainsClient) Get

func (c *DomainsClient) Get(ctx context.Context, id string, query odata.Query) (*Domain, int, error)

Get retrieves a Domain.

func (*DomainsClient) List

func (c *DomainsClient) List(ctx context.Context, query odata.Query) (*[]Domain, int, error)

List returns a list of Domains.

type EmailAddress

type EmailAddress struct {
	Address *string `json:"address,omitempty"`
	Name    *string `json:"name,omitempty"`
}

type EmailAuthenticationMethod added in v0.25.0

type EmailAuthenticationMethod struct {
	ID           *string `json:"id,omitempty"`
	EmailAddress *string `json:"emailAddress,omitempty"`
}

type EmployeeOrgData added in v0.29.0

type EmployeeOrgData struct {
	CostCenter *string `json:"costCenter,omitempty"`
	Division   *string `json:"division,omitempty"`
}

type ExtensionSchemaProperty added in v0.19.0

type ExtensionSchemaProperty struct {
	Name *string                         `json:"name,omitempty"`
	Type ExtensionSchemaPropertyDataType `json:"type,omitempty"`
}

type ExtensionSchemaPropertyDataType added in v0.19.0

type ExtensionSchemaPropertyDataType = string
const (
	ExtensionSchemaPropertyDataBinary   ExtensionSchemaPropertyDataType = "Binary"
	ExtensionSchemaPropertyDataBoolean  ExtensionSchemaPropertyDataType = "Boolean"
	ExtensionSchemaPropertyDataDateTime ExtensionSchemaPropertyDataType = "DateTime"
	ExtensionSchemaPropertyDataInteger  ExtensionSchemaPropertyDataType = "Integer"
	ExtensionSchemaPropertyDataString   ExtensionSchemaPropertyDataType = "String"
)

type ExtensionSchemaTargetType added in v0.19.0

type ExtensionSchemaTargetType = string
const (
	ExtensionSchemaTargetTypeAdministrativeUnit ExtensionSchemaTargetType = "AdministrativeUnit"
	ExtensionSchemaTargetTypeContact            ExtensionSchemaTargetType = "Contact"
	ExtensionSchemaTargetTypeDevice             ExtensionSchemaTargetType = "Device"
	ExtensionSchemaTargetTypeEvent              ExtensionSchemaTargetType = "Event"
	ExtensionSchemaTargetTypePost               ExtensionSchemaTargetType = "Post"
	ExtensionSchemaTargetTypeGroup              ExtensionSchemaTargetType = "Group"
	ExtensionSchemaTargetTypeMessage            ExtensionSchemaTargetType = "Message"
	ExtensionSchemaTargetTypeOrganization       ExtensionSchemaTargetType = "Organization"
	ExtensionSchemaTargetTypeUser               ExtensionSchemaTargetType = "User"
)

type FeatureType added in v0.24.0

type FeatureType = string
const (
	FeatureTypeRegistration       FeatureType = "registration"
	FeatureTypeReset              FeatureType = "reset"
	FeatureTypeUnknownFutureValue FeatureType = "unknownFutureValue"
)

type FederatedIdentityCredential added in v0.39.0

type FederatedIdentityCredential struct {
	Audiences   *[]string            `json:"audiences,omitempty"`
	Description *StringNullWhenEmpty `json:"description,omitempty"`
	ID          *string              `json:"id,omitempty"`
	Issuer      *string              `json:"issuer,omitempty"`
	Name        *string              `json:"name,omitempty"`
	Subject     *string              `json:"subject,omitempty"`
}

type Fido2AuthenticationMethod added in v0.25.0

type Fido2AuthenticationMethod struct {
	ID                      *string           `json:"id,omitempty"`
	DisplayName             *string           `json:"displayName,omitempty"`
	CreatedDateTime         *time.Time        `json:"createdDateTime,omitempty"`
	AAGuid                  *string           `json:"aaGuid,omitempty"`
	Model                   *string           `json:"model,omitempty"`
	AttestationCertificates *[]string         `json:"attestationCertificates,omitempty"`
	AttestationLevel        *AttestationLevel `json:"attestationLevel,omitempty"`
}

type GeoCoordinates added in v0.18.0

type GeoCoordinates struct {
	Altitude  *float64 `json:"altitude,omitempty"`
	Latitude  *float64 `json:"latitude,omitempty"`
	Longitude *float64 `json:"longitude,omitempty"`
}

type GetHttpRequestInput

type GetHttpRequestInput struct {
	ConsistencyFailureFunc ConsistencyFailureFunc
	DisablePaging          bool
	OData                  odata.Query
	ValidStatusCodes       []int
	ValidStatusFunc        ValidStatusFunc
	Uri                    Uri
	// contains filtered or unexported fields
}

GetHttpRequestInput configures a GET request.

func (GetHttpRequestInput) GetConsistencyFailureFunc added in v0.16.0

func (i GetHttpRequestInput) GetConsistencyFailureFunc() ConsistencyFailureFunc

GetConsistencyFailureFunc returns a function used to evaluate whether a failed request is due to eventual consistency and should be retried.

func (GetHttpRequestInput) GetContentType added in v0.29.0

func (i GetHttpRequestInput) GetContentType() string

GetContentType returns the content type for the request, currently only application/json is supported

func (GetHttpRequestInput) GetOData added in v0.32.0

func (i GetHttpRequestInput) GetOData() odata.Query

GetOData returns the OData request metadata

func (GetHttpRequestInput) GetValidStatusCodes

func (i GetHttpRequestInput) GetValidStatusCodes() []int

GetValidStatusCodes returns a []int of status codes considered valid for a GET request.

func (GetHttpRequestInput) GetValidStatusFunc

func (i GetHttpRequestInput) GetValidStatusFunc() ValidStatusFunc

GetValidStatusFunc returns a function used to evaluate whether the response to a GET request is considered valid.

type Group

type Group struct {
	DirectoryObject
	Members          *Members               `json:"members@odata.bind,omitempty"`
	Owners           *Owners                `json:"owners@odata.bind,omitempty"`
	SchemaExtensions *[]SchemaExtensionData `json:"-"`

	AllowExternalSenders          *bool                               `json:"allowExternalSenders,omitempty"`
	AssignedLabels                *[]GroupAssignedLabel               `json:"assignedLabels,omitempty"`
	AssignedLicenses              *[]GroupAssignedLicense             `json:"assignLicenses,omitempty"`
	AutoSubscribeNewMembers       *bool                               `json:"autoSubscribeNewMembers,omitempty"`
	Classification                *string                             `json:"classification,omitempty"`
	CreatedDateTime               *time.Time                          `json:"createdDateTime,omitempty"`
	DeletedDateTime               *time.Time                          `json:"deletedDateTime,omitempty"`
	Description                   *StringNullWhenEmpty                `json:"description,omitempty"`
	DisplayName                   *string                             `json:"displayName,omitempty"`
	ExpirationDateTime            *time.Time                          `json:"expirationDateTime,omitempty"`
	GroupTypes                    []GroupType                         `json:"groupTypes,omitempty"`
	HasMembersWithLicenseErrors   *bool                               `json:"hasMembersWithLicenseErrors,omitempty"`
	HideFromAddressLists          *bool                               `json:"hideFromAddressLists,omitempty"`
	HideFromOutlookClients        *bool                               `json:"hideFromOutlookClients,omitempty"`
	IsSubscribedByMail            *bool                               `json:"isSubscribedByMail,omitempty"`
	LicenseProcessingState        *string                             `json:"licenseProcessingState,omitempty"`
	Mail                          *string                             `json:"mail,omitempty"`
	MailEnabled                   *bool                               `json:"mailEnabled,omitempty"`
	MailNickname                  *string                             `json:"mailNickname,omitempty"`
	MembershipRule                *StringNullWhenEmpty                `json:"membershipRule,omitempty"`
	MembershipRuleProcessingState *GroupMembershipRuleProcessingState `json:"membershipRuleProcessingState,omitempty"`
	OnPremisesDomainName          *string                             `json:"onPremisesDomainName,omitempty"`
	OnPremisesLastSyncDateTime    *time.Time                          `json:"onPremisesLastSyncDateTime,omitempty"`
	OnPremisesNetBiosName         *string                             `json:"onPremisesNetBiosName,omitempty"`
	OnPremisesProvisioningErrors  *[]GroupOnPremisesProvisioningError `json:"onPremisesProvisioningErrors,omitempty"`
	OnPremisesSamAccountName      *string                             `json:"onPremisesSamAccountName,omitempty"`
	OnPremisesSecurityIdentifier  *string                             `json:"onPremisesSecurityIdentifier,omitempty"`
	OnPremisesSyncEnabled         *bool                               `json:"onPremisesSyncEnabled,omitempty"`
	PreferredDataLocation         *string                             `json:"preferredDataLocation,omitempty"`
	PreferredLanguage             *string                             `json:"preferredLanguage,omitempty"`
	ProxyAddresses                *[]string                           `json:"proxyAddresses,omitempty"`
	RenewedDateTime               *time.Time                          `json:"renewedDateTime,omitempty"`
	ResourceBehaviorOptions       []GroupResourceBehaviorOption       `json:"resourceBehaviorOptions,omitempty"`
	ResourceProvisioningOptions   []GroupResourceProvisioningOption   `json:"resourceProvisioningOptions,omitempty"`
	SecurityEnabled               *bool                               `json:"securityEnabled,omitempty"`
	SecurityIdentifier            *string                             `json:"securityIdentifier,omitempty"`
	Theme                         *GroupTheme                         `json:"theme,omitempty"`
	UnseenCount                   *int                                `json:"unseenCount,omitempty"`
	Visibility                    *GroupVisibility                    `json:"visibility,omitempty"`
	IsAssignableToRole            *bool                               `json:"isAssignableToRole,omitempty"`
}

Group describes a Group object.

func (*Group) HasTypes added in v0.19.0

func (g *Group) HasTypes(types []GroupType) bool

HasTypes returns true if the group has all the specified GroupTypes

func (Group) MarshalJSON added in v0.23.0

func (g Group) MarshalJSON() ([]byte, error)

func (*Group) UnmarshalJSON added in v0.23.0

func (g *Group) UnmarshalJSON(data []byte) error

type GroupAssignedLabel

type GroupAssignedLabel struct {
	LabelId     *string `json:"labelId,omitempty"`
	DisplayName *string `json:"displayName,omitempty"`
}

type GroupAssignedLicense

type GroupAssignedLicense struct {
	DisabledPlans *[]string `json:"disabledPlans,omitempty"`
	SkuId         *string   `json:"skuId,omitempty"`
}

type GroupMembershipClaim added in v0.12.0

type GroupMembershipClaim = string
const (
	GroupMembershipClaimAll              GroupMembershipClaim = "All"
	GroupMembershipClaimNone             GroupMembershipClaim = "None"
	GroupMembershipClaimApplicationGroup GroupMembershipClaim = "ApplicationGroup"
	GroupMembershipClaimDirectoryRole    GroupMembershipClaim = "DirectoryRole"
	GroupMembershipClaimSecurityGroup    GroupMembershipClaim = "SecurityGroup"
)

type GroupMembershipRuleProcessingState added in v0.38.0

type GroupMembershipRuleProcessingState = string
const (
	GroupMembershipRuleProcessingStateOn     GroupMembershipRuleProcessingState = "On"
	GroupMembershipRuleProcessingStatePaused GroupMembershipRuleProcessingState = "Paused"
)

type GroupOnPremisesProvisioningError

type GroupOnPremisesProvisioningError struct {
	Category             *string   `json:"category,omitempty"`
	OccurredDateTime     time.Time `json:"occurredDateTime,omitempty"`
	PropertyCausingError *string   `json:"propertyCausingError,omitempty"`
	Value                *string   `json:"value,omitempty"`
}

type GroupResourceBehaviorOption added in v0.21.0

type GroupResourceBehaviorOption = string
const (
	GroupResourceBehaviorOptionAllowOnlyMembersToPost   GroupResourceBehaviorOption = "AllowOnlyMembersToPost"
	GroupResourceBehaviorOptionHideGroupInOutlook       GroupResourceBehaviorOption = "HideGroupInOutlook"
	GroupResourceBehaviorOptionSubscribeNewGroupMembers GroupResourceBehaviorOption = "SubscribeNewGroupMembers"
	GroupResourceBehaviorOptionWelcomeEmailDisabled     GroupResourceBehaviorOption = "WelcomeEmailDisabled"
)

type GroupResourceProvisioningOption added in v0.21.0

type GroupResourceProvisioningOption = string
const (
	GroupResourceProvisioningOptionTeam GroupResourceProvisioningOption = "Team"
)

type GroupTheme added in v0.21.0

type GroupTheme = StringNullWhenEmpty
const (
	GroupThemeNone   GroupTheme = ""
	GroupThemeBlue   GroupTheme = "Blue"
	GroupThemeGreen  GroupTheme = "Green"
	GroupThemeOrange GroupTheme = "Orange"
	GroupThemePink   GroupTheme = "Pink"
	GroupThemePurple GroupTheme = "Purple"
	GroupThemeRed    GroupTheme = "Red"
	GroupThemeTeal   GroupTheme = "Teal"
)

type GroupType added in v0.17.0

type GroupType = string
const (
	GroupTypeDynamicMembership GroupType = "DynamicMembership"
	GroupTypeUnified           GroupType = "Unified"
)

type GroupVisibility added in v0.21.0

type GroupVisibility = string
const (
	GroupVisibilityHiddenMembership GroupVisibility = "Hiddenmembership"
	GroupVisibilityPrivate          GroupVisibility = "Private"
	GroupVisibilityPublic           GroupVisibility = "Public"
)

type GroupsClient

type GroupsClient struct {
	BaseClient Client
}

GroupsClient performs operations on Groups.

func NewGroupsClient

func NewGroupsClient(tenantId string) *GroupsClient

NewGroupsClient returns a new GroupsClient.

func (*GroupsClient) AddMembers

func (c *GroupsClient) AddMembers(ctx context.Context, group *Group) (int, error)

AddMembers adds new members to a Group. First populate the `members` field, then call this method

func (*GroupsClient) AddOwners

func (c *GroupsClient) AddOwners(ctx context.Context, group *Group) (int, error)

AddOwners adds new owners to a Group. First populate the `owners` field, then call this method

func (*GroupsClient) Create

func (c *GroupsClient) Create(ctx context.Context, group Group) (*Group, int, error)

Create creates a new Group.

func (*GroupsClient) Delete

func (c *GroupsClient) Delete(ctx context.Context, id string) (int, error)

Delete removes a Group.

func (*GroupsClient) DeletePermanently added in v0.15.0

func (c *GroupsClient) DeletePermanently(ctx context.Context, id string) (int, error)

DeletePermanently removes a deleted O365 Group permanently.

func (*GroupsClient) Get

func (c *GroupsClient) Get(ctx context.Context, id string, query odata.Query) (*Group, int, error)

Get retrieves a Group.

func (*GroupsClient) GetDeleted added in v0.14.0

func (c *GroupsClient) GetDeleted(ctx context.Context, id string, query odata.Query) (*Group, int, error)

GetDeleted retrieves a deleted O365 Group.

func (*GroupsClient) GetMember

func (c *GroupsClient) GetMember(ctx context.Context, groupId, memberId string) (*string, int, error)

GetMember retrieves a single member of the specified Group. groupId is the object ID of the group. memberId is the object ID of the member object.

func (*GroupsClient) GetOwner

func (c *GroupsClient) GetOwner(ctx context.Context, groupId, ownerId string) (*string, int, error)

GetOwner retrieves a single owner for the specified Group. groupId is the object ID of the group. ownerId is the object ID of the owning object.

func (*GroupsClient) GetWithSchemaExtensions added in v0.23.0

func (c *GroupsClient) GetWithSchemaExtensions(ctx context.Context, id string, query odata.Query, schemaExtensions *[]SchemaExtensionData) (*Group, int, error)

GetWithSchemaExtensions retrieves a Group, including the values for any specified schema extensions

func (*GroupsClient) List

func (c *GroupsClient) List(ctx context.Context, query odata.Query) (*[]Group, int, error)

List returns a list of Groups, optionally queried using OData.

func (*GroupsClient) ListDeleted added in v0.14.0

func (c *GroupsClient) ListDeleted(ctx context.Context, query odata.Query) (*[]Group, int, error)

ListDeleted retrieves a list of recently deleted O365 groups, optionally queried using OData.

func (*GroupsClient) ListMembers

func (c *GroupsClient) ListMembers(ctx context.Context, id string) (*[]string, int, error)

ListMembers retrieves the members of the specified Group. id is the object ID of the group.

func (*GroupsClient) ListOwners

func (c *GroupsClient) ListOwners(ctx context.Context, id string) (*[]string, int, error)

ListOwners retrieves the owners of the specified Group. id is the object ID of the group.

func (*GroupsClient) RemoveMembers

func (c *GroupsClient) RemoveMembers(ctx context.Context, id string, memberIds *[]string) (int, error)

RemoveMembers removes members from a Group. groupId is the object ID of the group. memberIds is a *[]string containing object IDs of members to remove.

func (*GroupsClient) RemoveOwners

func (c *GroupsClient) RemoveOwners(ctx context.Context, id string, ownerIds *[]string) (int, error)

RemoveOwners removes owners from a Group. groupId is the object ID of the group. ownerIds is a *[]string containing object IDs of owners to remove.

func (*GroupsClient) RestoreDeleted added in v0.17.0

func (c *GroupsClient) RestoreDeleted(ctx context.Context, id string) (*Group, int, error)

RestoreDeleted restores a recently deleted O365 Group.

func (*GroupsClient) Update

func (c *GroupsClient) Update(ctx context.Context, group Group) (int, error)

Update amends an existing Group.

type HttpRequestInput

type HttpRequestInput interface {
	GetConsistencyFailureFunc() ConsistencyFailureFunc
	GetContentType() string
	GetOData() odata.Query
	GetValidStatusCodes() []int
	GetValidStatusFunc() ValidStatusFunc
}

HttpRequestInput is any type that can validate the response to an HTTP request.

type IPNamedLocation added in v0.11.0

type IPNamedLocation struct {
	*BaseNamedLocation
	IPRanges  *[]IPNamedLocationIPRange `json:"ipRanges,omitempty"`
	IsTrusted *bool                     `json:"isTrusted,omitempty"`
}

IPNamedLocation describes an IP Named Location object.

type IPNamedLocationIPRange added in v0.11.0

type IPNamedLocationIPRange struct {
	CIDRAddress *string `json:"cidrAddress,omitempty"`
}

type Identity added in v0.36.0

type Identity struct {
	DisplayName *string `json:"displayName,omitempty"`
	Id          *string `json:"id,omitempty"`
	TenantId    *string `json:"tenantId,omitempty"`
}

type IdentityProvider added in v0.13.0

type IdentityProvider struct {
	ODataType    *odata.Type `json:"@odata.type,omitempty"`
	ID           *string     `json:"id,omitempty"`
	ClientId     *string     `json:"clientId,omitempty"`
	ClientSecret *string     `json:"clientSecret,omitempty"`
	Type         *string     `json:"identityProviderType,omitempty"`
	Name         *string     `json:"displayName,omitempty"`
}

type IdentityProvidersClient added in v0.13.0

type IdentityProvidersClient struct {
	BaseClient Client
}

IdentityProvidersClient performs operations on IdentityProviders.

func NewIdentityProvidersClient added in v0.13.0

func NewIdentityProvidersClient(tenantId string) *IdentityProvidersClient

NewIdentityProvidersClient returns a new IdentityProvidersClient

func (*IdentityProvidersClient) Create added in v0.13.0

Create creates a new IdentityProvider.

func (*IdentityProvidersClient) Delete added in v0.13.0

func (c *IdentityProvidersClient) Delete(ctx context.Context, id string) (int, error)

Delete removes a IdentityProvider.

func (*IdentityProvidersClient) Get added in v0.13.0

Get retrieves an IdentityProvider.

func (*IdentityProvidersClient) List added in v0.13.0

List returns a list of IdentityProviders.

func (*IdentityProvidersClient) ListAvailableProviderTypes added in v0.13.0

func (c *IdentityProvidersClient) ListAvailableProviderTypes(ctx context.Context) (*[]string, int, error)

List returns a list of all available identity provider types.

func (*IdentityProvidersClient) Update added in v0.13.0

func (c *IdentityProvidersClient) Update(ctx context.Context, provider IdentityProvider) (int, error)

Update amends an existing IdentityProvider.

type ImplicitGrantSettings

type ImplicitGrantSettings struct {
	EnableAccessTokenIssuance *bool `json:"enableAccessTokenIssuance,omitempty"`
	EnableIdTokenIssuance     *bool `json:"enableIdTokenIssuance,omitempty"`
}

type IncludedUserRoles added in v0.24.0

type IncludedUserRoles = string
const (
	IncludedUserRolesAll             IncludedUserRoles = "all"
	IncludedUserRolesPrivilegedAdmin IncludedUserRoles = "privilegedAdmin"
	IncludedUserRolesAdmin           IncludedUserRoles = "admin"
	IncludedUserRolesUser            IncludedUserRoles = "user"
)

type IncludedUserTypes added in v0.24.0

type IncludedUserTypes = string
const (
	IncludedUserTypesAll    IncludedUserTypes = "all"
	IncludedUserTypesMember IncludedUserTypes = "member"
	IncludedUserTypesGuest  IncludedUserTypes = "guest"
)

type InformationalUrl

type InformationalUrl struct {
	LogoUrl             *string `json:"logoUrl,omitempty"`
	MarketingUrl        *string `json:"marketingUrl"`
	PrivacyStatementUrl *string `json:"privacyStatementUrl"`
	SupportUrl          *string `json:"supportUrl"`
	TermsOfServiceUrl   *string `json:"termsOfServiceUrl"`
}

type Invitation

type Invitation struct {
	ID                      *string          `json:"id,omitempty"`
	InvitedUserDisplayName  *string          `json:"invitedUserDisplayName,omitempty"`
	InvitedUserEmailAddress *string          `json:"invitedUserEmailAddress,omitempty"`
	SendInvitationMessage   *bool            `json:"sendInvitationMessage,omitempty"`
	InviteRedirectURL       *string          `json:"inviteRedirectUrl,omitempty"`
	InviteRedeemURL         *string          `json:"inviteRedeemUrl,omitempty"`
	Status                  *string          `json:"status,omitempty"`
	InvitedUserType         *InvitedUserType `json:"invitedUserType,omitempty"`

	InvitedUserMessageInfo *InvitedUserMessageInfo `json:"invitedUserMessageInfo,omitempty"`
	InvitedUser            *User                   `json:"invitedUser,omitempty"`
}

Invitation describes a Invitation object.

type InvitationsClient

type InvitationsClient struct {
	BaseClient Client
}

InvitationsClient performs operations on Invitations.

func NewInvitationsClient

func NewInvitationsClient(tenantId string) *InvitationsClient

NewInvitationsClient returns a new InvitationsClient.

func (*InvitationsClient) Create

func (c *InvitationsClient) Create(ctx context.Context, invitation Invitation) (*Invitation, int, error)

Create creates a new Invitation.

type InvitedUserMessageInfo

type InvitedUserMessageInfo struct {
	CCRecipients          *[]Recipient `json:"ccRecipients,omitempty"`
	CustomizedMessageBody *string      `json:"customizedMessageBody,omitempty"`
	MessageLanguage       *string      `json:"messageLanguage,omitempty"`
}

type InvitedUserType added in v0.27.0

type InvitedUserType = string
const (
	InvitedUserTypeGuest  InvitedUserType = "Guest"
	InvitedUserTypeMember InvitedUserType = "Member"
)

type ItemBody added in v0.13.0

type ItemBody struct {
	Content     *string   `json:"content,omitempty"`
	ContentType *BodyType `json:"contentType,omitempty"`
}

type KerberosSignOnSettings

type KerberosSignOnSettings struct {
	ServicePrincipalName       *string `json:"kerberosServicePrincipalName,omitempty"`
	SignOnMappingAttributeType *string `jsonL:"kerberosSignOnMappingAttributeType,omitempty"`
}

type KeyCredential

type KeyCredential struct {
	CustomKeyIdentifier *string            `json:"customKeyIdentifier,omitempty"`
	DisplayName         *string            `json:"displayName,omitempty"`
	EndDateTime         *time.Time         `json:"endDateTime,omitempty"`
	KeyId               *string            `json:"keyId,omitempty"`
	StartDateTime       *time.Time         `json:"startDateTime,omitempty"`
	Thumbprint          *string            `json:"thumbprint,omitempty"`
	Type                KeyCredentialType  `json:"type"`
	Usage               KeyCredentialUsage `json:"usage"`
	Key                 *string            `json:"key,omitempty"`
}

KeyCredential describes a key (certificate) credential for an object.

type KeyCredentialType added in v0.13.0

type KeyCredentialType = string
const (
	KeyCredentialTypeAsymmetricX509Cert  KeyCredentialType = "AsymmetricX509Cert"
	KeyCredentialTypeX509CertAndPassword KeyCredentialType = "X509CertAndPassword"
)

type KeyCredentialUsage added in v0.12.0

type KeyCredentialUsage = string
const (
	KeyCredentialUsageSign   KeyCredentialUsage = "Sign"
	KeyCredentialUsageVerify KeyCredentialUsage = "Verify"
)

type KeyValue added in v0.18.0

type KeyValue struct {
	Key   *string `json:"key,omitempty"`
	Value *string `json:"value,omitempty"`
}

type Location added in v0.18.0

type Location struct {
	City            *string         `json:"city,omitempty"`
	CountryOrRegion *string         `json:"countryOrRegion,omitempty"`
	GeoCoordinates  *GeoCoordinates `json:"geoCoordinates,omitempty"`
	State           *string         `json:"state,omitempty"`
}

type MailMessage added in v0.13.0

type MailMessage struct {
	Message *Message `json:"message,omitempty"`
}

type Me

type Me struct {
	ID                *string `json:"id"`
	DisplayName       *string `json:"displayName"`
	UserPrincipalName *string `json:"userPrincipalName"`
}

Me describes the authenticated user.

type MeClient

type MeClient struct {
	BaseClient Client
}

MeClient performs operations on the authenticated user.

func NewMeClient

func NewMeClient(tenantId string) *MeClient

NewMeClient returns a new MeClient.

func (*MeClient) Get

func (c *MeClient) Get(ctx context.Context, query odata.Query) (*Me, int, error)

Get retrieves information about the authenticated user.

func (*MeClient) GetProfile

func (c *MeClient) GetProfile(ctx context.Context, query odata.Query) (*Me, int, error)

GetProfile retrieves the profile of the authenticated user.

func (*MeClient) Sendmail added in v0.13.0

func (c *MeClient) Sendmail(ctx context.Context, message MailMessage) (int, error)

SendMail sends message specified in the request body. TODO: Needs testing with an O365 user principal

type Members added in v0.24.0

type Members []DirectoryObject

func (Members) MarshalJSON added in v0.24.0

func (o Members) MarshalJSON() ([]byte, error)

func (*Members) UnmarshalJSON added in v0.24.0

func (o *Members) UnmarshalJSON(data []byte) error

type Message added in v0.13.0

type Message struct {
	ID            *string      `json:"id,omitempty"`
	Subject       *string      `json:"subject,omitempty"`
	Body          *ItemBody    `json:"body,omitempty"`
	From          *Recipient   `json:"from,omitempty"`
	ToRecipients  *[]Recipient `json:"toRecipients,omitempty"`
	CcRecipients  *[]Recipient `json:"ccRecipients,omitempty"`
	BccRecipients *[]Recipient `json:"bccRecipients,omitempty"`
}

type MethodUsabilityReason added in v0.25.0

type MethodUsabilityReason string
const (
	MethodUsabilityReasonEnabledByPolicy  MethodUsabilityReason = "enabledByPolicy"
	MethodUsabilityReasonDisabledByPolicy MethodUsabilityReason = "disabledByPolicy"
	MethodUsabilityReasonExpired          MethodUsabilityReason = "expired"
	MethodUsabilityReasonNotYetValid      MethodUsabilityReason = "notYetValid"
	MethodUsabilityReasonOneTimeUsed      MethodUsabilityReason = "oneTimeUsed"
)

type MicrosoftAuthenticatorAuthenticationMethod added in v0.25.0

type MicrosoftAuthenticatorAuthenticationMethod struct {
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	DisplayName     *string    `json:"displayName,omitempty"`
	ID              *string    `json:"id,omitempty"`
	DeviceTag       *string    `json:"deviceTag,omitempty"`
	PhoneAppVersion *string    `json:"phoneAppVersion,omitempty"`
}

type ModifiedProperty added in v0.18.0

type ModifiedProperty struct {
	DisplayName *string `json:"displayName,omitempty"`
	NewValue    *string `json:"newValue,omitempty"`
	OldValue    *string `json:"oldValue,omitempty"`
}

type NamedLocation added in v0.11.0

type NamedLocation interface{}

type NamedLocationsClient added in v0.11.0

type NamedLocationsClient struct {
	BaseClient Client
}

NamedLocationsClient performs operations on Named Locations.

func NewNamedLocationsClient added in v0.11.0

func NewNamedLocationsClient(tenantId string) *NamedLocationsClient

NewNamedLocationsClient returns a new NamedLocationsClient.

func (*NamedLocationsClient) CreateCountry added in v0.11.0

func (c *NamedLocationsClient) CreateCountry(ctx context.Context, countryNamedLocation CountryNamedLocation) (*CountryNamedLocation, int, error)

CreateCountry creates a new Country Named Location.

func (*NamedLocationsClient) CreateIP added in v0.11.0

func (c *NamedLocationsClient) CreateIP(ctx context.Context, ipNamedLocation IPNamedLocation) (*IPNamedLocation, int, error)

CreateIP creates a new IP Named Location.

func (*NamedLocationsClient) Delete added in v0.11.0

func (c *NamedLocationsClient) Delete(ctx context.Context, id string) (int, error)

Delete removes a Named Location.

func (*NamedLocationsClient) Get added in v0.15.0

Get retrieves a Named Location which can be type asserted back to IP or Country Named Location.

func (*NamedLocationsClient) GetCountry added in v0.11.0

func (c *NamedLocationsClient) GetCountry(ctx context.Context, id string, query odata.Query) (*CountryNamedLocation, int, error)

GetCountry retrieves an Country Named Location.

func (*NamedLocationsClient) GetIP added in v0.11.0

GetIP retrieves an IP Named Location.

func (*NamedLocationsClient) List added in v0.11.0

List returns a list of Named Locations, optionally queried using OData.

func (*NamedLocationsClient) UpdateCountry added in v0.11.0

func (c *NamedLocationsClient) UpdateCountry(ctx context.Context, countryNamedLocation CountryNamedLocation) (int, error)

UpdateCountry amends an existing Country Named Location.

func (*NamedLocationsClient) UpdateIP added in v0.11.0

func (c *NamedLocationsClient) UpdateIP(ctx context.Context, ipNamedLocation IPNamedLocation) (int, error)

UpdateIP amends an existing IP Named Location.

type OnPremisesPublishing

type OnPremisesPublishing struct {
	AlternateUrl                  *string `json:"alternateUrl,omitempty"`
	ApplicationServerTimeout      *string `json:"applicationServerTimeout,omitempty"`
	ApplicationType               *string `json:"applicationType,omitempty"`
	ExternalAuthenticationType    *string `json:"externalAuthenticationType,omitempty"`
	ExternalUrl                   *string `json:"externalUrl,omitempty"`
	InternalUrl                   *string `json:"internalUrl,omitempty"`
	IsHttpOnlyCookieEnabled       *bool   `json:"isHttpOnlyCookieEnabled,omitempty"`
	IsOnPremPublishingEnabled     *bool   `json:"isOnPremPublishingEnabled,omitempty"`
	IsPersistentCookieEnabled     *bool   `json:"isPersistentCookieEnabled,omitempty"`
	IsSecureCookieEnabled         *bool   `json:"isSecureCookieEnabled,omitempty"`
	IsTranslateHostHeaderEnabled  *bool   `json:"isTranslateHostHeaderEnabled,omitempty"`
	IsTranslateLinksInBodyEnabled *bool   `json:"isTranslateLinksInBodyEnabled,omitempty"`

	SingleSignOnSettings                     *OnPremisesPublishingSingleSignOn                             `json:"singleSignOnSettings,omitempty"`
	VerifiedCustomDomainCertificatesMetadata *OnPremisesPublishingVerifiedCustomDomainCertificatesMetadata `json:"verifiedCustomDomainCertificatesMetadata,omitempty"`
	VerifiedCustomDomainKeyCredential        *KeyCredential                                                `json:"verifiedCustomDomainKeyCredential,omitempty"`
	VerifiedCustomDomainPasswordCredential   *PasswordCredential                                           `json:"verifiedCustomDomainPasswordCredential,omitempty"`
}

type OnPremisesPublishingSingleSignOn

type OnPremisesPublishingSingleSignOn struct {
	KerberosSignOnSettings *KerberosSignOnSettings `json:"kerberosSignOnSettings,omitempty"`
	SingleSignOnMode       *string                 `json:"singleSignOnMode,omitempty"`
}

type OnPremisesPublishingVerifiedCustomDomainCertificatesMetadata

type OnPremisesPublishingVerifiedCustomDomainCertificatesMetadata struct {
	ExpiryDate  *time.Time `json:"expiryDate,omitempty"`
	IssueDate   *time.Time `json:"issueDate,omitempty"`
	IssuerName  *string    `json:"issuerName,omitempty"`
	SubjectName *string    `json:"subjectName,omitempty"`
	Thumbprint  *string    `json:"thumbprint,omitempty"`
}

type OptionalClaim

type OptionalClaim struct {
	AdditionalProperties *[]string `json:"additionalProperties,omitempty"`
	Essential            *bool     `json:"essential,omitempty"`
	Name                 *string   `json:"name,omitempty"`
	Source               *string   `json:"source,omitempty"`
}

type OptionalClaims

type OptionalClaims struct {
	AccessToken *[]OptionalClaim `json:"accessToken,omitempty"`
	IdToken     *[]OptionalClaim `json:"idToken,omitempty"`
	Saml2Token  *[]OptionalClaim `json:"saml2Token,omitempty"`
}

type Owners added in v0.24.0

type Owners []DirectoryObject

func (Owners) MarshalJSON added in v0.24.0

func (o Owners) MarshalJSON() ([]byte, error)

func (*Owners) UnmarshalJSON added in v0.24.0

func (o *Owners) UnmarshalJSON(data []byte) error

type ParentalControlSettings

type ParentalControlSettings struct {
	CountriesBlockedForMinors *[]string `json:"countriesBlockedForMinors,omitempty"`
	LegalAgeGroupRule         *string   `json:"legalAgeGroupRule,omitempty"`
}

type PasswordAuthenticationMethod added in v0.25.0

type PasswordAuthenticationMethod struct {
	CreationDateTime *time.Time `json:"creationDateTime,omitempty"`
	ID               *string    `json:"id,omitempty"`
	Password         *string    `json:"password,omitempty"`
}

type PasswordCredential

type PasswordCredential struct {
	CustomKeyIdentifier *string    `json:"customKeyIdentifier,omitempty"`
	DisplayName         *string    `json:"displayName,omitempty"`
	EndDateTime         *time.Time `json:"endDateTime,omitempty"`
	Hint                *string    `json:"hint,omitempty"`
	KeyId               *string    `json:"keyId,omitempty"`
	SecretText          *string    `json:"secretText,omitempty"`
	StartDateTime       *time.Time `json:"startDateTime,omitempty"`
}

PasswordCredential describes a password credential for an object.

type PasswordSingleSignOnSettings

type PasswordSingleSignOnSettings struct {
	Fields *[]SingleSignOnField `json:"fields,omitempty"`
}

type PatchHttpRequestInput

type PatchHttpRequestInput struct {
	ConsistencyFailureFunc ConsistencyFailureFunc
	Body                   []byte
	OData                  odata.Query
	ValidStatusCodes       []int
	ValidStatusFunc        ValidStatusFunc
	Uri                    Uri
}

PatchHttpRequestInput configures a PATCH request.

func (PatchHttpRequestInput) GetConsistencyFailureFunc added in v0.16.0

func (i PatchHttpRequestInput) GetConsistencyFailureFunc() ConsistencyFailureFunc

GetConsistencyFailureFunc returns a function used to evaluate whether a failed request is due to eventual consistency and should be retried.

func (PatchHttpRequestInput) GetContentType added in v0.29.0

func (i PatchHttpRequestInput) GetContentType() string

GetContentType returns the content type for the request, currently only application/json is supported

func (PatchHttpRequestInput) GetOData added in v0.32.0

func (i PatchHttpRequestInput) GetOData() odata.Query

GetOData returns the OData request metadata

func (PatchHttpRequestInput) GetValidStatusCodes

func (i PatchHttpRequestInput) GetValidStatusCodes() []int

GetValidStatusCodes returns a []int of status codes considered valid for a PATCH request.

func (PatchHttpRequestInput) GetValidStatusFunc

func (i PatchHttpRequestInput) GetValidStatusFunc() ValidStatusFunc

GetValidStatusFunc returns a function used to evaluate whether the response to a PATCH request is considered valid.

type PermissionScope

type PermissionScope struct {
	ID                      *string             `json:"id,omitempty"`
	AdminConsentDescription *string             `json:"adminConsentDescription,omitempty"`
	AdminConsentDisplayName *string             `json:"adminConsentDisplayName,omitempty"`
	IsEnabled               *bool               `json:"isEnabled,omitempty"`
	Type                    PermissionScopeType `json:"type,omitempty"`
	UserConsentDescription  *string             `json:"userConsentDescription,omitempty"`
	UserConsentDisplayName  *string             `json:"userConsentDisplayName,omitempty"`
	Value                   *string             `json:"value,omitempty"`
}

type PermissionScopeType added in v0.12.0

type PermissionScopeType = string
const (
	PermissionScopeTypeAdmin PermissionScopeType = "Admin"
	PermissionScopeTypeUser  PermissionScopeType = "User"
)

type PersistentBrowserSessionControl added in v0.11.0

type PersistentBrowserSessionControl struct {
	IsEnabled *bool                         `json:"isEnabled,omitempty"`
	Mode      *PersistentBrowserSessionMode `json:"mode,omitempty"`
}

type PersistentBrowserSessionMode added in v0.36.0

type PersistentBrowserSessionMode = string
const (
	PersistentBrowserSessionModeAlways PersistentBrowserSessionMode = "always"
	PersistentBrowserSessionModeNever  PersistentBrowserSessionMode = "never"
)

type PhoneAuthenticationMethod added in v0.25.0

type PhoneAuthenticationMethod struct {
	ID          *string                  `json:"id,omitempty"`
	PhoneNumber *string                  `json:"phoneNumber,omitempty"`
	PhoneType   *AuthenticationPhoneType `json:"phoneType,omitempty"`
}

type PostHttpRequestInput

type PostHttpRequestInput struct {
	Body                   []byte
	ConsistencyFailureFunc ConsistencyFailureFunc
	OData                  odata.Query
	ValidStatusCodes       []int
	ValidStatusFunc        ValidStatusFunc
	Uri                    Uri
}

PostHttpRequestInput configures a POST request.

func (PostHttpRequestInput) GetConsistencyFailureFunc added in v0.16.0

func (i PostHttpRequestInput) GetConsistencyFailureFunc() ConsistencyFailureFunc

GetConsistencyFailureFunc returns a function used to evaluate whether a failed request is due to eventual consistency and should be retried.

func (PostHttpRequestInput) GetContentType added in v0.29.0

func (i PostHttpRequestInput) GetContentType() string

GetContentType returns the content type for the request, currently only application/json is supported

func (PostHttpRequestInput) GetOData added in v0.32.0

func (i PostHttpRequestInput) GetOData() odata.Query

GetOData returns the OData request metadata

func (PostHttpRequestInput) GetValidStatusCodes

func (i PostHttpRequestInput) GetValidStatusCodes() []int

GetValidStatusCodes returns a []int of status codes considered valid for a POST request.

func (PostHttpRequestInput) GetValidStatusFunc

func (i PostHttpRequestInput) GetValidStatusFunc() ValidStatusFunc

GetValidStatusFunc returns a function used to evaluate whether the response to a POST request is considered valid.

type PreferredSingleSignOnMode added in v0.22.0

type PreferredSingleSignOnMode = StringNullWhenEmpty
const (
	PreferredSingleSignOnModeNone         PreferredSingleSignOnMode = ""
	PreferredSingleSignOnModeNotSupported PreferredSingleSignOnMode = "notSupported"
	PreferredSingleSignOnModeOidc         PreferredSingleSignOnMode = "oidc"
	PreferredSingleSignOnModePassword     PreferredSingleSignOnMode = "password"
	PreferredSingleSignOnModeSaml         PreferredSingleSignOnMode = "saml"
)

type PublicClient

type PublicClient struct {
	RedirectUris *[]string `json:"redirectUris,omitempty"`
}

type PutHttpRequestInput

type PutHttpRequestInput struct {
	ConsistencyFailureFunc ConsistencyFailureFunc
	ContentType            string
	Body                   []byte
	OData                  odata.Query
	ValidStatusCodes       []int
	ValidStatusFunc        ValidStatusFunc
	Uri                    Uri
}

PutHttpRequestInput configures a PUT request.

func (PutHttpRequestInput) GetConsistencyFailureFunc added in v0.16.0

func (i PutHttpRequestInput) GetConsistencyFailureFunc() ConsistencyFailureFunc

GetConsistencyFailureFunc returns a function used to evaluate whether a failed request is due to eventual consistency and should be retried.

func (PutHttpRequestInput) GetContentType added in v0.29.0

func (i PutHttpRequestInput) GetContentType() string

GetContentType returns the content type for the request, defaults to application/json

func (PutHttpRequestInput) GetOData added in v0.32.0

func (i PutHttpRequestInput) GetOData() odata.Query

GetOData returns the OData request metadata

func (PutHttpRequestInput) GetValidStatusCodes

func (i PutHttpRequestInput) GetValidStatusCodes() []int

GetValidStatusCodes returns a []int of status codes considered valid for a PUT request.

func (PutHttpRequestInput) GetValidStatusFunc

func (i PutHttpRequestInput) GetValidStatusFunc() ValidStatusFunc

GetValidStatusFunc returns a function used to evaluate whether the response to a PUT request is considered valid.

type Recipient

type Recipient struct {
	EmailAddress *EmailAddress `json:"emailAddress,omitempty"`
}

type RegistrationAuthMethod added in v0.24.0

type RegistrationAuthMethod = string
const (
	RegistrationAuthMethodEmail                RegistrationAuthMethod = "email"
	RegistrationAuthMethodMobilePhone          RegistrationAuthMethod = "mobilePhone"
	RegistrationAuthMethodOfficePhone          RegistrationAuthMethod = "officePhone"
	RegistrationAuthMethodSecurityQuestion     RegistrationAuthMethod = "securityQuestion"
	RegistrationAuthMethodAppNotification      RegistrationAuthMethod = "appNotification"
	RegistrationAuthMethodAppCode              RegistrationAuthMethod = "appCode"
	RegistrationAuthMethodAlternateMobilePhone RegistrationAuthMethod = "alternateMobilePhone"
	RegistrationAuthMethodFido                 RegistrationAuthMethod = "fido"
	RegistrationAuthMethodAppPassword          RegistrationAuthMethod = "appPassword"
	RegistrationAuthMethodUnknownFutureValue   RegistrationAuthMethod = "unknownFutureValue"
)

type RegistrationStatus added in v0.24.0

type RegistrationStatus = string
const (
	RegistrationStatusRegistered    RegistrationStatus = "registered"
	RegistrationStatusEnabled       RegistrationStatus = "enabled"
	RegistrationStatusCapable       RegistrationStatus = "capable"
	RegistrationStatusMfaRegistered RegistrationStatus = "mfaRegistered"
)

type ReportsClient added in v0.24.0

type ReportsClient struct {
	BaseClient Client
}

ReportsClient Client performs operations on reports.

func NewReportsClient added in v0.24.0

func NewReportsClient(tenantId string) *ReportsClient

NewReportsClient returns a new ReportsClient.

func (*ReportsClient) GetAuthenticationMethodsUsersRegisteredByFeature added in v0.24.0

func (c *ReportsClient) GetAuthenticationMethodsUsersRegisteredByFeature(ctx context.Context, query odata.Query) (*UserRegistrationFeatureSummary, int, error)

func (*ReportsClient) GetAuthenticationMethodsUsersRegisteredByMethod added in v0.24.0

func (c *ReportsClient) GetAuthenticationMethodsUsersRegisteredByMethod(ctx context.Context, query odata.Query) (*UserRegistrationMethodSummary, int, error)

func (*ReportsClient) GetCredentialUsageSummary added in v0.24.0

func (c *ReportsClient) GetCredentialUsageSummary(ctx context.Context, period CredentialUsageSummaryPeriod, query odata.Query) (*[]CredentialUsageSummary, int, error)

func (*ReportsClient) GetCredentialUserRegistrationCount added in v0.24.0

func (c *ReportsClient) GetCredentialUserRegistrationCount(ctx context.Context, query odata.Query) (*[]CredentialUserRegistrationCount, int, error)

func (*ReportsClient) GetCredentialUserRegistrationDetails added in v0.24.0

func (c *ReportsClient) GetCredentialUserRegistrationDetails(ctx context.Context, query odata.Query) (*[]CredentialUserRegistrationDetails, int, error)

func (*ReportsClient) GetUserCredentialUsageDetails added in v0.24.0

func (c *ReportsClient) GetUserCredentialUsageDetails(ctx context.Context, query odata.Query) (*[]UserCredentialUsageDetails, int, error)

type RequestMiddleware added in v0.23.0

type RequestMiddleware func(*http.Request) (*http.Request, error)

RequestMiddleware can manipulate or log a request before it is sent

type RequestorSettings added in v0.31.0

type RequestorSettings struct {
	ScopeType         RequestorSettingsScopeType `json:"scopeType,omitempty"`
	AcceptRequests    *bool                      `json:"acceptRequests,omitempty"`
	AllowedRequestors *[]UserSet                 `json:"allowedRequestors,omitempty"`
}

type RequestorSettingsScopeType added in v0.31.0

type RequestorSettingsScopeType = string
const (
	RequestorSettingsScopeTypeAllConfiguredConnectedOrganizationSubjects RequestorSettingsScopeType = "AllConfiguredConnectedOrganizationSubjects"
	RequestorSettingsScopeTypeAllExistingConnectedOrganizationSubjects   RequestorSettingsScopeType = "AllExistingConnectedOrganizationSubjects"
	RequestorSettingsScopeTypeAllExistingDirectoryMemberUsers            RequestorSettingsScopeType = "AllExistingDirectoryMemberUsers"
	RequestorSettingsScopeTypeAllExistingDirectorySubjects               RequestorSettingsScopeType = "AllExistingDirectorySubjects"
	RequestorSettingsScopeTypeAllExternalSubjects                        RequestorSettingsScopeType = "AllExternalSubjects"
	RequestorSettingsScopeTypeNoSubjects                                 RequestorSettingsScopeType = "NoSubjects"
	RequestorSettingsScopeTypeSpecificConnectedOrganizationSubjects      RequestorSettingsScopeType = "SpecificConnectedOrganizationSubjects"
	RequestorSettingsScopeTypeSpecificDirectorySubjects                  RequestorSettingsScopeType = "SpecificDirectorySubjects"
)

type RequiredResourceAccess

type RequiredResourceAccess struct {
	ResourceAccess *[]ResourceAccess `json:"resourceAccess,omitempty"`
	ResourceAppId  *string           `json:"resourceAppId,omitempty"`
}

type ResourceAccess

type ResourceAccess struct {
	ID   *string            `json:"id,omitempty"`
	Type ResourceAccessType `json:"type,omitempty"`
}

type ResourceAccessType added in v0.12.0

type ResourceAccessType = string
const (
	ResourceAccessTypeRole  ResourceAccessType = "Role"
	ResourceAccessTypeScope ResourceAccessType = "Scope"
)

type ResponseMiddleware added in v0.23.0

type ResponseMiddleware func(*http.Request, *http.Response) (*http.Response, error)

ResponseMiddleware can manipulate or log a response before it is parsed and returned

type RoleAssignmentsClient added in v0.40.0

type RoleAssignmentsClient struct {
	BaseClient Client
}

RoleAssignmentsClient performs operations on RoleAssignments.

func NewRoleAssignmentsClient added in v0.40.0

func NewRoleAssignmentsClient(tenantId string) *RoleAssignmentsClient

NewRoleAssignmentsClient returns a new RoleAssignmentsClient

func (*RoleAssignmentsClient) Create added in v0.40.0

Create creates a new UnifiedRoleAssignment.

func (*RoleAssignmentsClient) Delete added in v0.40.0

func (c *RoleAssignmentsClient) Delete(ctx context.Context, id string) (int, error)

Delete removes a UnifiedRoleAssignment.

func (*RoleAssignmentsClient) Get added in v0.40.0

Get retrieves a UnifiedRoleAssignment

func (*RoleAssignmentsClient) List added in v0.40.0

List returns a list of RoleAssignments

type RoleDefinitionsClient added in v0.40.0

type RoleDefinitionsClient struct {
	BaseClient Client
}

RoleDefinitionsClient performs operations on RoleDefinitions.

func NewRoleDefinitionsClient added in v0.40.0

func NewRoleDefinitionsClient(tenantId string) *RoleDefinitionsClient

NewRoleDefinitionsClient returns a new RoleDefinitionsClient

func (*RoleDefinitionsClient) Create added in v0.40.0

Create creates a new UnifiedRoleDefinition.

func (*RoleDefinitionsClient) Delete added in v0.40.0

func (c *RoleDefinitionsClient) Delete(ctx context.Context, id string) (int, error)

Delete removes a UnifiedRoleDefinition.

func (*RoleDefinitionsClient) Get added in v0.40.0

Get retrieves a UnifiedRoleDefinition

func (*RoleDefinitionsClient) List added in v0.40.0

List returns a list of RoleDefinitions

func (*RoleDefinitionsClient) Update added in v0.40.0

func (c *RoleDefinitionsClient) Update(ctx context.Context, roleDefinition UnifiedRoleDefinition) (int, error)

Update amends an existing UnifiedRoleDefinition.

type SamlSingleSignOnSettings

type SamlSingleSignOnSettings struct {
	RelayState *string `json:"relayState,omitempty"`
}

type SchemaExtension added in v0.19.0

type SchemaExtension struct {
	ID          *string                      `json:"id,omitempty"`
	Description *string                      `json:"description,omitempty"`
	Owner       *string                      `json:"owner,omitempty"`
	Properties  *[]ExtensionSchemaProperty   `json:"properties,omitempty"`
	TargetTypes *[]ExtensionSchemaTargetType `json:"targetTypes,omitempty"`
	Status      SchemaExtensionStatus        `json:"status,omitempty"`
}

type SchemaExtensionData added in v0.23.0

type SchemaExtensionData struct {
	ID         string
	Properties SchemaExtensionProperties
}

func (SchemaExtensionData) MarshalJSON added in v0.23.0

func (se SchemaExtensionData) MarshalJSON() ([]byte, error)

type SchemaExtensionMap added in v0.23.0

type SchemaExtensionMap map[string]interface{}

func (*SchemaExtensionMap) UnmarshalJSON added in v0.23.0

func (m *SchemaExtensionMap) UnmarshalJSON(data []byte) error

type SchemaExtensionProperties added in v0.23.0

type SchemaExtensionProperties interface {
	UnmarshalJSON([]byte) error
}

type SchemaExtensionStatus added in v0.23.0

type SchemaExtensionStatus = string
const (
	SchemaExtensionStatusInDevelopment SchemaExtensionStatus = "InDevelopment"
	SchemaExtensionStatusAvailable     SchemaExtensionStatus = "Available"
	SchemaExtensionStatusDeprecated    SchemaExtensionStatus = "Deprecated"
)

type SchemaExtensionsClient added in v0.19.0

type SchemaExtensionsClient struct {
	BaseClient Client
}

SchemaExtensionsClient performs operations on Schema Extensions.

func NewSchemaExtensionsClient added in v0.19.0

func NewSchemaExtensionsClient(tenantId string) *SchemaExtensionsClient

NewSchemaExtensionsClient returns a new SchemaExtensionsClient.

func (*SchemaExtensionsClient) Create added in v0.19.0

func (c *SchemaExtensionsClient) Create(ctx context.Context, schemaExtension SchemaExtension) (*SchemaExtension, int, error)

Create creates a new Schema Extension

func (*SchemaExtensionsClient) Delete added in v0.19.0

func (c *SchemaExtensionsClient) Delete(ctx context.Context, id string) (int, error)

Delete removes a schema extension.

func (*SchemaExtensionsClient) Get added in v0.19.0

Get retrieves a Schema Extension.

func (*SchemaExtensionsClient) List added in v0.19.0

List returns a list of Schema Extensions, optionally filtered using OData.

func (*SchemaExtensionsClient) Update added in v0.19.0

func (c *SchemaExtensionsClient) Update(ctx context.Context, schemaExtension SchemaExtension) (int, error)

Update amends an existing schema Extension.

type ScopedRoleMembership added in v0.36.0

type ScopedRoleMembership struct {
	AdministrativeUnitId *string   `json:"administrativeUnitId,omitempty"`
	Id                   *string   `json:"id,omitempty"`
	RoleId               *string   `json:"roleId,omitempty"`
	RoleMemberInfo       *Identity `json:"roleMemberInfo"`
}

type ServicePrincipal

type ServicePrincipal struct {
	DirectoryObject
	Owners                              *Owners                       `json:"owners@odata.bind,omitempty"`
	ClaimsMappingPolicies               *[]ClaimsMappingPolicy        `json:"claimsmappingpolicies@odata.bind,omitempty"`
	AccountEnabled                      *bool                         `json:"accountEnabled,omitempty"`
	AddIns                              *[]AddIn                      `json:"addIns,omitempty"`
	AlternativeNames                    *[]string                     `json:"alternativeNames,omitempty"`
	AppDisplayName                      *string                       `json:"appDisplayName,omitempty"`
	AppId                               *string                       `json:"appId,omitempty"`
	ApplicationTemplateId               *string                       `json:"applicationTemplateId,omitempty"`
	AppOwnerOrganizationId              *string                       `json:"appOwnerOrganizationId,omitempty"`
	AppRoleAssignmentRequired           *bool                         `json:"appRoleAssignmentRequired,omitempty"`
	AppRoles                            *[]AppRole                    `json:"appRoles,omitempty"`
	DeletedDateTime                     *time.Time                    `json:"deletedDateTime,omitempty"`
	Description                         *StringNullWhenEmpty          `json:"description,omitempty"`
	DisplayName                         *string                       `json:"displayName,omitempty"`
	Homepage                            *string                       `json:"homepage,omitempty"`
	Info                                *InformationalUrl             `json:"info,omitempty"`
	KeyCredentials                      *[]KeyCredential              `json:"keyCredentials,omitempty"`
	LoginUrl                            *StringNullWhenEmpty          `json:"loginUrl,omitempty"`
	LogoutUrl                           *string                       `json:"logoutUrl,omitempty"`
	Notes                               *StringNullWhenEmpty          `json:"notes,omitempty"`
	NotificationEmailAddresses          *[]string                     `json:"notificationEmailAddresses,omitempty"`
	PasswordCredentials                 *[]PasswordCredential         `json:"passwordCredentials,omitempty"`
	PasswordSingleSignOnSettings        *PasswordSingleSignOnSettings `json:"passwordSingleSignOnSettings,omitempty"`
	PreferredSingleSignOnMode           *PreferredSingleSignOnMode    `json:"preferredSingleSignOnMode,omitempty"`
	PreferredTokenSigningKeyThumbprint  *string                       `json:"preferredTokenSigningKeyThumbprint,omitempty"`
	PreferredTokenSigningKeyEndDateTime *time.Time                    `json:"preferredTokenSigningKeyEndDateTime,omitempty"`
	PublishedPermissionScopes           *[]PermissionScope            `json:"publishedPermissionScopes,omitempty"`
	ReplyUrls                           *[]string                     `json:"replyUrls,omitempty"`
	SamlMetadataUrl                     *StringNullWhenEmpty          `json:"samlMetadataUrl,omitempty"`
	SamlSingleSignOnSettings            *SamlSingleSignOnSettings     `json:"samlSingleSignOnSettings,omitempty"`
	ServicePrincipalNames               *[]string                     `json:"servicePrincipalNames,omitempty"`
	ServicePrincipalType                *string                       `json:"servicePrincipalType,omitempty"`
	SignInAudience                      *SignInAudience               `json:"signInAudience,omitempty"`
	Tags                                *[]string                     `json:"tags,omitempty"`
	TokenEncryptionKeyId                *string                       `json:"tokenEncryptionKeyId,omitempty"`
	VerifiedPublisher                   *VerifiedPublisher            `json:"verifiedPublisher,omitempty"`
}

ServicePrincipal describes a Service Principal object.

func (*ServicePrincipal) UnmarshalJSON added in v0.24.0

func (s *ServicePrincipal) UnmarshalJSON(data []byte) error

type ServicePrincipalsClient

type ServicePrincipalsClient struct {
	BaseClient Client
}

ServicePrincipalsClient performs operations on Service Principals.

func NewServicePrincipalsClient

func NewServicePrincipalsClient(tenantId string) *ServicePrincipalsClient

NewServicePrincipalsClient returns a new ServicePrincipalsClient.

func (*ServicePrincipalsClient) AddOwners

func (c *ServicePrincipalsClient) AddOwners(ctx context.Context, servicePrincipal *ServicePrincipal) (int, error)

AddOwners adds owners to a Service Principal. First populate the `owners` field, then call this method

func (*ServicePrincipalsClient) AddPassword added in v0.13.0

func (c *ServicePrincipalsClient) AddPassword(ctx context.Context, servicePrincipalId string, passwordCredential PasswordCredential) (*PasswordCredential, int, error)

AddPassword appends a new password credential to a Service Principal.

func (*ServicePrincipalsClient) AddTokenSigningCertificate added in v0.44.0

func (c *ServicePrincipalsClient) AddTokenSigningCertificate(ctx context.Context, servicePrincipalId string, keyCredential KeyCredential) (*KeyCredential, int, error)

AddTokenSigningCertificate appends a new self signed certificate (keys and password) to a Service Principal.

func (*ServicePrincipalsClient) AssignAppRoleForResource added in v0.14.0

func (c *ServicePrincipalsClient) AssignAppRoleForResource(ctx context.Context, principalId, resourceId, appRoleId string) (*AppRoleAssignment, int, error)

AssignAppRoleForResource assigns an app role for a resource service principal, to a user, group, or client service principal. To grant an app role assignment, you need three identifiers:

principalId: The id of the user, group or client servicePrincipal to which you are assigning the app role. resourceId: The id of the resource servicePrincipal which has defined the app role. appRoleId: The id of the appRole (defined on the resource service principal) to assign to a user, group, or service principal.

func (*ServicePrincipalsClient) AssignClaimsMappingPolicy added in v0.42.0

func (c *ServicePrincipalsClient) AssignClaimsMappingPolicy(ctx context.Context, servicePrincipal *ServicePrincipal) (int, error)

AssignClaimsMappingPolicy assigns a claimsMappingPolicy to a servicePrincipal

func (*ServicePrincipalsClient) Create

func (c *ServicePrincipalsClient) Create(ctx context.Context, servicePrincipal ServicePrincipal) (*ServicePrincipal, int, error)

Create creates a new Service Principal.

func (*ServicePrincipalsClient) Delete

func (c *ServicePrincipalsClient) Delete(ctx context.Context, id string) (int, error)

Delete removes a Service Principal.

func (*ServicePrincipalsClient) Get

Get retrieves a Service Principal.

func (*ServicePrincipalsClient) GetOwner

func (c *ServicePrincipalsClient) GetOwner(ctx context.Context, servicePrincipalId, ownerId string) (*string, int, error)

GetOwner retrieves a single owner for the specified Service Principal. servicePrincipalId is the object ID of the service principal. ownerId is the object ID of the owning object.

func (*ServicePrincipalsClient) List

List returns a list of Service Principals, optionally queried using OData.

func (*ServicePrincipalsClient) ListAppRoleAssignments added in v0.14.0

func (c *ServicePrincipalsClient) ListAppRoleAssignments(ctx context.Context, resourceId string, query odata.Query) (*[]AppRoleAssignment, int, error)

ListAppRoleAssignments retrieves a list of appRoleAssignment that users, groups, or client service principals have been granted for the given resource service principal.

func (*ServicePrincipalsClient) ListClaimsMappingPolicy added in v0.42.0

func (c *ServicePrincipalsClient) ListClaimsMappingPolicy(ctx context.Context, id string) (*[]ClaimsMappingPolicy, int, error)

ListClaimsMappingPolicy retrieves the claimsMappingPolicies assigned to the specified Service Principal. id is the object ID of the service principal.

func (*ServicePrincipalsClient) ListGroupMemberships

func (c *ServicePrincipalsClient) ListGroupMemberships(ctx context.Context, id string, query odata.Query) (*[]Group, int, error)

ListGroupMemberships returns a list of Groups the Service Principal is member of, optionally queried using OData.

func (*ServicePrincipalsClient) ListOwnedObjects added in v0.13.0

func (c *ServicePrincipalsClient) ListOwnedObjects(ctx context.Context, id string) (*[]string, int, error)

ListOwnedObjects retrieves the owned objects of the specified Service Principal. id is the object ID of the service principal.

func (*ServicePrincipalsClient) ListOwners

func (c *ServicePrincipalsClient) ListOwners(ctx context.Context, id string) (*[]string, int, error)

ListOwners retrieves the owners of the specified Service Principal. id is the object ID of the service principal.

func (*ServicePrincipalsClient) RemoveAppRoleAssignment added in v0.14.0

func (c *ServicePrincipalsClient) RemoveAppRoleAssignment(ctx context.Context, resourceId, appRoleAssignmentId string) (int, error)

RemoveAppRoleAssignment deletes an appRoleAssignment that a user, group, or client service principal has been granted for a resource service principal.

func (*ServicePrincipalsClient) RemoveClaimsMappingPolicy added in v0.42.0

func (c *ServicePrincipalsClient) RemoveClaimsMappingPolicy(ctx context.Context, servicePrincipal *ServicePrincipal, policyIds *[]string) (int, error)

RemoveClaimsMappingPolicy removes a claimsMappingPolicy from a servicePrincipal

func (*ServicePrincipalsClient) RemoveOwners

func (c *ServicePrincipalsClient) RemoveOwners(ctx context.Context, servicePrincipalId string, ownerIds *[]string) (int, error)

RemoveOwners removes owners from a Service Principal. servicePrincipalId is the object ID of the service principal. ownerIds is a *[]string containing object IDs of owners to remove.

func (*ServicePrincipalsClient) RemovePassword added in v0.13.0

func (c *ServicePrincipalsClient) RemovePassword(ctx context.Context, servicePrincipalId string, keyId string) (int, error)

RemovePassword removes a password credential from a Service Principal.

func (*ServicePrincipalsClient) SetPreferredTokenSigningKeyThumbprint added in v0.44.0

func (c *ServicePrincipalsClient) SetPreferredTokenSigningKeyThumbprint(ctx context.Context, servicePrincipalId string, thumbprint string) (int, error)

SetPreferredTokenSigningKeyThumbprint sets the field preferredTokenSigningKeyThumbprint for a Service Principal.

func (*ServicePrincipalsClient) Update

func (c *ServicePrincipalsClient) Update(ctx context.Context, servicePrincipal ServicePrincipal) (int, error)

Update amends an existing Service Principal.

type SignInActivity added in v0.19.0

type SignInActivity struct {
	LastSignInDateTime  *time.Time `json:"lastSignInDateTime,omitempty"`
	LastSignInRequestId *string    `json:"lastSignInRequestId,omitempty"`
}

type SignInAudience

type SignInAudience = string
const (
	SignInAudienceAzureADMyOrg                       SignInAudience = "AzureADMyOrg"
	SignInAudienceAzureADMultipleOrgs                SignInAudience = "AzureADMultipleOrgs"
	SignInAudienceAzureADandPersonalMicrosoftAccount SignInAudience = "AzureADandPersonalMicrosoftAccount"
	SignInAudiencePersonalMicrosoftAccount           SignInAudience = "PersonalMicrosoftAccount"
)

type SignInFrequencySessionControl added in v0.11.0

type SignInFrequencySessionControl struct {
	IsEnabled *bool   `json:"isEnabled,omitempty"`
	Type      *string `json:"type,omitempty"`
	Value     *int32  `json:"value,omitempty"`
}

type SignInReport added in v0.18.0

type SignInReport struct {
	Id                               *string                           `json:"id,omitempty"`
	CreatedDateTime                  *time.Time                        `json:"createdDateTime,omitempty"`
	UserDisplayName                  *string                           `json:"userDisplayName,omitempty"`
	UserPrincipalName                *string                           `json:"userPrincipalName,omitempty"`
	UserId                           *string                           `json:"userId,omitempty"`
	AppId                            *string                           `json:"appId,omitempty"`
	AppDisplayName                   *string                           `json:"appDisplayName,omitempty"`
	IPAddress                        *string                           `json:"ipAddress,omitempty"`
	ClientAppUsed                    *string                           `json:"clientAppUsed,omitempty"`
	CorrelationId                    *string                           `json:"correlationId,omitempty"`
	ConditionalAccessStatus          *string                           `json:"conditionalAccessStatus,omitempty"`
	IsInteractive                    *bool                             `json:"isInteractive,omitempty"`
	RiskDetail                       *string                           `json:"riskDetail,omitempty"`
	RiskLevelAggregated              *string                           `json:"riskLevelAggregated,omitempty"`
	RiskLevelDuringSignIn            *string                           `json:"riskLevelDuringSignIn,omitempty"`
	RiskState                        *string                           `json:"riskState,omitempty"`
	RiskEventTypes                   *[]string                         `json:"riskEventTypes,omitempty"`
	ResourceDisplayName              *string                           `json:"resourceDisplayName,omitempty"`
	ResourceId                       *string                           `json:"resourceId,omitempty"`
	Status                           *Status                           `json:"status,omitempty"`
	DeviceDetail                     *DeviceDetail                     `json:"deviceDetail,omitempty"`
	Location                         *Location                         `json:"location,omitempty"`
	AppliedConditionalAccessPolicies *[]AppliedConditionalAccessPolicy `json:"appliedConditionalAccessPolicies,omitempty"`
}

type SignInReportsClient added in v0.18.0

type SignInReportsClient struct {
	BaseClient Client
}

SignInReports Client performs operations on Sign in reports.

func NewSignInReportsClient added in v0.35.0

func NewSignInReportsClient(tenantId string) *SignInReportsClient

NewSignInReportsClient returns a new SignInReportsClient.

func (*SignInReportsClient) Get added in v0.18.0

Get retrieves a Sign-in Report.

func (*SignInReportsClient) List added in v0.18.0

func (c *SignInReportsClient) List(ctx context.Context, query odata.Query) (*[]SignInReport, int, error)

List returns a list of Sign-in Reports, optionally queried using OData.

type SingleSignOnField

type SingleSignOnField struct {
	CustomizedLabel *string `json:"customizedLabel,omitempty"`
	DefaultLabel    *string `json:"defaultLabel,omitempty"`
	FieldId         *string `json:"fieldId,omitempty"`
	Type            *string `json:"type,omitempty"`
}

type Status added in v0.18.0

type Status struct {
	ErrorCode         *int32  `json:"errorCode,omitempty"`
	FailureReason     *string `json:"failureReason,omitempty"`
	AdditionalDetails *string `json:"additionalDetails,omitempty"`
}

type StringNullWhenEmpty added in v0.17.0

type StringNullWhenEmpty string

StringNullWhenEmpty is a string type that marshals its JSON representation as null when set to its zero value. Can be used with a pointer reference with the `omitempty` tag to omit a field when the pointer is nil, but send a JSON null value when the string is empty.

func NullableString added in v0.36.0

func NullableString(s StringNullWhenEmpty) *StringNullWhenEmpty

NullableString returns a pointer to a StringNullWhenEmpty for use in model structs

func (StringNullWhenEmpty) MarshalJSON added in v0.17.0

func (s StringNullWhenEmpty) MarshalJSON() ([]byte, error)

type TargetResource added in v0.18.0

type TargetResource struct {
	Id                 *string             `json:"id,omitempty"`
	DisplayName        *string             `json:"displayName,omitempty"`
	Type               *string             `json:"type,omitempty"`
	UserPrincipalName  *string             `json:"userPrincipalName,omitempty"`
	GroupType          *string             `json:"groupType,omitempty"`
	ModifiedProperties *[]ModifiedProperty `json:"modifiedProperties,omitempty"`
}

type TemporaryAccessPassAuthenticationMethod added in v0.25.0

type TemporaryAccessPassAuthenticationMethod struct {
	ID                    *string                `json:"id,omitempty"`
	TemporaryAccessPass   *string                `json:"temporaryAccessPass,omitempty"`
	CreatedDateTime       *time.Time             `json:"createdDateTime,omitempty"`
	StartDateTime         *time.Time             `json:"startDateTime,omitempty"`
	LifetimeInMinutes     *int32                 `json:"lifetimeInMinutes,omitempty"`
	IsUsableOnce          *bool                  `json:"isUsableOnce,omitempty"`
	IsUsable              *bool                  `json:"isUsable,omitempty"`
	MethodUsabilityReason *MethodUsabilityReason `json:"methodUsabilityReason,omitempty"`
}

type UnifiedRoleAssignment added in v0.40.0

type UnifiedRoleAssignment struct {
	DirectoryObject

	AppScopeId       *string `json:"appScopeId,omitempty"`
	DirectoryScopeId *string `json:"directoryScopeId,omitempty"`
	PrincipalId      *string `json:"principalId,omitempty"`
	RoleDefinitionId *string `json:"roleDefinitionId,omitempty"`
}

type UnifiedRoleDefinition added in v0.40.0

type UnifiedRoleDefinition struct {
	DirectoryObject

	Description     *StringNullWhenEmpty     `json:"description,omitempty"`
	DisplayName     *string                  `json:"displayName,omitempty"`
	IsBuiltIn       *bool                    `json:"isBuiltIn,omitempty"`
	IsEnabled       *bool                    `json:"isEnabled,omitempty"`
	ResourceScopes  *[]string                `json:"resourceScopes,omitempty"`
	RolePermissions *[]UnifiedRolePermission `json:"rolePermissions,omitempty"`
	TemplateId      *string                  `json:"templateId,omitempty"`
	Version         *string                  `json:"version,omitempty"`
}

type UnifiedRolePermission added in v0.40.0

type UnifiedRolePermission struct {
	AllowedResourceActions  *[]string            `json:"allowedResourceActions,omitempty"`
	Condition               *StringNullWhenEmpty `json:"condition,omitempty"`
	ExcludedResourceActions *[]string            `json:"excludedResourceActions,omitempty"`
}

type Uri

type Uri struct {
	Entity      string
	Params      url.Values
	HasTenantId bool
}

Uri represents a Microsoft Graph endpoint.

type UsageAuthMethod added in v0.24.0

type UsageAuthMethod = string
const (
	UsageAuthMethodEmail                 UsageAuthMethod = "email"
	UsageAuthMethodMobileSMS             UsageAuthMethod = "mobileSMS"
	UsageAuthMethodMobileCall            UsageAuthMethod = "mobileCall"
	UsageAuthMethodOfficePhone           UsageAuthMethod = "officePhone"
	UsageAuthMethodSecurityQuestion      UsageAuthMethod = "securityQuestion"
	UsageAuthMethodAppNotification       UsageAuthMethod = "appNotification"
	UsageAuthMethodAppCode               UsageAuthMethod = "appCode"
	UsageAuthMethodAlternativeMobileCall UsageAuthMethod = "alternateMobileCall"
	UsageAuthMethodFido                  UsageAuthMethod = "fido"
	UsageAuthMethodAppPassword           UsageAuthMethod = "appPassword"
	UsageAuthMethodUnknownFutureValue    UsageAuthMethod = "unknownFutureValue"
)

type User

type User struct {
	DirectoryObject

	AboutMe                         *string                  `json:"aboutMe,omitempty"`
	AccountEnabled                  *bool                    `json:"accountEnabled,omitempty"`
	AgeGroup                        *AgeGroup                `json:"ageGroup,omitempty"`
	BusinessPhones                  *[]string                `json:"businessPhones,omitempty"`
	City                            *StringNullWhenEmpty     `json:"city,omitempty"`
	CompanyName                     *StringNullWhenEmpty     `json:"companyName,omitempty"`
	ConsentProvidedForMinor         *ConsentProvidedForMinor `json:"consentProvidedForMinor,omitempty"`
	Country                         *StringNullWhenEmpty     `json:"country,omitempty"`
	CreatedDateTime                 *time.Time               `json:"createdDateTime,omitempty"`
	CreationType                    *string                  `json:"creationType,omitempty"`
	DeletedDateTime                 *time.Time               `json:"deletedDateTime,omitempty"`
	Department                      *StringNullWhenEmpty     `json:"department,omitempty"`
	DisplayName                     *string                  `json:"displayName,omitempty"`
	EmployeeHireDate                *time.Time               `json:"employeeHireDate,omitempty"`
	EmployeeId                      *StringNullWhenEmpty     `json:"employeeId,omitempty"`
	EmployeeOrgData                 *EmployeeOrgData         `json:"employeeOrgData,omitempty"`
	EmployeeType                    *StringNullWhenEmpty     `json:"employeeType,omitempty"`
	ExternalUserState               *string                  `json:"externalUserState,omitempty"`
	FaxNumber                       *StringNullWhenEmpty     `json:"faxNumber,omitempty"`
	GivenName                       *StringNullWhenEmpty     `json:"givenName,omitempty"`
	ImAddresses                     *[]string                `json:"imAddresses,omitempty"`
	Interests                       *[]string                `json:"interests,omitempty"`
	IsManagementRestricted          *bool                    `json:"isManagementRestricted,omitempty"`
	IsResourceAccount               *bool                    `json:"isResourceAccount,omitempty"`
	JobTitle                        *StringNullWhenEmpty     `json:"jobTitle,omitempty"`
	Mail                            *StringNullWhenEmpty     `json:"mail,omitempty"`
	MailNickname                    *string                  `json:"mailNickname,omitempty"`
	MemberOf                        *[]DirectoryObject       `json:"memberOf,omitempty"`
	MobilePhone                     *StringNullWhenEmpty     `json:"mobilePhone,omitempty"`
	MySite                          *string                  `json:"mySite,omitempty"`
	OfficeLocation                  *StringNullWhenEmpty     `json:"officeLocation,omitempty"`
	OnPremisesDistinguishedName     *string                  `json:"onPremisesDistinguishedName,omitempty"`
	OnPremisesDomainName            *string                  `json:"onPremisesDomainName,omitempty"`
	OnPremisesImmutableId           *string                  `json:"onPremisesImmutableId,omitempty"`
	OnPremisesLastSyncDateTime      *string                  `json:"onPremisesLastSyncDateTime,omitempty"`
	OnPremisesSamAccountName        *string                  `json:"onPremisesSamAccountName,omitempty"`
	OnPremisesSecurityIdentifier    *string                  `json:"onPremisesSecurityIdentifier,omitempty"`
	OnPremisesSyncEnabled           *bool                    `json:"onPremisesSyncEnabled,omitempty"`
	OnPremisesUserPrincipalName     *string                  `json:"onPremisesUserPrincipalName,omitempty"`
	OtherMails                      *[]string                `json:"otherMails,omitempty"`
	PasswordPolicies                *StringNullWhenEmpty     `json:"passwordPolicies,omitempty"`
	PasswordProfile                 *UserPasswordProfile     `json:"passwordProfile,omitempty"`
	PastProjects                    *[]string                `json:"pastProjects,omitempty"`
	PostalCode                      *StringNullWhenEmpty     `json:"postalCode,omitempty"`
	PreferredDataLocation           *string                  `json:"preferredDataLocation,omitempty"`
	PreferredLanguage               *StringNullWhenEmpty     `json:"preferredLanguage,omitempty"`
	PreferredName                   *string                  `json:"preferredName,omitempty"`
	ProxyAddresses                  *[]string                `json:"proxyAddresses,omitempty"`
	RefreshTokensValidFromDateTime  *time.Time               `json:"refreshTokensValidFromDateTime,omitempty"`
	Responsibilities                *[]string                `json:"responsibilities,omitempty"`
	Schools                         *[]string                `json:"schools,omitempty"`
	ShowInAddressList               *bool                    `json:"showInAddressList,omitempty"`
	SignInActivity                  *SignInActivity          `json:"signInActivity,omitempty"`
	SignInSessionsValidFromDateTime *time.Time               `json:"signInSessionsValidFromDateTime,omitempty"`
	Skills                          *[]string                `json:"skills,omitempty"`
	State                           *StringNullWhenEmpty     `json:"state,omitempty"`
	StreetAddress                   *StringNullWhenEmpty     `json:"streetAddress,omitempty"`
	Surname                         *StringNullWhenEmpty     `json:"surname,omitempty"`
	UsageLocation                   *StringNullWhenEmpty     `json:"usageLocation,omitempty"`
	UserPrincipalName               *string                  `json:"userPrincipalName,omitempty"`
	UserType                        *string                  `json:"userType,omitempty"`

	SchemaExtensions *[]SchemaExtensionData `json:"-"`
}

User describes a User object.

func (User) MarshalJSON added in v0.23.0

func (u User) MarshalJSON() ([]byte, error)

func (*User) UnmarshalJSON added in v0.23.0

func (u *User) UnmarshalJSON(data []byte) error

type UserCredentialUsageDetails added in v0.24.0

type UserCredentialUsageDetails struct {
	AuthMethod        *UsageAuthMethod `json:"authMethod,omitempty"`
	EventDateTime     *time.Time       `json:"eventDateTime,omitempty"`
	FailureReason     *string          `json:"failureReason,omitempty"`
	Feature           *FeatureType     `json:"feature,omitempty"`
	ID                *string          `json:"id,omitempty"`
	IsSuccess         *bool            `json:"isSuccess,omitempty"`
	UserDisplayName   *string          `json:"userDisplayName,omitempty"`
	UserPrincipalName *string          `json:"userPrincipalName,omitempty"`
}

type UserIdentity added in v0.18.0

type UserIdentity struct {
	DisplayName       *string `json:"displayName,omitempty"`
	Id                *string `json:"id,omitempty"`
	IPAddress         *string `json:"ipAddress,omitempty"`
	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
}

type UserPasswordProfile

type UserPasswordProfile struct {
	ForceChangePasswordNextSignIn        *bool   `json:"forceChangePasswordNextSignIn,omitempty"`
	ForceChangePasswordNextSignInWithMfa *bool   `json:"forceChangePasswordNextSignInWithMfa,omitempty"`
	Password                             *string `json:"password,omitempty"`
}

type UserRegistrationCount added in v0.24.0

type UserRegistrationCount struct {
	RegistrationStatus *RegistrationStatus `json:"registrationStatus,omitempty"`
	RegistrationCount  *int64              `json:"registrationCount,omitempty"`
}

type UserRegistrationFeatureCount added in v0.24.0

type UserRegistrationFeatureCount struct {
	Feature   *AuthenticationMethodFeature `json:"feature,omitempty"`
	UserCount *int64                       `json:"userCount"`
}

type UserRegistrationFeatureSummary added in v0.24.0

type UserRegistrationFeatureSummary struct {
	TotalUserCount                *int64                          `json:"totalUserCount,omitempty"`
	UserRegistrationFeatureCounts *[]UserRegistrationFeatureCount `json:"userRegistrationFeatureCounts"`
	UserRoles                     IncludedUserRoles               `json:"userRoles,omitempty"`
	UserTypes                     IncludedUserTypes               `json:"userTypes,omitempty"`
}

type UserRegistrationMethodCount added in v0.24.0

type UserRegistrationMethodCount struct {
	AuthenticationMethod *string `json:"authenticationMethod,omitempty"`
	UserCount            *int64  `json:"userCount,omitempty"`
}

type UserRegistrationMethodSummary added in v0.24.0

type UserRegistrationMethodSummary struct {
	TotalUserCount               *int64                         `json:"totalUserCount"`
	UserRegistrationMethodsCount *[]UserRegistrationMethodCount `json:"userRegistrationMethodCounts,omitempty"`
	UerRoles                     IncludedUserRoles              `json:"userRoles,omitempty"`
	UserTypes                    IncludedUserTypes              `json:"userTypes,omitempty"`
}

type UserSet added in v0.31.0

type UserSet struct {
	ODataType    *odata.Type `json:"@odata.type,omitempty"`
	IsBackup     *bool       `json:"isBackup,omitempty"`
	ID           *string     `json:"id,omitempty"` // Either user or group ID
	Description  *string     `json:"description,omitempty"`
	ManagerLevel *int32      `json:"managerLevel,omitempty"`
}

type UsersClient

type UsersClient struct {
	BaseClient Client
}

UsersClient performs operations on Users.

func NewUsersClient

func NewUsersClient(tenantId string) *UsersClient

NewUsersClient returns a new UsersClient.

func (*UsersClient) AssignManager added in v0.32.0

func (c *UsersClient) AssignManager(ctx context.Context, id string, manager User) (int, error)

AssignManager assigns a user's manager.

func (*UsersClient) Create

func (c *UsersClient) Create(ctx context.Context, user User) (*User, int, error)

Create creates a new User.

func (*UsersClient) Delete

func (c *UsersClient) Delete(ctx context.Context, id string) (int, error)

Delete removes a User.

func (*UsersClient) DeleteManager added in v0.33.0

func (c *UsersClient) DeleteManager(ctx context.Context, id string) (int, error)

DeleteManager removes a user's manager assignment.

func (*UsersClient) DeletePermanently added in v0.15.0

func (c *UsersClient) DeletePermanently(ctx context.Context, id string) (int, error)

DeletePermanently removes a deleted User permanently.

func (*UsersClient) Get

func (c *UsersClient) Get(ctx context.Context, id string, query odata.Query) (*User, int, error)

Get retrieves a User.

func (*UsersClient) GetDeleted added in v0.14.0

func (c *UsersClient) GetDeleted(ctx context.Context, id string, query odata.Query) (*User, int, error)

GetDeleted retrieves a deleted User.

func (*UsersClient) GetManager added in v0.32.0

func (c *UsersClient) GetManager(ctx context.Context, id string) (*User, int, error)

GetManager retrieves an user or organizational contact assigned as the user's manager.

func (*UsersClient) GetWithSchemaExtensions added in v0.23.0

func (c *UsersClient) GetWithSchemaExtensions(ctx context.Context, id string, query odata.Query, schemaExtensions *[]SchemaExtensionData) (*User, int, error)

GetWithSchemaExtensions retrieves a User, including the values for any specified schema extensions

func (*UsersClient) List

func (c *UsersClient) List(ctx context.Context, query odata.Query) (*[]User, int, error)

List returns a list of Users, optionally queried using OData.

func (*UsersClient) ListDeleted added in v0.14.0

func (c *UsersClient) ListDeleted(ctx context.Context, query odata.Query) (*[]User, int, error)

ListDeleted retrieves a list of recently deleted users, optionally queried using OData.

func (*UsersClient) ListGroupMemberships

func (c *UsersClient) ListGroupMemberships(ctx context.Context, id string, query odata.Query) (*[]Group, int, error)

ListGroupMemberships returns a list of Groups the user is member of, optionally queried using OData.

func (*UsersClient) RestoreDeleted added in v0.17.0

func (c *UsersClient) RestoreDeleted(ctx context.Context, id string) (*User, int, error)

RestoreDeleted restores a recently deleted User.

func (*UsersClient) Sendmail added in v0.13.0

func (c *UsersClient) Sendmail(ctx context.Context, id string, message MailMessage) (int, error)

SendMail sends message specified in the request body. TODO: Needs testing with an O365 user principal

func (*UsersClient) Update

func (c *UsersClient) Update(ctx context.Context, user User) (int, error)

Update amends an existing User.

type ValidStatusFunc

type ValidStatusFunc func(*http.Response, *odata.OData) bool

ValidStatusFunc is a function that tests whether an HTTP response is considered valid for the particular request.

type VerifiedPublisher

type VerifiedPublisher struct {
	AddedDateTime       *time.Time `json:"addedDateTime,omitempty"`
	DisplayName         *string    `json:"displayName,omitempty"`
	VerifiedPublisherId *string    `json:"verifiedPublisherId,omitempty"`
}

type WindowsHelloForBusinessAuthenticationMethod added in v0.25.0

type WindowsHelloForBusinessAuthenticationMethod struct {
	CreatedDateTime *time.Time                       `json:"createdDateTime,omitempty"`
	DisplayName     *string                          `json:"displayName,omitempty"`
	ID              *string                          `json:"id,omitempty"`
	KeyStrength     *AuthenticationMethodKeyStrength `json:"authenticationMethodKeyStrength,omitempty"`
}

Jump to

Keyboard shortcuts

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