@aws-sdk/client-account
Version:
AWS SDK for JavaScript Account Client for Node.js, Browser and React Native
451 lines (450 loc) • 15.5 kB
JavaScript
import { loadRestJsonErrorCode, parseJsonBody as parseBody, parseJsonErrorBody as parseErrorBody } from "@aws-sdk/core";
import { requestBuilder as rb } from "@smithy/core";
import { _json, collectBody, decorateServiceException as __decorateServiceException, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, map, take, withBaseException, } from "@smithy/smithy-client";
import { AccountServiceException as __BaseException } from "../models/AccountServiceException";
import { AccessDeniedException, ConflictException, InternalServerException, ResourceNotFoundException, TooManyRequestsException, ValidationException, } from "../models/models_0";
export const se_AcceptPrimaryEmailUpdateCommand = async (input, context) => {
const b = rb(input, context);
const headers = {
"content-type": "application/json",
};
b.bp("/acceptPrimaryEmailUpdate");
let body;
body = JSON.stringify(take(input, {
AccountId: [],
Otp: [],
PrimaryEmail: [],
}));
b.m("POST").h(headers).b(body);
return b.build();
};
export const se_DeleteAlternateContactCommand = async (input, context) => {
const b = rb(input, context);
const headers = {
"content-type": "application/json",
};
b.bp("/deleteAlternateContact");
let body;
body = JSON.stringify(take(input, {
AccountId: [],
AlternateContactType: [],
}));
b.m("POST").h(headers).b(body);
return b.build();
};
export const se_DisableRegionCommand = async (input, context) => {
const b = rb(input, context);
const headers = {
"content-type": "application/json",
};
b.bp("/disableRegion");
let body;
body = JSON.stringify(take(input, {
AccountId: [],
RegionName: [],
}));
b.m("POST").h(headers).b(body);
return b.build();
};
export const se_EnableRegionCommand = async (input, context) => {
const b = rb(input, context);
const headers = {
"content-type": "application/json",
};
b.bp("/enableRegion");
let body;
body = JSON.stringify(take(input, {
AccountId: [],
RegionName: [],
}));
b.m("POST").h(headers).b(body);
return b.build();
};
export const se_GetAlternateContactCommand = async (input, context) => {
const b = rb(input, context);
const headers = {
"content-type": "application/json",
};
b.bp("/getAlternateContact");
let body;
body = JSON.stringify(take(input, {
AccountId: [],
AlternateContactType: [],
}));
b.m("POST").h(headers).b(body);
return b.build();
};
export const se_GetContactInformationCommand = async (input, context) => {
const b = rb(input, context);
const headers = {
"content-type": "application/json",
};
b.bp("/getContactInformation");
let body;
body = JSON.stringify(take(input, {
AccountId: [],
}));
b.m("POST").h(headers).b(body);
return b.build();
};
export const se_GetPrimaryEmailCommand = async (input, context) => {
const b = rb(input, context);
const headers = {
"content-type": "application/json",
};
b.bp("/getPrimaryEmail");
let body;
body = JSON.stringify(take(input, {
AccountId: [],
}));
b.m("POST").h(headers).b(body);
return b.build();
};
export const se_GetRegionOptStatusCommand = async (input, context) => {
const b = rb(input, context);
const headers = {
"content-type": "application/json",
};
b.bp("/getRegionOptStatus");
let body;
body = JSON.stringify(take(input, {
AccountId: [],
RegionName: [],
}));
b.m("POST").h(headers).b(body);
return b.build();
};
export const se_ListRegionsCommand = async (input, context) => {
const b = rb(input, context);
const headers = {
"content-type": "application/json",
};
b.bp("/listRegions");
let body;
body = JSON.stringify(take(input, {
AccountId: [],
MaxResults: [],
NextToken: [],
RegionOptStatusContains: (_) => _json(_),
}));
b.m("POST").h(headers).b(body);
return b.build();
};
export const se_PutAlternateContactCommand = async (input, context) => {
const b = rb(input, context);
const headers = {
"content-type": "application/json",
};
b.bp("/putAlternateContact");
let body;
body = JSON.stringify(take(input, {
AccountId: [],
AlternateContactType: [],
EmailAddress: [],
Name: [],
PhoneNumber: [],
Title: [],
}));
b.m("POST").h(headers).b(body);
return b.build();
};
export const se_PutContactInformationCommand = async (input, context) => {
const b = rb(input, context);
const headers = {
"content-type": "application/json",
};
b.bp("/putContactInformation");
let body;
body = JSON.stringify(take(input, {
AccountId: [],
ContactInformation: (_) => _json(_),
}));
b.m("POST").h(headers).b(body);
return b.build();
};
export const se_StartPrimaryEmailUpdateCommand = async (input, context) => {
const b = rb(input, context);
const headers = {
"content-type": "application/json",
};
b.bp("/startPrimaryEmailUpdate");
let body;
body = JSON.stringify(take(input, {
AccountId: [],
PrimaryEmail: [],
}));
b.m("POST").h(headers).b(body);
return b.build();
};
export const de_AcceptPrimaryEmailUpdateCommand = async (output, context) => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
return de_CommandError(output, context);
}
const contents = map({
$metadata: deserializeMetadata(output),
});
const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
const doc = take(data, {
Status: __expectString,
});
Object.assign(contents, doc);
return contents;
};
export const de_DeleteAlternateContactCommand = async (output, context) => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
return de_CommandError(output, context);
}
const contents = map({
$metadata: deserializeMetadata(output),
});
await collectBody(output.body, context);
return contents;
};
export const de_DisableRegionCommand = async (output, context) => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
return de_CommandError(output, context);
}
const contents = map({
$metadata: deserializeMetadata(output),
});
await collectBody(output.body, context);
return contents;
};
export const de_EnableRegionCommand = async (output, context) => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
return de_CommandError(output, context);
}
const contents = map({
$metadata: deserializeMetadata(output),
});
await collectBody(output.body, context);
return contents;
};
export const de_GetAlternateContactCommand = async (output, context) => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
return de_CommandError(output, context);
}
const contents = map({
$metadata: deserializeMetadata(output),
});
const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
const doc = take(data, {
AlternateContact: _json,
});
Object.assign(contents, doc);
return contents;
};
export const de_GetContactInformationCommand = async (output, context) => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
return de_CommandError(output, context);
}
const contents = map({
$metadata: deserializeMetadata(output),
});
const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
const doc = take(data, {
ContactInformation: _json,
});
Object.assign(contents, doc);
return contents;
};
export const de_GetPrimaryEmailCommand = async (output, context) => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
return de_CommandError(output, context);
}
const contents = map({
$metadata: deserializeMetadata(output),
});
const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
const doc = take(data, {
PrimaryEmail: __expectString,
});
Object.assign(contents, doc);
return contents;
};
export const de_GetRegionOptStatusCommand = async (output, context) => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
return de_CommandError(output, context);
}
const contents = map({
$metadata: deserializeMetadata(output),
});
const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
const doc = take(data, {
RegionName: __expectString,
RegionOptStatus: __expectString,
});
Object.assign(contents, doc);
return contents;
};
export const de_ListRegionsCommand = async (output, context) => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
return de_CommandError(output, context);
}
const contents = map({
$metadata: deserializeMetadata(output),
});
const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
const doc = take(data, {
NextToken: __expectString,
Regions: _json,
});
Object.assign(contents, doc);
return contents;
};
export const de_PutAlternateContactCommand = async (output, context) => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
return de_CommandError(output, context);
}
const contents = map({
$metadata: deserializeMetadata(output),
});
await collectBody(output.body, context);
return contents;
};
export const de_PutContactInformationCommand = async (output, context) => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
return de_CommandError(output, context);
}
const contents = map({
$metadata: deserializeMetadata(output),
});
await collectBody(output.body, context);
return contents;
};
export const de_StartPrimaryEmailUpdateCommand = async (output, context) => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
return de_CommandError(output, context);
}
const contents = map({
$metadata: deserializeMetadata(output),
});
const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
const doc = take(data, {
Status: __expectString,
});
Object.assign(contents, doc);
return contents;
};
const de_CommandError = async (output, context) => {
const parsedOutput = {
...output,
body: await parseErrorBody(output.body, context),
};
const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
switch (errorCode) {
case "AccessDeniedException":
case "com.amazonaws.account#AccessDeniedException":
throw await de_AccessDeniedExceptionRes(parsedOutput, context);
case "ConflictException":
case "com.amazonaws.account#ConflictException":
throw await de_ConflictExceptionRes(parsedOutput, context);
case "InternalServerException":
case "com.amazonaws.account#InternalServerException":
throw await de_InternalServerExceptionRes(parsedOutput, context);
case "ResourceNotFoundException":
case "com.amazonaws.account#ResourceNotFoundException":
throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
case "TooManyRequestsException":
case "com.amazonaws.account#TooManyRequestsException":
throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
case "ValidationException":
case "com.amazonaws.account#ValidationException":
throw await de_ValidationExceptionRes(parsedOutput, context);
default:
const parsedBody = parsedOutput.body;
return throwDefaultError({
output,
parsedBody,
errorCode,
});
}
};
const throwDefaultError = withBaseException(__BaseException);
const de_AccessDeniedExceptionRes = async (parsedOutput, context) => {
const contents = map({});
const data = parsedOutput.body;
const doc = take(data, {
message: __expectString,
});
Object.assign(contents, doc);
const exception = new AccessDeniedException({
$metadata: deserializeMetadata(parsedOutput),
...contents,
});
return __decorateServiceException(exception, parsedOutput.body);
};
const de_ConflictExceptionRes = async (parsedOutput, context) => {
const contents = map({});
const data = parsedOutput.body;
const doc = take(data, {
message: __expectString,
});
Object.assign(contents, doc);
const exception = new ConflictException({
$metadata: deserializeMetadata(parsedOutput),
...contents,
});
return __decorateServiceException(exception, parsedOutput.body);
};
const de_InternalServerExceptionRes = async (parsedOutput, context) => {
const contents = map({});
const data = parsedOutput.body;
const doc = take(data, {
message: __expectString,
});
Object.assign(contents, doc);
const exception = new InternalServerException({
$metadata: deserializeMetadata(parsedOutput),
...contents,
});
return __decorateServiceException(exception, parsedOutput.body);
};
const de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => {
const contents = map({});
const data = parsedOutput.body;
const doc = take(data, {
message: __expectString,
});
Object.assign(contents, doc);
const exception = new ResourceNotFoundException({
$metadata: deserializeMetadata(parsedOutput),
...contents,
});
return __decorateServiceException(exception, parsedOutput.body);
};
const de_TooManyRequestsExceptionRes = async (parsedOutput, context) => {
const contents = map({});
const data = parsedOutput.body;
const doc = take(data, {
message: __expectString,
});
Object.assign(contents, doc);
const exception = new TooManyRequestsException({
$metadata: deserializeMetadata(parsedOutput),
...contents,
});
return __decorateServiceException(exception, parsedOutput.body);
};
const de_ValidationExceptionRes = async (parsedOutput, context) => {
const contents = map({});
const data = parsedOutput.body;
const doc = take(data, {
fieldList: _json,
message: __expectString,
reason: __expectString,
});
Object.assign(contents, doc);
const exception = new ValidationException({
$metadata: deserializeMetadata(parsedOutput),
...contents,
});
return __decorateServiceException(exception, parsedOutput.body);
};
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 collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));