Điểm:0

Con rối - tôi có thể thông báo có chọn lọc một Dịch vụ không?

lá cờ jp

Tôi có một kịch bản con rối xử lý mọi thứ khác nhau trong các môi trường khác nhau dựa trên nếu khác chặn. Nhưng tôi có một loạt các khối tài nguyên tệp phổ biến ở dưới cùng áp dụng cho tất cả các môi trường. Hiện nay, các khối thông báo => Dịch vụ ['dịch vụ của tôi'], nhưng để sản xuất, tôi muốn nó không thông báo. Tôi chỉ muốn nó cập nhật các tệp, không bắt đầu hoặc dừng bất kỳ dịch vụ nào.

Ý tưởng ban đầu của tôi là, tôi có thể lưu trữ Dịch vụ thành một biến và đặt nó trong từng phần không?

Ví dụ:

nếu ($env == 'dev') {
  $myService = Dịch vụ['dịch vụ của tôi']
} elsif ($env == 'prod') {
  $myService = Dịch vụ['dịch vụ giả']
}

tệp { "myfile.xml":
      đảm bảo => tập tin,
      nội dung =>
        mẫu ("mytemplate.erb"),
      yêu cầu => Gói ['dịch vụ của tôi'],
      thông báo => $myService
}

Tôi không chắc nó có hoạt động hay không, nhưng nếu có, tôi có thể sử dụng dịch vụ giả để làm gì?

Điểm:2
lá cờ us

Vâng, điều này là có thể và mã của bạn khá gần với giải pháp chính xác:

nếu ($env == 'dev') {
  $my_service = 'dịch vụ của tôi'
} elsif ($env == 'prod') {
  $my_service = 'dịch vụ giả'
}

tệp { "myfile.xml":
  đảm bảo => tập tin,
  nội dung => mẫu ("mytemplate.erb"),
  yêu cầu => Gói ['dịch vụ của tôi'],
  thông báo => Dịch vụ[$my_service]
}

Tuy nhiên, vì yêu cầu của bạn là hoàn toàn không thông báo trên một môi trường nhất định, nên cách tốt hơn là thực hiện theo cách này thay vì thông báo cho một dịch vụ giả:

nếu ($env == 'dev') {
  Tệp['myfile.xml'] ~> Dịch vụ['my-service']
} 

Chúng được gọi là mũi tên chuỗi: https://puppet.com/docs/puppet/7/lang_relationships.html#lang_rel_chaining_arrows

bdetweiler avatar
lá cờ jp
Tệp Puppet của tôi hơi phức tạp để thực hiện điều này, vì vậy cuối cùng tôi đã tạo một lớp riêng cho các thay đổi cấu hình, sau đó sử dụng toán tử chuỗi để gọi `-> Class['my_configs']` sau khi cài đặt RPM. Bây giờ tôi có thể chọn chỉ cập nhật các cấu hình bằng cách sử dụng `puppet agent -t --tags my_configs` hoặc tôi có thể thực hiện cài đặt toàn bộ RPM + configs.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.