53 lines
1.5 KiB
PowerShell
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
|
|
}
|