ps/Modules/Alkami.DevOps.SystemEngineering/Private/Get-YeatsLambdaIamRoleArn.ps1
2023-05-30 22:51:22 -07:00

53 lines
1.5 KiB
PowerShell

function Get-YeatsLambdaIamRoleArn {
<#
.SYNOPSIS
Retrieves the environment-specific ARN for the Yeats rotation Lambda IAM role.
.PARAMETER EnvironmentTag
[string] The 'alk:env' value for the Yeats Lambda IAM role name.
.PARAMETER ProfileName
[string] The AWS profile to use during search operation.
.EXAMPLE
Get-YeatsLambdaIamRoleArn -EnvironmentTag 'qashared' -ProfileName 'temp-qa'
arn:aws:iam::668894625708:role/atlantis-generated-alk-qashared-services-yeats-lambdarole
#>
[CmdletBinding()]
[OutputType([string])]
param (
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string] $EnvironmentTag,
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string] $ProfileName
)
$logLead = Get-LogLeadName
$result = $null
Import-AWSModule
# Build the role name. All of this is constant except for the environment designator.
$roleName = "atlantis-generated-alk-${EnvironmentTag}-services-yeats-lambdarole"
Write-Verbose "$logLead : Calculated Yeats Lambda IAM role name as '$roleName'"
try {
$role = Get-IamRole -RoleName $roleName -ProfileName $ProfileName
$result = $role.Arn
Write-Verbose "$logLead : Yeats Lambda IAM role ARN = '$result'"
} catch {
Write-Warning "$logLead : Unable to find Yeats Lambda IAM role named '$roleName' with provided input.`nError encountered was: '$PSItem'"
}
return $result
}