in provider-utils/awscloudformation/service-walkthroughs/vod-push.js [316:366]
async function createCDN(context, props, options, aws, oldValues) {
const { payload } = context.parameters.options;
const { amplify } = context;
const args = payload ? JSON.parse(payload) : {};
const cdnConfigDetails = {};
if (oldValues.contentDeliveryNetwork && oldValues.contentDeliveryNetwork.signedKey) {
const signedURLQuestion = [{
type: question.modifySignedUrl.type,
name: question.modifySignedUrl.key,
message: question.modifySignedUrl.question,
choices: question.modifySignedUrl.options,
default: question.modifySignedUrl.default,
}];
const signedURLResponse = await inquirer.prompt(signedURLQuestion);
if (signedURLResponse.modifySignedUrl === 'leave') {
return oldValues.contentDeliveryNetwork;
}
if (signedURLResponse.modifySignedUrl === 'remove') {
cdnConfigDetails.signedKey = false;
} else {
cdnConfigDetails.signedKey = true;
}
} else {
const signedURLQuestion = [{
type: question.signedKey.type,
name: question.signedKey.key,
message: question.signedKey.question,
validate: amplify.inputValidation(question.signedKey),
default: question.signedKey.default,
when(answers) {
return headlessMode.autoAnswer({
context,
answers,
key: question.signedKey.key,
value: args.signedKey ? args.signedKey : false,
});
},
}];
const signedURLResponse = await inquirer.prompt(signedURLQuestion);
cdnConfigDetails.signedKey = signedURLResponse.signedKey;
}
if (cdnConfigDetails.signedKey) {
await createCDNEnvVars(context, options, props.shared.resourceName, aws);
cdnConfigDetails.functionNameSchema = `${props.shared.resourceName}-\${env}-tokenGen`;
}
return cdnConfigDetails;
}