본문 바로가기
개발/Terraform on NaverCloud

멘토님 피드백 반영 (2)

by 컴쏘 2023. 12. 7.
728x90

멘토님들께서 계속해서 피드백을 주셨다. 

 

[원철 멘토님 피드백]

 

1) cloud_mssql.go에서 region_code attribute 삭제하기 

2) IntDivisibleBy(1433) 대신 IntBetween(1433, 1433) 이나 IntInSlice([]int{ 1433}) 또는 validation 함수를 추가하는 형태로 변경

"port": {
	Type:     schema.TypeInt,
	Optional: true,
	ValidateDiagFunc: validation.ToDiagFunc(validation.Any(
		//validation.
		validation.IntBetween(10000, 20000),
		validation.IntBetween(1433, 1433), // 변경 부분 
	)),
	Description: "Port of Cloud DB for MSSQL instance.",
	Default:     1433,
	ForceNew:    true,
},

 

3) data source는 리소스의 값을 얻어오는 용도로 사용 → 사용자가 직접 변경하지 않기 때문에 ForceNew가 사용되지 않는 것이 일반적임

 

id attribute와 다른 attribute에 정의된 ForceNew 설정 생략하기 

ForceNew: true, //모두 지워줌 

 

4) types.go에서 json tag를 camel case에서 snake case로 변경

 

이 부분은 테스트를 해보았을 때, 코드에서 인터페이스 타입을 문자열로 변환 시 그 인터페이스가 널 (nil) 값인 것으로 감지되어 패닉이 발생해서 다시 원래대로 camel case로 변경하였다. 

test 결과

 

 

[영민 멘토님 피드백]

 

1) backup_file_retention_period에도 validation.ToDiagFunc 필요

"backup_file_retention_period": {
	Type:             schema.TypeInt,
	Optional:         true,
	ValidateDiagFunc: validation.ToDiagFunc(validation.IntBetween(1, 30)),
	Description:      "Retention period of back-up files.",
	Default:          1,
	ForceNew:         true,
},

 

 

[의선 멘토님 피드백]

 

1) read 요청 시 필요한 파라미터들 제외, Optional 속성 제거 및 ForceNew 지우기

 

read 요청 시 필요한 파라미터들은 type CloudMssqlInstance struct 에 정의된 파라미터들이다. 

 

 

[test 해보기]

 

test는 잘 통과했다. 

cloud_mssql test 결과

 

data source test는 원철 멘토님 피드백 test 결과이다. 

 

[pr 반영 및 comment 남기기]

pr 반영 및 comment 남기기

 

pr 반영 및 comment를 남겼다. 

728x90