mirror of
https://github.com/Azure/k8s-deploy.git
synced 2026-04-02 10:22:17 +08:00
* case-insensitive resource type * inline error and throw outside switch * consistent input naming * catch failed clustertype parse * protect raw input * naming * format
33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import * as core from '@actions/core'
|
|
import {parseAnnotations} from './types/annotations'
|
|
import {ResourceTypeFleet, ResourceTypeManagedCluster} from './actions/deploy'
|
|
|
|
export const inputAnnotations = parseAnnotations(
|
|
core.getInput('annotations', {required: false})
|
|
)
|
|
|
|
export function getBufferTime(): number {
|
|
const inputBufferTime = parseInt(
|
|
core.getInput('version-switch-buffer') || '0'
|
|
)
|
|
if (inputBufferTime < 0 || inputBufferTime > 300)
|
|
throw Error('Version switch buffer must be between 0 and 300 (inclusive)')
|
|
|
|
return inputBufferTime
|
|
}
|
|
|
|
export function parseResourceTypeInput(rawInput: string): ClusterType {
|
|
switch (rawInput.toLowerCase()) {
|
|
case ResourceTypeFleet.toLowerCase():
|
|
return ResourceTypeFleet
|
|
case ResourceTypeManagedCluster.toLowerCase():
|
|
return ResourceTypeManagedCluster
|
|
}
|
|
throw new Error(
|
|
`Invalid resource type: ${rawInput}. Supported resource types are: ${ResourceTypeManagedCluster} (default), ${ResourceTypeFleet}`
|
|
)
|
|
}
|
|
export type ClusterType =
|
|
| typeof ResourceTypeManagedCluster
|
|
| typeof ResourceTypeFleet
|