如何表示将 ruby​​ 哈希转换为 yaml 的 aws 内部函数

Posted

技术标签:

【中文标题】如何表示将 ruby​​ 哈希转换为 yaml 的 aws 内部函数【英文标题】:How to represent aws internal functions to convert ruby hash to yaml 【发布时间】:2018-06-16 03:35:10 【问题描述】:

我正在尝试从 ruby​​ 哈希生成 AWS cloudformation YAML。但我无法弄清楚如何在 ruby​​ 哈希中表示 aws 内部函数。 例如,以下 sn-p 的等效 ruby​​ 对象是什么?

资源: 应用节点: 类型:AWS::EC2::Instance 特性: 实例类型:t2.large ImageId:ami-0def3275 密钥名称:mykey 安全组: - !Ref AppNodeSG 应用节点SG: 类型:AWS::EC2::SecurityGroup 特性: GroupDescription:用于允许 ssh 端口的应用程序节点 安全组入口: - IpProtocol:tcp 从端口:'22' 到端口:'22' CidrIp:0.0.0.0/0

【问题讨论】:

【参考方案1】:

这将是:

 'Resources' => 
  'AppNode' => 
    'Type' => 'AWS::EC2::Instance',
    'Properties' => 
      'InstanceType' => 't2.large',
      'ImageId' => 'ami-0def3275',
      'KeyName' => 'mykey',
      'SecurityGroups' => ['AppNodeSG']
    
  ,
  'AppNodeSG' => 
    'Type' => 'AWS::EC2::SecurityGroup',
    'Properties' => 
      'GroupDescription' => 'for the app nodes that allow ssh port',
      'SecurityGroupIngress' => [ 'IpProtocol' => 'tcp', 'FromPort' => '22', 'ToPort' => '22', 'CidrIp' => '0.0.0.0/0' ]
    
  
 

Ruby 内置了YAML,允许您将 YAML 解析为哈希或将哈希转换为 YAML。

【讨论】:

以上是关于如何表示将 ruby​​ 哈希转换为 yaml 的 aws 内部函数的主要内容,如果未能解决你的问题,请参考以下文章

如何将 yaml 文件解析为 ruby​​ 哈希和/或数组?

将字符串转换为哈希符号的最佳方法

如何将 JSON 转换为 Ruby 哈希

使用点分路径键字符串访问 Ruby 哈希

使用点分路径键字符串访问 Ruby 哈希

如何将 Ruby 哈希转换为 XML?