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 }