2017-12-28 4 views
0

munge 호출 또는 유사 항목을 통해 제목 값을 정규화 할 수 있습니까?사용자 정의 유형/제공자 대소 문자를 구분하지 않음

내가 윈도우 머신의 로컬 그룹 구성원을 관리하는 사용자 정의 유형/제공자가 (우리는 단지 사용자/그룹 유형 내부보다는 그룹 구성원을보다 세분화가 필요했다. 모든 것이 일반적

group_member{"Group => Member": 
    ensure=>present, 
} 

group_member{"Group => DOMAIN\Member": 
    ensure=>present, 
} 

resources{'group_member': 
    purge =>true, 
} 

, 일관성있는 모든 위대한 작동합니다. 문제는 Windows/Active Directory는 대/소문자를 구분하지 않는다는 것입니다. 따라서 이 호출되면 Group_member["Users => DOMAIN\SomeGroup"] 리소스를 생성하지만 우리 인형 매니페스트에서 Users은 하드 코드 된 것으로 DOMAIN은 사실에서 발생하고 SomeGroup 히어로 값에서 가져옵니다.

우리는 이것에 대해 약 5 년 동안 인형의 대소 문자를 구분하여 싸우고 있으며, 대부분의 관리자는 도메인과 yaml 구성 간의 대소 문자 일치를 확인하는 데 익숙해졌습니다.

이제 우리는 새로운 문제가 있습니다. 어쨌든 DOMAIN은 엉망입니다. 새 테스트 도메인에서 NETBIOS 이름은 소문자입니다. DOMAIN을 반환했다는 사실은 여전히 ​​대문자를 반환하지만 Windows ADSI는 소문자 형식을 반환합니다. 이것은 resources{'group_member': purge=>true}을 사용하지 않을 경우 문제가되지 않지만,이 테스트 환경에서 그룹은 모든 인형극 실행마다 (.pp 파일을 통해) 추가되고 (resources{'group_member': purge=>true}을 통해) 제거됩니다.

self.instances과 모든 .pp 파일에서 모든 것을 정규화하고 싶습니다. 그러나 400 개의 꼭두각시 모듈이 있고 우리는 꽤 다른 팀에 의해 관리되는 120 번 group_member를 사용합니다. 만약 내가 단지 munge이라는 제목의 메타 파라미터 일 수 있다면 훨씬 더 쉬워 질 것이다.

제안 사항?

+1

자원 * 제목 *을 가로 채거나 수정할 수있는 방법을 모르지만 유형의 * namevar *에 대해 munging을 설정할 수 있다고 생각합니다. 그런 다음 명시 적으로 표현하는 것과 달리 namevar가 리소스 제목에서 자동으로 값을 가져올 때 실제로 중단이 발생했는지 확인하려고합니다. 또한이 메커니즘이 퍼지에 대한 자원을 보호하는지 확인하고 싶을 것입니다. 제대로 수행되면 의심 할 여지가 있지만 이전에 실제로 해본 적이 없습니다. –

+0

@JohnBollinger 나는 namevar의 일부로 두 개의 매개 변수를 사용하고 있습니다. 그러나 munging 시도했지만, 제목은 원래 문자열 값 pre-title_pattern을 유지합니다. – ruckc

+0

커스텀 타입의'namevar' 코드에 집중해야합니다. Munging은 형식 코드에서 확실히 지원되며 예제를 보았습니다. 여기에서 적용하려는 덕트 테이프 방식에 크게 도움이됩니다. 그러나 여기에는 사용자 지정 유형 및 사용자 지정 팩트 코드와 관련하여 설명 된 일부 의심스러운 내용이 있습니다. 이 두 가지 주석 모두 모호한 설명 대신 관련 코드를보아야합니다. NDA와 관련하여 우려 할 점이 있으시면 우선 위생 처리하십시오. –

답변

0

그래서, 내가 처리하고있는 방법은 기존 형식/공급자의 이름을 바꾸고 정의 형식으로 랩핑하는 것입니다.이 경우에는 title입니다.

관련 문제