1

ruamel.yaml==0.15.37
Python 3.6.2 :: Continuum Analytics, Inc.

現在のコード:

from ruamel.yaml import YAML
import sys


yaml = YAML()
kube_context = yaml.load('''
    apiVersion: v1
    clusters: []
    contexts: []
    current-context: ''
    kind: Config
    preferences: {}
    users: []
''')
kube_context['users'].append({'name': '{username}/{cluster}'.format(username='test', cluster='test'), 'user': {'token': 'test'}})
kube_context['clusters'].append({'name': 'test', 'cluster': {'server': 'URL:443'}})
kube_context['contexts'].append({'name': 'test', 'context': {'user': 'test', 'cluster': 'test'}})

yaml.dump(kube_context, sys.stdout)

Myyaml.dump()は、完全に展開されるのではなく、リスト オブジェクトと dict オブジェクトを含む出力を生成しています。

現在の出力:

apiVersion: v1
clusters: [{name: test, cluster: {server: URL:443}}]
contexts: [{name: test, context: {user: test, cluster: test}}]
current-context: ''
kind: Config
preferences: {}
users: [{name: test/test, user: {token: test}}]

yaml.dump()出力を完全に展開するにはどうすればよいですか?

期待される出力:

apiVersion: v1
clusters: 
  - name: test
    cluster: 
      server: URL:443
contexts: 
  - name: test
    context:
      user: test
      cluster: test
current-context: ''
kind: Config
preferences: {}
users: 
  - name: test/test
    user: 
      token: test
4

2 に答える 2