/// <summary>
 /// Accepts a new policy document and returns a JWT which expresses  used in
 /// preparation to set attestation policy.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='tenantBaseUrl'>
 /// The tenant name, for example https://mytenant.attest.azure.net.
 /// </param>
 /// <param name='tee'>
 /// Specifies the trusted execution environment to be used to validate the
 /// evidence. Possible values include: 'SgxEnclave', 'OpenEnclave',
 /// 'CyResComponent', 'AzureGuest'
 /// </param>
 /// <param name='policyJws'>
 /// JSON Web Signature (See RFC7515) expressing the new policy
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <object> PrepareToSetAsync(this IPolicyOperations operations, string tenantBaseUrl, string tee, string policyJws, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PrepareToSetWithHttpMessagesAsync(tenantBaseUrl, tee, policyJws, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }