// Code generated by msgraph.go/gen DO NOT EDIT.

package msgraph

import "time"

// Program undocumented
type Program struct {
	// Entity is the base model of Program
	Entity
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// Description undocumented
	Description *string `json:"description,omitempty"`
	// Controls undocumented
	Controls []ProgramControl `json:"controls,omitempty"`
}

// ProgramControl undocumented
type ProgramControl struct {
	// Entity is the base model of ProgramControl
	Entity
	// ControlID undocumented
	ControlID *string `json:"controlId,omitempty"`
	// ProgramID undocumented
	ProgramID *string `json:"programId,omitempty"`
	// ControlTypeID undocumented
	ControlTypeID *string `json:"controlTypeId,omitempty"`
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// Status undocumented
	Status *string `json:"status,omitempty"`
	// Owner undocumented
	Owner *UserIdentity `json:"owner,omitempty"`
	// Resource undocumented
	Resource *ProgramResource `json:"resource,omitempty"`
	// CreatedDateTime undocumented
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// Program undocumented
	Program *Program `json:"program,omitempty"`
}

// ProgramControlType undocumented
type ProgramControlType struct {
	// Entity is the base model of ProgramControlType
	Entity
	// ControlTypeGroupID undocumented
	ControlTypeGroupID *string `json:"controlTypeGroupId,omitempty"`
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
}

// ProgramResource undocumented
type ProgramResource struct {
	// Identity is the base model of ProgramResource
	Identity
	// Type undocumented
	Type *string `json:"type,omitempty"`
}