in src/tasks/SystemsManagerGetParameter/TaskParameters.ts [26:82]
export function buildTaskParameters(): TaskParameters {
const parameters: TaskParameters = {
awsConnectionParameters: buildConnectionParameters(),
readMode: getInputRequired('readMode'),
parameterName: '',
parameterVersion: undefined,
parameterPath: '',
recursive: false,
variableNameTransform: '',
customVariableName: '',
replacementPattern: '',
replacementText: '',
globalMatch: false,
caseInsensitiveMatch: false
}
switch (parameters.readMode) {
case readModeSingle:
parameters.parameterName = getInputRequired('parameterName')
const versionstring = getInputOptional('parameterVersion')
if (versionstring) {
const pv = parseInt(versionstring, 10)
if (!isNaN(pv) && pv > 0) {
parameters.parameterVersion = pv
} else {
throw new Error(tl.loc('InvalidParameterVersion', pv))
}
}
parameters.variableNameTransform = getInputOrEmpty('singleNameTransform')
break
case readModeHierarchy:
parameters.parameterPath = getInputRequired('parameterPath')
parameters.recursive = tl.getBoolInput('recursive', false)
parameters.variableNameTransform = getInputOrEmpty('hierarchyNameTransform')
break
default:
throw new Error(tl.loc('UnknownReadMode', parameters.readMode))
}
switch (parameters.variableNameTransform) {
case 'substitute':
parameters.replacementPattern = getInputRequired('replacementPattern')
parameters.replacementText = getInputOrEmpty('replacementText')
parameters.globalMatch = tl.getBoolInput('globalMatch', false)
parameters.caseInsensitiveMatch = tl.getBoolInput('caseInsensitiveMatch', false)
break
case 'custom':
parameters.customVariableName = getInputRequired('customVariableName')
break
default:
break
}
return parameters
}