/// <summary> /// Updates the specified PolicyRoot using PATCH. /// </summary> /// <param name="policyRootToUpdate">The PolicyRoot to update.</param> /// <param name="cancellationToken">The <see cref="CancellationToken"/> for the request.</param> /// <exception cref="ClientException">Thrown when an object returned in a response is used for updating an object in Microsoft Graph.</exception> /// <returns>The updated PolicyRoot.</returns> public async System.Threading.Tasks.Task <PolicyRoot> UpdateAsync(PolicyRoot policyRootToUpdate, CancellationToken cancellationToken) { if (policyRootToUpdate.AdditionalData != null) { if (policyRootToUpdate.AdditionalData.ContainsKey(Constants.HttpPropertyNames.ResponseHeaders) || policyRootToUpdate.AdditionalData.ContainsKey(Constants.HttpPropertyNames.StatusCode)) { throw new ClientException( new Error { Code = GeneratedErrorConstants.Codes.NotAllowed, Message = String.Format(GeneratedErrorConstants.Messages.ResponseObjectUsedForUpdate, policyRootToUpdate.GetType().Name) }); } } if (policyRootToUpdate.AdditionalData != null) { if (policyRootToUpdate.AdditionalData.ContainsKey(Constants.HttpPropertyNames.ResponseHeaders) || policyRootToUpdate.AdditionalData.ContainsKey(Constants.HttpPropertyNames.StatusCode)) { throw new ClientException( new Error { Code = GeneratedErrorConstants.Codes.NotAllowed, Message = String.Format(GeneratedErrorConstants.Messages.ResponseObjectUsedForUpdate, policyRootToUpdate.GetType().Name) }); } } this.ContentType = "application/json"; this.Method = "PATCH"; var updatedEntity = await this.SendAsync <PolicyRoot>(policyRootToUpdate, cancellationToken).ConfigureAwait(false); this.InitializeCollectionProperties(updatedEntity); return(updatedEntity); }
/// <summary> /// Creates the specified PolicyRoot using POST. /// </summary> /// <param name="policyRootToCreate">The PolicyRoot to create.</param> /// <param name="cancellationToken">The <see cref="CancellationToken"/> for the request.</param> /// <returns>The created PolicyRoot.</returns> public async System.Threading.Tasks.Task <PolicyRoot> CreateAsync(PolicyRoot policyRootToCreate, CancellationToken cancellationToken) { this.ContentType = "application/json"; this.Method = "POST"; var newEntity = await this.SendAsync <PolicyRoot>(policyRootToCreate, cancellationToken).ConfigureAwait(false); this.InitializeCollectionProperties(newEntity); return(newEntity); }
/// <summary> /// Creates the specified PolicyRoot using POST. /// </summary> /// <param name="policyRootToCreate">The PolicyRoot to create.</param> /// <returns>The created PolicyRoot.</returns> public System.Threading.Tasks.Task <PolicyRoot> CreateAsync(PolicyRoot policyRootToCreate) { return(this.CreateAsync(policyRootToCreate, CancellationToken.None)); }
/// <summary> /// Initializes any collection properties after deserialization, like next requests for paging. /// </summary> /// <param name="policyRootToInitialize">The <see cref="PolicyRoot"/> with the collection properties to initialize.</param> private void InitializeCollectionProperties(PolicyRoot policyRootToInitialize) { if (policyRootToInitialize != null && policyRootToInitialize.AdditionalData != null) { if (policyRootToInitialize.ActivityBasedTimeoutPolicies != null && policyRootToInitialize.ActivityBasedTimeoutPolicies.CurrentPage != null) { policyRootToInitialize.ActivityBasedTimeoutPolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.ActivityBasedTimeoutPolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.ClaimsMappingPolicies != null && policyRootToInitialize.ClaimsMappingPolicies.CurrentPage != null) { policyRootToInitialize.ClaimsMappingPolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.ClaimsMappingPolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.HomeRealmDiscoveryPolicies != null && policyRootToInitialize.HomeRealmDiscoveryPolicies.CurrentPage != null) { policyRootToInitialize.HomeRealmDiscoveryPolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.HomeRealmDiscoveryPolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.TokenIssuancePolicies != null && policyRootToInitialize.TokenIssuancePolicies.CurrentPage != null) { policyRootToInitialize.TokenIssuancePolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.TokenIssuancePolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.TokenLifetimePolicies != null && policyRootToInitialize.TokenLifetimePolicies.CurrentPage != null) { policyRootToInitialize.TokenLifetimePolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.TokenLifetimePolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.ConditionalAccessPolicies != null && policyRootToInitialize.ConditionalAccessPolicies.CurrentPage != null) { policyRootToInitialize.ConditionalAccessPolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.ConditionalAccessPolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } } }
/// <summary> /// Initializes any collection properties after deserialization, like next requests for paging. /// </summary> /// <param name="policyRootToInitialize">The <see cref="PolicyRoot"/> with the collection properties to initialize.</param> private void InitializeCollectionProperties(PolicyRoot policyRootToInitialize) { if (policyRootToInitialize != null && policyRootToInitialize.AdditionalData != null) { if (policyRootToInitialize.ActivityBasedTimeoutPolicies != null && policyRootToInitialize.ActivityBasedTimeoutPolicies.CurrentPage != null) { policyRootToInitialize.ActivityBasedTimeoutPolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.ActivityBasedTimeoutPolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.AuthorizationPolicy != null && policyRootToInitialize.AuthorizationPolicy.CurrentPage != null) { policyRootToInitialize.AuthorizationPolicy.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.AuthorizationPolicy.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.ClaimsMappingPolicies != null && policyRootToInitialize.ClaimsMappingPolicies.CurrentPage != null) { policyRootToInitialize.ClaimsMappingPolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.ClaimsMappingPolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.HomeRealmDiscoveryPolicies != null && policyRootToInitialize.HomeRealmDiscoveryPolicies.CurrentPage != null) { policyRootToInitialize.HomeRealmDiscoveryPolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.HomeRealmDiscoveryPolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.PermissionGrantPolicies != null && policyRootToInitialize.PermissionGrantPolicies.CurrentPage != null) { policyRootToInitialize.PermissionGrantPolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.PermissionGrantPolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.PrivateLinkResourcePolicies != null && policyRootToInitialize.PrivateLinkResourcePolicies.CurrentPage != null) { policyRootToInitialize.PrivateLinkResourcePolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.PrivateLinkResourcePolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.TokenIssuancePolicies != null && policyRootToInitialize.TokenIssuancePolicies.CurrentPage != null) { policyRootToInitialize.TokenIssuancePolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.TokenIssuancePolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.TokenLifetimePolicies != null && policyRootToInitialize.TokenLifetimePolicies.CurrentPage != null) { policyRootToInitialize.TokenLifetimePolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.TokenLifetimePolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.FeatureRolloutPolicies != null && policyRootToInitialize.FeatureRolloutPolicies.CurrentPage != null) { policyRootToInitialize.FeatureRolloutPolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.FeatureRolloutPolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.ConditionalAccessPolicies != null && policyRootToInitialize.ConditionalAccessPolicies.CurrentPage != null) { policyRootToInitialize.ConditionalAccessPolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.ConditionalAccessPolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.RoleManagementPolicies != null && policyRootToInitialize.RoleManagementPolicies.CurrentPage != null) { policyRootToInitialize.RoleManagementPolicies.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.RoleManagementPolicies.InitializeNextPageRequest( this.Client, nextPageLinkString); } } if (policyRootToInitialize.RoleManagementPolicyAssignments != null && policyRootToInitialize.RoleManagementPolicyAssignments.CurrentPage != null) { policyRootToInitialize.RoleManagementPolicyAssignments.AdditionalData = policyRootToInitialize.AdditionalData; object nextPageLink; policyRootToInitialize.AdditionalData.TryGetValue("*****@*****.**", out nextPageLink); var nextPageLinkString = nextPageLink as string; if (!string.IsNullOrEmpty(nextPageLinkString)) { policyRootToInitialize.RoleManagementPolicyAssignments.InitializeNextPageRequest( this.Client, nextPageLinkString); } } } }