-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #14 from yuridekim/main
crud api 구현
- Loading branch information
Showing
9 changed files
with
415 additions
and
229 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,17 @@ | ||
module github.com/cloud-club/Aviator-service | ||
|
||
go 1.21.1 | ||
go 1.21 | ||
|
||
require ( | ||
github.com/NaverCloudPlatform/ncloud-sdk-go-v2 v1.6.8 // indirect | ||
github.com/davecgh/go-spew v1.1.1 // indirect | ||
github.com/NaverCloudPlatform/ncloud-sdk-go-v2 v1.6.8 | ||
github.com/dgrijalva/jwt-go/v4 v4.0.0-preview1 | ||
github.com/golang/mock v1.6.0 // indirect | ||
github.com/stretchr/testify v1.8.4 | ||
) | ||
|
||
require ( | ||
github.com/davecgh/go-spew v1.1.1 // indirect | ||
github.com/pmezard/go-difflib v1.0.0 // indirect | ||
github.com/stretchr/objx v0.5.0 // indirect | ||
github.com/stretchr/testify v1.8.4 // indirect | ||
golang.org/x/mod v0.14.0 // indirect | ||
golang.org/x/net v0.18.0 // indirect | ||
golang.org/x/sys v0.14.0 // indirect | ||
golang.org/x/tools v0.15.0 // indirect | ||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect | ||
gopkg.in/yaml.v3 v3.0.1 // indirect | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,84 @@ | ||
package main | ||
|
||
import ( | ||
"fmt" | ||
"time" | ||
|
||
pkg "github.com/cloud-club/Aviator-service/pkg" | ||
types "github.com/cloud-club/Aviator-service/types/server" | ||
) | ||
|
||
func main() { | ||
vserver := pkg.NewServerService("access key", "secret key") | ||
serverNo := test_list(0, vserver) | ||
|
||
stopReturn := test_stop(serverNo, vserver) | ||
fmt.Println("Is stop successful: ", stopReturn) | ||
|
||
time.Sleep(25 * time.Second) //wait for stop to take place | ||
|
||
productCode := "SVR.VSVR.HICPU.C002.M004.NET.SSD.B050.G002" | ||
updateReturn := test_update(serverNo, productCode, vserver) | ||
fmt.Println("Is update successful: ", updateReturn) | ||
time.Sleep(20 * time.Second) //wait for update to take place | ||
|
||
deleteReturn := test_delete(serverNo, vserver) | ||
fmt.Println("Is deletion(termination) successful: ", deleteReturn) | ||
} | ||
|
||
func test_list(server_index int, vserver *pkg.ServerService) string { // server index for choosing which server to target | ||
gsr := types.ListServerRequest{RegionCode: "KR"} | ||
response, err := vserver.CallApi(pkg.API_URL+pkg.GET_SERVER_INSTANCE_PATH, gsr) | ||
responseStruct := response.(*types.ListServerResponse) | ||
serverNo := responseStruct.ServerInstanceList[server_index].ServerInstanceNo | ||
fmt.Println("Error for listing:", err) | ||
fmt.Println("responsestruct for listing: ", responseStruct) | ||
fmt.Println("serverno: ", serverNo) | ||
|
||
return serverNo | ||
} | ||
|
||
func test_stop(serverNo string, vserver *pkg.ServerService) string { // server index for choosing which server to target | ||
ssr := types.StopServerRequest{ServerNo: serverNo} | ||
response, err := vserver.CallApi(pkg.API_URL+pkg.STOP_SERVER_INSTANCE_PATH, ssr) | ||
responseStruct := response.(*types.StopServerResponse) | ||
fmt.Println("Error for stopping: ", err) | ||
fmt.Println("responsestruct for stopping:", responseStruct) | ||
|
||
return responseStruct.ReturnMessage | ||
} | ||
|
||
func test_delete(serverNo string, vserver *pkg.ServerService) string { // server index for choosing which server to target | ||
dsr := types.DeleteServerRequest{ServerNo: serverNo} | ||
response, err := vserver.CallApi(pkg.API_URL+pkg.DELETE_SERVER_INSTANCE_PATH, dsr) | ||
responseStruct := response.(*types.DeleteServerResponse) | ||
fmt.Println("Error for stopping: ", err) | ||
fmt.Println("responsestruct for stopping:", responseStruct) | ||
|
||
return responseStruct.ReturnMessage | ||
} | ||
|
||
func test_update(serverNo, serverProductCode string, vserver *pkg.ServerService) string { // server index for choosing which server to target | ||
dsr := types.UpdateServerRequest{ServerInstanceNo: serverNo, ServerProductCode: serverProductCode} | ||
response, err := vserver.CallApi(pkg.API_URL+pkg.UPDATE_SERVER_INSTANCE_PATH, dsr) | ||
responseStruct := response.(*types.UpdateServerResponse) | ||
fmt.Println("Error for stopping: ", err) | ||
fmt.Println("responsestruct for stopping:", responseStruct) | ||
|
||
return responseStruct.ReturnMessage | ||
} | ||
|
||
func test_product(serverImageProductCode string, vserver *pkg.ServerService) []string { | ||
gpr := types.GetProductRequest{ServerImageProductCode: serverImageProductCode} | ||
response, err := vserver.CallApi(pkg.API_URL+pkg.GET_PRODUCT_LIST_PATH, gpr) | ||
responseStruct := response.(*types.GetProductResponse) | ||
|
||
productCodeList := []string{} | ||
for _, product := range responseStruct.ProductList { | ||
productCodeList = append(productCodeList, product.ProductCode) | ||
} | ||
|
||
fmt.Println("Error for getting product list: ", err) | ||
|
||
return productCodeList | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,14 @@ | ||
package pkg | ||
|
||
var API_URL = "https://ncloud.apigw.ntruss.com/vserver/v2/" | ||
var CREATE_SERVER_INSTANCE_PATH = "createServerInstances" | ||
var GET_NETWORKINTERFACE_LIST_PATH = "getNetworkInterfaceList" | ||
var GET_SUBNET_LIST_PATH = "getSubnetList" | ||
var GET_ACG_LIST_PATH = "getAccessControlGroupList" | ||
var ( | ||
API_URL = "https://ncloud.apigw.ntruss.com/vserver/v2/" | ||
GET_SERVER_INSTANCE_PATH = "getServerInstanceList" | ||
GET_PRODUCT_LIST_PATH = "getServerProductList" | ||
CREATE_SERVER_INSTANCE_PATH = "createServerInstances" | ||
UPDATE_SERVER_INSTANCE_PATH = "changeServerInstanceSpec" | ||
STOP_SERVER_INSTANCE_PATH = "stopServerInstances" | ||
DELETE_SERVER_INSTANCE_PATH = "terminateServerInstances" | ||
GET_NETWORKINTERFACE_LIST_PATH = "getNetworkInterfaceList" | ||
GET_SUBNET_LIST_PATH = "getSubnetList" | ||
GET_ACG_LIST_PATH = "getAccessControlGroupList" | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.