Hướng dẫn python hcl parser - python hcl parser
Show Thực hiện trình phân tích cú pháp cho HCL (ngôn ngữ cấu hình Hashicorp) trong Python. Việc triển khai này nhằm mục đích tương thích với phiên bản Golang gốc của trình phân tích cú pháp. Ngữ pháp và nhiều bài kiểm tra/đồ đạc đã được sao chép/chuyển từ trình phân tích cú pháp Golang vào PYHCL. Tất cả các bản phát hành được thử nghiệm với nhiều phiên bản Python từ Python 2.7 trở đi. Phiên bản này đã được sửa đổi để làm việc với cú pháp Terraform 0.12. Nó nên tương thích ngược với các phiên bản trước. Nó không bao gồm mọi tình huống. Xem Thảo luận trong Yêu cầu kéo: https://github.com/virtuald/pyhcl/pull/57 Cài đặtpip install pyhcl Cách sử dụngMô -đun này được dự định sẽ được sử dụng theo cách tương tự như cách người ta sẽ sử dụng mô -đun JSON trong Python và tải/tải/bãi rác được triển khai. import hcl with open('file.hcl', 'r') as fp: obj = hcl.load(fp) Hiện tại chức năng Dumps đầu ra JSON, và không HCL. Chuyển đổi HCl sang JSONPYHCL đi kèm với một kịch bản mà bạn có thể sử dụng để dễ dàng chuyển đổi HCL thành JSON, tương tự như json.tool đi kèm với Python: hcltool INFILE [OUTFILE] Xác thực cấu trúcTương tự như JSON, đầu ra của phân tích cú pháp HCL là từ điển Python không có cấu trúc xác định. Thư viện Golang cho HCL thực hiện hỗ trợ phân tích cú pháp HCL theo các đối tượng được xác định, nhưng việc triển khai này hiện không hỗ trợ các cấu trúc đó. Thay vào đó, tôi khuyên bạn nên sử dụng các công cụ được thiết kế để xác nhận JSON, chẳng hạn như thư viện sơ đồ. Cú pháp
Các đối tượng và các đối tượng lồng nhau được tạo bằng cấu trúc được hiển thị bên dưới: variable "ami" { description = "the AMI to use" } Kiểm traĐể chạy các bài kiểm tra: pip install -r testing-requirements.txt tests/run_tests.sh Chế độ kiểm tra sửa lỗiĐể bật chế độ gỡ lỗi: import hcl hcl.parser.DEBUG = True Tác giảDustin Spicuzza ([email protected])@virtualroadside.com) Lưu ý: Dự án này không liên quan đến Hashicorp Vòng bao Python cho Hashicorp/HCl (V2). Các phiên bản sau được hỗ trợ - 3.6, 3.7, 3.8, 3.9. Mô -đun này được dự định sẽ được sử dụng theo cách tương tự như cách người ta sẽ sử dụng mô -đun JSON trong Python và tải/tải/bãi rác được triển khai.Hiện tại chức năng Dumps đầu ra JSON, và không HCL. pip install wheel python setup.py bdist_wheel Chuyển đổi HCl sang JSON |