【问题标题】:What is the correct way to reference properties in Cloudformation?在 Cloudformation 中引用属性的正确方法是什么?
【发布时间】:2019-06-11 12:59:02
【问题描述】:

简单的问题。我想要目录服务的短名称,这样我就可以在 CFN 文件的其他地方引用 netbios 名称。

目前只是使用一个参数来输入它,以便我以后可以重用它...但是短名称默认为域名的第一部分(例如 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

【问题讨论】:

  • 所以你的参数是myserver.example.com,但你想要myserver
  • 正确,我只需要域名的简称

标签: amazon-web-services yaml amazon-cloudformation


【解决方案1】:

您应该可以使用 Fn::SplitFn::Select 函数来做到这一点(我没有测试过,并且通常不使用 YAML 语法,所以它可能不准确):

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

但是,我认为这是解决问题的错误方法,尤其是当您必须在多个地方使用短名称时。

相反,我将创建两个参数,一个用于域名,一个用于主机名(您称之为短名称)。然后使用Fn::Sub 组合它们:

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

【讨论】:

  • 谢谢,这项工作应该可以正常工作。我更多的是寻找一个 myDirectory.ShortName,它非常容易引用,就像我可以用于 DNSIPAddresses 一样
猜你喜欢
  • 2023-03-23
  • 2018-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-17
  • 1970-01-01
  • 2011-05-20
  • 1970-01-01
相关资源
最近更新 更多