case-insensitive resource type (#398)

* case-insensitive resource type

* inline error and throw outside switch

* consistent input naming

* catch failed clustertype parse

* protect raw input

* naming

* format
This commit is contained in:
David Gamero
2025-04-16 11:47:29 -04:00
committed by GitHub
parent 5dfb05d024
commit 99510dff95
7 changed files with 87 additions and 38 deletions
+16
View File
@@ -1,5 +1,6 @@
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})
@@ -14,3 +15,18 @@ export function getBufferTime(): number {
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