Help us shape the future of Go! Take the 2026 Go Developer Survey

v1beta1

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package v1beta1 contains the input type for this Function +kubebuilder:object:generate=true +groupName=msgraph.fn.crossplane.io +versionName=v1alpha1

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Identity added in v0.3.0

type Identity struct {
	// Type of credentials used to authenticate to the Microsoft Graph API.
	Type IdentityType `json:"type"`
}

Identity defines the type of identity used for authentication to the Microsoft Graph API.

func (*Identity) DeepCopy added in v0.3.0

func (in *Identity) DeepCopy() *Identity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Identity.

func (*Identity) DeepCopyInto added in v0.3.0

func (in *Identity) DeepCopyInto(out *Identity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IdentityType added in v0.3.0

type IdentityType string

IdentityType controls type of credentials to use for authentication to the Microsoft Graph API. Supported values: AzureServicePrincipalCredentials;AzureWorkloadIdentityCredentials

const (
	// IdentityTypeAzureServicePrincipalCredentials defines default IdentityType which uses client id/client secret pair for authentication
	IdentityTypeAzureServicePrincipalCredentials IdentityType = "AzureServicePrincipalCredentials"
	// IdentityTypeAzureWorkloadIdentityCredentials defines default IdentityType which uses workload identity credentials for authentication
	IdentityTypeAzureWorkloadIdentityCredentials IdentityType = "AzureWorkloadIdentityCredentials"
)

type Input

type Input struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// QueryType defines the type of Microsoft Graph API query to perform
	// Supported values: UserValidation, GroupMembership, GroupObjectIDs, ServicePrincipalDetails
	QueryType string `json:"queryType"`

	// Users is a list of userPrincipalName (email IDs) for user validation
	// +optional
	Users []*string `json:"users,omitempty"`

	// UsersRef is a reference to retrieve the user names (e.g., from status or context)
	// Overrides Users field if used
	// +optional
	UsersRef *string `json:"usersRef,omitempty"`

	// Groups is a list of group names for group object ID queries
	// +optional
	Groups []*string `json:"groups,omitempty"`

	// GroupsRef is a reference to retrieve the group names (e.g., from status or context)
	// Overrides Groups field if used
	// +optional
	GroupsRef *string `json:"groupsRef,omitempty"`

	// Group is a single group name for group membership queries
	// +optional
	Group *string `json:"group,omitempty"`

	// GroupRef is a reference to retrieve the group name (e.g., from status or context)
	// Overrides Group field if used
	// +optional
	GroupRef *string `json:"groupRef,omitempty"`

	// ServicePrincipals is a list of service principal names
	// +optional
	ServicePrincipals []*string `json:"servicePrincipals,omitempty"`

	// ServicePrincipalsRef is a reference to retrieve the service principal names (e.g., from status or context)
	// Overrides ServicePrincipals field if used
	// +optional
	ServicePrincipalsRef *string `json:"servicePrincipalsRef,omitempty"`

	// Target where to store the Query Result
	Target string `json:"target"`

	// SkipQueryWhenTargetHasData controls whether to skip the query when the target already has data
	// Default is false to ensure continuous reconciliation
	// +optional
	SkipQueryWhenTargetHasData *bool `json:"skipQueryWhenTargetHasData,omitempty"`

	// QueryInterval is an optional minimum interval between queries, expressed as
	// a Go duration string (for example "10m", "1h" or "90s"). When set, the
	// function records the timestamp of its last successful query alongside the
	// result stored at the status target and skips querying Microsoft Graph again
	// until the interval has elapsed, regardless of how frequently the Composition
	// reconciles. This helps avoid Microsoft Graph API throttling.
	//
	// Only effective in Composition mode with a "status." target, because it
	// relies on reading the persisted timestamp back from the XR status on
	// subsequent reconciles. Leave empty to disable interval limiting (the default).
	// +optional
	QueryInterval *string `json:"queryInterval,omitempty"`

	// FailOnEmpty controls whether the function should fail when input lists are empty.
	// If true, the function will error on empty input lists.
	// If false or unset, empty lists are valid and will result in an empty list at the target.
	// +optional
	FailOnEmpty *bool `json:"failOnEmpty,omitempty"`

	// ActiveAccount restricts UserValidation results to users whose Entra ID
	// accountEnabled attribute is true. Disabled users, and users for which
	// Microsoft Graph returns no accountEnabled value, are omitted from the
	// result written to the target.
	// If false or unset, users are validated on existence alone.
	// Only applies to the UserValidation query type.
	// +optional
	ActiveAccount *bool `json:"activeAccount,omitempty"`

	// Identity defines the type of identity used for authentication to the Microsoft Graph API.
	Identity *Identity `json:"identity,omitempty"`
}

Input can be used to provide input to this Function. +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:resource:categories=crossplane

func (*Input) DeepCopy

func (in *Input) DeepCopy() *Input

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Input.

func (*Input) DeepCopyInto

func (in *Input) DeepCopyInto(out *Input)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Input) DeepCopyObject

func (in *Input) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

Jump to

Keyboard shortcuts

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