Eu tenho um modelo que obtém um parâmetro de objeto e um parâmetro de string usado para endereçar um valor no objeto. Aqui tenho diferentes maneiras de imprimir os valores:
- name: valueName # the name of the attribute
type: string
- name: secrets # array with secret info data (name, value)
type: object
default: []
jobs:
- ${{each secret in parameters.secrets}}:
- job:
steps:
- script: |
echo "${{ secret['Development'] }}"
- script: |
echo "secret['${{ parameters.valueName}}']"
- script: |
echo "${{ secret['${{ parameters.valueName}}'] }}"
O que eu gosto de conseguir é acessar o valor do segredo com base no valor do parâmetro valueName. Então o objeto pode ficar assim:
- name: secrets
type: object
default:
- name: 'dbpassword'
Development: 'demokey1'
Staging: 'demokey2'
Production: 'demokey3'
No entanto, este é o resultado das 3 etapas do trabalho:
echo "demokey1"
echo "secret['Development']"
echo ""
Existe uma maneira de resolver o valor do parâmetro fornecendo o nome como outro parâmetro?