Как правильно ссылаться на свойства в Cloudformation? - PullRequest
0 голосов
/ 11 июня 2019

простой вопрос.Мне нужно короткое имя службы каталогов, чтобы я мог ссылаться на имя netbios в другом месте в файле CFN.

В настоящее время просто использую параметр, чтобы ввести его, чтобы я мог использовать его позже ... но короткое имя по умолчанию равнопервая часть имени домена (например, example.com, короткое имя автоматически является примером, что я и хочу)

проблема в том, что если я не введу его как параметр, я понятия не имеюкак просто сослаться на него ..

Существует ли какой-либо синтаксис, который является! Ref mydirectory.shortname?Я не могу найти / найти какую-либо информацию о нем

myDirectory:
Type: AWS::DirectoryService::MicrosoftAD
Properties:
  Name:
    Ref: directoryName
  Password: 
    Ref: MicrosoftADPW
  ShortName:
    Ref: ${NetBIOSName}
  Edition: Standard
  VpcSettings: 
    SubnetIds: 
      - !Ref PrivateSubnetA
      - !Ref PrivateSubnetB
    VpcId: !Ref VPC

1 Ответ

2 голосов
/ 11 июня 2019

Вы должны быть в состоянии сделать это с функциями Fn::Split и Fn::Select (я не проверял это и обычно не использую синтаксис YAML, поэтому он может быть не точным):

!Select ["0", !Split[".", !Ref FullyQualifiedName ]]

Однако я думаю, что это неправильный подход к проблеме, особенно если вам нужно использовать короткое имя в нескольких местах.

Вместо этого я бы создал два параметра, один для имени домена иодин для имени хоста (который вы называете коротким именем).Затем объедините их, используя Fn::Sub:

!Sub "${HostName}.${DomainName}"
...