Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request & Response 추가 #4

Merged
merged 4 commits into from
Dec 4, 2023
Merged

Request & Response 추가 #4

merged 4 commits into from
Dec 4, 2023

Conversation

n-y-kim
Copy link
Member

@n-y-kim n-y-kim commented Dec 2, 2023

PR 요약

  • Common, Request, Response 기본 구조체 추가
  • [12.3] 모임 후 구조체 수정

변경 사항 명시

common.go

  • common 구조체만 남기고 삭제

request.go

  • CreateServerInstance 구조체 완성
  • 필수가 아닌 필드(필수 여부: No)는 주석 처리 해두었음. 필요할 때 개인적으로 주석 해제
  • 필수가 아닌 필드 중 (필수 여부: Conditional)는 주석 처리 안 했음. 필요할 때 개인적으로 주석 처리.

함수 GenerateRequestString

  • Request 구조체를 모두 하나의 String으로 변환해주는 함수(ex: ?ServerImageProductCode=SW.VSVR.OS.LNX64.CNTOS.0703.B050&VpcNo=***04&SubnetNo=***43&NetworkInterfaceOrder=1)
  • NetworkInterfaceList.N, BlockDevicePartitionList.N, BlockStorageMappingList.N의 값들에 대한 수정 필요

response.go

  • ServerInstance 구조체 완성
  • CreateServerResponse 구조체 완성
  • 필수에 따른 주석은 위와 같음.

함수 MapResponse

  • Response XML을 Go struct로 변환하는 함수

[12.3] network.go

  • CreateServerInstance 에 필수인 NetworkInterface 관련 구조체 추가

[12.3] block.go

  • CreateServerInstance 에 필수인 BlockDevicePartition, BlockStorageMapping 관련 구조체 추가

기타 특이사항

  • @dev-kimdoyoung @yuridekim @HeeSeoung 본인들 Request/Response를 추가하면 될 것 같습니다. 그리고 혹시 제가 빼먹었거나.. 이상한 부분은 자유롭게 커멘트 주세여~

  • Resolves: #None
  • See Also: #None

@n-y-kim
Copy link
Member Author

n-y-kim commented Dec 3, 2023

Test용 코드 짜면서 보니까

GET {API_URL}/createServerInstances
?regionCode=KR
&serverImageProductCode=SW.VSVR.OS.LNX64.CNTOS.0703.B050
&vpcNo=***04
&subnetNo=***43
&serverProductCode=SVR.VSVR.STAND.C002.M004.NET.SSD.B050.G001
&feeSystemTypeCode=MTRAT
&serverCreateCount=1
&serverName=test-***
&networkInterfaceList.1.networkInterfaceOrder=0
&networkInterfaceList.1.accessControlGroupNoList.1=***63
&placementGroupNo=***61
&isProtectServerTermination=false
&initScriptNo=***44
&loginKeyName=test-***
&associateWithPublicIp=true
&networkInterfaceList.1.networkInterfaceOrder=0
&networkInterfaceList.1.accessControlGroupNoList.1=***63

이거 가져오는 부분이나... Optional 로 들어갈 수 있는 BlockDevicePartitionList BlockStorageMappingList 쪽 가져온 뒤에 인덱스 값을 뒤에 붙여서 BlockStorageMappingList.1가 되도록 로직을 구현해야겠네요.

혹시 좋은 아이디어 있으시면 알려주세요

@n-y-kim n-y-kim merged commit 0525abc into cloud-club:main Dec 4, 2023
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant