나는 을 기반으로 자동화하기 위해 Apache Nifi을 쓰고 있는데, 나는 tool이라고 쓰고있다. 이 도구는 루비 보석이므로 내 Nifi manifest 안에 꼭두각시 유형/공급자로 사용하고 싶습니다.인형 연결 고리를 연결
Puppet::Type.newtype(:nifi_pg) do
@doc = "Manage Nifi process groups"
ensurable
newparam(:name) do
isnamevar
desc "Process group Name"
validate do |value|
end
end
newparam(:id) do
desc "Process group ID"
validate do |value|
end
end
end
공급자 (lib 디렉토리/인형/제공/nifi_pg/ruby.rb)는 다음과 같습니다 :
유형 (lib 디렉토리/인형/형/nifi_pg.rb)은 다음과 같습니다
require 'nifi_sdk_ruby'
Puppet::Type.type(:nifi_pg).provide(:ruby) do
def create
nifi_client = Nifi.new()
nifi_client.set_debug(true)
nifi_client.create_process_group(:name => resource[:name])
end
def destroy
nifi_client = Nifi.new()
nifi_client.set_debug(true)
nifi_client.delete_process_group(resource[:id])
end
def exists?
false
end
end
을 사용 쉽습니다 :
nifi_pg {"test":
ensure => present
}
문제는 예를 들어이 새 프로세스 그룹에 템플릿을 업로드하는 데 사용하기 위해 생성 된 리소스 (새 프로세스 그룹 ID와 같은)에 대한 정보가 필요합니다. 인형 자원은 아무 것도 반환하지 않습니다.
해결 방법에 대한 의견이 있으십니까?
나는 대답이 아니라고 생각합니다.
이 explanation은 완벽하게 설명합니다.
사실과 기능이 컴파일시에 실행되므로이 문제를 해결하기 위해 하나 또는 둘 모두가 필요하기 때문에 내 머리 꼭대기에서 벗어날 수는 없습니다. 그러나 리소스 및 템플릿의 모양과 관련하여이 이론적 템플릿에 대한 질문을 편집 할 수 있습니까? 이 경우에 대한 해결 방법이있을 수 있습니다. –
또는 노드에서 실행해야하는 것이 있습니까? 그렇지 않다면 앞으로 나아갈 경로가 있습니다. –