Skip to content

Commit

Permalink
Use correct formatting for inputs
Browse files Browse the repository at this point in the history
  • Loading branch information
anthony-c-martin committed Sep 18, 2024
1 parent 4724139 commit 0feecee
Show file tree
Hide file tree
Showing 7 changed files with 114 additions and 102 deletions.
11 changes: 7 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ jobs:
run: npm run test

test-action:
permissions:
contents: read
id-token: write
name: GitHub Actions Test
runs-on: ${{ matrix.os }}
strategy:
Expand Down Expand Up @@ -69,7 +72,7 @@ jobs:
type: deployment
operation: create
name: azure-deploy-ci-${{ matrix.os }}
scope: resourcegroup
subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
resourceGroupName: azure-deploy-ci
parametersFile: test/files/basic/main.bicepparam
scope: resourceGroup
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
resource-group-name: azure-deploy-ci
parameters-file: test/files/basic/main.bicepparam
2 changes: 1 addition & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ inputs:
description: ''
required: false

parameters:
parameters-file:
description: ''
required: false

Expand Down
42 changes: 21 additions & 21 deletions dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -57997,8 +57997,8 @@ function parseConfig() {
const type = helpers.getRequiredEnumInput('type', ['deployment', 'deploymentStack']);
const name = helpers.getOptionalStringInput('name');
const location = helpers.getOptionalStringInput('location');
const templateFile = helpers.getOptionalStringInput('templateFile');
const parametersFile = helpers.getOptionalStringInput('parametersFile');
const templateFile = helpers.getOptionalStringInput('template-file');
const parametersFile = helpers.getOptionalStringInput('parameters-file');
const description = helpers.getOptionalStringInput('description');
const tags = helpers.getOptionalStringDictionaryInput('tags');
switch (type) {
Expand Down Expand Up @@ -58026,23 +58026,23 @@ function parseConfig() {
operation: helpers.getRequiredEnumInput('operation', ['create', 'validate', 'delete']),
scope: parseDeploymentStackScope(),
actionOnUnManage: {
resources: helpers.getRequiredEnumInput('actionOnUnManageResources', ['delete', 'detach']),
resourceGroups: helpers.getOptionalEnumInput('actionOnUnManageResourceGroups', ['delete', 'detach']),
managementGroups: helpers.getOptionalEnumInput('actionOnUnManageManagementGroups', ['delete', 'detach']),
resources: helpers.getRequiredEnumInput('action-on-unmanage-resources', ['delete', 'detach']),
resourceGroups: helpers.getOptionalEnumInput('action-on-unmanage-resourcegroups', ['delete', 'detach']),
managementGroups: helpers.getOptionalEnumInput('action-on-unmanage-managementgroups', ['delete', 'detach']),
},
bypassStackOutOfSyncError: helpers.getOptionalBooleanInput('bypassStackOutOfSyncError'),
bypassStackOutOfSyncError: helpers.getOptionalBooleanInput('bypass-stack-out-of-sync-error'),
denySettings: {
mode: helpers.getRequiredEnumInput('denySettingsMode', ['denyDelete', 'denyWriteAndDelete', 'none']),
excludedActions: helpers.getOptionalStringArrayInput('denySettingsExcludedActions'),
excludedPrincipals: helpers.getOptionalStringArrayInput('denySettingsExcludedPrincipals'),
mode: helpers.getRequiredEnumInput('deny-settings-mode', ['denyDelete', 'denyWriteAndDelete', 'none']),
excludedActions: helpers.getOptionalStringArrayInput('deny-settings-excluded-actions'),
excludedPrincipals: helpers.getOptionalStringArrayInput('deny-settings-excluded-principals'),
},
};
}
}
}
function parseDeploymentScope() {
const type = helpers.getRequiredEnumInput('scopeType', ['tenant', 'managementGroup', 'subscription', 'resourceGroup']);
const tenantId = helpers.getOptionalStringInput('tenantId');
const type = helpers.getRequiredEnumInput('scope', ['tenant', 'managementGroup', 'subscription', 'resourceGroup']);
const tenantId = helpers.getOptionalStringInput('tenant-id');
switch (type) {
case 'tenant': {
return {
Expand All @@ -58051,24 +58051,24 @@ function parseDeploymentScope() {
};
}
case 'managementGroup': {
const managementGroup = helpers.getRequiredStringInput('managementGroup');
const managementGroup = helpers.getRequiredStringInput('management-group');
return {
type,
tenantId,
managementGroup,
};
}
case 'subscription': {
const subscriptionId = helpers.getRequiredStringInput('subscriptionId');
const subscriptionId = helpers.getRequiredStringInput('subscription-id');
return {
type,
tenantId,
subscriptionId,
};
}
case 'resourceGroup': {
const subscriptionId = helpers.getRequiredStringInput('subscriptionId');
const resourceGroup = helpers.getRequiredStringInput('resourceGroup');
const subscriptionId = helpers.getRequiredStringInput('subscription-id');
const resourceGroup = helpers.getRequiredStringInput('resource-group');
return {
type,
tenantId,
Expand All @@ -58079,28 +58079,28 @@ function parseDeploymentScope() {
}
}
function parseDeploymentStackScope() {
const type = helpers.getRequiredEnumInput('scopeType', ['managementGroup', 'subscription', 'resourceGroup']);
const tenantId = helpers.getOptionalStringInput('tenantId');
const type = helpers.getRequiredEnumInput('scope', ['managementGroup', 'subscription', 'resourceGroup']);
const tenantId = helpers.getOptionalStringInput('tenant-id');
switch (type) {
case 'managementGroup': {
const managementGroup = helpers.getRequiredStringInput('managementGroup');
const managementGroup = helpers.getRequiredStringInput('management-group');
return {
type,
tenantId,
managementGroup,
};
}
case 'subscription': {
const subscriptionId = helpers.getRequiredStringInput('subscriptionId');
const subscriptionId = helpers.getRequiredStringInput('subscription-id');
return {
type,
tenantId,
subscriptionId,
};
}
case 'resourceGroup': {
const subscriptionId = helpers.getRequiredStringInput('subscriptionId');
const resourceGroup = helpers.getRequiredStringInput('resourceGroup');
const subscriptionId = helpers.getRequiredStringInput('subscription-id');
const resourceGroup = helpers.getRequiredStringInput('resource-group');
return {
type,
tenantId,
Expand Down
2 changes: 1 addition & 1 deletion dist/index.js.map

Large diffs are not rendered by default.

15 changes: 12 additions & 3 deletions scripts/initial_setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,20 @@ az role assignment create \
--assignee-principal-type ServicePrincipal \
--scope /subscriptions/$subId/resourceGroups/$rgName >/dev/null

repoSubject="repo:$repoOwner/$repoName:ref:refs/heads/main"
if [[ -z $(az ad app federated-credential show --id $appId --federated-credential-id $repoName 2>/dev/null) ]]; then
credName="cimain"
credSubject="repo:$repoOwner/$repoName:ref:refs/heads/main"
if [[ -z $(az ad app federated-credential show --id $appId --federated-credential-id $credName 2>/dev/null) ]]; then
az ad app federated-credential create \
--id $appId \
--parameters '{"name":"'$repoName'","issuer":"https://token.actions.githubusercontent.com","subject":"'$repoSubject'","description":"GitHub OIDC Connection","audiences":["api://AzureADTokenExchange"]}' >/dev/null
--parameters '{"name":"'$credName'","issuer":"https://token.actions.githubusercontent.com","subject":"'$credSubject'","description":"GitHub OIDC Connection","audiences":["api://AzureADTokenExchange"]}' >/dev/null
fi

credName="cipullrequest"
credSubject="repo:$repoOwner/$repoName:pull_request"
if [[ -z $(az ad app federated-credential show --id $appId --federated-credential-id $credName 2>/dev/null) ]]; then
az ad app federated-credential create \
--id $appId \
--parameters '{"name":"'$credName'","issuer":"https://token.actions.githubusercontent.com","subject":"'$credSubject'","description":"GitHub OIDC Connection","audiences":["api://AzureADTokenExchange"]}' >/dev/null
fi

gh -R $repoOwner/$repoName secret set AZURE_CLIENT_ID --body $appId
Expand Down
42 changes: 21 additions & 21 deletions src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ export function parseConfig(): DeploymentsConfig | DeploymentStackConfig {
const type = helpers.getRequiredEnumInput('type', ['deployment', 'deploymentStack']);
const name = helpers.getOptionalStringInput('name');
const location = helpers.getOptionalStringInput('location');
const templateFile = helpers.getOptionalStringInput('templateFile');
const parametersFile = helpers.getOptionalStringInput('parametersFile');
const templateFile = helpers.getOptionalStringInput('template-file');
const parametersFile = helpers.getOptionalStringInput('parameters-file');
const description = helpers.getOptionalStringInput('description');
const tags = helpers.getOptionalStringDictionaryInput('tags');

Expand Down Expand Up @@ -100,24 +100,24 @@ export function parseConfig(): DeploymentsConfig | DeploymentStackConfig {
operation: helpers.getRequiredEnumInput('operation', ['create', 'validate', 'delete']),
scope: parseDeploymentStackScope(),
actionOnUnManage: {
resources: helpers.getRequiredEnumInput('actionOnUnManageResources', ['delete', 'detach']),
resourceGroups: helpers.getOptionalEnumInput('actionOnUnManageResourceGroups', ['delete', 'detach']),
managementGroups: helpers.getOptionalEnumInput('actionOnUnManageManagementGroups', ['delete', 'detach']),
resources: helpers.getRequiredEnumInput('action-on-unmanage-resources', ['delete', 'detach']),
resourceGroups: helpers.getOptionalEnumInput('action-on-unmanage-resourcegroups', ['delete', 'detach']),
managementGroups: helpers.getOptionalEnumInput('action-on-unmanage-managementgroups', ['delete', 'detach']),
},
bypassStackOutOfSyncError: helpers.getOptionalBooleanInput('bypassStackOutOfSyncError'),
bypassStackOutOfSyncError: helpers.getOptionalBooleanInput('bypass-stack-out-of-sync-error'),
denySettings: {
mode: helpers.getRequiredEnumInput('denySettingsMode', ['denyDelete', 'denyWriteAndDelete', 'none']),
excludedActions: helpers.getOptionalStringArrayInput('denySettingsExcludedActions'),
excludedPrincipals: helpers.getOptionalStringArrayInput('denySettingsExcludedPrincipals'),
mode: helpers.getRequiredEnumInput('deny-settings-mode', ['denyDelete', 'denyWriteAndDelete', 'none']),
excludedActions: helpers.getOptionalStringArrayInput('deny-settings-excluded-actions'),
excludedPrincipals: helpers.getOptionalStringArrayInput('deny-settings-excluded-principals'),
},
};
}
}
}

function parseDeploymentScope(): TenantScope | ManagementGroupScope | SubscriptionScope | ResourceGroupScope {
const type = helpers.getRequiredEnumInput('scopeType', ['tenant', 'managementGroup', 'subscription', 'resourceGroup']);
const tenantId = helpers.getOptionalStringInput('tenantId');
const type = helpers.getRequiredEnumInput('scope', ['tenant', 'managementGroup', 'subscription', 'resourceGroup']);
const tenantId = helpers.getOptionalStringInput('tenant-id');

switch (type) {
case 'tenant': {
Expand All @@ -127,24 +127,24 @@ function parseDeploymentScope(): TenantScope | ManagementGroupScope | Subscripti
};
}
case 'managementGroup': {
const managementGroup = helpers.getRequiredStringInput('managementGroup');
const managementGroup = helpers.getRequiredStringInput('management-group-id');
return {
type,
tenantId,
managementGroup,
};
}
case 'subscription': {
const subscriptionId = helpers.getRequiredStringInput('subscriptionId');
const subscriptionId = helpers.getRequiredStringInput('subscription-id');
return {
type,
tenantId,
subscriptionId,
};
}
case 'resourceGroup': {
const subscriptionId = helpers.getRequiredStringInput('subscriptionId');
const resourceGroup = helpers.getRequiredStringInput('resourceGroup');
const subscriptionId = helpers.getRequiredStringInput('subscription-id');
const resourceGroup = helpers.getRequiredStringInput('resource-group-name');
return {
type,
tenantId,
Expand All @@ -156,29 +156,29 @@ function parseDeploymentScope(): TenantScope | ManagementGroupScope | Subscripti
}

function parseDeploymentStackScope(): ManagementGroupScope | SubscriptionScope | ResourceGroupScope {
const type = helpers.getRequiredEnumInput('scopeType', ['managementGroup', 'subscription', 'resourceGroup']);
const tenantId = helpers.getOptionalStringInput('tenantId');
const type = helpers.getRequiredEnumInput('scope', ['managementGroup', 'subscription', 'resourceGroup']);
const tenantId = helpers.getOptionalStringInput('tenant-id');

switch (type) {
case 'managementGroup': {
const managementGroup = helpers.getRequiredStringInput('managementGroup');
const managementGroup = helpers.getRequiredStringInput('management-group-id');
return {
type,
tenantId,
managementGroup,
};
}
case 'subscription': {
const subscriptionId = helpers.getRequiredStringInput('subscriptionId');
const subscriptionId = helpers.getRequiredStringInput('subscription-id');
return {
type,
tenantId,
subscriptionId,
};
}
case 'resourceGroup': {
const subscriptionId = helpers.getRequiredStringInput('subscriptionId');
const resourceGroup = helpers.getRequiredStringInput('resourceGroup');
const subscriptionId = helpers.getRequiredStringInput('subscription-id');
const resourceGroup = helpers.getRequiredStringInput('resource-group-name');
return {
type,
tenantId,
Expand Down
Loading

0 comments on commit 0feecee

Please sign in to comment.