一个简单的问题。我想要目录服务的简称,以便我可以在CFN文件中的其他地方引用netbios名称。
当前仅使用一个参数来输入它,这样我以后就可以重用...但是该短名称默认为域名的第一部分(例如example.com,该短名称自动是example,这就是我想要)
问题是,如果我不将其作为参数输入,我不知道如何仅引用它。.
是否存在!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
答案 0 :(得分:2)
您应该可以使用Fn::Split
和Fn::Select
函数来做到这一点(我没有测试过,并且通常不使用YAML语法,因此可能并不准确):>
!Select ["0", !Split[".", !Ref FullyQualifiedName ]]
但是,我认为这是解决问题的错误方法,尤其是当您必须在多个地方使用简称时。
相反,我将创建两个参数,一个用于域名,一个用于主机名(您称为短名称)。然后使用Fn::Sub
组合它们:
!Sub "${HostName}.${DomainName}"