/// <summary>
 /// Construct a new CreateAccessTokenOptions
 /// </summary>
 /// <param name="pathServiceSid"> The service_sid </param>
 /// <param name="identity"> Unique external identifier of the Entity </param>
 /// <param name="factorType"> The Type of this Factor </param>
 public CreateAccessTokenOptions(string pathServiceSid,
                                 string identity,
                                 AccessTokenResource.FactorTypesEnum factorType)
 {
     PathServiceSid = pathServiceSid;
     Identity       = identity;
     FactorType     = factorType;
 }
        /// <summary>
        /// Create a new enrollment Access Token for the Entity
        /// </summary>
        /// <param name="pathServiceSid"> The service_sid </param>
        /// <param name="identity"> Unique external identifier of the Entity </param>
        /// <param name="factorType"> The Type of this Factor </param>
        /// <param name="client"> Client to make requests to Twilio </param>
        /// <returns> A single instance of AccessToken </returns>
        public static AccessTokenResource Create(string pathServiceSid,
                                                 string identity,
                                                 AccessTokenResource.FactorTypesEnum factorType,
                                                 ITwilioRestClient client = null)
        {
            var options = new CreateAccessTokenOptions(pathServiceSid, identity, factorType);

            return(Create(options, client));
        }
        /// <summary>
        /// Create a new enrollment Access Token for the Entity
        /// </summary>
        /// <param name="pathServiceSid"> The service_sid </param>
        /// <param name="identity"> Unique external identifier of the Entity </param>
        /// <param name="factorType"> The Type of this Factor </param>
        /// <param name="client"> Client to make requests to Twilio </param>
        /// <returns> Task that resolves to A single instance of AccessToken </returns>
        public static async System.Threading.Tasks.Task <AccessTokenResource> CreateAsync(string pathServiceSid,
                                                                                          string identity,
                                                                                          AccessTokenResource.FactorTypesEnum factorType,
                                                                                          ITwilioRestClient client = null)
        {
            var options = new CreateAccessTokenOptions(pathServiceSid, identity, factorType);

            return(await CreateAsync(options, client));
        }