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

Add comments for required params for register #1020

Merged
merged 1 commit into from
Jan 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/api/rest/server/mcir/securitygroup.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import (
// @Accept json
// @Produce json
// @Param nsId path string true "Namespace ID" default(ns01)
// @Param option query string false "Option" Enums(register)
// @Param option query string false "Option: [required params for register] connectionName, name, vNetId, cspSecurityGroupId" Enums(register)
// @Param securityGroupReq body mcir.TbSecurityGroupReq true "Details for an securityGroup object"
// @Success 200 {object} mcir.TbSecurityGroupInfo
// @Failure 404 {object} common.SimpleMsg
Expand Down
1 change: 1 addition & 0 deletions src/api/rest/server/mcir/sshkey.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import (
// @Accept json
// @Produce json
// @Param nsId path string true "Namespace ID" default(ns01)
// @Param option query string false "Option: [required params for register] connectionName, name, cspSshKeyId, fingerprint, username, publicKey, privateKey" Enums(register)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cloud-barista/cb-spider#560 에서 어떻게 결정되는지에 따라서,
추후 이 라인에도 변경이 필요할 수도 있겠습니다. 😊

// @Param sshKeyInfo body mcir.TbSshKeyReq true "Details for an SSH Key object"
// @Success 200 {object} mcir.TbSshKeyInfo
// @Failure 404 {object} common.SimpleMsg
Expand Down
2 changes: 1 addition & 1 deletion src/api/rest/server/mcir/vnet.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import (
// @Accept json
// @Produce json
// @Param nsId path string true "Namespace ID" default(ns01)
// @Param option query string false "Option" Enums(register)
// @Param option query string false "Option: [required params for register] connectionName, name, cspVNetId" Enums(register)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Request body 에 cspVNetId 필드를 빈칸으로 두면
    => 사용자가 Request body 에 명시한 connectionNamename 으로 CB-Spider에 조회하여
    Get 성공하면 TB object로 등록
  2. Request body 에 cspVNetId 필드를 명시하면
    => CB-Spider의 regvpc API를 호출하여
    CSP에만 있는 자원을 SP에도 등록하고 TB에도 등록하도록 하였습니다.

즉, 상황 별 required fields는 다음과 같습니다.

  1. CSP에 있는 자원이 SP에 등록되어 있고, TB에도 등록하는 경우
    => connectionName, name
  2. CSP만 있는 자원을 SP에도 등록하고 TB에도 등록하는 경우
    => connectionName, name, cspVNetId

훔.. 이를 잘 표현할 수 있는 좋은 방법이 있을까요? 😊

(SG, SSH Key 에 대해서도 동일 이슈 존재)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jihoon-seo
사용자에게 1. CSP에 있는 자원이 SP에 등록되어 있고, TB에도 등록하는 경우 기능이
API로 노출되면 사용자에게 너무 복잡하게 느껴지지 않을까 싶습니다.

해당 기능은 CB-TB 내부적으로는 활용하고
해당 설명 문구에서는 제외하여, 사용자 혼동을 줄이는 것이 어떨까용?
(일반 사용자가 option=register 를 사용하는 것은 CSP만 가진 자원을 TB에 등록하는 것으로 생각)

// @Param vNetReq body mcir.TbVNetReq true "Details for an VNet object"
// @Success 200 {object} mcir.TbVNetInfo
// @Failure 404 {object} common.SimpleMsg
Expand Down