Как передать именованные аргументы с параметрами в пакет aws? - PullRequest
0 голосов
/ 05 июня 2018

Рассмотрим часть определения пакетного задания aws:

MyJobDefinition:
    Type: "AWS::Batch::JobDefinition"
    Properties:
        Type: container
        Parameters: {}
        JobDefinitionName: "my-job-name"
        ContainerProperties:
            Command:
                - "java"
                - "-jar"
                - "my-application-SNAPSHOT.jar"
                - "--param1"
                - "Ref::param1"
                - "--param2"
                - "Ref::param2"

Какой результат вызвать:

java -jar my-application-SNAPSHOT.jar --param1 someValue1 --param2 someValue2

Как изменить определение задания, чтобы оно стало похожим (обратите внимание на знак равенства):

java -jar my-application-SNAPSHOT.jar --param1=someValue1 --param2=someValue2

Обратите внимание, что Ref::param1 это не параметры шаблона облачной информации, а параметры пакетного задания aws .

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Как я понимаю, параметры пакета AWS заменяются поиском префикса Ref ::.Я мог найти только один поток , где они пытались использовать параметр в большей строке, и он работает.

Учитывая это, следующее должно работать

MyJobDefinition:
    Type: "AWS::Batch::JobDefinition"
    Properties:
        Type: container
        Parameters: {}
        JobDefinitionName: "my-job-name"
        ContainerProperties:
            Command:
                - "java"
                - "-jar"
                - "my-application-SNAPSHOT.jar"
                - "--param1=Ref::param1"
                - "--param2=Ref::param2"
0 голосов
/ 06 июня 2018

Используя !Sub, который оценивает выражения в вашем шаблоне:

MyJobDefinition:
Type: "AWS::Batch::JobDefinition"
Properties:
    Type: container
    Parameters: {}
    JobDefinitionName: "my-job-name"
    ContainerProperties:
        Command:
            - "java"
            - "-jar"
            - "my-application-SNAPSHOT.jar"
            - !Sub "--param1=${param1}"
            - !Sub "--param2=${param2}"
...