Skip to content

Latest commit

 

History

History
139 lines (132 loc) · 3.52 KB

File metadata and controls

139 lines (132 loc) · 3.52 KB
description Automatically generated file. DO NOT MODIFY
// Code snippets are only available for the latest version. Current version is 5.x

// Dependencies
using Microsoft.Graph.Beta.Models;

var requestBody = new AccessPackageAssignmentPolicy
{
	Id = "b2eba9a1-b357-42ee-83a8-336522ed6cbf",
	AccessPackageId = "4c02f928-7752-49aa-8fc8-e286d973a965",
	DisplayName = "All Users",
	Description = "All users can request for access to the directory.",
	CanExtend = false,
	DurationInDays = 365,
	ExpirationDateTime = null,
	RequestorSettings = new RequestorSettings
	{
		ScopeType = "AllExistingConnectedOrganizationSubjects",
		AcceptRequests = true,
		AllowedRequestors = new List<UserSet>
		{
		},
	},
	RequestApprovalSettings = new ApprovalSettings
	{
		IsApprovalRequired = true,
		IsApprovalRequiredForExtension = false,
		IsRequestorJustificationRequired = true,
		ApprovalMode = "SingleStage",
		ApprovalStages = new List<ApprovalStage>
		{
			new ApprovalStage
			{
				ApprovalStageTimeOutInDays = 14,
				IsApproverJustificationRequired = true,
				IsEscalationEnabled = false,
				EscalationTimeInMinutes = 11520,
				PrimaryApprovers = new List<UserSet>
				{
					new GroupMembers
					{
						OdataType = "#microsoft.graph.groupMembers",
						IsBackup = true,
						Id = "d2dcb9a1-a445-42ee-83a8-476522ed6cbf",
						Description = "group for users from connected organizations which have no external sponsor",
					},
					new ExternalSponsors
					{
						OdataType = "#microsoft.graph.externalSponsors",
						IsBackup = false,
					},
				},
			},
		},
	},
	Questions = new List<AccessPackageQuestion>
	{
		new AccessPackageMultipleChoiceQuestion
		{
			IsRequired = false,
			Text = new AccessPackageLocalizedContent
			{
				DefaultText = "what state are you from?",
				LocalizedTexts = new List<AccessPackageLocalizedText>
				{
					new AccessPackageLocalizedText
					{
						Text = "¿De qué estado eres?",
						LanguageCode = "es",
					},
				},
			},
			OdataType = "#microsoft.graph.accessPackageMultipleChoiceQuestion",
			Choices = new List<AccessPackageAnswerChoice>
			{
				new AccessPackageAnswerChoice
				{
					ActualValue = "AZ",
					DisplayValue = new AccessPackageLocalizedContent
					{
						LocalizedTexts = new List<AccessPackageLocalizedText>
						{
							new AccessPackageLocalizedText
							{
								Text = "Arizona",
								LanguageCode = "es",
							},
						},
					},
				},
				new AccessPackageAnswerChoice
				{
					ActualValue = "CA",
					DisplayValue = new AccessPackageLocalizedContent
					{
						LocalizedTexts = new List<AccessPackageLocalizedText>
						{
							new AccessPackageLocalizedText
							{
								Text = "California",
								LanguageCode = "es",
							},
						},
					},
				},
			},
			AllowsMultipleSelection = false,
		},
		new AccessPackageTextInputQuestion
		{
			IsRequired = false,
			Text = new AccessPackageLocalizedContent
			{
				DefaultText = "Who is your manager?",
				LocalizedTexts = new List<AccessPackageLocalizedText>
				{
					new AccessPackageLocalizedText
					{
						Text = "por qué necesita acceso a este paquete",
						LanguageCode = "es",
					},
				},
			},
			OdataType = "#microsoft.graph.accessPackageTextInputQuestion",
			IsSingleLineQuestion = false,
		},
	},
};

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.IdentityGovernance.EntitlementManagement.AccessPackageAssignmentPolicies["{accessPackageAssignmentPolicy-id}"].PutAsync(requestBody);