Documentation ¶
Index ¶
Constants ¶
const ( ErrorAddedObjectReferencesAlreadyExist = "One or more added object references already exist" ErrorCannotDeleteOrUpdateEnabledEntitlement = "Permission (scope or role) cannot be deleted or updated unless disabled first" ErrorConflictingObjectPresentInDirectory = "A conflicting object with one or more of the specified property values is present in the directory" ErrorNotValidReferenceUpdate = "Not a valid reference update" ErrorPropertyValuesAreInvalid = "One or more property values specified are invalid" ErrorResourceDoesNotExist = "Resource '.+' does not exist or one of its queried reference-property objects are not present" ErrorRemovedObjectReferencesDoNotExist = "One or more removed object references do not exist" ErrorServicePrincipalAppInOtherTenant = "When using this permission, the backing application of the service principal being created must in the local tenant" ErrorServicePrincipalInvalidAppId = "The appId '.+' of the service principal does not reference a valid application object" ErrorUnknownUnsupportedQuery = "UnknownError: Unsupported Query" )
const ODataVersion = "4.0" // TODO: support 4.01 - https://docs.oasis-open.org/odata/odata-json-format/v4.01/cs01/odata-json-format-v4.01-cs01.html#_Toc499720587
ODataVersion describes the highest OData spec version supported by this package
Variables ¶
This section is empty.
Functions ¶
func EscapeSingleQuote ¶
EscapeSingleQuote replaces all occurrences of single quote, with 2 single quotes. For requests that use single quotes, if any parameter values also contain single quotes, those must be double escaped; otherwise, the request will fail due to invalid syntax. https://docs.microsoft.com/en-us/graph/query-parameters#escaping-single-quotes
Types ¶
type ConsistencyLevel ¶
type ConsistencyLevel string
ConsistencyLevel is included in the API request headers when making advanced data queries
const (
ConsistencyLevelEventual ConsistencyLevel = "eventual"
)
type CustomPager ¶
type CustomPager interface { // NextPageLink returns a *Link describing the URI for the next page of results, it should also clear any state // before returning, so that subsequent pages do not inherit the URI from the previous page. NextPageLink() *Link }
CustomPager handles custom paging for paginated API responses that do not follow the OData 4.0 standard for JSON services. The underlying type should support unmarshalling a JSON response
type Error ¶
type Error struct { Code *string `json:"code"` Date *string `json:"date"` Message *string `json:"-"` RawMessage *json.RawMessage `json:"message"` // sometimes a string, sometimes an object :/ ClientRequestId *string `json:"client-request-id"` RequestId *string `json:"request-id"` InnerError *Error `json:"innerError"` // nested errors Details *[]ErrorDetails `json:"-"` RawDetails *json.RawMessage `json:"details"` // should be an array, but sometimes an object :S Values *[]struct { Item string `json:"item"` Value string `json:"value"` } `json:"values"` }
Error is used to unmarshal an API error message.
func (*Error) UnmarshalJSON ¶
type ErrorDetails ¶
type Id ¶
type Id string
Id describes the ID of an OData entity.
func (Id) MarshalJSON ¶
func (*Id) UnmarshalJSON ¶
type Link ¶
type Link string
Link describes a URI obtained from an OData annotation.
func NextLinkFromCustomPager ¶
func NextLinkFromCustomPager(resp *http.Response, pager CustomPager) (*Link, error)
NextLinkFromCustomPager unmarshalls a *http.Response into the provided CustomPager and invokes its NextPageLink method
func (*Link) UnmarshalJSON ¶
type Metadata ¶
type Metadata string
Metadata specifies the level of control information desired in the response for an API request and is appended to the Accept header
type OData ¶
type OData struct { Context *string `json:"@odata.context"` MetadataEtag *string `json:"@odata.metadataEtag"` Type *Type `json:"@odata.type"` Count *int `json:"@odata.count"` NextLink *Link `json:"@odata.nextLink"` Delta *string `json:"@odata.delta"` DeltaLink *Link `json:"@odata.deltaLink"` Id *Id `json:"@odata.id"` EditLink *Link `json:"@odata.editLink"` Etag *string `json:"@odata.etag"` Error *Error `json:"-"` Value interface{} `json:"value"` }
OData is used to unmarshal OData metadata from an API response.
func FromResponse ¶
FromResponse parses a http.Response and returns an unmarshalled OData If no odata is present in the response, or the content type is invalid, returns nil
func (*OData) UnmarshalJSON ¶
type Query ¶
type Query struct { // ConsistencyLevel sets the corresponding http header ConsistencyLevel ConsistencyLevel // Metadata indicates how much control information is requested (services assume "minimal" when not specified) Metadata Metadata // Count includes a count of the total number of items in a collection alongside the page of data values Count bool // Expand includes the expanded resource or collection referenced by a single relationship Expand Expand // Filter retrieves just a subset of a collection, or relationships like members, memberOf, transitiveMembers, and transitiveMemberOf Filter string // Format specifies the media format of the items returned Format Format // OrderBy specify the sort order of the items returned OrderBy OrderBy // Search restricts the results of a request to match a search criterion Search string // complicated // Select returns a set of properties that are different than the default set for an individual resource or a collection of resources Select []string // Skip sets the number of items to skip at the start of a collection Skip int // Top specifies the page size of the result set Top int // DeltaToken is used to query a delta endpoint DeltaToken string }
Query describes OData query parameters that can be included in an API request.
func (Query) AppendHeaders ¶
AppendHeaders returns the provided http.Header map with OData specific headers appended, for use in requests
func (Query) AppendValues ¶
AppendValues returns the provided url.Values map with OData specific query parameters appended, for use in requests
type ShortType ¶
type ShortType = string
ShortType is the unqualified data type for an entity
const ( ShortTypeAccessPackage ShortType = "accessPackage" ShortTypeAccessPackageAssignmentPolicy ShortType = "accessPackageAssignmentPolicy" ShortTypeAccessPackageCatalog ShortType = "accessPackageCatalog" ShortTypeAccessPackageResourceRequest ShortType = "accessPackageResourceRequest" ShortTypeAccessPackageQuestion ShortType = "accessPackageQuestion" ShortTypeAccessPackageTextInputQuestion ShortType = "accessPackageTextInputQuestion" ShortTypeAccessPackageMultipleChoiceQuestion ShortType = "accessPackageMultipleChoiceQuestion" ShortTypeAdministrativeUnit ShortType = "administrativeUnit" ShortTypeApplication ShortType = "application" ShortTypeConditionalAccessPolicy ShortType = "conditionalAccessPolicy" ShortTypeConnectedOrganizationMembers ShortType = "connectedOrganizationMembers" ShortTypeConnectionInfo ShortType = "connectionInfo" ShortTypeCountryNamedLocation ShortType = "countryNamedLocation" ShortTypeDevice ShortType = "device" ShortTypeDirectoryRole ShortType = "directoryRole" ShortTypeDirectoryRoleTemplate ShortType = "directoryRoleTemplate" ShortTypeDomain ShortType = "domain" ShortTypeEmailAuthenticationMethod ShortType = "emailAuthenticationMethod" ShortTypeExternalSponsors ShortType = "externalSponsors" ShortTypeFido2AuthenticationMethod ShortType = "fido2AuthenticationMethod" ShortTypeGroup ShortType = "group" ShortTypeGroupMembers ShortType = "groupMembers" ShortTypeIpNamedLocation ShortType = "ipNamedLocation" ShortTypeInternalSponsors ShortType = "internalSponsors" ShortTypeNamedLocation ShortType = "namedLocation" ShortTypeMicrosoftAuthenticatorAuthenticationMethod ShortType = "microsoftAuthenticatorAuthenticationMethod" ShortTypeOrganization ShortType = "organization" ShortTypePasswordAuthenticationMethod ShortType = "passwordAuthenticationMethod" ShortTypePhoneAuthenticationMethod ShortType = "phoneAuthenticationMethod" ShortTypeRequestorManager ShortType = "requestorManager" ShortTypeServicePrincipal ShortType = "servicePrincipal" ShortTypeSingleUser ShortType = "singleUser" ShortTypeSocialIdentityProvider ShortType = "socialIdentityProvider" ShortTypeTemporaryAccessPassAuthenticationMethod ShortType = "temporaryAccessPassAuthenticationMethod" ShortTypeUser ShortType = "user" ShortTypeWindowsHelloForBusinessAuthenticationMethod ShortType = "windowsHelloForBusinessAuthenticationMethod" )
type Type ¶
type Type = string
Type is the namespace-qualified data type for an entity
const ( TypeAccessPackage Type = "#microsoft.graph.accessPackage" TypeAccessPackageAssignmentPolicy Type = "#microsoft.graph.accessPackageAssignmentPolicy" TypeAccessPackageCatalog Type = "#microsoft.graph.accessPackageCatalog" TypeAccessPackageMultipleChoiceQuestion Type = "#microsoft.graph.accessPackageMultipleChoiceQuestion" TypeAccessPackageQuestion Type = "#microsoft.graph.accessPackageQuestion" TypeAccessPackageResourceRequest Type = "#microsoft.graph.accessPackageResourceRequest" TypeAccessPackageTextInputQuestion Type = "#microsoft.graph.accessPackageTextInputQuestion" TypeActiveDirectoryWindowsAutopilotDeploymentProfile Type = "#microsoft.graph.activeDirectoryWindowsAutopilotDeploymentProfile" TypeAdministrativeUnit Type = "#microsoft.graph.administrativeUnit" TypeAndroidForWorkApp Type = "#microsoft.graph.androidForWorkApp" TypeAndroidLobApp Type = "#microsoft.graph.androidLobApp" TypeAndroidManagedStoreApp Type = "#microsoft.graph.androidManagedStoreApp" TypeAndroidManagedStoreWebApp Type = "#microsoft.graph.androidManagedStoreWebApp" TypeAndroidStoreApp Type = "#microsoft.graph.androidStoreApp" TypeApplication Type = "#microsoft.graph.application" TypeAzureActiveDirectoryTenant Type = "#microsoft.graph.azureActiveDirectoryTenant" TypeAzureADWindowsAutopilotDeploymentProfile Type = "#microsoft.graph.azureADWindowsAutopilotDeploymentProfile" TypeConditionalAccessPolicy Type = "#microsoft.graph.conditionalAccessPolicy" TypeConnectedOrganizationMembers Type = "#microsoft.graph.connectedOrganizationMembers" TypeConnectionInfo Type = "#microsoft.graph.connectionInfo" TypeCountryNamedLocation Type = "#microsoft.graph.countryNamedLocation" TypeDevice Type = "#microsoft.graph.device" TypeDirectoryRole Type = "#microsoft.graph.directoryRole" TypeDirectoryRoleTemplate Type = "#microsoft.graph.directoryRoleTemplate" TypeDomain Type = "#microsoft.graph.domain" TypeDomainIdentitySource Type = "#microsoft.graph.domainIdentitySource" TypeEmailAuthenticationMethod Type = "#microsoft.graph.emailAuthenticationMethod" TypeExternalDomainFederation Type = "#microsoft.graph.externalDomainFederation" TypeExternalSponsors Type = "#microsoft.graph.externalSponsors" TypeFido2AuthenticationMethod Type = "#microsoft.graph.fido2AuthenticationMethod" TypeGroup Type = "#microsoft.graph.group" TypeGroupMembers Type = "#microsoft.graph.groupMembers" TypeInternalSponsors Type = "#microsoft.graph.internalSponsors" TypeIOSLobApp Type = "#microsoft.graph.iosLobApp" TypeIOSiPadOSWebClip Type = "#microsoft.graph.iosiPadOSWebClip" TypeIOSStoreApp Type = "#microsoft.graph.iosStoreApp" TypeIOSVppApp Type = "#microsoft.graph.iosVppApp" TypeIpNamedLocation Type = "#microsoft.graph.ipNamedLocation" TypeMacOSDmgApp Type = "#microsoft.graph.macOSDmgApp" TypeMacOSLobApp Type = "#microsoft.graph.macOSLobApp" TypeMacOSMdatpApp Type = "#microsoft.graph.macOSMdatpApp" TypeMacOSMicrosoftDefenderApp Type = "#microsoft.graph.macOSMicrosoftDefenderApp" TypeMacOSMicrosoftEdgeApp Type = "#microsoft.graph.macOSMicrosoftEdgeApp" TypeMacOSOfficeSuiteApp Type = "#microsoft.graph.macOSOfficeSuiteApp" TypeMacOsVppApp Type = "#microsoft.graph.macOsVppApp" TypeManagedAndroidLobApp Type = "#microsoft.graph.managedAndroidLobApp" TypeManagedAndroidStoreApp Type = "#microsoft.graph.managedAndroidStoreApp" TypeManagedIOSLobApp Type = "#microsoft.graph.managedIOSLobApp" TypeManagedIOSStoreApp Type = "#microsoft.graph.managedIOSStoreApp" TypeMicrosoftAuthenticatorAuthenticationMethod Type = "#microsoft.graph.microsoftAuthenticatorAuthenticationMethod" TypeMicrosoftStoreForBusinessApp Type = "#microsoft.graph.microsoftStoreForBusinessApp" TypeNamedLocation Type = "#microsoft.graph.namedLocation" TypeOfficeSuiteApp Type = "#microsoft.graph.officeSuiteApp" TypeOrganization Type = "#microsoft.graph.organization" TypePasswordAuthenticationMethod Type = "#microsoft.graph.passwordAuthenticationMethod" TypePhoneAuthenticationMethod Type = "#microsoft.graph.phoneAuthenticationMethod" TypeRequestorManager Type = "#microsoft.graph.requestorManager" TypeServicePrincipal Type = "#microsoft.graph.servicePrincipal" TypeSingleUser Type = "#microsoft.graph.singleUser" TypeSocialIdentityProvider Type = "#microsoft.graph.socialIdentityProvider" TypeTemporaryAccessPassAuthenticationMethod Type = "#microsoft.graph.temporaryAccessPassAuthenticationMethod" TypeUser Type = "#microsoft.graph.user" TypeWebApp Type = "#microsoft.graph.webApp" TypeWinGetApp Type = "#microsoft.graph.winGetApp" TypeWin32LobApp Type = "#microsoft.graph.win32LobApp" TypeWindowsAppX Type = "#microsoft.graph.windowsAppX" TypeWindowsHelloForBusinessAuthenticationMethod Type = "#microsoft.graph.windowsHelloForBusinessAuthenticationMethod" TypeWindowsMicrosoftEdgeApp Type = "#microsoft.graph.windowsMicrosoftEdgeApp" TypeWindowsMobileMSI Type = "#microsoft.graph.windowsMobileMSI" TypeWindowsPhone81AppX Type = "#microsoft.graph.windowsPhone81AppX" TypeWindowsPhone81AppXBundle Type = "#microsoft.graph.windowsPhone81AppXBundle" TypeWindowsPhone81StoreApp Type = "#microsoft.graph.windowsPhone81StoreApp" TypeWindowsPhoneXAP Type = "#microsoft.graph.windowsPhoneXAP" TypeWindowsStoreApp Type = "#microsoft.graph.windowsStoreApp" TypeWindowsUniversalAppX Type = "#microsoft.graph.windowsUniversalAppX" TypeWindowsWebApp Type = "#microsoft.graph.windowsWebApp" )