[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-09 UTC."],[],[],null,["# googleauth - Class Google::Auth::ExternalAccount::Credentials (v1.15.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.15.0 (latest)](/ruby/docs/reference/googleauth/latest/Google-Auth-ExternalAccount-Credentials)\n- [1.14.0](/ruby/docs/reference/googleauth/1.14.0/Google-Auth-ExternalAccount-Credentials)\n- [1.13.1](/ruby/docs/reference/googleauth/1.13.1/Google-Auth-ExternalAccount-Credentials)\n- [1.12.2](/ruby/docs/reference/googleauth/1.12.2/Google-Auth-ExternalAccount-Credentials) \nReference documentation and code samples for the googleauth class Google::Auth::ExternalAccount::Credentials.\n\nProvides an entrypoint for all Exernal Account credential classes. \n\nInherits\n--------\n\n- Object\n\nMethods\n-------\n\n### .make_creds\n\n def self.make_creds(options = {}) -\u003e Google::Auth::ExternalAccount::AwsCredentials, Google::Auth::ExternalAccount::IdentityPoolCredentials, Google::Auth::ExternalAccount::PluggableAuthCredentials\n\nCreate a ExternalAccount::Credentials \n**Parameter**\n\n- **options** (Hash) --- Options for creating credentials \n**Returns**\n\n- ([Google::Auth::ExternalAccount::AwsCredentials](./Google-Auth-ExternalAccount-AwsCredentials), [Google::Auth::ExternalAccount::IdentityPoolCredentials](./Google-Auth-ExternalAccount-IdentityPoolCredentials), [Google::Auth::ExternalAccount::PluggableAuthCredentials](./Google-Auth-ExternalAccount-PluggableAuthCredentials)) --- The appropriate external account credentials based on the credential source \n**Raises**\n\n- ([Google::Auth::InitializationError](./Google-Auth-InitializationError)) --- If the json file is missing, lacks required fields, or does not contain a supported credential source\n\n### .read_json_key\n\n def self.read_json_key(json_key_io) -\u003e Hash\n\nReads the required fields from the JSON. \n**Parameter**\n\n- **json_key_io** (IO) --- An IO object containing the JSON key \n**Returns**\n\n- (Hash) --- The parsed JSON key \n**Raises**\n\n- ([Google::Auth::InitializationError](./Google-Auth-InitializationError)) --- If the JSON is missing required fields\n\nConstants\n---------\n\n### AWS_SUBJECT_TOKEN_TYPE\n\n**value:** \"urn:ietf:params:aws:token-type:aws4_request\".freeze \nThe subject token type used for AWS external_account credentials.\n\n### MISSING_CREDENTIAL_SOURCE\n\n**value:**\"missing credential source for external account\".freeze\n\n### INVALID_EXTERNAL_ACCOUNT_TYPE\n\n**value:**\"credential source is not supported external account type\".freeze"]]