UNPKG

@aws-sdk/client-sts

Version:

AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native

1,044 lines (1,043 loc) 41 kB
import { HttpRequest as __HttpRequest } from "@aws-sdk/protocol-http"; import { decorateServiceException as __decorateServiceException, expectNonNull as __expectNonNull, expectString as __expectString, extendedEncodeURIComponent as __extendedEncodeURIComponent, getValueFromTextNode as __getValueFromTextNode, parseRfc3339DateTime as __parseRfc3339DateTime, strictParseInt32 as __strictParseInt32, throwDefaultError, } from "@aws-sdk/smithy-client"; import { XMLParser } from "fast-xml-parser"; import { ExpiredTokenException, IDPCommunicationErrorException, IDPRejectedClaimException, InvalidAuthorizationMessageException, InvalidIdentityTokenException, MalformedPolicyDocumentException, PackedPolicyTooLargeException, RegionDisabledException, } from "../models/models_0"; import { STSServiceException as __BaseException } from "../models/STSServiceException"; export const serializeAws_queryAssumeRoleCommand = async (input, context) => { const headers = { "content-type": "application/x-www-form-urlencoded", }; let body; body = buildFormUrlencodedString({ ...serializeAws_queryAssumeRoleRequest(input, context), Action: "AssumeRole", Version: "2011-06-15", }); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const serializeAws_queryAssumeRoleWithSAMLCommand = async (input, context) => { const headers = { "content-type": "application/x-www-form-urlencoded", }; let body; body = buildFormUrlencodedString({ ...serializeAws_queryAssumeRoleWithSAMLRequest(input, context), Action: "AssumeRoleWithSAML", Version: "2011-06-15", }); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const serializeAws_queryAssumeRoleWithWebIdentityCommand = async (input, context) => { const headers = { "content-type": "application/x-www-form-urlencoded", }; let body; body = buildFormUrlencodedString({ ...serializeAws_queryAssumeRoleWithWebIdentityRequest(input, context), Action: "AssumeRoleWithWebIdentity", Version: "2011-06-15", }); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const serializeAws_queryDecodeAuthorizationMessageCommand = async (input, context) => { const headers = { "content-type": "application/x-www-form-urlencoded", }; let body; body = buildFormUrlencodedString({ ...serializeAws_queryDecodeAuthorizationMessageRequest(input, context), Action: "DecodeAuthorizationMessage", Version: "2011-06-15", }); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const serializeAws_queryGetAccessKeyInfoCommand = async (input, context) => { const headers = { "content-type": "application/x-www-form-urlencoded", }; let body; body = buildFormUrlencodedString({ ...serializeAws_queryGetAccessKeyInfoRequest(input, context), Action: "GetAccessKeyInfo", Version: "2011-06-15", }); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const serializeAws_queryGetCallerIdentityCommand = async (input, context) => { const headers = { "content-type": "application/x-www-form-urlencoded", }; let body; body = buildFormUrlencodedString({ ...serializeAws_queryGetCallerIdentityRequest(input, context), Action: "GetCallerIdentity", Version: "2011-06-15", }); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const serializeAws_queryGetFederationTokenCommand = async (input, context) => { const headers = { "content-type": "application/x-www-form-urlencoded", }; let body; body = buildFormUrlencodedString({ ...serializeAws_queryGetFederationTokenRequest(input, context), Action: "GetFederationToken", Version: "2011-06-15", }); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const serializeAws_queryGetSessionTokenCommand = async (input, context) => { const headers = { "content-type": "application/x-www-form-urlencoded", }; let body; body = buildFormUrlencodedString({ ...serializeAws_queryGetSessionTokenRequest(input, context), Action: "GetSessionToken", Version: "2011-06-15", }); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const deserializeAws_queryAssumeRoleCommand = async (output, context) => { if (output.statusCode >= 300) { return deserializeAws_queryAssumeRoleCommandError(output, context); } const data = await parseBody(output.body, context); let contents = {}; contents = deserializeAws_queryAssumeRoleResponse(data.AssumeRoleResult, context); const response = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; const deserializeAws_queryAssumeRoleCommandError = async (output, context) => { const parsedOutput = { ...output, body: await parseErrorBody(output.body, context), }; const errorCode = loadQueryErrorCode(output, parsedOutput.body); switch (errorCode) { case "ExpiredTokenException": case "com.amazonaws.sts#ExpiredTokenException": throw await deserializeAws_queryExpiredTokenExceptionResponse(parsedOutput, context); case "MalformedPolicyDocument": case "com.amazonaws.sts#MalformedPolicyDocumentException": throw await deserializeAws_queryMalformedPolicyDocumentExceptionResponse(parsedOutput, context); case "PackedPolicyTooLarge": case "com.amazonaws.sts#PackedPolicyTooLargeException": throw await deserializeAws_queryPackedPolicyTooLargeExceptionResponse(parsedOutput, context); case "RegionDisabledException": case "com.amazonaws.sts#RegionDisabledException": throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context); default: const parsedBody = parsedOutput.body; throwDefaultError({ output, parsedBody: parsedBody.Error, exceptionCtor: __BaseException, errorCode, }); } }; export const deserializeAws_queryAssumeRoleWithSAMLCommand = async (output, context) => { if (output.statusCode >= 300) { return deserializeAws_queryAssumeRoleWithSAMLCommandError(output, context); } const data = await parseBody(output.body, context); let contents = {}; contents = deserializeAws_queryAssumeRoleWithSAMLResponse(data.AssumeRoleWithSAMLResult, context); const response = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; const deserializeAws_queryAssumeRoleWithSAMLCommandError = async (output, context) => { const parsedOutput = { ...output, body: await parseErrorBody(output.body, context), }; const errorCode = loadQueryErrorCode(output, parsedOutput.body); switch (errorCode) { case "ExpiredTokenException": case "com.amazonaws.sts#ExpiredTokenException": throw await deserializeAws_queryExpiredTokenExceptionResponse(parsedOutput, context); case "IDPRejectedClaim": case "com.amazonaws.sts#IDPRejectedClaimException": throw await deserializeAws_queryIDPRejectedClaimExceptionResponse(parsedOutput, context); case "InvalidIdentityToken": case "com.amazonaws.sts#InvalidIdentityTokenException": throw await deserializeAws_queryInvalidIdentityTokenExceptionResponse(parsedOutput, context); case "MalformedPolicyDocument": case "com.amazonaws.sts#MalformedPolicyDocumentException": throw await deserializeAws_queryMalformedPolicyDocumentExceptionResponse(parsedOutput, context); case "PackedPolicyTooLarge": case "com.amazonaws.sts#PackedPolicyTooLargeException": throw await deserializeAws_queryPackedPolicyTooLargeExceptionResponse(parsedOutput, context); case "RegionDisabledException": case "com.amazonaws.sts#RegionDisabledException": throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context); default: const parsedBody = parsedOutput.body; throwDefaultError({ output, parsedBody: parsedBody.Error, exceptionCtor: __BaseException, errorCode, }); } }; export const deserializeAws_queryAssumeRoleWithWebIdentityCommand = async (output, context) => { if (output.statusCode >= 300) { return deserializeAws_queryAssumeRoleWithWebIdentityCommandError(output, context); } const data = await parseBody(output.body, context); let contents = {}; contents = deserializeAws_queryAssumeRoleWithWebIdentityResponse(data.AssumeRoleWithWebIdentityResult, context); const response = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; const deserializeAws_queryAssumeRoleWithWebIdentityCommandError = async (output, context) => { const parsedOutput = { ...output, body: await parseErrorBody(output.body, context), }; const errorCode = loadQueryErrorCode(output, parsedOutput.body); switch (errorCode) { case "ExpiredTokenException": case "com.amazonaws.sts#ExpiredTokenException": throw await deserializeAws_queryExpiredTokenExceptionResponse(parsedOutput, context); case "IDPCommunicationError": case "com.amazonaws.sts#IDPCommunicationErrorException": throw await deserializeAws_queryIDPCommunicationErrorExceptionResponse(parsedOutput, context); case "IDPRejectedClaim": case "com.amazonaws.sts#IDPRejectedClaimException": throw await deserializeAws_queryIDPRejectedClaimExceptionResponse(parsedOutput, context); case "InvalidIdentityToken": case "com.amazonaws.sts#InvalidIdentityTokenException": throw await deserializeAws_queryInvalidIdentityTokenExceptionResponse(parsedOutput, context); case "MalformedPolicyDocument": case "com.amazonaws.sts#MalformedPolicyDocumentException": throw await deserializeAws_queryMalformedPolicyDocumentExceptionResponse(parsedOutput, context); case "PackedPolicyTooLarge": case "com.amazonaws.sts#PackedPolicyTooLargeException": throw await deserializeAws_queryPackedPolicyTooLargeExceptionResponse(parsedOutput, context); case "RegionDisabledException": case "com.amazonaws.sts#RegionDisabledException": throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context); default: const parsedBody = parsedOutput.body; throwDefaultError({ output, parsedBody: parsedBody.Error, exceptionCtor: __BaseException, errorCode, }); } }; export const deserializeAws_queryDecodeAuthorizationMessageCommand = async (output, context) => { if (output.statusCode >= 300) { return deserializeAws_queryDecodeAuthorizationMessageCommandError(output, context); } const data = await parseBody(output.body, context); let contents = {}; contents = deserializeAws_queryDecodeAuthorizationMessageResponse(data.DecodeAuthorizationMessageResult, context); const response = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; const deserializeAws_queryDecodeAuthorizationMessageCommandError = async (output, context) => { const parsedOutput = { ...output, body: await parseErrorBody(output.body, context), }; const errorCode = loadQueryErrorCode(output, parsedOutput.body); switch (errorCode) { case "InvalidAuthorizationMessageException": case "com.amazonaws.sts#InvalidAuthorizationMessageException": throw await deserializeAws_queryInvalidAuthorizationMessageExceptionResponse(parsedOutput, context); default: const parsedBody = parsedOutput.body; throwDefaultError({ output, parsedBody: parsedBody.Error, exceptionCtor: __BaseException, errorCode, }); } }; export const deserializeAws_queryGetAccessKeyInfoCommand = async (output, context) => { if (output.statusCode >= 300) { return deserializeAws_queryGetAccessKeyInfoCommandError(output, context); } const data = await parseBody(output.body, context); let contents = {}; contents = deserializeAws_queryGetAccessKeyInfoResponse(data.GetAccessKeyInfoResult, context); const response = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; const deserializeAws_queryGetAccessKeyInfoCommandError = async (output, context) => { const parsedOutput = { ...output, body: await parseErrorBody(output.body, context), }; const errorCode = loadQueryErrorCode(output, parsedOutput.body); const parsedBody = parsedOutput.body; throwDefaultError({ output, parsedBody: parsedBody.Error, exceptionCtor: __BaseException, errorCode, }); }; export const deserializeAws_queryGetCallerIdentityCommand = async (output, context) => { if (output.statusCode >= 300) { return deserializeAws_queryGetCallerIdentityCommandError(output, context); } const data = await parseBody(output.body, context); let contents = {}; contents = deserializeAws_queryGetCallerIdentityResponse(data.GetCallerIdentityResult, context); const response = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; const deserializeAws_queryGetCallerIdentityCommandError = async (output, context) => { const parsedOutput = { ...output, body: await parseErrorBody(output.body, context), }; const errorCode = loadQueryErrorCode(output, parsedOutput.body); const parsedBody = parsedOutput.body; throwDefaultError({ output, parsedBody: parsedBody.Error, exceptionCtor: __BaseException, errorCode, }); }; export const deserializeAws_queryGetFederationTokenCommand = async (output, context) => { if (output.statusCode >= 300) { return deserializeAws_queryGetFederationTokenCommandError(output, context); } const data = await parseBody(output.body, context); let contents = {}; contents = deserializeAws_queryGetFederationTokenResponse(data.GetFederationTokenResult, context); const response = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; const deserializeAws_queryGetFederationTokenCommandError = async (output, context) => { const parsedOutput = { ...output, body: await parseErrorBody(output.body, context), }; const errorCode = loadQueryErrorCode(output, parsedOutput.body); switch (errorCode) { case "MalformedPolicyDocument": case "com.amazonaws.sts#MalformedPolicyDocumentException": throw await deserializeAws_queryMalformedPolicyDocumentExceptionResponse(parsedOutput, context); case "PackedPolicyTooLarge": case "com.amazonaws.sts#PackedPolicyTooLargeException": throw await deserializeAws_queryPackedPolicyTooLargeExceptionResponse(parsedOutput, context); case "RegionDisabledException": case "com.amazonaws.sts#RegionDisabledException": throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context); default: const parsedBody = parsedOutput.body; throwDefaultError({ output, parsedBody: parsedBody.Error, exceptionCtor: __BaseException, errorCode, }); } }; export const deserializeAws_queryGetSessionTokenCommand = async (output, context) => { if (output.statusCode >= 300) { return deserializeAws_queryGetSessionTokenCommandError(output, context); } const data = await parseBody(output.body, context); let contents = {}; contents = deserializeAws_queryGetSessionTokenResponse(data.GetSessionTokenResult, context); const response = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; const deserializeAws_queryGetSessionTokenCommandError = async (output, context) => { const parsedOutput = { ...output, body: await parseErrorBody(output.body, context), }; const errorCode = loadQueryErrorCode(output, parsedOutput.body); switch (errorCode) { case "RegionDisabledException": case "com.amazonaws.sts#RegionDisabledException": throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context); default: const parsedBody = parsedOutput.body; throwDefaultError({ output, parsedBody: parsedBody.Error, exceptionCtor: __BaseException, errorCode, }); } }; const deserializeAws_queryExpiredTokenExceptionResponse = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = deserializeAws_queryExpiredTokenException(body.Error, context); const exception = new ExpiredTokenException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const deserializeAws_queryIDPCommunicationErrorExceptionResponse = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = deserializeAws_queryIDPCommunicationErrorException(body.Error, context); const exception = new IDPCommunicationErrorException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const deserializeAws_queryIDPRejectedClaimExceptionResponse = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = deserializeAws_queryIDPRejectedClaimException(body.Error, context); const exception = new IDPRejectedClaimException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const deserializeAws_queryInvalidAuthorizationMessageExceptionResponse = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = deserializeAws_queryInvalidAuthorizationMessageException(body.Error, context); const exception = new InvalidAuthorizationMessageException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const deserializeAws_queryInvalidIdentityTokenExceptionResponse = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = deserializeAws_queryInvalidIdentityTokenException(body.Error, context); const exception = new InvalidIdentityTokenException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const deserializeAws_queryMalformedPolicyDocumentExceptionResponse = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = deserializeAws_queryMalformedPolicyDocumentException(body.Error, context); const exception = new MalformedPolicyDocumentException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const deserializeAws_queryPackedPolicyTooLargeExceptionResponse = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = deserializeAws_queryPackedPolicyTooLargeException(body.Error, context); const exception = new PackedPolicyTooLargeException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const deserializeAws_queryRegionDisabledExceptionResponse = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = deserializeAws_queryRegionDisabledException(body.Error, context); const exception = new RegionDisabledException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const serializeAws_queryAssumeRoleRequest = (input, context) => { const entries = {}; if (input.RoleArn != null) { entries["RoleArn"] = input.RoleArn; } if (input.RoleSessionName != null) { entries["RoleSessionName"] = input.RoleSessionName; } if (input.PolicyArns != null) { const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context); Object.entries(memberEntries).forEach(([key, value]) => { const loc = `PolicyArns.${key}`; entries[loc] = value; }); } if (input.Policy != null) { entries["Policy"] = input.Policy; } if (input.DurationSeconds != null) { entries["DurationSeconds"] = input.DurationSeconds; } if (input.Tags != null) { const memberEntries = serializeAws_querytagListType(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { const loc = `Tags.${key}`; entries[loc] = value; }); } if (input.TransitiveTagKeys != null) { const memberEntries = serializeAws_querytagKeyListType(input.TransitiveTagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { const loc = `TransitiveTagKeys.${key}`; entries[loc] = value; }); } if (input.ExternalId != null) { entries["ExternalId"] = input.ExternalId; } if (input.SerialNumber != null) { entries["SerialNumber"] = input.SerialNumber; } if (input.TokenCode != null) { entries["TokenCode"] = input.TokenCode; } if (input.SourceIdentity != null) { entries["SourceIdentity"] = input.SourceIdentity; } return entries; }; const serializeAws_queryAssumeRoleWithSAMLRequest = (input, context) => { const entries = {}; if (input.RoleArn != null) { entries["RoleArn"] = input.RoleArn; } if (input.PrincipalArn != null) { entries["PrincipalArn"] = input.PrincipalArn; } if (input.SAMLAssertion != null) { entries["SAMLAssertion"] = input.SAMLAssertion; } if (input.PolicyArns != null) { const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context); Object.entries(memberEntries).forEach(([key, value]) => { const loc = `PolicyArns.${key}`; entries[loc] = value; }); } if (input.Policy != null) { entries["Policy"] = input.Policy; } if (input.DurationSeconds != null) { entries["DurationSeconds"] = input.DurationSeconds; } return entries; }; const serializeAws_queryAssumeRoleWithWebIdentityRequest = (input, context) => { const entries = {}; if (input.RoleArn != null) { entries["RoleArn"] = input.RoleArn; } if (input.RoleSessionName != null) { entries["RoleSessionName"] = input.RoleSessionName; } if (input.WebIdentityToken != null) { entries["WebIdentityToken"] = input.WebIdentityToken; } if (input.ProviderId != null) { entries["ProviderId"] = input.ProviderId; } if (input.PolicyArns != null) { const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context); Object.entries(memberEntries).forEach(([key, value]) => { const loc = `PolicyArns.${key}`; entries[loc] = value; }); } if (input.Policy != null) { entries["Policy"] = input.Policy; } if (input.DurationSeconds != null) { entries["DurationSeconds"] = input.DurationSeconds; } return entries; }; const serializeAws_queryDecodeAuthorizationMessageRequest = (input, context) => { const entries = {}; if (input.EncodedMessage != null) { entries["EncodedMessage"] = input.EncodedMessage; } return entries; }; const serializeAws_queryGetAccessKeyInfoRequest = (input, context) => { const entries = {}; if (input.AccessKeyId != null) { entries["AccessKeyId"] = input.AccessKeyId; } return entries; }; const serializeAws_queryGetCallerIdentityRequest = (input, context) => { const entries = {}; return entries; }; const serializeAws_queryGetFederationTokenRequest = (input, context) => { const entries = {}; if (input.Name != null) { entries["Name"] = input.Name; } if (input.Policy != null) { entries["Policy"] = input.Policy; } if (input.PolicyArns != null) { const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context); Object.entries(memberEntries).forEach(([key, value]) => { const loc = `PolicyArns.${key}`; entries[loc] = value; }); } if (input.DurationSeconds != null) { entries["DurationSeconds"] = input.DurationSeconds; } if (input.Tags != null) { const memberEntries = serializeAws_querytagListType(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { const loc = `Tags.${key}`; entries[loc] = value; }); } return entries; }; const serializeAws_queryGetSessionTokenRequest = (input, context) => { const entries = {}; if (input.DurationSeconds != null) { entries["DurationSeconds"] = input.DurationSeconds; } if (input.SerialNumber != null) { entries["SerialNumber"] = input.SerialNumber; } if (input.TokenCode != null) { entries["TokenCode"] = input.TokenCode; } return entries; }; const serializeAws_querypolicyDescriptorListType = (input, context) => { const entries = {}; let counter = 1; for (const entry of input) { if (entry === null) { continue; } const memberEntries = serializeAws_queryPolicyDescriptorType(entry, context); Object.entries(memberEntries).forEach(([key, value]) => { entries[`member.${counter}.${key}`] = value; }); counter++; } return entries; }; const serializeAws_queryPolicyDescriptorType = (input, context) => { const entries = {}; if (input.arn != null) { entries["arn"] = input.arn; } return entries; }; const serializeAws_queryTag = (input, context) => { const entries = {}; if (input.Key != null) { entries["Key"] = input.Key; } if (input.Value != null) { entries["Value"] = input.Value; } return entries; }; const serializeAws_querytagKeyListType = (input, context) => { const entries = {}; let counter = 1; for (const entry of input) { if (entry === null) { continue; } entries[`member.${counter}`] = entry; counter++; } return entries; }; const serializeAws_querytagListType = (input, context) => { const entries = {}; let counter = 1; for (const entry of input) { if (entry === null) { continue; } const memberEntries = serializeAws_queryTag(entry, context); Object.entries(memberEntries).forEach(([key, value]) => { entries[`member.${counter}.${key}`] = value; }); counter++; } return entries; }; const deserializeAws_queryAssumedRoleUser = (output, context) => { const contents = { AssumedRoleId: undefined, Arn: undefined, }; if (output["AssumedRoleId"] !== undefined) { contents.AssumedRoleId = __expectString(output["AssumedRoleId"]); } if (output["Arn"] !== undefined) { contents.Arn = __expectString(output["Arn"]); } return contents; }; const deserializeAws_queryAssumeRoleResponse = (output, context) => { const contents = { Credentials: undefined, AssumedRoleUser: undefined, PackedPolicySize: undefined, SourceIdentity: undefined, }; if (output["Credentials"] !== undefined) { contents.Credentials = deserializeAws_queryCredentials(output["Credentials"], context); } if (output["AssumedRoleUser"] !== undefined) { contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output["AssumedRoleUser"], context); } if (output["PackedPolicySize"] !== undefined) { contents.PackedPolicySize = __strictParseInt32(output["PackedPolicySize"]); } if (output["SourceIdentity"] !== undefined) { contents.SourceIdentity = __expectString(output["SourceIdentity"]); } return contents; }; const deserializeAws_queryAssumeRoleWithSAMLResponse = (output, context) => { const contents = { Credentials: undefined, AssumedRoleUser: undefined, PackedPolicySize: undefined, Subject: undefined, SubjectType: undefined, Issuer: undefined, Audience: undefined, NameQualifier: undefined, SourceIdentity: undefined, }; if (output["Credentials"] !== undefined) { contents.Credentials = deserializeAws_queryCredentials(output["Credentials"], context); } if (output["AssumedRoleUser"] !== undefined) { contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output["AssumedRoleUser"], context); } if (output["PackedPolicySize"] !== undefined) { contents.PackedPolicySize = __strictParseInt32(output["PackedPolicySize"]); } if (output["Subject"] !== undefined) { contents.Subject = __expectString(output["Subject"]); } if (output["SubjectType"] !== undefined) { contents.SubjectType = __expectString(output["SubjectType"]); } if (output["Issuer"] !== undefined) { contents.Issuer = __expectString(output["Issuer"]); } if (output["Audience"] !== undefined) { contents.Audience = __expectString(output["Audience"]); } if (output["NameQualifier"] !== undefined) { contents.NameQualifier = __expectString(output["NameQualifier"]); } if (output["SourceIdentity"] !== undefined) { contents.SourceIdentity = __expectString(output["SourceIdentity"]); } return contents; }; const deserializeAws_queryAssumeRoleWithWebIdentityResponse = (output, context) => { const contents = { Credentials: undefined, SubjectFromWebIdentityToken: undefined, AssumedRoleUser: undefined, PackedPolicySize: undefined, Provider: undefined, Audience: undefined, SourceIdentity: undefined, }; if (output["Credentials"] !== undefined) { contents.Credentials = deserializeAws_queryCredentials(output["Credentials"], context); } if (output["SubjectFromWebIdentityToken"] !== undefined) { contents.SubjectFromWebIdentityToken = __expectString(output["SubjectFromWebIdentityToken"]); } if (output["AssumedRoleUser"] !== undefined) { contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output["AssumedRoleUser"], context); } if (output["PackedPolicySize"] !== undefined) { contents.PackedPolicySize = __strictParseInt32(output["PackedPolicySize"]); } if (output["Provider"] !== undefined) { contents.Provider = __expectString(output["Provider"]); } if (output["Audience"] !== undefined) { contents.Audience = __expectString(output["Audience"]); } if (output["SourceIdentity"] !== undefined) { contents.SourceIdentity = __expectString(output["SourceIdentity"]); } return contents; }; const deserializeAws_queryCredentials = (output, context) => { const contents = { AccessKeyId: undefined, SecretAccessKey: undefined, SessionToken: undefined, Expiration: undefined, }; if (output["AccessKeyId"] !== undefined) { contents.AccessKeyId = __expectString(output["AccessKeyId"]); } if (output["SecretAccessKey"] !== undefined) { contents.SecretAccessKey = __expectString(output["SecretAccessKey"]); } if (output["SessionToken"] !== undefined) { contents.SessionToken = __expectString(output["SessionToken"]); } if (output["Expiration"] !== undefined) { contents.Expiration = __expectNonNull(__parseRfc3339DateTime(output["Expiration"])); } return contents; }; const deserializeAws_queryDecodeAuthorizationMessageResponse = (output, context) => { const contents = { DecodedMessage: undefined, }; if (output["DecodedMessage"] !== undefined) { contents.DecodedMessage = __expectString(output["DecodedMessage"]); } return contents; }; const deserializeAws_queryExpiredTokenException = (output, context) => { const contents = { message: undefined, }; if (output["message"] !== undefined) { contents.message = __expectString(output["message"]); } return contents; }; const deserializeAws_queryFederatedUser = (output, context) => { const contents = { FederatedUserId: undefined, Arn: undefined, }; if (output["FederatedUserId"] !== undefined) { contents.FederatedUserId = __expectString(output["FederatedUserId"]); } if (output["Arn"] !== undefined) { contents.Arn = __expectString(output["Arn"]); } return contents; }; const deserializeAws_queryGetAccessKeyInfoResponse = (output, context) => { const contents = { Account: undefined, }; if (output["Account"] !== undefined) { contents.Account = __expectString(output["Account"]); } return contents; }; const deserializeAws_queryGetCallerIdentityResponse = (output, context) => { const contents = { UserId: undefined, Account: undefined, Arn: undefined, }; if (output["UserId"] !== undefined) { contents.UserId = __expectString(output["UserId"]); } if (output["Account"] !== undefined) { contents.Account = __expectString(output["Account"]); } if (output["Arn"] !== undefined) { contents.Arn = __expectString(output["Arn"]); } return contents; }; const deserializeAws_queryGetFederationTokenResponse = (output, context) => { const contents = { Credentials: undefined, FederatedUser: undefined, PackedPolicySize: undefined, }; if (output["Credentials"] !== undefined) { contents.Credentials = deserializeAws_queryCredentials(output["Credentials"], context); } if (output["FederatedUser"] !== undefined) { contents.FederatedUser = deserializeAws_queryFederatedUser(output["FederatedUser"], context); } if (output["PackedPolicySize"] !== undefined) { contents.PackedPolicySize = __strictParseInt32(output["PackedPolicySize"]); } return contents; }; const deserializeAws_queryGetSessionTokenResponse = (output, context) => { const contents = { Credentials: undefined, }; if (output["Credentials"] !== undefined) { contents.Credentials = deserializeAws_queryCredentials(output["Credentials"], context); } return contents; }; const deserializeAws_queryIDPCommunicationErrorException = (output, context) => { const contents = { message: undefined, }; if (output["message"] !== undefined) { contents.message = __expectString(output["message"]); } return contents; }; const deserializeAws_queryIDPRejectedClaimException = (output, context) => { const contents = { message: undefined, }; if (output["message"] !== undefined) { contents.message = __expectString(output["message"]); } return contents; }; const deserializeAws_queryInvalidAuthorizationMessageException = (output, context) => { const contents = { message: undefined, }; if (output["message"] !== undefined) { contents.message = __expectString(output["message"]); } return contents; }; const deserializeAws_queryInvalidIdentityTokenException = (output, context) => { const contents = { message: undefined, }; if (output["message"] !== undefined) { contents.message = __expectString(output["message"]); } return contents; }; const deserializeAws_queryMalformedPolicyDocumentException = (output, context) => { const contents = { message: undefined, }; if (output["message"] !== undefined) { contents.message = __expectString(output["message"]); } return contents; }; const deserializeAws_queryPackedPolicyTooLargeException = (output, context) => { const contents = { message: undefined, }; if (output["message"] !== undefined) { contents.message = __expectString(output["message"]); } return contents; }; const deserializeAws_queryRegionDisabledException = (output, context) => { const contents = { message: undefined, }; if (output["message"] !== undefined) { contents.message = __expectString(output["message"]); } return contents; }; const deserializeMetadata = (output) => ({ httpStatusCode: output.statusCode, requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], extendedRequestId: output.headers["x-amz-id-2"], cfId: output.headers["x-amz-cf-id"], }); const collectBody = (streamBody = new Uint8Array(), context) => { if (streamBody instanceof Uint8Array) { return Promise.resolve(streamBody); } return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array()); }; const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body)); const buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); const contents = { protocol, hostname, port, method: "POST", path: basePath.endsWith("/") ? basePath.slice(0, -1) + path : basePath + path, headers, }; if (resolvedHostname !== undefined) { contents.hostname = resolvedHostname; } if (body !== undefined) { contents.body = body; } return new __HttpRequest(contents); }; const parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { if (encoded.length) { const parser = new XMLParser({ attributeNamePrefix: "", htmlEntities: true, ignoreAttributes: false, ignoreDeclaration: true, parseTagValue: false, trimValues: false, tagValueProcessor: (_, val) => (val.trim() === "" && val.includes("\n") ? "" : undefined), }); parser.addEntity("#xD", "\r"); parser.addEntity("#10", "\n"); const parsedObj = parser.parse(encoded); const textNodeName = "#text"; const key = Object.keys(parsedObj)[0]; const parsedObjToReturn = parsedObj[key]; if (parsedObjToReturn[textNodeName]) { parsedObjToReturn[key] = parsedObjToReturn[textNodeName]; delete parsedObjToReturn[textNodeName]; } return __getValueFromTextNode(parsedObjToReturn); } return {}; }); const parseErrorBody = async (errorBody, context) => { const value = await parseBody(errorBody, context); if (value.Error) { value.Error.message = value.Error.message ?? value.Error.Message; } return value; }; const buildFormUrlencodedString = (formEntries) => Object.entries(formEntries) .map(([key, value]) => __extendedEncodeURIComponent(key) + "=" + __extendedEncodeURIComponent(value)) .join("&"); const loadQueryErrorCode = (output, data) => { if (data.Error.Code !== undefined) { return data.Error.Code; } if (output.statusCode == 404) { return "NotFound"; } };