|  | package gophercloud | 
|  |  | 
|  | // AuthOptions lets anyone calling Authenticate() supply the required access credentials. | 
|  | // Its fields are the union of those recognized by each identity implementation and provider. | 
|  | type AuthOptions struct { | 
|  |  | 
|  | // IdentityEndpoint specifies the HTTP endpoint offering the Identity API of the appropriate version. | 
|  | // Required by the identity services, but often populated by a provider Client. | 
|  | IdentityEndpoint string | 
|  |  | 
|  | // Username is required if using Identity V2 API. | 
|  | // Consult with your provider's control panel to discover your account's username. | 
|  | // In Identity V3, either UserID or a combination of Username and DomainID or DomainName. | 
|  | Username, UserID string | 
|  |  | 
|  | // Exactly one of Password or ApiKey is required for the Identity V2 and V3 APIs. | 
|  | // Consult with your provider's control panel to discover your account's preferred method of authentication. | 
|  | Password, APIKey string | 
|  |  | 
|  | // At most one of DomainID and DomainName must be provided if using Username with Identity V3. | 
|  | // Otherwise, either are optional. | 
|  | DomainID, DomainName string | 
|  |  | 
|  | // The TenantID and TenantName fields are optional for the Identity V2 API. | 
|  | // Some providers allow you to specify a TenantName instead of the TenantId. | 
|  | // Some require both.  Your provider's authentication policies will determine | 
|  | // how these fields influence authentication. | 
|  | TenantID, TenantName string | 
|  |  | 
|  | // AllowReauth should be set to true if you grant permission for Gophercloud to | 
|  | // cache your credentials in memory, and to allow Gophercloud to attempt to | 
|  | // re-authenticate automatically if/when your token expires.  If you set it to | 
|  | // false, it will not cache these settings, but re-authentication will not be | 
|  | // possible.  This setting defaults to false. | 
|  | AllowReauth bool | 
|  | } |